CSLModel Class Reference

#include <Model.h>

Inheritance diagram for CSLModel:

CSLTemplate CSLConstrainableType CSIBCNode CSLCOLLADAModel List of all members.

Public Member Functions

  CSLModel (CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate)
virtual  ~CSLModel ()
  Destructor.
virtual SI_Error  Synchronize ()
virtual ETemplateType  Type ()
virtual CSLAnimatableType ParameterFromName (SI_Char *in_szName)
virtual SI_Error  Fix ()
CSLCluster AddCluster ()
CSLConstraint AddConstraint (CSLConstraint::EConstraintType in_ConstraintType)
SI_Error  RemoveCluster (SI_Int in_nIndex)
SI_Error  RemoveCluster (CSLCluster *in_pToRemove)
SI_Int  GetClusterCount ()
SI_Int  GetEnvelopeCount ()
CSLCluster **  GetClusterList ()
CSLEnvelope **  GetEnvelopeList ()
SI_Error  ClearClusters ()
SI_Error  UnconnectEnvelope (CSLEnvelope *in_pToUnconnect)
CSLCluster ConnectCluster (CSLCluster *in_pNewCluster)
CSLEnvelope ConnectEnvelope (CSLEnvelope *in_pNewEnvelope)
CSLTransform GetBasePose ()
CSLTransform CreateBasePose ()
SI_Error  DestroyBasePose ()
CSLGlobalMaterial GlobalMaterial ()
SI_Error  AddGlobalMaterial ()
CSLTransform Transform ()
CSLVisibility Visibility ()
CSLModel Parent ()
CSLPrimitive Primitive ()
CSLMixer ConnectMixer (CSLMixer *in_pNewMixer)
virtual CSLMixer CreateMixer ()
SI_Error  DestroyMixer ()
CSLMixer Mixer ()
CSLModel ConnectModel (CSLModel *in_pNewModel)
CSLVisibility ConnectVisibility (CSLVisibility *in_pNewVisibility)
CSLTransform ConnectTransform (CSLTransform *in_pNewTransform)
CSLTransform ConnectBasePose (CSLTransform *in_pNewBasePose)
CSLPrimitive ConnectPrimitive (CSLPrimitive *in_pNewPrimitive)
CSLGlobalMaterial ConnectGlobalMaterial (CSLGlobalMaterial *in_pNewGlobalMaterial)
ETemplateType  GetPrimitiveType ()
virtual CSLModel AddCamera ()
virtual CSLModel AddXSICamera ()
CSLModel AddCurveList ()
virtual CSLModel AddDirectionalLight ()
CSLModel AddIKChain (SI_Int in_nNbJoints)
CSLModel AddIKRoot ()
CSLModel AddIKJoint ()
CSLModel AddIKEffector ()
virtual CSLModel AddInfiniteLight ()
virtual CSLModel AddInstance ()
CSLModel AddMesh ()
virtual CSLModel AddXSIMesh ()
virtual CSLModel AddModel ()
CSLModel AddNull ()
CSLModel AddPatch ()
virtual CSLModel AddPointLight ()
virtual CSLModel AddSpotLight ()
CSLModel AddSurfaceMesh ()
CSLModel **  GetChildrenList ()
SI_Error  ClearChildren ()
SI_Int  GetChildrenCount ()
SI_Error  RemoveChild (CSLModel *in_pChild)
SI_Error  RemoveChild (SI_Int in_nIndex)
SI_Error  Reparent (CSLModel *in_pNewParent)
CSLFXTree AddFXTree ()
SI_Error  RemoveFXTree (SI_Int in_nIndex)
SI_Error  RemoveFXTree (CSLFXTree *in_pToRemove)
SI_Error  ClearFXTrees ()
CSLFXTree ConnectFXTree (CSLFXTree *in_pToConnect)
CSLFXTree **  GetFXTreeList ()
SI_Int  GetFXTreeCount ()
CSLFXTree FindFXTree (SI_Char *in_szFXTreeName)
CSLXSITransform XSITransform ()
CSLXSITransform ConnectXSITransform (CSLXSITransform *in_pNewTransform)
CSLXSIBasePose GetXSIBasePose ()
CSLXSIBasePose ConnectXSIBasePose (CSLXSIBasePose *in_pNewBasePose)
CSLXSIBasePose CreateXSIBasePose ()
SI_Error  DestroyXSIBasePose ()
virtual const SI_Char *  GetParameterName (CSLAnimatableType *in_pParameter)
SI_Error  UnconnectModel (CSLModel *in_pModel)

Detailed Description

Handles the Model template (see the SI_Model template reference).


Constructor & Destructor Documentation

CSLModel ( CSLScene in_pScene,
CSLModel in_pModel,
CdotXSITemplate in_pTemplate  
)

Constructor

Parameters:
in_pScene  Parent Scene
in_pModel  Parent Model
in_pTemplate  Parent Template
Returns:
an instance of CSLModel


Member Function Documentation

virtual SI_Error Synchronize (  )  [virtual]

Updates the template with information from this instance

Returns:
SI_Error Whether or not the template could be updated

Reimplemented from CSLConstrainableType.

Reimplemented in CSLCOLLADAModel.

virtual ETemplateType Type (  )  [virtual]

Returns the type of this template: SI_Model

Returns:
SI_Model

Implements CSLTemplate.

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

Gets a handle on one of this model's parameters by using its name

Parameters:
in_szName  the name of the parameter to get the handle from
Returns:
CSLAnimatableType* the handle to the parameter

Reimplemented from CSLTemplate.

virtual SI_Error Fix (  )  [virtual]

Fixes all problems in the model to ensure it is valid

Returns:
SI_Error Whether or not the model could be fixed

Reimplemented from CSLTemplate.

Reimplemented in CSLCOLLADAModel.

CSLCluster* AddCluster (  ) 

Add a cluster to the cluster list

Returns:
CSLCluster Pointer to the newly added cluster

CSLConstraint* AddConstraint ( CSLConstraint::EConstraintType  in_ConstraintType  )  [virtual]

Add a constraint to the constraint list

Returns:
CSLConstraint Pointer to the newly added constraint

Implements CSLConstrainableType.

SI_Error RemoveCluster ( SI_Int  in_nIndex  ) 

Removes a cluster from the cluster list

Parameters:
in_nIndex  Index of the cluster to remove
Returns:
SI_Error Whether or not the cluster could be removed

SI_Error RemoveCluster ( CSLCluster in_pToRemove  ) 

Removes a cluster from the cluster list

Parameters:
in_pToRemove  Pointer of the cluster to remove
Returns:
SI_Error Whether or not the cluster could be removed

SI_Int GetClusterCount (  ) 

Gets the total number of clusters in the cluster list

Returns:
Number of clusters

SI_Int GetEnvelopeCount (  ) 

Gets the total number of envelopes in the envelope list

Returns:
Number of envelopes

CSLCluster** GetClusterList (  ) 

Gets a pointer to the internally-stored cluster pointer list

Returns:
CSLCluster Pointer to the list

CSLEnvelope** GetEnvelopeList (  ) 

Gets a pointer to the internally-stored envelope pointer list

Returns:
CSLEnvelope Pointer to the list

SI_Error ClearClusters (  ) 

Removes all clusters from the internally-stored list and deallocate them

Returns:
SI_Error Whether or not removal was a success

SI_Error UnconnectEnvelope ( CSLEnvelope in_pToUnconnect  ) 

Removes the reference to the specified envelope

Parameters:
in_pToUnconnect  Pointer to the envelope whose reference is to be removed
Returns:
SI_Error Whether or not the removal was a success

CSLCluster* ConnectCluster ( CSLCluster in_pNewCluster  ) 

Adds a reference to an existing cluster

Parameters:
in_pNewCluster  Pointer to the new object to refer to
Returns:
Pointer to the new reference

CSLEnvelope* ConnectEnvelope ( CSLEnvelope in_pNewEnvelope  ) 

Adds a reference to an existing envelope

Parameters:
in_pNewCluster  Pointer to the new object to refer to
Returns:
Pointer to the new reference

CSLTransform* GetBasePose (  ) 

Returns the base position

Returns:
CSLTransform Pointer to the base position

CSLTransform* CreateBasePose (  ) 

Allocates and connects a new base position to the model

Returns:
CSLTransform Pointer to the newly allocated base position

SI_Error DestroyBasePose (  ) 

Deallocates the base position

Returns:
SI_Error Whether or not the base position was removed

CSLGlobalMaterial* GlobalMaterial (  ) 

Returns the global material

Returns:
CSLGlobalMaterial Pointer to the global material

SI_Error AddGlobalMaterial (  ) 

Adds a new GlobalMaterial to this model

Returns:
Success or Error

CSLTransform* Transform (  ) 

Returns the transform

Returns:
CSLTransform Pointer to the transform

CSLVisibility* Visibility (  ) 

Returns visibility Pointer to the visibility

CSLModel* Parent (  ) 

Returns the parent of the model

Returns:
CSLModel Pointer to the parent

CSLPrimitive* Primitive (  ) 

Returns the primitive of the model

Returns:
CSLPrimitive Pointer to the primitive

CSLMixer* ConnectMixer ( CSLMixer in_pNewMixer  ) 

Connects a mixer to the model

Parameters:
in_pNewMixer  Mixer to connect
Returns:
CSLMixer Pointer to the newly connected mixer

virtual CSLMixer* CreateMixer (  )  [virtual]

Allocates and connects a new mixer to the model

Returns:
CSLMixer Pointer to the newly allocated mixer

Reimplemented in CSLCOLLADAModel.

SI_Error DestroyMixer (  ) 

Deallocates the mixer

Returns:
SI_Error Whether or not the mixer was removed

CSLMixer* Mixer (  ) 

Returns the mixer

Returns:
CSLMixer Pointer to the mixer

CSLModel* ConnectModel ( CSLModel in_pNewModel  ) 

Connects to an existing model

Parameters:
in_pNewModel  Pointer to the model to connect
Returns:
CSLModel Pointer to the newly connected model

CSLVisibility* ConnectVisibility ( CSLVisibility in_pNewVisibility  ) 

Connects to an existing visibility

Parameters:
in_pNewVisibility  Pointer to the visibility to connect
Returns:
CSLVisibility Pointer to the newly connected visibility

CSLTransform* ConnectTransform ( CSLTransform in_pNewTransform  ) 

Connects to an existing transform

Parameters:
in_pNewTransform  Pointer to the transform to connect
Returns:
CSLTransform Pointer to the newly connected transform

CSLTransform* ConnectBasePose ( CSLTransform in_pNewBasePose  ) 

Connects to an existing base position

Parameters:
in_pNewBasePose  Pointer to the base pose to connect
Returns:
CSLTransform Pointer to the newly connected base pose

CSLPrimitive* ConnectPrimitive ( CSLPrimitive in_pNewPrimitive  ) 

Connects to an existing primitive

Parameters:
in_pNewPrimitive  Pointer to the primitive to connect
Returns:
CSLPrimitive Pointer to the newly connected primitive

CSLGlobalMaterial* ConnectGlobalMaterial ( CSLGlobalMaterial in_pNewGlobalMaterial  ) 

Connects to an existing global material

Parameters:
in_pNewGlobalMaterial  Pointer to the global material to connect
Returns:
CSLGlobalMaterial Pointer to the newly connected global material

ETemplateType GetPrimitiveType (  ) 

Returns the primitive type of this model

Returns:
ETemplateType Type of the primitive

virtual CSLModel* AddCamera (  )  [virtual]

Adds a camera to the children list

Returns:
Pointer to the new children

Reimplemented in CSLCOLLADAModel.

virtual CSLModel* AddXSICamera (  )  [virtual]

Adds a camera to the children list

Returns:
Pointer to the new children

Reimplemented in CSLCOLLADAModel.

CSLModel* AddCurveList (  ) 

Adds a curve list to the children list

Returns:
Pointer to the new children

virtual CSLModel* AddDirectionalLight (  )  [virtual]

Adds a directional light to the children list

Returns:
Pointer to the new children

Reimplemented in CSLCOLLADAModel.

CSLModel* AddIKChain ( SI_Int  in_nNbJoints  ) 

Adds an IK Chain to the children list

Returns:
Pointer to the new children

CSLModel* AddIKRoot (  ) 

Adds an IK Root to the children list

Returns:
Pointer to the new children

CSLModel* AddIKJoint (  ) 

Adds an IK Joint to the children list

Returns:
Pointer to the new children

CSLModel* AddIKEffector (  ) 

Adds an IK effector to the children list

Returns:
Pointer to the new children

virtual CSLModel* AddInfiniteLight (  )  [virtual]

Adds an infinite light to the children list

Returns:
Pointer to the new children

Reimplemented in CSLCOLLADAModel.

virtual CSLModel* AddInstance (  )  [virtual]

Adds an instance to the children list

Returns:
Pointer to the new children

Reimplemented in CSLCOLLADAModel.

CSLModel* AddMesh (  ) 

Adds a mesh to the children list

Returns:
Pointer to the new children

virtual CSLModel* AddXSIMesh (  )  [virtual]

Adds a mesh to the children list

Returns:
Pointer to the new children

Reimplemented in CSLCOLLADAModel.

virtual CSLModel* AddModel (  )  [virtual]

Adds a model to the children list

Returns:
Pointer to the new children

Reimplemented in CSLCOLLADAModel.

CSLModel* AddNull (  ) 

Adds a null object to the children list

Returns:
Pointer to the new children

CSLModel* AddPatch (  ) 

Adds a patch to the children list

Returns:
Pointer to the new children

