Mudbox/transformation.h Source File

transformation.h
Go to the documentation of this file.
1 
2 //**************************************************************************/
3 // Copyright (c) 2008 Autodesk, Inc.
4 // All rights reserved.
5 //
6 // Use of this software is subject to the terms of the Autodesk license
7 // agreement provided at the time of installation or download, or which
8 // otherwise accompanies this software in either electronic or hard copy form.
9 //
10 //**************************************************************************/
11 // DESCRIPTION:
12 // CREATED: October 2008
13 //**************************************************************************/
14 
15 namespace mudbox {
16 
22 class MBDLL_DECL GroupNode : virtual public TreeNode
23 {
25 
26 public:
30  virtual class Transformation *Transformation( void ) const;
31 };
32 
43 class MBDLL_DECL Transformation : virtual public GroupNode
44 {
46 
47 public:
55  virtual Vector TransformToWorld(
56  const Vector &vL,
57  float fW = 1.0f
58  );
59 
67  virtual Vector TransformToLocal(
68  const Vector &vW,
69  float fW = 1.0f
70  );
71 
74  virtual Matrix LocalToWorldMatrix( void );
75 
78  virtual Matrix WorldToLocalMatrix( void );
79 
82  virtual void SetLocalToWorldMatrix(
83  const Matrix &mMatrix
84  );
85 
89  virtual Vector Rotation( void ) const;
90 
93  virtual void SetRotation(
94  const Vector &vYawPitchRoll
95  );
96 
99  virtual void SetRotation(
100  const Matrix &mRotation
101  );
102 
105  virtual void AddRotation(
106  const Vector &vYawPitchRoll,
107  bool bAfter = false
108  );
109 
112  virtual void AddRotation(
113  const Vector &vAxis,
114  float fAngle
115  );
116 
120  virtual Vector Position( void ) const;
121 
123  virtual void SetPosition(
124  const Vector &vVector
125  );
126 
128  virtual Vector Scale( void ) const;
129 
131  virtual void SetScale(
132  const Vector &vScale
133  );
134 
136  virtual Vector Pivot( void ) const;
137 
139  virtual void SetPivot( const Vector &vNewPivot );
140 
143 
144 };
145 
157 {
158 
160 
161 public:
164  virtual int TransformationCount( void ) const;
165 
168  {
170  eDualQuaternion
171  };
172 
176  virtual TransformationType Type( void ) const;
177 
179  virtual Matrix AsMatrix(
180  int iIndex
181  ) const;
182 
184  virtual DualQuaternion AsDualQuaternion(
185  int iIndex
186  ) const;
187 
190  virtual void SetupVertexProcessing( void ) const;
191 
193  virtual void RestoreVertexProcessing( void ) const;
194 };
195 
196 }; // end of namespace mudbox
Represents a 3D vector or point with S23E8 floating point elements.
Definition: math.h:35
The DualQuaternion class is used to represent rigid transformations in most cases.
Definition: math.h:1415
aevent Modified
This event is triggered when the transform has been modified.
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...
This class represents an event receiver/triggerer point.
Definition: node.h:999
Class: ConvolutionKernel.
Definition: array.h:15
This class is the base of all node types that can be structured in a hierarchy.
Definition: treenode.h:18
A Transformation is a node in the Mudbox scene that controls the size and position of other nodes...
TransformationType
Possible types of the transformations provided by an object.
#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
This object provides additional transformations for a mesh (skinning)
GLclampf f
Definition: GLee.h:9303
#define MBDLL_DECL
Definition: dllinterface.h:35