source: molecuilder/src/boundary.hpp@ 3746440

Last change on this file since 3746440 was daf956, checked in by Frederik Heber <heber@…>, 16 years ago

Fixes to the (Non)ConvexTesselation, working with 1_2_dimethoxyethylene

minor changes:

major changes:

  • Property mode set to 100755
File size: 2.0 KB
Line 
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 1
19#define SingleStepWidth 1
20
21#define DistancePair pair < double, atom* >
22#define DistanceMap multimap < double, atom* >
23#define DistanceTestPair pair < DistanceMap::iterator, bool>
24
25#define Boundaries map <double, DistancePair >
26#define BoundariesPair pair<double, DistancePair >
27#define BoundariesTestPair pair< Boundaries::iterator, bool>
28
29double VolumeOfConvexEnvelope(ofstream *out, class Tesselation *TesselStruct, class config *configuration);
30double * GetDiametersOfCluster(ofstream *out, Boundaries *BoundaryPtr, molecule *mol, bool IsAngstroem);
31void PrepareClustersinWater(ofstream *out, config *configuration, molecule *mol, double ClusterVolume, double celldensity);
32molecule * FillBoxWithMolecule(ofstream *out, MoleculeListClass *List, molecule *filler, config &configuration, double distance[NDIM], double RandAtomDisplacement, double RandMolDisplacement, bool DoRandomRotation);
33void FindConvexBorder(ofstream *out, molecule* mol, class LinkedCell *LCList, const char *filename);
34void FindNonConvexBorder(ofstream *out, molecule* mol, class LinkedCell *LC, const double RADIUS, const char *tempbasename);
35double ConvexizeNonconvexEnvelope(ofstream *out, class Tesselation *TesselStruct, molecule *mol, char *filename);
36void FindNextSuitablePoint(class BoundaryTriangleSet *BaseTriangle, class BoundaryLineSet *BaseLine, atom*& OptCandidate, Vector *OptCandidateCenter, double *ShortestAngle, const double RADIUS, LinkedCell *LC);
37Boundaries *GetBoundaryPoints(ofstream *out, molecule *mol);
38void StoreTrianglesinFile(ofstream *out, molecule *mol, const char *filename, const char *extraSuffix);
39bool RemoveAllBoundaryPoints(ofstream *out, class Tesselation *TesselStruct, molecule *mol, char *filename);
40
41
42#endif /*BOUNDARY_HPP_*/
Note: See TracBrowser for help on using the repository browser.