MbSampleMeshBuilder< _Vec3T, _ScalarT > Class Template Reference
[Mesh implementation example]

MeshViz Utility class that creates synthetic meshes for testing purpose. More...

#include <MeshVizXLM/mesh/MbSampleMeshBuilder.h>

List of all members.

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)

Detailed Description

template<typename _Vec3T = MbVec3d, typename _ScalarT = double>
class MbSampleMeshBuilder< _Vec3T, _ScalarT >

MeshViz Utility class that creates synthetic meshes for testing purpose.

See related examples:

Bench_GridSlice, Bench_LogicalSliceHexahedronIjk, Bench_LogicalSlice, Bench_ProbeUnstructured


Constructor & Destructor Documentation

template<typename _Vec3T , typename _ScalarT >
MbSampleMeshBuilder< _Vec3T, _ScalarT >::MbSampleMeshBuilder (  )  [inline]

Constructor.

template<typename _Vec3T = MbVec3d, typename _ScalarT = double>
virtual MbSampleMeshBuilder< _Vec3T, _ScalarT >::~MbSampleMeshBuilder (  )  [inline, virtual]

Destructor.


Member Function Documentation

template<typename _Vec3T , typename _ScalarT >
void MbSampleMeshBuilder< _Vec3T, _ScalarT >::addDeadCellFctor ( const MbDeadCellFctorI fctor  )  [inline]

add function to set dead cells when building mesh

template<typename _Vec3T , typename _ScalarT >
void MbSampleMeshBuilder< _Vec3T, _ScalarT >::addDeadCellFctor ( const MbDeadCellFctorIj fctor  )  [inline]

add function to set dead cells when building mesh

template<typename _Vec3T , typename _ScalarT >
void MbSampleMeshBuilder< _Vec3T, _ScalarT >::addDeadCellFctor ( const MbDeadCellFctorIjk fctor  )  [inline]

add function to set dead cells when building mesh

template<typename _Vec3T , typename _ScalarT >
void MbSampleMeshBuilder< _Vec3T, _ScalarT >::addScalarFctor ( const MbScalarFunctor< _ScalarT > *  fctor,
std::string  name = "" 
) [inline]

add functions to generate scalar datasets when building mesh

template<typename _Vec3T , typename _ScalarT >
void MbSampleMeshBuilder< _Vec3T, _ScalarT >::clearScalarFctors (  )  [inline]

remove all functions to generate scalar datasets when building mesh

template<typename _Vec3T , typename _ScalarT >
void MbSampleMeshBuilder< _Vec3T, _ScalarT >::disableDataSets ( bool  disable = true  )  [inline]

disable default datasets

template<typename _Vec3T , typename _ScalarT >
template<MiMeshIjk::StorageLayout LAYOUT>
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.

Parameters:
[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
template<typename _Vec3T , typename _ScalarT >
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.

template<typename _Vec3T , typename _ScalarT >
template<typename GeomFuncT >
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.

Parameters:
[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)
template<typename _Vec3T , typename _ScalarT >
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.

template<typename _Vec3T , typename _ScalarT >
MbLineMeshRegular< _Vec3T, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getLineMeshRegular ( size_t  numCells,
const _Vec3T &  origin,
const _Vec3T &  max 
) [inline]

Returns an regular line mesh.

Parameters:
[in] numCells number of cells to build.
[in] origin first node of the mesh.
[in] max last node of the mesh.
template<typename _Vec3T , typename _ScalarT >
template<typename GeomFuncT >
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.

Parameters:
[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)
template<typename _Vec3T , typename _ScalarT >
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.

template<typename _Vec3T , typename _ScalarT >
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.

Parameters:
[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.
template<typename _Vec3T , typename _ScalarT >
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.

Parameters:
[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.
template<typename _Vec3T , typename _ScalarT >
MbVolumeMeshTetrahedron< _Vec3T, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getMeshTetrahedron (  )  [inline]

Returns a tetrahedron mesh.

template<typename _Vec3T , typename _ScalarT >
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.

template<typename _Vec3T , typename _ScalarT >
MbSurfaceMeshQuadrangle< _Vec3T, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getSurfaceMeshQuadrangle ( size_t  numCellI,
size_t  numCellJ,
std::vector< _Vec3T > &  coords 
) [inline]
template<typename _Vec3T , typename _ScalarT >
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.

template<typename _Vec3T , typename _ScalarT >
MbSurfaceMeshRectilinear< _ScalarT, _ScalarT, _Vec3T > & MbSampleMeshBuilder< _Vec3T, _ScalarT >::getSurfaceMeshRectilinear ( size_t  numCellI,
size_t  numCellJ,
std::vector< _ScalarT > &  coordsX,
std::vector< _ScalarT > &  coordsY 
) [inline]
template<typename _Vec3T , typename _ScalarT >
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.

template<typename _Vec3T , typename _ScalarT >
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.

template<typename _Vec3T , typename _ScalarT >
template<MiMeshIjk::StorageLayout LAYOUT>
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.

Parameters:
[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
template<typename _Vec3T = MbVec3d, typename _ScalarT = double>
template<MiMeshIjk::StorageLayout _LAYOUT>
MbVolumeMeshCurvilinear<_Vec3T,_ScalarT,_Vec3T,_LAYOUT>& MbSampleMeshBuilder< _Vec3T, _ScalarT >::getVolumeMeshCurvilinear ( const MbVec3< size_t > &  dim,
const _Vec3T &  min,
const _Vec3T &  max 
) [inline]
template<typename _Vec3T , typename _ScalarT >
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.

template<typename _Vec3T = MbVec3d, typename _ScalarT = double>
template<MiMeshIjk::StorageLayout _LAYOUT>
MbVolumeMeshRectilinear<_ScalarT,_ScalarT,_Vec3T,_LAYOUT>& MbSampleMeshBuilder< _Vec3T, _ScalarT >::getVolumeMeshRectilinear ( const MbVec3< size_t > &  dim,
const _Vec3T &  min,
const _Vec3T &  max 
) [inline]
template<typename _Vec3T , typename _ScalarT >
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.

template<typename _Vec3T = MbVec3d, typename _ScalarT = double>
template<MiMeshIjk::StorageLayout _LAYOUT>
MbVolumeMeshRegular<_ScalarT,_ScalarT,_Vec3T,_LAYOUT>& MbSampleMeshBuilder< _Vec3T, _ScalarT >::getVolumeMeshRegular ( const MbVec3< size_t > &  dim,
const _Vec3T &  min,
const _Vec3T &  max 
) [inline]
template<typename _Vec3T , typename _ScalarT >
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.


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

Open Inventor by FEI reference manual, generated on 19 Aug 2019
Copyright © FEI S.A.S. All rights reserved.
http://www.openinventor.com/