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

RmStreamChannel Class Reference

Stream Channel. More...

#include <RmEffect.h>

Inheritance diagram for RmStreamChannel:

RmNode List of all members.

Public Member Functions

 RmStreamChannel ()
 Default Constructor.

 RmStreamChannel (DWORD dwUsage, DWORD dwUsageIndex, DWORD dwRegisterIndex, DWORD dwDataType)
 Constructor.

virtual ~RmStreamChannel ()
 Destructor.

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 ()
unsigned long GetRegister ()
 Get register.

void SetRegister (unsigned long ulRegister)
 Set regsiter.

unsigned long GetDataType ()
 Get data type.

void SetDataType (unsigned long ulType)
 Set data type.

int GetSize ()
unsigned long GetUsage ()
 Get usage.

void SetUsage (unsigned long ulUsage)
 Set usage.

unsigned long GetUsageIndex ()
 Get usage index.

void SetUsageIndex (unsigned long ulUsageIndex)
 Get usage index.

const RM_TCHAR * GetUsageString ()
 Get usage string.

RmStreamGetParentStream ()
 Get parent stream.


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

RmStringT m_strUsage
 String for usage.

unsigned long m_ulRegister
 Register that this channel linked to (DX8 legacy).

unsigned long m_ulDataType
 Channel type.

unsigned long m_ulUsage
 Channel usage ( eg: POSITION, NORMAL, BINORMAL, etc).

unsigned long m_ulUsageIndex
 Channel usage nIndex.

int m_nDataSize
 Channel data size.


Detailed Description

Stream Channel.

A class for individual stream channels declaration Example: position, normal, tangent, etc. Defines channel usage, channel usage nIndex, data type for data in the channel and register mapping.


Constructor & Destructor Documentation

RmStreamChannel::RmStreamChannel  ) 
 

Default Constructor.

Default constructor: creates an unmapped stream mapping channel

RmStreamChannel::RmStreamChannel DWORD  dwUsage,
DWORD  dwUsageIndex,
DWORD  dwRegisterIndex,
DWORD  dwDataType
 

Constructor.

Creates a new stream channel with specified usage, usage nIndex, register nIndex, data type ///

virtual RmStreamChannel::~RmStreamChannel  )  [virtual]
 

Destructor.

Destructor


Member Function Documentation

virtual RmNode* RmStreamChannel::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 RmStreamChannel::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.

unsigned long RmStreamChannel::GetDataType  )  [inline]
 

Get data type.

Retrieve channel data type

Returns:
Data type

virtual const RM_TCHAR* RmStreamChannel::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* RmStreamChannel::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.

RmStream* RmStreamChannel::GetParentStream  )  [inline]
 

Get parent stream.

Retrieves the stream that owns this stream channel

Returns:
Pointer to parent stream
See also:
RmStream

unsigned long RmStreamChannel::GetRegister  )  [inline]
 

Get register.

Retrieve the register that this channel is mapped to (DX8 legacy)

Returns:
Register index

int RmStreamChannel::GetSize  )  [inline]
 

Retrieve channel size

Returns:
Size of channel

unsigned long RmStreamChannel::GetUsage  )  [inline]
 

Get usage.

Retrieve channel usage

Returns:
Usage value

unsigned long RmStreamChannel::GetUsageIndex  )  [inline]
 

Get usage index.

Retrieve usage nIndex

Returns:
Usage index

const RM_TCHAR* RmStreamChannel::GetUsageString  ) 
 

Get usage string.

Utility function to return channel usage name (as a string) based on its usage and usage nIndex ///

Returns:
String for usage

virtual bool RmStreamChannel::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 RmStreamChannel::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.

void RmStreamChannel::SetDataType unsigned long  ulType  ) 
 

Set data type.

Set data type for this channel

Parameters:
ulType Data type to set

virtual void RmStreamChannel::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 RmStreamChannel::SetRegister unsigned long  ulRegister  ) 
 

Set regsiter.

Set register that the channel should be mapped to

Parameters:
uRegister Register index
Returns:
None

void RmStreamChannel::SetUsage unsigned long  ulUsage  ) 
 

Set usage.

Set usage type for this channel

Parameters:
ulUsage Usage type
Returns:
None

void RmStreamChannel::SetUsageIndex unsigned long  ulUsageIndex  ) 
 

Get usage index.

Set usage nIndex for this channel

Parameters:
ulUsageIndex New usage index
Returns:
None

virtual void RmStreamChannel::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:24 2005 for RenderMonkey SDK by doxygen 1.3.6