Loading...
Searching...
No Matches
SESEdge.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_STRUCTURE_SESEDGE_H
#define BALL_STRUCTURE_SESEDGE_H
#ifndef BALL_STRUCTURE_GRAPHEDGE_H
# include <BALL/STRUCTURE/graphEdge.h>
#endif
#ifndef BALL_STRUCTURE_RSEDGE_H
# include <BALL/STRUCTURE/RSEdge.h>
#endif
#ifndef BALL_MATHS_CIRCLE3_H
# include <BALL/MATHS/circle3.h>
#endif
namespace BALL
{
class SESFace;
class SESVertex;
class SolventExcludedSurface;
class TriangulatedSES;
class SESComputer;
class SESSingularityCleaner;
class SESTriangulator;
class BALL_EXPORT SESEdge : public GraphEdge< SESVertex,SESEdge,SESFace >
{
public:
friend class SESFace;
friend class SESVertex;
friend class SolventExcludedSurface;
friend class SESComputer;
friend class SESSingularityCleaner;
friend class TriangulatedSES;
friend class SESTriangulator;
BALL_CREATE(SESEdge)
enum Type
{
TYPE_CONCAVE = 0,
TYPE_CONVEX = 1,
TYPE_SINGULAR = 2
};
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()
;
void set(const SESEdge& sesedge, bool deep = false)
;
SESEdge& operator = (const SESEdge& sesedge)
;
void set(SESVertex* vertex0,
SESVertex* vertex1,
SESFace* face0,
SESFace* face1,
const TCircle3<double>& circle,
RSEdge* rsedge,
Type type,
Index index)
;
void setCircle(const TCircle3<double>& center)
;
TCircle3<double> getCircle() const
;
void setRSEdge(RSEdge* rsedge)
;
RSEdge* getRSEdge() const
;
void setType(Type type)
;
Type getType() const
;
virtual bool operator == (const SESEdge& sesedge) const
;
virtual bool operator != (const SESEdge& sesedge) const
;
virtual bool operator *= (const SESEdge&) const
;
bool isFree() const
;
protected:
/*_ @name Attributes
*/
/*_ The circle on which the SESEdge lies.
*/
TCircle3<double> circle_;
/*_ A pointer to the corresponding RSEdge.
*/
RSEdge* rsedge_;
/*_ The type of the SESEdge.
*/
//int type;
Type type_;
};
BALL_EXPORT std::ostream& operator << (std::ostream& s, const SESEdge& sesedge);
} // namespace BALL
#endif // BALL_STRUCTURE_SESEDGE_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
RSEdge.h
circle3.h
BALL::GraphEdge< SESVertex, SESEdge, SESFace >::GraphEdge
GraphEdge()
Definition graphEdge.h:255
BALL::RSEdge
Definition RSEdge.h:49
BALL::SESComputer
Definition solventExcludedSurface.h:318
BALL::SESEdge
Definition SESEdge.h:34
BALL::SESEdge::type_
Type type_
Definition SESEdge.h:256
BALL::SESEdge::SESTriangulator
friend class SESTriangulator
Definition SESEdge.h:54
BALL::SESEdge::rsedge_
RSEdge * rsedge_
Definition SESEdge.h:252
BALL::SESEdge::isFree
bool isFree() const
BALL::SESEdge::SESEdge
SESEdge(const SESEdge &sesedge, bool deep=false)
BALL::SESEdge::~SESEdge
virtual ~SESEdge()
BALL::SESEdge::SESEdge
SESEdge(SESVertex *vertex0, SESVertex *vertex1, SESFace *face0, SESFace *face1, const TCircle3< double > &circle, RSEdge *rsedge, Type type, Index index)
BALL::SESEdge::set
void set(SESVertex *vertex0, SESVertex *vertex1, SESFace *face0, SESFace *face1, const TCircle3< double > &circle, RSEdge *rsedge, Type type, Index index)
BALL::SESEdge::SolventExcludedSurface
friend class SolventExcludedSurface
Definition SESEdge.h:50
BALL::SESEdge::SESEdge
SESEdge()
BALL::SESEdge::TriangulatedSES
friend class TriangulatedSES
Definition SESEdge.h:53
BALL::SESEdge::getRSEdge
RSEdge * getRSEdge() const
BALL::SESEdge::getType
Type getType() const
BALL::SESEdge::SESVertex
friend class SESVertex
Definition SESEdge.h:49
BALL::SESEdge::getCircle
TCircle3< double > getCircle() const
BALL::SESEdge::SESSingularityCleaner
friend class SESSingularityCleaner
Definition SESEdge.h:52
BALL::SESEdge::setRSEdge
void setRSEdge(RSEdge *rsedge)
BALL::SESEdge::setType
void setType(Type type)
BALL::SESEdge::set
void set(const SESEdge &sesedge, bool deep=false)
BALL::SESEdge::SESComputer
friend class SESComputer
Definition SESEdge.h:51
BALL::SESEdge::SESFace
friend class SESFace
Definition SESEdge.h:48
BALL::SESEdge::setCircle
void setCircle(const TCircle3< double > &center)
BALL::SESEdge::circle_
TCircle3< double > circle_
Definition SESEdge.h:249
BALL::SESEdge::Type
Type
Definition SESEdge.h:68
BALL::SESEdge::TYPE_SINGULAR
@ TYPE_SINGULAR
Definition SESEdge.h:71
BALL::SESEdge::TYPE_CONVEX
@ TYPE_CONVEX
Definition SESEdge.h:70
BALL::SESEdge::TYPE_CONCAVE
@ TYPE_CONCAVE
Definition SESEdge.h:69
BALL::SESFace
Definition SESFace.h:38
BALL::SESSingularityCleaner
Definition solventExcludedSurface.h:457
BALL::SESTriangulator
Definition triangulatedSES.h:164
BALL::SESVertex
Definition SESVertex.h:30
BALL::SolventExcludedSurface
Definition solventExcludedSurface.h:67
BALL::TCircle3
Definition circle3.h:46
BALL::TriangulatedSES
Definition triangulatedSES.h:55
BALL_CREATE
#define BALL_CREATE(name)
Definition create.h:62
graphEdge.h
BALL::operator<<
BALL_EXPORT std::ostream & operator<<(std::ostream &os, const Exception::GeneralException &e)
BALL
Definition constants.h:13
BALL::Index
BALL_INDEX_TYPE Index
Definition COMMON/global.h:105