#include <surface.h>
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 |
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.
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.
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().