BALL::SESFace Class Reference
[Molecular Surface Computation]

#include <BALL/STRUCTURE/SESFace.h>

Inheritance diagram for BALL::SESFace:
Inheritance graph
[legend]

List of all members.

Public Types

Enums

enum  Type { TYPE_SPHERIC = 0, TYPE_TORIC = 1, TYPE_CONTACT = 2, TYPE_TORIC_SINGULAR = 3 }

Public Member Functions

Constructors and Destructors

 SESFace ()
 SESFace (const SESFace &sesface, bool deep=false)
 SESFace (Type type, RSVertex *rsvertex, RSEdge *rsedge, RSFace *rsface)
virtual ~SESFace ()
Assignments

void set (const SESFace &sesface, bool deep=false)
SESFaceoperator= (const SESFace &sesface)
void setType (Type type)
Type getType () const
void setRSVertex (RSVertex *rsvertex)
RSVertexgetRSVertex () const
void setRSEdge (RSEdge *rsedge)
RSEdgegetRSEdge () const
void setRSFace (RSFace *rsface)
RSFacegetRSFace () const
Accessors

void normalize (bool singular)
Predicates

virtual bool operator== (const SESFace &) const
virtual bool operator!= (const SESFace &) const
virtual bool operator*= (const SESFace &) const
bool isNeighbouredTo (SESFace *face) const
bool isFree () const
bool hasSingularEdges () const

Protected Attributes

Attributes

Type type_
RSVertexrsvertex_
RSEdgersedge_
RSFacersface_

Private Member Functions

void normalizeNonSingularToricFace_ ()
void normalizeSingularToricFace_ ()
void findTriangle_ (bool first, SESEdge *&edge0, SESEdge *&edge1, SESEdge *&edge2, SESVertex *&vertex0, SESVertex *&vertex1, SESVertex *&vertex2)

Friends

Class friends

- class SESEdge

class SESEdge
class SESVertex
class SolventExcludedSurface
class SESComputer
class SESSingularityCleaner
class TriangulatedSES
class SESTriangulator

Detailed Description

Generic SESFace Class.

Definition at line 37 of file SESFace.h.


Member Enumeration Documentation

type of SESFace: 0 spheric reentrant face 1 toric reentrant face 2 contact face 3 singular toric reentrant face

Enumerator:
TYPE_SPHERIC 
TYPE_TORIC 
TYPE_CONTACT 
TYPE_TORIC_SINGULAR 

Definition at line 72 of file SESFace.h.


Constructor & Destructor Documentation

BALL::SESFace::SESFace (  ) 

Default constructor. This method creates a new SESFace object.

BALL::SESFace::SESFace ( const SESFace sesface,
bool  deep = false 
)

Copy constructor. Create a new SESFace object from another.

Parameters:
sesface the SESFace object to be copied
deep if deep = false, all pointers are set to NULL (default). Otherwise the new SESFace object is linked to the neighbours of the old SESFace object.
BALL::SESFace::SESFace ( Type  type,
RSVertex rsvertex,
RSEdge rsedge,
RSFace rsface 
)

Detailled constructor. Create a new SESFace object

Parameters:
type assigned the type
rsvertex assigned to the rsvertex
rsedge assigned to the rsedge
rsface assigned to the rsface
virtual BALL::SESFace::~SESFace (  )  [virtual]

Destructor. Destructs the SESFace object.


Member Function Documentation

void BALL::SESFace::findTriangle_ ( bool  first,
SESEdge *&  edge0,
SESEdge *&  edge1,
SESEdge *&  edge2,
SESVertex *&  vertex0,
SESVertex *&  vertex1,
SESVertex *&  vertex2 
) [private]
RSEdge* BALL::SESFace::getRSEdge (  )  const

Get the corresponding RSEdge of the SESFace.

Returns:
RSEdge* a pointer to the corresponding RSEdge
RSFace* BALL::SESFace::getRSFace (  )  const

