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;
signed int SInt32
32-bit signed integer.
unsigned int UInt32
32-bit unsigned integer.
float Real
Collects all ARGoS code.
#define ARGOS_ASSERT(condition, message)
When code is compiled in debug, this macro throws an ARGoS exception with the passed message if the s...
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.
void SetActivePlacement(UInt32 n_index)
const SPlacement & GetActivePlacement() const
void Interpolate(UInt32 un_start_placement, UInt32 un_end_placement, Real f_time_fraction)
const CVector3 & GetTarget() const
void Move(SInt32 n_forwards_backwards, SInt32 n_sideways, SInt32 n_up_down)
SPlacement & GetActivePlacement()
void Init(TConfigurationNode &t_tree)
const CVector3 & GetPosition() const
Real GetLensFocalLength() const
SPlacement & GetPlacement(UInt32 n_index)
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.