BALL  1.4.2
 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