Ogre::VertexElement Class Reference
Core » RenderSystem

This class declares the usage of a single vertex buffer as a component of a complete VertexDeclaration. More...

`#include <OgreHardwareVertexBuffer.h>`

Inheritance diagram for Ogre::VertexElement:
[legend]

## Public Member Functions

| VertexElement ()
| Constructor, should not be called directly, only needed because of list. More...
| VertexElement (unsigned short source, size_t offset, VertexElementType theType, VertexElementSemantic semantic, unsigned short index=0)
| Constructor, should not be called directly, call VertexDeclaration::addElement. More...
void | baseVertexPointerToElement (void *pBase, void **pElem) const
| Adjusts a pointer to the base of a vertex to point at this element. More...
void | baseVertexPointerToElement (void *pBase, float **pElem) const
| Adjusts a pointer to the base of a vertex to point at this element. More...
void | baseVertexPointerToElement (void *pBase, RGBA **pElem) const
| Adjusts a pointer to the base of a vertex to point at this element. More...
void | baseVertexPointerToElement (void *pBase, unsigned char **pElem) const
| Adjusts a pointer to the base of a vertex to point at this element. More...
void | baseVertexPointerToElement (void *pBase, unsigned short **pElem) const
| Adjusts a pointer to the base of a vertex to point at this element. More...
unsigned short | getIndex (void) const
| Gets the index of this element, only applicable for repeating elements. More...
size_t | getOffset (void) const
| Gets the offset into the buffer where this element starts. More...
VertexElementSemantic | getSemantic (void) const
| Gets the meaning of this element. More...
size_t | getSize (void) const
| Gets the size of this element in bytes. More...
unsigned short | getSource (void) const
| Gets the vertex buffer index from where this element draws it's values. More...
VertexElementType | getType (void) const
| Gets the data format of this element. More...
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 *)
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info More...
void * | operator new (size_t sz)
void * | operator new (size_t sz, void *ptr)
| placement operator new More...
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info More...
void * | operator new[] (size_t sz)
bool | operator== (const VertexElement &rhs) const

## Static Public Member Functions

static void | convertColourValue (VertexElementType srcType, VertexElementType dstType, uint32 *ptr)
| Utility method for converting colour from one packed 32-bit colour type to another. More...
static uint32 | convertColourValue (const ColourValue &src, VertexElementType dst)
| Utility method for converting colour to a packed 32-bit colour type. More...
static VertexElementType | getBaseType (VertexElementType multiType)
| Simple converter function which will a type into it's single-value equivalent - makes switches on type easier. More...
static VertexElementType | getBestColourVertexElementType (void)
| Utility method to get the most appropriate packed colour vertex element format. More...
static unsigned short | getTypeCount (VertexElementType etype)
| Utility method which returns the count of values in a given type. More...
static size_t | getTypeSize (VertexElementType etype)
| Utility method for helping to calculate offsets. More...
static VertexElementType | multiplyTypeCount (VertexElementType baseType, unsigned short count)
| Simple converter function which will turn a single-value type into a multi-value type based on a parameter. More...

## Protected Attributes

unsigned short | mIndex
| Index of the item, only applicable for some elements like texture coords. More...
size_t | mOffset
| The offset in the buffer that this element starts at. More...
VertexElementSemantic | mSemantic
| The meaning of the element. More...
unsigned short | mSource
| The source vertex buffer, as bound to an index using VertexBufferBinding. More...
VertexElementType | mType
| The type of element. More...

## Detailed Description

This class declares the usage of a single vertex buffer as a component of a complete VertexDeclaration.

Remarks
  Several vertex buffers can be used to supply the input geometry for a rendering operation, and in each case a vertex buffer can be used in different ways for different operations; the buffer itself does not define the semantics (position, normal etc), the VertexElement class does.

Definition at line 167 of file OgreHardwareVertexBuffer.h.

## Constructor & Destructor Documentation

## VertexElement() [1/2]

Ogre::VertexElement::VertexElement | ( |  | ) |

