NanoShaper  0.7.2
NanoShaper is a tool able to triangulate and inspect an arbitray triangulated surface or several types of molecular surfaces
C:/Documents and Settings/sdecherchi/My Documents/Ricerca/software nostro/NanoShaper0.7/src/ExternalSurface.h
Go to the documentation of this file.
00001 
00002 //---------------------------------------------------------
00006 //---------------------------------------------------------
00007 
00008 #ifndef ExternalSurface_h
00009 #define ExternalSurface_h
00010 
00011 #include "Surface.h"
00012 
00013 
00020 class ExternalSurface: public Surface
00021 {
00022 public:
00024         ExternalSurface();
00026         ExternalSurface(DelPhiShared* ds);              
00028         ExternalSurface(ConfigFile* cf,DelPhiShared* ds);       
00029 
00031 
00032         virtual bool build();
00034         virtual bool save(char* fileName);
00036         virtual bool load(char* fileName);
00038         virtual bool getSurf(bool fill=false,double vol=0);             
00040         virtual void printSummary();            
00042         virtual bool getProjection(double p[3],double* proj1,double* proj2,
00043                 double* proj3,double* normal1,double* normal2,double* normal3);
00045         virtual void getRayIntersection(double p1[3],double p2[3],vector<pair<double,double*> >& intersections,int thdID,bool computeNormals);
00047         virtual void getLocalArea(double gridPoint[3],double* area);
00049         virtual double getSurfaceArea();
00052         virtual double getVolume();
00054         virtual void init();
00056         virtual void init(ConfigFile* cf);
00058         virtual void clear();
00060 
00061 
00062         virtual ~ExternalSurface();
00063 };
00064 
00065 
00066 //      REGISTER_SURFACE(ExternalSurface,"external")
00067 
00068 // expand it explicitly because Swig is not able to expand it
00069 static class ExternalSurfaceRegister{ 
00070         static Surface* createSurface(ConfigFile* conf,DelPhiShared* ds) 
00071         { 
00072                 return new ExternalSurface(conf,ds); 
00073         } 
00074         public: 
00075                 ExternalSurfaceRegister() 
00076                 { 
00077                         surfaceFactory().add("external",createSurface); 
00078                 } 
00079 } ExternalSurfaceRegisterObject;
00080 
00081 #endif