00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef OGRE_TOOLS_ORTHO_CAMERA_H_
00032 #define OGRE_TOOLS_ORTHO_CAMERA_H_
00033
00034 #include "camera_base.h"
00035 #include <OGRE/OgreVector3.h>
00036
00037 namespace ogre_tools
00038 {
00039
00040 class wxOgreRenderWindow;
00041
00042 class OrthoCamera : public CameraBase
00043 {
00044 public:
00045 OrthoCamera( wxOgreRenderWindow* render_window, Ogre::SceneManager* scene_manager );
00046 virtual ~OrthoCamera();
00047
00048 virtual void update();
00049
00050 virtual void setFrom( CameraBase* camera );
00051 virtual void yaw( float angle );
00052 virtual void pitch( float angle );
00053 virtual void roll( float angle );
00054 virtual void setOrientation( float x, float y, float z, float w );
00055 virtual void setPosition( float x, float y, float z );
00056 virtual void move( float x, float y, float z );
00057
00058 virtual Ogre::Vector3 getPosition();
00059 virtual Ogre::Quaternion getOrientation();
00060
00061 virtual void lookAt( const Ogre::Vector3& point );
00062
00063 virtual void mouseLeftDrag( int diff_x, int diff_y, bool ctrl, bool alt, bool shift );
00064 virtual void mouseMiddleDrag( int diff_x, int diff_y, bool ctrl, bool alt, bool shift );
00065 virtual void mouseRightDrag( int diff_x, int diff_y, bool ctrl, bool alt, bool shift );
00066 virtual void scrollWheel( int diff, bool ctrl, bool alt, bool shift );
00067
00068 virtual void fromString(const std::string& str);
00069 virtual std::string toString();
00070
00071 private:
00072 float scale_;
00073 wxOgreRenderWindow* render_window_;
00074 };
00075
00076 }
00077
00078 #endif