# CSLAnimatableType Class Reference

`#include <AnimatableType.h>`

Inheritance diagram for CSLAnimatableType:

List of all members.

## Public Types
enum | EElementType { SI_BOOL_TYPE, SI_BYTE_TYPE, SI_UBYTE_TYPE, SI_DOUBLE_TYPE, SI_FLOAT_TYPE, SI_INT_TYPE, SI_LONG_TYPE, SI_ULONG_TYPE, SI_SHORT_TYPE, SI_VARIANT_TYPE, SI_ENUM_TYPE, SI_STRING_ENUM_TYPE }
## Public Member Functions
virtual EElementType | Type ()=0
SI_Char * | GetName ()
SI_Void | SetName (const SI_Char *in_szName)
virtual SI_Float | GetFloatValue ()=0
virtual SI_Void | SetFloatValue (SI_Float in_fValue)=0
virtual SI_Error | Connect (CdotXSITemplate *in_pTemplate, SI_Int in_iIndex)
virtual SI_Error | ConnectSID (CSLTemplate *in_pTemplate, CCOLLADATemplate *in_pOwner, SI_Int in_nIndex, const char *in_szAddress, CSLCOLLADAScene *in_pScene, int in_CurveType, const char *in_XSIName)
virtual CdotXSIParam * | ParameterReference ()
## Protected Member Functions
| CSLAnimatableType ()
| ~CSLAnimatableType ()

## Detailed Description

Base class for animatable types. This class is abstract, but it defines basic operations of all animatable sub-classes.

## Member Enumeration Documentation

enum EElementType

This enumeration lists all base types supported by animatable types

Enumerator:

  SI_BOOL_TYPE | The element is of type boolean
  SI_BYTE_TYPE | The element is of type byte
  SI_UBYTE_TYPE | The element is of type unsigned byte
  SI_DOUBLE_TYPE | The element is of type double
  SI_FLOAT_TYPE | The element is of type float
  SI_INT_TYPE | The element is of type integer
  SI_LONG_TYPE | The element is of type long
  SI_ULONG_TYPE | The element is of type unsigned long
  SI_SHORT_TYPE | The element is of type short
  SI_VARIANT_TYPE | The element is of type variant
  SI_ENUM_TYPE | The element is of type enumeration
  SI_STRING_ENUM_TYPE | The element is of type string enumeration

## Constructor & Destructor Documentation

CSLAnimatableType | ( |  | ) | `[protected]`

Constructor (default). This member is protected so that the class cannot be instantiated.

~CSLAnimatableType | ( |  | ) | `[protected]`

Destructor

## Member Function Documentation

virtual EElementType Type | ( |  | ) | `[pure virtual]`

Returns the type of this parameter

Returns:
  ETemplateType The type of this parameter (Defined by sub-class)

