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

RmStream Class Reference

Stream. More...

#include <RmEffect.h>

Inheritance diagram for RmStream:

RmNode List of all members.

Public Member Functions

 RmStream ()
 Default Constructor.

 RmStream (const RM_TCHAR *strStreamName, bool bInitialize=true)
 Constructor.

virtual ~RmStream ()
 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 ()
RmStreamChannelListIterator BeginChannels ()
 Begin iterator.

RmStreamChannelListConstIterator BeginChannels () const
 Begin iterator.

RmStreamChannelListIterator EndChannels ()
 End iterator.

RmStreamChannelListConstIterator EndChannels () const
 End iterator.

int GetNumChannels ()
 Get num channels.

bool AddChannel (RmStreamChannel *pChannel)
 Add channel.

void DeleteChannel (RmStreamChannel *pChannel)
 Delete channel.

void DeleteAllChannels ()
 Delete all channels.

void DeleteChannel (unsigned long ulUsage, unsigned long ulUsageIndex, unsigned long ulDataType)
 Delete Channel.

RmStreamChannelGetChannel (unsigned long ulUsage, unsigned long ulUsageIndex, unsigned long ulDataType)
 Get channel.

RmStreamChannelGetChannel (const RM_TCHAR *strChannelName)
 Get channel.

RmStreamChannelGetChannel (int nIndex)
 Get channel.

int GetStride ()
 Get stride.

RmStreamMapGetParentStreamMap ()
 Parent stream map.


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

RmStreamChannelList m_channelList
 List of channels that belong to this stream.

int m_nStride
 Stream stride value.


Detailed Description

Stream.

RmStream: a collection of individual stream channels


Constructor & Destructor Documentation

RmStream::RmStream  ) 
 

Default Constructor.

Default constructor

RmStream::RmStream const RM_TCHAR *  strStreamName,
bool  bInitialize = true
 

Constructor.

Creates a new stream with no channels but specified name. If bInitialize is true, the stream is initialized with a single channel for positions usage and float3 data type.

Parameters:
strStreamName Name of stream
bInitialize Flag to initialize

virtual RmStream::~RmStream  )  [virtual]
 

Destructor.

Destructor


Member Function Documentation

bool RmStream::AddChannel RmStreamChannel pChannel  ) 
 

Add channel.

Add new stream channel to the stream. Note that if there is already a channel in the stream with the same usage, the usage nIndex of the specified channel will be incremented.

Parameters:
pChannel StreamChannel to add
See also:
RmStreamChannel
Returns:
True on success

RmStreamChannelListConstIterator RmStream::BeginChannels  )  const [inline]
 

Begin iterator.

Begin Iterator

Returns:
Begin iterator

RmStreamChannelListIterator RmStream::BeginChannels  )  [inline]
 

Begin iterator.

Begin Iterator

Returns:
Begin iterator

virtual RmNode* RmStream::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 RmStream::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 RmStream::DeleteAllChannels  ) 
 

Delete all channels.

Delete all channels

Returns:
None

void RmStream::DeleteChannel unsigned long  ulUsage,
unsigned long  ulUsageIndex,
unsigned long  ulDataType
 

Delete Channel.

Delete a stream channel given its usage, usage nIndex and data type

Parameters:
ulUsage Usage
ulUsageIndex Usage index
ulDataType Data type
Returns:
None

void RmStream::DeleteChannel RmStreamChannel pChannel  ) 
 

Delete channel.

Delete specified stream channel from the stream

Parameters:
pChannel StreamChannel to delete
See also:
RmStreamChannel
Returns:
None

RmStreamChannelListConstIterator RmStream::EndChannels  )  const [inline]
 

End iterator.

End Iterator

Returns:
End iterator

RmStreamChannelListIterator RmStream::EndChannels  )  [inline]
 

End iterator.

End Iterator

Returns:
End iterator

RmStreamChannel* RmStream::GetChannel int  nIndex  ) 
 

Get channel.

Retrieve a stream channel by nIndex

Parameters:
nIndex Index to channels
Returns:
StreamChannel
See also:
RmStreamChannel

RmStreamChannel* RmStream::GetChannel const RM_TCHAR *  strChannelName  ) 
 

Get channel.

Retrieve a stream channel given its name

Parameters:
strChannleName Name of channel to retrieve
Returns:
StreamChannel
See also:
RmStreamChannel

RmStreamChannel* RmStream::GetChannel unsigned long  ulUsage,
unsigned long  ulUsageIndex,
unsigned long  ulDataType
 

Get channel.

Retrieve a stream channel given its usage, usage nIndex, and data type

Parameters:
ulUsage Usage
ulUsageIndex Usage index
ulDataType Data type
Returns:
StreamChannel
See also:
RmStreamChannel

virtual const RM_TCHAR* RmStream::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* RmStream::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 RmStream::GetNumChannels  )  [inline]
 

Get num channels.

Retrieve the number of channels in this stream

Returns:
Number of channels

RmStreamMap* RmStream::GetParentStreamMap  )  [inline]
 

Parent stream map.

Retrieves the stream map that owns this stream

Returns:
Parent stream map
See also:
RmStreamMap

int RmStream::GetStride  )  [inline]
 

Get stride.

Retrieve stream stride value

Vertex stride size

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

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