Public Types | Public Member Functions

IAnalyzer Class Reference

Search for all occurrences

Detailed Description

Interface for perfoming workbench analysis functions.

This class peforms workbench functions related to analysis of biped fcurves. After analysis, a user may want to perform fixing

See also:
IFixer. You get this interface by calling GetCOREInterface(ANALYZER_INTERFACE)
IWorkbench

#include <AnimationWBImp.h>

Inheritance diagram for IAnalyzer:
Inheritance graph
[legend]

List of all members.

Public Types

enum   AnalyzeFunctions {
  doNoiseDetectorAnalysis = 0, doSpikeDetectorAnalysis, getResults, loadAnalysisFile,
  saveAnalysisFile, clearAnalysisResults, doKneeWobbleAnalysis, doKneeExtensionAnalysis
}

Public Member Functions

  DECLARE_DESCRIPTOR (IAnalyzer)
virtual void  DoNoiseDetectorAnalysis (Tab< INode * > &nodesToAnalyze, Interval range, float deviation, BOOL angular, int noiseType, INode *pNode)
  Perform Noise Detection on the passed in biped nodes.
virtual void  DoSpikeDetectorAnalysis (Tab< INode * > &nodesToAnalyze, Interval range, float deviation)
  Perform Spike Detection on the passed in biped nodes.
virtual void  DoKneeWobbleAnalysis (Tab< INode * > &nodesToAnalyze, Interval range, float frameThreshold, float fluctuationThreshold)
  Perform Knee Wobble on the passed in biped nodes.
virtual void  DoKneeExtensionAnalysis (Tab< INode * > &nodesToAnalyze, Interval range, float kneeAngle)
  Perform Knee Extenstion detection on the passed in biped nodes.
virtual Tab< TimeValue >  GetResults (INode *node)
  Get The results of any analysis.
virtual void  LoadAnalysisFile (char *filename)
  Load an analysis file.
virtual void  SaveAnalysisFile (Tab< INode * > &nodes, char *filename)
  Save the analysis file.
virtual void  ClearAnalysisResults ()
  Clear all of the analysis results. Does so for every node.
BEGIN_FUNCTION_MAP  VFN_6 (doNoiseDetectorAnalysis, DoNoiseDetectorAnalysis, TYPE_INODE_TAB_BR, TYPE_INTERVAL, TYPE_FLOAT, TYPE_BOOL, TYPE_INT, TYPE_INODE)
  VFN_3 (doSpikeDetectorAnalysis, DoSpikeDetectorAnalysis, TYPE_INODE_TAB_BR, TYPE_INTERVAL, TYPE_FLOAT)
  FN_1 (getResults, TYPE_TIMEVALUE_TAB_BV, GetResults, TYPE_INODE)
  VFN_1 (loadAnalysisFile, LoadAnalysisFile, TYPE_FILENAME)
  VFN_2 (saveAnalysisFile, SaveAnalysisFile, TYPE_INODE_TAB_BR, TYPE_FILENAME)
  VFN_0 (clearAnalysisResults, ClearAnalysisResults)
  VFN_4 (doKneeWobbleAnalysis, DoKneeWobbleAnalysis, TYPE_INODE_TAB_BR, TYPE_INTERVAL, TYPE_FLOAT, TYPE_FLOAT)
  VFN_3 (doKneeExtensionAnalysis, DoKneeExtensionAnalysis, TYPE_INODE_TAB_BR, TYPE_INTERVAL, TYPE_FLOAT)

Member Enumeration Documentation


Member Function Documentation

DECLARE_DESCRIPTOR ( IAnalyzer  )
virtual void DoNoiseDetectorAnalysis ( Tab< INode * > &  nodesToAnalyze,
Interval  range,
float  deviation,
BOOL  angular,
int  noiseType,
INode pNode 
) [virtual]

Perform Noise Detection on the passed in biped nodes.

Parameters:
[in] nodesToAnalyze The nodes which to anlyze.
[in] range Interval over which to do the search.
[in] deviation Percentage from the curves standard deviation that will trigger a detection.
[in] angular Perform it on the angular or position changes.
[in] noiseType 0 is speed, 1 is acceleration, 2 is jerk.
[in] pNode Only valid for calculating position noise detection, the angular param is false. This is the parent from which the positions will be calculated related to. If NULL, then it will use the world as the parent.
virtual void DoSpikeDetectorAnalysis ( Tab< INode * > &  nodesToAnalyze,
Interval  range,
float  deviation 
) [virtual]

