Ogre::ProgressiveMesh::PMVertex Class Reference

A vertex in the progressive mesh, holds info like collapse cost etc. More...

`#include <OgreProgressiveMesh.h>`

List of all members.

## Public Types

enum | BorderStatus { BS_UNKNOWN = 0, BS_NOT_BORDER, BS_BORDER }
typedef SmallVector< PMVertex *, 8 > | NeighborList
typedef SmallVector < PMTriangle *, 8 > | FaceList

## Public Member Functions

| PMVertex ()
void | setDetails (size_t index, const Vector3 &pos, const Vector3 &normal, const Vector2 &uv)
bool | isNearEnough (PMVertex *other) const
void | removeIfNonNeighbor (PMVertex *n)
void | initBorderStatus (void)
bool | isManifoldEdgeWith (PMVertex *v)
| Set mBorderStatus to BS_BORDER if this vertex is on the edge of an open geometry patch.
void | notifyRemoved (void)
void | calculateNormal ()

## Public Attributes

Vector3 | position
Vector3 | normal
Vector2 | uv
size_t | index
BorderStatus | mBorderStatus
bool | removed
bool | toBeRemoved
Real | collapseCost
PMVertex * | collapseTo
NeighborList | neighbor
FaceList | face

## Detailed Description

A vertex in the progressive mesh, holds info like collapse cost etc.

This vertex can actually represent several vertices in the final model, because vertices along texture seams etc will have been duplicated. In order to properly evaluate the surface properties, a single common vertex is used for these duplicates, and the faces hold the detail of the duplicated vertices.

Definition at line 272 of file OgreProgressiveMesh.h.

## Member Typedef Documentation

typedef SmallVector<PMTriangle *, 8> Ogre::ProgressiveMesh::PMVertex::FaceList

Definition at line 276 of file OgreProgressiveMesh.h.

typedef SmallVector<PMVertex *, 8> Ogre::ProgressiveMesh::PMVertex::NeighborList

Definition at line 275 of file OgreProgressiveMesh.h.

## Member Enumeration Documentation

enum Ogre::ProgressiveMesh::PMVertex::BorderStatus

Enumerator:

  BS_UNKNOWN |
  BS_NOT_BORDER |
  BS_BORDER |

Definition at line 274 of file OgreProgressiveMesh.h.

## Constructor & Destructor Documentation

Ogre::ProgressiveMesh::PMVertex::PMVertex | ( |  | ) |

Definition at line 279 of file OgreProgressiveMesh.h.

## Member Function Documentation

void Ogre::ProgressiveMesh::PMVertex::calculateNormal | ( |  | ) |

void Ogre::ProgressiveMesh::PMVertex::initBorderStatus | ( | void |  | ) |

bool Ogre::ProgressiveMesh::PMVertex::isManifoldEdgeWith | ( | PMVertex * | v | ) |

Set mBorderStatus to BS_BORDER if this vertex is on the edge of an open geometry patch.

bool Ogre::ProgressiveMesh::PMVertex::isNearEnough | ( | PMVertex * | other | ) | const

void Ogre::ProgressiveMesh::PMVertex::notifyRemoved | ( | void |  | ) |

void Ogre::ProgressiveMesh::PMVertex::removeIfNonNeighbor | ( | PMVertex * | n | ) |

void Ogre::ProgressiveMesh::PMVertex::setDetails | ( | size_t | index,
|  | const Vector3 & | pos,
|  | const Vector3 & | normal,
|  | const Vector2 & | uv
| ) |  |

## Member Data Documentation

Real Ogre::ProgressiveMesh::PMVertex::collapseCost

Definition at line 300 of file OgreProgressiveMesh.h.

PMVertex* Ogre::ProgressiveMesh::PMVertex::collapseTo

Definition at line 301 of file OgreProgressiveMesh.h.

FaceList Ogre::ProgressiveMesh::PMVertex::face

Definition at line 304 of file OgreProgressiveMesh.h.

size_t Ogre::ProgressiveMesh::PMVertex::index

Definition at line 294 of file OgreProgressiveMesh.h.

BorderStatus Ogre::ProgressiveMesh::PMVertex::mBorderStatus

Definition at line 296 of file OgreProgressiveMesh.h.

NeighborList Ogre::ProgressiveMesh::PMVertex::neighbor

Definition at line 303 of file OgreProgressiveMesh.h.

Vector3 Ogre::ProgressiveMesh::PMVertex::normal

Definition at line 291 of file OgreProgressiveMesh.h.

Vector3 Ogre::ProgressiveMesh::PMVertex::position

Definition at line 290 of file OgreProgressiveMesh.h.

bool Ogre::ProgressiveMesh::PMVertex::removed

Definition at line 297 of file OgreProgressiveMesh.h.

bool Ogre::ProgressiveMesh::PMVertex::toBeRemoved

Definition at line 298 of file OgreProgressiveMesh.h.

Vector2 Ogre::ProgressiveMesh::PMVertex::uv

Definition at line 292 of file OgreProgressiveMesh.h.

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

- OgreProgressiveMesh.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Sun Sep 2 2012 07:27:34