00001 // -*- Mode: C++; tab-width: 2: -*- 00002 // vi: set ts=2: 00003 // 00004 // 00005 00006 #ifndef BALL_QSAR_SURFACEBASE_H 00007 #define BALL_QSAR_SURFACEBASE_H 00008 00009 #ifndef BALL_QSAR_DESCRIPTOR_H 00010 #include <BALL/QSAR/descriptor.h> 00011 #endif 00012 00013 namespace BALL 00014 { 00018 class BALL_EXPORT SurfaceBase 00019 : public Descriptor 00020 { 00021 public: 00022 00023 BALL_CREATE(SurfaceBase) 00024 00025 00030 SurfaceBase(); 00031 00034 SurfaceBase(const SurfaceBase& sb); 00035 00038 SurfaceBase(const String& name); 00039 00042 SurfaceBase(const String& name, const String& unit); 00043 00046 virtual ~SurfaceBase(); 00048 00054 SurfaceBase& operator = (const SurfaceBase& sb); 00056 00057 protected: 00058 00062 bool isValid_(AtomContainer& ac); 00064 00068 void calculate_(AtomContainer& ac); 00070 }; 00071 } // namespace BALL 00072 00073 #endif 00074