BALL::TriangulatedSurface Class Reference
[Molecular Surface Computation]

Generic TriangulatedSurface Class. More...

#include <triangulatedSurface.h>

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

List of all members.


Public Types

Type definitions
typedef std::list
< TrianglePoint * >::iterator
PointIterator
typedef std::list
< TrianglePoint * >
::const_iterator
ConstPointIterator
typedef std::list
< TriangleEdge * >::iterator
EdgeIterator
typedef std::list
< TriangleEdge * >
::const_iterator
ConstEdgeIterator
typedef std::list< Triangle * >
::iterator
TriangleIterator
typedef std::list< Triangle * >
::const_iterator
ConstTriangleIterator

Public Member Functions

Constructors and Destructors
TriangulatedSurface ()
Default constructor.
TriangulatedSurface (const TriangulatedSurface &surface, bool=true)
Copy constructor.
virtual ~TriangulatedSurface ()
Destructor.
Assignment
void clear ()
Delete all points, edges and triangles.
void set (const TriangulatedSurface &surface, bool=true)
Assign from another TriangulatedSurface.
TriangulatedSurface & operator= (const TriangulatedSurface &surface)
Assign from another TriangulatedSurface.
Accessors
void insert (TrianglePoint *point)
Insert a new point to the TriangulatedSurface.
void insert (TriangleEdge *edge)
Insert a new edge to the TriangulatedSurface.
void insert (Triangle *triangle)
Insert a new triangle to the TriangulatedSurface.
BALL_DEPRECATED Size numberOfPoints () const
Get the number of points of the TriangulatedSurface.
Size getNumberOfPoints () const
Get the number of points of the TriangulatedSurface.
BALL_DEPRECATED Size numberOfEdges () const
Get the number of edges of the TriangulatedSurface.
Size getNumberOfEdges () const
Get the number of edges of the TriangulatedSurface.
BALL_DEPRECATED Size numberOfTriangles () const
Get the number of triangles of the TriangulatedSurface.
Size getNumberOfTriangles () const
Get the number of triangles of the TriangulatedSurface.
void remove (TrianglePoint *point, bool deep=true)
Remove a point from the TriangulatedSurface.
void remove (PointIterator p, bool deep=true)
Remove a point from the TriangulatedSurface.
void remove (TriangleEdge *edge, bool deep=true)
Remove an edge from the TriangulatedSurface.
void remove (EdgeIterator e, bool deep=true)
Remove an edge from the TriangulatedSurface.
void remove (Triangle *triangle, bool deep=true)
Remove a triangle from the TriangulatedSurface.
void remove (TriangleIterator t, bool deep=true)
Remove a triangle from the TriangulatedSurface.
void exportSurface (Surface &surface)
Create a Surface object from the TriangulatedeSurface.
TriangulatedSurface & operator+= (const TriangulatedSurface &surface)
Add a TriangulatedSurface object.
void join (TriangulatedSurface &source)
Add a TriangulatedSurface object.
void shift (const TVector3< double > &c)
Shift the TriangulatedSurface.
void blowUp (const double &r)
Blow up th TriangulatedSurface.
void setIndices ()
Set the indices of al points, edges and triangles.
void cut (const TPlane3< double > &plane, const double &fuzzy=0)
Cut the TriangulatedSurface on a plane.
void shrink ()
Delete all triangles on the border of the TriangulatedSurface.
void deleteIsolatedEdges ()
Delete all isolated edges of the TriangulatedSurface.
void deleteIsolatedPoints ()
Delete all isolated points of the TriangulatedSurface.
void getBorder (std::list< TriangleEdge * > &border)
Get the border edges of the TriangulatedSurface.
External Iterators
PointIterator beginPoint ()
ConstPointIterator beginPoint () const
PointIterator endPoint ()
ConstPointIterator endPoint () const
EdgeIterator beginEdge ()
ConstEdgeIterator beginEdge () const
EdgeIterator endEdge ()
ConstEdgeIterator endEdge () const
TriangleIterator beginTriangle ()
ConstTriangleIterator beginTriangle () const
TriangleIterator endTriangle ()
ConstTriangleIterator endTriangle () const

Static Public Member Functions

Static Members
static TriangulatedSurface * createTube (unsigned int num_vertices, unsigned int subdiv=0, bool closed=false, bool out=true)
A static function that constructs a triangulated tube.
static TriangulatedSurface * createDisk (unsigned int num_vertices, bool out=true)
A static function that constructs a triangulated disk.

Protected Member Functions

External Iterators
bool canBeCopied () const
void copy (const TriangulatedSurface &surface)

Protected Attributes

External Iterators
Size number_of_points_
std::list< TrianglePoint * > points_
Size number_of_edges_
std::list< TriangleEdge * > edges_
Size number_of_triangles_
std::list< Triangle * > triangles_

Detailed Description

Generic TriangulatedSurface Class.

Constructor & Destructor Documentation

BALL::TriangulatedSurface::TriangulatedSurface ( )

Default constructor.

This method creates a new TriangulatedSurface object.

BALL::TriangulatedSurface::TriangulatedSurface ( const TriangulatedSurface & surface,
bool = true
)

Copy constructor.

Create a new TriangulatedSurface object from another.

Parameters:
surface the TriangulatedSurface object to be copied
bool ignored - just for interface consistency

virtual BALL::TriangulatedSurface::~TriangulatedSurface ( ) [virtual]

Destructor.

Destructs the TriangulatedSurface object.


Member Function Documentation

void BALL::TriangulatedSurface::blowUp ( const double & r )

Blow up th TriangulatedSurface.

All points are multiplied by a scalar r.

Parameters:
r the blow up factor

static TriangulatedSurface* BALL::TriangulatedSurface::createDisk ( unsigned int num_vertices,
bool out = true
) [static]

A static function that constructs a triangulated disk.

The disk lies in the x-y plane and has radius 1.

Parameters:
num_vertices The amount of vertices of which the border of the disk is composed
out Controls whether the normals of the tube are pointing up or downwards. Default: true

static TriangulatedSurface* BALL::TriangulatedSurface::createTube ( unsigned int num_vertices,
unsigned int subdiv = 0,
bool closed = false,
bool out = true
) [static]

A static function that constructs a triangulated tube.

The tube is oriented along the z-axis, starts at z=0, ends at z=1 and has radius 1

Parameters:
num_vertices The amount of vertices of which the base of the tube is composed
subdiv Controls the amount of subdivisions along the z-axis. Default: 0
closed Should the tube have opend or closed ends? Default: false
out Controls whether the normals of the tube are pointing in or outwards. Default: true

void BALL::TriangulatedSurface::cut ( const TPlane3< double > & plane,
const double & fuzzy = 0
)

Cut the TriangulatedSurface on a plane.

Parameters:
plane the plane to cut on
fuzzy

void BALL::TriangulatedSurface::exportSurface ( Surface & surface )

Create a Surface object from the TriangulatedeSurface.

Parameters:
surface the created Surface object

void BALL::TriangulatedSurface::getBorder ( std::list< TriangleEdge * > & border )

Get the border edges of the TriangulatedSurface.

Border edges are the edges with only one triangle.

Parameters:
border a list of the border edges

Size BALL::TriangulatedSurface::getNumberOfPoints ( ) const

Get the number of points of the TriangulatedSurface.

Deprecated:
Use TriangulatedSurface::getNumberOfPoints() instead

Size BALL::TriangulatedSurface::getNumberOfTriangles ( ) const

Get the number of triangles of the TriangulatedSurface.

Use TriangulatedSurface::getNumberOfTriangles() instead

void BALL::TriangulatedSurface::insert ( Triangle * triangle )

Insert a new triangle to the TriangulatedSurface.

Parameters:
triangle a pointer to the new triangle

void BALL::TriangulatedSurface::insert ( TriangleEdge * edge )

Insert a new edge to the TriangulatedSurface.

