Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/tesselation.hpp

    rce70970 r244a84  
    4343#define DoTecplotOutput 1
    4444#define DoRaster3DOutput 1
    45 #define DoVRMLOutput 0
     45#define DoVRMLOutput 1
    4646#define TecplotSuffix ".dat"
    4747#define Raster3DSuffix ".r3d"
     
    8989
    9090#define ListOfTesselPointList list<list <TesselPoint *> *>
    91 
    92 enum centers {Opt, OtherOpt};
    9391
    9492/********************************************** declarations *******************************/
     
    251249  public :
    252250  CandidateForTesselation(BoundaryLineSet* currentBaseLine);
    253   CandidateForTesselation(TesselPoint* candidate, BoundaryLineSet* currentBaseLine, BoundaryPointSet *point, Vector OptCandidateCenter, Vector OtherOptCandidateCenter);
     251  CandidateForTesselation(TesselPoint* candidate, BoundaryLineSet* currentBaseLine, Vector OptCandidateCenter, Vector OtherOptCandidateCenter);
    254252  ~CandidateForTesselation();
    255253
    256   bool CheckValidity(const double RADIUS, const LinkedCell *LC) const;
    257 
    258254  TesselPointList pointlist;
    259   const BoundaryLineSet * BaseLine;
    260   const BoundaryPointSet * ThirdPoint;
    261   const BoundaryTriangleSet *T;
    262   Vector OldCenter;
     255  BoundaryLineSet *BaseLine;
    263256  Vector OptCenter;
    264257  Vector OtherOptCenter;
     
    281274    void AddTesselationPoint(TesselPoint* Candidate, const int n);
    282275    void SetTesselationPoint(TesselPoint* Candidate, const int n) const;
    283     void AddTesselationLine(const Vector * const OptCenter, const BoundaryPointSet * const candidate, class BoundaryPointSet *a, class BoundaryPointSet *b, const int n);
    284     void AddNewTesselationTriangleLine(class BoundaryPointSet *a, class BoundaryPointSet *b, const int n);
    285     void AddExistingTesselationTriangleLine(class BoundaryLineSet *FindLine, int n);
     276    void AddTesselationLine(class BoundaryPointSet *a, class BoundaryPointSet *b, const int n);
     277    void AlwaysAddTesselationTriangleLine(class BoundaryPointSet *a, class BoundaryPointSet *b, const int n);
    286278    void AddTesselationTriangle();
    287279    void AddTesselationTriangle(const int nr);
    288     void AddCandidateTriangle(CandidateForTesselation &CandidateLine, enum centers type);
    289     void AddDegeneratedTriangle(CandidateForTesselation &CandidateLine, const double RADIUS, const LinkedCell *LC);
    290     void AddCandidatePolygon(CandidateForTesselation CandidateLine, const double RADIUS, const LinkedCell *LC);
     280    void AddCandidateTriangle(CandidateForTesselation CandidateLine);
    291281    void RemoveTesselationTriangle(class BoundaryTriangleSet *triangle);
    292282    void RemoveTesselationLine(class BoundaryLineSet *line);
    293283    void RemoveTesselationPoint(class BoundaryPointSet *point);
    294     bool CheckDegeneracy(CandidateForTesselation &CandidateLine, const double RADIUS, const LinkedCell *LC) const;
    295284
    296285
    297286    // concave envelope
    298     bool FindStartingTriangle(const double RADIUS, const LinkedCell *LC);
     287    void FindStartingTriangle(const double RADIUS, const LinkedCell *LC);
    299288    void FindSecondPointForTesselation(class TesselPoint* a, Vector Oben, class TesselPoint*& OptCandidate, double Storage[3], double RADIUS, const LinkedCell *LC);
    300     void FindThirdPointForTesselation(const Vector &NormalVector, const Vector &SearchDirection, const Vector &OldSphereCenter, CandidateForTesselation &CandidateLine, const class BoundaryPointSet  * const ThirdNode, const double RADIUS, const LinkedCell *LC) const;
    301     bool FindNextSuitableTriangle(CandidateForTesselation &CandidateLine, const BoundaryTriangleSet &T, const double& RADIUS, const LinkedCell *LC);
    302     bool FindCandidatesforOpenLines(const double RADIUS, const LinkedCell *&LCList);
     289    void FindThirdPointForTesselation(Vector &NormalVector, Vector &SearchDirection, Vector &OldSphereCenter, CandidateForTesselation &CandidateLine, const class TesselPoint  * const ThirdNode, const double RADIUS, const LinkedCell *LC) const;
     290    bool FindNextSuitableTriangle(CandidateForTesselation &CandidateLine, BoundaryTriangleSet &T, const double& RADIUS, const LinkedCell *LC);
    303291    int CheckPresenceOfTriangle(class TesselPoint *Candidates[3]) const;
    304292    class BoundaryTriangleSet * GetPresentTriangle(TesselPoint *Candidates[3]);
     
    330318    bool IsInnerPoint(const Vector &Point, const LinkedCell* const LC) const;
    331319    double GetDistanceSquaredToTriangle(const Vector &Point, const BoundaryTriangleSet* const triangle) const;
    332     double GetDistanceToSurface(const Vector &Point, const LinkedCell* const LC) const;
    333     BoundaryTriangleSet * GetClosestTriangleOnSurface(const Vector &Point, const LinkedCell* const LC) const;
     320    double GetDistanceSquaredToSurface(const Vector &Point, const LinkedCell* const LC) const;
    334321    bool AddBoundaryPoint(TesselPoint * Walker, const int n);
    335322    DistanceToPointMap * FindClosestBoundaryPointsToVector(const Vector *x, const LinkedCell* LC) const;
     
    375362
    376363    //bool HasOtherBaselineBetterCandidate(const BoundaryLineSet * const BaseRay, const TesselPoint * const OptCandidate, double ShortestAngle, double RADIUS, const LinkedCell * const LC) const;
    377     void FindDegeneratedCandidatesforOpenLines(TesselPoint * const Sprinter, const Vector * const OptCenter);
    378364};
    379365
Note: See TracChangeset for help on using the changeset viewer.