#include <lugre_meshbuffer.h>

Public Member Functions | |
| cBufferedVertexData () | |
| ~cBufferedVertexData () | |
| void | SetFromVertexData (const Ogre::VertexData &pVertexData) |
| init, don't call more than once | |
| float * | GetVertexPos (const int i) |
| returns a pointer to the x,y,z part of the vertex, assumes that the data type at this position is VT_FLOAT* | |
| Ogre::Vector3 | GetVertexPosVec3 (const int i) |
| float * | GetVertexTexCoord (const int i) |
| returns a pointer to the u,v part of the vertex, assumes that the data type at this position is VT_FLOAT* | |
| const char * | GetVertexData (const int iSource, const int iVertex) |
| you have to check yourself if iSource is legal | |
| const char * | GetVertexData (const int iSource) |
| you have to check yourself if iSource is legal | |
| int | GetVertexSize (const int iSource) |
| int | GetVertexCount () |
| Ogre::VertexDeclaration * | GetVertexDecl () |
| readonly for external use ! | |
Public Attributes | |
| Ogre::VertexDeclaration * | mpVertexDecl |
| cQuickData | mQuickPos |
| cQuickData | mQuickTexCoord |
| std::vector< char * > | mDataBuffers |
| std::vector< int > | mDataBufferVertexSize |
| int | miVertexCount |
Private Member Functions | |
| void | SetQuickDataFromSemantic (cQuickData &pQuickData, const Ogre::VertexElementSemantic sem, const int i=0) |
Classes | |
| class | cQuickData |
| internal helper for faster access to position and texture coordinate data, useful for mousepicking (texcoord:alpha) More... | |
Definition at line 42 of file lugre_meshbuffer.h.
| Lugre::cBufferedVertexData::cBufferedVertexData | ( | ) |
Definition at line 104 of file lugre_meshbuffer.cpp.
| Lugre::cBufferedVertexData::~cBufferedVertexData | ( | ) |
release buffer copies
Definition at line 106 of file lugre_meshbuffer.cpp.
References mDataBuffers, and mDataBufferVertexSize.
| void Lugre::cBufferedVertexData::SetFromVertexData | ( | const Ogre::VertexData & | pVertexData | ) |
init, don't call more than once
Definition at line 113 of file lugre_meshbuffer.cpp.
References assert, DEBUG_MESHBUFFER, mDataBuffers, mDataBufferVertexSize, miVertexCount, mpVertexDecl, mQuickPos, mQuickTexCoord, and SetQuickDataFromSemantic().
Referenced by Lugre::cBufferedMesh::SetFromMesh(), and Lugre::cBufferedSubMesh::SetFromSubMesh().
| float* Lugre::cBufferedVertexData::GetVertexPos | ( | const int | i | ) | [inline] |
returns a pointer to the x,y,z part of the vertex, assumes that the data type at this position is VT_FLOAT*
Definition at line 58 of file lugre_meshbuffer.h.
References Lugre::cBufferedVertexData::cQuickData::Get(), and mQuickPos.
Referenced by GetVertexPosVec3().
| Ogre::Vector3 Lugre::cBufferedVertexData::GetVertexPosVec3 | ( | const int | i | ) | [inline] |
Definition at line 59 of file lugre_meshbuffer.h.
References GetVertexPos().
Referenced by Lugre::cBufferedMesh::RayPick(), and Lugre::cBufferedMesh::SetFromMesh().
| float* Lugre::cBufferedVertexData::GetVertexTexCoord | ( | const int | i | ) | [inline] |
returns a pointer to the u,v part of the vertex, assumes that the data type at this position is VT_FLOAT*
Definition at line 62 of file lugre_meshbuffer.h.
References Lugre::cBufferedVertexData::cQuickData::Get(), and mQuickTexCoord.
Referenced by Lugre::cBufferedSubMesh::TransformTexCoords().
| const char* Lugre::cBufferedVertexData::GetVertexData | ( | const int | iSource, | |
| const int | iVertex | |||
| ) | [inline] |
you have to check yourself if iSource is legal
Definition at line 65 of file lugre_meshbuffer.h.
References GetVertexSize(), and mDataBuffers.
Referenced by Lugre::cFastBatch::cSubBatch::Build().
| const char* Lugre::cBufferedVertexData::GetVertexData | ( | const int | iSource | ) | [inline] |
you have to check yourself if iSource is legal
Definition at line 69 of file lugre_meshbuffer.h.
References mDataBuffers.
| int Lugre::cBufferedVertexData::GetVertexSize | ( | const int | iSource | ) | [inline] |
result in bytes you have to check yourself if iSource is legal
Definition at line 73 of file lugre_meshbuffer.h.
References mDataBufferVertexSize.
Referenced by GetVertexData().
| int Lugre::cBufferedVertexData::GetVertexCount | ( | ) | [inline] |
Definition at line 75 of file lugre_meshbuffer.h.
References miVertexCount.
Referenced by Lugre::cFastBatch::cSubBatch::Build(), Lugre::cBufferedSubMesh::GetVertexCount(), and Lugre::cBufferedMesh::SetFromMesh().
| Ogre::VertexDeclaration* Lugre::cBufferedVertexData::GetVertexDecl | ( | ) | [inline] |
readonly for external use !
Definition at line 78 of file lugre_meshbuffer.h.
References mpVertexDecl.
Referenced by Lugre::cFastBatch::cSubBatch::Build(), Lugre::cFastBatch::cSubBatch::cSubBatch(), and Lugre::cBufferedSubMesh::SetFromSubMesh().
| void Lugre::cBufferedVertexData::SetQuickDataFromSemantic | ( | cQuickData & | pQuickData, | |
| const Ogre::VertexElementSemantic | sem, | |||
| const int | i = 0 | |||
| ) | [private] |
Definition at line 149 of file lugre_meshbuffer.cpp.
References assert, mDataBuffers, Lugre::cBufferedVertexData::cQuickData::miOffsetToNext, Lugre::cBufferedVertexData::cQuickData::mpFirst, and mpVertexDecl.
Referenced by SetFromVertexData().
| Ogre::VertexDeclaration* Lugre::cBufferedVertexData::mpVertexDecl |
Definition at line 84 of file lugre_meshbuffer.h.
Referenced by GetVertexDecl(), SetFromVertexData(), and SetQuickDataFromSemantic().
Definition at line 85 of file lugre_meshbuffer.h.
Referenced by GetVertexPos(), and SetFromVertexData().
Definition at line 86 of file lugre_meshbuffer.h.
Referenced by GetVertexTexCoord(), and SetFromVertexData().
| std::vector<char*> Lugre::cBufferedVertexData::mDataBuffers |
Definition at line 87 of file lugre_meshbuffer.h.
Referenced by GetVertexData(), SetFromVertexData(), SetQuickDataFromSemantic(), and ~cBufferedVertexData().
| std::vector<int> Lugre::cBufferedVertexData::mDataBufferVertexSize |
Definition at line 88 of file lugre_meshbuffer.h.
Referenced by GetVertexSize(), SetFromVertexData(), and ~cBufferedVertexData().
Definition at line 89 of file lugre_meshbuffer.h.
Referenced by GetVertexCount(), and SetFromVertexData().
1.5.6