Loading...
Searching...
No Matches
RSFace.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_STRUCTURE_RSFACE_H
#define BALL_STRUCTURE_RSFACE_H
#ifndef BALL_STRUCTURE_GRAPHFACE_H
# include <BALL/STRUCTURE/graphFace.h>
#endif
#ifndef BALL_MATHS_VECTOR3_H
# include <BALL/MATHS/vector3.h>
#endif
namespace BALL
{
class RSVertex;
class RSEdge;
class ReducedSurface;
class RSComputer;
class SolventExcludedSurface;
class SESComputer;
class SESSingularityCleaner;
class SESEdge;
class SESFace;
class SESVertex;
class TriangulatedSES;
class SASTriangulator;
class SolventAccessibleSurface;
class SASEdge;
class SASFace;
class SASVertex;
class TriangulatedSAS;
class SESTriangulator;
class BALL_EXPORT RSFace : public GraphTriangle< RSVertex,RSEdge,RSFace >
{
public:
friend class RSEdge;
friend class RSVertex;
friend class ReducedSurface;
friend class RSComputer;
friend class SESEdge;
friend class SESFace;
friend class SESVertex;
friend class SolventExcludedSurface;
friend class SESComputer;
friend class SESSingularityCleaner;
friend class TriangulatedSES;
friend class SESTriangulator;
friend class SASEdge;
friend class SASFace;
friend class SASVertex;
friend class SolventAccessibleSurface;
friend class TriangulatedSAS;
friend class SASTriangulator;
BALL_CREATE(RSFace)
RSFace()
;
RSFace(const RSFace& rsface, bool deep = false)
;
RSFace(RSVertex* vertex1,
RSVertex* vertex2,
RSVertex* vertex3,
RSEdge* edge1,
RSEdge* edge2,
RSEdge* edge3,
const TVector3<double>& center,
const TVector3<double>& normal,
bool singular,
Index index);
virtual ~RSFace()
;
void set(const RSFace& rsface, bool deep = false)
;
RSFace& operator = (const RSFace& rsface)
;
void set(RSVertex* vertex1,
RSVertex* vertex2,
RSVertex* vertex3,
RSEdge* edge1,
RSEdge* edge2,
RSEdge* edge3,
const TVector3<double>& center,
const TVector3<double>& normal,
bool singular,
Index index);
virtual bool operator == (const RSFace& rsface) const
;
virtual bool operator != (const RSFace& rsface) const
;
virtual bool operator *=(const RSFace& rsface) const
;
bool isSingular() const
;
void setCenter(const TVector3<double>& center)
;
TVector3<double> getCenter() const
;
void setNormal(const TVector3<double>& normal);
TVector3<double> getNormal() const
;
void setSingular(bool singular)
;
void remove
(HashSet<RSEdge*>& edges,
HashSet<RSVertex*>& vertices,
HashSet<RSFace*>& faces)
;
protected:
/*_ @name Attributes
*/
/*_ The center of the probe sphere defining the RSFace
*/
TVector3<double> center_;
/*_ The vector orthogonal to the RSFace
*/
TVector3<double> normal_;
/*_ singular
*/
bool singular_;
};
BALL_EXPORT std::ostream& operator << (std::ostream& s, const RSFace& rsface);
} // namespace BALL
#endif // BALL_STRUCTURE_RSFACE_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
BALL::GraphTriangle< RSVertex, RSEdge, RSFace >::GraphTriangle
GraphTriangle()
Definition graphFace.h:901
BALL::HashSet
Definition hashSet.h:46
BALL::RSComputer
Definition reducedSurface.h:476
BALL::RSEdge
Definition RSEdge.h:49
BALL::RSFace
Definition RSFace.h:41
BALL::RSFace::RSVertex
friend class RSVertex
Definition RSFace.h:67
BALL::RSFace::set
void set(const RSFace &rsface, bool deep=false)
BALL::RSFace::RSComputer
friend class RSComputer
Definition RSFace.h:69
BALL::RSFace::SESTriangulator
friend class SESTriangulator
Definition RSFace.h:77
BALL::RSFace::SASTriangulator
friend class SASTriangulator
Definition RSFace.h:83
BALL::RSFace::center_
TVector3< double > center_
Definition RSFace.h:275
BALL::RSFace::SESEdge
friend class SESEdge
Definition RSFace.h:70
BALL::RSFace::SASVertex
friend class SASVertex
Definition RSFace.h:80
BALL::RSFace::SASFace
friend class SASFace
Definition RSFace.h:79
BALL::RSFace::getNormal
TVector3< double > getNormal() const
BALL::RSFace::TriangulatedSAS
friend class TriangulatedSAS
Definition RSFace.h:82
BALL::RSFace::remove
void remove(HashSet< RSEdge * > &edges, HashSet< RSVertex * > &vertices, HashSet< RSFace * > &faces)
BALL::RSFace::SolventExcludedSurface
friend class SolventExcludedSurface
Definition RSFace.h:73
BALL::RSFace::TriangulatedSES
friend class TriangulatedSES
Definition RSFace.h:76
BALL::RSFace::SESVertex
friend class SESVertex
Definition RSFace.h:72
BALL::RSFace::SASEdge
friend class SASEdge
Definition RSFace.h:78
BALL::RSFace::SolventAccessibleSurface
friend class SolventAccessibleSurface
Definition RSFace.h:81
BALL::RSFace::singular_
bool singular_
Definition RSFace.h:281
BALL::RSFace::SESSingularityCleaner
friend class SESSingularityCleaner
Definition RSFace.h:75
BALL::RSFace::getCenter
TVector3< double > getCenter() const
BALL::RSFace::normal_
TVector3< double > normal_
Definition RSFace.h:278
BALL::RSFace::isSingular
bool isSingular() const
BALL::RSFace::setSingular
void setSingular(bool singular)
BALL::RSFace::ReducedSurface
friend class ReducedSurface
Definition RSFace.h:68
BALL::RSFace::setNormal
void setNormal(const TVector3< double > &normal)
BALL::RSFace::SESComputer
friend class SESComputer
Definition RSFace.h:74
BALL::RSFace::RSFace
RSFace()
BALL::RSFace::SESFace
friend class SESFace
Definition RSFace.h:71
BALL::RSFace::setCenter
void setCenter(const TVector3< double > &center)
BALL::RSFace::RSEdge
friend class RSEdge
Definition RSFace.h:66
BALL::RSVertex
Definition RSVertex.h:38
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::SESComputer
Definition solventExcludedSurface.h:318
BALL::SESEdge
Definition SESEdge.h:34
BALL::SESFace
Definition SESFace.h:38
BALL::SESSingularityCleaner
Definition solventExcludedSurface.h:457
BALL::SESTriangulator
Definition triangulatedSES.h:164
BALL::SESVertex
Definition SESVertex.h:30
BALL::SolventAccessibleSurface
Definition solventAccessibleSurface.h:39
BALL::SolventExcludedSurface
Definition solventExcludedSurface.h:67
BALL::TVector3
Definition vector3.h:71
BALL::TriangulatedSAS
Definition triangulatedSAS.h:63
BALL::TriangulatedSES
Definition triangulatedSES.h:55
BALL_CREATE
#define BALL_CREATE(name)
Definition create.h:62
graphFace.h
BALL
Definition constants.h:13
BALL::Index
BALL_INDEX_TYPE Index
Definition COMMON/global.h:105
std
STL namespace.
vector3.h