Changeset 0cf171 for molecuilder/src/tesselation.hpp
- Timestamp:
- Aug 8, 2009, 7:25:28 PM (16 years ago)
- Children:
- 70c4567
- Parents:
- 51abbe
- File:
-
- 1 edited
-
molecuilder/src/tesselation.hpp (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
molecuilder/src/tesselation.hpp
r51abbe r0cf171 99 99 class BoundaryPointSet *endpoints[2]; 100 100 TriangleMap triangles; 101 int TrianglesCount;102 101 int Nr; 103 102 }; … … 136 135 public: 137 136 TesselPoint(); 138 ~TesselPoint();137 virtual ~TesselPoint(); 139 138 140 139 Vector *node; // pointer to position of the dot in space 141 140 int nr; // index to easierly identify 142 141 char *Name; // some name to reference to on output 142 143 virtual ostream & operator << (ostream &ost); 143 144 }; 144 145 … … 183 184 /** Contains the envelope to a PointCloud. 184 185 */ 185 class Tesselation {186 class Tesselation : public PointCloud { 186 187 public: 187 188 188 189 Tesselation(); 189 ~Tesselation();190 virtual ~Tesselation(); 190 191 191 192 void AddPoint(TesselPoint *Walker); … … 224 225 int TrianglesOnBoundaryCount; 225 226 227 // PointCloud implementation for PointsOnBoundary 228 virtual Vector *GetCenter(ofstream *out); 229 virtual TesselPoint *GetPoint(); 230 virtual TesselPoint *GetTerminalPoint(); 231 virtual void GoToNext(); 232 virtual void GoToPrevious(); 233 virtual void GoToFirst(); 234 virtual void GoToLast(); 235 virtual bool IsEmpty(); 236 virtual bool IsEnd(); 237 226 238 private: 227 239 class BoundaryPointSet *TPS[3]; //this is a Storage for pointers to triangle points, this and BPS[2] needed due to AddLine restrictions … … 229 241 class BoundaryLineSet *BLS[3]; 230 242 class BoundaryTriangleSet *BTS; 243 244 PointMap::iterator InternalPointer; 231 245 }; 232 246 233 247 bool CheckLineCriteriaforDegeneratedTriangle(class BoundaryPointSet *nodes[3]); 234 248 bool sortCandidates(class CandidateForTesselation* candidate1, class CandidateForTesselation* candidate2); 235 TesselPoint* findClosestPoint(const Vector* Point, LinkedCell* LC); 236 double getAngle(const Vector &point, const Vector &reference, const Vector ¢er, Vector OrthogonalVector); 249 TesselPoint* findClosestPoint(const Vector* Point, TesselPoint *&SecondPoint, LinkedCell* LC); 250 TesselPoint* findSecondClosestPoint(const Vector*, LinkedCell*); 251 double getAngle(const Vector &point, const Vector &reference, const Vector OrthogonalVector); 237 252 238 253 #endif /* TESSELATION_HPP_ */
Note:
See TracChangeset
for help on using the changeset viewer.
