Public Member Functions | Static Public Member Functions | Public Attributes

FBFCurve Class Reference

This reference page is linked to from the following overview topics: MotionBuilder 2014, Animation.


Search for all occurrences

Detailed Description

FCurve class.

Definition at line 277 of file fbdata.h.

#include <fbdata.h>

Inheritance diagram for FBFCurve:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 FBFCurve (HIObject pObject=NULL)
 Constructor.
virtual void FBDelete () override
 Virtual FBDelete function.
float Evaluate (FBTime &pTime)
 Evaluate FCurve at pTime.
void EditBegin (int pKeyCount=-1)
 Setup function to begin adding keys.
void EditEnd (int pKeyCount=-1)
 End key adding sequence.
void EditClear ()
 Empty FCurve of all keys.
int KeyAdd (FBTime &pTime, double pValue, FBInterpolation pInterpolation=kFBInterpolationCubic, FBTangentMode pTangentMode=kFBTangentModeAuto)
 Add a key at the specified time.
bool KeyRemove (int pIndex)
 Remove key at index.
bool KeyDelete (int pStartIndex, int pStopIndex)
 Delete keys within an index range.
bool KeyDelete (FBTime pStart=FBTime::MinusInfinity, FBTime pStop=FBTime::Infinity, bool pInclusive=false)
 Delete keys within a time range.
void KeyInsert (FBTime &pTime, FBInterpolation pInterpolation=kFBInterpolationCubic, FBTangentMode pTangentMode=kFBTangentModeAuto)
 Insert a key without affecting the curve shape.
void KeyReplaceBy (FBFCurve &pSource, FBTime pStart=FBTime::MinusInfinity, FBTime pStop=FBTime::Infinity, bool pUseExactGivenSpan=false, bool pKeyStartEndOnNoKey=true)
 Replace keys within a range in current function curve with keys found in a source function curve.
K_DEPRECATED_2014 void Replace (FBFCurve &pSource, FBTime pStart=FBTime::MinusInfinity, FBTime pStop=FBTime::Infinity, bool pUseExactGivenSpan=false, bool pKeyStartEndOnNoKey=true)
 Replace keys within a range in current function curve with keys found in a source function curve.

Static Public Member Functions

static FBFCurveCreateInterpolatorCurve (FBInterpolatorCurveType pCurveType)
 Create and interpolator curve.

Public Attributes

FBPropertyListFCurveKey Keys
 List: Keys.

Constructor & Destructor Documentation

FBFCurve ( HIObject  pObject = NULL)

Constructor.

Parameters:
pObjectFor internal use only (default is NULL).

Member Function Documentation

virtual void FBDelete ( ) [override, virtual]

Virtual FBDelete function.

Reimplemented from FBComponent.

float Evaluate ( FBTime pTime)

Evaluate FCurve at pTime.

Parameters:
pTimeTime at which FCurve is to be evaluated.
Returns:
Value of FCurve at pTime.
void EditBegin ( int  pKeyCount = -1)

Setup function to begin adding keys.

Parameters:
pKeyCountKey to begin adding at(default is -1).
void EditEnd ( int  pKeyCount = -1)

End key adding sequence.

Parameters:
pKeyCountKey to finish adding at (default is -1).
void EditClear ( )

Empty FCurve of all keys.

int KeyAdd ( FBTime pTime,
double  pValue,
FBInterpolation  pInterpolation = kFBInterpolationCubic,
FBTangentMode  pTangentMode = kFBTangentModeAuto 
)

Add a key at the specified time.

Parameters:
pTimeTime at which to insert the key.
pValueValue of the key.
pInterpolationInterpolation type of the inserted key, default value is Cubic interpolation.
pTangentModeTangent calculation method of the inserted key, default value is Auto (Smooth).
Returns:
The position of the new key in the list of FCurve keys.
Warning:
Since there are no parameter to indicate the interpolation and tangent mode, the neighbor keys may be affected by the newly inserted key.
bool KeyRemove ( int  pIndex)

Remove key at index.

Parameters:
pIndexIndex of the key to remove.
Returns:
If the removal was successful or not.
bool KeyDelete ( int  pStartIndex,
int  pStopIndex 
)

Delete keys within an index range.

Index range is inclusive. This function is much faster than multiple removes.

Parameters:
pStartIndexIndex of first deleted key.
pStopIndexIndex of last deleted key.
Returns:
true if the function curve contains keys, false otherwise.
Remarks:
Result is undetermined if function curve has keys but an index is out of bounds.
bool KeyDelete ( FBTime  pStart = FBTime::MinusInfinity,
FBTime  pStop = FBTime::Infinity,
bool  pInclusive = false 
)

Delete keys within a time range.

This function is much faster than multiple removes.

Parameters:
pStartStart of time range.
pStopEnd of time range.
pInclusiveTime range include the keys at pStart and pStop if true.
Returns:
true if the function curve contains keys, false otherwise.
void KeyInsert ( FBTime pTime,
FBInterpolation  pInterpolation = kFBInterpolationCubic,
FBTangentMode  pTangentMode = kFBTangentModeAuto 
)

Insert a key without affecting the curve shape.

Parameters:
pTimeTime at which the key is to be inserted.
pInterpolationInterpolation type of the inserted key, default value is Cubic interpolation.
pTangentModeTangent calculation method of the inserted key, default value is Auto (Smooth).
void KeyReplaceBy ( FBFCurve pSource,
FBTime  pStart = FBTime::MinusInfinity,
FBTime  pStop = FBTime::Infinity,
bool  pUseExactGivenSpan = false,
bool  pKeyStartEndOnNoKey = true 
)

Replace keys within a range in current function curve with keys found in a source function curve.

Parameters:
pSourceSource function curve.
pStartStart of time range.
pStopEnd of time range.
pUseExactGivenSpanWhen false, the time of the first and last key in the range will be used.
pKeyStartEndOnNoKeyWhen true, inserts a key at the beginning and at the end of the range if there is no key to insert.
K_DEPRECATED_2014 void Replace ( FBFCurve pSource,
FBTime  pStart = FBTime::MinusInfinity,
FBTime  pStop = FBTime::Infinity,
bool  pUseExactGivenSpan = false,
bool  pKeyStartEndOnNoKey = true 
)

Replace keys within a range in current function curve with keys found in a source function curve.

Deprecated:
Deprecate as of 2014 version for naming consistency, use KeyReplaceBy instead.
Parameters:
pSourceSource function curve.
pStartStart of time range.
pStopEnd of time range.
pUseExactGivenSpanWhen false, the time of the first and last key in the range will be used.
pKeyStartEndOnNoKeyWhen true, inserts a key at the beginning and at the end of the range if there is no key to insert.
static FBFCurve* CreateInterpolatorCurve ( FBInterpolatorCurveType  pCurveType) [static]

Create and interpolator curve.

Parameters:
pCurveTypeInterpolator curve type to create.

Member Data Documentation

List: Keys.

Definition at line 376 of file fbdata.h.


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

FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve
FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve