Loading...
Searching...
No Matches
solventAccessibleSurface.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_STRUCTURE_SOLVENTACCESSIBLESURFACE_H
#define BALL_STRUCTURE_SOLVENTACCESSIBLESURFACE_H
#ifndef BALL_STRUCTURE_SASEDGE_H
# include <BALL/STRUCTURE/SASEdge.h>
#endif
#ifndef BALL_STRUCTURE_SASFACE_H
# include <BALL/STRUCTURE/SASFace.h>
#endif
#ifndef BALL_STRUCTURE_SASVERTEX_H
# include <BALL/STRUCTURE/SASVertex.h>
#endif
#ifndef BALL_STRUCTURE_REDUCEDSURFACE_H
# include <BALL/STRUCTURE/reducedSurface.h>
#endif
#ifndef BALL_MATHS_SPHERE3_H
# include <BALL/MATHS/sphere3.h>
#endif
#include <vector>
namespace BALL
{
class TriangulatedSAS;
class SASTriangulator;
class BALL_EXPORT SolventAccessibleSurface
{
public:
friend class TriangulatedSAS;
friend class SASTriangulator;
BALL_CREATE(SolventAccessibleSurface)
SolventAccessibleSurface();
SolventAccessibleSurface(const SolventAccessibleSurface& sas, bool = false);
SolventAccessibleSurface(ReducedSurface* reduced_surface);
virtual ~SolventAccessibleSurface();
void setVertex(SASVertex* vertex, Position i);
SASVertex* getVertex(Position i) const;
Size numberOfVertices() const;
void setEdge(SASEdge* edge, Position i);
SASEdge* getEdge(Position i) const;
Size numberOfEdges() const;
void setFace(SASFace* face, Position i);
SASFace* getFace(Position i) const;
Size numberOfFaces() const;
void setRS(ReducedSurface* rs);
ReducedSurface* getRS() const;
void clear();
void compute();
private:
/*_ @name SAS computation (private)
*/
void preProcessing();
void get();
void createFace(Position j);
void createVertex(Position j);
void createEdge(Position j);
protected:
Position number_of_vertices_;
::std::vector<SASVertex*> vertices_;
Position number_of_edges_;
::std::vector<SASEdge*> edges_;
Position number_of_faces_;
::std::vector<SASFace*> faces_;
ReducedSurface* reduced_surface_;
};
BALL_EXPORT std::ostream& operator << (std::ostream& s, const SolventAccessibleSurface& sas);
} // namespace BALL
#endif // BALL_STRUCTURE_SOLVENTACCESSIBLESURFACE_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
SASEdge.h
SASFace.h
SASVertex.h
BALL::ReducedSurface
Definition reducedSurface.h:196
BALL::SASEdge
Definition SASEdge.h:34
BALL::SASFace
Definition SASFace.h:31
BALL::SASTriangulator
Definition triangulatedSAS.h:161
BALL::SASVertex
Definition SASVertex.h:29
BALL::SolventAccessibleSurface
Definition solventAccessibleSurface.h:39
BALL::SolventAccessibleSurface::getEdge
SASEdge * getEdge(Position i) const
BALL::SolventAccessibleSurface::numberOfEdges
Size numberOfEdges() const
BALL::SolventAccessibleSurface::reduced_surface_
ReducedSurface * reduced_surface_
Definition solventAccessibleSurface.h:174
BALL::SolventAccessibleSurface::SASTriangulator
friend class SASTriangulator
Definition solventAccessibleSurface.h:49
BALL::SolventAccessibleSurface::edges_
::std::vector< SASEdge * > edges_
Definition solventAccessibleSurface.h:168
BALL::SolventAccessibleSurface::setRS
void setRS(ReducedSurface *rs)
BALL::SolventAccessibleSurface::faces_
::std::vector< SASFace * > faces_
Definition solventAccessibleSurface.h:172
BALL::SolventAccessibleSurface::getVertex
SASVertex * getVertex(Position i) const
BALL::SolventAccessibleSurface::getFace
SASFace * getFace(Position i) const
BALL::SolventAccessibleSurface::TriangulatedSAS
friend class TriangulatedSAS
Definition solventAccessibleSurface.h:48
BALL::SolventAccessibleSurface::numberOfVertices
Size numberOfVertices() const
BALL::SolventAccessibleSurface::number_of_faces_
Position number_of_faces_
Definition solventAccessibleSurface.h:170
BALL::SolventAccessibleSurface::setEdge
void setEdge(SASEdge *edge, Position i)
BALL::SolventAccessibleSurface::getRS
ReducedSurface * getRS() const
BALL::SolventAccessibleSurface::setFace
void setFace(SASFace *face, Position i)
BALL::SolventAccessibleSurface::number_of_edges_
Position number_of_edges_
Definition solventAccessibleSurface.h:166
BALL::SolventAccessibleSurface::vertices_
::std::vector< SASVertex * > vertices_
Definition solventAccessibleSurface.h:164
BALL::SolventAccessibleSurface::clear
void clear()
BALL::SolventAccessibleSurface::compute
void compute()
BALL::SolventAccessibleSurface::SolventAccessibleSurface
SolventAccessibleSurface()
BALL::SolventAccessibleSurface::setVertex
void setVertex(SASVertex *vertex, Position i)
BALL::SolventAccessibleSurface::number_of_vertices_
Position number_of_vertices_
Definition solventAccessibleSurface.h:162
BALL::SolventAccessibleSurface::numberOfFaces
Size numberOfFaces() const
BALL::TriangulatedSAS
Definition triangulatedSAS.h:63
BALL_CREATE
#define BALL_CREATE(name)
Definition create.h:62
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
BALL::Position
BALL_SIZE_TYPE Position
Definition COMMON/global.h:140
std
STL namespace.
reducedSurface.h
sphere3.h