BALL::TSurface< T > Class Template Reference
[Surface in three-dimensional space.]

Generic Three-dimensional Surface class. More...

#include <surface.h>

Inheritance diagram for BALL::TSurface< T >:
Inheritance graph
[legend]

List of all members.


Public Types

Type definitions
typedef TVector3< T > Vertex
A vertex.
typedef TVector3< T > Normal
A normal.

Public Member Functions

Constructors and Destructors
TSurface ()
This is required for windows dlls.
TSurface (const TSurface &surface)
virtual ~TSurface ()
Assignment
void set (const TSurface &surface)
TSurface & operator= (const TSurface &surface)
void get (TSurface &surface) const
void clear ()
void readMSMSFile (const String &vert_filename, const String &face_filename) throw (Exception::FileNotFound)
Read from MSMS file.
Accessors
float getArea () const
Compute the surface area.
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.
Vertex & getVertex (Position index)
Return the position of a vertex.
const Vertex & getVertex (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.
Normal & getNormal (Position index)
Return the position of a normal.
const Normal & getNormal (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.
Predicates
bool operator== (const TSurface &surface) const
bool operator!= (const TSurface &surface) const

Public Attributes

Attributes
vector< Vertex > vertex
the vertices
vector< Normal > normal
the normals for each vertex
vector< Triangle > triangle
the triangles

Detailed Description

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

Generic Three-dimensional Surface class.

This class describes a three-dimensional triangulated surface. Each triangle is represented by three indices to vertices (as described by the TSurface::Triangle ). Each of the vertices has a position and possibly a normal vector associated.


Member Function Documentation

template<typename T >
float BALL::TSurface< T >::getArea ( ) const

Compute the surface area.

The area is computed as the sum of the areas of all triangles.

References BALL::TSurface< T >::triangle, and BALL::TSurface< T >::vertex.

template<typename T >
void BALL::TSurface< T >::readMSMSFile ( const String & vert_filename,
const String & face_filename
) throw (Exception::FileNotFound)

Read from MSMS file.

Read the contents of the vertex and faces file created by Michael Sanners software MSMS.

References BALL::String::countFields(), BALL::String::getline(), and BALL::String::split().


Generated on Thu Aug 6 18:30:35 2009 for BALL by doxygen 1.5.8