csVertexListWalker< Tbase, Tcomplex > Class Template Reference
Helper class to make it easier to iterate over elements from renderbuffers, with automatic conversion to Tbase. More...
#include <csgfx/vertexlistwalker.h>
Public Member Functions | |
csVertexListWalker (iRenderBuffer *buffer, size_t desiredComponents=0, const Tbase *defaultComponents=0) | |
Construct new walker. | |
void | ResetState () |
Start from the beginning. | |
const Tcomplex & | operator * () const |
operator Tbase const * () const | |
Get current element. | |
csVertexListWalker & | operator++ () |
Set current element to the next. |
Detailed Description
template<typename Tbase, typename Tcomplex = Tbase>
class csVertexListWalker< Tbase, Tcomplex >
Helper class to make it easier to iterate over elements from renderbuffers, with automatic conversion to Tbase.
Elements can also be queried as Tcomplex, which must consist of multiple Tbase.
- Remarks:
- The element actually returned (converted or not) is stored in an array internal to the class. That has the consequence that for a queried element, you will only get what you expect as long as operator++() is not called. If you need to retain an element, you have to copy it! This also means you cannot really manipulate the buffer this way...
Definition at line 42 of file vertexlistwalker.h.
Constructor & Destructor Documentation
template<typename Tbase, typename Tcomplex = Tbase>
csVertexListWalker< Tbase, Tcomplex >::csVertexListWalker | ( | iRenderBuffer * | buffer, | |
size_t | desiredComponents = 0 , |
|||
const Tbase * | defaultComponents = 0 | |||
) | [inline] |
Construct new walker.
- Parameters:
-
buffer The render buffer to walk over. desiredComponents Number of components to fetch from the buffer. Those can differ from the real number; the components are filled up with default values, if necessary. If 0, the component count as set in the buffer will be returned. defaultComponents The default values for components, if more are requested than available. If 0, the values {0,0,0,1} are used.
Definition at line 55 of file vertexlistwalker.h.
References CS_ASSERT, iRenderBuffer::GetComponentCount(), iRenderBuffer::GetComponentType(), and iRenderBuffer::GetElementCount().
Member Function Documentation
template<typename Tbase, typename Tcomplex = Tbase>
csVertexListWalker< Tbase, Tcomplex >::operator Tbase const * | ( | ) | const [inline] |
template<typename Tbase, typename Tcomplex = Tbase>
csVertexListWalker& csVertexListWalker< Tbase, Tcomplex >::operator++ | ( | ) | [inline] |
template<typename Tbase, typename Tcomplex = Tbase>
void csVertexListWalker< Tbase, Tcomplex >::ResetState | ( | ) | [inline] |
The documentation for this class was generated from the following file:
- csgfx/vertexlistwalker.h
Generated for Crystal Space by doxygen 1.4.7