Lugre::cBufferedMesh Class Reference

#include <lugre_meshbuffer.h>

Inheritance diagram for Lugre::cBufferedMesh:

Inheritance graph
[legend]
Collaboration diagram for Lugre::cBufferedMesh:

Collaboration graph
[legend]

List of all members.

Public Member Functions

cBufferedSubMeshGetSubMesh (const int iSubMeshIndex)
int GetSubMeshCount ()
Ogre::AxisAlignedBox & GetBounds ()
const float GetBoundRad ()
cBufferedVertexDataGetBufferedVertexData_Shared ()
 cBufferedMesh ()
void SetFromMesh (Ogre::Mesh &pMesh)
 init, don't call more than once
int RayPick (const Ogre::Vector3 &vRayPos, const Ogre::Vector3 &vRayDir, float *pfHitDist=0)
 for mousepicking
int RayPick (const Ogre::Vector3 &vRayPos, const Ogre::Vector3 &vRayDir, const Ogre::Vector3 &vPos, const Ogre::Quaternion &qRot, const Ogre::Vector3 &vScale, float *pfHitDist=0)

Static Public Member Functions

static void LuaRegister (lua_State *L)
 lua binding

Private Attributes

cBufferedVertexData mBufferedVertexData_Shared
Ogre::AxisAlignedBox mBounds
float mfBoundRad
std::vector< cBufferedSubMeshmBufferedSubMeshes


Detailed Description

keeps mesh data in MAIN-RAM instead of in VRAM, to allow faster access, as reading from vram is too slow. useful for mousepicking, and batching geometry during runtime, see also fastgeometry.h warning : doesn't really work for animated meshes, since it only stores one snapshot of the data warning : buffers,vertexdata etc using nonzero offset will probably cause problems, since this is not implemented here yet

Definition at line 96 of file lugre_meshbuffer.h.


Constructor & Destructor Documentation

Lugre::cBufferedMesh::cBufferedMesh (  ) 

Definition at line 43 of file lugre_meshbuffer.cpp.


Member Function Documentation

cBufferedSubMesh& Lugre::cBufferedMesh::GetSubMesh ( const int  iSubMeshIndex  )  [inline]

Definition at line 97 of file lugre_meshbuffer.h.

References mBufferedSubMeshes.

Referenced by Lugre::cFastBatch::AddMesh(), and SetFromMesh().

int Lugre::cBufferedMesh::GetSubMeshCount (  )  [inline]

Definition at line 98 of file lugre_meshbuffer.h.

References mBufferedSubMeshes.

Referenced by Lugre::cFastBatch::AddMesh().

Ogre::AxisAlignedBox& Lugre::cBufferedMesh::GetBounds (  )  [inline]

Definition at line 99 of file lugre_meshbuffer.h.

References mBounds.

Referenced by Lugre::cFastBatch::AddMesh().

const float Lugre::cBufferedMesh::GetBoundRad (  )  [inline]

Definition at line 100 of file lugre_meshbuffer.h.

References mfBoundRad.

cBufferedVertexData& Lugre::cBufferedMesh::GetBufferedVertexData_Shared (  )  [inline]

Definition at line 101 of file lugre_meshbuffer.h.

References mBufferedVertexData_Shared.

Referenced by RayPick(), and SetFromMesh().

void Lugre::cBufferedMesh::SetFromMesh ( Ogre::Mesh &  pMesh  ) 

int Lugre::cBufferedMesh::RayPick ( const Ogre::Vector3 &  vRayPos,
const Ogre::Vector3 &  vRayDir,
float *  pfHitDist = 0 
)

int Lugre::cBufferedMesh::RayPick ( const Ogre::Vector3 &  vRayPos,
const Ogre::Vector3 &  vRayDir,
const Ogre::Vector3 &  vPos,
const Ogre::Quaternion &  qRot,
const Ogre::Vector3 &  vScale,
float *  pfHitDist = 0 
)

Definition at line 74 of file lugre_meshbuffer.cpp.

References RayPick().

void cBufferedMesh::LuaRegister ( lua_State *  L  )  [static]

lua binding

Definition at line 130 of file lugre_meshbuffer_L.cpp.

References PROFILE.


Member Data Documentation

Definition at line 116 of file lugre_meshbuffer.h.

Referenced by GetBufferedVertexData_Shared(), and SetFromMesh().

Ogre::AxisAlignedBox Lugre::cBufferedMesh::mBounds [private]

Definition at line 117 of file lugre_meshbuffer.h.

Referenced by GetBounds(), and SetFromMesh().

Definition at line 118 of file lugre_meshbuffer.h.

Referenced by GetBoundRad(), RayPick(), and SetFromMesh().

Definition at line 119 of file lugre_meshbuffer.h.

Referenced by GetSubMesh(), GetSubMeshCount(), RayPick(), and SetFromMesh().


The documentation for this class was generated from the following files:

Generated on Wed Feb 8 06:00:21 2012 for cpp by  doxygen 1.5.6