FbxNode::Pivots Class Reference


Detailed Description

Definition at line 2149 of file fbxnode.h.

#include <fbxnode.h>

List of all members.

Public Member Functions

 Pivots ()
 ~Pivots ()
PivotGet (int id)
 MACRO_PIVOT_VECTOR_FCTS (RotationOffset, Pivot::sZeroVector)
 MACRO_PIVOT_VECTOR_FCTS (RotationPivot, Pivot::sZeroVector)
 MACRO_PIVOT_VECTOR_FCTS (PreRotation, Pivot::sZeroVector)
 MACRO_PIVOT_VECTOR_FCTS (PostRotation, Pivot::sZeroVector)
 MACRO_PIVOT_VECTOR_FCTS (ScalingOffset, Pivot::sZeroVector)
 MACRO_PIVOT_VECTOR_FCTS (ScalingPivot, Pivot::sZeroVector)
 MACRO_PIVOT_VECTOR_FCTS (GeometricTranslation, Pivot::sZeroVector)
 MACRO_PIVOT_VECTOR_FCTS (GeometricRotation, Pivot::sZeroVector)
 MACRO_PIVOT_VECTOR_FCTS (GeometricScaling, Pivot::sOneVector)
 MACRO_PIVOT_BOOL_FCTS (RotationSpaceForLimitOnly)
EFbxQuatInterpMode GetQuaternionInterpolate (int id) const
void SetQuaternionInterpolate (int id, EFbxQuatInterpMode pV)
EFbxRotationOrder GetRotationOrder (int id) const
void SetRotationOrder (int id, EFbxRotationOrder pROrder)
FbxNode::EPivotState GetPivotState (int id) const
void SetPivotState (int id, FbxNode::EPivotState pVal)
void Reset ()

Constructor & Destructor Documentation

Pivots ( ) [inline]

Definition at line 2152 of file fbxnode.h.

        {
            for( int i = 0; i < 2; i++ )
            {
                mIsDefault[i] = true;
                mPivotState[i] = FbxNode::ePivotReference;
                mPivot[i] = NULL;
            }
        }
~Pivots ( ) [inline]

Definition at line 2162 of file fbxnode.h.

        {
            FbxDelete(mPivot[0]);
            FbxDelete(mPivot[1]);
        }

Member Function Documentation

Pivot& Get ( int  id) [inline]

Definition at line 2168 of file fbxnode.h.

        {
            FBX_ASSERT(id == 0 || id == 1);
            if (mPivot[id] == NULL && mIsDefault[id])
            {
                smDefaultPivot.SetPivotState(mPivotState[id]);
                return smDefaultPivot;
            }

            if (!mPivot[id])
                mPivot[id] = FbxNew< Pivot >();

            FBX_ASSERT(mPivot[id] != NULL);
            if (mPivot[id])
                mPivot[id]->SetPivotState(mPivotState[id]);

            return *mPivot[id];
        }
MACRO_PIVOT_VECTOR_FCTS ( RotationOffset  ,
Pivot::sZeroVector   
)
MACRO_PIVOT_VECTOR_FCTS ( RotationPivot  ,
Pivot::sZeroVector   
)
MACRO_PIVOT_VECTOR_FCTS ( PreRotation  ,
Pivot::sZeroVector   
)
MACRO_PIVOT_VECTOR_FCTS ( PostRotation  ,
Pivot::sZeroVector   
)
MACRO_PIVOT_VECTOR_FCTS ( ScalingOffset  ,
Pivot::sZeroVector   
)
MACRO_PIVOT_VECTOR_FCTS ( ScalingPivot  ,
Pivot::sZeroVector   
)
MACRO_PIVOT_VECTOR_FCTS ( GeometricRotation  ,
Pivot::sZeroVector   
)
MACRO_PIVOT_VECTOR_FCTS ( GeometricScaling  ,
Pivot::sOneVector   
)
EFbxQuatInterpMode GetQuaternionInterpolate ( int  id) const [inline]

Definition at line 2230 of file fbxnode.h.

        {
            FBX_ASSERT(id == 0 || id == 1);
            Pivot* p = mPivot[id];
            if (p == NULL) p = &smDefaultPivot;
            return p->GetQuaternionInterpolate();
        }
void SetQuaternionInterpolate ( int  id,
EFbxQuatInterpMode  pV 
) [inline]

Definition at line 2238 of file fbxnode.h.

        {
            FBX_ASSERT(id == 0 || id == 1);
            // If pivot has default values, and we want to set default eQuatInterpOff, 
            // return to avoid allocating memory for the pivot (in Get(id).)
            if (mIsDefault[id] && pV == eQuatInterpOff) return;
            mIsDefault[id] = false;
            Get(id).SetQuaternionInterpolate(pV);
        }
EFbxRotationOrder GetRotationOrder ( int  id) const [inline]

Definition at line 2248 of file fbxnode.h.

        {
            FBX_ASSERT(id == 0 || id == 1);
            Pivot* p = mPivot[id];
            if (p == NULL) p = &smDefaultPivot;
            return p->GetRotationOrder();
        }
void SetRotationOrder ( int  id,
EFbxRotationOrder  pROrder 
) [inline]

Definition at line 2256 of file fbxnode.h.

        {
            FBX_ASSERT(id == 0 || id == 1);
            // If pivot has default values, and we want to set default rotation order eEulerXYZ, 
            // return to avoid allocating memory for the pivot (in Get(id).)
            if (mIsDefault[id] && pROrder == eEulerXYZ) return;
            mIsDefault[id] = false;
            Get(id).SetRotationOrder(pROrder);
        }
FbxNode::EPivotState GetPivotState ( int  id) const [inline]

Definition at line 2266 of file fbxnode.h.

        {
            FBX_ASSERT(id == 0 || id == 1);
            return mPivotState[id];
        }
void SetPivotState ( int  id,
FbxNode::EPivotState  pVal 
) [inline]

Definition at line 2272 of file fbxnode.h.

        {
            FBX_ASSERT(id == 0 || id == 1);
            if (pVal == FbxNode::ePivotReference) return;
            mPivotState[id] = pVal;
            if (mPivot[id])
                mPivot[id]->SetPivotState(pVal);
        }
void Reset ( ) [inline]

Definition at line 2284 of file fbxnode.h.

        {
            smDefaultPivot.Reset();
            for (int i = 0; i < 2; i++)
            {
                mIsDefault[i] = true;
                mPivotState[i] = FbxNode::ePivotReference;
                if (mPivot[i]) mPivot[i]->Reset();
            }
        }

The documentation for this class was generated from the following file:

FbxNode::Pivots FbxNode::Pivots FbxNode::Pivots FbxNode::Pivots FbxNode::Pivots FbxNode::Pivots FbxNode::Pivots FbxNode::Pivots FbxNode::Pivots FbxNode::Pivots
FbxNode::Pivots FbxNode::Pivots FbxNode::Pivots FbxNode::Pivots FbxNode::Pivots FbxNode::Pivots FbxNode::Pivots FbxNode::Pivots FbxNode::Pivots FbxNode::Pivots