Changeset 60cbe5 for molecuilder/src/tesselation.hpp
- Timestamp:
- Sep 28, 2009, 8:00:33 PM (16 years ago)
- Children:
- fca6e7
- Parents:
- bb56cf
- git-author:
- Frederik Heber <heber@…> (09/28/09 18:47:54)
- git-committer:
- Frederik Heber <heber@…> (09/28/09 20:00:33)
- File:
-
- 1 edited
-
molecuilder/src/tesselation.hpp (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
molecuilder/src/tesselation.hpp
rbb56cf r60cbe5 34 34 class PointCloud; 35 35 class Tesselation; 36 37 #define DoTecplotOutput 1 38 #define DoRaster3DOutput 1 39 #define DoVRMLOutput 1 40 #define TecplotSuffix ".dat" 41 #define Raster3DSuffix ".r3d" 42 #define VRMLSUffix ".wrl" 36 43 37 44 // ======================================================= some template functions ========================================= … … 115 122 116 123 void GetNormalVector(Vector &NormalVector); 124 void GetCenter(Vector *center); 117 125 bool GetIntersectionInsideTriangle(ofstream *out, Vector *MolCenter, Vector *x, Vector *Intersection); 118 126 bool ContainsBoundaryLine(class BoundaryLineSet *line); … … 120 128 class BoundaryPointSet *GetThirdEndpoint(class BoundaryLineSet *line); 121 129 bool IsPresentTupel(class BoundaryPointSet *Points[3]); 122 void GetCenter(Vector *center);130 bool IsPresentTupel(class BoundaryTriangleSet *T); 123 131 124 132 class BoundaryPointSet *endpoints[3]; … … 200 208 void RemoveTesselationPoint(class BoundaryPointSet *point); 201 209 202 bool IsInside(Vector *pointer);203 210 class BoundaryPointSet *GetCommonEndpoint(class BoundaryLineSet * line1, class BoundaryLineSet * line2); 204 211 205 212 // concave envelope 206 213 void FindStartingTriangle(ofstream *out, const double RADIUS, class LinkedCell *LC); 207 void FindSecondPointForTesselation(class TesselPoint* a, class TesselPoint* Candidate,Vector Oben, class TesselPoint*& OptCandidate, double Storage[3], double RADIUS, class LinkedCell *LC);214 void FindSecondPointForTesselation(class TesselPoint* a, Vector Oben, class TesselPoint*& OptCandidate, double Storage[3], double RADIUS, class LinkedCell *LC); 208 215 void FindThirdPointForTesselation(Vector NormalVector, Vector SearchDirection, Vector OldSphereCenter, class BoundaryLineSet *BaseLine, class TesselPoint *ThirdNode, CandidateList* &candidates, double *ShortestAngle, const double RADIUS, class LinkedCell *LC); 209 bool FindNextSuitableTriangle(ofstream *out, BoundaryLineSet &Line, BoundaryTriangleSet &T, const double& RADIUS, int N,LinkedCell *LC);216 bool FindNextSuitableTriangle(ofstream *out, BoundaryLineSet &Line, BoundaryTriangleSet &T, const double& RADIUS, LinkedCell *LC); 210 217 int CheckPresenceOfTriangle(ofstream *out, class TesselPoint *Candidates[3]); 211 218 class BoundaryTriangleSet * GetPresentTriangle(ofstream *out, TesselPoint *Candidates[3]); … … 216 223 bool InsertStraddlingPoints(ofstream *out, PointCloud *cloud, LinkedCell *LC); 217 224 double RemovePointFromTesselatedSurface(ofstream *out, class BoundaryPointSet *point); 218 boolFlipBaseline(ofstream *out, class BoundaryLineSet *Base);219 boolPickFarthestofTwoBaselines(ofstream *out, class BoundaryLineSet *Base);225 class BoundaryLineSet * FlipBaseline(ofstream *out, class BoundaryLineSet *Base); 226 double PickFarthestofTwoBaselines(ofstream *out, class BoundaryLineSet *Base); 220 227 class BoundaryPointSet *IsConvexRectangle(ofstream *out, class BoundaryLineSet *Base); 221 map<int, int> FindAllDegeneratedTriangles(); 228 map<int, int> * FindAllDegeneratedTriangles(); 229 map<int, int> * FindAllDegeneratedLines(); 222 230 void RemoveDegeneratedTriangles(); 231 void AddBoundaryPointByDegeneratedTriangle(ofstream *out, class TesselPoint *point, LinkedCell *LC); 223 232 224 233 set<TesselPoint*> * GetAllConnectedPoints(ofstream *out, TesselPoint* Point); … … 239 248 void PrintAllBoundaryTriangles(ofstream *out); 240 249 250 // store envelope in file 251 void Output(ofstream *out, const char *filename, PointCloud *cloud); 241 252 242 253 PointMap PointsOnBoundary; … … 261 272 class BoundaryLineSet *BLS[3]; 262 273 class BoundaryTriangleSet *BTS; 274 class BoundaryTriangleSet *LastTriangle; 275 int TriangleFilesWritten; 263 276 264 277 private: … … 268 281 }; 269 282 270 bool CheckLineCriteriaForDegeneratedTriangle(class BoundaryPointSet *nodes[3]);271 bool SortCandidates(class CandidateForTesselation* candidate1, class CandidateForTesselation* candidate2);272 TesselPoint* FindClosestPoint(const Vector* Point, TesselPoint *&SecondPoint, LinkedCell* LC);273 TesselPoint* FindSecondClosestPoint(const Vector*, LinkedCell*);274 double GetAngle(const Vector &point, const Vector &reference, const Vector OrthogonalVector);275 Vector * GetClosestPointBetweenLine(ofstream *out, class BoundaryLineSet *Base, class BoundaryLineSet *OtherBase);276 283 277 284 #endif /* TESSELATION_HPP_ */
Note:
See TracChangeset
for help on using the changeset viewer.
