![]() |
PURE API 0.5
PR00F's Ultimate Rendering Engine full documentation
|
Definition at line 17 of file PureMesh3DImpl.h.
#include <PureMesh3DImpl.h>
Public Member Functions | |
virtual | ~PureMesh3DImpl () |
TPureBool | isLevel1 () const |
TPureBool | isLevel2 () const |
TPURE_PRIMITIVE_FORMAT | getPrimitiveFormat () const |
TPureUInt | getVerticesCount () const |
const TXYZ * | getVertices (TPureBool implicitAccessSubobject=true) const |
TXYZ * | getVertices (TPureBool implicitAccessSubobject=true) |
TPureUInt | getVertexIndicesCount () const |
const void * | getVertexIndices (TPureBool implicitAccessSubobject=true) const |
unsigned int | getVertexIndicesType (TPureBool implicitAccessSubobject=true) const |
TPureUInt | getMinVertexIndex (TPureBool implicitAccessSubobject=true) const |
TPureUInt | getMaxVertexIndex (TPureBool implicitAccessSubobject=true) const |
TPureUInt | getVertexIndex (TPureUInt index, TPureBool implicitAccessSubobject=true) const |
const TXYZ * | getNormals (TPureBool implicitAccessSubobject=true) const |
TPureUInt | getFaceCount () const |
TPureUInt | getTriangleCount () const |
PureVector & | getPosVec () |
const PureVector & | getPosVec () const |
const PureVector & | getRelPosVec () const |
const PureVector & | getSizeVec () const |
void | RecalculateSize () |
const PureMaterial & | getMaterial (TPureBool implicitAccessSubobject=true) const |
PureMaterial & | getMaterial (TPureBool implicitAccessSubobject=true) |
TPureUInt | getUsedSystemMemory () const |
TPureBool | cannibalize (PureMesh3D &victim) |
Acquires the resources and properties of the given Mesh3D object, meaning that the given mesh will lose the geometry and other resources. | |
Protected Member Functions | |
PureMesh3DImpl (PureMesh3D *owner, TPURE_PRIMITIVE_FORMAT prfmt) | |
PureMesh3DImpl (const PureMesh3DImpl &) | |
PureMesh3DImpl & | operator= (const PureMesh3DImpl &) |
TPureBool | setVertexIndex (TPureUInt index, TPureUInt value) |
Sets an index value in the vertex index array. | |
Protected Attributes | |
TPURE_PRIMITIVE_FORMAT | primitiveFormat |
Primitives' format. | |
TXYZ * | pVertices |
Pointer to vertices. | |
TXYZ * | pNormals |
Pointer to normals. | |
void * | pVertexIndices |
Pointer to vertex indices. | |
TPureUInt | nVertexIndices_h |
Number of vertex indices. | |
TPureUInt | nMinVertexIndex |
Smallest value in the pVertexIndices array. | |
TPureUInt | nMaxVertexIndex |
Biggest value in the pVertexIndices array. | |
GLenum | nIndicesType |
Type of indices stored in pVertexIndices array. | |
TPureUInt | nVertices_h |
Number of vertices. | |
TPureUInt | nFaces_h |
Number of faces. | |
PureVector | vPos |
3D World-space Position. | |
PureVector | vRelPos |
3D offset position of vertices relative to center of mesh [0,0,0]. | |
PureVector | vSize |
3D Size. | |
Private Attributes | |
PureMesh3D * | _pOwner |
The owner public object who creates this pimpl object. | |
PureMaterial * | pMaterial |
Pointer to material. | |
Friends | |
class | PureMesh3D |
class | PureMesh3DManager |
|
virtual |
Definition at line 28 of file PureMesh3D.cpp.
|
protected |
owner | The public PureMesh3D class instance owning this pimpl object. |
prfmt | Requested primitive format for this mesh. |
Definition at line 459 of file PureMesh3D.cpp.
|
protected |
Definition at line 483 of file PureMesh3D.cpp.
TPureBool PureMesh3D::PureMesh3DImpl::cannibalize | ( | PureMesh3D & | victim | ) |
Acquires the resources and properties of the given Mesh3D object, meaning that the given mesh will lose the geometry and other resources.
This is a way of moving assets of a mesh to another mesh, MOVING, so no array copy is involved. Can be done only for level-2 meshes by level-2 meshes, or for level-1 meshes by level-1 meshes. This means that in order to fully cannibalize a level-1 mesh, this function should be called for the level-1 mesh by the level-1 mesh and then for all of its submeshes one by one by the submeshes of the cannibalizer mesh.
Definition at line 392 of file PureMesh3D.cpp.
TPureUInt PureMesh3D::PureMesh3DImpl::getFaceCount | ( | ) | const |
Definition at line 191 of file PureMesh3D.cpp.
PureMaterial & PureMesh3D::PureMesh3DImpl::getMaterial | ( | TPureBool | implicitAccessSubobject = true | ) |
Definition at line 364 of file PureMesh3D.cpp.
const PureMaterial & PureMesh3D::PureMesh3DImpl::getMaterial | ( | TPureBool | implicitAccessSubobject = true | ) | const |
Definition at line 355 of file PureMesh3D.cpp.
TPureUInt PureMesh3D::PureMesh3DImpl::getMaxVertexIndex | ( | TPureBool | implicitAccessSubobject = true | ) | const |
Definition at line 148 of file PureMesh3D.cpp.
TPureUInt PureMesh3D::PureMesh3DImpl::getMinVertexIndex | ( | TPureBool | implicitAccessSubobject = true | ) | const |
Definition at line 139 of file PureMesh3D.cpp.
const TXYZ * PureMesh3D::PureMesh3DImpl::getNormals | ( | TPureBool | implicitAccessSubobject = true | ) | const |
Definition at line 182 of file PureMesh3D.cpp.
PureVector & PureMesh3D::PureMesh3DImpl::getPosVec | ( | ) |
Definition at line 243 of file PureMesh3D.cpp.
const PureVector & PureMesh3D::PureMesh3DImpl::getPosVec | ( | ) | const |
Definition at line 255 of file PureMesh3D.cpp.
TPURE_PRIMITIVE_FORMAT PureMesh3D::PureMesh3DImpl::getPrimitiveFormat | ( | ) | const |
Definition at line 59 of file PureMesh3D.cpp.
const PureVector & PureMesh3D::PureMesh3DImpl::getRelPosVec | ( | ) | const |
Definition at line 249 of file PureMesh3D.cpp.
const PureVector & PureMesh3D::PureMesh3DImpl::getSizeVec | ( | ) | const |
Definition at line 261 of file PureMesh3D.cpp.
TPureUInt PureMesh3D::PureMesh3DImpl::getTriangleCount | ( | ) | const |
Definition at line 217 of file PureMesh3D.cpp.
TPureUInt PureMesh3D::PureMesh3DImpl::getUsedSystemMemory | ( | ) | const |
Definition at line 373 of file PureMesh3D.cpp.
TPureUInt PureMesh3D::PureMesh3DImpl::getVertexIndex | ( | TPureUInt | index, |
TPureBool | implicitAccessSubobject = true ) const |
Definition at line 157 of file PureMesh3D.cpp.
const void * PureMesh3D::PureMesh3DImpl::getVertexIndices | ( | TPureBool | implicitAccessSubobject = true | ) | const |
Definition at line 121 of file PureMesh3D.cpp.
TPureUInt PureMesh3D::PureMesh3DImpl::getVertexIndicesCount | ( | ) | const |
Definition at line 102 of file PureMesh3D.cpp.
unsigned int PureMesh3D::PureMesh3DImpl::getVertexIndicesType | ( | TPureBool | implicitAccessSubobject = true | ) | const |
Definition at line 130 of file PureMesh3D.cpp.
Definition at line 93 of file PureMesh3D.cpp.
const TXYZ * PureMesh3D::PureMesh3DImpl::getVertices | ( | TPureBool | implicitAccessSubobject = true | ) | const |
Definition at line 84 of file PureMesh3D.cpp.
TPureUInt PureMesh3D::PureMesh3DImpl::getVerticesCount | ( | ) | const |
Definition at line 65 of file PureMesh3D.cpp.
TPureBool PureMesh3D::PureMesh3DImpl::isLevel1 | ( | ) | const |
Definition at line 48 of file PureMesh3D.cpp.
TPureBool PureMesh3D::PureMesh3DImpl::isLevel2 | ( | ) | const |
Definition at line 53 of file PureMesh3D.cpp.
|
protected |
Definition at line 527 of file PureMesh3D.cpp.
void PureMesh3D::PureMesh3DImpl::RecalculateSize | ( | ) |
Definition at line 267 of file PureMesh3D.cpp.
Sets an index value in the vertex index array.
Since this also checks for violating range defined by nMinVertexIndex and nMaxVertexIndex, even during building up a geometry, those limits should be properly updated before using this function.
Definition at line 540 of file PureMesh3D.cpp.
|
friend |
Definition at line 95 of file PureMesh3DImpl.h.
|
friend |
Definition at line 96 of file PureMesh3DImpl.h.
|
private |
The owner public object who creates this pimpl object.
Definition at line 90 of file PureMesh3DImpl.h.
|
protected |
Number of faces.
Definition at line 76 of file PureMesh3DImpl.h.
|
protected |
Type of indices stored in pVertexIndices array.
Should be as small as possible per object.
Definition at line 74 of file PureMesh3DImpl.h.
|
protected |
Biggest value in the pVertexIndices array.
Used by glDrawRangeElementsEXT().
Definition at line 73 of file PureMesh3DImpl.h.
|
protected |
Smallest value in the pVertexIndices array.
Used by glDrawRangeElementsEXT().
Definition at line 72 of file PureMesh3DImpl.h.
|
protected |
Number of vertex indices.
Definition at line 71 of file PureMesh3DImpl.h.
|
protected |
Number of vertices.
Definition at line 75 of file PureMesh3DImpl.h.
|
private |
Pointer to material.
Definition at line 91 of file PureMesh3DImpl.h.
|
protected |
Pointer to normals.
Definition at line 69 of file PureMesh3DImpl.h.
|
protected |
Primitives' format.
Definition at line 67 of file PureMesh3DImpl.h.
|
protected |
Pointer to vertex indices.
We use these to index into arrays of Material too.
Definition at line 70 of file PureMesh3DImpl.h.
|
protected |
Pointer to vertices.
Definition at line 68 of file PureMesh3DImpl.h.
|
protected |
3D World-space Position.
Definition at line 78 of file PureMesh3DImpl.h.
|
protected |
3D offset position of vertices relative to center of mesh [0,0,0].
Definition at line 79 of file PureMesh3DImpl.h.
|
protected |
3D Size.
Definition at line 80 of file PureMesh3DImpl.h.