BALL 1.5.0
Loading...
Searching...
No Matches

#include <BALL/STRUCTURE/SESFace.h>

Inheritance diagram for BALL::SESFace:
BALL::GraphFace< SESVertex, SESEdge, SESFace >

Public Types

Enums
enum  Type { TYPE_SPHERIC = 0 , TYPE_TORIC = 1 , TYPE_CONTACT = 2 , TYPE_TORIC_SINGULAR = 3 }
Public Types inherited from BALL::GraphFace< SESVertex, SESEdge, SESFace >
typedef std::list< SESVertex * >::iterator VertexIterator
typedef std::list< SESVertex * >::const_iterator ConstVertexIterator
typedef std::list< SESEdge * >::iterator EdgeIterator
typedef std::list< SESEdge * >::const_iterator ConstEdgeIterator

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)
Public Member Functions inherited from BALL::GraphFace< SESVertex, SESEdge, SESFace >
 GraphFace ()
virtual ~GraphFace ()
void set (const GraphFace< SESVertex, SESEdge, SESFace > &face, bool deep=false)
GraphFace< SESVertex, SESEdge, SESFace > & operator= (const GraphFace< SESVertex, SESEdge, SESFace > &face)
void insert (SESVertex *vertex)
void remove (SESVertex *vertex)
Position numberOfVertices () const
Position numberOfEdges () const
void setIndex (Index index)
Index getIndex () const
bool getEdges (const SESVertex *vertex, SESEdge *&edge1, SESEdge *&edge2) const
bool getEdge (const SESVertex *vertex1, const SESVertex *vertex2, SESEdge *&edge) const
SESEdgegetSimilarEdge (const SESEdge *edge) const
bool substitute (const SESVertex *old_vertex, SESVertex *new_vertex)
SESVertexhas (SESVertex *vertex) const
VertexIterator beginVertex ()
VertexIterator endVertex ()
EdgeIterator beginEdge ()
EdgeIterator endEdge ()

Protected Attributes

Attributes
Type type_
RSVertexrsvertex_
RSEdgersedge_
RSFacersface_
std::list< SESVertex * > vertex_
std::list< SESEdge * > edge_
Index index_

Friends

Class friends
class SESEdge
class SESVertex
class SolventExcludedSurface
class SESComputer
class SESSingularityCleaner
class TriangulatedSES
class SESTriangulator
Friends inherited from BALL::GraphFace< SESVertex, SESEdge, SESFace >

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

Detailed Description

Generic SESFace Class.

Definition at line 37 of file SESFace.h.

Member Enumeration Documentation

◆ Type

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

◆ SESFace() [1/3]

BALL::SESFace::SESFace ( )

Default constructor. This method creates a new SESFace object.

◆ SESFace() [2/3]

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

Copy constructor. Create a new SESFace object from another.

Parameters
sesfacethe SESFace object to be copied
deepif deep = false, all pointers are set to NULL (default). Otherwise the new SESFace object is linked to the neighbours of the old SESFace object.

◆ SESFace() [3/3]

BALL::SESFace::SESFace ( Type type,
RSVertex * rsvertex,
RSEdge * rsedge,
RSFace * rsface )

Detailled constructor. Create a new SESFace object

Parameters
typeassigned the type
rsvertexassigned to the rsvertex
rsedgeassigned to the rsedge
rsfaceassigned to the rsface

◆ ~SESFace()

virtual BALL::SESFace::~SESFace ( )
virtual

Destructor. Destructs the SESFace object.

Member Function Documentation

◆ getRSEdge()

RSEdge * BALL::SESFace::getRSEdge ( ) const

Get the corresponding RSEdge of the SESFace.

Returns
RSEdge* a pointer to the corresponding RSEdge

◆ getRSFace()

RSFace * BALL::SESFace::getRSFace ( ) const

Get the corresponding RSFace of the SESFace.

Returns
RSFace* a pointer to the corresponding RSFace

◆ getRSVertex()

RSVertex * BALL::SESFace::getRSVertex ( ) const

Get the corresponding RSVertex of the SESFace.

Returns
RSVertex* a pointer to the corresponding RSVertex

◆ getType()

Type BALL::SESFace::getType ( ) const

Get the type of the SESFace

Returns
SESFace::Type the type of the SESFace

◆ hasSingularEdges()

bool BALL::SESFace::hasSingularEdges ( ) const

Test whether a face has singular edges.

Returns
bool true if the face has singular edges, false otherwise

◆ isFree()

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

◆ isNeighbouredTo()

bool BALL::SESFace::isNeighbouredTo ( SESFace * face) const

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

Parameters
facethe face to be tested
Returns
bool true if the faces are neighboured, false otherwise

◆ normalize()

void BALL::SESFace::normalize ( bool singular)

Normalize the SESFace.

◆ operator!=()

virtual bool BALL::SESFace::operator!= ( const SESFace & ) const
virtual

Inequality operator.

Returns
bool false

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

◆ operator*=()

virtual bool BALL::SESFace::operator*= ( const SESFace & ) const
virtual

Similarity operator.

Returns
bool true

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

◆ operator=()

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
sesfacethe SESFace object to assign from

◆ operator==()

virtual bool BALL::SESFace::operator== ( const SESFace & ) const
virtual

Equality operator.

Returns
bool true

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

◆ set()

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

Assign from another SESFace.

Parameters
sesfacethe SESFace object to assign from
deepif 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.

◆ setRSEdge()

void BALL::SESFace::setRSEdge ( RSEdge * rsedge)

Set the corresponding RSEdge of the SESFace.

Parameters
rsedgea pointer to the new RSFace

◆ setRSFace()

void BALL::SESFace::setRSFace ( RSFace * rsface)

Set the corresponding RSFace of the SESFace.

Parameters
rsfacea pointer to the new RSFace

◆ setRSVertex()

void BALL::SESFace::setRSVertex ( RSVertex * rsvertex)

Set the corresponding RSVertex of the SESFace.

Parameters
rsvertexa pointer to the new RSVertex

◆ setType()

void BALL::SESFace::setType ( Type type)

Set the type of the SESFace.

Parameters
typethe new type

◆ SESComputer

friend class SESComputer
friend

Definition at line 55 of file SESFace.h.

◆ SESEdge

friend class SESEdge
friend

Definition at line 52 of file SESFace.h.

◆ SESSingularityCleaner

friend class SESSingularityCleaner
friend

Definition at line 56 of file SESFace.h.

◆ SESTriangulator

friend class SESTriangulator
friend

Definition at line 58 of file SESFace.h.

◆ SESVertex

friend class SESVertex
friend

Definition at line 53 of file SESFace.h.

◆ SolventExcludedSurface

friend class SolventExcludedSurface
friend

Definition at line 54 of file SESFace.h.

◆ TriangulatedSES

friend class TriangulatedSES
friend

Definition at line 57 of file SESFace.h.

Member Data Documentation

◆ rsedge_

RSEdge* BALL::SESFace::rsedge_
protected

Definition at line 283 of file SESFace.h.

◆ rsface_

RSFace* BALL::SESFace::rsface_
protected

Definition at line 287 of file SESFace.h.

◆ rsvertex_

RSVertex* BALL::SESFace::rsvertex_
protected

Definition at line 279 of file SESFace.h.

◆ type_

Type BALL::SESFace::type_
protected

Definition at line 275 of file SESFace.h.