30 #ifndef OGRE_TOOLS_CAMERA_BASE_H_ 31 #define OGRE_TOOLS_CAMERA_BASE_H_ 33 #include <OgreVector3.h> 34 #include <OgreQuaternion.h> 60 CameraBase( Ogre::SceneManager* scene_manager );
73 void setRelativeNode( Ogre::SceneNode* node );
84 virtual void setPosition(
const Ogre::Vector3& position );
88 virtual void setOrientation(
const Ogre::Quaternion& orientation );
102 virtual void yaw(
float angle ) = 0;
115 virtual void pitch(
float angle ) = 0;
128 virtual void roll(
float angle ) = 0;
133 virtual void setOrientation(
float x,
float y,
float z,
float w ) = 0;
137 virtual void setPosition(
float x,
float y,
float z ) = 0;
144 virtual void setFrom(
CameraBase* camera ) = 0;
150 virtual Ogre::Vector3 getPosition() = 0;
155 virtual Ogre::Quaternion getOrientation() = 0;
161 virtual void lookAt(
const Ogre::Vector3& point ) = 0;
170 virtual void move(
float x,
float y,
float z ) = 0;
185 virtual void mouseLeftDrag(
int diff_x,
int diff_y,
bool ctrl,
bool alt,
bool shift ) = 0;
192 virtual void mouseMiddleDrag(
int diff_x,
int diff_y,
bool ctrl,
bool alt,
bool shift ) = 0;
199 virtual void mouseRightDrag(
int diff_x,
int diff_y,
bool ctrl,
bool alt,
bool shift ) = 0;
206 virtual void scrollWheel(
int diff,
bool ctrl,
bool alt,
bool shift ) = 0;
212 virtual void fromString(
const std::string& str) = 0;
216 virtual std::string toString() = 0;
virtual void mouseMiddleUp(int x, int y)
virtual void mouseLeftDown(int x, int y)
virtual void mouseMiddleDown(int x, int y)
Generic interface for a camera.
Ogre::Camera * getOgreCamera()
Get the Ogre camera associated with this camera object.
TFSIMD_FORCE_INLINE const tfScalar & y() const
TFSIMD_FORCE_INLINE tfScalar angle(const Quaternion &q1, const Quaternion &q2)
void update(const std::string &key, const XmlRpc::XmlRpcValue &v)
Ogre::Camera * camera_
Ogre camera associated with this camera object.
Ogre::SceneNode * relative_node_
TFSIMD_FORCE_INLINE const tfScalar & x() const
TFSIMD_FORCE_INLINE const tfScalar & z() const
virtual void mouseRightDown(int x, int y)
TFSIMD_FORCE_INLINE const tfScalar & w() const
virtual void relativeNodeChanged()
Called when the relative node changes.
virtual void mouseRightUp(int x, int y)
Ogre::SceneManager * scene_manager_
Scene manager this camera is part of.
virtual void mouseLeftUp(int x, int y)