#include <OgreHardwareVertexBuffer.h>
Inheritance diagram for Ogre::VertexDeclaration:
Public Types | |
typedef std::vector< VertexElement > | VertexElementList |
Defines the list of vertex elements that makes up this declaration. | |
Public Methods | |
VertexDeclaration () | |
Standard constructor, not you should use HardwareBufferManager::createVertexDeclaration. | |
virtual | ~VertexDeclaration () |
const VertexElementList & | getElements (void) const |
Gets read-only access to the list of vertex elements. | |
virtual const VertexElement & | addElement (unsigned short source, size_t offset, VertexElementType theType, VertexElementSemantic semantic, unsigned short index=0) |
Adds a new VertexElement to this declaration. | |
virtual void | removeElement (unsigned short elem_index) |
Remove the element at the given index from this declaration. | |
virtual void | removeElement (VertexElementSemantic semantic, unsigned short index=0) |
Remove the element with the given semantic and usage index. | |
virtual void | modifyElement (unsigned short elem_index, unsigned short source, size_t offset, VertexElementType theType, VertexElementSemantic semantic, unsigned short index=0) |
Modify an element in-place, params as addElement. | |
virtual const VertexElement * | findElementBySemantic (VertexElementSemantic sem, unsigned short index=0) |
Finds a VertexElement with the given semantic, and index if there is more than one element with the same semantic. | |
virtual VertexElementList | findElementsBySource (unsigned short source) |
Gets a list of elements which use a given source. | |
virtual size_t | getVertexSize (unsigned short source) |
Gets the vertex size defined by this declaration for a given source. | |
virtual VertexDeclaration * | clone (void) |
Clones this declaration. | |
bool | operator== (const VertexDeclaration &rhs) const |
Protected Attributes | |
VertexElementList | mElementList |
Like the other classes in this functional area, these declarations should be created and destroyed using the HardwareBufferManager.
Definition at line 232 of file OgreHardwareVertexBuffer.h.
|
Defines the list of vertex elements that makes up this declaration.
Definition at line 236 of file OgreHardwareVertexBuffer.h. Referenced by findElementsBySource(). |
|
Standard constructor, not you should use HardwareBufferManager::createVertexDeclaration.
Definition at line 170 of file OgreHardwareVertexBuffer.cpp. |
|
Definition at line 174 of file OgreHardwareVertexBuffer.cpp. |
|
|
Clones this declaration.
Definition at line 278 of file OgreHardwareVertexBuffer.cpp. References addElement(), and mElementList. Referenced by Ogre::PatchMesh::PatchMesh(). |
|
Finds a VertexElement with the given semantic, and index if there is more than one element with the same semantic.
Definition at line 225 of file OgreHardwareVertexBuffer.cpp. References mElementList, and Ogre::VertexElementSemantic. Referenced by Ogre::ProgressiveMesh::addWorkingData(), Ogre::Mesh::buildTangentVectors(), Ogre::Mesh::compileBoneAssignmentsHardware(), Ogre::PatchSurface::defineSurface(), Ogre::PatchSurface::distributeControlPoints(), Ogre::Mesh::getTangentsBuffer(), Ogre::PatchSurface::interpolateVertexData(), Ogre::RenderSystem::softwareVertexBlend(), and Ogre::MeshSerializerImpl::writeGeometry(). |
|
Gets a list of elements which use a given source.
Definition at line 243 of file OgreHardwareVertexBuffer.cpp. References mElementList, and VertexElementList. |
|
Gets read-only access to the list of vertex elements.
Definition at line 178 of file OgreHardwareVertexBuffer.cpp. References mElementList. Referenced by Ogre::GLRenderSystem::_render(), Ogre::D3DRenderSystem::_render(), Ogre::MeshSerializerImpl::calcGeometrySize(), and Ogre::VertexData::clone(). |
|
Gets the vertex size defined by this declaration for a given source.
Definition at line 261 of file OgreHardwareVertexBuffer.cpp. References mElementList. Referenced by Ogre::D3DRenderSystem::_render(), Ogre::PatchSurface::build(), Ogre::TTYGuiElement::checkMemoryAllocation(), Ogre::TextAreaGuiElement::checkMemoryAllocation(), Ogre::Mesh::compileBoneAssignmentsHardware(), Ogre::MeshManager::createCurvedIllusionPlane(), Ogre::MeshManager::createPlane(), Ogre::PatchSurface::defineSurface(), Ogre::PatchSurface::distributeControlPoints(), Ogre::TerrainRenderable::init(), Ogre::PanelGuiElement::initialise(), Ogre::BorderPanelGuiElement::initialise(), Ogre::PatchSurface::interpolateVertexData(), Ogre::PatchMesh::load(), Ogre::OctreeCamera::OctreeCamera(), Ogre::MeshSerializerImpl_v1::readGeometry(), Ogre::MeshSerializerImpl::readGeometryColours(), Ogre::MeshSerializerImpl::readGeometryNormals(), Ogre::MeshSerializerImpl::readGeometryPositions(), Ogre::MeshSerializerImpl_v1_1::readGeometryTexCoords(), Ogre::MeshSerializerImpl::readGeometryTexCoords(), Ogre::BillboardSet::setPoolSize(), Ogre::PanelGuiElement::updateTextureGeometry(), and Ogre::WireBoundingBox::WireBoundingBox(). |
|
Modify an element in-place, params as addElement.
Reimplemented in Ogre::D3D9VertexDeclaration. Definition at line 215 of file OgreHardwareVertexBuffer.cpp. References mElementList, Ogre::VertexElementSemantic, and Ogre::VertexElementType. |
|
Definition at line 305 of file OgreHardwareVertexBuffer.h. References mElementList. |
|
Remove the element with the given semantic and usage index.
Definition at line 201 of file OgreHardwareVertexBuffer.cpp. References mElementList, and Ogre::VertexElementSemantic. |
|
Remove the element at the given index from this declaration.
Reimplemented in Ogre::D3D9VertexDeclaration. Definition at line 193 of file OgreHardwareVertexBuffer.cpp. References mElementList. Referenced by Ogre::Mesh::compileBoneAssignmentsHardware(), Ogre::Mesh::getTangentsBuffer(), and Ogre::PanelGuiElement::updateTextureGeometry(). |
|
Definition at line 238 of file OgreHardwareVertexBuffer.h. Referenced by addElement(), clone(), findElementBySemantic(), findElementsBySource(), Ogre::D3D9VertexDeclaration::getD3DVertexDeclaration(), getElements(), getVertexSize(), modifyElement(), operator==(), and removeElement(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Wed Jan 21 00:21:14 2004