BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Protected Attributes | List of all members
BALL::TrianglePoint Class Reference

#include <BALL/STRUCTURE/trianglePoint.h>

Inheritance diagram for BALL::TrianglePoint:
BALL::GraphVertex< TrianglePoint, TriangleEdge, Triangle >

Public Member Functions

Constructors and Destructors
 TrianglePoint ()
 
 TrianglePoint (const TVector3< double > &point, const TVector3< double > &normal=TVector3< double >(0.))
 
 TrianglePoint (const TrianglePoint &point, bool deep=false)
 
virtual ~TrianglePoint ()
 
Assignments
void set (const TrianglePoint &point, bool deep=false)
 
TrianglePointoperator= (const TrianglePoint &point)
 
Accessors
TVector3< doublegetPoint () const
 
void setPoint (const TVector3< double > &point)
 
TVector3< doublegetNormal () const
 
void setNormal (const TVector3< double > &normal) throw (Exception::DivisionByZero)
 
Predicates
virtual bool operator== (const TrianglePoint &point) const
 
virtual bool operator!= (const TrianglePoint &point) const
 
virtual bool operator*= (const TrianglePoint &point) const
 
- Public Member Functions inherited from BALL::GraphVertex< TrianglePoint, TriangleEdge, Triangle >
 GraphVertex ()
 
 GraphVertex (const GraphVertex< TrianglePoint, TriangleEdge, Triangle > &vertex, bool deep=false)
 
virtual ~GraphVertex ()
 
void set (const GraphVertex< TrianglePoint, TriangleEdge, Triangle > &vertex, bool deep=false)
 
GraphVertex< TrianglePoint,
TriangleEdge, Triangle > & 
operator= (const GraphVertex< TrianglePoint, TriangleEdge, Triangle > &vertex)
 
void insert (TriangleEdge *edge)
 
void insert (Triangle *face)
 
void remove (TriangleEdge *edge)
 
void remove (Triangle *face)
 
Position numberOfEdges () const
 
Position numberOfFaces () const
 
void setIndex (Index index)
 
Index getIndex () const
 
bool join (const TrianglePoint &vertex)
 
bool substitute (TrianglePoint *vertex)
 
Trianglehas (Triangle *face) const
 
TriangleEdgehas (TriangleEdge *edge) const
 
bool hasEdges () const
 
bool hasFaces () const
 
EdgeIterator beginEdge ()
 
ConstEdgeIterator beginEdge () const
 
EdgeIterator endEdge ()
 
ConstEdgeIterator endEdge () const
 
FaceIterator beginFace ()
 
ConstFaceIterator beginFace () const
 
FaceIterator endFace ()
 
ConstFaceIterator endFace () const
 

Protected Attributes

TVector3< doublepoint_
 
TVector3< doublenormal_
 
- Protected Attributes inherited from BALL::GraphVertex< TrianglePoint, TriangleEdge, Triangle >
HashSet< TriangleEdge * > edges_
 
HashSet< Triangle * > faces_
 
Index index_
 

Friends

Class friends
class Triangle
 
class TriangleEdge
 
class TriangulatedSurface
 
class TriangulatedSphere
 
class TriangulatedSES
 
class SESTriangulator
 
class TriangulatedSAS
 
class SASTriangulator
 
Class friends
  • class GraphEdge<Vertex,Edge,Face>;
  • class GraphFace<Vertex,Edge,Face>;
  • class GraphTriangle<Vertex,Edge,Face>;

Additional Inherited Members

- Public Types inherited from BALL::GraphVertex< TrianglePoint, TriangleEdge, Triangle >
typedef HashSet< TriangleEdge * >
::Iterator 
EdgeIterator
 
typedef HashSet< TriangleEdge * >
::ConstIterator 
ConstEdgeIterator
 
typedef HashSet< Triangle * >
::Iterator 
FaceIterator
 
