Computational Geometry Algorithms Library  1.0
Computational Geometry Algorithms Library Documentation
Public Member Functions | Public Attributes | List of all members
DCELVertex Class Reference

#include <DCELVertex.h>

Collaboration diagram for DCELVertex:
Collaboration graph
[legend]

Public Member Functions

 DCELVertex ()
 
 ~DCELVertex ()
 
DCELHalfEdgegetEdgeTo (DCELVertex *v)
 
DCELHalfEdgegetEdgeOnFace (DCELFace *face)
 
void setCoords (double a, double b)
 
void print ()
 

Public Attributes

double x
 
double y
 
DCELHalfEdgeedge
 
int type
 
int index
 
DCELVertexnext
 
DCELVertexprev
 

Constructor & Destructor Documentation

DCELVertex::DCELVertex ( )
22  : x(0.0), y(0.0), edge(NULL), prev(NULL), next(NULL), type(0), index(0)
23 {
24 }
int type
Definition: DCELVertex.h:15
DCELHalfEdge * edge
Definition: DCELVertex.h:10
DCELVertex * prev
Definition: DCELVertex.h:19
double x
Definition: DCELVertex.h:8
int index
Definition: DCELVertex.h:16
double y
Definition: DCELVertex.h:9
DCELVertex * next
Definition: DCELVertex.h:18
DCELVertex::~DCELVertex ( )
26 {
27 
28 }

Member Function Documentation

DCELHalfEdge * DCELVertex::getEdgeOnFace ( DCELFace face)
61 {
62  DCELHalfEdge *edgeWalker = edge;
63  while (edgeWalker->face != face) edgeWalker = edgeWalker->twin->next;
64  return edgeWalker;
65 }
DCELHalfEdge * edge
Definition: DCELVertex.h:10
DCELHalfEdge * twin
Definition: DCELHalfEdge.h:14
DCELHalfEdge * next
Definition: DCELHalfEdge.h:15
DCELFace * face
Definition: DCELHalfEdge.h:16
Definition: DCELHalfEdge.h:8
DCELHalfEdge * DCELVertex::getEdgeTo ( DCELVertex v)
40 {
41  DCELHalfEdge* rval = NULL;
42 
43  if (edge) {
44  if (edge->twin->origin == v) {
45  rval = edge;
46  } else {
47  DCELHalfEdge* test = edge->twin->next;
48  while (rval == NULL && test != edge) {
49  if (test->twin->origin == v) {
50  rval = test;
51  } else {
52  test = test->twin->next;
53  }
54  }
55  }
56  }
57  return rval;
58 }
DCELHalfEdge * edge
Definition: DCELVertex.h:10
DCELHalfEdge * twin
Definition: DCELHalfEdge.h:14
DCELHalfEdge * next
Definition: DCELHalfEdge.h:15
DCELVertex * origin
Definition: DCELHalfEdge.h:17
Definition: DCELHalfEdge.h:8
void DCELVertex::print ( )
35  {
36  cout<<x<<" "<<y<<endl;
37 }
double x
Definition: DCELVertex.h:8
double y
Definition: DCELVertex.h:9
void DCELVertex::setCoords ( double  a,
double  b 
)
30  {
31  x = a;
32  y = b;
33 }
double x
Definition: DCELVertex.h:8
double y
Definition: DCELVertex.h:9

Member Data Documentation

DCELHalfEdge* DCELVertex::edge
int DCELVertex::index
DCELVertex* DCELVertex::next
DCELVertex* DCELVertex::prev
int DCELVertex::type
double DCELVertex::x
double DCELVertex::y

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