The sample implementation library is a set of template class utilities provided for convenience implementing basic meshes. They are used by some sample programs to create synthetic meshes for the purpose of the demo.
All sample implementation classes start with the Mb prefix.
Most mesh interfaces are implemented in this library. For instance MiVolumeMeshRegular is implemented by MbVolumeMeshRegular.
The most interesting classes in the sample implementation library are probably the cell classes. These classes show how to implement the most complex interface by using the cell utility classes.
For instance, the MbHexahedronCell class contains the following implementation of one of the cell methods:
//Reimplemented from MiCell virtual MbVec3d getIsoParametricCoord(const MiGeometryI& meshGeometry, const MbVec3d &point) const { return MxHexahedronCellExtract::getIsoParametricCoord(meshGeometry,this,point); }
Where the MxHexahedronCellExtract static class is used to compute the requested parametric coordinates. Another important point in these cell implementations is that they show exactly the topology organization expected by the MeshViz interface algorithms. Sample implementation classes are template classes. The template parameters are often the data type used for storing the geometry and the data sets.