Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

RmTextureObject Class Reference

Texture Object. More...

#include <RmEffect.h>

Inheritance diagram for RmTextureObject:

RmNode List of all members.

Public Member Functions

 RmTextureObject ()
 Default Constructor.

 RmTextureObject (bool bVertexTexture, int nStageIndex, const RM_TCHAR *pStrAPI)
 Constructor.

virtual ~RmTextureObject ()
 Destructor.

void Initialize ()
 Initialize.

virtual void Update (RmNodeUpdateType nodeUpdateType, RmNode *pRmUpdateRootNode)
 Update.

virtual bool LoadXMLData (int hDoc, const RM_TCHAR *strXPath, const RM_TCHAR *strRmXMLVersion)
 Load node data from XML.

virtual bool SaveXMLData (int hDoc, const RM_TCHAR *strXPath)
 Save node data to XML.

virtual RmNodeClone (bool bIncludeLoadedData)
 Clone this node.

virtual const RM_TCHAR * GetDescription ()
virtual bool IsNodeValid ()
 Is node valid.

bool AddTextureReference (RmTextureReference *pTextureRef)
 Add texture reference.

void DeleteTextureReference ()
 Delete Texture reference.

RmTextureReferenceGetTextureReference ()
 Get texture reference.

RmStateFindTextureStageState (unsigned long ulType)
 Find texture stage state.

bool AddTextureStageState (RmState *pTextureState)
 Add texture stage state.

void DeleteTextureStageState (unsigned long ulType)
 Delete texture stage stage.

RmStateFindSamplerState (unsigned long ulType)
 Find sample state.

bool AddSamplerState (RmState *pSamplerState)
 Add sampler state.

void DeleteSamplerState (unsigned long ulType)
 Delete sampler state.

int GetStageIndex ()
 Get stage index.

void SetStageIndex (int nIndex)
 Set stage index.

RmStateListIterator BeginTextureStageStates ()
 Begin iterator for Texture stage.

RmStateListConstIterator BeginTextureStageStates () const
 Begin iterator for Texture stage.

RmStateListIterator EndTextureStageStates ()
 End iterator for Texture stage.

RmStateListConstIterator EndTextureStageStates () const
 End iterator for Texture stage.

RmStateListIterator BeginSamplerStates ()
 Begin iterator for Sampler stage.

RmStateListConstIterator BeginSamplerStates () const
 Begin iterator for Sampler stage.

RmStateListIterator EndSamplerStates ()
 End iterator for Sampler stage.

RmStateListConstIterator EndSamplerStates () const
 End iterator for Sampler stage.

bool IsVertexTexture ()
 Returns the vertex texture flag.


Protected Member Functions

virtual void CopyNodeData (RmNode *pDestinationNode, bool bIncludeLoadedData)
 Copy node data.

virtual RmNodeTypeChildRuleListGetNodeTypeChildRuleList ()
 Parent / Child rule list function.

virtual void SetNodeTypeChildRuleList (RmNodeTypeChildRuleList *pRmNodeChildRuleList)
 Sets the node child rule list for the given node.


Protected Attributes

int m_nStageIndex
 Texture stage nIndex for this texture object.

RmStateList m_textureStageStates
 The list of all associated texture stage states.

RmStateList m_samplerStates
 The list of all associated sampler states.

RmTextureReferencem_pTextureRef
 Texture reference attached to this texture object.

bool m_bVertexTexture
 Texture is flagged for use within a vertex shader.


Detailed Description

Texture Object.

RmTextureObject contains any number of RmTextureStageState structures as well as a RmTextureRef structure


Constructor & Destructor Documentation

RmTextureObject::RmTextureObject  ) 
 

Default Constructor.

Default constructor

RmTextureObject::RmTextureObject bool  bVertexTexture,
int  nStageIndex,
const RM_TCHAR *  pStrAPI
 

Constructor.

Create new texture object for given texture stage nIndex

Parameters:
nStageIndex Stage index , pStrAPI API string

virtual RmTextureObject::~RmTextureObject  )  [virtual]
 

Destructor.

Destructor


Member Function Documentation

bool RmTextureObject::AddSamplerState RmState pSamplerState  ) 
 

Add sampler state.

Add new sampler state. Note that if the texture object already contains a sampler state with the same type, it will be replaced with new values

Parameters:
pSamplerState Sampler state to add
See also:
RmState
Returns:
True on success

bool RmTextureObject::AddTextureReference RmTextureReference pTextureRef  ) 
 

Add texture reference.

Adds a texture reference node to this texture object. Texture reference actually links this texture object to a specific texture variable.

Parameters:
pTextureRef Texture reference
See also:
RmTextureReference

bool RmTextureObject::AddTextureStageState RmState pTextureState  ) 
 

Add texture stage state.

Add new texture state to this texture object. Note that if the texture object already contains a texture stage state with the same type, it will be replaced with new values.

Parameters:
pTextureState Texture State to add
See also:
RmState
Returns:
True on success

RmStateListConstIterator RmTextureObject::BeginSamplerStates  )  const [inline]
 

Begin iterator for Sampler stage.

Begin iterator for Sampler stage

Returns:
Begin iterator for Sampler stage

RmStateListIterator RmTextureObject::BeginSamplerStates  )  [inline]
 

Begin iterator for Sampler stage.

Begin iterator for Sampler stage

Returns:
Begin iterator for Sampler stage

RmStateListConstIterator RmTextureObject::BeginTextureStageStates  )  const [inline]
 

Begin iterator for Texture stage.

Begin iterator for Texture stage

Returns:
Begin iterator for Texture stage

RmStateListIterator RmTextureObject::BeginTextureStageStates  )  [inline]
 

Begin iterator for Texture stage.

Begin iterator for Texture stage

