CSLTemplate Class Reference

Describes a dotXSI template. More...

#include <Template.h>

Inheritance diagram for CSLTemplate:

CSIBCNode CSLAction CSLActionClip CSLAmbience CSLAngle CSLBaseFCurve CSLBaseMaterial CSLBaseShape CSLCluster CSLCOLLADAEffectLibrary CSLConstraint CSLCoordinateSystem CSLCustomPSet CSLEnvelope CSLEnvelopeList CSLExtrapolation CSLFileInfo CSLFog CSLFXOperator CSLFXTree CSLGlobalMaterial CSLIKResolutionPlane CSLImage CSLImageClip CSLImageData CSLImageFX CSLImageFX2 CSLImageLibrary CSLLightInfo CSLMaterialLibrary CSLMixer CSLModel CSLNurbsProjection CSLNurbsTrim CSLPolygonList CSLPrimitive CSLSceneInfo CSLShaderInstanceData CSLShapeAnimation CSLStaticValue CSLTexture2D CSLTimeControl CSLTrack CSLTransform CSLTriangleList CSLTriangleStrip CSLTriangleStripList CSLUserData CSLUserDataBlob CSLUserDataList CSLVisibility CSLXSIBasePose CSLXSICameraFocalLength CSLXSIClipToParent CSLXSIClusterInfo CSLXSICustomParamInfo CSLXSIIndexList CSLXSILimit CSLXSILookat CSLXSIMaterialInfo CSLXSIMatrix CSLXSIPolymatricks CSLXSIRotate CSLXSIScale CSLXSIShader CSLXSIShaderCompound CSLXSIShaderCompoundPort CSLXSIShaderMultiPortConnection CSLXSIShape CSLXSIShapeAnimation CSLXSIShapeReference CSLXSIShear CSLXSISubComponentAttributeList CSLXSISubComponentList CSLXSITextureLayer CSLXSITextureLayerPort CSLXSITransform CSLXSITranslate CSLXSIUserKeyword List of all members.

Public Types