Implemented in CSLBoolProxy, CSLByteProxy, CSLUByteProxy, CSLDoubleProxy, CSLEnumProxy, CSLStrEnumProxy, CSLFloatProxy, CSLIntProxy, CSLLongProxy, CSLShortProxy, CSLULongProxy, CSLVariantParameter, CSLEnumProxy< CSLNurbsTrim::EProjectionType, SI_WORLD >, CSLEnumProxy< CSLCoordinateSystem::EUOrientation, SI_LEFT >, CSLEnumProxy< CSLLightInfo::EFallofMode, SI_EXPONENT >, CSLEnumProxy< CSLTexture2D::EBlendingType, SI_RGB_MODULATION >, CSLEnumProxy< CSLCoordinateSystem::EHandRotation, SI_RIGHT_HANDED >, CSLEnumProxy< CSLImageFX2::EFieldType, SI_EVEN >, CSLEnumProxy< CSLNurbsSurface::EParametrizationType, SI_CENTRIPETAL >, CSLEnumProxy< CSLFXOperator::EOutputType, SI_DEFAULT >, CSLEnumProxy< CSLImageFX::EScalingType, SI_CUSTOM >, CSLEnumProxy< CSLImageFX2::EOglFilter, SI_INTERPOLATED_PIXEL >, CSLEnumProxy< CSLCoordinateSystem::EAxisOrientation, SI_OUT >, CSLEnumProxy< CSLXSIShaderCompoundPort::EPortType, SI_OUTPUT_PORT >, CSLEnumProxy< CSLNurbsCurve::EParametrizationType, SI_CENTRIPETAL >, CSLEnumProxy< CSLFog::EFogInterpolationType, SI_EXPONENTIAL >, CSLEnumProxy< CSLXSIShader::EOutputType, SI_OT_MULTI >, CSLEnumProxy< CSLImageData::ECompressionType, SI_UNCOMPRESSED >, CSLEnumProxy< CSLImageFX2::EOglFilter, SI_INTERPOLATED_PIXEL_INTERPOLATED_MIPMAP >, CSLEnumProxy< CSLTexture2D::EMappingType, SI_REFLECTION_MAP >, CSLEnumProxy< CSLFog::EFogType, SI_FOG >, CSLEnumProxy< CSLNurbsProjection::EProjectionType, SI_WORLD >, CSLEnumProxy< CSLImageFX2::EImageDefinitionType, SI_BROADCAST >, CSLEnumProxy< CSLCoordinateSystem::EVOrientation, SI_UP >, CSLEnumProxy< CSLMaterial::EShadingModel, VERTEX_COLOR >, CSLEnumProxy< CSLXSIMaterialInfo::EWrapType, SI_REPEAT >, CSLEnumProxy< CSLAction::EActionType, SI_AT_NONE >, CSLEnumProxy< CSLAngle::EAngleType, SI_RADIANS >, CSLStrEnumProxy< CSLIKJoint::EJointSolverType, SI_3D >, CSLStrEnumProxy< CSLGlobalMaterial::EPropagationType, SI_INHERITED >, CSLStrEnumProxy< CSLSceneInfo::ETimingType, SI_FRAMES >, CSLStrEnumProxy< CSLCustomPSet::EPropagationType, SI_INHERITED >, CSLStrEnumProxy< ERotationOrder, SI_ZYX >, CSLStrEnumProxy< CSLXSIClusterInfo::EClusterType, SI_SUB_CURVE >, CSLStrEnumProxy< CSLExtrapolation::EExtrapolationType, SI_BOUNCE >, CSLStrEnumProxy< CSLCluster::EClusterWeightingType, SI_ADDITIVE >, CSLStrEnumProxy< EFCurveInterpolationType, SI_CUBIC >, and CSLStrEnumProxy< CSLConstraint::EConstraintType, SI_PREFERED_AXIS >.

SI_Char* GetName | ( |  | ) |

Gets the name of the parameter

Returns:
  SI_Char String representing the name of the parameter

SI_Void SetName | ( | const SI_Char * | in_szName | ) |

Sets the name of the parameter

Parameters:

  | in_szName | New name for the parameter

virtual SI_Float GetFloatValue | ( |  | ) | `[pure virtual]`

Converts the value of the referred parameter to float

Returns:
  The converted value

Implemented in CSLBoolProxy, CSLByteProxy, CSLUByteProxy, CSLDoubleProxy, CSLEnumProxy, CSLStrEnumProxy, CSLFloatProxy, CSLIntProxy, CSLLongProxy, CSLShortProxy, CSLULongProxy, CSLVariantParameter, CSLEnumProxy< CSLNurbsTrim::EProjectionType, SI_WORLD >, CSLEnumProxy< CSLCoordinateSystem::EUOrientation, SI_LEFT >, CSLEnumProxy< CSLLightInfo::EFallofMode, SI_EXPONENT >, CSLEnumProxy< CSLTexture2D::EBlendingType, SI_RGB_MODULATION >, CSLEnumProxy< CSLCoordinateSystem::EHandRotation, SI_RIGHT_HANDED >, CSLEnumProxy< CSLImageFX2::EFieldType, SI_EVEN >, CSLEnumProxy< CSLNurbsSurface::EParametrizationType, SI_CENTRIPETAL >, CSLEnumProxy< CSLFXOperator::EOutputType, SI_DEFAULT >, CSLEnumProxy< CSLImageFX::EScalingType, SI_CUSTOM >, CSLEnumProxy< CSLImageFX2::EOglFilter, SI_INTERPOLATED_PIXEL >, CSLEnumProxy< CSLCoordinateSystem::EAxisOrientation, SI_OUT >, CSLEnumProxy< CSLXSIShaderCompoundPort::EPortType, SI_OUTPUT_PORT >, CSLEnumProxy< CSLNurbsCurve::EParametrizationType, SI_CENTRIPETAL >, CSLEnumProxy< CSLFog::EFogInterpolationType, SI_EXPONENTIAL >, CSLEnumProxy< CSLXSIShader::EOutputType, SI_OT_MULTI >, CSLEnumProxy< CSLImageData::ECompressionType, SI_UNCOMPRESSED >, CSLEnumProxy< CSLImageFX2::EOglFilter, SI_INTERPOLATED_PIXEL_INTERPOLATED_MIPMAP >, CSLEnumProxy< CSLTexture2D::EMappingType, SI_REFLECTION_MAP >, CSLEnumProxy< CSLFog::EFogType, SI_FOG >, CSLEnumProxy< CSLNurbsProjection::EProjectionType, SI_WORLD >, CSLEnumProxy< CSLImageFX2::EImageDefinitionType, SI_BROADCAST >, CSLEnumProxy< CSLCoordinateSystem::EVOrientation, SI_UP >, CSLEnumProxy< CSLMaterial::EShadingModel, VERTEX_COLOR >, CSLEnumProxy< CSLXSIMaterialInfo::EWrapType, SI_REPEAT >, CSLEnumProxy< CSLAction::EActionType, SI_AT_NONE >, CSLEnumProxy< CSLAngle::EAngleType, SI_RADIANS >, CSLStrEnumProxy< CSLIKJoint::EJointSolverType, SI_3D >, CSLStrEnumProxy< CSLGlobalMaterial::EPropagationType, SI_INHERITED >, CSLStrEnumProxy< CSLSceneInfo::ETimingType, SI_FRAMES >, CSLStrEnumProxy< CSLCustomPSet::EPropagationType, SI_INHERITED >, CSLStrEnumProxy< ERotationOrder, SI_ZYX >, CSLStrEnumProxy< CSLXSIClusterInfo::EClusterType, SI_SUB_CURVE >, CSLStrEnumProxy< CSLExtrapolation::EExtrapolationType, SI_BOUNCE >, CSLStrEnumProxy< CSLCluster::EClusterWeightingType, SI_ADDITIVE >, CSLStrEnumProxy< EFCurveInterpolationType, SI_CUBIC >, and CSLStrEnumProxy< CSLConstraint::EConstraintType, SI_PREFERED_AXIS >.