typedef HashSet< Triangle * >
::ConstIterator 
ConstFaceIterator
 

Detailed Description

Generic TriangleEdge Class.

Definition at line 41 of file trianglePoint.h.

Constructor & Destructor Documentation

BALL::TrianglePoint::TrianglePoint ( )

Default constructor. This method creates a new TrianglePoint object.

BALL::TrianglePoint::TrianglePoint ( const TVector3< double > &  point,
const TVector3< double > &  normal = TVector3double >(0.) 
)

Detailed constructor. This method creates a new TrianglePoint object with the given point and normal.

BALL::TrianglePoint::TrianglePoint ( const TrianglePoint point,
bool  deep = false 
)

Copy constructor. Create a new TrianglePoint object from another.

Parameters
pointthe TrianglePoint object to be copied
deepif deep = false, all pointers are set to NULL (default). Otherwise the new TrianglePoint object is linked to the neighbours of the old TrianglePoint object.
virtual BALL::TrianglePoint::~TrianglePoint ( )
virtual

Destructor. Destructs the TrianglePoint object.

Member Function Documentation

TVector3<double> BALL::TrianglePoint::getNormal ( ) const

Get the normal of the TrianglePoint

TVector3<double> BALL::TrianglePoint::getPoint ( ) const

Get the point

virtual bool BALL::TrianglePoint::operator!= ( const TrianglePoint point) const
virtual

Inequality operator

Returns
bool false if the TrianglePoints lie on the same point, true otherwise.

Reimplemented from BALL::GraphVertex< TrianglePoint, TriangleEdge, Triangle >.

virtual bool BALL::TrianglePoint::operator*= ( const TrianglePoint point) const
virtual

Similarity operator

Returns
bool true if the TrianglePoints lie on the same point, false otherwise.

Reimplemented from BALL::GraphVertex< TrianglePoint, TriangleEdge, Triangle >.

TrianglePoint& BALL::TrianglePoint::operator= ( const TrianglePoint point)

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

Parameters
pointthe TrianglePoint object to assign from
virtual bool BALL::TrianglePoint::operator== ( const TrianglePoint point) const
virtual

Equality operator

Returns
bool true if the TrianglePoints lie on the same point, false otherwise.

Reimplemented from BALL::GraphVertex< TrianglePoint, TriangleEdge, Triangle >.

void BALL::TrianglePoint::set ( const TrianglePoint point,
bool  deep = false 
)

Assign from another TrianglePoint.

Parameters
pointthe TrianglePoint object to assign from
deepif deep = false, all pointers are set to NULL (default). Otherwise the new TrianglePoint object is linked to the neighbours of the TrianglePoint object to assign from.
void BALL::TrianglePoint::setNormal ( const TVector3< double > &  normal)
throw (Exception::DivisionByZero
)

Set the normal of the TrianglePoint

void BALL::TrianglePoint::setPoint ( const TVector3< double > &  point)

Set the point

Friends And Related Function Documentation

friend class SASTriangulator
friend

Definition at line 66 of file trianglePoint.h.

friend class SESTriangulator
friend

Definition at line 64 of file trianglePoint.h.

friend class Triangle
friend

Definition at line 59 of file trianglePoint.h.

friend class TriangleEdge
friend

Definition at line 60 of file trianglePoint.h.

friend class TriangulatedSAS
friend

Definition at line 65 of file trianglePoint.h.

friend class TriangulatedSES
friend

Definition at line 63 of file trianglePoint.h.

friend class TriangulatedSphere
friend

Definition at line 62 of file trianglePoint.h.

friend class TriangulatedSurface
friend

Definition at line 61 of file trianglePoint.h.

Member Data Documentation

TVector3<double> BALL::TrianglePoint::normal_
protected

Definition at line 186 of file trianglePoint.h.

TVector3<double> BALL::TrianglePoint::point_
protected

Definition at line 183 of file trianglePoint.h.