enum   ETemplateType {
  SI_ACTION_FCURVE,
  SI_ANGLE,
  SI_AMBIENCE,
  SI_BASE_SHAPE,
  SI_CAMERA,
  SI_CLUSTER,
  SI_CONSTRAINT,
  SI_COORDINATE_SYSTEM,
  SI_CURVE_LIST,
  SI_CUSTOM_PSET,
  SI_CUSTOM_PARAM_INFO,
  SI_DIRECTIONAL_LIGHT,
  SI_ENVELOPE,
  SI_ENVELOPE_LIST,
  SI_FCURVE,
  SI_FILE_INFO,
  SI_FOG,
  SI_GLOBAL_MATERIAL,
  SI_IK_EFFECTOR,
  SI_IK_JOINT,
  SI_IK_ROOT,
  SI_INFINITE_LIGHT,
  SI_INSTANCE,
  SI_LIGHT_INFO,
  SI_MATERIAL,
  SI_MATERIAL_LIBRARY,
  SI_MESH,
  SI_MODEL,
  SI_NULL_OBJECT,
  SI_NURBS_CURVE,
  SI_NURBS_SURFACE,
  SI_POINT_LIGHT,
  SI_POLYGON_LIST,
  SI_SCENE_INFO,
  SI_SHAPE,
  SI_SHAPE35,
  SI_SHAPE_ANIMATION,
  SI_SPOT_LIGHT,
  SI_SURFACE_MESH,
  SI_TEXTURE_2D,
  SI_TRANSFORM,
  SI_TRIANGLE_LIST,
  SI_TRIANGLE_STRIP,
  SI_TRIANGLE_STRIP_LIST,
  SI_VISIBILITY,
  XSI_ACTION,
  XSI_ACTIONCLIP,
  XSI_CUSTOM_PARAM_INFO,
  XSI_EXTRAPOLATION,
  XSI_FXOPERATOR,
  XSI_FXTREE,
  XSI_IMAGE,
  XSI_IMAGE_DATA,
  XSI_IMAGE_FX,
  XSI_IMAGE_LIBRARY,
  XSI_MATERIAL,
  XSI_MATERIAL_INFO,
  XSI_MIXER,
  XSI_NURBS_PROJECTION,
  XSI_NURBS_TRIM,
  XSI_SHADER,
  XSI_SHADER_INSTANCE_DATA,
  XSI_STATIC_VALUES,
  XSI_TIMECONTROL,
  XSI_TRACK,
  XSI_USER_DATA,
  XSI_USER_DATA_LIST,
  XSI_SUB_COMPONENT_ATTRIBUTE_LIST,
  XSI_TRIANGLE_STRIP_LIST,
  XSI_TRIANGLE_LIST,
  XSI_POLYGON_LIST,
  XSI_VERTEX_LIST,
  XSI_SHAPE,
  XSI_MESH,
  XSI_SHAPE_ANIMATION,
  XSI_CLUSTER_INFO,
  XSI_USER_DATA_BLOB,
  XSI_TRANSFORM,
  XSI_LIMIT,
  XSI_BASEPOSE,
  COLLADA_MATERIAL,
  COLLADA_EFFECT_LIBRARY,
  COLLADA_EFFECT,
  COLLADA_EFFECT_COMMON_PROFILE,
  COLLADA_EFFECT_CG_PROFILE,
  COLLADA_EFFECT_COMMON_PARAM,
  COLLADA_EFFECT_COMMON_FLOAT,
  COLLADA_EFFECT_COMMON_COLOR,
  COLLADA_EFFECT_COMMON_TEXTURE,
  COLLADA_EFFECT_COMMON_FLOAT_OR_PARAM,
  COLLADA_EFFECT_COMMON_COLOR_OR_TEXTURE,
  COLLADA_EFFECT_COMMON_SHADER,
  COLLADA_EFFECT_SETPARAM,
  XSI_IK_RESOLUTIONPLANE,
  XSI_CAMERA,
  XSI_POLYMATRICKS,
  XSI_TRANSLATE,
  XSI_ROTATE,
  XSI_SCALE,
  XSI_SHEAR,
  XSI_LOOKAT,
  XSI_MATRIX,
  XSI_SHAPEREFERENCE,
  XSI_ACTIONCLIPCONTAINER,
  XSI_INDEX_LIST,
  XSI_CAMERA_FOCALLENGTH,
  XSI_SHADER_MULTI_PORT_CONNECTION,
  XSI_IMAGE_FX2,
  XSI_TEXTURE_LAYER,
  XSI_TEXTURE_LAYER_PORT,
  XSI_USER_KEYWORD,
  XSI_CLIP_TO_PARENT,
  XSI_SHADER_COMPOUND,
  XSI_SHADER_COMPOUND_PORT
}
enum   EFCurveType {
  SI_COLOR_R,
  SI_COLOR_G,
  SI_COLOR_B,
  SI_POSITION_X,
  SI_POSITION_Y,
  SI_POSITION_Z,
  SI_ROLL,
  SI_FOV,
  SI_NEAR,
  SI_FAR,
  SI_INTEREST_X,
  SI_INTEREST_Y,
  SI_INTEREST_Z,
  SI_CONE,
  SI_SPREAD,
  SI_ORIENTATION_X,
  SI_ORIENTATION_Y,
  SI_ORIENTATION_Z,
  SI_DIFFUSE_R,
  SI_DIFFUSE_G,
  SI_DIFFUSE_B,
  SI_DIFFUSE,
  SI_PARAMETER,
  SI_POWER,
  SI_SPECULAR_R,
  SI_SPECULAR_G,
  SI_SPECULAR_B,
  SI_EMISSIVE_R,
  SI_EMISSIVE_G,
  SI_EMISSIVE_B,
  SI_AMBIENT_R,
  SI_AMBIENT_G,
  SI_AMBIENT_B,
  SI_SCALING_X,
  SI_SCALING_Y,
  SI_SCALING_Z,
  SI_ROTATION_X,
  SI_ROTATION_Y,
  SI_ROTATION_Z,
  SI_TRANSLATION_X,
  SI_TRANSLATION_Y,
  SI_TRANSLATION_Z,
  SI_SHPANIM,
  SI_NODEVIS,
  SI_HUE,
  SI_GAIN,
  SI_SATURATION,
  SI_BRIGHTNESS,
  SI_BLUR_RADIUS,
  SI_BLUR_AMOUNT,
  SI_BLUR_ALPHA,
  SI_SCALING_TYPE,
  SI_SCALE_X,
  SI_SCALE_Y,
  SI_FLIP_X,
  SI_FLIP_Y,
  SI_RGBA2GRAYSCALE,
  SI_BITS_PER_CHANNEL,
  SI_CROP_MIN_X,
  SI_CROP_MAX_X,
  SI_CROP_MIN_Y,
  SI_CROP_MAX_Y,
  SI_FALLOFF_ACTIVE,
  SI_FALLOFF_START,
  SI_FALLOFF_END,
  SI_SHADOWS_ENABLED,
  SI_UMBRA,
  SI_LIGHT_AS_ENERGY,
  SI_ENERGY_FACTOR,
  SI_INTENSITY
}
enum   EFCurveInterpolationType {
  SI_CONSTANT,
  SI_LINEAR,
  SI_HERMITE,
  SI_BEZIER,
  SI_CUBIC
}
enum   ERotationOrder {
  SI_XYZ,
  SI_XZY,
  SI_YXZ,
  SI_YZX,
  SI_ZXY,
  SI_ZYX
}

Public Member Functions

  CSLTemplate (CSLScene *in_pScene, CSLModel *in_pParentModel, CdotXSITemplate *in_pTemplate)
