Public Member Functions

FbxAnimCurveFilterGimbleKiller Class Reference

Search for all occurrences

Detailed Description

GimbleKiller filter.

This filter try to minimize gimble locks on rotation curves.

Remarks:
The current implementation of this filter expects to process 3 curves at the same time.
This filter has been superseded by the Unroll filter. It is strongly advised to use the latter.

Definition at line 400 of file fbxanimcurvefilters.h.

#include <fbxanimcurvefilters.h>

Inheritance diagram for FbxAnimCurveFilterGimbleKiller:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 FbxAnimCurveFilterGimbleKiller ()
 Constructor.
virtual ~FbxAnimCurveFilterGimbleKiller ()
 Destructor.
virtual const char * GetName () const
 Get the name of the filter.
virtual bool NeedApply (FbxAnimStack *, FbxStatus *pStatus=NULL)
 This filter expects to work with 3 interdependent curves.
virtual bool NeedApply (FbxObject *, FbxAnimStack *, FbxStatus *pStatus=NULL)
 This filter expects to work with 3 interdependent curves.
virtual bool NeedApply (FbxAnimCurveNode &pCurveNode, FbxStatus *pStatus=NULL)
 Check if the animation curve node needs an application of the filter.
virtual bool NeedApply (FbxAnimCurve **pCurve, int pCount, FbxStatus *pStatus=NULL)
 Check if the given animation curve need an application of the filter.
virtual bool NeedApply (FbxAnimCurve &, FbxStatus *pStatus=NULL)
 This filter expects to work with interdependent curves.
virtual bool Apply (FbxAnimStack *, FbxStatus *pStatus=NULL)
 This filter expects to work with 3 interdependent curves.
virtual bool Apply (FbxObject *, FbxAnimStack *, FbxStatus *pStatus=NULL)
 This filter expects to work with 3 interdependent curves.
virtual bool Apply (FbxAnimCurveNode &pCurveNode, FbxStatus *pStatus=NULL)
 Apply filter on all the curves of an animation curve node.
virtual bool Apply (FbxAnimCurve **pCurve, int pCount, FbxStatus *pStatus=NULL)
 Apply filter on the given animation curve.
virtual bool Apply (FbxAnimCurve &, FbxStatus *pStatus=NULL)
 This filter expects to work with interdependent curves.
virtual void Reset ()
 Reset the filter to its default parameters.
bool GetApplyKeySyncFilter () const
 Return true if key sync filter is enabled.
void SetApplyKeySyncFilter (bool pFlag)
 Set to true to enable key sync filter.

Constructor & Destructor Documentation

Constructor.

virtual ~FbxAnimCurveFilterGimbleKiller ( ) [virtual]

Destructor.


Member Function Documentation

virtual const char* GetName ( ) const [virtual]

Get the name of the filter.

Returns:
Pointer to name.

Reimplemented from FbxAnimCurveFilter.

virtual bool NeedApply ( FbxAnimStack ,
FbxStatus pStatus = NULL 
) [inline, virtual]

This filter expects to work with 3 interdependent curves.

Passing the animation stack makes no sense. since this object would not know which curves to handle.

Parameters:
pAnimStackAnimation stack
pStatusThe FbxStatus object to hold error codes.
Returns:
false.

Reimplemented from FbxAnimCurveFilter.

Definition at line 420 of file fbxanimcurvefilters.h.

{ FBX_UNUSED(pStatus); return false; }
virtual bool NeedApply ( FbxObject ,
FbxAnimStack ,
FbxStatus pStatus = NULL 
) [inline, virtual]

This filter expects to work with 3 interdependent curves.

Collecting all the animation curves from the properties defined in pObj could not guarantee that we are manipulating 3 interdependent curves.

Parameters:
pObjObject containing the properties to test.
pAnimStackAnimation stack where to retrieve the animation curves
pStatusThe FbxStatus object to hold error codes.
Returns:
false

Reimplemented from FbxAnimCurveFilter.

Definition at line 429 of file fbxanimcurvefilters.h.

{ FBX_UNUSED(pStatus); return false; }
virtual bool NeedApply ( FbxAnimCurveNode pCurveNode,
FbxStatus pStatus = NULL 
) [virtual]

Check if the animation curve node needs an application of the filter.

Parameters:
pCurveNodeCurve node to test.
pStatusThe FbxStatus object to hold error codes.
Returns:
true if the animation curve node needs an application of the filter, false otherwise.
Remarks:
This method checks that the pCurveNode is representing an Euler rotation. It will validate that 3 animation curves are defined. If the condition is not met, the method will return false.

