BALL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Private Member Functions
BALL::SESFace Class Reference

#include <BALL/STRUCTURE/SESFace.h>

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

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

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:
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.
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
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]

Get the corresponding RSEdge of the SESFace.

Returns:
RSEdge* a pointer to the corresponding RSEdge

Get the corresponding RSFace of the SESFace.

Returns:
RSFace* a pointer to the corresponding RSFace

Get the corresponding RSVertex of the SESFace.

Returns:
RSVertex* a pointer to the corresponding RSVertex

Get the type of the SESFace

Returns:
SESFace::Type the type of the SESFace

Test whether a face has singular edges.

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

Test whether a toric face is free ore not.

Returns:
bool true if the face is toric and free, false otherwise

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
void BALL::SESFace::normalize ( bool  singular)

Normalize the SESFace.

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:
sesfacethe 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:
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.
void BALL::SESFace::setRSEdge ( RSEdge rsedge)

Set the corresponding RSEdge of the SESFace.

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

Set the corresponding RSFace of the SESFace.

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

Set the corresponding RSVertex of the SESFace.

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

Set the type of the SESFace.

Parameters:
typethe 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