virtual SI_Void SetFloatValue | ( | SI_Float | in_fValue | ) | `[pure virtual]`

Sets the value of the referred parameter from a float

Parameters:

  | in_fValue | The float value used to set the parameter

Implemented in CSLBoolProxy, CSLByteProxy, CSLUByteProxy, CSLDoubleProxy, CSLEnumProxy, CSLStrEnumProxy, CSLFloatProxy, CSLIntProxy, CSLLongProxy, CSLShortProxy, CSLULongProxy, CSLVariantParameter, CSLEnumProxy< CSLNurbsTrim::EProjectionType, SI_WORLD >, CSLEnumProxy< CSLCoordinateSystem::EUOrientation, SI_LEFT >, CSLEnumProxy< CSLLightInfo::EFallofMode, SI_EXPONENT >, CSLEnumProxy< CSLTexture2D::EBlendingType, SI_RGB_MODULATION >, CSLEnumProxy< CSLCoordinateSystem::EHandRotation, SI_RIGHT_HANDED >, CSLEnumProxy< CSLImageFX2::EFieldType, SI_EVEN >, CSLEnumProxy< CSLNurbsSurface::EParametrizationType, SI_CENTRIPETAL >, CSLEnumProxy< CSLFXOperator::EOutputType, SI_DEFAULT >, CSLEnumProxy< CSLImageFX::EScalingType, SI_CUSTOM >, CSLEnumProxy< CSLImageFX2::EOglFilter, SI_INTERPOLATED_PIXEL >, CSLEnumProxy< CSLCoordinateSystem::EAxisOrientation, SI_OUT >, CSLEnumProxy< CSLXSIShaderCompoundPort::EPortType, SI_OUTPUT_PORT >, CSLEnumProxy< CSLNurbsCurve::EParametrizationType, SI_CENTRIPETAL >, CSLEnumProxy< CSLFog::EFogInterpolationType, SI_EXPONENTIAL >, CSLEnumProxy< CSLXSIShader::EOutputType, SI_OT_MULTI >, CSLEnumProxy< CSLImageData::ECompressionType, SI_UNCOMPRESSED >, CSLEnumProxy< CSLImageFX2::EOglFilter, SI_INTERPOLATED_PIXEL_INTERPOLATED_MIPMAP >, CSLEnumProxy< CSLTexture2D::EMappingType, SI_REFLECTION_MAP >, CSLEnumProxy< CSLFog::EFogType, SI_FOG >, CSLEnumProxy< CSLNurbsProjection::EProjectionType, SI_WORLD >, CSLEnumProxy< CSLImageFX2::EImageDefinitionType, SI_BROADCAST >, CSLEnumProxy< CSLCoordinateSystem::EVOrientation, SI_UP >, CSLEnumProxy< CSLMaterial::EShadingModel, VERTEX_COLOR >, CSLEnumProxy< CSLXSIMaterialInfo::EWrapType, SI_REPEAT >, CSLEnumProxy< CSLAction::EActionType, SI_AT_NONE >, CSLEnumProxy< CSLAngle::EAngleType, SI_RADIANS >, CSLStrEnumProxy< CSLIKJoint::EJointSolverType, SI_3D >, CSLStrEnumProxy< CSLGlobalMaterial::EPropagationType, SI_INHERITED >, CSLStrEnumProxy< CSLSceneInfo::ETimingType, SI_FRAMES >, CSLStrEnumProxy< CSLCustomPSet::EPropagationType, SI_INHERITED >, CSLStrEnumProxy< ERotationOrder, SI_ZYX >, CSLStrEnumProxy< CSLXSIClusterInfo::EClusterType, SI_SUB_CURVE >, CSLStrEnumProxy< CSLExtrapolation::EExtrapolationType, SI_BOUNCE >, CSLStrEnumProxy< CSLCluster::EClusterWeightingType, SI_ADDITIVE >, CSLStrEnumProxy< EFCurveInterpolationType, SI_CUBIC >, and CSLStrEnumProxy< CSLConstraint::EConstraintType, SI_PREFERED_AXIS >.

