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
FCurveKeyoperator= (const FCurveKey &in_obj)
FCurveKeyoperator= (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_refconstant reference object.
FCurveKey ( const FCurveKey in_obj)

Copy constructor.

Parameters:
in_objconstant 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_ClassIDclass 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_objconstant 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_refconstant 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_valueFunction 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_timeFunction 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_bFlagFunction 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_valueNew 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_valueNew 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_valueNew 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_valueNew 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_valuenew 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_valuenew 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_valueNew 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_eKCType 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_eKCType of constraint to set (one of the siFCurveKeyConstraint values).
in_bSetTrue 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_frameNew key frame.
in_valueNew key value.
in_overridekeylockTrue 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: