BALL 1.5.0
Loading...
Searching...
No Matches

#include <BALL/STRUCTURE/triangle.h>

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

Public Member Functions

Constructors and Destructors
 Triangle ()
 Triangle (TrianglePoint *v1, TrianglePoint *v2, TrianglePoint *v3)
 Triangle (TriangleEdge *e1, TriangleEdge *e2, TriangleEdge *e3, bool flip_normal=false)
 Triangle (const Triangle &triangle, bool deep=false)
virtual ~Triangle ()
Assignments
void set (const Triangle &triangle, bool deep=false)
Triangleoperator= (const Triangle &triangle)
Accessors
void setPoint (Position i, TrianglePoint *point)
TrianglePointgetPoint (Position i) const
void remove (TriangleEdge *edge)
Predicates
virtual bool operator== (const Triangle &) const
virtual bool operator!= (const Triangle &) const
virtual bool operator*= (const Triangle &) const
Public Member Functions inherited from BALL::GraphTriangle< TrianglePoint, TriangleEdge, Triangle >
 GraphTriangle ()
virtual ~GraphTriangle ()
void set (const GraphTriangle< TrianglePoint, TriangleEdge, Triangle > &face, bool deep=false)
GraphTriangle< TrianglePoint, TriangleEdge, Triangle > & operator= (const GraphTriangle< TrianglePoint, TriangleEdge, Triangle > &face)
void setVertex (Position i, TrianglePoint *vertex)
TrianglePointgetVertex (Position i) const
void setEdge (Position i, TriangleEdge *edge)
TriangleEdgegetEdge (Position i) const
void setIndex (Index index)
Index getIndex () const
bool getEdges (const TrianglePoint *vertex, TriangleEdge *&edge1, TriangleEdge *&edge2) const
Index getSimilarEdge (const TriangleEdge *edge, TriangleEdge *&similar_edge) const
Index getRelativeIndex (const TrianglePoint *vertex) const
TrianglePointthird (const TrianglePoint *v1, const TrianglePoint *v2) const
TriangleEdgegetOppositeEdge (const TrianglePoint *vertex) const
TrianglePointgetOppositeVertex (const TriangleEdge *edge) const
bool substitute (const TrianglePoint *old_vertex, TrianglePoint *new_vertex)
TrianglePointhas (TrianglePoint *vertex) const

Friends

Class friends
class TriangleEdge
class TrianglePoint
class TriangulatedSurface
class TriangulatedSphere
class TriangulatedSES
class TriangulatedSAS
class SESTriangulator
class SASTriangulator
Friends inherited from BALL::GraphTriangle< TrianglePoint, TriangleEdge, Triangle >

Additional Inherited Members

TrianglePointvertex_ [3]
TriangleEdgeedge_ [3]
Index index_

Detailed Description

Generic TriangleEdge Class.

Definition at line 37 of file triangle.h.

Constructor & Destructor Documentation

◆ Triangle() [1/4]

BALL::Triangle::Triangle ( )

Default constructor. This method creates a new Triangle object.

◆ Triangle() [2/4]

BALL::Triangle::Triangle ( TrianglePoint * v1,
TrianglePoint * v2,
TrianglePoint * v3 )

Detailed constructor. Creates a new Triangle object. Its vertices are initialized with the passed TrianglePoint instances.

◆ Triangle() [3/4]

BALL::Triangle::Triangle ( TriangleEdge * e1,
TriangleEdge * e2,
TriangleEdge * e3,
bool flip_normal = false )

Detailed constructor. Creates a new Triangle object. Its edges are initialized with the passed TriangleEdge instances. Its vertices are taken from the edges. This requires the edges to be properly oriented in a counter clockwise manner.

◆ Triangle() [4/4]

BALL::Triangle::Triangle ( const Triangle & triangle,
bool deep = false )

Copy constructor. Create a new Triangle object from another.

Parameters
trianglethe Triangle object to be copied
deepif deep = false, all pointers are set to NULL (default). Otherwise the new Triangle object is linked to the neighbours of the old Triangle object.

◆ ~Triangle()

virtual BALL::Triangle::~Triangle ( )
virtual

Destructor. Destructs the Triangle object.

Member Function Documentation

◆ getPoint()

TrianglePoint * BALL::Triangle::getPoint ( Position i) const

Return one of the three points of the Triangle.

Parameters
ithe relative index of the point which should be given back. If i is greater three, an exception is thrown.
Returns
TrianglePoint* a pointer to the asked point
Exceptions
BALL::Exception::IndexOverflow

◆ operator!=()

virtual bool BALL::Triangle::operator!= ( const Triangle & ) const
virtual

Inequality operator.

Returns
false

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

◆ operator*=()

virtual bool BALL::Triangle::operator*= ( const Triangle & ) const
virtual

Similarity operator.

Returns
true

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

◆ operator=()

Triangle & BALL::Triangle::operator= ( const Triangle & triangle)

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

Parameters
trianglethe Triangle object to assign from

◆ operator==()

virtual bool BALL::Triangle::operator== ( const Triangle & ) const
virtual

Equality operator.

Returns
true

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

◆ remove()

void BALL::Triangle::remove ( TriangleEdge * edge)

Remove an edge from the Triangle. The edge is set to NULL.

Parameters
edgethe edge to delete

◆ set()

void BALL::Triangle::set ( const Triangle & triangle,
bool deep = false )

Assign from another Triangle.

Parameters
trianglethe Triangle object to assign from
deepif deep = false, all pointers are set to NULL (default). Otherwise the Triangle object is linked
to the neighbours of the Triangle object to assign
from

◆ setPoint()

void BALL::Triangle::setPoint ( Position i,
TrianglePoint * point )

Set one of the three points of the Triangle.

Parameters
ithe relative index of the point which should be set.
If i is greater three, an exception is thrown.
pointa pointer to the new point
Exceptions
BALL::Exception::IndexOverflow

◆ SASTriangulator

friend class SASTriangulator
friend

Definition at line 62 of file triangle.h.

◆ SESTriangulator

friend class SESTriangulator
friend

Definition at line 61 of file triangle.h.

◆ TriangleEdge

friend class TriangleEdge
friend

Definition at line 55 of file triangle.h.

◆ TrianglePoint

friend class TrianglePoint
friend

Definition at line 56 of file triangle.h.

◆ TriangulatedSAS

friend class TriangulatedSAS
friend

Definition at line 60 of file triangle.h.

◆ TriangulatedSES

friend class TriangulatedSES
friend

Definition at line 59 of file triangle.h.

◆ TriangulatedSphere

friend class TriangulatedSphere
friend

Definition at line 58 of file triangle.h.

◆ TriangulatedSurface

friend class TriangulatedSurface
friend

Definition at line 57 of file triangle.h.