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 ()
 
 GraphFace (const GraphFace< SESVertex, SESEdge, SESFace > &face, bool deep=false)
 
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 insert (SESEdge *edge)
 
void remove (SESVertex *vertex)
 
void remove (SESEdge *edge)
 
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)
 
bool substitute (const SESEdge *old_edge, SESEdge *new_edge)
 
SESVertexhas (SESVertex *vertex) const
 
SESEdgehas (SESEdge *edge) const
 
VertexIterator beginVertex ()
 
ConstVertexIterator beginVertex () const
 
VertexIterator endVertex ()
 
ConstVertexIterator endVertex () const
 
EdgeIterator beginEdge ()
 
ConstEdgeIterator beginEdge () const
 
EdgeIterator endEdge ()
 
ConstEdgeIterator endEdge () const
 

Protected Attributes

Attributes
Type type_
 
RSVertexrsvertex_
 
RSEdgersedge_
 
RSFacersface_
 
- Protected Attributes inherited from BALL::GraphFace< SESVertex, SESEdge, SESFace >
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

Friends And Related Symbol Documentation

◆ 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.