A.I.M.S


AimsSurface< D, T > Class Template Reference

The template class to manage a mesh. More...

#include <aims/mesh/surface.h>

Inheritance diagram for AimsSurface< D, T >:
Collaboration diagram for AimsSurface< D, T >:

Public Member Functions

 AimsSurface ()
 Constructor does nothing special. More...
 
virtual ~AimsSurface ()
 Destructor does nothing. More...
 
const std::vector< Point3df > & vertex () const
 Get a const reference to the vector of vertices. More...
 
std::vector< Point3df > & vertex ()
 Get a non const reference to the vector of verteces. More...
 
const std::vector< Point3df > & normal () const
 Get a const reference to the vector of normals. More...
 
std::vector< Point3df > & normal ()
 Get a non const reference to the vector of normals. More...
 
const std::vector< T > & texture () const
 Get a const reference to the vector of textures. More...
 
std::vector< T > & texture ()
 Get a non const reference to the vector of textures. More...
 
const std::vector< AimsVector
< uint, D > > & 
polygon () const
 Get a const reference to the vector of polygons. More...
 
std::vector< AimsVector< uint,
D > > & 
polygon ()
 Get a non const reference to the vector of polygons. More...
 
Point3df minimum () const
 Get the inferior point of the box containing the mesh. More...
 
Point3df maximum () const
 Get the superior point of the box containing the mesh. More...
 
void setMini ()
 Calculate the inferior point of the box containing the mesh. More...
 
void setMaxi ()
 Calculate the superior point of the box containing the mesh. More...
 
void erase ()
 Clear the mesh. More...
 
void updateNormals ()
 Update/Compute the normals. More...
 
template<>
void updateNormals ()
 
template<>
void updateNormals ()
 

Protected Types

typedef std::vector
< AimsVector< uint, D > > 
Polygons
 Vector of polygons. More...
 

Protected Attributes

std::vector< Point3df_vertex
 Vector of vertices. More...
 
std::vector< Point3df_normal
 Vector of normals. More...
 
std::vector< T > _texture
 Vector of textures. More...
 
Polygons _polygon
 
Point3df _mini
 Inferior point of a box containing the whole mesh in the 3D space. More...
 
Point3df _maxi
 Superior point of a box containing the whole mesh in the 3D space. More...
 

Friends

std::ostream & operator<< (std::ostream &out, const AimsSurface< D, T > &thing)
 Output stream operator. More...
 

Detailed Description

template<int D, class T = Void>
class AimsSurface< D, T >

The template class to manage a mesh.

The first template argument gives the dimension of the polygons of the mesh. The second template argument provides the type of the texture information.

Definition at line 56 of file surface.h.

Member Typedef Documentation

template<int D, class T = Void>
typedef std::vector< AimsVector< uint, D > > AimsSurface< D, T >::Polygons
protected

Vector of polygons.

Definition at line 78 of file surface.h.

Constructor & Destructor Documentation

template<int D, class T = Void>
AimsSurface< D, T >::AimsSurface ( )
inline

Constructor does nothing special.

Definition at line 88 of file surface.h.

template<int D, class T = Void>
virtual AimsSurface< D, T >::~AimsSurface ( )
inlinevirtual

Destructor does nothing.

Definition at line 90 of file surface.h.

Member Function Documentation

template<int D, class T >
void AimsSurface< D, T >::erase ( )
inline

Clear the mesh.

Definition at line 167 of file surface.h.

template<int D, class T = Void>
Point3df AimsSurface< D, T >::maximum ( ) const
inline

Get the superior point of the box containing the mesh.

Definition at line 116 of file surface.h.

template<int D, class T = Void>
Point3df AimsSurface< D, T >::minimum ( ) const
inline

Get the inferior point of the box containing the mesh.

Definition at line 114 of file surface.h.

template<int D, class T = Void>
const std::vector<Point3df>& AimsSurface< D, T >::normal ( ) const
inline
template<int D, class T = Void>
std::vector<Point3df>& AimsSurface< D, T >::normal ( )
inline

Get a non const reference to the vector of normals.

Definition at line 100 of file surface.h.

template<int D, class T = Void>
std::vector< AimsVector<uint,D> >& AimsSurface< D, T >::polygon ( )
inline

Get a non const reference to the vector of polygons.

Definition at line 111 of file surface.h.

template<int D, class T >
void AimsSurface< D, T >::setMaxi ( )
inline

Calculate the superior point of the box containing the mesh.

Definition at line 152 of file surface.h.

template<int D, class T >
void AimsSurface< D, T >::setMini ( )
inline

Calculate the inferior point of the box containing the mesh.

Definition at line 137 of file surface.h.

template<int D, class T = Void>
const std::vector<T>& AimsSurface< D, T >::texture ( ) const
inline

Get a const reference to the vector of textures.

Definition at line 103 of file surface.h.

Referenced by aims::MeshReader< D, T >::read(), and aims::GiftiMeshFormat< D, T >::write().

template<int D, class T = Void>
std::vector<T>& AimsSurface< D, T >::texture ( )
inline

Get a non const reference to the vector of textures.

Definition at line 105 of file surface.h.

template<int D, class T >
void AimsSurface< D, T >::updateNormals ( )
inline

Update/Compute the normals.

Definition at line 177 of file surface.h.

Referenced by aims::GiftiMeshFormat< D, T >::read(), and aims::MeshReader< D, T >::read().

template<>
void AimsSurface< 3, Void >::updateNormals ( )
inline

Definition at line 185 of file surface.h.

References crossed(), and norm().

template<>
void AimsSurface< 4, Void >::updateNormals ( )
inline

Definition at line 221 of file surface.h.

References crossed(), and norm().

template<int D, class T = Void>
std::vector<Point3df>& AimsSurface< D, T >::vertex ( )
inline

Get a non const reference to the vector of verteces.

Definition at line 95 of file surface.h.

Friends And Related Function Documentation

template<int D, class T = Void>
std::ostream& operator<< ( std::ostream &  out,
const AimsSurface< D, T > &  thing 
)
friend

Output stream operator.

Definition at line 274 of file surface.h.

Member Data Documentation

template<int D, class T = Void>
Point3df AimsSurface< D, T >::_maxi
protected

Superior point of a box containing the whole mesh in the 3D space.

Definition at line 84 of file surface.h.

template<int D, class T = Void>
Point3df AimsSurface< D, T >::_mini
protected

Inferior point of a box containing the whole mesh in the 3D space.

Definition at line 82 of file surface.h.

template<int D, class T = Void>
std::vector< Point3df > AimsSurface< D, T >::_normal
protected

Vector of normals.

Definition at line 74 of file surface.h.

template<int D, class T = Void>
Polygons AimsSurface< D, T >::_polygon
protected

Definition at line 79 of file surface.h.

template<int D, class T = Void>
std::vector< T > AimsSurface< D, T >::_texture
protected

Vector of textures.

Definition at line 76 of file surface.h.

template<int D, class T = Void>
std::vector< Point3df > AimsSurface< D, T >::_vertex
protected

Vector of vertices.

Definition at line 72 of file surface.h.


The documentation for this class was generated from the following file: