#include <OgreHardwareVertexBuffer.h>
Inheritance diagram for Ogre::VertexDeclaration:
Public Types | |
typedef std::list< 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. | |
const VertexElement * | getElement (unsigned short index) |
Get a single element. | |
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 const VertexElement & | insertElement (unsigned short atPosition, unsigned short source, size_t offset, VertexElementType theType, VertexElementSemantic semantic, unsigned short index=0) |
Inserts a new VertexElement at a given position in 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 244 of file OgreHardwareVertexBuffer.h.
|
Defines the list of vertex elements that makes up this declaration.
Definition at line 248 of file OgreHardwareVertexBuffer.h. Referenced by findElementsBySource(). |
|
Standard constructor, not you should use HardwareBufferManager::createVertexDeclaration.
Definition at line 174 of file OgreHardwareVertexBuffer.cpp. |
|
Definition at line 178 of file OgreHardwareVertexBuffer.cpp. |
|
|
Clones this declaration.
Definition at line 315 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 262 of file OgreHardwareVertexBuffer.cpp. References mElementList, and Ogre::VertexElementSemantic. Referenced by Ogre::ProgressiveMesh::addWorkingData(), Ogre::Mesh::buildTangentVectors(), Ogre::EdgeListBuilder::buildTrianglesEdges(), Ogre::Entity::cloneVertexDataRemoveBlendInfo(), Ogre::Mesh::compileBoneAssignments(), Ogre::PatchSurface::defineSurface(), Ogre::PatchSurface::distributeControlPoints(), Ogre::Entity::EntityShadowRenderable::EntityShadowRenderable(), Ogre::Entity::extractTempBufferInfo(), Ogre::Mesh::getTangentsBuffer(), Ogre::PatchSurface::interpolateVertexData(), Ogre::EdgeListBuilder::log(), Ogre::VertexData::prepareForShadowVolume(), Ogre::Mesh::softwareVertexBlend(), and Ogre::MeshSerializerImpl::writeGeometry(). |
|
Gets a list of elements which use a given source.
Definition at line 280 of file OgreHardwareVertexBuffer.cpp. References mElementList, and VertexElementList. |
|
Get a single element.
Definition at line 216 of file OgreHardwareVertexBuffer.cpp. References mElementList. Referenced by Ogre::Mesh::compileBoneAssignments(). |
|
Gets read-only access to the list of vertex elements.
Definition at line 182 of file OgreHardwareVertexBuffer.cpp. References mElementList. Referenced by Ogre::GLRenderSystem::_render(), Ogre::D3DRenderSystem::_render(), Ogre::MeshSerializerImpl::calcGeometrySize(), Ogre::VertexData::clone(), and Ogre::VertexData::prepareForShadowVolume(). |
|
Gets the vertex size defined by this declaration for a given source.
Definition at line 298 of file OgreHardwareVertexBuffer.cpp. References mElementList. Referenced by Ogre::D3DRenderSystem::_render(), Ogre::PatchSurface::build(), Ogre::TTYGuiElement::checkMemoryAllocation(), Ogre::TextAreaGuiElement::checkMemoryAllocation(), 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::MeshSerializerImpl_v1::readGeometry(), Ogre::MeshSerializerImpl::readGeometryColours(), Ogre::MeshSerializerImpl::readGeometryNormals(), Ogre::MeshSerializerImpl::readGeometryPositions(), Ogre::MeshSerializerImpl_v1_1::readGeometryTexCoords(), Ogre::MeshSerializerImpl::readGeometryTexCoords(), Ogre::Rectangle2D::Rectangle2D(), Ogre::BillboardSet::setPoolSize(), Ogre::PanelGuiElement::updateTextureGeometry(), and Ogre::WireBoundingBox::WireBoundingBox(). |
|
Inserts a new VertexElement at a given position in this declaration.
Reimplemented in Ogre::D3D9VertexDeclaration. Definition at line 197 of file OgreHardwareVertexBuffer.cpp. References addElement(), mElementList, Ogre::VertexElementSemantic, and Ogre::VertexElementType. Referenced by Ogre::Mesh::compileBoneAssignments(). |
|
Modify an element in-place, params as addElement.
Reimplemented in Ogre::D3D9VertexDeclaration. Definition at line 251 of file OgreHardwareVertexBuffer.cpp. References mElementList, Ogre::VertexElementSemantic, and Ogre::VertexElementType. Referenced by Ogre::VertexData::prepareForShadowVolume(). |
|
Definition at line 335 of file OgreHardwareVertexBuffer.h. References mElementList. |
|
Remove the element with the given semantic and usage index.
Definition at line 237 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 228 of file OgreHardwareVertexBuffer.cpp. References mElementList. Referenced by Ogre::Entity::cloneVertexDataRemoveBlendInfo(), Ogre::Mesh::compileBoneAssignments(), Ogre::Mesh::getTangentsBuffer(), and Ogre::PanelGuiElement::updateTextureGeometry(). |
|
Definition at line 250 of file OgreHardwareVertexBuffer.h. Referenced by addElement(), clone(), findElementBySemantic(), findElementsBySource(), Ogre::D3D9VertexDeclaration::getD3DVertexDeclaration(), getElement(), getElements(), getVertexSize(), insertElement(), modifyElement(), operator==(), and removeElement(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Fri May 14 23:27:28 2004