7 #ifndef QTOPENGL_CAMERA_H
8 #define QTOPENGL_CAMERA_H
11 class CQTOpenGLCamera;
17 #include <argos3/core/utility/datatypes/datatypes.h>
18 #include <argos3/core/utility/math/ray3.h>
19 #include <argos3/core/utility/configuration/argos_configuration.h>
57 bool b_interpolate_to_next) :
86 return m_sActivePlacement.
Target;
93 void Rotate(
const QPoint& c_delta);
104 Real f_time_fraction);
107 return m_sActivePlacement;
111 return m_sActivePlacement;
116 "CQTOpenGLCamera::SetActivePlacement():"
117 " index out of bounds: n_index = " << n_index <<
118 ", m_arrPlacements.size() = " << m_arrPlacements.size());
119 m_sActivePlacement = m_arrPlacements[n_index];
124 "CQTOpenGLCamera::GetPlacement():"
125 " index out of bounds: n_index = " << n_index <<
126 ", m_arrPlacements.size() = " << m_arrPlacements.size());
127 return m_arrPlacements[n_index];
133 bool m_bEnableTimeline;
136 SPlacement m_sActivePlacement;
137 std::array<SPlacement, 12> m_arrPlacements;
138 std::vector<SKeyframe> m_vecKeyframes;
#define ARGOS_ASSERT(condition, message)
When code is compiled in debug, this macro throws an ARGoS exception with the passed message if the s...
signed int SInt32
32-bit signed integer.
unsigned int UInt32
32-bit unsigned integer.
float Real
Collects all ARGoS code.
The namespace containing all the ARGoS related code.
ticpp::Element TConfigurationNode
The ARGoS configuration XML node.
It defines the basic type CRadians, used to store an angle value in radians.
It defines the basic type CDegrees, used to store an angle value in degrees.
const SPlacement & GetActivePlacement() const
void SetActivePlacement(UInt32 n_index)
void Interpolate(UInt32 un_start_placement, UInt32 un_end_placement, Real f_time_fraction)
SPlacement & GetPlacement(UInt32 n_index)
const CVector3 & GetPosition() const
void Move(SInt32 n_forwards_backwards, SInt32 n_sideways, SInt32 n_up_down)
const CVector3 & GetTarget() const
void Init(TConfigurationNode &t_tree)
SPlacement & GetActivePlacement()
Real GetLensFocalLength() const
void Rotate(const QPoint &c_delta)
CVector3 Up
The local Z axis of the camera in the global reference frame.
CVector3 Position
The position of the camera in the global reference frame.
void Init(TConfigurationNode &t_tree)
Initialize from XML.
CDegrees YFieldOfView
The focal length of the camera.
Real LensFocalLength
The focal length of the lens (if this was a real camera)
CVector3 Target
What we are looking at in the global reference frame.
void CalculateYFieldOfView()
Calculates the value of YFieldOfView.
UInt32 PlacementIndex
An index into the camera placements array [0-12)
UInt32 Step
The step at which this keyframe should be applied.
SKeyframe(UInt32 un_step, UInt32 un_placement_index, bool b_interpolate_to_next)
bool InterpolateToNext
Whether or not linear interpolation should be applied.