Perform Spike Detection on the passed in biped nodes.

Parameters:
[in] nodesToAnalyze - The nodes which to anlyze.
[in] range - Interval over which to do the search.
[in] deviation - Percentage from the curves standard deviation that will trigger a detection.
virtual void DoKneeWobbleAnalysis ( Tab< INode * > &  nodesToAnalyze,
Interval  range,
float  frameThreshold,
float  fluctuationThreshold 
) [virtual]

Perform Knee Wobble on the passed in biped nodes.

Parameters:
[in] nodesToAnalyze The nodes which to anlyze. Only works on biped knee nodes. Does nothing for non-biped non-knee nodes.
[in] range Interval over which to do the search.
[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.
virtual void DoKneeExtensionAnalysis ( Tab< INode * > &  nodesToAnalyze,
Interval  range,
float  kneeAngle 
) [virtual]

Perform Knee Extenstion detection on the passed in biped nodes.

Parameters:
[in] nodesToAnalyze The nodes which to anlyze. Only works on biped knee nodes.
[in] range Interval over which to do the search.
[in] kneeAngle How much knee bend beyond to look for. In degrees from 0 to 360.
virtual Tab<TimeValue > GetResults ( INode node ) [virtual]

Get The results of any analysis.

Parameters:
[in] node The nodes which to get the results for.
Returns:
The times where the most recent analysis returned true.
virtual void LoadAnalysisFile ( char *  filename ) [virtual]

Load an analysis file.

Parameters:
[in] filename The full path and name of the file. If file doesn't exist, the function does nothing.
virtual void SaveAnalysisFile ( Tab< INode * > &  nodes,
char *  filename 
) [virtual]

Save the analysis file.

Parameters:
[in] nodes Save the current analysis on these nodes
[in] filename The full path and name of the file. Creates the file if it doesn't exists.
virtual void ClearAnalysisResults ( ) [virtual]

Clear all of the analysis results. Does so for every node.

BEGIN_FUNCTION_MAP VFN_6 ( doNoiseDetectorAnalysis  ,
DoNoiseDetectorAnalysis  ,
TYPE_INODE_TAB_BR  ,
TYPE_INTERVAL  ,
TYPE_FLOAT  ,
TYPE_BOOL  ,
TYPE_INT  ,
TYPE_INODE   
)
VFN_3 ( doSpikeDetectorAnalysis  ,
DoSpikeDetectorAnalysis  ,
TYPE_INODE_TAB_BR  ,
TYPE_INTERVAL  ,
TYPE_FLOAT   
)
FN_1 ( getResults  ,
TYPE_TIMEVALUE_TAB_BV  ,
GetResults  ,
TYPE_INODE   
)
VFN_1 ( loadAnalysisFile  ,
LoadAnalysisFile  ,
TYPE_FILENAME   
)
VFN_2 ( saveAnalysisFile  ,
SaveAnalysisFile  ,
TYPE_INODE_TAB_BR  ,
TYPE_FILENAME   
)
VFN_0 ( clearAnalysisResults  ,
ClearAnalysisResults   
)
VFN_4 ( doKneeWobbleAnalysis  ,
DoKneeWobbleAnalysis  ,
TYPE_INODE_TAB_BR  ,
TYPE_INTERVAL  ,
TYPE_FLOAT  ,
TYPE_FLOAT   
)
VFN_3 ( doKneeExtensionAnalysis  ,
DoKneeExtensionAnalysis  ,
TYPE_INODE_TAB_BR  ,
TYPE_INTERVAL  ,
TYPE_FLOAT   
)

IAnalyzer IAnalyzer IAnalyzer IAnalyzer IAnalyzer IAnalyzer IAnalyzer IAnalyzer IAnalyzer IAnalyzer
IAnalyzer IAnalyzer IAnalyzer IAnalyzer IAnalyzer IAnalyzer IAnalyzer IAnalyzer IAnalyzer IAnalyzer