#include <NhalfEdgeVertex.h>
Inheritance diagram for NhalfEdgeVertex:


Definition at line 18 of file NhalfEdgeVertex.h.
Public Member Functions | |
constructors | |
| NhalfEdgeVertex () | |
| basic constructor | |
operators | |
| BOOL | operator< (NhalfEdgeVertex &vertex) |
| less than operator based on gain | |
| BOOL | operator> (NhalfEdgeVertex &vertex) |
| greator than operator based on gain | |
| BOOL | operator<= (NhalfEdgeVertex &vertex) |
| less than equals operator based on gain | |
queries | |
| BOOL | isVisited () const |
| is visited | |
| BOOL | isActive () const |
| is active | |
| BOOL | isDeleted () const |
| is deleted | |
| BOOL | isComposite () const |
| is composite | |
| BOOL | onPartition () |
| is the vertex on the border between partitions | |
| BOOL | isIsolated () |
| is the vertex connectd to another in the same partition | |
| BOOL | isConnectedTo (NhalfEdgeVertex *pVertex) |
| is the vertex connected to another vertex | |
| BOOL | isMovable () |
| can the vertex be moved from one partition to another? | |
| U32 | getValence () |
| get the valence | |
| U32 | getTotalIncidentEdges () |
| get the total number of incident edges | |
| U32 | getPartition () const |
| get the partition number | |
| R32 | getGain () |
| get the gain | |
| BOOL | findEdge (const NhalfEdge *pEdge) |
| find whether an edge impact a vertex | |
| NhalfEdge * | findEdge (const NhalfEdgeVertex *pVertex) |
| get the edge between two vertices | |
| NhalfEdge * | findDirectedEdge (const NhalfEdgeVertex *pVertex) |
| get the directed edge between two vertices | |
| R32 | getWeight () const |
| get the weight of the vertex | |
| BOOL | getNeighbors (std::vector< NhalfEdgeVertex * > *pVertexArray) |
| gets the neighbors of the vertex .. possibly in fan order | |
set properties | |
| void | setVisited (const BOOL visited) |
| set the vertex visited | |
| void | setActive (const BOOL active) |
| set the vertex active | |
| void | setDeleted (const BOOL deleted) |
| set the vertex deleted | |
| void | setPartition (const U32 index) |
| set the vertex's partition number | |
| void | setWeight (const R32 weight) |
| set the weight of the vertex | |
complex operations | |
| void | addEdge (NhalfEdge *pEdge) |
| sets the weight for the vertex | |
| void | removeEdge (NhalfEdge *pEdge) |
| remove an edge from the vertex | |
| void | clearEdgeList () |
| clear the edge list for a vertex | |
Protected Member Functions | |
private composite operations | |
| void | setComposite (const BOOL composite) |
| make the vertex a composite or not | |
| NhalfEdgeVertex * | getCompositeVertexA () |
| get one vertex contained within composite vertex | |
| NhalfEdgeVertex * | getCompositeVertexB () |
| get the other vertex contain within the composite | |
| void | setComposite (NhalfEdgeVertex *pV1, NhalfEdgeVertex *pV2) |
| make the vertex a composite | |
private basic operations | |
| U32 | getIndex () const |
| get the index for the vertex | |
| void | setIndex (const U32 index) |
| set the index for the vertex | |
private debug operations | |
| void | log () |
| write the iformation for the vertex to a file | |
Protected Attributes | |
| U32 | m_index |
| index to be used by NhalfEdgeMesh only | |
| U32 | m_valence |
| valence of the vertex | |
| U32 | m_attributeMask |
| attribute mask | |
| U32 | m_partition |
| partition number | |
| R32 | m_weight |
| weight | |
| NhalfEdge * | m_savedEdge |
| data for "composite" nodes | |
| NhalfEdgeVertex * | m_pSavedV1 |
| saved vertex | |
| NhalfEdgeVertex * | m_pSavedV2 |
| saved vertex | |
| std::vector< NhalfEdge * > | m_OutGoingEdgeList |
| edge list of outgoing half edges | |
| std::vector< NhalfEdge * > | m_InComingEdgeList |
| edge list of incoming half edges | |
Friends | |
| class | NhalfEdgeMesh |
| class | NhalfEdge |
|
|
basic constructor
Definition at line 9 of file NhalfEdgeVertex.cpp. References FALSE, m_attributeMask, m_index, m_partition, m_pSavedV1, m_pSavedV2, m_savedEdge, m_valence, m_weight, setActive(), setComposite(), setDeleted(), and TRUE. Referenced by gmVertex::gmVertex(). |
|
|
sets the weight for the vertex
Definition at line 416 of file NhalfEdgeVertex.cpp. References NhalfEdge::getOpposite(), NhalfEdge::getVertexA(), NhalfEdge::getVertexB(), m_InComingEdgeList, m_OutGoingEdgeList, and m_valence. Referenced by NhalfEdgeMesh::addHalfEdge(), and NhalfEdgeMesh::uncollapseVertex(). |
|
|
clear the edge list for a vertex
Definition at line 606 of file NhalfEdgeVertex.cpp. References m_InComingEdgeList, and m_OutGoingEdgeList. |
|
|
get the directed edge between two vertices
Reimplemented in gmVertex, and ParticleVertex. Definition at line 474 of file NhalfEdgeVertex.cpp. References m_OutGoingEdgeList. Referenced by ParticleVertex::findDirectedEdge(), gmVertex::findDirectedEdge(), and isMovable(). |
|
|
get the edge between two vertices
Reimplemented in gmVertex, and ParticleVertex. Definition at line 455 of file NhalfEdgeVertex.cpp. References m_InComingEdgeList, and m_OutGoingEdgeList. |
|
|
find whether an edge impact a vertex
Definition at line 432 of file NhalfEdgeVertex.cpp. References BOOL, FALSE, NhalfEdge::getVertexA(), NhalfEdge::getVertexB(), NhalfEdge::isActive(), m_InComingEdgeList, m_OutGoingEdgeList, and TRUE. Referenced by NhalfEdgeMesh::activatePartition(), NhalfEdgeMesh::collapseEdge(), ParticleVertex::findEdge(), gmVertex::findEdge(), and NhalfEdge::isContractable(). |
|
|
get one vertex contained within composite vertex
Definition at line 180 of file NhalfEdgeVertex.cpp. References isComposite(), isDeleted(), and m_pSavedV1. Referenced by NhalfEdgeMesh::uncollapseVertex(). |
|
|
get the other vertex contain within the composite
Definition at line 197 of file NhalfEdgeVertex.cpp. References isComposite(), isDeleted(), and m_pSavedV2. Referenced by NhalfEdgeMesh::uncollapseVertex(). |
|
|
get the gain
Definition at line 562 of file NhalfEdgeVertex.cpp. References getPartition(), m_InComingEdgeList, m_OutGoingEdgeList, and R32. Referenced by NhalfEdgeMesh::FMoptimization(), NhalfEdgeVertexPtrGain::operator()(), operator<(), operator<=(), operator>(), and NhalfEdgeMesh::switchPartitions(). |
|
|
get the index for the vertex
Definition at line 74 of file NhalfEdgeVertex.cpp. References U32. Referenced by NhalfEdgeMesh::collapseEdge(), and isMovable(). |
|
|
gets the neighbors of the vertex .. possibly in fan order
Definition at line 233 of file NhalfEdgeVertex.cpp. References BOOL, FALSE, NhalfEdge::getNext(), NhalfEdge::getOpposite(), NhalfEdge::getVertexA(), NhalfEdge::getVertexB(), NhalfEdge::isActive(), m_InComingEdgeList, and TRUE. Referenced by NhalfEdgeMesh::depthFirstSearch(), ParticleVertex::getNeighbors(), gmVertex::getNeighbors(), NhalfEdge::isContractable(), and isMovable(). |
|
|
get the partition number
Definition at line 93 of file NhalfEdgeVertex.cpp. References U32. Referenced by NhalfEdgeMesh::activatePartition(), NhalfEdgeMesh::FMoptimization(), getGain(), isIsolated(), isMovable(), NhalfEdgeMesh::switchPartitions(), and NhalfEdgeMesh::uncollapseVertex(). |
|
|
get the total number of incident edges
Definition at line 497 of file NhalfEdgeVertex.cpp. References m_InComingEdgeList, m_OutGoingEdgeList, and U32. |
|
|
get the valence
Definition at line 488 of file NhalfEdgeVertex.cpp. |
|
|
get the weight of the vertex
Definition at line 404 of file NhalfEdgeVertex.cpp. References R32. Referenced by NhalfEdgeMesh::collapseEdge(), NhalfEdgeMesh::drawInitialPartitions(), and NhalfEdgeMesh::switchPartitions(). |
|
|
is active
Definition at line 123 of file NhalfEdgeVertex.cpp. References BOOL, FALSE, and N_VERTEX_ACTIVE. Referenced by NhalfEdgeMesh::activateVertex(), NhalfEdgeMesh::depthFirstSearch(), isConnectedTo(), NhalfEdgeMesh::isInHalfEdgeMesh(), NhalfEdgeMesh::partitionFromConnectedness(), and NhalfEdgeMesh::switchPartitions(). |
|
|
is composite
Definition at line 145 of file NhalfEdgeVertex.cpp. References BOOL, and N_VERTEX_COMPOSITE. Referenced by getCompositeVertexA(), and getCompositeVertexB(). |
|
|
is the vertex connected to another vertex
Definition at line 525 of file NhalfEdgeVertex.cpp. References BOOL, FALSE, isActive(), m_InComingEdgeList, m_OutGoingEdgeList, and TRUE. |
|
|
is deleted
Definition at line 212 of file NhalfEdgeVertex.cpp. References BOOL, and N_VERTEX_DELETED. Referenced by NhalfEdgeMesh::cleanUpVertexList(), getCompositeVertexA(), getCompositeVertexB(), NhalfEdgeMesh::isInHalfEdgeMesh(), operator<(), operator<=(), operator>(), and NhalfEdgeMesh::switchPartitions(). |
|
|
is the vertex connectd to another in the same partition
Definition at line 544 of file NhalfEdgeVertex.cpp. References BOOL, getPartition(), m_InComingEdgeList, and m_OutGoingEdgeList. Referenced by NhalfEdgeMesh::FMoptimization(). |
|
|
can the vertex be moved from one partition to another?
Definition at line 277 of file NhalfEdgeVertex.cpp. References BOOL, FALSE, findDirectedEdge(), getIndex(), getNeighbors(), NhalfEdge::getNext(), getPartition(), NhalfEdge::getVertexB(), TRUE, and U32. Referenced by NhalfEdgeMesh::FMoptimization(). |
|
|
is visited
Definition at line 103 of file NhalfEdgeVertex.cpp. References BOOL, and N_VERTEX_VISITED. Referenced by NhalfEdgeMesh::depthFirstSearch(), and NhalfEdgeMesh::partitionFromConnectedness(). |
|
|
write the iformation for the vertex to a file
Definition at line 615 of file NhalfEdgeVertex.cpp. Referenced by NhalfEdgeMesh::collapseEdge(). |
|
|
is the vertex on the border between partitions
Definition at line 591 of file NhalfEdgeVertex.cpp. References BOOL, FALSE, m_InComingEdgeList, m_OutGoingEdgeList, m_partition, and TRUE. |
|
|
less than operator based on gain
Definition at line 25 of file NhalfEdgeVertex.cpp. References BOOL, getGain(), isDeleted(), and vertex. |
|
|
less than equals operator based on gain
Definition at line 51 of file NhalfEdgeVertex.cpp. References BOOL, getGain(), isDeleted(), and vertex. |
|
|
greator than operator based on gain
Definition at line 38 of file NhalfEdgeVertex.cpp. References BOOL, getGain(), isDeleted(), and vertex. |
|
|
remove an edge from the vertex
Definition at line 506 of file NhalfEdgeVertex.cpp. References NhalfEdge::getOpposite(), NhalfEdge::getVertexA(), NhalfEdge::getVertexB(), m_InComingEdgeList, m_OutGoingEdgeList, and m_valence. Referenced by NhalfEdgeMesh::activatePartition(), NhalfEdgeMesh::collapseEdge(), NhalfEdgeMesh::deleteEdge(), NhalfEdgeMesh::deleteFace(), NhalfEdgeMesh::deleteVertex(), and NhalfEdgeMesh::uncollapseVertex(). |
|
|
set the vertex active
Definition at line 134 of file NhalfEdgeVertex.cpp. References BOOL, m_attributeMask, and N_VERTEX_ACTIVE. Referenced by NhalfEdgeMesh::activateVertex(), NhalfEdgeMesh::deActivateVertex(), and NhalfEdgeVertex(). |
|
||||||||||||
|
make the vertex a composite
Definition at line 165 of file NhalfEdgeVertex.cpp. References m_attributeMask, m_pSavedV1, m_pSavedV2, and N_VERTEX_COMPOSITE. |
|
|
make the vertex a composite or not
Definition at line 155 of file NhalfEdgeVertex.cpp. References BOOL, m_attributeMask, and N_VERTEX_COMPOSITE. Referenced by NhalfEdgeMesh::collapseEdge(), and NhalfEdgeVertex(). |
|
|
set the vertex deleted
Definition at line 222 of file NhalfEdgeVertex.cpp. References BOOL, m_attributeMask, and N_VERTEX_DELETED. Referenced by NhalfEdgeMesh::deleteVertex(), NhalfEdgeVertex(), and NhalfEdgeMesh::uncollapseVertex(). |
|
|
set the index for the vertex
Definition at line 64 of file NhalfEdgeVertex.cpp. Referenced by NhalfEdgeMesh::addVertex(). |
|
|
set the vertex's partition number
Definition at line 84 of file NhalfEdgeVertex.cpp. References m_partition, and U32. Referenced by NhalfEdgeMesh::drawInitialPartitions(), NhalfEdgeMesh::partitionFromConnectedness(), NhalfEdgeMesh::switchPartitions(), and NhalfEdgeMesh::uncollapseVertex(). |
|
|
set the vertex visited
Definition at line 112 of file NhalfEdgeVertex.cpp. References BOOL, m_attributeMask, and N_VERTEX_VISITED. Referenced by NhalfEdgeMesh::depthFirstSearch(), NhalfEdgeMesh::FMoptimization(), and NhalfEdgeMesh::partitionFromConnectedness(). |
|
|
set the weight of the vertex
Definition at line 395 of file NhalfEdgeVertex.cpp. Referenced by NhalfEdgeMesh::collapseEdge(). |
|
|
Definition at line 20 of file NhalfEdgeVertex.h. |
|
|
Definition at line 19 of file NhalfEdgeVertex.h. |
|
|
attribute mask
Definition at line 131 of file NhalfEdgeVertex.h. Referenced by NhalfEdgeVertex(), setActive(), setComposite(), setDeleted(), and setVisited(). |
|
|
edge list of incoming half edges
Definition at line 145 of file NhalfEdgeVertex.h. Referenced by addEdge(), clearEdgeList(), NhalfEdgeMesh::collapseEdge(), findEdge(), getGain(), getNeighbors(), getTotalIncidentEdges(), isConnectedTo(), isIsolated(), onPartition(), removeEdge(), and NhalfEdgeMesh::uncollapseVertex(). |
|
|
index to be used by NhalfEdgeMesh only
Definition at line 127 of file NhalfEdgeVertex.h. Referenced by NhalfEdgeVertex(), and setIndex(). |
|
|
edge list of outgoing half edges
Definition at line 143 of file NhalfEdgeVertex.h. Referenced by addEdge(), clearEdgeList(), NhalfEdgeMesh::deleteVertex(), findDirectedEdge(), findEdge(), getGain(), getTotalIncidentEdges(), isConnectedTo(), isIsolated(), onPartition(), NhalfEdgeMesh::partitionFromConnectedness(), removeEdge(), and NhalfEdgeMesh::uncollapseVertex(). |
|
|
partition number
Definition at line 133 of file NhalfEdgeVertex.h. Referenced by NhalfEdgeVertex(), onPartition(), and setPartition(). |
|
|
saved vertex
Definition at line 139 of file NhalfEdgeVertex.h. Referenced by getCompositeVertexA(), NhalfEdgeVertex(), and setComposite(). |
|
|
saved vertex
Definition at line 141 of file NhalfEdgeVertex.h. Referenced by getCompositeVertexB(), NhalfEdgeVertex(), and setComposite(). |
|
|
data for "composite" nodes
Definition at line 137 of file NhalfEdgeVertex.h. Referenced by NhalfEdgeVertex(). |
|
|
valence of the vertex
Definition at line 129 of file NhalfEdgeVertex.h. Referenced by addEdge(), getValence(), NhalfEdgeVertex(), and removeEdge(). |
|
|
weight
Definition at line 135 of file NhalfEdgeVertex.h. Referenced by NhalfEdgeVertex(), and setWeight(). |
1.3.4