# Cinder

# 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 Layout & | getLayout () 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 ()
Vbo & | getIndexVbo () const
Vbo & | getStaticVbo () const
Vbo & | getDynamicVbo () 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< Obj > | mObj
typedef shared_ptr< Obj > VboMesh::* | unspecified_bool_type
| Emulates shared_ptr-like behavior.
| VboMesh (const VboMesh &other)
| Emulates shared_ptr-like behavior.
VboMesh & | operator= (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:

- include/cinder/gl/Vbo.h
- src/cinder/gl/Vbo.cpp