# 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

typedef std::set < PMVertex * > | NeighborList
typedef std::set < PMVertex * > | DuplicateList
typedef std::set < PMTriangle * > | FaceList

## Public Member Functions

| PMVertex ()
void | setDetails (const Vector3 &v, size_t index)
void | removeIfNonNeighbor (PMVertex *n)
bool | isBorder (void)
bool | isManifoldEdgeWith (PMVertex *v)
| true if this vertex is on the edge of an open geometry patch
void | notifyRemoved (void)

## Public Attributes

Vector3 | position
size_t | index
NeighborList | neighbor
FaceList | face
Real | collapseCost
PMVertex * | collapseTo
bool | removed
bool | toBeRemoved
bool | seam

## 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 159 of file OgreProgressiveMesh.h.

## Member Typedef Documentation

typedef std::set<PMVertex *> Ogre::ProgressiveMesh::PMVertex::NeighborList

Definition at line 170 of file OgreProgressiveMesh.h.

typedef std::set<PMVertex *> Ogre::ProgressiveMesh::PMVertex::DuplicateList

Definition at line 171 of file OgreProgressiveMesh.h.

typedef std::set<PMTriangle *> Ogre::ProgressiveMesh::PMVertex::FaceList

Definition at line 173 of file OgreProgressiveMesh.h.

## Constructor & Destructor Documentation

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

## Member Function Documentation

void Ogre::ProgressiveMesh::PMVertex::setDetails | ( | const Vector3 & | v,
|  | size_t | index |
| ) |  |  |

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

bool Ogre::ProgressiveMesh::PMVertex::isBorder | ( | void |  | ) |

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

true if this vertex is on the edge of an open geometry patch

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

## Member Data Documentation

Vector3 Ogre::ProgressiveMesh::PMVertex::position

Definition at line 168 of file OgreProgressiveMesh.h.

size_t Ogre::ProgressiveMesh::PMVertex::index

Definition at line 169 of file OgreProgressiveMesh.h.

NeighborList Ogre::ProgressiveMesh::PMVertex::neighbor

Definition at line 172 of file OgreProgressiveMesh.h.

FaceList Ogre::ProgressiveMesh::PMVertex::face

Definition at line 174 of file OgreProgressiveMesh.h.

Real Ogre::ProgressiveMesh::PMVertex::collapseCost

Definition at line 176 of file OgreProgressiveMesh.h.

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

Definition at line 177 of file OgreProgressiveMesh.h.

bool Ogre::ProgressiveMesh::PMVertex::removed

Definition at line 178 of file OgreProgressiveMesh.h.

bool Ogre::ProgressiveMesh::PMVertex::toBeRemoved

Definition at line 179 of file OgreProgressiveMesh.h.

bool Ogre::ProgressiveMesh::PMVertex::seam

Definition at line 181 of file OgreProgressiveMesh.h.

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

- OgreProgressiveMesh.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat May 10 16:28:04 2008