GlobeEngine
OrthographicMapCamera.h
Go to the documentation of this file.
1 
9 #ifndef GlobeEngine_OrthographicMapCamera_h
10 #define GlobeEngine_OrthographicMapCamera_h
11 
12 #include "OpenGL_Includes.h"
13 #include "Camera.h"
14 #include "ViewFrustum.h"
15 #include "Common.h"
16 #include <vector>
17 #include <vmmlib/matrix.hpp>
18 #include <vmmlib/quaternion.hpp>
19 
20 namespace ge {
22  {
23  public:
24 
27 
28  void clear();
29  void destroy();
30  void create(ViewFrustumProperties _in);
32  vmml::Vector3d _pos,
33  double _velocity,
34  double _pitch,
35  double _heading);
36 
38  vmml::Vector3d _pos,
39  vmml::Vector3d _camDir,
40  vmml::Vector3d _camRight,
41  vmml::Vector3d _camUp,
42  double _velocity,
43  double _pitch,
44  double _heading);
45 
46  void update();
47 
48  void createQuatFromAxisAngle(vmml::Quaterniond & quat, GLfloat x, GLfloat y, GLfloat z, GLfloat degrees);
49  void calculateViewMatrix();
50 
51  void setMoving_X(GLint _value);
52  void setMoving_Y(GLint _value);
53  void setMoving_Z(GLint _value);
54  void updateHeightValue(float _input);
55 
56  double getVelocity();
57 
58  void moveToLocation(vmml::Vector2d _in);
59  double distancePanelFromCamPoint();
60  void changeWithinXZPlane(vmml::Vector2f _changeVector);
61 
62  void movePosition(vmml::Vector3d _change);
63  void zoom(double _in);
64  void reset();
65  vmml::Vector4d getWindow();
66  vmml::Vector4d getInitialWindow();
67 
68  void setInitialOrthoCoords(vmml::Vector4d _orthoCoords);
70 
71  private:
72  void create(ViewFrustumProperties _in, vmml::Vector3d _pos);
73 
74  GLfloat maxPitchRate;
75  GLfloat maxHeadingRate;
76  GLfloat headingDegrees;
77  GLfloat pitchDegrees;
78 
79  vmml::Quaterniond quatHeading;
80  vmml::Quaterniond quatPitch;
81 
82  double velocity;
83  double velocityRelativeToHeight;
84  int moving_X;
85  int moving_Y;
86  int moving_Z;
87 
88  vmml::Vector4d initialOrthoCoords;
89  vmml::Vector4d initialWindow;
90  vmml::Vector3d initialPosition;
91 
92  double zoomMin;
93  double zoomMax;
94  double zoomCurrent;
95  double velocityMin;
96  double velocityMax;
97  };
98 }
99 #endif
void clear()
Definition: OrthographicMapCamera.cpp:21
OrthographicMapCamera()
Definition: OrthographicMapCamera.cpp:11
void moveToLocation(vmml::Vector2d _in)
Definition: OrthographicMapCamera.cpp:234
void updateHeightValue(float _input)
Definition: OrthographicMapCamera.cpp:199
void zoom(double _in)
Definition: OrthographicMapCamera.cpp:325
~OrthographicMapCamera()
Definition: OrthographicMapCamera.cpp:16
void setInitialOrthoCoords(vmml::Vector4d _orthoCoords)
Definition: OrthographicMapCamera.cpp:353
void destroy()
Definition: OrthographicMapCamera.cpp:40
void movePosition(vmml::Vector3d _change)
Definition: OrthographicMapCamera.cpp:302
void createQuatFromAxisAngle(vmml::Quaterniond &quat, GLfloat x, GLfloat y, GLfloat z, GLfloat degrees)
Definition: OrthographicMapCamera.cpp:257
void setMoving_Y(GLint _value)
Definition: OrthographicMapCamera.cpp:284
void calculateViewMatrix()
Definition: OrthographicMapCamera.cpp:103
double distancePanelFromCamPoint()
Definition: OrthographicMapCamera.cpp:272
Definition: Camera.h:18
void reset()
Definition: OrthographicMapCamera.cpp:357
void setMoving_X(GLint _value)
Definition: OrthographicMapCamera.cpp:278
vmml::Vector4d getWindow()
Definition: OrthographicMapCamera.cpp:365
Definition: ViewFrustum.h:18
Definition: AvalancheTrainingSimulationEngine.h:28
void calculateInitialWindow()
Definition: OrthographicMapCamera.cpp:374
void update()
Definition: OrthographicMapCamera.cpp:96
double getVelocity()
Definition: OrthographicMapCamera.cpp:296
Definition: OrthographicMapCamera.h:21
vmml::Vector4d getInitialWindow()
Definition: OrthographicMapCamera.cpp:378
void setMoving_Z(GLint _value)
Definition: OrthographicMapCamera.cpp:290
void create(ViewFrustumProperties _in)
Definition: OrthographicMapCamera.cpp:87
void changeWithinXZPlane(vmml::Vector2f _changeVector)
Definition: OrthographicMapCamera.cpp:216