Reimplemented from FbxAnimCurveFilter.

virtual bool NeedApply ( FbxAnimCurve **  pCurve,
int  pCount,
FbxStatus pStatus = NULL 
) [virtual]

Check if the given animation curve need an application of the filter.

Parameters:
pCurveArray of curves to test if they need the and application of the filter.
pCountNumber of curves in array.
pStatusThe FbxStatus object to hold error codes.
Returns:
true if at least one animation curve in the array needs an application of the filter.
Remarks:
Because this method only receives an array of interdependent curves, this filter assumes that they are all coming from an Euler rotation anim curve node. Therefore, it expects pCount to be equal to 3.

Reimplemented from FbxAnimCurveFilter.

virtual bool NeedApply ( FbxAnimCurve ,
FbxStatus pStatus = NULL 
) [inline, virtual]

This filter expects to work with interdependent curves.

Receiving one single curve is useless.

Parameters:
pStatusThe FbxStatus object to hold error codes.
Returns:
false

Reimplemented from FbxAnimCurveFilter.

Definition at line 456 of file fbxanimcurvefilters.h.

{ FBX_UNUSED(pStatus); return false; }
virtual bool Apply ( FbxAnimStack ,
FbxStatus pStatus = NULL 
) [inline, virtual]

This filter expects to work with 3 interdependent curves.

Passing the animation stack makes no sense since this object would not know which curves to handle.

Parameters:
pAnimStackAnimation stack
pStatusThe FbxStatus object to hold error codes.
Returns:
false.

Reimplemented from FbxAnimCurveFilter.

Definition at line 464 of file fbxanimcurvefilters.h.

{ FBX_UNUSED(pStatus); return false; }
virtual bool Apply ( FbxObject ,
FbxAnimStack ,
FbxStatus pStatus = NULL 
) [inline, virtual]

This filter expects to work with 3 interdependent curves.

Collecting all the animation curves from the properties defined in pObj could not guarantee that we are manipulating 3 interdependent curves.

Parameters:
pObjObject containing the properties to test.
pAnimStackAnimation stack where to retrieve the animation curves
pStatusThe FbxStatus object to hold error codes.
Returns:
false

Reimplemented from FbxAnimCurveFilter.

Definition at line 473 of file fbxanimcurvefilters.h.

{ FBX_UNUSED(pStatus); return false; }
virtual bool Apply ( FbxAnimCurveNode pCurveNode,
FbxStatus pStatus = NULL 
) [virtual]

Apply filter on all the curves of an animation curve node.

Parameters:
pCurveNodeCurve node to which the filter is applied.
pStatusThe FbxStatus object to hold error codes.
Returns:
true if the curve filtering operation was successful, false otherwise.
Remarks:
This method collects all the FbxAnimCurve objects connected to the curve node and calls Apply(FbxAnimCurve**, int)

Reimplemented from FbxAnimCurveFilter.

virtual bool Apply ( FbxAnimCurve **  pCurve,
int  pCount,
FbxStatus pStatus = NULL 
) [virtual]

Apply filter on the given animation curve.

Parameters:
pCurveArray of curve to which the filter is applied.
pCountNumber of curves in array.
pStatusThe FbxStatus object to hold error codes.
Returns:
true if the curve filtering operation was successful, false otherwise.
Remarks:
Because this method only receives an array of interdependent curves, this filter assumes that they are all coming from an Euler rotation anim curve node. Therefore, it expects pCount to be equal to 3.

Reimplemented from FbxAnimCurveFilter.

virtual bool Apply ( FbxAnimCurve ,
FbxStatus pStatus = NULL 
) [inline, virtual]

This filter expects to work with interdependent curves.

Receiving one single curve is useless.

Returns:
false

Implements FbxAnimCurveFilter.

Definition at line 498 of file fbxanimcurvefilters.h.

{ FBX_UNUSED(pStatus); return false; }
virtual void Reset ( ) [virtual]

Reset the filter to its default parameters.

Reimplemented from FbxAnimCurveFilter.

bool GetApplyKeySyncFilter ( ) const

Return true if key sync filter is enabled.

void SetApplyKeySyncFilter ( bool  pFlag)

Set to true to enable key sync filter.

Parameters:
pFlagKey sync filter flag.

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

FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller
FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller FbxAnimCurveFilterGimbleKiller