FBFCurve Class Reference

#include <fbdata.h>
FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve FBFCurve
Inheritance diagram for FBFCurve:
Inheritance graph
[legend]

List of all members.


Detailed Description

FCurve class.

Definition at line 274 of file fbdata.h.


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

FBPropertyListFCurveKey Keys

List: Keys.

Definition at line 361 of file fbdata.h.


Please send us your comments about this page.