# FCurveKey Class Reference

Related Scripting Object: FCurveKey

This class represents a key on a function curve (FCurve). More...

`#include <xsi_fcurvekey.h>`

Inheritance diagram for FCurveKey:

List of all members.

## Public Member Functions
| FCurveKey ()
| ~FCurveKey ()
| FCurveKey (const CRef &in_ref)
| FCurveKey (const FCurveKey &in_obj)
bool | IsA (siClassID in_ClassID) const
siClassID | GetClassID () const
FCurveKey & | operator= (const FCurveKey &in_obj)
FCurveKey & | operator= (const CRef &in_ref)
CValue::DataType | GetValueType () const
CValue | GetValue (void) const
CStatus | PutValue (const CValue &in_value)
CTime | GetTime (void) const
CStatus | PutTime (const CTime &in_time)
bool | GetLocked (void) const
CStatus | PutLocked (bool in_bFlag)
bool | GetSelected (void) const
CValue | GetLeft () const
CStatus | PutLeft (const CValue &in_value)
CValue | GetRight (void) const
CStatus | PutRight (const CValue &in_value)
double | GetLeftTanY (void) const
CStatus | PutLeftTanY (double in_value)
double | GetRightTanY (void) const
CStatus | PutRightTanY (double in_value)
CTime | GetLeftTanX (void) const
CStatus | PutLeftTanX (const CTime &in_value)
CTime | GetRightTanX (void) const
CStatus | PutRightTanX (const CTime &in_value)
siFCurveKeyInterpolation | GetInterpolation (void) const
CStatus | PutInterpolation (siFCurveKeyInterpolation in_value)
bool | GetConstraint (siFCurveKeyConstraint in_eKC) const
CStatus | PutConstraint (siFCurveKeyConstraint in_eKC, bool in_bSet)
CStatus | Set (const CTime &in_frame, const CValue &in_value, bool in_overridekeylock=false)
LONG | GetIndex (void) const

## Detailed Description

This class represents a key on a function curve (FCurve).

See also:
  FCurve, FCurve::SetKeys, FCurve::GetKeys, About FCurves

Example:

              using namespace XSI;
              Application app;
              Model root = app.GetActiveSceneRoot();

              Null myNull;
              root.AddNull( L"", myNull );
              Parameter posx( myNull.GetParameter( L"posx" ) );

              // create and connect an function curve to the position x
              FCurve fcrv;
              posx.AddFCurve( siUnknownFCurve, fcrv );

              // set the keys
              LONG i = 0;
              CTimeArray timeArray(3);
              CValueArray valueArray(3);

              timeArray[i] = 1;   valueArray[i] = (double)10; i++;
              timeArray[i] = 50;  valueArray[i] = (double)0; i++;
              timeArray[i] = 100; valueArray[i] = (double)10; i++;

              fcrv.SetKeys(timeArray,valueArray);

              // set the zero slopes on the key tangents
              CDoubleArray tangentsArray(12);
              i=0;
              tangentsArray[i++]=-10.5; tangentsArray[i++]=0; tangentsArray[i++]=10.5; tangentsArray[i++] = 0;
              tangentsArray[i++]=-10.5; tangentsArray[i++]=0; tangentsArray[i++]=10.5; tangentsArray[i++] = 0;
              tangentsArray[i++]=-10.5; tangentsArray[i++]=0; tangentsArray[i++]=10.5; tangentsArray[i++] = 0;

              fcrv.SetKeyTangents( tangentsArray );

## Constructor & Destructor Documentation

FCurveKey | ( |  | ) |

Default constructor.

~FCurveKey | ( |  | ) |

Default destructor.

FCurveKey | ( | const CRef & | in_ref | ) |

Constructor.

Parameters:

  | in_ref | constant reference object.

FCurveKey | ( | const FCurveKey & | in_obj | ) |

Copy constructor.

Parameters:

  | in_obj | constant class object.

## Member Function Documentation

bool IsA | ( | siClassID | in_ClassID | ) | const`[virtual]`

Returns true if a given class type is compatible with this API class.

Parameters:

  | in_ClassID | class type.

Returns:
  true if the class is compatible, false otherwise.

Reimplemented from SIObject.

siClassID GetClassID | ( |  | ) | const`[virtual]`

Returns the type of the API class.

Returns:
  The class type.

Reimplemented from SIObject.

FCurveKey& operator= | ( | const FCurveKey & | in_obj | ) |

Creates an object from another object. The newly created object is set to empty if the input object is not compatible.

Parameters:

  | in_obj | constant class object.

Returns:
  The new FCurveKey object.

FCurveKey& operator= | ( | const CRef & | in_ref | ) |

Creates an object from a reference object. The newly created object is set to empty if the input reference object is not compatible.

Parameters:

  | in_ref | constant class object.

Returns:
  The new FCurveKey object.

Reimplemented from SIObject.

CValue::DataType GetValueType | ( |  | ) | const

Returns the value type of the function curve key.

Returns:
  The type of the fcurve key's value.

CValue GetValue | ( | void |  | ) | const

Returns the value of the function curve key.

Returns:
  The fcurve key's value.

