cinder::gl::VboMesh Class Reference

#include <Vbo.h>

List of all members.

Classes

struct  Layout
struct  Obj
class  VertexIter

Public Types

enum  { NONE, STATIC, DYNAMIC }
enum  {
  ATTR_INDICES, ATTR_POSITIONS, ATTR_NORMALS, ATTR_COLORS_RGB,
  ATTR_COLORS_RGBA, ATTR_TEXCOORDS2D_0, ATTR_TEXCOORDS2D_1, ATTR_TEXCOORDS2D_2,
  ATTR_TEXCOORDS2D_3, ATTR_TEXCOORDS3D_0, ATTR_TEXCOORDS3D_1, ATTR_TEXCOORDS3D_2,
  ATTR_TEXCOORDS3D_3, ATTR_TOTAL
}
enum  { ATTR_MAX_TEXTURE_UNIT = 3 }
enum  { INDEX_BUFFER = 0, STATIC_BUFFER, DYNAMIC_BUFFER, TOTAL_BUFFERS }

Public Member Functions

 VboMesh ()
 VboMesh (const TriMesh &triMesh, Layout layout=Layout())
 VboMesh (size_t numVertices, size_t numIndices, Layout layout, GLenum primitiveType)
 VboMesh (size_t numVertices, size_t numIndices, Layout layout, GLenum primitiveType, Vbo *indexBuffer, Vbo *staticBuffer, Vbo *dynamicBuffer)
size_t getNumIndices () const
size_t getNumVertices () const
GLenum getPrimitiveType () const
const LayoutgetLayout () const
void bindIndexBuffer () const
void enableClientStates () const
void disableClientStates () const
void bindAllData () const
void bufferIndices (const std::vector< uint32_t > &indices)
void bufferPositions (const std::vector< Vec3f > &normals)
void bufferNormals (const std::vector< Vec3f > &normals)
void bufferTexCoords2d (size_t unit, const std::vector< Vec2f > &texCoords)
class VertexIter mapVertexBuffer ()
VbogetIndexVbo () const
VbogetStaticVbo () const
VbogetDynamicVbo () const
void setCustomStaticLocation (size_t internalIndex, GLuint location)
void setCustomDynamicLocation (size_t internalIndex, GLuint location)
size_t getTexCoordOffset (size_t unit) const
void setTexCoordOffset (size_t unit, size_t aTexCoordOffset)

Static Public Member Functions

static void unbindBuffers ()

Protected Member Functions

void initializeBuffers (bool staticDataPlanar)

Protected Attributes

shared_ptr< ObjmObj



typedef shared_ptr< Obj >
VboMesh::* 
unspecified_bool_type
 Emulates shared_ptr-like behavior.
 VboMesh (const VboMesh &other)
 Emulates shared_ptr-like behavior.
VboMeshoperator= (const VboMesh &other)
 Emulates shared_ptr-like behavior.
bool operator== (const VboMesh &other)
 Emulates shared_ptr-like behavior.
 operator unspecified_bool_type ()
 Emulates shared_ptr-like behavior.
void reset ()
 Emulates shared_ptr-like behavior.

Member Typedef Documentation

typedef shared_ptr<Obj> VboMesh::* cinder::gl::VboMesh::unspecified_bool_type

Emulates shared_ptr-like behavior.


Member Enumeration Documentation

anonymous enum
Enumerator:
NONE 
STATIC 
DYNAMIC 
anonymous enum
Enumerator:
ATTR_INDICES 
ATTR_POSITIONS 
ATTR_NORMALS 
ATTR_COLORS_RGB 
ATTR_COLORS_RGBA 
ATTR_TEXCOORDS2D_0 
ATTR_TEXCOORDS2D_1 
ATTR_TEXCOORDS2D_2 
ATTR_TEXCOORDS2D_3 
ATTR_TEXCOORDS3D_0 
ATTR_TEXCOORDS3D_1 
ATTR_TEXCOORDS3D_2 
ATTR_TEXCOORDS3D_3 
ATTR_TOTAL 
anonymous enum
Enumerator:
ATTR_MAX_TEXTURE_UNIT 
anonymous enum
Enumerator:
INDEX_BUFFER 
STATIC_BUFFER 
DYNAMIC_BUFFER 
TOTAL_BUFFERS 

Constructor & Destructor Documentation

cinder::gl::VboMesh::VboMesh (  ) 
cinder::gl::VboMesh::VboMesh ( const TriMesh triMesh,
Layout  layout = Layout() 
) [explicit]
cinder::gl::VboMesh::VboMesh ( size_t  numVertices,
size_t  numIndices,
Layout  layout,
GLenum  primitiveType 
)
cinder::gl::VboMesh::VboMesh ( size_t  numVertices,
size_t  numIndices,
Layout  layout,
GLenum  primitiveType,
Vbo indexBuffer,
Vbo staticBuffer,
Vbo dynamicBuffer 
)
cinder::gl::VboMesh::VboMesh ( const VboMesh other  ) 

Emulates shared_ptr-like behavior.


Member Function Documentation

size_t cinder::gl::VboMesh::getNumIndices (  )  const
size_t cinder::gl::VboMesh::getNumVertices (  )  const
GLenum cinder::gl::VboMesh::getPrimitiveType (  )  const
const Layout& cinder::gl::VboMesh::getLayout (  )  const
void cinder::gl::VboMesh::bindIndexBuffer (  )  const
void cinder::gl::VboMesh::enableClientStates (  )  const
void cinder::gl::VboMesh::disableClientStates (  )  const
void cinder::gl::VboMesh::bindAllData (  )  const
void cinder::gl::VboMesh::unbindBuffers (  )  [static]
void cinder::gl::VboMesh::bufferIndices ( const std::vector< uint32_t > &  indices  ) 
void cinder::gl::VboMesh::bufferPositions ( const std::vector< Vec3f > &  normals  ) 
void cinder::gl::VboMesh::bufferNormals ( const std::vector< Vec3f > &  normals  ) 
void cinder::gl::VboMesh::bufferTexCoords2d ( size_t  unit,
const std::vector< Vec2f > &  texCoords 
)
VboMesh::VertexIter cinder::gl::VboMesh::mapVertexBuffer (  ) 
Vbo& cinder::gl::VboMesh::getIndexVbo (  )  const
Vbo& cinder::gl::VboMesh::getStaticVbo (  )  const
Vbo& cinder::gl::VboMesh::getDynamicVbo (  )  const
void cinder::gl::VboMesh::setCustomStaticLocation ( size_t  internalIndex,
GLuint  location 
)
void cinder::gl::VboMesh::setCustomDynamicLocation ( size_t  internalIndex,
GLuint  location 
)
size_t cinder::gl::VboMesh::getTexCoordOffset ( size_t  unit  )  const
void cinder::gl::VboMesh::setTexCoordOffset ( size_t  unit,
size_t  aTexCoordOffset 
)
VboMesh& cinder::gl::VboMesh::operator= ( const VboMesh other  ) 

Emulates shared_ptr-like behavior.

bool cinder::gl::VboMesh::operator== ( const VboMesh other  ) 

Emulates shared_ptr-like behavior.

cinder::gl::VboMesh::operator unspecified_bool_type (  ) 

Emulates shared_ptr-like behavior.

void cinder::gl::VboMesh::reset (  ) 

Emulates shared_ptr-like behavior.

void cinder::gl::VboMesh::initializeBuffers ( bool  staticDataPlanar  )  [protected]

Member Data Documentation

shared_ptr<Obj> cinder::gl::VboMesh::mObj [protected]

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