CSLXSIMaterial Class Reference

#include <XSIMaterial.h>

Inheritance diagram for CSLXSIMaterial:

CSLBaseMaterial CSLTemplate CSIBCNode List of all members.

Public Member Functions

  CSLXSIMaterial (CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate)
virtual  ~CSLXSIMaterial ()
  Destructor.
CSLTemplate::ETemplateType  Type ()
SI_Error  Synchronize ()
virtual CSLAnimatableType ParameterFromName (SI_Char *in_szName)
CSLConnectionPoint AddConnectionPoint ()
SI_Error  RemoveConnectionPoint (SI_Int in_nIndex)
SI_Error  RemoveConnectionPoint (CSLConnectionPoint *in_pToRemove)
SI_Error  ClearConnectionPoints ()
CSLConnectionPoint ConnectConnectionPoint (CSLConnectionPoint *in_pToConnect)
CSLConnectionPoint **  GetConnectionPointList ()
SI_Int  GetConnectionPointCount ()
CSLXSIShader AddShader ()
SI_Error  RemoveShader (SI_Int in_nIndex)
SI_Error  RemoveShader (CSLXSIShader *in_pToRemove)
SI_Error  ClearShaders ()
CSLXSIShader ConnectShader (CSLXSIShader *in_pToConnect)
CSLXSIShader **  GetShaderList ()
SI_Int  GetShaderCount ()
CSLXSIShader FindShader (SI_Char *in_szShaderName)
CSLXSIMaterialInfo CreateMaterialInfo ()
SI_Error  DestroyMaterialInfo ()
CSLXSIMaterialInfo ConnectMaterialInfo (CSLXSIMaterialInfo *in_pToConnect)
CSLXSIMaterialInfo GetMaterialInfo ()
CSLXSIShaderMultiPortConnection AddMultiPortConnection ()
SI_Error  RemoveMultiPortConnection (SI_Int in_nIndex)
SI_Error  RemoveMultiPortConnection (CSLXSIShaderMultiPortConnection *in_pToRemove)
CSLXSIShaderMultiPortConnection GetMultiPortConnection (SI_Int in_nIndex)
CSLXSIShaderMultiPortConnection GetMultiPortConnectionByParameter (SI_Char *in_pParameter)
SI_Int  GetMultiPortConnectionCount ()
SI_Error  ClearMultiPortConnections ()
CSLXSIShaderMultiPortConnection **  GetMultiPortConnectionList ()
CSLXSIShaderMultiPortConnection ConnectMultiPortConnection (CSLXSIShaderMultiPortConnection *in_pToConnect)
CSLXSIShaderMultiPortConnection FindMultiPortConnectionByParameterName (SI_Char *in_pName)
CSLXSITextureLayer AddTextureLayer ()
SI_Error  RemoveTextureLayer (SI_Int in_nIndex)
SI_Error  RemoveTextureLayer (CSLXSITextureLayer *in_pToRemove)
CSLXSITextureLayer GetTextureLayer (SI_Int in_nIndex)
CSLXSITextureLayer FindTextureLayerByOrder (SI_Int in_nOrder)
SI_Int  GetTextureLayerCount ()
SI_Error  ClearTextureLayers ()
CSLXSITextureLayer **  GetTextureLayerList ()
CSLXSITextureLayer ConnectTextureLayer (CSLXSITextureLayer *in_pToConnect)

Detailed Description

Base class to describe a Material for dotXSI 5.0+ (see the XSI_Material template reference).

The role of this class is to help build a shader tree that describes an effect. They are containers of CSLXSIShader objects and CSLConnectionPoint objects.

Tip:
To get more information on Materials, see the Autodesk Softimage documentation on the render tree and the Realtime Shaders SDK documentation.
Note:
This template was introduced in dotXSI Version 3.6


Constructor & Destructor Documentation

CSLXSIMaterial ( CSLScene in_pScene,
CSLModel in_pModel,
CdotXSITemplate in_pTemplate  
)

Constructor

Parameters:
in_pScene  Parent scene
in_pModel  Parent model
in_pTemplate  Refered template