SI_Void  SetName (SI_Char *in_szNewName)
SI_Char *  GetName ()
CSLModel ParentModel ()
CSLScene Scene ()
CdotXSITemplate Template ()
CSLFCurve CreateFCurve (EFCurveType in_Type, EFCurveInterpolationType in_InterpolationType)
virtual CSLFCurve CreateParameterFCurve (SI_Char *in_szParameterName, EFCurveInterpolationType in_InterpolationType)
SI_Error  DestroyFCurve (EFCurveType in_Type)
CSLFCurve RemoveFCurveAt (SI_Int in_Index)
CSLFCurve **  FCurves ()
SI_Int  GetFCurveCount ()
CSLFCurve GetSpecificFCurve (EFCurveType in_Type)
CSLFCurve GetParameterFCurve (SI_Char *in_szParameterName)
SI_Error  ClearFCurves ()
CSLCustomPSet AddCustomPSet ()
SI_Error  ClearCustomPSets ()
CSLCustomPSet **  GetCustomPSetList ()
CSLCustomPSet FindCustomPSet (char *in_pName)
SI_Int  GetCustomPSetCount ()
SI_Error  RemoveCustomPSet (SI_Int in_nIndex)
SI_Error  RemoveCustomPSet (CSLCustomPSet *in_pToRemove)
CSLFCurve ConnectFCurve (CSLFCurve *in_pNewFCurve)
CSLCustomPSet ConnectCustomPSet (CSLCustomPSet *in_pNewCustomPSet)
virtual SI_Error  Fix ()
virtual SI_Error  Synchronize ()
virtual ETemplateType  Type ()=0
virtual CSLAnimatableType ParameterFromName (SI_Char *in_szName)
virtual CSLAnimatableType ParameterFromType (EFCurveType in_Type, SI_Char *in_szParameterName)
virtual SI_Char *  FullName ()
CSLUserDataBlob ConnectUserDataBlob (CSLUserDataBlob *in_pNewUserDataBlob)
CSLUserDataBlob AddUserDataBlob ()
SI_Error  ClearUserDataBlobs ()
CSLUserDataBlob **  GetUserDataBlobList ()
SI_Int  GetUserDataBlobCount ()
SI_Error  RemoveUserDataBlob (SI_Int in_nIndex)
SI_Error  RemoveUserDataBlob (CSLUserDataBlob *in_pToRemove)
CSLXSIUserKeyword GetUserKeyword ()
CSLXSIUserKeyword CreateUserKeyword ()
CSLXSIUserKeyword ConnectUserKeyword (CSLXSIUserKeyword *in_pToConnect)
virtual const SI_Char *  GetParameterName (CSLAnimatableType *in_pParameter)
SI_Bool  AreFullNamesExported ()
virtual SI_Error  Evaluate (SI_Float in_fTime)

Protected Member Functions

SI_Error  SetParent (CSLModel *in_pNewParent)

Detailed Description

Describes a dotXSI template.

The CSLTemplate class is the base class for all classes in the semantic layer that describes a specific dotXSI template.

The class contains generic data manipulation, such as FCurve manipulation, custom parameter set manipulation and I/O synchronization.

This class is pure virtual, meaning you can't instantiate it directly. However, since you can obtain a pointer to a CSLTemplate, if you want to know which derived class was instantied, use the function Type.


Member Enumeration Documentation

enum ETemplateType

This enum lists all templates supported by the semantic layer.

