BALL::SESEdge Class Reference
[Molecular Surface Computation]

#include <BALL/STRUCTURE/SESEdge.h>

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

List of all members.

Public Types

Enums

enum  Type { TYPE_CONCAVE = 0, TYPE_CONVEX = 1, TYPE_SINGULAR = 2 }

Public Member Functions

Constructors and Destructors

 SESEdge ()
 SESEdge (const SESEdge &sesedge, bool deep=false)
 SESEdge (SESVertex *vertex0, SESVertex *vertex1, SESFace *face0, SESFace *face1, const TCircle3< double > &circle, RSEdge *rsedge, Type type, Index index)
virtual ~SESEdge ()
Assignment

void set (const SESEdge &sesedge, bool deep=false)
SESEdgeoperator= (const SESEdge &sesedge)
void set (SESVertex *vertex0, SESVertex *vertex1, SESFace *face0, SESFace *face1, const TCircle3< double > &circle, RSEdge *rsedge, Type type, Index index)
Accessors

void setCircle (const TCircle3< double > &center)
TCircle3< doublegetCircle () const
void setRSEdge (RSEdge *rsedge)
RSEdgegetRSEdge () const
void setType (Type type)
Type getType () const
Predicates

virtual bool operator== (const SESEdge &sesedge) const
virtual bool operator!= (const SESEdge &sesedge) const
virtual bool operator*= (const SESEdge &) const
bool isFree () const

Protected Attributes

TCircle3< doublecircle_
RSEdgersedge_
Type type_

Friends

Class friends

- class SESFace

class SESFace
class SESVertex
class SolventExcludedSurface
class SESComputer
class SESSingularityCleaner
class TriangulatedSES
class SESTriangulator

Detailed Description

Generic SESEdge Class.

Definition at line 33 of file SESEdge.h.


Member Enumeration Documentation

type of SESEdge: 0 concave 1 convex 2 singular

Enumerator:
TYPE_CONCAVE 
TYPE_CONVEX 
TYPE_SINGULAR 

Definition at line 67 of file SESEdge.h.


Constructor & Destructor Documentation

BALL::SESEdge::SESEdge (  ) 

Default constructor. This method creates a new SESEdge object.

BALL::SESEdge::SESEdge ( const SESEdge sesedge,
bool  deep = false 
)

Copy constructor. Create a new SESEdge object from another.

Parameters:
sesedge the SESEdge object to be copied
deep if deep = false, all pointers are set to NULL (default). Otherwise the new SESEdge object is linked to the neighbours of the old SESEdge object.
BALL::SESEdge::SESEdge ( SESVertex vertex0,
SESVertex vertex1,
SESFace face0,
SESFace face1,
const TCircle3< double > &  circle,
RSEdge rsedge,
Type  type,
Index  index 
)

Detailled constructor. Create a new SESEdge object from some nice objects.

Parameters:
vertex0 assigned to the first vertex
vertex1 assigned to the second vertex
face0 assigned to the first face
face1 assigned to the second face
circle assigned to the circle
rsedge assigned to the RSEdge
type assigned to the type of the SESEdge
index assigned to the index
virtual BALL::SESEdge::~SESEdge (  )  [virtual]

Destructor. Destructs the SESEdge object.


Member Function Documentation

TCircle3<double> BALL::SESEdge::getCircle (  )  const

Return the circle on wich the SESEdge lies.

Returns:
TCircle3<double> the circle of The SESEdge
RSEdge* BALL::SESEdge::getRSEdge (  )  const

Return the corresponding RSEdge.

Returns:
RSEdge* a pointer to th correwsponding RSEdge
Type BALL::SESEdge::getType (  )  const

Get the type of the SESEdge.

Returns:
Type the type of the SESEdge
bool BALL::SESEdge::isFree (  )  const

isFree.

Returns:
bool true if the RSEdge of the SESEdge is free, false otherwise
virtual bool BALL::SESEdge::operator!= ( const SESEdge sesedge  )  const [virtual]

Inequality operator.

Returns:
bool false if all vertices are equal modulo order, true otherwise

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

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

similarity operator.

Returns:
bool true

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

SESEdge& BALL::SESEdge::operator= ( const SESEdge sesedge  ) 

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

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

Equality operator.

Returns:
bool true if all vertices are equal modulo order, false otherwise

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

void BALL::SESEdge::set ( SESVertex vertex0,
SESVertex vertex1,
SESFace face0,
SESFace face1,
const TCircle3< double > &  circle,
RSEdge rsedge,
Type  type,
Index  index 
)

Assign from some nice objects.

Parameters:
vertex0 assigned to the first vertex
vertex1 assigned to the second vertex
face0 assigned to the first face
face1 assigned to the second face
circle assigned to the circle
rsedge assigned to the RSEdge
type assigned to the type of the SESEdge
index assigned to the index
void BALL::SESEdge::set ( const SESEdge sesedge,
bool  deep = false 
)

Assign from another SESEdge.

Parameters:
sesedge the SESEdge object to assign from
deep if deep = false, all pointers are set to NULL (default). Otherwise the SESEdge object is linked to the neighbours of the SESEdge object to assign from.
void BALL::SESEdge::setCircle ( const TCircle3< double > &  center  ) 

Set the circle on wich the SESEdge lies.

Parameters:
center the new circle
void BALL::SESEdge::setRSEdge ( RSEdge rsedge  ) 

Set the corresponding RSEdge.

Parameters:
rsedge a pointer to the new RSEdge
void BALL::SESEdge::setType ( Type  type  ) 

Set the type of the SESEdge.

Parameters:
type the new type of the SESEdge

Friends And Related Function Documentation

friend class SESComputer [friend]

Definition at line 51 of file SESEdge.h.

friend class SESFace [friend]

Definition at line 48 of file SESEdge.h.

friend class SESSingularityCleaner [friend]

Definition at line 52 of file SESEdge.h.

friend class SESTriangulator [friend]

Definition at line 54 of file SESEdge.h.

friend class SESVertex [friend]

Definition at line 49 of file SESEdge.h.

friend class SolventExcludedSurface [friend]

Definition at line 50 of file SESEdge.h.

friend class TriangulatedSES [friend]

Definition at line 53 of file SESEdge.h.


Member Data Documentation

Definition at line 249 of file SESEdge.h.

Definition at line 252 of file SESEdge.h.

Definition at line 256 of file SESEdge.h.

Generated by  doxygen 1.6.3