Member Function Documentation

CSLTemplate::ETemplateType Type (  )  [inline, virtual]

Returns the type of this template (XSI_MATERIAL)

Returns:
CSLTemplate::ETemplateType The type of this template (XSI_MATERIAL)

Implements CSLTemplate.

SI_Error Synchronize (  )  [virtual]

Commit the current template information

Returns:
SI_Error Whether or not the commit was successful

Reimplemented from CSLBaseMaterial.

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

Searches for a parameter

Parameters:
in_szName  Name of the parameter to look for
Returns:
CSLAnimatableType Pointer to the found parameter, null otherwise

Reimplemented from CSLTemplate.

CSLConnectionPoint* AddConnectionPoint (  ) 

Add a connection point to the connection point list

Returns:
CSLConnectionPoint Pointer to the newly added connection point

SI_Error RemoveConnectionPoint ( SI_Int  in_nIndex  ) 

Removes a connection point from the connection point list

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

SI_Error RemoveConnectionPoint ( CSLConnectionPoint in_pToRemove  ) 

Removes a connection point from the connection point list

Parameters:
in_pToRemove  Pointer to the connection point to remove
Returns:
SI_Error Whether or not the connection point could be removed

SI_Error ClearConnectionPoints (  ) 

Removes all connections points from the connection point list

Returns:
SI_Error Whether or not the list could be cleared

CSLConnectionPoint* ConnectConnectionPoint ( CSLConnectionPoint in_pToConnect  ) 

Adds an exisiting connection point to the connection point list

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

CSLConnectionPoint** GetConnectionPointList (  ) 

Gets a pointer to the internally-stored connection point pointer list

Returns:
CSLConnectionPoint Pointer to the list

SI_Int GetConnectionPointCount (  ) 

Gets the total number of connection points

Returns:
SI_Int Number of connection points

CSLXSIShader* AddShader (  ) 

Adds a shader to the shader list

Returns:
CSLXSIShaderPointer to the newly added shader

SI_Error RemoveShader ( SI_Int  in_nIndex  ) 

Removes a shader from the shader list

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

SI_Error RemoveShader ( CSLXSIShader in_pToRemove  ) 

Removes a shader from the shader list

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

SI_Error ClearShaders (  ) 

Removes all connections points from the shader list

Returns:
SI_Error Whether or not the list could be cleared

CSLXSIShader* ConnectShader ( CSLXSIShader in_pToConnect  ) 

Adds an exisiting shader to the shader list

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

CSLXSIShader** GetShaderList (  ) 

Gets a pointer to the internally-stored shader pointer list

Returns:
CSLXSIShader Pointer to the list

SI_Int GetShaderCount (  ) 

Gets the total number of Shaders

Returns:
SI_Int Number of Shaders

CSLXSIShader* FindShader ( SI_Char *  in_szShaderName  ) 

Searches for a given shader

Parameters:
in_szShaderName  Name of the shader to look for
Returns:
CSLXSIShader Pointer to the shader or null if it cannot be found

CSLXSIMaterialInfo* CreateMaterialInfo (  ) 

Creates a new material info

Returns:
The new material info or null if there's already one

SI_Error DestroyMaterialInfo (  ) 

Destroys the material info

Returns:
SI_Error Whether or not the material info could be destroyed

CSLXSIMaterialInfo* ConnectMaterialInfo ( CSLXSIMaterialInfo in_pToConnect  ) 

Connects an exisiting material info

Parameters:
in_pToConnect  Pointer to the material info to use
Returns:
The added material info or null if there's already one

CSLXSIMaterialInfo* GetMaterialInfo (  ) 

Gets a pointer to the material info

Returns:
CSLXSIMaterialInfo Pointer to the material info

CSLXSIShaderMultiPortConnection* AddMultiPortConnection (  ) 

Add a multi port connection to the multi port connection list

Parameters:
in_pParameter  Name of the new multi port connection parameter
in_pPortName  Name of the new multi port connection port name
Returns:
The added multi port connection

SI_Error RemoveMultiPortConnection ( SI_Int  in_nIndex  ) 

Remove a multi port connection from the multi port connection list

Parameters:
in_nIndex  Index of the multi port connection to remove

SI_Error RemoveMultiPortConnection ( CSLXSIShaderMultiPortConnection in_pToRemove  ) 

Remove a multi port connection from the multi port connection list

Parameters:
in_pToRemove  The multi port connection to remove

CSLXSIShaderMultiPortConnection* GetMultiPortConnection ( SI_Int  in_nIndex  ) 

Get the CSLXSIShaderMultiPortConnection object of a given multi port connection by index.

Parameters:
in_nIndex  Index of the multi port connection to get
Returns:
CSLXSIShaderMultiPortConnection The CSLXSIShaderMultiPortConnection that holds the name and the type of a multi port connection.

CSLXSIShaderMultiPortConnection* GetMultiPortConnectionByParameter ( SI_Char *  in_pParameter  ) 

Get the CSLXSIShaderMultiPortConnection object of a given multi port connection by parameter name.

Parameters:
in_pParameter  Name of the multi port connection parameter you're looking for
Returns:
CSLXSIShaderMultiPortConnection Pointer to the CSLXSIShaderMultiPortConnection found

NULL If not found

SI_Int GetMultiPortConnectionCount (  ) 

Get the number of multi port connection in the multi port connection list

Returns:
SI_Int The number of multi port connection in the multi port connection list

SI_Error ClearMultiPortConnections (  ) 

Deletes all the multi port connection form the multi port connection list

CSLXSIShaderMultiPortConnection** GetMultiPortConnectionList (  ) 

Gets a pointer to the internally-stored multi port connection pointer list

Returns:
CSLXSIShaderMultiPortConnection Pointer to the list

CSLXSIShaderMultiPortConnection* ConnectMultiPortConnection ( CSLXSIShaderMultiPortConnection in_pToConnect  ) 

Adds an exisiting multi port connection to the multi port connection list

Parameters:
in_pToConnect  Pointer to the multi port connection to add
Returns:
The added multi port connection

CSLXSIShaderMultiPortConnection* FindMultiPortConnectionByParameterName ( SI_Char *  in_pName  ) 

Search the multi port connection list for one with a corresponding parameter name

Parameters:
in_pName  The parameter name to look for
Returns:
Pointer on the multi port connection if found, NULL if not found

CSLXSITextureLayer* AddTextureLayer (  ) 

Add a texture layer to the texture layer list

Returns:
The added texture layer

SI_Error RemoveTextureLayer ( SI_Int  in_nIndex  ) 

Remove a texture layer from the texture layer list

Parameters:
in_nIndex  Index of the texture layer to remove

SI_Error RemoveTextureLayer ( CSLXSITextureLayer in_pToRemove  ) 

Remove a texture layer from the texture layer list

Parameters:
in_pToRemove  The texture layer to remove

CSLXSITextureLayer* GetTextureLayer ( SI_Int  in_nIndex  ) 

Get the CSLXSITextureLayer object by index.

Parameters:
in_nIndex  Index of the texture layer to get
Returns:
CSLXSITextureLayer The CSLXSITextureLayer.

CSLXSITextureLayer* FindTextureLayerByOrder ( SI_Int  in_nOrder  ) 

Search the texture layer list for one with a corresponding order index

Parameters:
in_nOrder  The order index of the texture layer to look for
Returns:
Pointer on the texture layer if found, NULL if not found

SI_Int GetTextureLayerCount (  ) 

Get the number of texture layer in the texture layer list

Returns:
SI_Int The number of texture layer in the texture layer list

SI_Error ClearTextureLayers (  ) 

Deletes all the texture layer form the texture layer list

CSLXSITextureLayer** GetTextureLayerList (  ) 

Gets a pointer to the internally-stored texture layer pointer list

Returns:
CSLXSITextureLayer Pointer to the list

CSLXSITextureLayer* ConnectTextureLayer ( CSLXSITextureLayer in_pToConnect  ) 

Adds an exisiting texture layer to the texture layer list

Parameters:
in_pToConnect  Pointer to the texture layer to add
Returns:
The added texture layer


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