Get the corresponding RSFace of the SESFace.

Returns:
RSFace* a pointer to the corresponding RSFace
RSVertex* BALL::SESFace::getRSVertex (  )  const

Get the corresponding RSVertex of the SESFace.

Returns:
RSVertex* a pointer to the corresponding RSVertex
Type BALL::SESFace::getType (  )  const

Get the type of the SESFace

Returns:
SESFace::Type the type of the SESFace
bool BALL::SESFace::hasSingularEdges (  )  const

Test whether a face has singular edges.

Returns:
bool true if the face has singular edges, false otherwise
bool BALL::SESFace::isFree (  )  const

Test whether a toric face is free ore not.

Returns:
bool true if the face is toric and free, false otherwise
bool BALL::SESFace::isNeighbouredTo ( SESFace face  )  const

Test whether two faces are neighboured. Two faces are neighboured if they have a common edge.

Parameters:
face the face to be tested
Returns:
bool true if the faces are neighboured, false otherwise
void BALL::SESFace::normalize ( bool  singular  ) 

Normalize the SESFace.

void BALL::SESFace::normalizeNonSingularToricFace_ (  )  [private]
void BALL::SESFace::normalizeSingularToricFace_ (  )  [private]
virtual bool BALL::SESFace::operator!= ( const SESFace  )  const [virtual]

Inequality operator.

Returns:
bool false

Reimplemented from BALL::GraphFace< SESVertex, SESEdge, SESFace >.

virtual bool BALL::SESFace::operator*= ( const SESFace  )  const [virtual]

Similarity operator.

Returns:
bool true

Reimplemented from BALL::GraphFace< SESVertex, SESEdge, SESFace >.

SESFace& BALL::SESFace::operator= ( const SESFace sesface  ) 

Assign from another SESFace. The SESFace object is linked to the neighbours of the SESFace object to assign from.

Parameters:
sesface the SESFace object to assign from
virtual bool BALL::SESFace::operator== ( const SESFace  )  const [virtual]

Equality operator.

Returns:
bool true

Reimplemented from BALL::GraphFace< SESVertex, SESEdge, SESFace >.

void BALL::SESFace::set ( const SESFace sesface,
bool  deep = false 
)

Assign from another SESFace.

Parameters:
sesface the SESFace object to assign from
deep if deep = false, all pointers are set to NULL (default). Otherwise the SESFace object is linked to the neighbours of the SESFace object to assign from.
void BALL::SESFace::setRSEdge ( RSEdge rsedge  ) 

Set the corresponding RSEdge of the SESFace.

Parameters:
rsedge a pointer to the new RSFace
void BALL::SESFace::setRSFace ( RSFace rsface  ) 

Set the corresponding RSFace of the SESFace.

Parameters:
rsface a pointer to the new RSFace
void BALL::SESFace::setRSVertex ( RSVertex rsvertex  ) 

Set the corresponding RSVertex of the SESFace.

Parameters:
rsvertex a pointer to the new RSVertex
void BALL::SESFace::setType ( Type  type  ) 

Set the type of the SESFace.

Parameters:
type the new type

Friends And Related Function Documentation

friend class SESComputer [friend]

Definition at line 55 of file SESFace.h.

friend class SESEdge [friend]

Definition at line 52 of file SESFace.h.

friend class SESSingularityCleaner [friend]

Definition at line 56 of file SESFace.h.

friend class SESTriangulator [friend]

Definition at line 58 of file SESFace.h.

friend class SESVertex [friend]

Definition at line 53 of file SESFace.h.

friend class SolventExcludedSurface [friend]

Definition at line 54 of file SESFace.h.

friend class TriangulatedSES [friend]

Definition at line 57 of file SESFace.h.


Member Data Documentation

Definition at line 283 of file SESFace.h.

Definition at line 287 of file SESFace.h.

Definition at line 279 of file SESFace.h.

Definition at line 275 of file SESFace.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Generated by  doxygen 1.6.3