virtual SI_Error Connect | ( | CdotXSITemplate * | in_pTemplate,
|  | SI_Int | in_iIndex |
| ) |  |  | `[virtual]`

Connects the proxy to the IO layer parameter

Parameters:

  | in_pTemplate | the template that owns the parameter to connect to
  | in_iIndex | the index of the parameter

Returns:
  The proxy was succesfully connected or not

Reimplemented in CSLBoolProxy, CSLByteProxy, CSLUByteProxy, CSLDoubleProxy, CSLEnumProxy, CSLStrEnumProxy, CSLFloatProxy, CSLIntProxy, CSLLongProxy, CSLShortProxy, CSLULongProxy, CSLEnumProxy< CSLNurbsTrim::EProjectionType, SI_WORLD >, CSLEnumProxy< CSLCoordinateSystem::EUOrientation, SI_LEFT >, CSLEnumProxy< CSLLightInfo::EFallofMode, SI_EXPONENT >, CSLEnumProxy< CSLTexture2D::EBlendingType, SI_RGB_MODULATION >, CSLEnumProxy< CSLCoordinateSystem::EHandRotation, SI_RIGHT_HANDED >, CSLEnumProxy< CSLImageFX2::EFieldType, SI_EVEN >, CSLEnumProxy< CSLNurbsSurface::EParametrizationType, SI_CENTRIPETAL >, CSLEnumProxy< CSLFXOperator::EOutputType, SI_DEFAULT >, CSLEnumProxy< CSLImageFX::EScalingType, SI_CUSTOM >, CSLEnumProxy< CSLImageFX2::EOglFilter, SI_INTERPOLATED_PIXEL >, CSLEnumProxy< CSLCoordinateSystem::EAxisOrientation, SI_OUT >, CSLEnumProxy< CSLXSIShaderCompoundPort::EPortType, SI_OUTPUT_PORT >, CSLEnumProxy< CSLNurbsCurve::EParametrizationType, SI_CENTRIPETAL >, CSLEnumProxy< CSLFog::EFogInterpolationType, SI_EXPONENTIAL >, CSLEnumProxy< CSLXSIShader::EOutputType, SI_OT_MULTI >, CSLEnumProxy< CSLImageData::ECompressionType, SI_UNCOMPRESSED >, CSLEnumProxy< CSLImageFX2::EOglFilter, SI_INTERPOLATED_PIXEL_INTERPOLATED_MIPMAP >, CSLEnumProxy< CSLTexture2D::EMappingType, SI_REFLECTION_MAP >, CSLEnumProxy< CSLFog::EFogType, SI_FOG >, CSLEnumProxy< CSLNurbsProjection::EProjectionType, SI_WORLD >, CSLEnumProxy< CSLImageFX2::EImageDefinitionType, SI_BROADCAST >, CSLEnumProxy< CSLCoordinateSystem::EVOrientation, SI_UP >, CSLEnumProxy< CSLMaterial::EShadingModel, VERTEX_COLOR >, CSLEnumProxy< CSLXSIMaterialInfo::EWrapType, SI_REPEAT >, CSLEnumProxy< CSLAction::EActionType, SI_AT_NONE >, CSLEnumProxy< CSLAngle::EAngleType, SI_RADIANS >, CSLStrEnumProxy< CSLIKJoint::EJointSolverType, SI_3D >, CSLStrEnumProxy< CSLGlobalMaterial::EPropagationType, SI_INHERITED >, CSLStrEnumProxy< CSLSceneInfo::ETimingType, SI_FRAMES >, CSLStrEnumProxy< CSLCustomPSet::EPropagationType, SI_INHERITED >, CSLStrEnumProxy< ERotationOrder, SI_ZYX >, CSLStrEnumProxy< CSLXSIClusterInfo::EClusterType, SI_SUB_CURVE >, CSLStrEnumProxy< CSLExtrapolation::EExtrapolationType, SI_BOUNCE >, CSLStrEnumProxy< CSLCluster::EClusterWeightingType, SI_ADDITIVE >, CSLStrEnumProxy< EFCurveInterpolationType, SI_CUBIC >, and CSLStrEnumProxy< CSLConstraint::EConstraintType, SI_PREFERED_AXIS >.

