1 | #ifndef BOUNDARY_HPP_
|
---|
2 | #define BOUNDARY_HPP_
|
---|
3 |
|
---|
4 | // include config.h
|
---|
5 | #ifdef HAVE_CONFIG_H
|
---|
6 | #include <config.h>
|
---|
7 | #endif
|
---|
8 |
|
---|
9 | // STL headers
|
---|
10 | #include <map>
|
---|
11 |
|
---|
12 | #include "config.hpp"
|
---|
13 | #include "linkedcell.hpp"
|
---|
14 | #include "molecules.hpp"
|
---|
15 | #include "tesselation.hpp"
|
---|
16 |
|
---|
17 | #define DEBUG 1
|
---|
18 | #define DoSingleStepOutput 0
|
---|
19 | #define SingleStepWidth 1
|
---|
20 | #define DoTecplotOutput 1
|
---|
21 | #define DoRaster3DOutput 1
|
---|
22 | #define DoVRMLOutput 1
|
---|
23 | #define TecplotSuffix ".dat"
|
---|
24 | #define Raster3DSuffix ".r3d"
|
---|
25 | #define VRMLSUffix ".wrl"
|
---|
26 |
|
---|
27 | #define DistancePair pair < double, atom* >
|
---|
28 | #define DistanceMap multimap < double, atom* >
|
---|
29 | #define DistanceTestPair pair < DistanceMap::iterator, bool>
|
---|
30 |
|
---|
31 | #define Boundaries map <double, DistancePair >
|
---|
32 | #define BoundariesPair pair<double, DistancePair >
|
---|
33 | #define BoundariesTestPair pair< Boundaries::iterator, bool>
|
---|
34 |
|
---|
35 | double VolumeOfConvexEnvelope(ofstream *out, class Tesselation *TesselStruct, class config *configuration);
|
---|
36 | double * GetDiametersOfCluster(ofstream *out, Boundaries *BoundaryPtr, molecule *mol, bool IsAngstroem);
|
---|
37 | void PrepareClustersinWater(ofstream *out, config *configuration, molecule *mol, double ClusterVolume, double celldensity);
|
---|
38 | molecule * FillBoxWithMolecule(ofstream *out, MoleculeListClass *List, molecule *filler, config &configuration, double distance[NDIM], double RandAtomDisplacement, double RandMolDisplacement, bool DoRandomRotation);
|
---|
39 | void FindConvexBorder(ofstream *out, molecule* mol, class LinkedCell *LCList, const char *filename);
|
---|
40 | void FindNonConvexBorder(ofstream *out, molecule* mol, class LinkedCell *LC, const char *tempbasename, const double RADIUS);
|
---|
41 | double ConvexizeNonconvexEnvelope(ofstream *out, class Tesselation *TesselStruct, molecule *mol, char *filename);
|
---|
42 | void FindNextSuitablePoint(class BoundaryTriangleSet *BaseTriangle, class BoundaryLineSet *BaseLine, atom*& OptCandidate, Vector *OptCandidateCenter, double *ShortestAngle, const double RADIUS, LinkedCell *LC);
|
---|
43 | Boundaries *GetBoundaryPoints(ofstream *out, molecule *mol);
|
---|
44 | void CalculateConcavityPerBoundaryPoint(ofstream *out, class Tesselation *TesselStruct);
|
---|
45 | void StoreTrianglesinFile(ofstream *out, molecule *mol, const char *filename, const char *extraSuffix);
|
---|
46 |
|
---|
47 |
|
---|
48 | #endif /*BOUNDARY_HPP_*/
|
---|