Returns:
Begin iterator for Texture stage

virtual RmNode* RmTextureObject::Clone bool  bIncludeLoadedData  )  [virtual]
 

Clone this node.

Creates a clone of this node

Returns:
Cloned node. Returns NULL if cloning failed.

Reimplemented from RmNode.

virtual void RmTextureObject::CopyNodeData RmNode pDestinationNode,
bool  bIncludeLoadedData
[protected, virtual]
 

Copy node data.

Copies this node's contents (not including children) into the destination node. See RmNode::CopyNodeData for details

Parameters:
pDestinationNode the destination node
Returns:
None

Reimplemented from RmNode.

void RmTextureObject::DeleteSamplerState unsigned long  ulType  ) 
 

Delete sampler state.

Delete sampler state based on its type

Parameters:
ulType State type to delete
Returns:
None

void RmTextureObject::DeleteTextureReference  ) 
 

Delete Texture reference.

Deletes current texture reference from this texture object. Note that this call will actually delete the reference node itself.

Returns:
None

void RmTextureObject::DeleteTextureStageState unsigned long  ulType  ) 
 

Delete texture stage stage.

Delete texture stage state based on its type

Parameters:
ulType stage type to delete
Returns:
None

RmStateListConstIterator RmTextureObject::EndSamplerStates  )  const [inline]
 

End iterator for Sampler stage.

End iterator for Sampler stage

Returns:
End iterator for Sampler stage

RmStateListIterator RmTextureObject::EndSamplerStates  )  [inline]
 

End iterator for Sampler stage.

End iterator for Sampler stage

Returns:
End iterator for Sampler stage

RmStateListConstIterator RmTextureObject::EndTextureStageStates  )  const [inline]
 

End iterator for Texture stage.

End iterator for Texture stage

Returns:
End iterator for Texture stage

RmStateListIterator RmTextureObject::EndTextureStageStates  )  [inline]
 

End iterator for Texture stage.

End iterator for Texture stage

Returns:
End iterator for Texture stage

RmState* RmTextureObject::FindSamplerState unsigned long  ulType  ) 
 

Find sample state.

Find sampler state object given its type

Parameters:
ulType 

RmState* RmTextureObject::FindTextureStageState unsigned long  ulType  ) 
 

Find texture stage state.

Find specific texture stage state given its type

Parameters:
ulType Stage type to search for
Returns:
State found
See also:
RmState

virtual const RM_TCHAR* RmTextureObject::GetDescription  )  [virtual]
 

Returns description of the node: used for displaying a tooltip in the workspace tree view for the given node.

Returns:
Returns description string

Reimplemented from RmNode.

virtual RmNodeTypeChildRuleList* RmTextureObject::GetNodeTypeChildRuleList  )  [inline, protected, virtual]
 

Parent / Child rule list function.

Retrieves the rule list for adding child nodes for a given node type

Returns:
Returns node type child list rules

Reimplemented from RmNode.

int RmTextureObject::GetStageIndex  )  [inline]
 

Get stage index.

Retrieve texture stage nIndex for this texture object

Returns:
Stage index

RmTextureReference* RmTextureObject::GetTextureReference  )  [inline]
 

Get texture reference.

Retrieve texture reference node from this texture object

Returns:
Texture reference
See also:
RmTextureReference

void RmTextureObject::Initialize  ) 
 

Initialize.

Initializes texture object

Returns:
None

virtual bool RmTextureObject::IsNodeValid  )  [virtual]
 

Is node valid.

Node valid property

Returns:
True if node is valid

Reimplemented from RmNode.

bool RmTextureObject::IsVertexTexture  )  [inline]
 

Returns the vertex texture flag.

Returns the vertex texture flag

Returns:
vertex texture flag

virtual bool RmTextureObject::LoadXMLData int  hDoc,
const RM_TCHAR *  strXPath,
const RM_TCHAR *  strRmXMLVersion
[virtual]
 

Load node data from XML.

Loads versioned XML node data. Note that this method will only load the contents of each node, not the data for all of the children nodes. Each child will have its own XML loading function called by the API.

Parameters:
hDoc Handle to the XML document
strXPath Node path in XML
strRmXMLVersion XML version
Returns:
True if load succeeded. False otherwise.

Reimplemented from RmNode.

virtual bool RmTextureObject::SaveXMLData int  hDoc,
const RM_TCHAR *  strXPath
[virtual]
 

Save node data to XML.

Saves node's contents to XML. Note that this method will only save the contents of each node, not the data for all of the children nodes. Each child will have its own XML saving function called by the API.

Parameters:
hDoc Handle to the XML document
strXPath Node path in XML
Returns:
True if save succeeded. False otherwise.

Reimplemented from RmNode.

virtual void RmTextureObject::SetNodeTypeChildRuleList RmNodeTypeChildRuleList pRmNodeChildRuleList  )  [inline, protected, virtual]
 

Sets the node child rule list for the given node.

Sets the child addition rule list for the given node.

Parameters:
pRmNodeChildRuleList new node rules list
None 

Reimplemented from RmNode.

void RmTextureObject::SetStageIndex int  nIndex  )  [inline]
 

Set stage index.

Set texture stage nIndex for this texture object

Parameters:
nIndex Index to stage
Returns:
None

virtual void RmTextureObject::Update RmNodeUpdateType  nodeUpdateType,
RmNode pRmUpdateRootNode
[virtual]
 

Update.

Updates the internal values of the node

Parameters:
nodeUpdateType Update type
See also:
RmNodeUpdateType
Parameters:
pRmUpdateRootNode Root node for update
Returns:
None

Reimplemented from RmNode.


The documentation for this class was generated from the following file:
Generated on Fri Feb 25 16:09:27 2005 for RenderMonkey SDK by doxygen 1.3.6