BALL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | List of all members
BALL::TriangulatedSphere Class Reference

#include <BALL/STRUCTURE/triangulatedSurface.h>

Inheritance diagram for BALL::TriangulatedSphere:
BALL::TriangulatedSurface

Classes

struct  Face

Public Member Functions

Constructors and Destructors
 TriangulatedSphere ()
 TriangulatedSphere (const TriangulatedSphere &sphere, bool=true)
virtual ~TriangulatedSphere ()
Assignment
void set (const TriangulatedSphere &sphere, bool=true)
TriangulatedSphereoperator= (const TriangulatedSphere &sphere)
- Public Member Functions inherited from BALL::TriangulatedSurface
 TriangulatedSurface ()
 TriangulatedSurface (const TriangulatedSurface &surface, bool=true)
virtual ~TriangulatedSurface ()
void clear ()
void set (const TriangulatedSurface &surface, bool=true)
TriangulatedSurfaceoperator= (const TriangulatedSurface &surface)
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)
TriangulatedSurfaceoperator+= (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)
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

Accessors

void icosaeder (bool out=true)
void pentakisDodecaeder (bool out=true)
void refine (Position iterations, bool out=true)
void refine (bool out)
void buildFourTriangles (Face face, Triangle *face0, Triangle *face1, Triangle *face2, Triangle *face3)
void setIncidences ()

Additional Inherited Members

- Public Types inherited from BALL::TriangulatedSurface
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
- Static Public Member Functions inherited from BALL::TriangulatedSurface
static TriangulatedSurfacecreateTube (unsigned int num_vertices, unsigned int subdiv=0, bool closed=false, bool out=true)
static TriangulatedSurfacecreateDisk (unsigned int num_vertices, bool out=true)
- Protected Member Functions inherited from BALL::TriangulatedSurface
bool canBeCopied () const
void copy (const TriangulatedSurface &surface)
- Protected Attributes inherited from BALL::TriangulatedSurface
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_

Detailed Description

Generic TriangulatedSphere Class.

Definition at line 402 of file triangulatedSurface.h.

Constructor & Destructor Documentation

BALL::TriangulatedSphere::TriangulatedSphere ( )

Default constructor. This method creates a new TriangulatedSphere object.

BALL::TriangulatedSphere::TriangulatedSphere ( const TriangulatedSphere sphere,
bool  = true 
)

Copy constructor. Create a new TriangulatedSphere object from another.

Parameters
spherethe TriangulatedSphere object to be copied
boolignored - just for interface consistency
virtual BALL::TriangulatedSphere::~TriangulatedSphere ( )
virtual

Destructor. Destructs the TriangulatedSphere object.

Member Function Documentation

void BALL::TriangulatedSphere::buildFourTriangles ( Face  face,
Triangle face0,
Triangle face1,
Triangle face2,
Triangle face3 
)
private
void BALL::TriangulatedSphere::icosaeder ( bool  out = true)

Build an icosaeder. If the TriangulatedSphere is not empty, it will be cleared first. The center of the icosaeder will be the origin, the radius will be 1.

Parameters
outif out = true the normal vectors will be oriented outside, otherwise they will be oriented inside
TriangulatedSphere& BALL::TriangulatedSphere::operator= ( const TriangulatedSphere sphere)

Assign from another TriangulatedSphere.

Parameters
spherethe TriangulatedSphere object to assign from
void BALL::TriangulatedSphere::pentakisDodecaeder ( bool  out = true)

Build a pentakis dodecaeder. If the TriangulatedSphere is not empty, it will be cleared first. The center of the dodecaeder will be the origin, the radius will be 1.

Parameters
outif out = true the normal vectors will be oriented outside, otherwise they will be oriented inside
void BALL::TriangulatedSphere::refine ( Position  iterations,
bool  out = true 
)

Refine a triangulated sphere. The center of the sphere must be the origin, the radius must be 1.

Parameters
iterationsthe number of refinement iterations
outthe orientation of the normal vectors
void BALL::TriangulatedSphere::refine ( bool  out)
private
void BALL::TriangulatedSphere::set ( const TriangulatedSphere sphere,
bool  = true 
)

Assign from another TriangulatedSphere.

Parameters
spherethe TriangulatedSphere object to assign from
boolignored - just for interface consistency
void BALL::TriangulatedSphere::setIncidences ( )
private