GlobeEngine
CollisionCamera.h
Go to the documentation of this file.
1 
8 #ifndef AtmosphereEngine_CollisionCamera_h
9 #define AtmosphereEngine_CollisionCamera_h
10 
11 #include "FlightCamera.h"
12 #include "Planet.h"
13 
14 namespace at {
15 
17  {
18  public:
19  CollisionCamera(float near_, float far_);
22  //after outerBound is passed, movement is slowed down to never reach the innerBound
23  //if outerBound is 0, the camera will just stop at the innerBound
24  void addObservedObject(ge::DrawableComponent* observable_, float collisionInnerBound_, float collisionOuterBound_);
25  void replaceObservedObject(ge::DrawableComponent* observable_, float collisionInnerBound_, float collisionOuterBound_);
26  void changeAlongYAxis(float _amount);
27  void changeWithinXZPlane(vmml::Vector2f _changeVector, double _speed);
28  void changeWithinXZPlane(vmml::Vector2f _changeVector);
29  void changeInDirection(float _value);
30  float getDistanceToObject(float pointer_, vmml::Vector3d projectedCameraCoordinates_);
31  vmml::Vector3d getCameraCoordinates(vmml::Vector3d vec_);
32  float determineAction(vmml::Vector3d projectedCameraCoordinates_);
33 
34  vmml::Vector3d projectInDirection(float amount_);
35  vmml::Vector3d projectAlongYAxis(float amount_);
36  vmml::Vector3d projectWithinXZPlane(vmml::Vector2f _changeVector);
37  private:
38  float nearFactor;
39  float farFactor;
40  std::vector<ge::DrawableComponent*> observedObjects;
41  std::vector<float> innerBounds;
42  std::vector<float> outerBounds;
43  };
44 }
45 #endif
Definition: DrawableComponent.h:25
vmml::Vector3d projectAlongYAxis(float amount_)
Definition: CollisionCamera.cpp:101
vmml::Vector3d projectInDirection(float amount_)
Definition: CollisionCamera.cpp:153
CollisionCamera()
Definition: CollisionCamera.cpp:11
void changeInDirection(float _value)
Definition: CollisionCamera.cpp:87
float getDistanceToObject(float pointer_, vmml::Vector3d projectedCameraCoordinates_)
Definition: CollisionCamera.cpp:159
Definition: CollisionCamera.h:16
void changeAlongYAxis(float _amount)
Definition: CollisionCamera.cpp:51
~CollisionCamera()
Definition: CollisionCamera.cpp:25
void replaceObservedObject(ge::DrawableComponent *observable_, float collisionInnerBound_, float collisionOuterBound_)
Definition: CollisionCamera.cpp:38
void addObservedObject(ge::DrawableComponent *observable_, float collisionInnerBound_, float collisionOuterBound_)
Definition: CollisionCamera.cpp:29
void changeWithinXZPlane(vmml::Vector2f _changeVector, double _speed)
Definition: CollisionCamera.cpp:62
vmml::Vector3d getCameraCoordinates(vmml::Vector3d vec_)
Definition: CollisionCamera.cpp:97
float determineAction(vmml::Vector3d projectedCameraCoordinates_)
Definition: CollisionCamera.cpp:164
Definition: AtmosphereComposition.h:20
vmml::Vector3d projectWithinXZPlane(vmml::Vector2f _changeVector)
Definition: CollisionCamera.cpp:105
Definition: FlightCamera.h:22