BALL 1.5.0
Loading...
Searching...
No Matches
trianglePoint.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_TRIANGLEPOINT_H
6#define BALL_STRUCTURE_TRIANGLEPOINT_H
7
8#ifndef BALL_MATHS_VECTOR3_H
9# include <BALL/MATHS/vector3.h>
10#endif
11
12#ifndef BALL_STRUCTURE_GRAPHEDGE_H
14#endif
15
16#ifndef BALL_STRUCTURE_GRAPHFACE_H
18#endif
19
20#ifndef BALL_STRUCTURE_GRAPHVERTEX_H
22#endif
23
24
25namespace BALL
26{
27
28 class TriangleEdge;
29 class Triangle;
30 class TriangulatedSurface;
31 class TriangulatedSphere;
32 class TriangulatedSES;
33 class SESTriangulator;
34 class TriangulatedSAS;
35 class SASTriangulator;
36
37
42 : public GraphVertex< TrianglePoint,TriangleEdge,Triangle >
43 {
44
45 public:
46
59 friend class Triangle;
60 friend class TriangleEdge;
61 friend class TriangulatedSurface;
62 friend class TriangulatedSphere;
63 friend class TriangulatedSES;
64 friend class SESTriangulator;
65 friend class TriangulatedSAS;
66 friend class SASTriangulator;
67
69
70
73
74
78 ;
79
84 TrianglePoint(const TVector3<double>& point, const TVector3<double>& normal = TVector3<double>(0.));
85
93 TrianglePoint(const TrianglePoint& point, bool deep = false)
94 ;
95
99 virtual ~TrianglePoint()
100 ;
101
103
106
114 void set(const TrianglePoint& point, bool deep = false)
115 ;
116
122 TrianglePoint& operator = (const TrianglePoint& point)
123 ;
124
126
129
132 TVector3<double> getPoint() const
133 ;
134
137 void setPoint(const TVector3<double>& point)
138 ;
139
142 TVector3<double> getNormal() const
143 ;
144
148 void setNormal(const TVector3<double>& normal);
149
151
155
160 virtual bool operator == (const TrianglePoint& point) const
161 ;
162
167 virtual bool operator != (const TrianglePoint& point) const
168 ;
169
174 virtual bool operator *= (const TrianglePoint& point) const
175 ;
176
178
179 protected:
180
181 /*_ The point itself
182 */
183 TVector3<double> point_;
184 /*_ The normal vector of the point
185 */
186 TVector3<double> normal_;
187
188 };
189
190
194
197 BALL_EXPORT std::ostream& operator << (std::ostream& s, const TrianglePoint& point);
198
200
201
202} // namespace BALL
203
204
205#endif // BALL_STRUCTURE_TRIANGLEPOINT_H
#define BALL_CREATE(name)
Definition create.h:62
STL namespace.
#define BALL_EXPORT