Enumerator:
SI_ACTION_FCURVE  Action FCurve template
SI_ANGLE  SI_Angle template
SI_AMBIENCE  SI_Ambience template
SI_BASE_SHAPE  Base Shape template
SI_CAMERA  SI_Camera template
SI_CLUSTER  SI_Cluster template
SI_CONSTRAINT  SI_Constraint template
SI_COORDINATE_SYSTEM  SI_CoordinateSystem template
SI_CURVE_LIST  XSI_CurveList template
SI_CUSTOM_PSET  XSI_CustomPSet template
SI_CUSTOM_PARAM_INFO  XSI_CustomPSetInfo template
SI_DIRECTIONAL_LIGHT  Directional light template
SI_ENVELOPE  SI_Envelope template
SI_ENVELOPE_LIST  SI_EnvelopeList template
SI_FCURVE  SI_FCurve template
SI_FILE_INFO  SI_FileInfo template
SI_FOG  SI_Fog template
SI_GLOBAL_MATERIAL  SI_GlobalMaterial template
SI_IK_EFFECTOR  SI_IK_Effector template
SI_IK_JOINT  SI_IK_Joint template
SI_IK_ROOT  SI_IK_Root template
SI_INFINITE_LIGHT  Infinite light
SI_INSTANCE  SI_Instance template
SI_LIGHT_INFO  SI_LightInfo template
SI_MATERIAL  Legacy SI_Material template
SI_MATERIAL_LIBRARY  SI_MaterialLibrary template
SI_MESH  SI_Mesh template
SI_MODEL  SI_Model template
SI_NULL_OBJECT  SI_Null template
SI_NURBS_CURVE  SI_NurbsCurve template
SI_NURBS_SURFACE  SI_NurbsSurface template
SI_POINT_LIGHT  Point Light
SI_POLYGON_LIST  SI_PolygonList template
SI_SCENE_INFO  SI_Scene template
SI_SHAPE  SI_Shape template
SI_SHAPE35  SI_Shape dotXSI Version 3.5+ template
SI_SHAPE_ANIMATION  SI_ShapeAnimation template
SI_SPOT_LIGHT  Spot light
SI_SURFACE_MESH  XSI_SurfaceMesh template
SI_TEXTURE_2D  Legacy SI_Texture2D template
SI_TRANSFORM  SI_Transform template
SI_TRIANGLE_LIST  SI_TriangleList template
SI_TRIANGLE_STRIP  SI_TriStrip template
SI_TRIANGLE_STRIP_LIST  SI_TriStripList template
SI_VISIBILITY  SI_Visibility template
XSI_ACTION  XSI_Action template
XSI_ACTIONCLIP  XSI_ActionClip template
XSI_CUSTOM_PARAM_INFO  XSI_CustomPSet template
XSI_EXTRAPOLATION  XSI_Extrapolation template
XSI_FXOPERATOR  XSI_FXOperator template
XSI_FXTREE  XSI_FXTree template
XSI_IMAGE  XSI_Image template
XSI_IMAGE_DATA  XSI_ImageData template
XSI_IMAGE_FX  XSI_ImageFX template
XSI_IMAGE_LIBRARY  XSI_ImageLibrary template
XSI_MATERIAL  XSI_Material template
XSI_MATERIAL_INFO  XSI_MaterialInfo template
XSI_MIXER  XSI_Mixer template
XSI_NURBS_PROJECTION  XSI_NurbsProjection template
XSI_NURBS_TRIM  XSI_NurbsTrim template
XSI_SHADER  XSI_Shader template
XSI_SHADER_INSTANCE_DATA  XSI_ShaderInstanceData template
XSI_STATIC_VALUES  XSI_StaticValue template
XSI_TIMECONTROL  XSI_TimeControl template
XSI_TRACK  XSI_Track template
XSI_USER_DATA  XSI_UserData template
XSI_USER_DATA_LIST  XSI_UserDataList template
XSI_SUB_COMPONENT_ATTRIBUTE_LIST  XSI_SubComponentAttributeList template
XSI_TRIANGLE_STRIP_LIST  XSI_TriangleStripList template
XSI_TRIANGLE_LIST  XSI_TriangleList template
XSI_POLYGON_LIST  XSI_PolygonList template
XSI_VERTEX_LIST  XSI_VertexList template
XSI_SHAPE  XSI_Shape template
XSI_MESH  XSI_Mesh template
XSI_SHAPE_ANIMATION  XSI_ShapeAnimation template
XSI_CLUSTER_INFO  XSI_ClusterInfo template
XSI_USER_DATA_BLOB  XSI_UserDataBlob template
XSI_TRANSFORM  XSI_Transform template
XSI_LIMIT  XSI_Limit template
XSI_BASEPOSE  XSI_BasePose template
COLLADA_MATERIAL  COLLADA material template
COLLADA_EFFECT_LIBRARY  COLLADA effect library template
COLLADA_EFFECT  COLLADA effect template
COLLADA_EFFECT_COMMON_PROFILE  COLLADA effect common profile template
COLLADA_EFFECT_CG_PROFILE  COLLADA effect Cg profile template
COLLADA_EFFECT_COMMON_PARAM  COLLADA effect common profile param template
COLLADA_EFFECT_COMMON_FLOAT  COLLADA effect common profile float template
COLLADA_EFFECT_COMMON_COLOR  COLLADA effect common profile color template
COLLADA_EFFECT_COMMON_TEXTURE  COLLADA effect common profile texture template
COLLADA_EFFECT_COMMON_FLOAT_OR_PARAM  COLLADA effect common profile float/param switch template
COLLADA_EFFECT_COMMON_COLOR_OR_TEXTURE  COLLADA effect common profile color/param/texture switch template
COLLADA_EFFECT_COMMON_SHADER  COLLADA effect common profile shader
COLLADA_EFFECT_SETPARAM  COLLADA setparam template
XSI_IK_RESOLUTIONPLANE  XSI_IK_ResolutionPlane template
XSI_CAMERA  XSI_Camera template
XSI_POLYMATRICKS  XSI_Polymatricks template
XSI_TRANSLATE  XSI_Translate template
XSI_ROTATE  XSI_Rotate template
XSI_SCALE  XSI_Scale template
XSI_SHEAR  XSI_Shear template
XSI_LOOKAT  XSI_Lookat template
XSI_MATRIX  XSI_Matrix template
XSI_SHAPEREFERENCE  XSI_ShapeReference template
XSI_ACTIONCLIPCONTAINER  XSI_ActionClipContainer template
XSI_INDEX_LIST  XSI_IndexList template
XSI_CAMERA_FOCALLENGTH  XSI_CameraFocalLength template
XSI_SHADER_MULTI_PORT_CONNECTION  XSI_ShaderMultiPortConnection template
XSI_IMAGE_FX2  XSI_ImageFX2 template
XSI_TEXTURE_LAYER  XSI_TextureLayer template
XSI_TEXTURE_LAYER_PORT  XSI_TextureLayerPort template
XSI_USER_KEYWORD  XSI_UserKeyword template
XSI_CLIP_TO_PARENT  XSI_ClipToParent
XSI_SHADER_COMPOUND  XSI_ShaderCompound template
XSI_SHADER_COMPOUND_PORT  XSI_ShaderCompoundPort template

enum EFCurveType

The EFCurveType enum lists all animatable parameters.

