#include <BALL/STRUCTURE/triangulatedSurface.h>
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 () | |
| TriangulatedSurface (const TriangulatedSurface &surface, bool=true) | |
| virtual | ~TriangulatedSurface () |
Assignment | |
| void | clear () |
| void | set (const TriangulatedSurface &surface, bool=true) |
| TriangulatedSurface & | operator= (const TriangulatedSurface &surface) |
Accessors | |
| void | insert (TrianglePoint *point) |
| void | insert (TriangleEdge *edge) |
| void | insert (Triangle *triangle) |
| BALL_DEPRECATED Size | numberOfPoints () const |
| Size | getNumberOfPoints () const |
| BALL_DEPRECATED Size | numberOfEdges () const |
| Size | getNumberOfEdges () const |
| BALL_DEPRECATED Size | numberOfTriangles () const |
| Size | getNumberOfTriangles () const |
| void | remove (TrianglePoint *point, bool deep=true) |
| void | remove (PointIterator p, bool deep=true) |
| void | remove (TriangleEdge *edge, bool deep=true) |
| void | remove (EdgeIterator e, bool deep=true) |
| void | remove (Triangle *triangle, bool deep=true) |
| void | remove (TriangleIterator t, bool deep=true) |
| void | exportSurface (Surface &surface) |
| TriangulatedSurface & | operator+= (const TriangulatedSurface &surface) |
| void | join (TriangulatedSurface &source) |
| void | shift (const TVector3< double > &c) |
| void | blowUp (const double &r) |
| void | setIndices () |
| void | setDensity (const double &density) |
| double | getDensity () const |
| void | cut (const TPlane3< double > &plane, const double &fuzzy=0) |
| void | shrink () |
| void | deleteIsolatedEdges () |
| void | deleteIsolatedPoints () |
| void | getBorder (std::list< TriangleEdge * > &border) |
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) |
| static TriangulatedSurface * | createDisk (unsigned int num_vertices, bool out=true) |
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_ |
| double | density_ |
Generic TriangulatedSurface Class.
| typedef std::list<TriangleEdge*>::const_iterator BALL::TriangulatedSurface::ConstEdgeIterator |
| typedef std::list<TrianglePoint*>::const_iterator BALL::TriangulatedSurface::ConstPointIterator |
| typedef std::list<Triangle*>::const_iterator BALL::TriangulatedSurface::ConstTriangleIterator |
| typedef std::list<TriangleEdge*>::iterator BALL::TriangulatedSurface::EdgeIterator |
| typedef std::list<TrianglePoint*>::iterator BALL::TriangulatedSurface::PointIterator |
| typedef std::list<Triangle*>::iterator BALL::TriangulatedSurface::TriangleIterator |
| 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.
| surface | the TriangulatedSurface object to be copied | |
| bool | ignored - just for interface consistency |
| virtual BALL::TriangulatedSurface::~TriangulatedSurface | ( | ) | [virtual] |
Destructor. Destructs the TriangulatedSurface object.
| ConstEdgeIterator BALL::TriangulatedSurface::beginEdge | ( | ) | const |
| EdgeIterator BALL::TriangulatedSurface::beginEdge | ( | ) |
| ConstPointIterator BALL::TriangulatedSurface::beginPoint | ( | ) | const |
| PointIterator BALL::TriangulatedSurface::beginPoint | ( | ) |
| ConstTriangleIterator BALL::TriangulatedSurface::beginTriangle | ( | ) | const |
| TriangleIterator BALL::TriangulatedSurface::beginTriangle | ( | ) |
| void BALL::TriangulatedSurface::blowUp | ( | const double & | r | ) |
Blow up th TriangulatedSurface. All points are multiplied by a scalar r.
| r | the blow up factor |
| bool BALL::TriangulatedSurface::canBeCopied | ( | ) | const [protected] |
| void BALL::TriangulatedSurface::clear | ( | ) |
Delete all points, edges and triangles.
| void BALL::TriangulatedSurface::copy | ( | const TriangulatedSurface & | surface | ) | [protected] |
| 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.
| 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
| 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 |
Cut the TriangulatedSurface on a plane.
| plane | the plane to cut on | |
| fuzzy |
| void BALL::TriangulatedSurface::deleteIsolatedEdges | ( | ) |
Delete all isolated edges of the TriangulatedSurface
| void BALL::TriangulatedSurface::deleteIsolatedPoints | ( | ) |
Delete all isolated points of the TriangulatedSurface
| ConstEdgeIterator BALL::TriangulatedSurface::endEdge | ( | ) | const |
| EdgeIterator BALL::TriangulatedSurface::endEdge | ( | ) |
| ConstPointIterator BALL::TriangulatedSurface::endPoint | ( | ) | const |
| PointIterator BALL::TriangulatedSurface::endPoint | ( | ) |
| ConstTriangleIterator BALL::TriangulatedSurface::endTriangle | ( | ) | const |
| TriangleIterator BALL::TriangulatedSurface::endTriangle | ( | ) |
| void BALL::TriangulatedSurface::exportSurface | ( | Surface & | surface | ) |
Create a Surface object from the TriangulatedeSurface.
| 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.
| border | a list of the border edges |
| double BALL::TriangulatedSurface::getDensity | ( | ) | const |
Get the density used by triangulation algorithms.
Reimplemented in BALL::TriangulatedSAS, and BALL::TriangulatedSES.
| Size BALL::TriangulatedSurface::getNumberOfEdges | ( | ) | const |
Get the number of edges of the TriangulatedSurface.
| Size BALL::TriangulatedSurface::getNumberOfPoints | ( | ) | const |
Get the number of points of the TriangulatedSurface.
| 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.
| triangle | a pointer to the new triangle |
| void BALL::TriangulatedSurface::insert | ( | TriangleEdge * | edge | ) |
Insert a new edge to the TriangulatedSurface.
| edge | a pointer to the new edge |
| void BALL::TriangulatedSurface::insert | ( | TrianglePoint * | point | ) |
Insert a new point to the TriangulatedSurface.
| 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!
| source | the TriangulatedSurface object to add |
| BALL_DEPRECATED Size BALL::TriangulatedSurface::numberOfEdges | ( | ) | const |
Get the number of edges of the TriangulatedSurface.
| BALL_DEPRECATED Size BALL::TriangulatedSurface::numberOfPoints | ( | ) | const |
Get the number of points of the TriangulatedSurface.
| BALL_DEPRECATED Size BALL::TriangulatedSurface::numberOfTriangles | ( | ) | const |
Get the number of triangles of the TriangulatedSurface.
| 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.
| surface | the TriangulatedSurface object to add |
| TriangulatedSurface& BALL::TriangulatedSurface::operator= | ( | const TriangulatedSurface & | surface | ) |
Assign from another TriangulatedSurface.
| 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.
| t | an iterator into the list of triangles of the TriangulatedSurface which indicates the triangle to delete | |
| deep | look above |
Remove a triangle from the TriangulatedSurface. If deep is true (not default) the incidence-structure will be updated.
| 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.
| 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.
| 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.
| 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.
| point | a pointer to the point to delete | |
| deep | look above |
| void BALL::TriangulatedSurface::set | ( | const TriangulatedSurface & | surface, | |
| bool | = true | |||
| ) |
Assign from another TriangulatedSurface.
| surface | the TriangulatedSurface object to assign from | |
| bool | ignored - just for interface consistency |
| void BALL::TriangulatedSurface::setDensity | ( | const double & | density | ) |
Set the density used by triangulation algorithms.
Reimplemented in BALL::TriangulatedSAS, and BALL::TriangulatedSES.
| void BALL::TriangulatedSurface::setIndices | ( | ) |
Set the indices of all points, edges and triangles.
Shift the TriangulatedSurface. All points are shifted by a vector c.
| c | the shift vector |
| void BALL::TriangulatedSurface::shrink | ( | ) |
Delete all triangles on the border of the TriangulatedSurface
double BALL::TriangulatedSurface::density_ [protected] |
Reimplemented in BALL::TriangulatedSAS, and BALL::TriangulatedSES.
std::list<TriangleEdge*> BALL::TriangulatedSurface::edges_ [protected] |
Size BALL::TriangulatedSurface::number_of_edges_ [protected] |
Size BALL::TriangulatedSurface::number_of_points_ [protected] |
Size BALL::TriangulatedSurface::number_of_triangles_ [protected] |
std::list<TrianglePoint*> BALL::TriangulatedSurface::points_ [protected] |
std::list<Triangle*> BALL::TriangulatedSurface::triangles_ [protected] |