surfaceModel.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: surfaceModel.h,v 1.16 2005/12/23 17:02:18 amoll Exp $
00005 //
00006 
00007 #ifndef BALL_VIEW_MODELS_SURFACEMODEL_H
00008 #define BALL_VIEW_MODELS_SURFACEMODEL_H
00009 
00010 #ifndef BALL_VIEW_MODELS_MODELPROCESSOR_H
00011 # include <BALL/VIEW/MODELS/modelProcessor.h>
00012 #endif
00013 
00014 #ifndef BALL_STRUCTURE_SURFACEPROCESSOR_H
00015 # include <BALL/STRUCTURE/surfaceProcessor.h>
00016 #endif
00017 
00018 namespace BALL
00019 {
00020   class Atom;
00021 
00022   namespace VIEW
00023   {
00034     class BALL_VIEW_EXPORT AddSurfaceModel
00035       : public ModelProcessor
00036     {
00037       public:
00038 
00039       BALL_CREATE(AddSurfaceModel)
00040 
00041       
00044 
00046       AddSurfaceModel();
00047 
00049       AddSurfaceModel(const AddSurfaceModel& add_surface_model);
00050 
00052       virtual ~AddSurfaceModel();
00053 
00057       virtual void clear();
00058 
00060       virtual void clearComposites();
00061 
00062 
00064 
00066       //{
00067       
00069       SurfaceProcessor::SurfaceType getType() const { return type_; }
00070       
00072       void setType(SurfaceProcessor::SurfaceType type) { type_ = type; }
00073       
00074       //}
00078       
00086       virtual Processor::Result operator() (Composite& composite);
00087 
00089 
00092       
00099       virtual void dump(std::ostream& s = std::cout, Size depth = 0) const;
00100 
00102       void setProbeRadius(float radius) 
00103         { probe_radius_ = radius;}
00104 
00106       float getProbeRadius() const
00107         { return probe_radius_;}
00108       
00110       virtual bool createGeometricObjects();
00111     
00112       private:
00113 
00114       HashSet<Atom*>    atoms_;
00115 
00116       SurfaceProcessor::SurfaceType type_;
00117 
00118       float             probe_radius_;
00119     };
00120 
00121   } // namespace VIEW
00122 } // namespace BALL
00123 
00124 #endif // BALL_VIEW_MODELS_SURFACEMODEL_H