Enumerator:
SI_COLOR_R  Color - Red component
SI_COLOR_G  Color - Green component
SI_COLOR_B  Color - Blue component
SI_POSITION_X  Camera position in X
SI_POSITION_Y  Camera position in Y
SI_POSITION_Z  Camera position in Z
SI_ROLL  Camera roll
SI_FOV  Camera fov
SI_NEAR  Camera near plane
SI_FAR  Camera far plane
SI_INTEREST_X  Camera interest position in X
SI_INTEREST_Y  Camera interest position in Y
SI_INTEREST_Z  Camera interest position in Z
SI_CONE  Light cone angle
SI_SPREAD  Light spread
SI_ORIENTATION_X  Light orientation in X
SI_ORIENTATION_Y  Light orientation in Y
SI_ORIENTATION_Z  Light orientation in Z
SI_DIFFUSE_R  Material diffuse - Red component
SI_DIFFUSE_G  Material diffuse - Green component
SI_DIFFUSE_B  Material diffuse - Blue component
SI_DIFFUSE  Material diffuse
SI_PARAMETER  Named parameter
SI_POWER  Material specular power
SI_SPECULAR_R  Material specular - Red component
SI_SPECULAR_G  Material specular - Green component
SI_SPECULAR_B  Material specular - Blue component
SI_EMISSIVE_R  Material emissive - Red component
SI_EMISSIVE_G  Material emissive - Green component
SI_EMISSIVE_B  Material emissive - Blue component
SI_AMBIENT_R  Material ambient - Red component
SI_AMBIENT_G  Material ambient - Green component
SI_AMBIENT_B  Material ambient - Blue component
SI_SCALING_X  Scaling in X
SI_SCALING_Y  Scaling in Y
SI_SCALING_Z  Scaling in Z
SI_ROTATION_X  Rotation in X
SI_ROTATION_Y  Rotation in Y
SI_ROTATION_Z  Rotation in Z
SI_TRANSLATION_X  Translation in X
SI_TRANSLATION_Y  Translation in Y
SI_TRANSLATION_Z  Translation in Z
SI_SHPANIM  ShapeAnimation
SI_NODEVIS  Visibility
SI_HUE  ImageFX hue
SI_GAIN  ImageFX gain
SI_SATURATION  ImageFX saturation
SI_BRIGHTNESS  ImageFX brightness
SI_BLUR_RADIUS  ImageFX blur
SI_BLUR_AMOUNT  ImageFX blur
SI_BLUR_ALPHA  ImageFX blur
SI_SCALING_TYPE  ImageFX scale type
SI_SCALE_X  ImageFX scale in X
SI_SCALE_Y  ImageFX scale in Y
SI_FLIP_X  ImageFX flip in X
SI_FLIP_Y  ImageFX flip in Y
SI_RGBA2GRAYSCALE  ImageFX rgba to grayscale
SI_BITS_PER_CHANNEL  ImageFX bits per channel
SI_CROP_MIN_X  ImageClip crop - minimum in X
SI_CROP_MAX_X  ImageClip crop - maximum in X
SI_CROP_MIN_Y  ImageClip crop - minimum in Y
SI_CROP_MAX_Y  ImageClip crop - maximum in Y
SI_FALLOFF_ACTIVE  Light falloff active
SI_FALLOFF_START  Light falloff start
SI_FALLOFF_END  Light falloff end
SI_SHADOWS_ENABLED  Light shadows enabled
SI_UMBRA  Light umbra
SI_LIGHT_AS_ENERGY  Light as energy
SI_ENERGY_FACTOR  Light energy factor
SI_INTENSITY  Light intensity

enum EFCurveInterpolationType

The EFCurveInterpolationType enum contains possible interpolation types for an fcurve

Enumerator:
SI_CONSTANT  Constant type
SI_LINEAR  Linear type
SI_HERMITE  Hermite type
SI_BEZIER  Bezier type
SI_CUBIC  Cubic type

enum ERotationOrder

The ERotationOrder enum contains possible rotation order for the XSITransform template.

Enumerator:
SI_XYZ  XYZ rotation order
SI_XZY  XZY rotation order
SI_YXZ  YXZ rotation order
SI_YZX  YZX rotation order
SI_ZXY  ZXY rotation order
SI_ZYX  ZYX rotation order


Constructor & Destructor Documentation

CSLTemplate ( CSLScene in_pScene,
CSLModel in_pParentModel,
CdotXSITemplate in_pTemplate  
)

Constructor

Parameters:
[in]  in_pScene  Pointer to scene
[in]  in_pParentModel  Pointer to containing model
[in]  in_pTemplate  Pointer to dotXSI template


Member Function Documentation

SI_Void SetName ( SI_Char *  in_szNewName  ) 

Sets the template name.

Parameters:
[in]  in_szNewName  Name for the new template

SI_Char* GetName (  ) 

Returns the template name.

CSLModel* ParentModel (  ) 

Returns the model parent of this template.

Returns:
Pointer to the parent model.

CSLScene* Scene (  ) 

Returns the current scene object.

Returns:
Pointer to the scene.

CdotXSITemplate* Template (  ) 

Returns the Crosswalk SDK object associated with this template.

Returns:
Pointer to a Crosswalk SDK template.

CSLFCurve* CreateFCurve ( EFCurveType  in_Type,
EFCurveInterpolationType  in_InterpolationType  
)

Creates a new FCurve on this template.

