Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/boundary.hpp

    r8c54a3 r2319ed  
    5454
    5555    void AddTriangle(class BoundaryTriangleSet *triangle);
     56    bool IsConnectedTo(class BoundaryLineSet *line);
     57    bool ContainsBoundaryPoint(class BoundaryPointSet *point);
     58    bool CheckConvexityCriterion(ofstream *out);
    5659
    5760    class BoundaryPointSet *endpoints[2];
     
    6871
    6972    void GetNormalVector(Vector &NormalVector);
     73    bool GetIntersectionInsideTriangle(ofstream *out, Vector *MolCenter, Vector *x, Vector *Intersection);
     74    bool ContainsBoundaryLine(class BoundaryLineSet *line);
     75    bool ContainsBoundaryPoint(class BoundaryPointSet *point);
    7076
    7177    class BoundaryPointSet *endpoints[3];
     
    7884class CandidateForTesselation {
    7985  public :
    80         CandidateForTesselation(atom* candidate, BoundaryLineSet* currentBaseLine, Vector OptCandidateCenter, Vector OtherOptCandidateCenter);
    81         ~CandidateForTesselation();
    82         atom *point;
    83         BoundaryLineSet *BaseLine;
    84         Vector OptCenter;
    85         Vector OtherOptCenter;
     86  CandidateForTesselation(atom* candidate, BoundaryLineSet* currentBaseLine, Vector OptCandidateCenter, Vector OtherOptCandidateCenter);
     87  ~CandidateForTesselation();
     88  atom *point;
     89  BoundaryLineSet *BaseLine;
     90  Vector OptCenter;
     91  Vector OtherOptCenter;
    8692};
    8793
     
    9399    ~Tesselation();
    94100
    95     void TesselateOnBoundary(ofstream *out, config *configuration, molecule *mol);
     101    void TesselateOnBoundary(ofstream *out, molecule *mol);
    96102    void GuessStartingTriangle(ofstream *out);
    97103    void AddPoint(atom * Walker);
     
    104110    int CheckPresenceOfTriangle(ofstream *out, atom *Candidates[3]);
    105111    void Find_next_suitable_point_via_Angle_of_Sphere(atom* a, atom* b, atom* c, atom* Candidate, atom* Parent, int RecursionLevel, Vector *Chord, Vector *direction1, Vector *OldNormal, Vector ReferencePoint, atom*& Opt_Candidate, double *Storage, const double RADIUS, molecule* mol);
    106     list<atom*> *getClosestConnectedAtoms(atom* Atom, atom* AtomToCheck);
    107     list<BoundaryTriangleSet*> *FindTriangles(atom* TrianglePoints[3]);
     112    class BoundaryTriangleSet * FindClosestTriangleToPoint(ofstream *out, Vector *x);
     113    bool IsInside(Vector *pointer);
     114    bool InsertStraddlingPoints(ofstream *out, molecule *mol);
     115    bool CorrectConcaveBaselines(ofstream *out);
    108116
    109117    PointMap PointsOnBoundary;
     
    126134
    127135
    128 double VolumeOfConvexEnvelope(ofstream *out, const char *filename, config *configuration, Boundaries *BoundaryPoints, molecule *mol);
     136double VolumeOfConvexEnvelope(ofstream *out, class Tesselation *TesselStruct, class config *configuration);
    129137double * GetDiametersOfCluster(ofstream *out, Boundaries *BoundaryPtr, molecule *mol, bool IsAngstroem);
    130138void PrepareClustersinWater(ofstream *out, config *configuration, molecule *mol, double ClusterVolume, double celldensity);
     139molecule * FillBoxWithMolecule(ofstream *out, MoleculeListClass *List, molecule *filler, config &configuration, double distance[NDIM], double RandAtomDisplacement, double RandMolDisplacement, bool DoRandomRotation);
     140void Find_convex_border(ofstream *out, molecule* mol, class Tesselation *&TesselStruct, class LinkedCell *LCList, const char *filename);
    131141void Find_non_convex_border(ofstream *out, molecule* mol, class Tesselation *T, class LinkedCell *LC, const char *tempbasename, const double RADIUS);
    132142void Find_next_suitable_point(class BoundaryTriangleSet *BaseTriangle, class BoundaryLineSet *BaseLine, atom*& OptCandidate, Vector *OptCandidateCenter, double *ShortestAngle, const double RADIUS, LinkedCell *LC);
     
    134144bool existsIntersection(Vector point1, Vector point2, Vector point3, Vector point4);
    135145bool sortCandidates(CandidateForTesselation* candidate1, CandidateForTesselation* candidate2);
    136 bool IsInnerPoint(Vector Point, class Tesselation *Tess, LinkedCell* LC);
    137 bool IsInnerAtom(atom *Atom, class Tesselation *Tess, LinkedCell* LC);
    138 atom* findClosestAtom(const atom* Atom, LinkedCell* LC);
    139 double getAngle(Vector point, Vector reference, Vector center, Vector OrthogonalVector);
    140146
    141147#endif /*BOUNDARY_HPP_*/
Note: See TracChangeset for help on using the changeset viewer.