Mudbox/camera.h Source File

camera.h
Go to the documentation of this file.
1 //**************************************************************************/
2 // Copyright (c) 2008 Autodesk, Inc.
3 // All rights reserved.
4 //
5 // Use of this software is subject to the terms of the Autodesk license
6 // agreement provided at the time of installation or download, or which
7 // otherwise accompanies this software in either electronic or hard copy form.
8 //
9 //**************************************************************************/
10 // DESCRIPTION:
11 // CREATED: October 2008
12 //**************************************************************************/
13 
14 namespace mudbox {
15 
20 class MBDLL_DECL Camera : virtual public GroupNode
21 {
23 
24 protected:
32  Camera( void );
33 
34 public:
35 
37  virtual Vector Forward( void ) const;
38 
40  virtual Vector Up( void ) const;
41 
43  virtual Vector Right( void ) const;
44 
48  virtual float Yaw( void ) const;
49 
54  virtual float Pitch( void ) const;
55 
60  virtual float Roll( void ) const;
61 
63  virtual Vector Position( void ) const;
64 
74  virtual void SetYawPitchRoll(
75  const Vector &vYPR
76  );
77 
87  virtual void AddYawPitchRoll(
88  const Vector &vYPR
89  );
90 
96  virtual void SetForwardUpRight(
97  const Vector &vForward,
98  const Vector &vUp,
99  const Vector &vRight
100  );
101 
107  virtual void SetTarget(
108  const Vector &vTarget,
109  const Vector &vUpDir = Vector( 0, 1, 0 )
110  );
111 
113  virtual void SetPosition(
114  const Vector &vPosition
115  );
116 
118  virtual void MoveForward(
119  float fRange
120  );
121 
123  virtual void MoveUp(
124  float fRange
125  );
126 
128  virtual void MoveRight(
129  float fRange
130  );
131 
133  virtual void MoveBackward(
134  float fRange
135  );
136 
138  virtual void MoveDown(
139  float fRange
140  );
141 
143  virtual void MoveLeft(
144  float fRange
145  );
146 
156  virtual Vector Project(
157  const Vector &vWorldPosition
158  ) const;
159 
167  virtual Vector UnProject(
168  const Vector &vScreenPosition
169  ) const;
170 
172  virtual mudbox::Matrix Matrix(
173  bool bOffscreen = false
174  ) const;
175 
182  virtual float FOV( void ) const;
183 
185  virtual float Near( void ) const;
186 
188  virtual float Far( void ) const;
189 
193  virtual float AspectRatio( void ) const;
194 
196  virtual void SetFOV(
197  float fFOV
198  );
199 
201  virtual void SetNear(
202  float fNear
203  );
204 
206  virtual void SetFar(
207  float fFar
208  );
209 
213  virtual void SetAspectRatio(
214  float fAspectRatio
215  );
216 
221  virtual float Scale2D( void ) const;
222 
228  virtual float Angle2D( void ) const;
229 
234  virtual Vector Position2D( void ) const;
235 
241  virtual void SetScale2D(
242  float fScale2D
243  );
244 
250  virtual void SetAngle2D(
251  float fAngle2D
252  );
253 
259  virtual void SetPosition2D(
260  const Vector &vPosition2D
261  );
262 
264  virtual void CopyFrom(
265  const Camera &cOther
266  );
267 
268 
270  virtual bool IsEqualTo(
271  const Camera &cOther
272  ) const;
273 
281  virtual bool Pick(
282  float fXPosition,
283  float fYPosition,
284  SurfacePoint &sResult
285  );
286 
288  virtual ScreenSpacePicker *GetScreenSpacePicker() const;
289 
291  virtual Vector Aim() const;
292 
297  virtual void SetAim(
298  const Vector &v
299  );
300 
302  virtual bool Orthographic() const;
303 
305  virtual void SetOrthographic(
306  bool isOrtho
307  );
308 
310  virtual bool IsDirty( void ) const;
311 
313  virtual void SetDirty( bool bDirty );
314 };
315 
316 }; // end of namespace mudbox
317 
318 
Represents a 3D vector or point with S23E8 floating point elements.
Definition: math.h:35
Describes a location somewhere on the surface of a Mesh.
Definition: mesh.h:340
This class represents a 4x4 transformation matrix.
Definition: math.h:1122
This is the base class for all nodes that are transformable objects in the Mudbox scene...
const GLdouble * v
Definition: GLee.h:1174
ScreenSpacePicker objects are used to translate the user action of clicking in the view into a picked...
Definition: mesh.h:1229
Represents a camera (point of view) in a Mudbox scene.
Definition: camera.h:20
Class: ConvolutionKernel.
Definition: array.h:15
#define DECLARE_CLASS
This macro should be used in declaration of classes which are inherited from the Node class (or any d...
Definition: node.h:91
#define MBDLL_DECL
Definition: dllinterface.h:35