Public Member Functions | Static Public Member Functions | Public Attributes

FBFCurve Class Reference

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


Search for all occurrences

Detailed Description

FCurve class.

Definition at line 274 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)
  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  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 FBFCurve CreateInterpolatorCurve (FBInterpolatorCurveType pCurveType)
  Create and interpolator curve.

Public Attributes

FBPropertyListFCurveKey  Keys
  List: Keys.

Constructor & Destructor Documentation

FBFCurve ( HIObject  pObject = NULL )

Constructor.

Parameters:
pObject For 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:
pTime Time 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:
pKeyCount Key to begin adding at(default is -1).
void EditEnd ( int  pKeyCount = -1 )

End key adding sequence.

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

Empty FCurve of all keys.

int KeyAdd ( FBTime pTime,
double  pValue 
)

Add a key at the specified time.

Parameters:
pTime Time at which to insert the key.
pValue Value of the key.
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:
pIndex Index of the key to remove.
Returns:
If the removal was succesful 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:
pStartIndex Index of first deleted key.
pStopIndex Index 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:
pStart Start of time range.
pStop End of time range.
pInclusive Time 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:
pTime Time at which the key is to be inserted.
pInterpolation Interpolation type of the inserted key.
pTangentMode Tangent calculation method of the inserted key.
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.

Parameters:
pSource Source function curve.
pStart Start of time range.
pStop End of time range.
pUseExactGivenSpan When false, the time of the first and last key in the range will be used.
pKeyStartEndOnNoKey When 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:
pCurveType Interpolator curve type to create.

Member Data Documentation

List: Keys.

Definition at line 361 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