Computational Geometry Algorithms Library  1.0
Computational Geometry Algorithms Library Documentation
DCELVertex.h
Go to the documentation of this file.
1 using namespace std;
2 class DCELVertex
3 {
4 public:
5  DCELVertex();
6  ~DCELVertex();
7 
8  double x;
9  double y;
11  DCELHalfEdge* getEdgeTo(DCELVertex* v);
12  DCELHalfEdge* getEdgeOnFace(DCELFace* face);
13  void setCoords(double a, double b);
14  void print();
15  int type;
16  int index;
17 
20 };
21 
22 DCELVertex::DCELVertex(): x(0.0), y(0.0), edge(NULL), prev(NULL), next(NULL), type(0), index(0)
23 {
24 }
26 {
27 
28 }
29 
30 void DCELVertex::setCoords(double a, double b) {
31  x = a;
32  y = b;
33 }
34 
36  cout<<x<<" "<<y<<endl;
37 }
38 
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 }
59 
61 {
62  DCELHalfEdge *edgeWalker = edge;
63  while (edgeWalker->face != face) edgeWalker = edgeWalker->twin->next;
64  return edgeWalker;
65 }
int type
Definition: DCELVertex.h:15
DCELHalfEdge * edge
Definition: DCELVertex.h:10
DCELHalfEdge * twin
Definition: DCELHalfEdge.h:14
DCELHalfEdge * next
Definition: DCELHalfEdge.h:15
void setCoords(double a, double b)
Definition: DCELVertex.h:30
DCELVertex()
Definition: DCELVertex.h:22
DCELHalfEdge * getEdgeTo(DCELVertex *v)
Definition: DCELVertex.h:39
Definition: DCELFace.h:1
DCELVertex * origin
Definition: DCELHalfEdge.h:17
DCELHalfEdge * getEdgeOnFace(DCELFace *face)
Definition: DCELVertex.h:60
void print()
Definition: DCELVertex.h:35
DCELFace * face
Definition: DCELHalfEdge.h:16
Definition: DCELVertex.h:2
DCELVertex * prev
Definition: DCELVertex.h:19
double x
Definition: DCELVertex.h:8
int index
Definition: DCELVertex.h:16
double y
Definition: DCELVertex.h:9
Definition: DCELHalfEdge.h:8
~DCELVertex()
Definition: DCELVertex.h:25
DCELVertex * next
Definition: DCELVertex.h:18