Public Member Functions

KFbxAnimCurveFilterGimbleKiller 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.
This filter has been superseded by the Unroll filter. It is strongly advised to use the latter.

Definition at line 410 of file kfbxanimcurvefilters.h.

#include <kfbxanimcurvefilters.h>

Inheritance diagram for KFbxAnimCurveFilterGimbleKiller:
Inheritance graph
[legend]

List of all members.

Public Member Functions

  KFbxAnimCurveFilterGimbleKiller ()
  Constructor.
virtual  ~KFbxAnimCurveFilterGimbleKiller ()
  Destructor.
virtual const char *  GetName () const
  Get the name of the filter.
virtual bool  NeedApply (KFbxAnimStack *pAnimStack)
  This filter expects to works with 3 interdependent curves.
virtual bool  NeedApply (KFbxObject *pObj, KFbxAnimStack *pAnimStack)
  This filter expects to works with 3 interdependent curves.
virtual bool  NeedApply (KFbxAnimCurveNode &pCurveNode)
  Check if the animation curve node needs an application of the filter.
virtual bool  NeedApply (KFbxAnimCurve **pCurve, int pCount)
  Check if the given animation curve need an application of the filter.
virtual bool  NeedApply (KFbxAnimCurve &pCurve)
  This filter expects to works with interdependent curves.
virtual bool  Apply (KFbxAnimStack *pAnimStack)
  This filter expects to works with 3 interdependent curves.
virtual bool  Apply (KFbxObject *pObj, KFbxAnimStack *pAnimStack)
  This filter expects to works with 3 interdependent curves.
virtual bool  Apply (KFbxAnimCurveNode &pCurveNode)
  Apply filter on all the curves of an animation curve node.
virtual bool  Apply (KFbxAnimCurve **pCurve, int pCount)
  Apply filter on the given animation curve.
virtual bool  Apply (KFbxAnimCurve &pCurve)
  This filter expects to works 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 ~KFbxAnimCurveFilterGimbleKiller ( ) [virtual]

Destructor.


Member Function Documentation

virtual const char* GetName ( ) const [virtual]

Get the name of the filter.

Returns:
Pointer to name.

Reimplemented from KFbxAnimCurveFilter.

virtual bool NeedApply ( KFbxAnimStack pAnimStack ) [inline, virtual]

This filter expects to works with 3 interdependent curves.

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

Parameters:
pAnimStack Animation stack
Returns:
false.

Reimplemented from KFbxAnimCurveFilter.

Definition at line 429 of file kfbxanimcurvefilters.h.

{ return false; }
virtual bool NeedApply ( KFbxObject pObj,
KFbxAnimStack pAnimStack 
) [inline, virtual]

This filter expects to works 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:
pObj Object containing the properties to test.
pAnimStack Animation stack where to retrieve the animation curves
Returns:
false

Reimplemented from KFbxAnimCurveFilter.

Definition at line 437 of file kfbxanimcurvefilters.h.

{ return false; }
virtual bool NeedApply ( KFbxAnimCurveNode pCurveNode ) [virtual]

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

Parameters:
pCurveNode Curve node to test.
Returns:
true if the animation curve node needs an application of the filter.
Remarks:
This method checks that th pCurveNode is representing a Rotation (either EULER or Quaternion). Depending on the type, it will validated that the correct number of animation curves are defined. If all the conditions are not met, the method will return false.

Reimplemented from KFbxAnimCurveFilter.

virtual bool NeedApply ( KFbxAnimCurve **  pCurve,
int  pCount 
) [virtual]

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

Parameters:
pCurve Array of curves to test if they need the and application of the filter.
pCount Number of curves in array.
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 KFbxAnimCurveFilter.

virtual bool NeedApply ( KFbxAnimCurve pCurve ) [inline, virtual]

This filter expects to works with interdependent curves.

Receiving one single curve is useless.

Returns:
false

Reimplemented from KFbxAnimCurveFilter.

Definition at line 462 of file kfbxanimcurvefilters.h.

{ return false; }
virtual bool Apply ( KFbxAnimStack pAnimStack ) [inline, virtual]

This filter expects to works with 3 interdependent curves.

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

Parameters:
pAnimStack Animation stack
Returns:
false.

Reimplemented from KFbxAnimCurveFilter.

Definition at line 469 of file kfbxanimcurvefilters.h.

{ return false; }
virtual bool Apply ( KFbxObject pObj,
KFbxAnimStack pAnimStack 
) [inline, virtual]

This filter expects to works 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:
pObj Object containing the properties to test.
pAnimStack Animation stack where to retrieve the animation curves
Returns:
false

Reimplemented from KFbxAnimCurveFilter.

Definition at line 477 of file kfbxanimcurvefilters.h.

{ return false; }
virtual bool Apply ( KFbxAnimCurveNode pCurveNode ) [virtual]

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

Parameters:
pCurveNode Curve node to which the filter is applied.
Returns:
true if the curve filtering operation was successful, false otherwise.
Remarks:
This method collects all the KFbxAnimCurve objects connected to the curve node and calls Apply(KFbxAnimCurve**, int)

Reimplemented from KFbxAnimCurveFilter.

virtual bool Apply ( KFbxAnimCurve **  pCurve,
int  pCount 
) [virtual]

Apply filter on the given animation curve.

Parameters:
pCurve Array of curve to which the filter is applied.
pCount Number of curves in array.
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 KFbxAnimCurveFilter.

virtual bool Apply ( KFbxAnimCurve pCurve ) [inline, virtual]

This filter expects to works with interdependent curves.

Receiving one single curve is useless.

Returns:
false

Implements KFbxAnimCurveFilter.

Definition at line 500 of file kfbxanimcurvefilters.h.

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

Reset the filter to its default parameters.

Reimplemented from KFbxAnimCurveFilter.

bool GetApplyKeySyncFilter ( ) const

Return true if key sync filter is enabled.

void SetApplyKeySyncFilter ( bool  pFlag )

Set to true to enable key sync filter.

Parameters:
pFlag Key sync filter flag.

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

KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller
KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller KFbxAnimCurveFilterGimbleKiller