CCamera.h
Go to the documentation of this file.
1 //==============================================================================
2 /*
3  Software License Agreement (BSD License)
4  Copyright (c) 2003-2016, CHAI3D.
5  (www.chai3d.org)
6 
7  All rights reserved.
8 
9  Redistribution and use in source and binary forms, with or without
10  modification, are permitted provided that the following conditions
11  are met:
12 
13  * Redistributions of source code must retain the above copyright
14  notice, this list of conditions and the following disclaimer.
15 
16  * Redistributions in binary form must reproduce the above
17  copyright notice, this list of conditions and the following
18  disclaimer in the documentation and/or other materials provided
19  with the distribution.
20 
21  * Neither the name of CHAI3D nor the names of its contributors may
22  be used to endorse or promote products derived from this software
23  without specific prior written permission.
24 
25  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
28  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
29  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
30  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
31  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
32  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36  POSSIBILITY OF SUCH DAMAGE.
37 
38  \author <http://www.chai3d.org>
39  \author Francois Conti
40  \author Dan Morris
41  \version 3.2.0 $Rev: 2164 $
42 */
43 //==============================================================================
44 
45 //------------------------------------------------------------------------------
46 #ifndef CCameraH
47 #define CCameraH
48 //------------------------------------------------------------------------------
49 #include "audio/CAudioDevice.h"
50 #include "world/CGenericObject.h"
51 #include "math/CMaths.h"
52 #include "graphics/CImage.h"
53 //------------------------------------------------------------------------------
54 
55 //------------------------------------------------------------------------------
56 namespace chai3d {
57 //------------------------------------------------------------------------------
58 
59 //------------------------------------------------------------------------------
60 class cWorld;
61 class cDirectionalLight;
62 //------------------------------------------------------------------------------
63 
65 {
71 };
72 
74 {
77 };
78 
79 //==============================================================================
86 //==============================================================================
87 
88 //==============================================================================
109 //==============================================================================
110 class cCamera : public cGenericObject
111 {
112  //--------------------------------------------------------------------------
113  // CONSTRUCTOR & DESTRUCTOR:
114  //--------------------------------------------------------------------------
115 
116 public:
117 
119  cCamera(cWorld* a_parentWorld);
120 
122  virtual ~cCamera();
123 
124 
125  //-----------------------------------------------------------------------
126  // PUBLIC METHODS - GENERAL:
127  //-----------------------------------------------------------------------
128 
129 public:
130 
133 
134 
135  //-----------------------------------------------------------------------
136  // PUBLIC METHODS - MOUSE SELECTION:
137  //-----------------------------------------------------------------------
138 
139 public:
140 
142  virtual bool selectWorld(const int a_windowPosX, const int a_windowPosY,
143  const int a_windowWidth, const int a_windowHeight,
144  cCollisionRecorder& a_collisionRecorder,
145  cCollisionSettings& a_collisionSettings);
146 
148  virtual bool selectFrontLayer(const int a_windowPosX, const int a_windowPosY,
149  const int a_windowWidth, const int a_windowHeight,
150  cCollisionRecorder& a_collisionRecorder,
151  cCollisionSettings& a_collisionSettings);
152 
154  virtual bool selectBackLayer(const int a_windowPosX, const int a_windowPosY,
155  const int a_windowWidth, const int a_windowHeight,
156  cCollisionRecorder& a_collisionRecorder,
157  cCollisionSettings& a_collisionSettings);
158 
160  virtual bool selectLayers(const int a_windowPosX, const int a_windowPosY,
161  const int a_windowWidth, const int a_windowHeight,
162  cCollisionRecorder& a_collisionRecorder,
163  cCollisionSettings& a_collisionSettings,
164  bool a_checkFrontLayer = true,
165  bool a_checkBackLayer = true);
166 
167 
168  //-----------------------------------------------------------------------
169  // PUBLIC METHODS - POSITION & ORIENTATION (CARTESIAN)
170  //-----------------------------------------------------------------------
171 
172 public:
173 
175  virtual bool set(const cVector3d& a_localPosition,
176  const cVector3d& a_localLookAt,
177  const cVector3d& a_localUp);
178 
180  cVector3d getLookVector() const { return (-m_localRot.getCol0()); }
181 
183  cVector3d getUpVector() const { return (m_localRot.getCol2()); }
184 
186  cVector3d getRightVector() const { return (m_localRot.getCol1()); }
187 
188 
189  //-----------------------------------------------------------------------
190  // PUBLIC METHODS - POSITION & ORIENTATION (SPHERICAL)
191  //-----------------------------------------------------------------------
192 
193 public:
194 
196  void setSphericalRad(const double& a_radius,
197  const double& a_polarRad,
198  const double& a_azimuthRad);
199 
201  void setSphericalDeg(const double& a_radius,
202  const double& a_polarDeg,
203  const double& a_azimuthDeg);
204 
206  void setSphericalReferences(const cVector3d& a_originReference,
207  const cVector3d& a_zenithReference,
208  const cVector3d& a_azimuthReference);
209 
211  void setSphericalRadius(const double& a_radius);
212 
214  double getSphericalRadius() { return (m_posRadius); }
215 
217  void setSphericalPolarRad(const double& a_polarRad);
218 
220  double getSphericalPolarRad() { return (m_posPolarRad); }
221 
223  void setSphericalPolarDeg(const double& a_polarDeg);
224 
227 
229  void setSphericalAzimuthRad(const double& a_azimuthRad);
230 
233 
235  void setSphericalAzimuthDeg(const double& a_azimuthDeg);
236 
239 
241  void setSphericalZenithReference(const cVector3d& a_zenithReference);
242 
245 
247  void setSphericalAzimuthReference(const cVector3d& a_azimuthReference);
248 
251 
253  void setSphericalOriginReference(const cVector3d& a_originReference);
254 
257 
258 
259  //-----------------------------------------------------------------------
260  // PUBLIC MEMBER - MATRICES:
261  //-----------------------------------------------------------------------
262 
263 public:
264 
267 
270 
273 
276 
277 
278  //-----------------------------------------------------------------------
279  // PUBLIC METHODS - CLIPPING PLANES:
280  //-----------------------------------------------------------------------
281 
282 public:
283 
285  void setClippingPlanes(const double a_distanceNear, const double a_distanceFar);
286 
288  double getNearClippingPlane() { return (m_distanceNear); }
289 
291  double getFarClippingPlane() { return (m_distanceFar); }
292 
294  void adjustClippingPlanes();
295 
296 
297  //-----------------------------------------------------------------------
298  // PUBLIC METHODS - FIELD OF VIEW & OPTICS:
299  //-----------------------------------------------------------------------
300 
301 public:
302 
304  void setOrthographicView(double a_viewWidth);
305 
307  void setFieldViewAngleDeg(double a_fieldViewAngleDeg);
308 
311 
313  void setFieldViewAngleRad(double a_fieldViewAngleRad) { setFieldViewAngleDeg(cRadToDeg(a_fieldViewAngleRad)); }
314 
317 
319  double getAspectRatio();
320 
322  void setStereoFocalLength(double a_stereoFocalLength);
323 
326 
328  void setStereoEyeSeparation(double a_stereoEyeSeparation);
329 
332 
333 
334  //-----------------------------------------------------------------------
335  // PUBLIC METHODS - RENDERING AND IMAGING:
336  //-----------------------------------------------------------------------
337 
338 public:
339 
341  virtual void renderView(const int a_windowWidth,
342  const int a_windowHeight,
343  const cEyeMode a_eyeMode = C_STEREO_LEFT_EYE,
344  const bool a_defaultBuffer = true);
345 
347  void copyImageBuffer(cImagePtr a_image);
348 
350  virtual void setUseMultipassTransparency(bool a_enabled);
351 
354 
357 
360 
362  void updateGPU();
363 
364 
365  //-----------------------------------------------------------------------
366  // PUBLIC METHODS - STEREO:
367  //-----------------------------------------------------------------------
368 
369 public:
370 
372  virtual void setStereoMode(cStereoMode a_stereoMode);
373 
376 
377 
378  //-----------------------------------------------------------------------
379  // PUBLIC METHODS - MIRRORING:
380  //-----------------------------------------------------------------------
381 
382 public:
383 
385  void setMirrorHorizontal(bool a_enabled);
386 
388  void setMirrorVertical(bool a_enabled);
389 
392 
394  bool getMirrorVertical() { return (m_mirrorVertical); }
395 
396 
397  //-----------------------------------------------------------------------
398  // PUBLIC METHODS - AUDIO DEVICE:
399  //-----------------------------------------------------------------------
400 
401 public:
402 
404  void attachAudioDevice(cAudioDevice* a_audioDevice) { m_audioDevice = a_audioDevice; }
405 
407  void detachAudioDevice() { m_audioDevice = NULL; }
408 
409 
410  //-----------------------------------------------------------------------
411  // PUBLIC MEMBERS - FRONT AND BACK PLANES: (WIDGETS)
412  //-----------------------------------------------------------------------
413 
414 public:
415 
418 
421 
424 
427 
428 
429  //-----------------------------------------------------------------------
430  // PROTECTED MEMBERS:
431  //-----------------------------------------------------------------------
432 
433 protected:
434 
437 
440 
443 
446 
449 
452 
455 
458 
461 
464 
467 
469  unsigned int m_lastDisplayWidth;
470 
472  unsigned int m_lastDisplayHeight;
473 
476 
479 
482 
485 
487  double m_scaleH;
488 
490  double m_scaleV;
491 
494 
497 
499  double m_posRadius;
500 
503 
506 
509 
512 
513 
514  //-----------------------------------------------------------------------
515  // PROTECTED METHODS:
516  //-----------------------------------------------------------------------
517 
518 protected:
519 
521  void renderLayer(cGenericObject* a_graph, int a_width, int a_height);
522 };
523 
524 //------------------------------------------------------------------------------
525 } // namespace chai3d
526 //------------------------------------------------------------------------------
527 
528 //------------------------------------------------------------------------------
529 #endif
530 //------------------------------------------------------------------------------
cVector3d getSphericalAzimuthReference()
This method returns the azimuth reference direction vector of the camera (spherical coordinates)...
Definition: CCamera.h:250
Definition: CCamera.h:67
This class implements a 3D vector.
Definition: CVector3d.h:88
bool m_useCustomModelViewMatrix
If true, then use projection matrix specified in m_projectionMatrix.
Definition: CCamera.h:275
double cRadToDeg(const double &a_angleRad)
This function converts an angle from radians to degrees.
Definition: CMaths.h:653
virtual bool selectWorld(const int a_windowPosX, const int a_windowPosY, const int a_windowWidth, const int a_windowHeight, cCollisionRecorder &a_collisionRecorder, cCollisionSettings &a_collisionSettings)
This method queries whether the specified position is &#39;pointing at&#39; any objects in the world...
Definition: CCamera.cpp:667
cVector3d getCol0() const
This method returns column vector 0 of matrix.
Definition: CMatrix3d.h:536
double m_stereoFocalLength
Stereo focal length.
Definition: CCamera.h:460
void setStereoEyeSeparation(double a_stereoEyeSeparation)
This method sets the stereo eye separation.
Definition: CCamera.cpp:554
void detachAudioDevice()
This method detaches the current audio device from the camera.
Definition: CCamera.h:407
double m_scaleH
Scale factor used for horizontal mirroring. (-1.0 or 1.0)
Definition: CCamera.h:487
Implements general math utility functions.
Definition: CCamera.h:75
Definition: CCamera.h:76
void attachAudioDevice(cAudioDevice *a_audioDevice)
This method attaches an audio device to the camera.
Definition: CCamera.h:404
double getFarClippingPlane()
This method returns the far clipping plane distance.
Definition: CCamera.h:291
double getStereoEyeSeparation()
This method returns the stereo eye separation.
Definition: CCamera.h:331
void setSphericalPolarDeg(const double &a_polarDeg)
This method sets the polar position of the camera in degrees (spherical coordinates).
Definition: CCamera.cpp:344
Definition: CCamera.h:66
double m_distanceFar
Distance to far clipping plane.
Definition: CCamera.h:442
double m_posRadius
Camera radius position (spherical coordinates).
Definition: CCamera.h:499
cTransform m_projectionMatrix
Projection matrix of camera.
Definition: CCamera.h:266
bool m_mirrorHorizontal
If true then the output image is mirrored horizontally.
Definition: CCamera.h:478
void setFieldViewAngleRad(double a_fieldViewAngleRad)
This method set the field of view angle (in radians).
Definition: CCamera.h:313
double getFieldViewAngleRad()
This method returns the field of view angle (in radians).
Definition: CCamera.h:316
void setSphericalZenithReference(const cVector3d &a_zenithReference)
This method sets the zenith reference direction vector of the camera (spherical coordinates).
Definition: CCamera.cpp:386
void setOrthographicView(double a_viewWidth)
This method sets the camera in orthographic mode.
Definition: CCamera.cpp:456
bool getMirrorVertical()
This method returns true then output image is mirrored vertically, false otherwise.
Definition: CCamera.h:394
cStereoMode getStereoMode()
This method returns the current stereo mode being used.
Definition: CCamera.h:375
cMatrix3d m_localRot
The rotation matrix that rotates my reference frame into my parent&#39;s reference frame.
Definition: CGenericObject.h:755
double getSphericalAzimuthDeg()
This method returns the azimuth position of the camera in degrees (spherical coordinates).
Definition: CCamera.h:238
void setSphericalAzimuthDeg(const double &a_azimuthDeg)
This method sets the azimuth position of the camera in degrees (spherical coordinates).
Definition: CCamera.cpp:372
double getSphericalPolarRad()
This method returns the polar position of the camera in radians (spherical coordinates).
Definition: CCamera.h:220
void setSphericalRad(const double &a_radius, const double &a_polarRad, const double &a_azimuthRad)
This method sets the position and orientation of the camera in spherical coordinates in radians...
Definition: CCamera.cpp:236
double m_posAzimuthRad
Camera azimuth position in radians (spherical coordinates).
Definition: CCamera.h:496
cDirectionalLight * m_lightFrontLayer
Directional light for front plane.
Definition: CCamera.h:423
cStereoMode
Definition: CCamera.h:64
cWorld * getParentWorld()
This method returns a pointer to the parent world.
Definition: CCamera.h:132
void setSphericalDeg(const double &a_radius, const double &a_polarDeg, const double &a_azimuthDeg)
This method sets the position and orientation of the camera in spherical coordinates in degrees...
Definition: CCamera.cpp:266
double getSphericalPolarDeg()
This method returns the polar position of the camera in degrees (spherical coordinates).
Definition: CCamera.h:226
double cDegToRad(const double &a_angleDeg)
This function converts an angle from degrees to radians.
Definition: CMaths.h:633
cWorld * m_parentWorld
Parent world.
Definition: CCamera.h:436
cAudioDevice * m_audioDevice
Optionally attached audio device.
Definition: CCamera.h:511
bool m_markForUpdate
If true then a display reset has been requested.
Definition: CCamera.h:475
bool getUseMultipassTransparency()
This method returns true if multipass rendering is enabled, false otherwise.
Definition: CCamera.h:353
virtual void setUseMultipassTransparency(bool a_enabled)
This method enables or disables additional rendering passes for transparency.
Definition: CCamera.cpp:1766
virtual bool selectLayers(const int a_windowPosX, const int a_windowPosY, const int a_windowWidth, const int a_windowHeight, cCollisionRecorder &a_collisionRecorder, cCollisionSettings &a_collisionSettings, bool a_checkFrontLayer=true, bool a_checkBackLayer=true)
This method queries whether the specified position is &#39;pointing at&#39; any widget on selected layers...
Definition: CCamera.cpp:866
This class implements a virtual world.
Definition: CWorld.h:92
int getDisplayWidth()
This method returns the width of the current window display in pixels.
Definition: CCamera.h:356
void setSphericalAzimuthRad(const double &a_azimuthRad)
This method sets the azimuth position of the camera in radians (spherical coordinates).
Definition: CCamera.cpp:358
void copyImageBuffer(cImagePtr a_image)
This method copies the output image data to an image structure.
Definition: CCamera.cpp:1719
double m_posPolarRad
Camera polar position in radians (spherical coordinates).
Definition: CCamera.h:493
void setSphericalReferences(const cVector3d &a_originReference, const cVector3d &a_zenithReference, const cVector3d &a_azimuthReference)
This method sets the reference vectors that define the basis of the spherical coordinate system...
Definition: CCamera.cpp:284
This class implements a base class for all 2D or 3D objects in CHAI3D.
Definition: CGenericObject.h:112
unsigned int m_lastDisplayWidth
Last width size of the window.
Definition: CCamera.h:469
bool m_mirrorStatus
If true then only one of the axes is mirrored.
Definition: CCamera.h:484
bool getMirrorHorizontal()
This method returns true then output image is mirrored horizontally, false otherwise.
Definition: CCamera.h:391
void setClippingPlanes(const double a_distanceNear, const double a_distanceFar)
This method sets the near and far clipping plane distances.
Definition: CCamera.cpp:639
This class implements a collision detection recorder that stores all collision events that are report...
Definition: CCollisionBasics.h:185
This class implements a 4D transformation matrix encoded as column-major.
Definition: CTransform.h:75
cVector3d getSphericalZenithReference()
This method returns the zenith reference direction vector of the camera (spherical coordinates)...
Definition: CCamera.h:244
unsigned int m_lastDisplayHeight
Last height size of the window.
Definition: CCamera.h:472
This structure stores the collision settings that are passed to a collision detector when querying fo...
Definition: CCollisionBasics.h:242
void setFieldViewAngleDeg(double a_fieldViewAngleDeg)
This method sets the field of view angle (in degrees).
Definition: CCamera.cpp:472
double m_distanceNear
Distance to near clipping plane.
Definition: CCamera.h:439
virtual bool selectFrontLayer(const int a_windowPosX, const int a_windowPosY, const int a_windowWidth, const int a_windowHeight, cCollisionRecorder &a_collisionRecorder, cCollisionSettings &a_collisionSettings)
This method queries whether the specified position is &#39;pointing at&#39; any widget on the front layer...
Definition: CCamera.cpp:800
cDirectionalLight * m_lightBackLayer
Directional light for back plane.
Definition: CCamera.h:426
bool m_useShadowCasting
If true, then shadow casting is used.
Definition: CCamera.h:457
Definition: CCamera.h:68
cCamera(cWorld *a_parentWorld)
Constructor of cCamera.
Definition: CCamera.cpp:73
virtual void setStereoMode(cStereoMode a_stereoMode)
This method sets the desired stereo mode.
Definition: CCamera.cpp:515
bool m_useMultipassTransparency
If true, then three rendering passes are performed to approximate back-front sorting (see comment)...
Definition: CCamera.h:454
Implements a base class for all objects.
This class implements a virtual camera.
Definition: CCamera.h:110
bool m_perspectiveMode
If true, then camera operates in perspective mode. If false, then camera is in orthographic mode...
Definition: CCamera.h:451
void setMirrorVertical(bool a_enabled)
This method enables or disables output image mirroring vertically.
Definition: CCamera.cpp:602
virtual void renderView(const int a_windowWidth, const int a_windowHeight, const cEyeMode a_eyeMode=C_STEREO_LEFT_EYE, const bool a_defaultBuffer=true)
This method renders the the camera view in OpenGL.
Definition: CCamera.cpp:978
double getNearClippingPlane()
This method returns the near clipping plane distance.
Definition: CCamera.h:288
void adjustClippingPlanes()
This method automatically adjust back and front clipping planes.
Definition: CCamera.cpp:1778
double getSphericalAzimuthRad()
This method returns the azimuth position of the camera in radians (spherical coordinates).
Definition: CCamera.h:232
cVector3d m_azimuthReference
Camera azimuth reference vector (spherical coordinates).
Definition: CCamera.h:505
double m_stereoEyeSeparation
Stereo eye separation.
Definition: CCamera.h:463
std::shared_ptr< cImage > cImagePtr
Definition: CImage.h:63
double getStereoFocalLength()
This method returns the stereo focal length.
Definition: CCamera.h:325
cVector3d m_originReference
Camera origin (spherical coordinates).
Definition: CCamera.h:508
This class implements an audio device context.
Definition: CAudioDevice.h:81
cWorld * m_backLayer
Black plane scene graph which can be used to attach widgets.
Definition: CCamera.h:420
void updateGPU()
This method resets textures and display lists for the world associated with this camera.
Definition: CCamera.cpp:1889
int getDisplayHeight()
This method returns the height of the current window display in pixels.
Definition: CCamera.h:359
cVector3d getLookVector() const
This method returns the camera "look at" position vector for this camera.
Definition: CCamera.h:180
virtual bool selectBackLayer(const int a_windowPosX, const int a_windowPosY, const int a_windowWidth, const int a_windowHeight, cCollisionRecorder &a_collisionRecorder, cCollisionSettings &a_collisionSettings)
This method queries whether the specified position is &#39;pointing at&#39; any widget on the back layer...
Definition: CCamera.cpp:832
cStereoMode m_stereoMode
Stereo rendering mode.
Definition: CCamera.h:466
void setStereoFocalLength(double a_stereoFocalLength)
This method sets the stereo focal length.
Definition: CCamera.cpp:535
cVector3d getCol1() const
This method returns column vector 1 of matrix.
Definition: CMatrix3d.h:557
cVector3d getRightVector() const
This method returns the "right direction" vector for this camera.
Definition: CCamera.h:186
virtual ~cCamera()
Destructor of cCamera.
Definition: CCamera.cpp:161
Implements an audio device for listening to audio sources.
double getAspectRatio()
This method returns the aspect ratio.
Definition: CCamera.cpp:487
cWorld * m_frontLayer
Front plane scene graph which can be used to attach widgets.
Definition: CCamera.h:417
void setSphericalAzimuthReference(const cVector3d &a_azimuthReference)
This method sets the azimuth reference direction vector of the camera (spherical coordinates).
Definition: CCamera.cpp:414
Definition: CAudioBuffer.cpp:56
cEyeMode
Definition: CCamera.h:73
void setSphericalOriginReference(const cVector3d &a_originReference)
This method sets the origin target point of the camera (spherical coordinates).
Definition: CCamera.cpp:442
cVector3d getUpVector() const
This method returns the "up" vector for this camera.
Definition: CCamera.h:183
cVector3d getSphericalOriginReference()
This method returns the origin target point of the camera (spherical coordinates).
Definition: CCamera.h:256
This class implements a directional light source.
Definition: CDirectionalLight.h:81
cTransform m_modelViewMatrix
Modelview matrix of camera.
Definition: CCamera.h:269
Implements a 2D image data structure.
bool m_mirrorVertical
If true then the output image is mirrored vertically.
Definition: CCamera.h:481
double m_fieldViewAngleDeg
Field of view angle expressed in degrees.
Definition: CCamera.h:445
cVector3d getCol2() const
This method returns column vector 2 of matrix.
Definition: CMatrix3d.h:578
cVector3d m_zenithReference
Camera zenith reference vector (spherical coordinates).
Definition: CCamera.h:502
bool m_useCustomProjectionMatrix
If true, then use projection matrix specified in m_projectionMatrix.
Definition: CCamera.h:272
void setSphericalPolarRad(const double &a_polarRad)
This method sets the polar position of the camera in radians (spherical coordinates).
Definition: CCamera.cpp:330
double getFieldViewAngleDeg()
This method returns the field of view angle (in degrees).
Definition: CCamera.h:310
double m_scaleV
Scale factor used for vertical mirroring. (-1.0 or 1.0)
Definition: CCamera.h:490
void renderLayer(cGenericObject *a_graph, int a_width, int a_height)
Renders a 2D layer within this camera&#39;s view.
Definition: CCamera.cpp:1809
Definition: CCamera.h:69
double getSphericalRadius()
This method returns the radius position of the camera (spherical coordinates).
Definition: CCamera.h:214
void setMirrorHorizontal(bool a_enabled)
This method enables or disables output image mirroring horizontally.
Definition: CCamera.cpp:567
double m_orthographicWidth
Width of orthographic view.
Definition: CCamera.h:448
void setSphericalRadius(const double &a_radius)
This method sets the radius position of the camera (spherical coordinates).
Definition: CCamera.cpp:316