virtual SI_Error ConnectSID | ( | CSLTemplate * | in_pTemplate,
|  | CCOLLADATemplate * | in_pOwner,
|  | SI_Int | in_nIndex,
|  | const char * | in_szAddress,
|  | CSLCOLLADAScene * | in_pScene,
|  | int | in_CurveType,
|  | const char * | in_XSIName |
| ) |  |  | `[virtual]`

Connects the proxy to the IO layer parameter

Parameters:

  | in_pTemplate | the template that virtually owns the parameter to connect to
  | in_pOwner | the template that owns the parameter to connect to
  | in_iIndex | the index of the parameter
  | in_szAddress | the address of this parameter if it's in a complex type
  | in_pScene | the COLLADA scene
  | in_CurveType | the equivalent dotXSI Curve type in case of COLLADA/DOTXSI morphing
  | in_XSIName | the Softimage parameter name

Returns:
  The proxy was succesfully connected or not

virtual CdotXSIParam* ParameterReference | ( |  | ) | `[virtual]`

Returns the CdotXSIParam reference of that proxy

Returns:
  the CdotXSIParam reference of that proxy

Reimplemented in CSLEnumProxy, CSLEnumProxy< CSLNurbsTrim::EProjectionType, SI_WORLD >, CSLEnumProxy< CSLCoordinateSystem::EUOrientation, SI_LEFT >, CSLEnumProxy< CSLLightInfo::EFallofMode, SI_EXPONENT >, CSLEnumProxy< CSLTexture2D::EBlendingType, SI_RGB_MODULATION >, CSLEnumProxy< CSLCoordinateSystem::EHandRotation, SI_RIGHT_HANDED >, CSLEnumProxy< CSLImageFX2::EFieldType, SI_EVEN >, CSLEnumProxy< CSLNurbsSurface::EParametrizationType, SI_CENTRIPETAL >, CSLEnumProxy< CSLFXOperator::EOutputType, SI_DEFAULT >, CSLEnumProxy< CSLImageFX::EScalingType, SI_CUSTOM >, CSLEnumProxy< CSLImageFX2::EOglFilter, SI_INTERPOLATED_PIXEL >, CSLEnumProxy< CSLCoordinateSystem::EAxisOrientation, SI_OUT >, CSLEnumProxy< CSLXSIShaderCompoundPort::EPortType, SI_OUTPUT_PORT >, CSLEnumProxy< CSLNurbsCurve::EParametrizationType, SI_CENTRIPETAL >, CSLEnumProxy< CSLFog::EFogInterpolationType, SI_EXPONENTIAL >, CSLEnumProxy< CSLXSIShader::EOutputType, SI_OT_MULTI >, CSLEnumProxy< CSLImageData::ECompressionType, SI_UNCOMPRESSED >, CSLEnumProxy< CSLImageFX2::EOglFilter, SI_INTERPOLATED_PIXEL_INTERPOLATED_MIPMAP >, CSLEnumProxy< CSLTexture2D::EMappingType, SI_REFLECTION_MAP >, CSLEnumProxy< CSLFog::EFogType, SI_FOG >, CSLEnumProxy< CSLNurbsProjection::EProjectionType, SI_WORLD >, CSLEnumProxy< CSLImageFX2::EImageDefinitionType, SI_BROADCAST >, CSLEnumProxy< CSLCoordinateSystem::EVOrientation, SI_UP >, CSLEnumProxy< CSLMaterial::EShadingModel, VERTEX_COLOR >, CSLEnumProxy< CSLXSIMaterialInfo::EWrapType, SI_REPEAT >, CSLEnumProxy< CSLAction::EActionType, SI_AT_NONE >, and CSLEnumProxy< CSLAngle::EAngleType, SI_RADIANS >.

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

- AnimatableType.h