BALL 1.5.0
Loading...
Searching...
No Matches
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, PositionKeyType
 
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.
 
typedef TVector3< floatNormal
 A normal.
 

Public Member Functions

Constructors and Destructors.
 TContourSurface ()
 Default constructor.
 
 TContourSurface (T threshold)
 Constructor with threshold.
 
 TContourSurface (const TContourSurface &surface)
 Copy constructor.
 
 TContourSurface (const TRegularData3D< T > &data, T threshold=0.0)
 Constructor for TRegularData3D.
 
virtual ~TContourSurface ()
 Destructor.
 
Assignment
const TContourSurfaceoperator= (const TContourSurface< T > &surface)
 Assignment operator.
 
const TContourSurface< T > & operator<< (const TRegularData3D< T > &data)
 Create a contour surface from a given data set.
 
virtual void clear ()
 Clear method.
 
- 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.
 
Size getNumberOfVertices () const
 Return the number of vertices.
 
Size getNumberOfNormals () const
 Return the number of normals.
 
Triangle & getTriangle (Position index)
 Return a triangle with a given index.
 
const Triangle & getTriangle (Position index) const
 Return a triangle with a given index.
 
void clearTriangles ()
 Clear all triangles.
 
void resizeTriangles (Size size)
 Resize the triangle array.
 
void pushBackTriangle (const Triangle &triangle)
 Add a triangle.
 
VertexgetVertex (Position index)
 Return the position of a vertex.
 
const VertexgetVertex (Position index) const
 Return the position of a vertex.
 
void clearVertices ()
 Clear all vertices.
 
void resizeVertices (Size size)
 Resize the vertex array.
 
void pushBackVertex (const Vertex &vertex)
 Add a vertex.
 
NormalgetNormal (Position index)
 Return the position of a normal.
 
const NormalgetNormal (Position index) const
 Return the position of a normal.
 
void clearNormals ()
 Clear all normals.
 
void resizeNormals (Size size)
 Resize the normal array.
 
void pushBackNormal (const Normal &n)
 Add a normal.
 
bool operator== (const TSurface &surface) const
 
bool operator!= (const TSurface &surface) const
 

Predicates

threshold_
 The threshold separating inside and outside.
 
HashMap< std::pair< Position, Position >, Positioncut_hash_map_
 
bool operator== (const TContourSurface< T > &surface) const
 Equality operator.
 
void addTriangles_ (Cube &cube, const FacetArray &facet_data)
 
void computeTriangles (Size topology, const TRegularData3D< T > &data)
 

Additional Inherited Members

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

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 44 of file contourSurface.h.

Member Typedef Documentation

◆ KeyType

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

Definition at line 55 of file contourSurface.h.

◆ PointType

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

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

Definition at line 60 of file contourSurface.h.

◆ VectorType

template<typename T >
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 65 of file contourSurface.h.

Constructor & Destructor Documentation

◆ TContourSurface() [1/4]

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

Default constructor.

Definition at line 253 of file contourSurface.h.

◆ TContourSurface() [2/4]

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

Constructor with threshold.

Definition at line 259 of file contourSurface.h.

◆ TContourSurface() [3/4]

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

Copy constructor.

Definition at line 277 of file contourSurface.h.

◆ TContourSurface() [4/4]

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

Constructor for TRegularData3D.

Definition at line 265 of file contourSurface.h.

◆ ~TContourSurface()

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

Destructor.

Definition at line 272 of file contourSurface.h.

Member Function Documentation

◆ addTriangles_()

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

Definition at line 379 of file contourSurface.h.

◆ clear()

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

Clear method.

Definition at line 283 of file contourSurface.h.

◆ computeTriangles()

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

◆ operator<<()

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 309 of file contourSurface.h.

◆ operator=()

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

Assignment operator.

Definition at line 290 of file contourSurface.h.

◆ operator==()

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

Equality operator.

Definition at line 302 of file contourSurface.h.

Member Data Documentation

◆ cut_hash_map_

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

Definition at line 246 of file contourSurface.h.

◆ threshold_

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

The threshold separating inside and outside.

Definition at line 243 of file contourSurface.h.