2 #ifndef _YI_CAMERA_CONTROLLER_H_ 3 #define _YI_CAMERA_CONTROLLER_H_ 8 #include <glm/gtc/epsilon.hpp> 9 #include <glm/vec3.hpp> 68 void ScrollBy(
const glm::vec3 &offset);
97 struct CameraViewProperties {
102 bool operator==(
const CameraViewProperties &other)
104 return (glm::all(glm::epsilonEqual(position, other.position, glm::epsilon<glm::vec3::value_type>())) &&
105 glm::all(glm::epsilonEqual(target, other.target, glm::epsilon<glm::vec3::value_type>())) &&
106 glm::all(glm::epsilonEqual(up, other.up, glm::epsilon<glm::vec3::value_type>())));
113 enum CAMERA_TARGET_FLAGS {
114 MAINTAIN_DISTANCE_X = 1,
115 MAINTAIN_DISTANCE_Y = 2,
116 MAINTAIN_DISTANCE_Z = 4
120 CameraViewProperties m_StaticCameraProperties;
121 CameraViewProperties m_DynamicCameraDestination;
122 float m_fDynamicCameraVelocity;
123 float m_fDynamicCameraRange;
124 CameraViewProperties m_DynamicCameraTarget;
129 void RestoreDynamicCamera();
139 CameraViewProperties DefineCameraForTarget(
CYISceneNode *pNode, uint32_t eTargetMask);
146 #endif // _YI_CAMERA_CONTROLLER_H_ Definition: YiCameraController.h:33
void ReleaseDynamicCamera()
Provides a base for the definition of camera objects.
Definition: YiAbstractCameraSceneNode.h:30
void SetDynamicCamera(CYIAbstractCameraSceneNode *pCamera)
CAMERA_CENTER_RULES
Definition: YiCameraController.h:32
void AnimateScrollBy(const glm::vec3 &offset)
const CYIAbstractCameraSceneNode * GetDynamicCamera() const
Definition: YiCameraController.h:35
A scene node is the base type for all nodes which are used by the scene manager; it is an integral pa...
Definition: YiSceneNode.h:114
Definition: YiCameraController.h:34
bool operator==(const CYIVariant &rLHS, const CYIVariant &rRHS)
Supported types: Int, String, Float, FloatVector and Quaternion.
Definition: YiCameraController.h:22
void AnimateCenterCameraOn(CYISceneNode *pTarget, CAMERA_CENTER_RULES eCenterRule, float fVelocity, const glm::vec3 &staticOffset=glm::vec3())
void ScrollBy(const glm::vec3 &offset)
float GetDynamicCameraRange()
void CenterCameraOn(CYISceneNode *pTarget, CAMERA_CENTER_RULES eCenterRule, const glm::vec3 &staticOffset=glm::vec3())
void SetDynamicCameraRange(float fMaximumRange)