31 #ifndef INCLUDE_ARTICULATION_ABSTRACTCAMERA_H_ 32 #define INCLUDE_ARTICULATION_ABSTRACTCAMERA_H_ 34 #include <gpu_coverage/Programs.h> 35 #include <gpu_coverage/Node.h> 37 #include <glm/detail/type_mat4x4.hpp> 77 virtual void toDot(FILE *dot)
const = 0;
84 return projectionMatrix;
91 inline const size_t&
getId()
const {
120 glm::mat4 projectionMatrix;
AbstractCamera(const size_t id, const std::string &name, Node *const node)
Constructor.
Node * getNode() const
Returns the scene graph node that this camera is attached to.
Definition: AbstractCamera.h:112
Scene graph node, corresponding to Assimp's aiNode.
Definition: Node.h:52
Locations of model, view, and projection shader variables.
Definition: Programs.h:104
const glm::mat4x4 & getProjectionMatrix() const
Returns the 4x4 projection matrix of the camera.
Definition: AbstractCamera.h:83
virtual void setViewProjection(const LocationsMVP &locationsMVP, std::vector< glm::mat4 > &view) const
Forward the view and projection matrices to the given locations of a GLSL shader and additionally ret...
const size_t & getId() const
Returns the unique ID of this camera.
Definition: AbstractCamera.h:91
const std::string & getName() const
Returns the name of this camera for logging.
Definition: AbstractCamera.h:102
Definition: AbstractCamera.h:41
virtual ~AbstractCamera()
Destructor.
Abstract superclass for all cameras.
Definition: AbstractCamera.h:48
virtual void toDot(FILE *dot) const =0
Write Graphviz Dot node representing this camera to file for debugging.
const std::string name
Name of the camera for logging, see getName().
Definition: AbstractCamera.h:118
Node *const node
Scene graph node assigned to this camera, see getNode().
Definition: AbstractCamera.h:119
const size_t id
Unique ID of the camera, see getId().
Definition: AbstractCamera.h:117