#include <OgreHardwareVertexBuffer.h>
Public Types | |
typedef std::list< VertexElement > | VertexElementList |
Defines the list of vertex elements that makes up this declaration. | |
Public Member Functions | |
VertexDeclaration () | |
Standard constructor, not you should use HardwareBufferManager::createVertexDeclaration. | |
virtual | ~VertexDeclaration () |
size_t | getElementCount (void) |
Get the number of elements in the declaration. | |
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. | |
void | sort (void) |
Sorts the elements in this list to be compatible with the maximum number of rendering APIs / graphics cards. | |
void | closeGapsInSource (void) |
Remove any gaps in the source buffer list used by this declaration. | |
VertexDeclaration * | getAutoOrganisedDeclaration (bool skeletalAnimation, bool vertexAnimation) |
Generates a new VertexDeclaration for optimal usage based on the current vertex declaration, which can be used with VertexData::reorganiseBuffers later if you wish, or simply used as a template. | |
unsigned short | getMaxSource (void) const |
Gets the index of the highest source value referenced by this declaration. | |
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 | removeAllElements (void) |
Remove all elements. | |
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) |
Based on the current elements, gets the size of the vertex for a given buffer 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 |
bool | operator!= (const VertexDeclaration &rhs) const |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info | |
void * | operator new[] (size_t sz) |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
Static Public Member Functions | |
static bool | vertexElementLess (const VertexElement &e1, const VertexElement &e2) |
Sort routine for vertex elements. | |
Protected Attributes | |
VertexElementList | mElementList |
Definition at line 291 of file OgreHardwareVertexBuffer.h.
typedef std::list<VertexElement> Ogre::VertexDeclaration::VertexElementList |
Defines the list of vertex elements that makes up this declaration.
Definition at line 295 of file OgreHardwareVertexBuffer.h.
Ogre::VertexDeclaration::VertexDeclaration | ( | ) |
Standard constructor, not you should use HardwareBufferManager::createVertexDeclaration.
virtual Ogre::VertexDeclaration::~VertexDeclaration | ( | ) | [virtual] |
static bool Ogre::VertexDeclaration::vertexElementLess | ( | const VertexElement & | e1, | |
const VertexElement & | e2 | |||
) | [static] |
Sort routine for vertex elements.
size_t Ogre::VertexDeclaration::getElementCount | ( | void | ) |
Get the number of elements in the declaration.
Definition at line 306 of file OgreHardwareVertexBuffer.h.
const VertexElementList& Ogre::VertexDeclaration::getElements | ( | void | ) | const |
Gets read-only access to the list of vertex elements.
const VertexElement* Ogre::VertexDeclaration::getElement | ( | unsigned short | index | ) |
Get a single element.
void Ogre::VertexDeclaration::sort | ( | void | ) |
Sorts the elements in this list to be compatible with the maximum number of rendering APIs / graphics cards.
void Ogre::VertexDeclaration::closeGapsInSource | ( | void | ) |
Remove any gaps in the source buffer list used by this declaration.
VertexDeclaration* Ogre::VertexDeclaration::getAutoOrganisedDeclaration | ( | bool | skeletalAnimation, | |
bool | vertexAnimation | |||
) |
Generates a new VertexDeclaration for optimal usage based on the current vertex declaration, which can be used with VertexData::reorganiseBuffers later if you wish, or simply used as a template.
skeletalAnimation | Whether this vertex data is going to be skeletally animated | |
vertexAnimation | Whether this vertex data is going to be vertex animated |
unsigned short Ogre::VertexDeclaration::getMaxSource | ( | void | ) | const |
Gets the index of the highest source value referenced by this declaration.
virtual const VertexElement& Ogre::VertexDeclaration::addElement | ( | unsigned short | source, | |
size_t | offset, | |||
VertexElementType | theType, | |||
VertexElementSemantic | semantic, | |||
unsigned short | index = 0 | |||
) | [virtual] |
Adds a new VertexElement to this declaration.
source | The binding index of HardwareVertexBuffer which will provide the source for this element. See VertexBufferBindingState for full information. | |
offset | The offset in bytes where this element is located in the buffer | |
theType | The data format of the element (3 floats, a colour etc) | |
semantic | The meaning of the data (position, normal, diffuse colour etc) | |
index | Optional index for multi-input elements like texture coordinates |
virtual const VertexElement& Ogre::VertexDeclaration::insertElement | ( | unsigned short | atPosition, | |
unsigned short | source, | |||
size_t | offset, | |||
VertexElementType | theType, | |||
VertexElementSemantic | semantic, | |||
unsigned short | index = 0 | |||
) | [virtual] |
Inserts a new VertexElement at a given position in this declaration.
source | The binding index of HardwareVertexBuffer which will provide the source for this element. See VertexBufferBindingState for full information. | |
offset | The offset in bytes where this element is located in the buffer | |
theType | The data format of the element (3 floats, a colour etc) | |
semantic | The meaning of the data (position, normal, diffuse colour etc) | |
index | Optional index for multi-input elements like texture coordinates |
virtual void Ogre::VertexDeclaration::removeElement | ( | unsigned short | elem_index | ) | [virtual] |
Remove the element at the given index from this declaration.
virtual void Ogre::VertexDeclaration::removeElement | ( | VertexElementSemantic | semantic, | |
unsigned short | index = 0 | |||
) | [virtual] |
Remove the element with the given semantic and usage index.
virtual void Ogre::VertexDeclaration::removeAllElements | ( | void | ) | [virtual] |
Remove all elements.
virtual void Ogre::VertexDeclaration::modifyElement | ( | unsigned short | elem_index, | |
unsigned short | source, | |||
size_t | offset, | |||
VertexElementType | theType, | |||
VertexElementSemantic | semantic, | |||
unsigned short | index = 0 | |||
) | [virtual] |
Modify an element in-place, params as addElement.
virtual const VertexElement* Ogre::VertexDeclaration::findElementBySemantic | ( | VertexElementSemantic | sem, | |
unsigned short | index = 0 | |||
) | [virtual] |
Finds a VertexElement with the given semantic, and index if there is more than one element with the same semantic.
virtual VertexElementList Ogre::VertexDeclaration::findElementsBySource | ( | unsigned short | source | ) | [virtual] |
Based on the current elements, gets the size of the vertex for a given buffer source.
source | The buffer binding index for which to get the vertex size. Gets a list of elements which use a given source. |
virtual size_t Ogre::VertexDeclaration::getVertexSize | ( | unsigned short | source | ) | [virtual] |
Gets the vertex size defined by this declaration for a given source.
virtual VertexDeclaration* Ogre::VertexDeclaration::clone | ( | void | ) | [virtual] |
Clones this declaration.
bool Ogre::VertexDeclaration::operator== | ( | const VertexDeclaration & | rhs | ) | const |
bool Ogre::VertexDeclaration::operator!= | ( | const VertexDeclaration & | rhs | ) | const |
Definition at line 446 of file OgreHardwareVertexBuffer.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
const char * | file, | |||
int | line, | |||
const char * | func | |||
) | [inherited] |
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | [inherited] |
Definition at line 67 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
void * | ptr | |||
) | [inherited] |
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz, | |
const char * | file, | |||
int | line, | |||
const char * | func | |||
) | [inherited] |
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | [inherited] |
Definition at line 84 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | [inherited] |
Definition at line 89 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
void * | ||||
) | [inherited] |
Definition at line 95 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 106 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 27 22:03:38 2009