15#ifndef SPATIALMOVEMENT_H_6014714286
16#define SPATIALMOVEMENT_H_6014714286
61 const std::unique_ptr< Details > pimpl;
Contains forward-declarations.
Represents an association.
Represents the point-of-view and defines the 3D to 2D projection.
Handles the displacement of a Spatial object in a drag-&-drop like manner.
bool hasMovedSpatial() const
Tells true if the spatial given to the constructor is movable. Tells also true if it is not movable,...
Spatial & movedSpatial() const
References the actually moved spatial.
SpatialMovement(Spatial &movedSpatial, unsigned int frameX, unsigned int frameY, const Viewport &vp, const Camera &cam)
Starts the spatial movement. This corresponds to "picking up" the spatial.
const math::Matrix4f inverseProjection
Holds the inverse of the projection matrix that the frame was rendered with.
~SpatialMovement()
Deletes.
const Viewport & viewport
References the root viewport that the frame was rendered with.
bool update(unsigned int frameX, unsigned int frameY)
Updates the moved spatial object's location. Returns true if and only if the object's location change...
const Camera & cam
References the camera that the frame was rendered with.
Represents a spatial scene element. It's location is determined relatively to another spatial that is...
Defines a rendering viewport. The viewport is a property of the current OpenGL context.
Defines LibCarna::base::math namespace and LIBCARNA_FOR_VECTOR3UI.
Eigen::Matrix< float, 4, 4, Eigen::ColMajor > Matrix4f
Defines matrix.
Defines LibCarna::base::noncopyable and NON_COPYABLE.
#define NON_COPYABLE
Marks the class that it is placed in as non-copyable.