Public Member Functions
FCurveKey Class Reference

Detailed Description

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

See also:
FCurve, FCurve::SetKeys, FCurve::GetKeys, dev_FCurves 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 );

#include <xsi_fcurvekey.h>

Inheritance diagram for FCurveKey:
Inheritance graph
[legend]

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

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:
dev_animation_FCurveInterpolationAndExtrapolation 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:
dev_animation_FCurveInterpolationAndExtrapolation 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: