Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   Compound Members  

CSLTemplate Class Reference

#include <Template.h>

Inheritance diagram for CSLTemplate::

CSIBCNode CSLAction CSLActionClip CSLAmbience CSLAngle CSLBaseFCurve CSLBaseMaterial CSLBaseShape CSLCluster CSLConstraint CSLCoordinateSystem CSLCustomPSet CSLEnvelope CSLEnvelopeList CSLExtrapolation CSLFileInfo CSLFog CSLFXOperator CSLFXTree CSLGlobalMaterial CSLImage CSLImageClip CSLImageData CSLImageFX CSLImageLibrary CSLLightInfo CSLMaterialLibrary CSLMixer CSLModel CSLNurbsProjection CSLNurbsTrim CSLPolygonList CSLPrimitive CSLSceneInfo CSLShaderInstanceData CSLShapeAnimation CSLStaticValue CSLTexture2D CSLTimeControl CSLTrack CSLTransform CSLTriangleList CSLTriangleStrip CSLTriangleStripList CSLUserData CSLUserDataList CSLVisibility CSLXSICustomParamInfo CSLXSIMaterialInfo CSLXSIShader List of all members.

Public Types

Public Methods

Protected Methods


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 CSLTemplate::EFCurveInterpolationType
 

The EFCurveInterpolationType enum contains possible interpolation types for an fcurve

enum CSLTemplate::EFCurveType
 

The EFCurveType enum lists all animatable parameters.

Enumeration values:
SI_COLOR_R  Color
SI_COLOR_G  Color
SI_COLOR_B  Color
SI_POSITION_X  Camera position
SI_POSITION_Y  Camera position
SI_POSITION_Z  Camera position
SI_ROLL  Camera roll
SI_FOV  Camera fov
SI_NEAR  Camera near plane
SI_FAR  Camera far plane
SI_INTEREST_X  Camera interest position
SI_INTEREST_Y  Camera interest position
SI_INTEREST_Z  Camera interest position
SI_CONE  Light cone angle
SI_SPREAD  Light spread
SI_ORIENTATION_X  Light orientation
SI_ORIENTATION_Y  Light orientation
SI_ORIENTATION_Z  Light orientation
SI_DIFFUSE_R  Material diffuse
SI_DIFFUSE_G  Material diffuse
SI_DIFFUSE_B  Material diffuse
SI_DIFFUSE  Material diffuse
SI_PARAMETER  Named parameter
SI_POWER  Material specular power
SI_SPECULAR_R  Material specular
SI_SPECULAR_G  Material specular
SI_SPECULAR_B  Material specular
SI_EMISSIVE_R  Material emissive
SI_EMISSIVE_G  Material emissive
SI_EMISSIVE_B  Material emissive
SI_AMBIENT_R  Material ambient
SI_AMBIENT_G  Material ambient
SI_AMBIENT_B  Material ambient
SI_SCALING_X  Scaling
SI_SCALING_Y  Scaling
SI_SCALING_Z  Scaling
SI_ROTATION_X  Rotation
SI_ROTATION_Y  Rotation
SI_ROTATION_Z  Rotation
SI_TRANSLATION_X  Translation
SI_TRANSLATION_Y  Translation
SI_TRANSLATION_Z  Translation
SI_SHPANIM  ShapeAnimation
SI_NODEVIS  Visibility

enum CSLTemplate::ETemplateType
 

This enum lists all templates supported by the semantic layer.

Enumeration values:
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  SI_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  Light info 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_SceneInfo template
SI_SHAPE  SI_Shape template
SI_SHAPE35  SI_Shape dotXSI Version 3.5+
SI_SHAPE_ANIMATION  SI_ShapeAnimation Template
SI_SPOT_LIGHT  Spot light
SI_SURFACE_MESH  SI_SurfaceMesh template
SI_TEXTURE_2D  Legacy SI_Texture2D template
SI_TRANSFORM  SI_Transform template
SI_TRIANGLE_LIST  SI_TriangleList template
SI_TRIANGLE_STRIP  SI_TriangleStrip template
SI_TRIANGLE_STRIP_LIST  SI_TriangleStripList 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


Member Function Documentation

SI_Error CSLTemplate::ClearFCurves  
 

Remove all fcurves on the template.

Returns:
SI_Error Error code.

CSLFCurve * CSLTemplate::CreateFCurve EFCurveType    in_Type,
EFCurveInterpolationType    in_InterpolationType
 

Create a new FCurve on this template.

Parameters:
in_Type  Type of fcurve to create
in_InterpolationType  Type of interpolation for the fcurve
Returns:
CSLFCurve* Pointer to the newly created fcurve.

CSLFCurve * CSLTemplate::CreateParameterFCurve SI_Char *    in_szParameterName,
EFCurveInterpolationType    in_InterpolationType
 

Create a new FCurve on this template.

Parameters:
in_szParameterName  Name of the parameter
in_InterpolationType  Type of interpolation for the fcurve
Returns:
CSLFCurve* Pointer to the newly created fcurve.

SI_Error CSLTemplate::DestroyFCurve EFCurveType    in_Type
 

Destroy an existing FCurve on this template.

Parameters:
in_Type  Type of fcurve to destroy
Returns:
SI_Error Error code.

CSLFCurve ** CSLTemplate::FCurves  
 

List all fcurves on the template.

Returns:
CSLFCurve** Array of pointers to fcurves.

SI_Error CSLTemplate::Fix   [virtual]
 

Clean invalid data from the template.

Returns:
SI_Error Error code

Reimplemented in CSLBaseShape, CSLMesh, CSLModel, CSLNurbsSurface, CSLShapeAnimation, CSLNurbsProjection, and CSLNurbsTrim.

SI_Int CSLTemplate::GetFCurveCount  
 

Return the number of fcurves currently present on the template.

Returns:
SI_Int Number of fcurves.

CSLFCurve * CSLTemplate::GetParameterFCurve SI_Char *    in_szParameterName
 

Return a specific fcurve on the template.

Parameters:
in_szParameterName  Name of the parameter's FCurve to find
Returns:
CSLFCurve* Pointer to the specified fcurve.

CSLFCurve * CSLTemplate::GetSpecificFCurve EFCurveType    in_Type
 

Return a specific fcurve on the template.

Parameters:
in_Type  Type of fcurve to retrieve.
Returns:
CSLFCurve* Pointer to the specified fcurve.

CSLAnimatableType * CSLTemplate::ParameterFromName SI_Char *    in_szName [virtual]
 

Return a proxy to the specified parameter.

Parameters:
in_szName  Name of the parameter
Returns:
CSLAnimatableType* Pointer to a parameter proxy.

Reimplemented in CSLAmbience, CSLCamera, CSLCustomPSet, CSLDirectionalLight, CSLFog, CSLFXOperator, CSLFXTree, CSLGeometry, CSLIKEffector, CSLIKJoint, CSLLight, CSLLightInfo, CSLMaterial, CSLMesh, CSLModel, CSLPolygonList, CSLSceneInfo, CSLShaderInstanceData, CSLSpotLight, CSLTransform, CSLTriangleList, CSLTriangleStripList, CSLVisibility, CSLImage, CSLImageFX, CSLImageLibrary, CSLXSIMaterial, CSLXSIMaterialInfo, and CSLXSIShader.

CSLAnimatableType * CSLTemplate::ParameterFromType EFCurveType    in_Type,
SI_Char *    in_szParameterName
[virtual]
 

Return a proxy to the specified parameter.

Parameters:
in_Type  Type of parameter
in_szParameterName  Name of the parameter if the type is SI_PARAMETER
Returns:
CSLAnimatableType* Pointer to a parameter proxy.

Reimplemented in CSLAmbience, CSLCamera, CSLCustomPSet, CSLDirectionalLight, CSLFog, CSLFXOperator, CSLLight, CSLMaterial, CSLShaderInstanceData, CSLSpotLight, CSLTransform, CSLVisibility, and CSLXSIShader.

CSLModel * CSLTemplate::ParentModel  
 

Return the model parent of this template.

Returns:
CSLModel* Pointer to the parent model.

CSLScene * CSLTemplate::Scene  
 

Return the current scene object.

Returns:
CSLScene* Pointer to the scene.

SI_Error CSLTemplate::SetParent CSLModel   in_pNewParent [protected]
 

Resets the Parent to the given parent

Parameters:
in_pNewParent 
Returns:
SI_SUCCESS if successfull

SI_Error CSLTemplate::Synchronize   [virtual]
 

Synchronize will ensure that the animated parameter is up to date.

Returns:
SI_Error Error code

Reimplemented in CSLAction, CSLActionClip, CSLActionFCurve, CSLBaseFCurve, CSLBaseShape, CSLCluster, CSLConstraint, CSLCurveList, CSLXSICustomParamInfo, CSLCustomPSet, CSLDirectionalLight, CSLEnvelope, CSLEnvelopeList, CSLFCurve, CSLFileInfo, CSLFXOperator, CSLFXTree, CSLGeometry, CSLGlobalMaterial, CSLIKEffector, 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, CSLImage, CSLImageData, CSLImageLibrary, CSLXSIMaterial, CSLNurbsProjection, CSLNurbsTrim, CSLXSIShader, CSLUserData, and CSLUserDataList.

CdotXSITemplate * CSLTemplate::Template  
 

Return the FTK object associated with this template.

Returns:
CdotXSITemplate* Pointer to a FTK template.

virtual ETemplateType CSLTemplate::Type   [pure virtual]
 

Indicate which dotXSI template this object describes.

Returns:
ETemplateType Type of template

Reimplemented in CSLAction, CSLActionClip, CSLActionFCurve, CSLAmbience, CSLAngle, CSLCamera, CSLCluster, CSLConstraint, CSLCoordinateSystem, CSLCurveList, CSLXSICustomParamInfo, CSLCustomPSet, CSLDirectionalLight, CSLEnvelope, CSLEnvelopeList, CSLExtrapolation, CSLFCurve, CSLFileInfo, CSLFog, CSLFXOperator, CSLFXTree, CSLGlobalMaterial, CSLIKEffector, 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, CSLImage, CSLImageData, CSLImageFX, CSLImageLibrary, CSLXSIMaterial, CSLXSIMaterialInfo, CSLNurbsProjection, CSLNurbsTrim, CSLXSIShader, CSLUserData, and CSLUserDataList.


The documentation for this class was generated from the following files: © Copyright 2001-2003 Avid Technology, Inc. All rights reserved.

© Copyright 2001-2003 Avid Technology, Inc. All rights reserved.