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
#include <AnimationWBImp.h>
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) |
enum AnalyzeFunctions |
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.
[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.
[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.
[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.
[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. |
Get The results of any analysis.
[in] | node | The nodes which to get the results for. |
virtual void LoadAnalysisFile | ( | char * | filename | ) | [virtual] |
Load an analysis file.
[in] | filename | The full path and name of the file. If file doesn't exist, the function does nothing. |
Save the analysis file.
[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 | |||
) |