Constructor, should not be called directly, only needed because of list.

Definition at line 182 of file OgreHardwareVertexBuffer.h.

## VertexElement() [2/2]

Ogre::VertexElement::VertexElement | ( | unsigned short | source,
|  | size_t | offset,
|  | VertexElementType | theType,
|  | VertexElementSemantic | semantic,
|  | unsigned short | index = `0`
| ) |  |

Constructor, should not be called directly, call VertexDeclaration::addElement.

## Member Function Documentation

## baseVertexPointerToElement() [1/5]

void Ogre::VertexElement::baseVertexPointerToElement | ( | void * | pBase,
|  | void ** | pElem
| ) |  | const

Adjusts a pointer to the base of a vertex to point at this element.

Remarks
  This variant is for void pointers, passed as a parameter because we can't rely on covariant return types.

Parameters

  pBase | Pointer to the start of a vertex in this buffer.
  pElem | Pointer to a pointer which will be set to the start of this element.

Definition at line 250 of file OgreHardwareVertexBuffer.h.

## baseVertexPointerToElement() [2/5]

void Ogre::VertexElement::baseVertexPointerToElement | ( | void * | pBase,
|  | float ** | pElem
| ) |  | const

Adjusts a pointer to the base of a vertex to point at this element.

Remarks
  This variant is for float pointers, passed as a parameter because we can't rely on covariant return types.

Parameters

  pBase | Pointer to the start of a vertex in this buffer.
  pElem | Pointer to a pointer which will be set to the start of this element.

Definition at line 264 of file OgreHardwareVertexBuffer.h.

## baseVertexPointerToElement() [3/5]

void Ogre::VertexElement::baseVertexPointerToElement | ( | void * | pBase,
|  | RGBA ** | pElem
| ) |  | const

Adjusts a pointer to the base of a vertex to point at this element.

Remarks
  This variant is for RGBA pointers, passed as a parameter because we can't rely on covariant return types.

Parameters

  pBase | Pointer to the start of a vertex in this buffer.
  pElem | Pointer to a pointer which will be set to the start of this element.

Definition at line 281 of file OgreHardwareVertexBuffer.h.

## baseVertexPointerToElement() [4/5]

void Ogre::VertexElement::baseVertexPointerToElement | ( | void * | pBase,
|  | unsigned char ** | pElem
| ) |  | const

Adjusts a pointer to the base of a vertex to point at this element.

Remarks
  This variant is for char pointers, passed as a parameter because we can't rely on covariant return types.

Parameters

  pBase | Pointer to the start of a vertex in this buffer.
  pElem | Pointer to a pointer which will be set to the start of this element.

Definition at line 294 of file OgreHardwareVertexBuffer.h.

## baseVertexPointerToElement() [5/5]

void Ogre::VertexElement::baseVertexPointerToElement | ( | void * | pBase,
|  | unsigned short ** | pElem
| ) |  | const

Adjusts a pointer to the base of a vertex to point at this element.

Remarks
  This variant is for ushort pointers, passed as a parameter because we can't rely on covariant return types.

Parameters

  pBase | Pointer to the start of a vertex in this buffer.
  pElem | Pointer to a pointer which will be set to the start of this element.

Definition at line 306 of file OgreHardwareVertexBuffer.h.

## convertColourValue() [1/2]

static void Ogre::VertexElement::convertColourValue | ( | VertexElementType | srcType,
|  | VertexElementType | dstType,
|  | uint32 * | ptr
| ) |  |

static

Utility method for converting colour from one packed 32-bit colour type to another.

Parameters

  srcType | The source type
  dstType | The destination type
  ptr | Read / write value to change

## convertColourValue() [2/2]

static uint32 Ogre::VertexElement::convertColourValue | ( | const ColourValue & | src,
|  | VertexElementType | dst
| ) |  |

static

Utility method for converting colour to a packed 32-bit colour type.

Parameters

  src | source colour
  dst | The destination type

## getBaseType()

