12#ifndef SPATIALMOVEMENT_H_6014714286
13#define SPATIALMOVEMENT_H_6014714286
15#include <Carna/Carna.h>
58 const std::unique_ptr< Details > pimpl;
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 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...
~SpatialMovement()
Deletes.
bool hasMovedSpatial() const
Tells true if the spatial given to the constructor is movable. Tells also true if it is not movable,...
const math::Matrix4f inverseProjection
Holds the inverse of the projection matrix that the frame was rendered with.
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 Viewport & viewport
References the root viewport that the frame was rendered with.
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 Carna::base::math namespace and CARNA_FOR_VECTOR3UI.
Eigen::Matrix< float, 4, 4, Eigen::ColMajor > Matrix4f
Defines matrix.
#define NON_COPYABLE
Features class it is placed in as non-copyable.