BALL 1.5.0
Loading...
Searching...
No Matches
surfaceProcessor.h
Go to the documentation of this file.
1// -*- Mode: C++; tab-width: 2; -*-
2// vi: set ts=2:
3//
4
5#ifndef BALL_STRUCTURE_SURFACE_PROCESSOR_H
6#define BALL_STRUCTURE_SURFACE_PROCESSOR_H
7
8#ifndef BALL_COMMON_EXCEPTION_H
10#endif
11#ifndef BALL_STRUCTURE_REDUCEDSURFACE_H
13#endif
14#ifndef BALL_STRUCTURE_SOLVENTEXCLUDEDSURFACE_H
16#endif
17#ifndef BALL_STRUCTURE_TRIANGULATEDSES_H
19#endif
20#ifndef BALL_STRUCTURE_SOLVENTACCESSIBLESURFACE_H
22#endif
23#ifndef BALL_STRUCTURE_TRIANGULATEDSAS_H
25#endif
26#ifndef BALL_STRUCTURE_TRIANGULATEDSURFACE_H
28#endif
29#ifndef BALL_MATHS_SURFACE_H
30# include <BALL/MATHS/surface.h>
31#endif
32#ifndef BALL_CONCEPT_PROCESSOR_H
34#endif
35#ifndef BALL_KERNEL_ATOM_H
36# include <BALL/KERNEL/atom.h>
37#endif
38#ifndef BALL_KERNEL_PTE_H
39# include <BALL/KERNEL/PTE.h>
40#endif
41
42namespace BALL
43{
44
49 : public UnaryProcessor<Atom>
50 {
51 public:
52
58 {
60 SOLVENT_ACCESSIBLE_SURFACE
61 };
63
67
70
72
76
78 virtual bool start();
79
81 virtual bool finish();
82
84 virtual Processor::Result operator () (Atom& atom);
86
89
91 const Surface& getSurface() const { return surface_; }
92
94 Surface& getSurface() { return surface_; }
95
101 void setProbeRadius(double radius)
102 {
103 if(radius <= 0.0) {
104 throw Exception::OutOfRange(__FILE__, __LINE__);
105 }
106
107 probe_radius_ = radius;
108 }
109
111 double getProbeRadius() const { return probe_radius_; }
112
114 void setDensity(double density) { density_ = density; }
115
117 double getDensity() const { return density_; }
118
120 std::vector<TSphere3<double> >& getSpheres() { return spheres_; }
121
125 void setType(SurfaceType type) { surface_type_ = type; }
126
128 SurfaceType getType() const { return surface_type_; }
130
131 protected:
132
135
138
139 //_
141
142 //_
144
145 //_
146 std::vector<TSphere3<double> > spheres_;
147
148 //_
149 double density_;
150
151 //_
153 };
154
155}
156
157#endif // BALL_STRUCTURE_SURFACE_PROCESSOR_H
std::vector< TSphere3< double > > spheres_
void setDensity(double density)
virtual bool finish()
SurfaceType getType() const
Get the surface type to be computed.
std::vector< TSphere3< double > > & getSpheres()
virtual bool start()
void setProbeRadius(double radius)
void setType(SurfaceType type)
double getProbeRadius() const
const Surface & getSurface() const
SurfaceProcessor()
Default constructor.
#define BALL_EXPORT