static VertexElementType Ogre::VertexElement::getBaseType | ( | VertexElementType | multiType | ) |

static

Simple converter function which will a type into it's single-value equivalent - makes switches on type easier.

## getBestColourVertexElementType()

static VertexElementType Ogre::VertexElement::getBestColourVertexElementType | ( | void |  | ) |

static

Utility method to get the most appropriate packed colour vertex element format.

## getIndex()

unsigned short Ogre::VertexElement::getIndex | ( | void |  | ) | const

Gets the index of this element, only applicable for repeating elements.

Definition at line 195 of file OgreHardwareVertexBuffer.h.

## getOffset()

size_t Ogre::VertexElement::getOffset | ( | void |  | ) | const

Gets the offset into the buffer where this element starts.

Definition at line 189 of file OgreHardwareVertexBuffer.h.

## getSemantic()

VertexElementSemantic Ogre::VertexElement::getSemantic | ( | void |  | ) | const

Gets the meaning of this element.

Definition at line 193 of file OgreHardwareVertexBuffer.h.

## getSize()

size_t Ogre::VertexElement::getSize | ( | void |  | ) | const

Gets the size of this element in bytes.

## getSource()

unsigned short Ogre::VertexElement::getSource | ( | void |  | ) | const

Gets the vertex buffer index from where this element draws it's values.

Definition at line 187 of file OgreHardwareVertexBuffer.h.

## getType()

VertexElementType Ogre::VertexElement::getType | ( | void |  | ) | const

Gets the data format of this element.

Definition at line 191 of file OgreHardwareVertexBuffer.h.

## getTypeCount()

static unsigned short Ogre::VertexElement::getTypeCount | ( | VertexElementType | etype | ) |

static

Utility method which returns the count of values in a given type.

## getTypeSize()

static size_t Ogre::VertexElement::getTypeSize | ( | VertexElementType | etype | ) |

static

Utility method for helping to calculate offsets.

## multiplyTypeCount()

static VertexElementType Ogre::VertexElement::multiplyTypeCount | ( | VertexElementType | baseType,
|  | unsigned short | count
| ) |  |

static

Simple converter function which will turn a single-value type into a multi-value type based on a parameter.

## operator delete() [1/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) |

inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

## operator delete() [2/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  |

inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

## operator delete() [3/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |

inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [1/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) |

inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [2/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |

inherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

## operator new() [1/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  |

inherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

## operator new() [2/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) |

inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

## operator new() [3/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr
| ) |  |

inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

## operator new[]() [1/2]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  |

inherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

## operator new[]() [2/2]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) |

inherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

## operator==()

bool Ogre::VertexElement::operator== | ( | const VertexElement & | rhs | ) | const

Definition at line 231 of file OgreHardwareVertexBuffer.h.

References mIndex, mOffset, mSemantic, mSource, and mType.

## Member Data Documentation

## mIndex

unsigned short Ogre::VertexElement::mIndex

protected

Index of the item, only applicable for some elements like texture coords.

Definition at line 179 of file OgreHardwareVertexBuffer.h.

Referenced by operator==().

## mOffset

size_t Ogre::VertexElement::mOffset

protected

The offset in the buffer that this element starts at.

Definition at line 173 of file OgreHardwareVertexBuffer.h.

Referenced by operator==().

## mSemantic

VertexElementSemantic Ogre::VertexElement::mSemantic

protected

The meaning of the element.

Definition at line 177 of file OgreHardwareVertexBuffer.h.

Referenced by operator==().

## mSource

unsigned short Ogre::VertexElement::mSource

protected

The source vertex buffer, as bound to an index using VertexBufferBinding.

Definition at line 171 of file OgreHardwareVertexBuffer.h.

Referenced by operator==().

## mType

VertexElementType Ogre::VertexElement::mType

protected

The type of element.

Definition at line 175 of file OgreHardwareVertexBuffer.h.

Referenced by operator==().

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

- OgreHardwareVertexBuffer.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.