Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members

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

Generic Three-dimensional Surface class. More...

#include <surface.h>

Inheritance diagram for TSurface< T >:

TContourSurface< T > VIEW::Mesh 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 (const TSurface &surface) throw ()
Assignment
void set (const TSurface &surface) throw ()
TSurfaceoperator= (const TSurface &surface) throw ()
void get (TSurface &surface) const throw ()
void clear () throw ()
void readMSMSFile (const String &vert_filename, const String &face_filename) throw (Exception::FileNotFound)
 Read from MSMS file.
Accessors
float getArea () const throw ()
 Compute the surface area.
Size getNumberOfTriangles () const throw ()
 Return the number of triangles.
Size getNumberOfVertices () const throw ()
 Return the number of vertices.
Size getNumberOfNormals () const throw ()
 Return the number of normals.
Triangle & getTriangle (Position index) throw ()
 Return a triangle with a given index.
const Triangle & getTriangle (Position index) const throw ()
 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) throw ()
 Add a triangle.
VertexgetVertex (Position index) throw ()
 Return the position of a vertex.
const VertexgetVertex (Position index) const throw ()
 Return the position of a vertex.
void clearVertices ()
 Clear all vertices.
void resizeVertices (Size size)
 Resize the vertex array.
void pushBackVertex (const Vertex &vertex) throw ()
 Add a vertex.
NormalgetNormal (Position index) throw ()
 Return the position of a normal.
const NormalgetNormal (Position index) const throw ()
 Return the position of a normal.
void clearNormals ()
 Clear all normals.
void resizeNormals (Size size)
 Resize the normal array.
void pushBackNormal (const Normal &n) throw ()
 Add a normal.
Predicates
bool operator== (const TSurface &surface) const throw ()
bool operator!= (const TSurface &surface) const throw ()

Public Attributes

Attributes
vector< Vertexvertex
 the vertices
vector< Normalnormal
 the normals for each vertex
vector< Triangle > triangle
 the triangles

Detailed Description

template<typename T>
class 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 TSurface< T >::getArea  )  const throw ()
 

Compute the surface area.

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

template<typename T>
void 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.