- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# transformation.h

Go to the documentation of this file.

    00001
    00002 //**************************************************************************/
    00003 // Copyright (c) 2008 Autodesk, Inc.
    00004 // All rights reserved.
    00005 //
    00006 // Use of this software is subject to the terms of the Autodesk license
    00007 // agreement provided at the time of installation or download, or which
    00008 // otherwise accompanies this software in either electronic or hard copy form.
    00009 //
    00010 //**************************************************************************/
    00011 // DESCRIPTION:
    00012 // CREATED: October 2008
    00013 //**************************************************************************/
    00014
    00015 namespace mudbox {
    00016
    00022 class MBDLL_DECL GroupNode : virtual public TreeNode
    00023 {
    00024     DECLARE_CLASS;
    00025
    00026 public:
    00030     class Transformation *Transformation( void ) const;
    00031 };
    00032
    00043 class MBDLL_DECL Transformation : virtual public GroupNode
    00044 {
    00045     DECLARE_CLASS;
    00046
    00047 public:
    00055     virtual Vector TransformToWorld(
    00056         const Vector &vL,
    00057         float fW = 1.0f
    00058         );
    00059
    00067     virtual Vector TransformToLocal(
    00068         const Vector &vW,
    00069         float fW = 1.0f
    00070         );
    00071
    00074     virtual Matrix LocalToWorldMatrix( void );
    00075
    00078     virtual Matrix WorldToLocalMatrix( void );
    00079
    00082     virtual void SetLocalToWorldMatrix(
    00083         const Matrix &mMatrix
    00084         );
    00085
    00089     virtual Vector Rotation( void ) const;
    00090
    00093     virtual void SetRotation(
    00094         const Vector &vYawPitchRoll
    00095         );
    00096
    00099     virtual void SetRotation(
    00100         const Matrix &mRotation
    00101         );
    00102
    00105     virtual void AddRotation(
    00106         const Vector &vYawPitchRoll,
    00107         bool bAfter = false
    00108         );
    00109
    00112     virtual void AddRotation(
    00113         const Vector &vAxis,
    00114         float fAngle
    00115         );
    00116
    00120     virtual Vector Position( void ) const;
    00121
    00123     virtual void SetPosition(
    00124         const Vector &vVector
    00125         );
    00126
    00128     virtual Vector Scale( void ) const;
    00129
    00131     virtual void SetScale(
    00132         const Vector &vScale
    00133         );
    00134
    00136     virtual Vector Pivot( void ) const;
    00137
    00139     virtual void SetPivot( const Vector &vNewPivot );
    00140 };
    00141
    00152 class MBDLL_DECL TransformationPalette : virtual public TreeNode
    00153 {
    00154
    00155     DECLARE_CLASS;
    00156
    00157 public:
    00160     virtual int TransformationCount( void ) const;
    00161
    00163     enum TransformationType
    00164     {
    00165         eMatrix,
    00166         eDualQuaternion
    00167     };
    00168
    00172     virtual TransformationType Type( void ) const;
    00173
    00175     virtual Matrix AsMatrix(
    00176         int iIndex
    00177         ) const;
    00178
    00180     virtual DualQuaternion AsDualQuaternion(
    00181         int iIndex
    00182         ) const;
    00183
    00186     virtual void SetupVertexProcessing( void ) const;
    00187
    00189     virtual void RestoreVertexProcessing( void ) const;
    00190 };
    00191
    00192 }; // end of namespace mudbox