Parameters:
[in]  in_Type  Type of fcurve to create
[in]  in_InterpolationType  Type of interpolation for the fcurve
Returns:
Pointer to the newly created fcurve.

virtual CSLFCurve* CreateParameterFCurve ( SI_Char *  in_szParameterName,
EFCurveInterpolationType  in_InterpolationType  
) [virtual]

Creates a new FCurve on this template.

Parameters:
[in]  in_szParameterName  Name of the parameter
[in]  in_InterpolationType  Type of interpolation for the fcurve
Returns:
Pointer to the newly created fcurve.

SI_Error DestroyFCurve ( EFCurveType  in_Type  ) 

Destroys an existing FCurve on this template.

Parameters:
[in]  in_Type  Type of fcurve to destroy
Returns:
Error code.

CSLFCurve* RemoveFCurveAt ( SI_Int  in_Index  ) 

Removes a specific FCurve on this template.

Parameters:
[in]  in_Index 
Returns:
FCurve removed.

CSLFCurve** FCurves (  ) 

Lists all fcurves on the template.

Returns:
Array of pointers to fcurves.

SI_Int GetFCurveCount (  ) 

Returns the number of fcurves currently present on the template.

Returns:
Number of fcurves.

CSLFCurve* GetSpecificFCurve ( EFCurveType  in_Type  ) 

Returns a specific fcurve on the template.

Parameters:
[in]  in_Type  Type of fcurve to retrieve.
Returns:
Pointer to the specified fcurve.

CSLFCurve* GetParameterFCurve ( SI_Char *  in_szParameterName  ) 

Returns a specific fcurve on the template.

Parameters:
[in]  in_szParameterName  Name of the parameter's FCurve to find
Returns:
Pointer to the specified fcurve.

SI_Error ClearFCurves (  ) 

Removes all fcurves on the template.

Returns:
Error code.

CSLCustomPSet* AddCustomPSet (  ) 

Adds a custom pset to the template

Returns:
Pointer to the newly created custom pset, NULL if failed

SI_Error ClearCustomPSets (  ) 

Clears all the custom psets on that template

Returns:
whether the function failed or succeeded

CSLCustomPSet** GetCustomPSetList (  ) 

Returns the list of custom psets on that template

Returns:
Array of custom psets instances

CSLCustomPSet* FindCustomPSet ( char *  in_pName  ) 

Returns the custom pset with that name

Parameters:
[in]  in_pName  Name of custom pset to retrieve
Returns:
the found custom pset

SI_Int GetCustomPSetCount (  ) 

Returns the number of custom psets on that template

Returns:
the number of custom psets on that template

SI_Error RemoveCustomPSet ( SI_Int  in_nIndex  ) 

Removes a custom pset by index

Parameters:
[in]  in_nIndex  Index of custom pset to remove
Returns:
whether the function failed or succeeded

SI_Error RemoveCustomPSet ( CSLCustomPSet in_pToRemove  ) 

Removes a custom pset by name

Parameters:
[in]  in_pToRemove  Custom pset to remove
Returns:
whether the function failed or succeeded

CSLFCurve* ConnectFCurve ( CSLFCurve in_pNewFCurve  ) 

Connects an fcurve to this template

Parameters:
[in]  in_pNewFCurve  the fcurve to connect
Returns:
Pointer to the specified fcurve.

CSLCustomPSet* ConnectCustomPSet ( CSLCustomPSet in_pNewCustomPSet  ) 

Connects a custom pset to this template

Parameters:
[in]  in_pNewCustomPSet  the custom pset to connect
Returns:
Pointer to the specified custom pset

virtual SI_Error Fix (  )  [virtual]

Cleans invalid data from the template.

Returns:
Error code

Reimplemented in CSLBaseShape, CSLCluster, CSLCOLLADAAction, CSLCOLLADAMesh, CSLCOLLADAModel, CSLMesh, CSLModel, CSLNurbsSurface, CSLShapeAnimation, CSLXSIMesh, CSLNurbsProjection, CSLNurbsTrim, and CSLXSIShapeAnimation.

virtual SI_Error Synchronize (  )  [virtual]

Synchronizes to ensure that the animated parameter is up to date.

Returns:
Error code

