Examples

# How to handle the mesh class

back to menu
back to Mesh class
example 1
example 2

## Example 1 : loading, expanding and saving a mesh

double scale;
//loading the mesh
Mesh m;
m.load("mesh.off");
//expanding the mesh
for (list<Mpoint*>::iterator i = m._points.begin(); i!=m._points.end(); i++ )
{
Vec normal = (*i)->local_normal();
(*i)->_update_coord = (*i)->get_coord() + (normal * scale);
}
m.update();
//testing for self intersection
if (m.real_self_intersection()) cerr<<"error : mesh is self intersecting"<<endl;
//saving mesh
m.save("output.off");
back to menu

## Example 2 : creating a mesh by tesselating a tetrahedron, moving it, and giving a good orientation to triangles

//creating the mesh
Mesh m;
make_mesh_from_tetra(5, m);
double scale_factor = 2;
Pt center(1.5, 2, 3);
Vec translation_vector(0, 13, 5.17);
//translating and rescaling the mesh
m.translation(translation_vector);
m.rescale(scale_factor, center);
//giving a good orientation to triangle
m.reorientate();
//note this is useless here since make_mesh_from_tetra already gives a uniform orientation to the triangles
back to menu