BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Protected Member Functions | Protected Attributes | List of all members
BALL::TContourSurface< T > Class Template Reference

#include <BALL/DATATYPE/contourSurface.h>

Inheritance diagram for BALL::TContourSurface< T >:
BALL::TSurface< float >

Classes

class  Cube
 

Public Types

Type definitions
typedef std::pair< Position,
Position
KeyType
 
typedef Vector3 PointType
 
typedef std::vector< std::pair
< PointType, std::pair
< Position, Position > > > 
VectorType
 
- Public Types inherited from BALL::TSurface< float >
typedef TVector3< floatVertex
 A vertex. More...
 
typedef TVector3< floatNormal
 A normal. More...
 

Public Member Functions

Constructors and Destructors.
 TContourSurface ()
 Default constructor. More...
 
 TContourSurface (T threshold)
 Constructor with threshold. More...
 
 TContourSurface (const TContourSurface &surface)
 Copy constructor. More...
 
 TContourSurface (const TRegularData3D< T > &data, T threshold=0.0)
 Constructor for TRegularData3D. More...
 
virtual ~TContourSurface ()
 Destructor. More...
 
Assignment
const TContourSurfaceoperator= (const TContourSurface< T > &surface)
 Assignment operator. More...
 
const TContourSurface< T > & operator<< (const TRegularData3D< T > &data)
 Create a contour surface from a given data set. More...
 
virtual void clear ()
 Clear method. More...
 
Predicates
bool operator== (const TContourSurface< T > &surface) const
 Equality operator. More...
 
- Public Member Functions inherited from BALL::TSurface< float >
 TSurface ()
 
 TSurface (const TSurface &surface)
 
virtual ~TSurface ()
 
void set (const TSurface &surface)
 
TSurfaceoperator= (const TSurface &surface)
 
void get (TSurface &surface) const
 
void clear ()
 
void readMSMSFile (const String &vert_filename, const String &face_filename)
 
float getArea () const
 
Size getNumberOfTriangles () const
 Return the number of triangles. More...
 
Size getNumberOfVertices () const
 Return the number of vertices. More...
 
Size getNumberOfNormals () const
 Return the number of normals. More...
 
TrianglegetTriangle (Position index)
 Return a triangle with a given index. More...
 
const TrianglegetTriangle (Position index) const
 Return a triangle with a given index. More...
 
void clearTriangles ()
 Clear all triangles. More...
 
void resizeTriangles (Size size)
 Resize the triangle array. More...
 
void pushBackTriangle (const Triangle &triangle)
 Add a triangle. More...
 
VertexgetVertex (Position index)
 Return the position of a vertex. More...
 
const VertexgetVertex (Position index) const
 Return the position of a vertex. More...
 
void clearVertices ()
 Clear all vertices. More...
 
void resizeVertices (Size size)
 Resize the vertex array. More...
 
void pushBackVertex (const Vertex &vertex)
 Add a vertex. More...
 
NormalgetNormal (Position index)
 Return the position of a normal. More...
 
const NormalgetNormal (Position index) const
 Return the position of a normal. More...
 
void clearNormals ()
 Clear all normals. More...
 
void resizeNormals (Size size)
 Resize the normal array. More...
 
void pushBackNormal (const Normal &n)
 Add a normal. More...
 
bool operator== (const TSurface &surface) const
 
bool operator!= (const TSurface &surface) const
 

Protected Member Functions

void addTriangles_ (Cube &cube, const FacetArray &facet_data)
 
void computeTriangles (Size topology, const TRegularData3D< T > &data)
 

Protected Attributes

threshold_
 The threshold separating inside and outside. More...
 
HashMap< std::pair< Position,
Position >, Position
cut_hash_map_
 

Additional Inherited Members

- Public Attributes inherited from BALL::TSurface< float >
vector< Vertexvertex
 the vertices More...
 
vector< Normalnormal
 the normals for each vertex More...
 
vector< Triangletriangle
 the triangles More...
 

Detailed Description

template<typename T>
class BALL::TContourSurface< T >

This class contains a contour surface. Contour surfaces are created from 3D (volume) data sets, in general from data sets store in RegularData3D using a marching cube algorithm.

Definition at line 57 of file contourSurface.h.

Member Typedef Documentation

template<typename T>
typedef std::pair<Position, Position> BALL::TContourSurface< T >::KeyType

Definition at line 68 of file contourSurface.h.

template<typename T>
typedef Vector3 BALL::TContourSurface< T >::PointType

The point type. This type is used to store points in the 3-d regularData.

Definition at line 73 of file contourSurface.h.

template<typename T>
typedef std::vector<std::pair<PointType, std::pair<Position, Position> > > BALL::TContourSurface< T >::VectorType

The vector type. This type is used to store the edge points of the contour-Surface.

Definition at line 78 of file contourSurface.h.

Constructor & Destructor Documentation

template<typename T >
BALL::TContourSurface< T >::TContourSurface ( )

Default constructor.

Definition at line 266 of file contourSurface.h.

template<typename T >
BALL::TContourSurface< T >::TContourSurface ( threshold)

Constructor with threshold.

Definition at line 272 of file contourSurface.h.

template<typename T >
BALL::TContourSurface< T >::TContourSurface ( const TContourSurface< T > &  surface)

Copy constructor.

Definition at line 290 of file contourSurface.h.

template<typename T >
BALL::TContourSurface< T >::TContourSurface ( const TRegularData3D< T > &  data,
threshold = 0.0 
)

Constructor for TRegularData3D.

Definition at line 278 of file contourSurface.h.

template<typename T >
BALL::TContourSurface< T >::~TContourSurface ( )
virtual

Destructor.

Definition at line 285 of file contourSurface.h.

Member Function Documentation

template<typename T>
void BALL::TContourSurface< T >::addTriangles_ ( Cube cube,
const FacetArray facet_data 
)
protected

Definition at line 393 of file contourSurface.h.

template<typename T >
void BALL::TContourSurface< T >::clear ( )
virtual

Clear method.

Definition at line 296 of file contourSurface.h.

template<typename T>
void BALL::TContourSurface< T >::computeTriangles ( Size  topology,
const TRegularData3D< T > &  data 
)
protected
template<typename T >
const TContourSurface< T > & BALL::TContourSurface< T >::operator<< ( const TRegularData3D< T > &  data)

Create a contour surface from a given data set.

Definition at line 322 of file contourSurface.h.

template<typename T >
const TContourSurface< T > & BALL::TContourSurface< T >::operator= ( const TContourSurface< T > &  surface)

Assignment operator.

Definition at line 303 of file contourSurface.h.

template<typename T >
bool BALL::TContourSurface< T >::operator== ( const TContourSurface< T > &  surface) const

Equality operator.

Definition at line 315 of file contourSurface.h.

Member Data Documentation

template<typename T>
HashMap<std::pair<Position, Position>, Position> BALL::TContourSurface< T >::cut_hash_map_
protected

Definition at line 259 of file contourSurface.h.

template<typename T>
T BALL::TContourSurface< T >::threshold_
protected

The threshold separating inside and outside.

Definition at line 256 of file contourSurface.h.