00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef HYPERSURFACE_H
00021 #define HYPERSURFACE_H
00022
00023 #include <string>
00024 #include <list>
00025 #include <vector>
00026 using namespace std ;
00027
00028 #include <molekel.h>
00029
00030 #include <Surface.h>
00031 #include <Triangle.h>
00032
00033 #include <Tree.h>
00034
00042 class HyperSurface{
00043 public:
00044 HyperSurface( string name = "" );
00045 ~HyperSurface();
00046
00047 void load( const string& filename ) ;
00048 Surface getIsosurface( double cutoff, bool debug = false ) ;
00049 Tree buildAreaIMTree( double cutoffBegin, double cutoffEnd, double stepSize ) ;
00050 Tree buildAreaIATree( double cutoffBegin, double cutoffEnd, double stepSize ) ;
00051 Tree buildIMTree( double cutoffBegin, double cutoffEnd, double stepSize ) ;
00052 Tree buildIATree( double cutoffBegin, double cutoffEnd, double stepSize ) ;
00053 Tree buildAreaTree( double cutoffBegin, double cutoffEnd, double stepSize ) ;
00054 Tree buildCompleteTree( double cutoffBegin, double cutoffEnd, double stepSize ) ;
00055 Tree buildMayorBranch( double cutoffBegin, double cutoffEnd, double stepSize ) ;
00056 Tree buildWithoutMayorBranch( double cutoffBegin, double cutoffEnd, double stepSize ) ;
00057
00058 private:
00059 string name ;
00060 Mol* mole ;
00061 };
00062
00063 #endif
00064