virtual CSLModel* AddPointLight (  )  [virtual]

Adds a point light to the children list

Returns:
Pointer to the new children

Reimplemented in CSLCOLLADAModel.

virtual CSLModel* AddSpotLight (  )  [virtual]

Adds a spot light to the children list

Returns:
Pointer to the new children

Reimplemented in CSLCOLLADAModel.

CSLModel* AddSurfaceMesh (  ) 

Adds a surface mesh to the children list

Returns:
Pointer to the new children

CSLModel** GetChildrenList (  ) 

Gets the children of the model

Returns:
CSLModel List of the children

SI_Error ClearChildren (  ) 

Deallocates all the children of the model

Returns:
SI_Error Whether or not clearance was a success

SI_Int GetChildrenCount (  ) 

Gets the number of children

Returns:
SI_Int Number of children

SI_Error RemoveChild ( CSLModel in_pChild  ) 

Removes a child

Parameters:
in_pChild  Pointer to the child to remove
Returns:
SI_Error Whether or not removal was a success

SI_Error RemoveChild ( SI_Int  in_nIndex  ) 

Removes a child

Parameters:
in_nIndex  Index of the child to remove
Returns:
SI_Error Whether or not removal was a success

SI_Error Reparent ( CSLModel in_pNewParent  ) 

Sets a new parent for the model

Parameters:
in_pNewParent  The new parent
Returns:
SI_Error Whether or not reparenting was a success

CSLFXTree* AddFXTree (  ) 

Adds an FX tree to the FX tree list

Returns:
CSLFXTree Pointer to the newly added FX tree

SI_Error RemoveFXTree ( SI_Int  in_nIndex  ) 

Removes an FX tree from the FX tree list

Parameters:
in_nIndex  Index of the FX tree to remove
Returns:
SI_Error Whether or not the FX tree could be removed

SI_Error RemoveFXTree ( CSLFXTree in_pToRemove  ) 

Removes an FX tree from the FX tree list

Parameters:
in_pToRemove  Pointer to the FX tree to remove
Returns:
SI_Error Whether or not the FX tree could be removed

SI_Error ClearFXTrees (  ) 

Removes all connections points from the FX tree list

Returns:
SI_Error Whether or not the list could be cleared

CSLFXTree* ConnectFXTree ( CSLFXTree in_pToConnect  ) 

Adds an exisiting FX tree to the FX tree list

Parameters:
in_pToConnect  Pointer to the FX tree to add
Returns:
The added FX tree or null if it already exists in the list

CSLFXTree** GetFXTreeList (  ) 

Gets a pointer to the internally-stored FX tree pointer list

Returns:
CSLFXTree Pointer to the list

SI_Int GetFXTreeCount (  ) 

Gets the total number of FXTrees

Returns:
SI_Int Number of FXTrees

CSLFXTree* FindFXTree ( SI_Char *  in_szFXTreeName  ) 

Searches for a given FX tree

Parameters:
in_szFXTreeName  Name of the FX tree to look for
Returns:
CSLFXTree Pointer to the FX tree or null if it cannot be found

CSLXSITransform* XSITransform (  ) 

Returns the transform

Returns:
CSLXSITransform Pointer to the transform

CSLXSITransform* ConnectXSITransform ( CSLXSITransform in_pNewTransform  ) 

Connects to an existing transform

Parameters:
in_pNewTransform  Pointer to the transform to connect
Returns:
CSLXSITransform Pointer to the newly connected transform

CSLXSIBasePose* GetXSIBasePose (  ) 

Returns the base pose

Returns:
CSLXSITransform Pointer to the base pose

CSLXSIBasePose* ConnectXSIBasePose ( CSLXSIBasePose in_pNewBasePose  ) 

Connects to an existing base pose

Parameters:
in_pNewBasePose  Pointer to the basepose to connect
Returns:
CSLXSIBasePose Pointer to the newly connected basepose

CSLXSIBasePose* CreateXSIBasePose (  ) 

Allocates and connects a new base position to the model

Returns:
CSLXSIBasePose Pointer to the newly allocated base position

SI_Error DestroyXSIBasePose (  ) 

Deallocates the base pose

Returns:
SI_Error Whether or not the base pose was removed

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

Return the name (string) of a specified parameter.

Parameters:
in_pParameter  The parameter
Returns:
SI_Char* Name of the parameter.

Reimplemented from CSLTemplate.

Reimplemented in CSLCOLLADAModel.

SI_Error UnconnectModel ( CSLModel in_pModel  ) 

Unconnects a child model

Parameters:
in_pModel  the child model to unconnect
Returns:
SI_Error success or failure


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