Parameters:
edge a pointer to the new edge

void BALL::TriangulatedSurface::insert ( TrianglePoint * point )

Insert a new point to the TriangulatedSurface.

Parameters:
point a pointer to the new point

void BALL::TriangulatedSurface::join ( TriangulatedSurface & source )

Add a TriangulatedSurface object.

The lists of points, edges and triangles of the given TriangulatedSurface objact are appended. After this operation, the given TriangulatedSurface objact will be empty!

Parameters:
source the TriangulatedSurface object to add

BALL_DEPRECATED Size BALL::TriangulatedSurface::numberOfEdges ( ) const

Get the number of edges of the TriangulatedSurface.

Deprecated:
Use TriangulatedSurface::getNumberOfEdges() instead

BALL_DEPRECATED Size BALL::TriangulatedSurface::numberOfPoints ( ) const

Get the number of points of the TriangulatedSurface.

Deprecated:
Use TriangulatedSurface::getNumberOfPoints() instead

BALL_DEPRECATED Size BALL::TriangulatedSurface::numberOfTriangles ( ) const

Get the number of triangles of the TriangulatedSurface.

Deprecated:
Use TriangulatedSurface::getNumberOfTriangles() instead

TriangulatedSurface& BALL::TriangulatedSurface::operator+= ( const TriangulatedSurface & surface )

Add a TriangulatedSurface object.

The lists of points, edges and triangles of the given TriangulatedSurface objact are appended. The given TriangulatedSurface objact will be unchanged.

Parameters:
surface the TriangulatedSurface object to add

TriangulatedSurface& BALL::TriangulatedSurface::operator= ( const TriangulatedSurface & surface )

Assign from another TriangulatedSurface.

Parameters:
surface the TriangulatedSurface object to assign from

void BALL::TriangulatedSurface::remove ( TriangleIterator t,
bool deep = true
)

Remove a triangle from the TriangulatedSurface.

If deep is true (not default) the incidence-structure will be updated.

Parameters:
t an iterator into the list of triangles of the TriangulatedSurface which indicates the triangle to delete
deep look above

void BALL::TriangulatedSurface::remove ( Triangle * triangle,
bool deep = true
)

Remove a triangle from the TriangulatedSurface.

If deep is true (not default) the incidence-structure will be updated.

Parameters:
triangle a pointer to the triangle to delete
deep look above

void BALL::TriangulatedSurface::remove ( EdgeIterator e,
bool deep = true
)

Remove an edge from the TriangulatedSurface.

If deep is true (not default) the incidence-structure will be updated.

Parameters:
e an iterator into the list of edges of the TriangulatedSurface which indicates the edge to delete
deep look above

void BALL::TriangulatedSurface::remove ( TriangleEdge * edge,
bool deep = true
)

Remove an edge from the TriangulatedSurface.

If deep is true (not default) the incidence-structure will be updated.

Parameters:
edge a pointer to the edge to delete
deep look above

void BALL::TriangulatedSurface::remove ( PointIterator p,
bool deep = true
)

Remove a point from the TriangulatedSurface.

If deep is true (default) the incidence-structure will be updated.

Parameters:
p an iterator into the list of points of the TriangulatedSurface which indicates the point to delete
deep look above

void BALL::TriangulatedSurface::remove ( TrianglePoint * point,
bool deep = true
)

Remove a point from the TriangulatedSurface.

If deep is true (default) the incidence-structure will be updated.

Parameters:
point a pointer to the point to delete
deep look above

void BALL::TriangulatedSurface::set ( const TriangulatedSurface & surface,
bool = true
)

Assign from another TriangulatedSurface.

Parameters:
surface the TriangulatedSurface object to assign from
bool ignored - just for interface consistency

void BALL::TriangulatedSurface::shift ( const TVector3< double > & c )

Shift the TriangulatedSurface.

All points are shifted by a vector c.

Parameters:
c the shift vector

Generated on Thu Aug 6 18:30:48 2009 for BALL by doxygen 1.5.8