CStatus PutValue | ( | const CValue & | in_value | ) |

Sets the value of the function curve key.

Parameters:

  | in_value | Function curve key value

Returns:
  CStatus::OK success

  CStatus::Fail failure

CTime GetTime | ( | void |  | ) | const

Returns the key frame for the function curve key.

Returns:
  The FCurveKey time.

CStatus PutTime | ( | const CTime & | in_time | ) |

Sets the frame for the function curve key.

Parameters:

  | in_time | Function curve key frame

Returns:
  CStatus::OK success

  CStatus::Fail failure

bool GetLocked | ( | void |  | ) | const

Returns the locked state of the function curve key.

Returns:
  True if the FCurveKey is locked; false otherwise.

CStatus PutLocked | ( | bool | in_bFlag | ) |

Sets the locked state of the function curve key.

Parameters:

  | in_bFlag | Function curve key locked state value.

Returns:
  CStatus::OK success

  CStatus::Fail failure

bool GetSelected | ( | void |  | ) | const

Returns the selected state of the function curve key.

Returns:
  True if the FCurveKey is selected; false otherwise.

Since:
  6.0

CValue GetLeft | ( |  | ) | const

Returns the left value of the function curve key.

Returns:
  The FCurveKey left value.

CStatus PutLeft | ( | const CValue & | in_value | ) |

Sets the left value of the function curve key.

Parameters:

  | in_value | New left value.

Returns:
  CStatus::OK success

  CStatus::Fail failure

CValue GetRight | ( | void |  | ) | const

Returns the right value of the function curve key.

Returns:
  The FCurveKey right value.

CStatus PutRight | ( | const CValue & | in_value | ) |

Sets the right value of the function curve key.

Parameters:

  | in_value | New right value.

Returns:
  CStatus::OK success

  CStatus::Fail failure

double GetLeftTanY | ( | void |  | ) | const

Returns the left tangent Y value of the function curve key.

Returns:
  The FCurveKey left tangent Y value.

CStatus PutLeftTanY | ( | double | in_value | ) |

Sets the left tangent Y value of the function curve key.

Parameters:

  | in_value | New left tangent Y value.

Returns:
  CStatus::OK success

  CStatus::Fail failure

double GetRightTanY | ( | void |  | ) | const

Returns the right tangent Y value of the function curve key.

Returns:
  The FCurveKey right tangent Y value.

CStatus PutRightTanY | ( | double | in_value | ) |

Sets the right tangent Y value of the function curve key.

Parameters:

  | in_value | New right tangent Y value.

Returns:
  CStatus::OK success

  CStatus::Fail failure

CTime GetLeftTanX | ( | void |  | ) | const

Returns the left tangent key of the function curve key.

Returns:
  The FCurveKey left tangent X value.

CStatus PutLeftTanX | ( | const CTime & | in_value | ) |

Sets the left tangent X value of the function curve key.

Parameters:

  | in_value | new left tangent X value.

Returns:
  CStatus::OK success

  CStatus::Fail failure

CTime GetRightTanX | ( | void |  | ) | const

Returns the right tangent key of the function curve key.

Returns:
  The FCurveKey right tangent X value.

CStatus PutRightTanX | ( | const CTime & | in_value | ) |

Sets the right tangent X value of the function curve key.

Parameters:

  | in_value | new right tangent X value.

Returns:
  CStatus::OK success

  CStatus::Fail failure

siFCurveKeyInterpolation GetInterpolation | ( | void |  | ) | const

Returns the interpolation type of the function curve key.

Returns:
  The FCurveKey interpolation type.

See also:
  FCurve Interpolation and Extrapolation

CStatus PutInterpolation | ( | siFCurveKeyInterpolation | in_value | ) |

Sets the interpolation for the function curve key.

Parameters:

  | in_value | New interpolation

Returns:
  CStatus::OK success

  CStatus::Fail failure

See also:
  FCurve Interpolation and Extrapolation

bool GetConstraint | ( | siFCurveKeyConstraint | in_eKC | ) | const

Returns true if the specified constraint is turned on.

Parameters:

  | in_eKC | Type of constraint to query (one of the siFCurveKeyConstraint values).

Returns:
  true if the specified constraint is turned on.

CStatus PutConstraint | ( | siFCurveKeyConstraint | in_eKC,
|  | bool | in_bSet |
| ) |  |  |

Sets the constraint for the function curve key.

Parameters:

  | in_eKC | Type of constraint to set (one of the siFCurveKeyConstraint values).
  | in_bSet | True to turn constraint on.

Returns:
  CStatus::OK success

  CStatus::Fail failure

CStatus Set | ( | const CTime & | in_frame,
|  | const CValue & | in_value,
|  | bool | in_overridekeylock = `false` |
| ) |  |  |

Sets the function curve key's frame and value.

Parameters:

  | in_frame | New key frame.
  | in_value | New key value.
  | in_overridekeylock | True to override key lock.

Returns:
  CStatus::OK success

  CStatus::Fail failure

LONG GetIndex | ( | void |  | ) | const

Returns the index of this key in the function curve.

Returns:
  The key index

Since:
  6.0

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

- xsi_fcurvekey.h