BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
triangleEdge.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_STRUCTURE_TRIANGLEEDGE_H
6 #define BALL_STRUCTURE_TRIANGLEEDGE_H
7 
8 #ifndef BALL_STRUCTURE_GRAPHEDGE_H
10 #endif
11 
12 #ifndef BALL_STRUCTURE_GRAPHFACE_H
14 #endif
15 
16 #ifndef BALL_STRUCTURE_GRAPHVERTEX_H
18 #endif
19 
20 
21 namespace BALL
22 {
23 
24  class Triangle;
25  class TrianglePoint;
26  class TriangulatedSurface;
27  class TriangulatedSphere;
28  class TriangulatedSES;
29  class TriangulatedSAS;
30  class SESTriangulator;
31  class SASTriangulator;
32 
33 
38  : public GraphEdge< TrianglePoint,TriangleEdge,Triangle >
39  {
40 
41  public:
42 
55  friend class Triangle;
56  friend class TrianglePoint;
57  friend class TriangulatedSurface;
58  friend class TriangulatedSphere;
59  friend class TriangulatedSES;
60  friend class TriangulatedSAS;
61  friend class SESTriangulator;
62  friend class SASTriangulator;
63 
65 
66 
69 
73  TriangleEdge();
74 
80  TriangleEdge(TrianglePoint* v1, TrianglePoint* v2);
81 
89  TriangleEdge(const TriangleEdge& edge, bool deep = false);
90 
94  virtual ~TriangleEdge();
96 
100 
105  void setPoint(Position i, TrianglePoint* point);
106 
112  TrianglePoint* getPoint(Position i) const;
113 
119  void setTriangle(Position i, Triangle* triangle);
120 
126  Triangle* getTriangle(Position i) const;
127 
129 
133 
138  virtual bool operator == (const TriangleEdge&) const;
139 
144  virtual bool operator != (const TriangleEdge&) const;
145 
149  virtual bool operator *= (const TriangleEdge&) const;
150 
152 
153  };
154 
155 
159 
162  BALL_EXPORT std::ostream& operator << (std::ostream& s, const TriangleEdge& edge);
163 
165 
166 
167 } // namespace BALL
168 
169 
170 #endif // BALL_STRUCTURE_TRIANGLEEDGE_H