Interface for perfoming workbench filter functions This class peforms workbench functions related to the filtering of fcurves.
Filter can occur without any previous analysis. You get this interface by calling GetCOREInterface(FILTER_INTERFACE)
#include <AnimationWBImp.h>
Public Types |
|
enum | FilterFunctions
{ doAngSmoothing = 0, doAngBlurring, doAngBoosting, doAdvAngSmoothing, doPosSmoothing, doPosBlurring, doPosBoosting, doKeyReduction, doKeyPerFrame, enablePosSubAnim, enableRotSubAnim, enableScaleSubAnim, collapsePosSubAnim, collapseRotSubAnim, createPosSubAnim, createRotSubAnim, createScaleSubAnim, doKneeWobbleFilter, doKneeExtensionFilter } |
Public Member Functions |
|
DECLARE_DESCRIPTOR (IFilter) | |
virtual void | DoAngSmoothing (Tab< INode * > &nodes, int width, float damping, Interval range) |
Perform Angular Smooth filtering on the
passed in biped nodes. |
|
virtual void | DoAngBlurring (Tab< INode * > &nodes, int width, float damping, Interval range) |
Perform Angular Blur filtering on the passed
in biped nodes. |
|
virtual void | DoAngBoosting (Tab< INode * > &nodes, int width, float damping, Interval range) |
Perform Angular Boost filtering on the
passed in biped nodes. |
|
virtual void | DoAdvAngSmoothing (Tab< INode * > &nodes, int width, float damping, Interval range) |
Perform Advanced Angular Smooth filtering on
the passed in biped nodes. |
|
virtual void | DoPosSmoothing (Tab< INode * > &nodes, int width, float damping, Interval range) |
Perform Position Smooth filtering on the
passed in biped nodes. |
|
virtual void | DoPosBlurring (Tab< INode * > &nodes, int width, float damping, Interval range) |
Perform Position Blur filtering on the
passed in biped nodes. |
|
virtual void | DoPosBoosting (Tab< INode * > &nodes, int width, float damping, Interval range) |
Perform Position Boost filtering on the
passed in biped nodes. |
|
virtual void | DoKeyReduction (Tab< INode * > &nodes, float tolerance, int keySpacing, float COMTolerance, float COMKeySpacing, Interval range) |
Perform Key Reduction filtering on the
passed in biped nodes. |
|
virtual void | DoKeyPerFrame (Tab< INode * > &nodes) |
Add a key per frame over the passsed in
nodes. |
|
virtual void | EnablePosSubAnim (Tab< INode * > &nodes, BOOL enable) |
Enable the Position Sub Anims for the passed
in nodes. |
|
virtual void | EnableRotSubAnim (Tab< INode * > &nodes, BOOL enable) |
Enable the Rotation Sub Anims for the passed
in nodes. |
|
virtual void | EnableScaleSubAnim (Tab< INode * > &nodes, BOOL enable) |
Enable the Scale Sub Anims for the passed in
nodes. |
|
virtual void | CollapsePosSubAnim (Tab< INode * > &nodes, BOOL perFrame, BOOL deleteSubAnim) |
Collapse the Position Sub Anims for the
passed in nodes. |
|
virtual void | CollapseRotSubAnim (Tab< INode * > &nodes, BOOL perFrame, BOOL deleteSubAnim) |
Collapse the Rotation Sub Anims for the
passed in nodes. |
|
virtual void | CreatePosSubAnim (Tab< INode * > &nodes, Control *toClone, BOOL checkIfOneExists) |
Create Position Sub Anims for the passed in
nodes based upon the passed in controller. |
|
virtual void | CreateRotSubAnim (Tab< INode * > &nodes, Control *toClone, BOOL checkIfOneExists) |
Create Rotation Sub Anims for the passed in
nodes based upon the passed in controller. |
|
virtual void | CreateScaleSubAnim (Tab< INode * > &nodes, Control *toClone, BOOL checkIfOneExists) |
Create Scale Sub Anims for the passed in
nodes based upon the passed in controller. |
|
virtual void | DoKneeWobbleFilter (Tab< INode * > &nodes, float frameThreshold, float fluctuationThreshold, Interval range) |
Perform Knee Wobble Filter. |
|
virtual void | DoKneeExtensionFilter (Tab< INode * > &nodes, float kneeAngle, Interval range) |
Perform Knee Extension Filter. |
|
BEGIN_FUNCTION_MAP | VFN_4 (doAngSmoothing, DoAngSmoothing, TYPE_INODE_TAB_BR, TYPE_INT, TYPE_FLOAT, TYPE_INTERVAL) |
VFN_4 (doAngBlurring, DoAngBlurring, TYPE_INODE_TAB_BR, TYPE_INT, TYPE_FLOAT, TYPE_INTERVAL) | |
VFN_4 (doAngBoosting, DoAngBoosting, TYPE_INODE_TAB_BR, TYPE_INT, TYPE_FLOAT, TYPE_INTERVAL) | |
VFN_4 (doAdvAngSmoothing, DoAdvAngSmoothing, TYPE_INODE_TAB_BR, TYPE_INT, TYPE_FLOAT, TYPE_INTERVAL) | |
VFN_4 (doPosSmoothing, DoPosSmoothing, TYPE_INODE_TAB_BR, TYPE_INT, TYPE_FLOAT, TYPE_INTERVAL) | |
VFN_4 (doPosBlurring, DoPosBlurring, TYPE_INODE_TAB_BR, TYPE_INT, TYPE_FLOAT, TYPE_INTERVAL) | |
VFN_4 (doPosBoosting, DoPosBoosting, TYPE_INODE_TAB_BR, TYPE_INT, TYPE_FLOAT, TYPE_INTERVAL) | |
VFN_6 (doKeyReduction, DoKeyReduction, TYPE_INODE_TAB_BR, TYPE_FLOAT, TYPE_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_INTERVAL) | |
VFN_1 (doKeyPerFrame, DoKeyPerFrame, TYPE_INODE_TAB_BR) | |
VFN_2 (enablePosSubAnim, EnablePosSubAnim, TYPE_INODE_TAB_BR, TYPE_BOOL) | |
VFN_2 (enableRotSubAnim, EnableRotSubAnim, TYPE_INODE_TAB_BR, TYPE_BOOL) | |
VFN_2 (enableScaleSubAnim, EnableScaleSubAnim, TYPE_INODE_TAB_BR, TYPE_BOOL) | |
VFN_3 (collapsePosSubAnim, CollapsePosSubAnim, TYPE_INODE_TAB_BR, TYPE_BOOL, TYPE_BOOL) | |
VFN_3 (collapseRotSubAnim, CollapseRotSubAnim, TYPE_INODE_TAB_BR, TYPE_BOOL, TYPE_BOOL) | |
VFN_3 (createPosSubAnim, CreatePosSubAnim, TYPE_INODE_TAB_BR, TYPE_CONTROL, TYPE_BOOL) | |
VFN_3 (createRotSubAnim, CreateRotSubAnim, TYPE_INODE_TAB_BR, TYPE_CONTROL, TYPE_BOOL) | |
VFN_3 (createScaleSubAnim, CreateScaleSubAnim, TYPE_INODE_TAB_BR, TYPE_CONTROL, TYPE_BOOL) | |
VFN_4 (doKneeWobbleFilter, DoKneeWobbleFilter, TYPE_INODE_TAB_BR, TYPE_FLOAT, TYPE_FLOAT, TYPE_INTERVAL) | |
VFN_3 (doKneeExtensionFilter, DoKneeExtensionFilter, TYPE_INODE_TAB_BR, TYPE_FLOAT, TYPE_INTERVAL) |
enum FilterFunctions |
{ doAngSmoothing = 0, doAngBlurring,doAngBoosting,doAdvAngSmoothing,doPosSmoothing, doPosBlurring,doPosBoosting,doKeyReduction,doKeyPerFrame, enablePosSubAnim,enableRotSubAnim,enableScaleSubAnim, collapsePosSubAnim,collapseRotSubAnim,createPosSubAnim,createRotSubAnim, createScaleSubAnim,doKneeWobbleFilter,doKneeExtensionFilter };
DECLARE_DESCRIPTOR | ( | IFilter | ) |
virtual void DoAngSmoothing | ( | Tab< INode * > & | nodes, |
int | width, | ||
float | damping, | ||
Interval | range | ||
) | [virtual] |
Perform Angular Smooth filtering on the passed in biped nodes.
[in] | nodes | The nodes which to filter. |
[in] | width | How many frames to do the filtering over. |
[in] | damping | Damping value. |
[in] | range | Range over to perform the filter. |
virtual void DoAngBlurring | ( | Tab< INode * > & | nodes, |
int | width, | ||
float | damping, | ||
Interval | range | ||
) | [virtual] |
Perform Angular Blur filtering on the passed in biped nodes.
[in] | nodes | The nodes which to filter. |
[in] | width | How many frames to do the filtering over. |
[in] | damping | Damping value. |
[in] | range | Range over to perform the filter. |
virtual void DoAngBoosting | ( | Tab< INode * > & | nodes, |
int | width, | ||
float | damping, | ||
Interval | range | ||
) | [virtual] |
Perform Angular Boost filtering on the passed in biped nodes.
[in] | nodes | The nodes which to filter. |
[in] | width | How many frames to do the filtering over. |
[in] | damping | Damping value. |
[in] | range | Range over to perform the filter. |
virtual void DoAdvAngSmoothing | ( | Tab< INode * > & | nodes, |
int | width, | ||
float | damping, | ||
Interval | range | ||
) | [virtual] |
Perform Advanced Angular Smooth filtering on the passed in biped nodes.
[in] | nodes | The nodes which to filter. |
[in] | width | How many frames to do the filtering over. |
[in] | damping | Damping value. |
[in] | range | Range over to perform the filter. |
virtual void DoPosSmoothing | ( | Tab< INode * > & | nodes, |
int | width, | ||
float | damping, | ||
Interval | range | ||
) | [virtual] |
Perform Position Smooth filtering on the passed in biped nodes.
[in] | nodes | The nodes which to filter. |
[in] | width | How many frames to do the filtering over. |
[in] | damping | Damping value. |
[in] | range | -Range over to perform the filter. |
virtual void DoPosBlurring | ( | Tab< INode * > & | nodes, |
int | width, | ||
float | damping, | ||
Interval | range | ||
) | [virtual] |
Perform Position Blur filtering on the passed in biped nodes.
[in] | nodes | The nodes which to filter. |
[in] | width | How many frames to do the filtering over. |
[in] | damping | Damping value. |
[in] | range | Range over to perform the filter. |
virtual void DoPosBoosting | ( | Tab< INode * > & | nodes, |
int | width, | ||
float | damping, | ||
Interval | range | ||
) | [virtual] |
Perform Position Boost filtering on the passed in biped nodes.
[in] | nodes | The nodes which to filter. |
[in] | width | How many frames to do the filtering over. |
[in] | damping | Damping value. |
[in] | range | Range over to perform the filter. |
virtual void DoKeyReduction | ( | Tab< INode * > & | nodes, |
float | tolerance, | ||
int | keySpacing, | ||
float | COMTolerance, | ||
float | COMKeySpacing, | ||
Interval | range | ||
) | [virtual] |
Perform Key Reduction filtering on the passed in biped nodes.
Similar to mocap key reduction
[in] | nodes | The nodes which to filter. |
[in] | tolerance | The maximun angle deviation for the non-COM(Center Of Mass) curves. |
[in] | keySpacing | Minimum key spacing. |
[in] | COMTolerance | Maximum position deviation for the COM(Center of Mass, the biped root) curves. |
[in] | COMKeySpacing | Minimum key spacing for the COM(Center Of Mass,the biped root) curves. |
[in] | range | Range over to perform the filter. |
Add a key per frame over the passsed in nodes.
[in] | nodes | The nodes which to filter. |
Enable the Position Sub Anims for the passed in nodes.
[in] | nodes | The nodes which to enable. |
[in] | enable | TRUE - enable, FALSE - disable. |
Enable the Rotation Sub Anims for the passed in nodes.
[in] | nodes | The nodes which to enable. |
[in] | enable | TRUE - enable, FALSE - disable. |
Enable the Scale Sub Anims for the passed in nodes.
[in] | nodes | The nodes which to enable. |
[in] | enable | TRUE - enable, FALSE - disable. |
virtual void CollapsePosSubAnim | ( | Tab< INode * > & | nodes, |
BOOL | perFrame, | ||
BOOL | deleteSubAnim | ||
) | [virtual] |
Collapse the Position Sub Anims for the passed in nodes.
[in] | nodes | The nodes which to collapse. |
[in] | perFrame | TRUE - create a key per frame on the biped, FALSE - only create keys where the subanim had keys |
[in] | deleteSubAnim | TRUE - delete the subnim, FALSE - leave the subanim with a weight of 0 in the list. |
virtual void CollapseRotSubAnim | ( | Tab< INode * > & | nodes, |
BOOL | perFrame, | ||
BOOL | deleteSubAnim | ||
) | [virtual] |
Collapse the Rotation Sub Anims for the passed in nodes.
[in] | nodes | The nodes which to collapse. |
[in] | perFrame | TRUE - create a key per frame on the biped, FALSE - only create keys where the subanim had keys |
[in] | deleteSubAnim | TRUE - delete the subnim, FALSE - leave the subanim with a weight of 0 in the list. |
virtual void CreatePosSubAnim | ( | Tab< INode * > & | nodes, |
Control * | toClone, | ||
BOOL | checkIfOneExists | ||
) | [virtual] |
Create Position Sub Anims for the passed in nodes based upon the passed in controller.
[in] | nodes | The nodes which to create subanims on. |
[in] | toClone | The control to clone. |
[in] | checkIfOneExists | 1 - check if one exists of the same class as toClone, if so don't create 0 - always create it. |
virtual void CreateRotSubAnim | ( | Tab< INode * > & | nodes, |
Control * | toClone, | ||
BOOL | checkIfOneExists | ||
) | [virtual] |
Create Rotation Sub Anims for the passed in nodes based upon the passed in controller.
[in] | nodes | The nodes which to create subanims on. |
[in] | toClone | The control to clone. |
[in] | checkIfOneExists | TRUE - check if a control of the same class as toClone exists, if so don't create, FALSE - always create it. |
virtual void CreateScaleSubAnim | ( | Tab< INode * > & | nodes, |
Control * | toClone, | ||
BOOL | checkIfOneExists | ||
) | [virtual] |
Create Scale Sub Anims for the passed in nodes based upon the passed in controller.
[in] | nodes | The nodes which to create subanims on. |
[in] | toClone | The control to clone. |
[in] | checkIfOneExists | TRUE - check if a control of the same class as toClone exists, if so don't create, FALSE - always create it. |
virtual void DoKneeWobbleFilter | ( | Tab< INode * > & | nodes, |
float | frameThreshold, | ||
float | fluctuationThreshold, | ||
Interval | range | ||
) | [virtual] |
Perform Knee Wobble Filter.
[in] | nodes | The nodes which to filter. Only works on biped knee nodes. |
[in] | frameThreshold | How much time, in terms of frames, that the calculation will use to check for the wobble. |
[in] | fluctuationThreshold | How much deviation will that will trigger a detection. In degrees, from 0 to 360. |
[in] | range | Range over to perform the filter. |
virtual void DoKneeExtensionFilter | ( | Tab< INode * > & | nodes, |
float | kneeAngle, | ||
Interval | range | ||
) | [virtual] |
Perform Knee Extension Filter.
[in] | nodes | The nodes which to filter. Only works on biped knee nodes. |
[in] | kneeAngle | How much knee bend beyond to look for. In degrees from 0 to 360. |
[in] | range | Interval over which to do the search. |
BEGIN_FUNCTION_MAP VFN_4 | ( | doAngSmoothing | , |
DoAngSmoothing | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_INT | , | ||
TYPE_FLOAT | , | ||
TYPE_INTERVAL | |||
) |
VFN_4 | ( | doAngBlurring | , |
DoAngBlurring | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_INT | , | ||
TYPE_FLOAT | , | ||
TYPE_INTERVAL | |||
) |
VFN_4 | ( | doAngBoosting | , |
DoAngBoosting | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_INT | , | ||
TYPE_FLOAT | , | ||
TYPE_INTERVAL | |||
) |
VFN_4 | ( | doAdvAngSmoothing | , |
DoAdvAngSmoothing | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_INT | , | ||
TYPE_FLOAT | , | ||
TYPE_INTERVAL | |||
) |
VFN_4 | ( | doPosSmoothing | , |
DoPosSmoothing | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_INT | , | ||
TYPE_FLOAT | , | ||
TYPE_INTERVAL | |||
) |
VFN_4 | ( | doPosBlurring | , |
DoPosBlurring | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_INT | , | ||
TYPE_FLOAT | , | ||
TYPE_INTERVAL | |||
) |
VFN_4 | ( | doPosBoosting | , |
DoPosBoosting | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_INT | , | ||
TYPE_FLOAT | , | ||
TYPE_INTERVAL | |||
) |
VFN_6 | ( | doKeyReduction | , |
DoKeyReduction | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_FLOAT | , | ||
TYPE_INT | , | ||
TYPE_FLOAT | , | ||
TYPE_FLOAT | , | ||
TYPE_INTERVAL | |||
) |
VFN_1 | ( | doKeyPerFrame | , |
DoKeyPerFrame | , | ||
TYPE_INODE_TAB_BR | |||
) |
VFN_2 | ( | enablePosSubAnim | , |
EnablePosSubAnim | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_BOOL | |||
) |
VFN_2 | ( | enableRotSubAnim | , |
EnableRotSubAnim | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_BOOL | |||
) |
VFN_2 | ( | enableScaleSubAnim | , |
EnableScaleSubAnim | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_BOOL | |||
) |
VFN_3 | ( | collapsePosSubAnim | , |
CollapsePosSubAnim | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_BOOL | , | ||
TYPE_BOOL | |||
) |
VFN_3 | ( | collapseRotSubAnim | , |
CollapseRotSubAnim | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_BOOL | , | ||
TYPE_BOOL | |||
) |
VFN_3 | ( | createPosSubAnim | , |
CreatePosSubAnim | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_CONTROL | , | ||
TYPE_BOOL | |||
) |
VFN_3 | ( | createRotSubAnim | , |
CreateRotSubAnim | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_CONTROL | , | ||
TYPE_BOOL | |||
) |
VFN_3 | ( | createScaleSubAnim | , |
CreateScaleSubAnim | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_CONTROL | , | ||
TYPE_BOOL | |||
) |
VFN_4 | ( | doKneeWobbleFilter | , |
DoKneeWobbleFilter | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_FLOAT | , | ||
TYPE_FLOAT | , | ||
TYPE_INTERVAL | |||
) |
VFN_3 | ( | doKneeExtensionFilter | , |
DoKneeExtensionFilter | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_FLOAT | , | ||
TYPE_INTERVAL | |||
) |