CS::TriangleIndicesStreamRandom< T > Class Template Reference
Extracts triangles like TriangleIndicesStream, but also provides random access to individual triangles and can be resetted. More...
#include <csgfx/trianglestream.h>

Public Member Functions | |
void | BeginTriangulate (const uint8 *indexStart, const uint8 *indexEnd, size_t stride, csRenderBufferComponentType compType, csRenderMeshType meshtype) |
Begin triangulation of an index buffer. | |
void | BeginTriangulate (iRenderBuffer *indices, csRenderMeshType meshtype, size_t indexStart=0, size_t indexEnd=(size_t)~0) |
Begin triangulation of an index buffer. | |
bool | HasNext () const |
Returns whether a triangle is available. | |
TriangleT< T > | Next () |
Fetches the next triangle from the buffer. | |
TriangleT< T > | operator[] (size_t index) |
Get a specific triangle. | |
void | Reset () |
Reset the stream to the start. | |
TriangleIndicesStreamRandom (iRenderBuffer *indices, csRenderMeshType meshtype, size_t indexStart=0, size_t indexEnd=(size_t)~0) | |
Construct triangle stream with an index buffer. | |
TriangleIndicesStreamRandom () | |
Construct uninitialized triangle stream. |
Detailed Description
template<typename T>
class CS::TriangleIndicesStreamRandom< T >
Extracts triangles like TriangleIndicesStream, but also provides random access to individual triangles and can be resetted.
- Remarks:
- There is a slight overhead due to the housekeeping required for the random access. Hence for pure triangle streaming the "plain" TriangleIndicesStream is more appropriate.
Definition at line 311 of file trianglestream.h.
Constructor & Destructor Documentation
CS::TriangleIndicesStreamRandom< T >::TriangleIndicesStreamRandom | ( | ) | [inline] |
Construct uninitialized triangle stream.
- Remarks:
- Don't forget to call BeginTriangulate() before using HasNext() or Next()!
Definition at line 412 of file trianglestream.h.
CS::TriangleIndicesStreamRandom< T >::TriangleIndicesStreamRandom | ( | iRenderBuffer * | indices, | |
csRenderMeshType | meshtype, | |||
size_t | indexStart = 0 , |
|||
size_t | indexEnd = (size_t)~0 | |||
) | [inline] |
Construct triangle stream with an index buffer.
- Parameters:
-
indices Index buffer to triangulate. meshtype Mesh type of the index data. indexStart Element of the index buffer to start iterating at. indexEnd Element of the index buffer to stop iterating at. (size_t)~0 means last element.
Definition at line 421 of file trianglestream.h.
Member Function Documentation
void CS::TriangleIndicesStreamRandom< T >::BeginTriangulate | ( | const uint8 * | indexStart, | |
const uint8 * | indexEnd, | |||
size_t | stride, | |||
csRenderBufferComponentType | compType, | |||
csRenderMeshType | meshtype | |||
) | [inline] |
Begin triangulation of an index buffer.
- Parameters:
-
index Pointer to start of the indices. indexEnd Pointer to end of the indices. stride Distance between index elements in bytes. compType Type of component contained in the data. meshtype Mesh type of the index data.
Reimplemented from CS::TriangleIndicesStream< T >.
Definition at line 441 of file trianglestream.h.
void CS::TriangleIndicesStreamRandom< T >::BeginTriangulate | ( | iRenderBuffer * | indices, | |
csRenderMeshType | meshtype, | |||
size_t | indexStart = 0 , |
|||
size_t | indexEnd = (size_t)~0 | |||
) | [inline] |
Begin triangulation of an index buffer.
- Parameters:
-
indices Index buffer to triangulate. meshtype Mesh type of the index data. indexStart Element of the index buffer to start iterating at. indexEnd Element of the index buffer to stop iterating at. (size_t)~0 means last element.
Reimplemented from CS::TriangleIndicesStream< T >.
Definition at line 459 of file trianglestream.h.
bool CS::TriangleIndicesStreamRandom< T >::HasNext | ( | ) | const [inline] |
Returns whether a triangle is available.
Reimplemented from CS::TriangleIndicesStream< T >.
Definition at line 479 of file trianglestream.h.
TriangleT<T> CS::TriangleIndicesStreamRandom< T >::Next | ( | ) | [inline] |
Fetches the next triangle from the buffer.
Reimplemented from CS::TriangleIndicesStream< T >.
Definition at line 485 of file trianglestream.h.
TriangleT<T> CS::TriangleIndicesStreamRandom< T >::operator[] | ( | size_t | index | ) | [inline] |
Get a specific triangle.
Definition at line 492 of file trianglestream.h.
void CS::TriangleIndicesStreamRandom< T >::Reset | ( | ) | [inline] |
Reset the stream to the start.
Definition at line 471 of file trianglestream.h.
The documentation for this class was generated from the following file:
- csgfx/trianglestream.h
Generated for Crystal Space 1.4.1 by doxygen 1.7.1