Reimplemented in CSLAction, CSLActionClip, CSLActionClipContainer, CSLActionFCurve, CSLBaseFCurve, CSLBaseShape, CSLCluster, CSLCOLLADAAction, CSLCOLLADAActionFCurve, CSLCOLLADAEffectLibrary, CSLCOLLADAEnvelope, CSLCOLLADAEnvelopeList, CSLCOLLADAFCurve, CSLCOLLADAIndexList, CSLCOLLADAInstance, CSLCOLLADAMesh, CSLCOLLADAModel, CSLCOLLADAPolygonList, CSLCOLLADAShapeAnimation, CSLCOLLADASpotLight, CSLCOLLADASubComponentAttributeList, CSLCOLLADATriangleList, CSLCOLLADAVertexList, CSLConstraint, CSLCurveList, CSLXSICustomParamInfo, CSLCustomPSet, CSLDirectionalLight, CSLEnvelope, CSLEnvelopeList, CSLFCurve, CSLFileInfo, CSLFXOperator, CSLFXTree, CSLGeometry, CSLGlobalMaterial, CSLIKEffector, CSLIKResolutionPlane, CSLIKJoint, CSLIKRoot, CSLInfiniteLight, CSLInstance, CSLLight, CSLBaseMaterial, CSLMaterial, CSLMaterialLibrary, CSLMesh, CSLMixer, CSLModel, CSLNull, CSLNurbsCurve, CSLNurbsSurface, CSLPointLight, CSLPolygonList, CSLShaderInstanceData, CSLShape, CSLShape_35, CSLShapeAnimation, CSLSpotLight, CSLSurfaceMesh, CSLTimeControl, CSLTrack, CSLTriangleList, CSLTriangleStrip, CSLTriangleStripList, CSLXSICamera, CSLXSICameraFocalLength, CSLXSIClusterInfo, CSLXSIGeometry, CSLImage, CSLImageData, CSLImageLibrary, CSLXSIIndexList, CSLXSIMaterial, CSLXSIMesh, CSLNurbsProjection, CSLNurbsTrim, CSLXSIPolygonList, CSLXSIShader, CSLXSIShaderCompound, CSLXSIShaderCompoundPort, CSLXSIShaderMultiPortConnection, CSLXSIShape, CSLXSIShapeAnimation, CSLXSIShapeReference, CSLXSISubComponentAttributeList, CSLXSITextureLayer, CSLXSITranslate, CSLXSIRotate, CSLXSIScale, CSLXSIShear, CSLXSILookat, CSLXSIMatrix, CSLXSIPolymatricks, CSLXSITransform, CSLXSIBasePose, CSLXSITriangleList, CSLXSITriangleStripList, CSLUserData, CSLUserDataBlob, CSLUserDataList, and CSLXSIVertexList.

virtual ETemplateType Type (  )  [pure virtual]

Indicates which dotXSI template this object describes.

Returns:
Type of template

Implemented in CSLAction, CSLActionClip, CSLActionClipContainer, CSLActionFCurve, CSLAmbience, CSLAngle, CSLCamera, CSLCluster, CSLCOLLADAEffectLibrary, CSLConstraint, CSLCoordinateSystem, CSLCurveList, CSLXSICustomParamInfo, CSLCustomPSet, CSLDirectionalLight, CSLEnvelope, CSLEnvelopeList, CSLExtrapolation, CSLFCurve, CSLFileInfo, CSLFog, CSLFXOperator, CSLFXTree, CSLGlobalMaterial, CSLIKEffector, CSLIKResolutionPlane, CSLIKJoint, CSLIKRoot, CSLInfiniteLight, CSLInstance, CSLLightInfo, CSLMaterial, CSLMaterialLibrary, CSLMesh, CSLMixer, CSLModel, CSLNull, CSLNurbsCurve, CSLNurbsSurface, CSLPointLight, CSLPolygonList, CSLSceneInfo, CSLShaderInstanceData, CSLShape, CSLShape_35, CSLShapeAnimation, CSLSpotLight, CSLStaticValue, CSLSurfaceMesh, CSLTexture2D, CSLTimeControl, CSLTrack, CSLTransform, CSLTriangleList, CSLTriangleStrip, CSLTriangleStripList, CSLVisibility, CSLXSICamera, CSLXSICameraFocalLength, CSLXSIClipToParent, CSLXSIClusterInfo, CSLImage, CSLImageData, CSLImageFX, CSLImageFX2, CSLImageLibrary, CSLXSIIndexList, CSLXSILimit, CSLXSIMaterial, CSLXSIMaterialInfo, CSLXSIMesh, CSLNurbsProjection, CSLNurbsTrim, CSLXSIPolygonList, CSLXSIShader, CSLXSIShaderCompound, CSLXSIShaderCompoundPort, CSLXSIShaderMultiPortConnection, CSLXSIShape, CSLXSIShapeAnimation, CSLXSIShapeReference, CSLXSISubComponentAttributeList, CSLXSITextureLayer, CSLXSITextureLayerPort, CSLXSITranslate, CSLXSIRotate, CSLXSIScale, CSLXSIShear, CSLXSILookat, CSLXSIMatrix, CSLXSIPolymatricks, CSLXSITransform, CSLXSIBasePose, CSLXSITriangleList, CSLXSITriangleStripList, CSLUserData, CSLUserDataBlob, CSLUserDataList, CSLXSIUserKeyword, and CSLXSIVertexList.

virtual CSLAnimatableType* ParameterFromName ( SI_Char *  in_szName  )  [virtual]

Returns a proxy to the specified parameter.

Parameters:
[in]  in_szName  Name of the parameter
Returns:
Pointer to a parameter proxy.

