Utility class that creates synthetic meshes for testing purpose.
More...
#include <MeshVizXLM/mesh/MbSampleMeshBuilder.h>
Public Member Functions | |
MbSampleMeshBuilder () | |
virtual | ~MbSampleMeshBuilder () |
MbVolumeMeshTetrahedron < _Vec3T, _ScalarT, _Vec3T > & | getMeshTetrahedron () |
MbVolumeMeshTetrahedron < _Vec3T, _ScalarT, _Vec3T > & | getMeshTetrahedron (const MbVec3< size_t > &dim, const _Vec3T &min, const _Vec3T &max, double rotations[3]=NULL, const MbVec3< size_t > roi[2]=NULL) |
MbVolumeMeshHexahedron< _Vec3T, _ScalarT, _Vec3T > & | getMeshHexahedron (const MbVec3< size_t > &dim, const _Vec3T &min, const _Vec3T &max, double rotations[3]=NULL, const MbVec3< size_t > roi[2]=NULL) |
MbVolumeMeshRegular< _ScalarT, _ScalarT, _Vec3T > & | getVolumeMeshRegular (const MbVec3< size_t > &dim, const _Vec3T &min, const _Vec3T &max) |
template<MiMeshIjk::StorageLayout _LAYOUT> | |
MbVolumeMeshRegular< _ScalarT, _ScalarT, _Vec3T, _LAYOUT > & | getVolumeMeshRegular (const MbVec3< size_t > &dim, const _Vec3T &min, const _Vec3T &max) |
MbVolumeMeshRectilinear < _ScalarT, _ScalarT, _Vec3T > & | getVolumeMeshRectilinear (const MbVec3< size_t > &dim, const _Vec3T &min, const _Vec3T &max) |
template<MiMeshIjk::StorageLayout _LAYOUT> | |
MbVolumeMeshRectilinear < _ScalarT, _ScalarT, _Vec3T, _LAYOUT > & | getVolumeMeshRectilinear (const MbVec3< size_t > &dim, const _Vec3T &min, const _Vec3T &max) |
MbVolumeMeshCurvilinear < _Vec3T, _ScalarT, _Vec3T > & | getVolumeMeshCurvilinear (const MbVec3< size_t > &dim, const _Vec3T &min, const _Vec3T &max) |
template<MiMeshIjk::StorageLayout _LAYOUT> | |
MbVolumeMeshCurvilinear < _Vec3T, _ScalarT, _Vec3T, _LAYOUT > & | getVolumeMeshCurvilinear (const MbVec3< size_t > &dim, const _Vec3T &min, const _Vec3T &max) |
MbHexahedronMeshIjk< _Vec3T, _ScalarT, _Vec3T > & | getHexahedronMeshIjk (const MbVec3< size_t > &dim, const _Vec3T &min, const _Vec3T &max, double rotations[3]=NULL) |
template<MiMeshIjk::StorageLayout layout> | |
MbHexahedronMeshIjk< _Vec3T, _ScalarT, _Vec3T, layout > & | getHexahedronMeshIjk (const MbVec3< size_t > &dim, const _Vec3T &min, const _Vec3T &max, MbVec3< size_t > nbFaults, double rotations[3]=NULL, bool optimized=true) |
template<MiMeshIjk::StorageLayout layout> | |
MbVertexHexahedronMeshIjk < _Vec3T, _ScalarT, _Vec3T, layout > & | getVertexHexahedronMeshIjk (const MbVec3< size_t > &dim, const _Vec3T &min, const _Vec3T &max, MbVec3< size_t > nbFaults, double rotations[3]=NULL, bool optimized=true) |
MbSurfaceMeshQuadrangle < _Vec3T, _ScalarT, _Vec3T > & | getSurfaceMeshQuadrangle (size_t numCellI, size_t numCellJ, const _Vec3T &origin, const _Vec3T &stepVecI, const _Vec3T &stepVecJ) |
MbSurfaceMeshQuadrangle < _Vec3T, _ScalarT, _Vec3T > & | getSurfaceMeshQuadrangle (size_t numCellI, size_t numCellJ, std::vector< _Vec3T > &coords) |
MbSurfaceMeshRegular< _ScalarT, _ScalarT, _Vec3T > & | getSurfaceMeshRegular (size_t numCellI, size_t numCellJ, const _Vec3T &min, const _Vec3T &max) |
MbSurfaceMeshRectilinear < _ScalarT, _ScalarT, _Vec3T > & | getSurfaceMeshRectilinear (size_t numCellI, size_t numCellJ, _ScalarT minX, _ScalarT minY, _ScalarT maxX, _ScalarT maxY) |
MbSurfaceMeshRectilinear < _ScalarT, _ScalarT, _Vec3T > & | getSurfaceMeshRectilinear (size_t numCellI, size_t numCellJ, std::vector< _ScalarT > &coordsX, std::vector< _ScalarT > &coordsY) |
MbSurfaceMeshCurvilinear < _Vec3T, _ScalarT, _Vec3T > & | getSurfaceMeshCurvilinear (size_t numCellI, size_t numCellJ, const _Vec3T &origin, const _Vec3T &stepVecI, const _Vec3T &stepVecJ) |
MbLineMeshUnstructured< _Vec3T, _ScalarT, _Vec3T > & | getLineMeshUnstructured (size_t numCells, const _Vec3T &origin, const _Vec3T &max) |
template<typename GeomFuncT > | |
MbLineMeshUnstructured< _Vec3T, _ScalarT, _Vec3T > & | getLineMeshUnstructured (size_t numCells, const _Vec3T &origin, const _Vec3T &max, const GeomFuncT &geomFunctor) |
MbLineMeshCurvilinear< _Vec3T, _ScalarT, _Vec3T > & | getLineMeshCurvilinear (size_t numCells, const _Vec3T &origin, const _Vec3T &max) |
template<typename GeomFuncT > | |
MbLineMeshCurvilinear< _Vec3T, _ScalarT, _Vec3T > & | getLineMeshCurvilinear (size_t numCells, const _Vec3T &origin, const _Vec3T &max, const GeomFuncT &geomFunctor) |
MbLineMeshRegular< _Vec3T, _ScalarT, _Vec3T > & | getLineMeshRegular (size_t numCells, const _Vec3T &origin, const _Vec3T &max) |
void | addScalarFctor (const MbScalarFunctor< _ScalarT > *fctor, std::string name="") |
void | clearScalarFctors () |
void | disableDataSets (bool disable=true) |
| |
void | addDeadCellFctor (const MbDeadCellFctorIjk *fctor) |
void | addDeadCellFctor (const MbDeadCellFctorIj *fctor) |
void | addDeadCellFctor (const MbDeadCellFctorI *fctor) |
Bench_GridSlice, Bench_LogicalSliceHexahedronIjk, Bench_LogicalSlice, Bench_ProbeUnstructured
MbSampleMeshBuilder< _Vec3T, _ScalarT >::MbSampleMeshBuilder | ( | ) | [inline] |
Constructor.
virtual MbSampleMeshBuilder< _Vec3T, _ScalarT >::~MbSampleMeshBuilder | ( | ) | [inline, virtual] |
Destructor.
void MbSampleMeshBuilder< _Vec3T, _ScalarT >::addDeadCellFctor | ( | const MbDeadCellFctorI * | fctor | ) | [inline] |
add function to set dead cells when building mesh
void MbSampleMeshBuilder< _Vec3T, _ScalarT >::addDeadCellFctor | ( | const MbDeadCellFctorIj * | fctor | ) | [inline] |
add function to set dead cells when building mesh
void MbSampleMeshBuilder< _Vec3T, _ScalarT >::addDeadCellFctor | ( | const MbDeadCellFctorIjk * | fctor | ) | [inline] |
add function to set dead cells when building mesh
void MbSampleMeshBuilder< _Vec3T, _ScalarT >::addScalarFctor | ( | const MbScalarFunctor< _ScalarT > * | fctor, | |
std::string | name = "" | |||
) | [inline] |
add functions to generate scalar datasets when building mesh
void MbSampleMeshBuilder< _Vec3T, _ScalarT >::clearScalarFctors | ( | ) | [inline] |
remove all functions to generate scalar datasets when building mesh
void MbSampleMeshBuilder< _Vec3T, _ScalarT >::disableDataSets | ( | bool | disable = true |
) | [inline] |
disable default datasets
MbHexahedronMeshIjk< _Vec3T, _ScalarT, _Vec3T, LAYOUT > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getHexahedronMeshIjk | ( | const MbVec3< size_t > & | dim, | |
const _Vec3T & | min, | |||
const _Vec3T & | max, | |||
MbVec3< size_t > | nbFaults, | |||
double | rotations[3] = NULL , |
|||
bool | optimized = true | |||
) | [inline] |
Returns a pillar mesh as a hexahedron IJK mesh.
[in] | dim | dimension of the grid. |
[in] | min | lower bound of the grid. |
[in] | max | upper bound of the grid. |
[in] | nbFaults | is the number of faults along each axis |
[in] | rotations | are the angle to rotate the mesh around the line passing through its center and parallel to each axis |
[in] | optimized | sets the geometry in the optimal layout that corresponds to the cell layout |
MbHexahedronMeshIjk< _Vec3T, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getHexahedronMeshIjk | ( | const MbVec3< size_t > & | dim, | |
const _Vec3T & | min, | |||
const _Vec3T & | max, | |||
double | rotations[3] = NULL | |||
) | [inline] |
Returns a pillar mesh as a hexahedron IJK mesh.
MbLineMeshCurvilinear< _Vec3T, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getLineMeshCurvilinear | ( | size_t | numCells, | |
const _Vec3T & | origin, | |||
const _Vec3T & | max, | |||
const GeomFuncT & | geomFunctor | |||
) | [inline] |
Returns an curvilinear line mesh.
[in] | numCells | number of cells to build. The mesh contains numCells+1 nodes. |
[in] | origin | first node of the mesh. |
[in] | max | last node of the mesh. |
[in] | geomFunctor | is a functor such as z = f(x,y) (see MbGeomFunctor) |
MbLineMeshCurvilinear< _Vec3T, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getLineMeshCurvilinear | ( | size_t | numCells, | |
const _Vec3T & | origin, | |||
const _Vec3T & | max | |||
) | [inline] |
Returns an curvilinear line mesh with a sinusoidal geometry.
MbLineMeshRegular< _Vec3T, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getLineMeshRegular | ( | size_t | numCells, | |
const _Vec3T & | origin, | |||
const _Vec3T & | max | |||
) | [inline] |
Returns an regular line mesh.
[in] | numCells | number of cells to build. |
[in] | origin | first node of the mesh. |
[in] | max | last node of the mesh. |
MbLineMeshUnstructured< _Vec3T, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getLineMeshUnstructured | ( | size_t | numCells, | |
const _Vec3T & | origin, | |||
const _Vec3T & | max, | |||
const GeomFuncT & | geomFunctor | |||
) | [inline] |
Returns an unstructured line mesh.
[in] | numCells | number of cells to build. The mesh contains numCells+1 nodes. |
[in] | origin | first node of the mesh. |
[in] | max | last node of the mesh. |
[in] | geomFunctor | is a functor such as z = f(x,y) (see MbGeomFunctor) |
MbLineMeshUnstructured< _Vec3T, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getLineMeshUnstructured | ( | size_t | numCells, | |
const _Vec3T & | origin, | |||
const _Vec3T & | max | |||
) | [inline] |
Returns an unstructured line mesh with a sinusoidal geometry.
MbVolumeMeshHexahedron< _Vec3T, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getMeshHexahedron | ( | const MbVec3< size_t > & | dim, | |
const _Vec3T & | min, | |||
const _Vec3T & | max, | |||
double | rotations[3] = NULL , |
|||
const MbVec3< size_t > | roi[2] = NULL | |||
) | [inline] |
Returns an hexahedron mesh.
[in] | dim | dimension of the grid. |
[in] | min | lower bound of the grid. |
[in] | max | upper bound of the grid. |
[in] | rotations | are the angle to rotate the mesh around the lines passing through its center and parallel to each axis |
[in] | roi | defines a region of interest in the generated mesh by selecting only cells within the given range. |
MbVolumeMeshTetrahedron< _Vec3T, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getMeshTetrahedron | ( | const MbVec3< size_t > & | dim, | |
const _Vec3T & | min, | |||
const _Vec3T & | max, | |||
double | rotations[3] = NULL , |
|||
const MbVec3< size_t > | roi[2] = NULL | |||
) | [inline] |
Returns a tetrahedron mesh.
Each parallelepiped of the 3D grid is divided into 6 tetrahedrons.
[in] | dim | dimension of the grid. |
[in] | min | lower bound of the grid. |
[in] | max | upper bound of the grid. |
[in] | rotations | are the angle to rotate the mesh around the lines passing through its center and parallel to each axis |
[in] | roi | defines a region of interest in the generated mesh by selecting only cells within the given range. |
MbVolumeMeshTetrahedron< _Vec3T, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getMeshTetrahedron | ( | ) | [inline] |
Returns a tetrahedron mesh.
MbSurfaceMeshCurvilinear< _Vec3T, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getSurfaceMeshCurvilinear | ( | size_t | numCellI, | |
size_t | numCellJ, | |||
const _Vec3T & | origin, | |||
const _Vec3T & | stepVecI, | |||
const _Vec3T & | stepVecJ | |||
) | [inline] |
Returns a curvilinear surface mesh.
MbSurfaceMeshQuadrangle< _Vec3T, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getSurfaceMeshQuadrangle | ( | size_t | numCellI, | |
size_t | numCellJ, | |||
std::vector< _Vec3T > & | coords | |||
) | [inline] |
MbSurfaceMeshQuadrangle< _Vec3T, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getSurfaceMeshQuadrangle | ( | size_t | numCellI, | |
size_t | numCellJ, | |||
const _Vec3T & | origin, | |||
const _Vec3T & | stepVecI, | |||
const _Vec3T & | stepVecJ | |||
) | [inline] |
Returns a quadrangle mesh.
MbSurfaceMeshRectilinear< _ScalarT, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getSurfaceMeshRectilinear | ( | size_t | numCellI, | |
size_t | numCellJ, | |||
std::vector< _ScalarT > & | coordsX, | |||
std::vector< _ScalarT > & | coordsY | |||
) | [inline] |
MbSurfaceMeshRectilinear< _ScalarT, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getSurfaceMeshRectilinear | ( | size_t | numCellI, | |
size_t | numCellJ, | |||
_ScalarT | minX, | |||
_ScalarT | minY, | |||
_ScalarT | maxX, | |||
_ScalarT | maxY | |||
) | [inline] |
Returns a rectilinear surface mesh.
MbSurfaceMeshRegular< _ScalarT, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getSurfaceMeshRegular | ( | size_t | numCellI, | |
size_t | numCellJ, | |||
const _Vec3T & | min, | |||
const _Vec3T & | max | |||
) | [inline] |
Returns a regular surface mesh.
MbVertexHexahedronMeshIjk< _Vec3T, _ScalarT, _Vec3T, LAYOUT > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getVertexHexahedronMeshIjk | ( | const MbVec3< size_t > & | dim, | |
const _Vec3T & | min, | |||
const _Vec3T & | max, | |||
MbVec3< size_t > | nbFaults, | |||
double | rotations[3] = NULL , |
|||
bool | optimized = true | |||
) | [inline] |
Returns a mesh as a vertex hexahedron IJK mesh.
[in] | dim | dimension of the grid. |
[in] | min | lower bound of the grid. |
[in] | max | upper bound of the grid. |
[in] | nbFaults | is the number of faults along each axis |
[in] | rotations | are the angle to rotate the mesh around the line passing through its center and parallel to each axis |
[in] | optimized | sets the geometry in the optimal layout that corresponds to the cell layout |
MbVolumeMeshCurvilinear<_Vec3T,_ScalarT,_Vec3T,_LAYOUT>& MbSampleMeshBuilder< _Vec3T, _ScalarT >::getVolumeMeshCurvilinear | ( | const MbVec3< size_t > & | dim, | |
const _Vec3T & | min, | |||
const _Vec3T & | max | |||
) | [inline] |
MbVolumeMeshCurvilinear< _Vec3T, _ScalarT, _Vec3T, _LAYOUT > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getVolumeMeshCurvilinear | ( | const MbVec3< size_t > & | dim, | |
const _Vec3T & | min, | |||
const _Vec3T & | max | |||
) | [inline] |
Returns a curvilinear volume mesh.
MbVolumeMeshRectilinear<_ScalarT,_ScalarT,_Vec3T,_LAYOUT>& MbSampleMeshBuilder< _Vec3T, _ScalarT >::getVolumeMeshRectilinear | ( | const MbVec3< size_t > & | dim, | |
const _Vec3T & | min, | |||
const _Vec3T & | max | |||
) | [inline] |
MbVolumeMeshRectilinear< _ScalarT, _ScalarT, _Vec3T, _LAYOUT > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getVolumeMeshRectilinear | ( | const MbVec3< size_t > & | dim, | |
const _Vec3T & | min, | |||
const _Vec3T & | max | |||
) | [inline] |
Returns a rectilinear volume mesh.
MbVolumeMeshRegular<_ScalarT,_ScalarT,_Vec3T,_LAYOUT>& MbSampleMeshBuilder< _Vec3T, _ScalarT >::getVolumeMeshRegular | ( | const MbVec3< size_t > & | dim, | |
const _Vec3T & | min, | |||
const _Vec3T & | max | |||
) | [inline] |
MbVolumeMeshRegular< _ScalarT, _ScalarT, _Vec3T, _LAYOUT > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getVolumeMeshRegular | ( | const MbVec3< size_t > & | dim, | |
const _Vec3T & | min, | |||
const _Vec3T & | max | |||
) | [inline] |
Returns a regular volume mesh.