Public Types | Public Member Functions

IFilter Class Reference

Search for all occurrences

Detailed Description

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)

See also:
IWorkbench

#include <AnimationWBImp.h>

Inheritance diagram for IFilter:
Inheritance graph
[legend]

List of all members.

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)

Member Enumeration Documentation


Member Function Documentation

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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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

Parameters:
[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.
virtual void DoKeyPerFrame ( Tab< INode * > &  nodes ) [virtual]

Add a key per frame over the passsed in nodes.

Parameters:
[in] nodes The nodes which to filter.
virtual void EnablePosSubAnim ( Tab< INode * > &  nodes,
BOOL  enable 
) [virtual]

Enable the Position Sub Anims for the passed in nodes.

Parameters:
[in] nodes The nodes which to enable.
[in] enable TRUE - enable, FALSE - disable.
virtual void EnableRotSubAnim ( Tab< INode * > &  nodes,
BOOL  enable 
) [virtual]

Enable the Rotation Sub Anims for the passed in nodes.

Parameters:
[in] nodes The nodes which to enable.
[in] enable TRUE - enable, FALSE - disable.
virtual void EnableScaleSubAnim ( Tab< INode * > &  nodes,
BOOL  enable 
) [virtual]

Enable the Scale Sub Anims for the passed in nodes.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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   
)

IFilter IFilter IFilter IFilter IFilter IFilter IFilter IFilter IFilter IFilter
IFilter IFilter IFilter IFilter IFilter IFilter IFilter IFilter IFilter IFilter