Reimplemented in CSLActionClip, CSLAmbience, CSLCamera, CSLCustomPSet, CSLDirectionalLight, CSLFog, CSLFXOperator, CSLFXTree, CSLGeometry, CSLIKEffector, CSLIKResolutionPlane, CSLIKJoint, CSLLight, CSLLightInfo, CSLMaterial, CSLMesh, CSLModel, CSLPolygonList, CSLSceneInfo, CSLShaderInstanceData, CSLSpotLight, CSLTransform, CSLTriangleList, CSLTriangleStripList, CSLVisibility, CSLXSICamera, CSLXSICameraFocalLength, CSLXSIClipToParent, CSLXSIGeometry, CSLImage, CSLImageFX, CSLImageFX2, CSLImageLibrary, CSLXSILimit, CSLXSIMaterial, CSLXSIMaterialInfo, CSLXSIMesh, CSLXSIShader, CSLXSITextureLayer, CSLXSITextureLayerPort, CSLXSITranslate, CSLXSIRotate, CSLXSIScale, CSLXSIShear, CSLXSILookat, CSLXSIMatrix, CSLXSITransform, and CSLXSIBasePose.

virtual CSLAnimatableType* ParameterFromType ( EFCurveType  in_Type,
SI_Char *  in_szParameterName  
) [virtual]

Returns a proxy to the specified parameter.

Parameters:
[in]  in_Type  Type of parameter
[in]  in_szParameterName  Name of the parameter if the type is SI_PARAMETER
Returns:
Pointer to a parameter proxy.

Reimplemented in CSLActionClip, CSLAmbience, CSLCamera, CSLCustomPSet, CSLDirectionalLight, CSLFog, CSLFXOperator, CSLLight, CSLLightInfo, CSLMaterial, CSLShaderInstanceData, CSLSpotLight, CSLTransform, CSLVisibility, CSLXSICamera, CSLXSICameraFocalLength, CSLXSIClipToParent, CSLImage, CSLImageFX, CSLImageFX2, CSLXSILimit, CSLXSIShader, CSLXSITextureLayer, CSLXSITextureLayerPort, CSLXSITranslate, CSLXSIRotate, CSLXSIScale, CSLXSIShear, CSLXSILookat, CSLXSIMatrix, CSLXSITransform, and CSLXSIBasePose.

virtual SI_Char* FullName (  )  [virtual]

Returns the object's fullname (Softimage path).

Returns:
Pointer to a string containing the object's fullname (Softimage path).

CSLUserDataBlob* ConnectUserDataBlob ( CSLUserDataBlob in_pNewUserDataBlob  ) 

Connects a user data blob to this template

Parameters:
[in]  in_pNewUserDataBlob  the user data blob to connect
Returns:
Pointer to the specified user data blob

CSLUserDataBlob* AddUserDataBlob (  ) 

Adds a user data blob to the template

Returns:
Pointer to the newly created user data blob, NULL if failed

SI_Error ClearUserDataBlobs (  ) 

Clears all the user data blobs on that template

Returns:
whether the function failed or succeeded

CSLUserDataBlob** GetUserDataBlobList (  ) 

Returns the list of user data blobs on that template

Returns:
array of user data blobs instances

SI_Int GetUserDataBlobCount (  ) 

Returns the number of user data blobs on that template

Returns:
the number of user data blobs on that template

SI_Error RemoveUserDataBlob ( SI_Int  in_nIndex  ) 

Removes a user data blob by index

Parameters:
[in]  in_nIndex  Index of blob to remove
Returns:
whether the function failed or succeeded

SI_Error RemoveUserDataBlob ( CSLUserDataBlob in_pToRemove  ) 

Removes a user data blob by name

Parameters:
[in]  in_pToRemove  Blob to remove
Returns:
whether the function failed or succeeded

CSLXSIUserKeyword* GetUserKeyword (  ) 

Returns the CSLXSIUserKeyword object

Returns:
The CSLXSIUserKeyword object if it exists, NULL if not.

CSLXSIUserKeyword* CreateUserKeyword (  ) 

Creates a CSLXSIUserKeyword object

Returns:
The CSLXSIUserKeyword object

CSLXSIUserKeyword* ConnectUserKeyword ( CSLXSIUserKeyword in_pToConnect  ) 

Connects an existing CSLXSIUserKeyword object to the template

Parameters:
[in]  in_pToConnect  The new CSLXSIUserKeyword
Returns:
The old CSLXSIUserKeyword

virtual const SI_Char* GetParameterName ( CSLAnimatableType in_pParameter  )  [virtual]

Returns the name (string) of a specified parameter.

Parameters:
[in]  in_pParameter  The parameter
Returns:
Name of the parameter.

Reimplemented in CSLCOLLADAModel, CSLModel, CSLXSICamera, CSLXSICameraFocalLength, CSLXSILimit, CSLXSITranslate, CSLXSIRotate, CSLXSIScale, CSLXSIShear, CSLXSILookat, CSLXSIMatrix, CSLXSIPolymatricks, CSLXSITransform, and CSLXSIBasePose.

SI_Bool AreFullNamesExported (  ) 

Checks if the version of dotXSI file exports with full names (e.g. "model.name") or just the name

Return values:
true  if the full name is exported for this version

virtual SI_Error Evaluate ( SI_Float  in_fTime  )  [virtual]

Evalutes this class using the given time value

Parameters:
[in]  in_fTime  The time
Return values:
SI_Error::SI_SUCCESS 

Reimplemented in CSLBaseFCurve.

SI_Error SetParent ( CSLModel in_pNewParent  )  [protected]

Resets the Parent to the given parent

Parameters:
[in]  in_pNewParent 
Return values:
SI_Error::SI_SUCCESS  if successfull


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