Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 namespace mudbox {
00015
00020 class MBDLL_DECL Camera : virtual public GroupNode
00021 {
00022 DECLARE_CLASS;
00023
00024 protected:
00032 Camera( void );
00033
00034 public:
00035
00037 virtual Vector Forward( void ) const;
00038
00040 virtual Vector Up( void ) const;
00041
00043 virtual Vector Right( void ) const;
00044
00048 virtual float Yaw( void ) const;
00049
00054 virtual float Pitch( void ) const;
00055
00060 virtual float Roll( void ) const;
00061
00063 virtual Vector Position( void ) const;
00064
00074 virtual void SetYawPitchRoll(
00075 const Vector &vYPR
00076 );
00077
00087 virtual void AddYawPitchRoll(
00088 const Vector &vYPR
00089 );
00090
00096 virtual void SetForwardUpRight(
00097 const Vector &vForward,
00098 const Vector &vUp,
00099 const Vector &vRight
00100 );
00101
00107 virtual void SetTarget(
00108 const Vector &vTarget,
00109 const Vector &vUpDir = Vector( 0, 1, 0 )
00110 );
00111
00113 virtual void SetPosition(
00114 const Vector &vPosition
00115 );
00116
00118 virtual void MoveForward(
00119 float fRange
00120 );
00121
00123 virtual void MoveUp(
00124 float fRange
00125 );
00126
00128 virtual void MoveRight(
00129 float fRange
00130 );
00131
00133 virtual void MoveBackward(
00134 float fRange
00135 );
00136
00138 virtual void MoveDown(
00139 float fRange
00140 );
00141
00143 virtual void MoveLeft(
00144 float fRange
00145 );
00146
00156 virtual Vector Project(
00157 const Vector &vWorldPosition
00158 ) const;
00159
00167 virtual Vector UnProject(
00168 const Vector &vScreenPosition
00169 ) const;
00170
00172 virtual mudbox::Matrix Matrix(
00173 bool bOffscreen = false
00174 ) const;
00175
00182 virtual float FOV( void ) const;
00183
00185 virtual float Near( void ) const;
00186
00188 virtual float Far( void ) const;
00189
00193 virtual float AspectRatio( void ) const;
00194
00196 virtual void SetFOV(
00197 float fFOV
00198 );
00199
00201 virtual void SetNear(
00202 float fNear
00203 );
00204
00206 virtual void SetFar(
00207 float fFar
00208 );
00209
00213 virtual void SetAspectRatio(
00214 float fAspectRatio
00215 );
00216
00221 virtual float Scale2D( void ) const;
00222
00228 virtual float Angle2D( void ) const;
00229
00234 virtual Vector Position2D( void ) const;
00235
00241 virtual void SetScale2D(
00242 float fScale2D
00243 );
00244
00250 virtual void SetAngle2D(
00251 float fAngle2D
00252 );
00253
00259 virtual void SetPosition2D(
00260 const Vector &vPosition2D
00261 );
00262
00264 virtual void CopyFrom(
00265 const Camera &cOther
00266 );
00267
00268
00270 virtual bool IsEqualTo(
00271 const Camera &cOther
00272 ) const;
00273
00281 virtual bool Pick(
00282 float fXPosition,
00283 float fYPosition,
00284 SurfacePoint &sResult
00285 );
00286
00288 virtual Vector Aim() const;
00289
00294 virtual void SetAim(
00295 const Vector &v
00296 );
00297
00299 virtual bool Orthographic() const;
00300
00302 virtual void SetOrthographic(
00303 bool isOrtho
00304 );
00305
00306 };
00307
00308 };
00309
00310
00311