Generic parallelepiped, rectangular or straight line geometry.
More...
#include <MeshVizXLM/mesh/geometry/MbGeometryIjk.h>
Public Member Functions | |
MbGeometryIjk () | |
MbGeometryIjk (size_t numNodesI, size_t numNodesJ, size_t numNodesK) | |
virtual MbVec3d | getCoord (size_t i, size_t j, size_t k) const |
virtual void | setCoord (size_t i, size_t j, size_t k, const _Vec3T &val) |
void | setSize (size_t numNodesI, size_t numNodesJ, size_t numNodesK) |
virtual MiMeshIjk::StorageLayout | getStorageLayout () const |
| |
MbVec3d | getMin () const |
MbVec3d | getMax () const |
The geometry is given by 2 points defining 2 extremities.
MbGeometryIjk< _Vec3T, _Layout >::MbGeometryIjk | ( | ) | [inline] |
Constructor.
MbGeometryIjk< _Vec3T, _Layout >::MbGeometryIjk | ( | size_t | numNodesI, | |
size_t | numNodesJ, | |||
size_t | numNodesK | |||
) | [inline] |
virtual MbVec3d MbGeometryIjk< _Vec3T, _Layout >::getCoord | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [inline, virtual] |
Returns the coordinate (i,j,k) of this geometry.
Implements MiGeometryIjk.
MbVec3d MbGeometryIjk< _Vec3T, _Layout >::getMax | ( | ) | const [inline, virtual] |
Gets the min and max of the geometry.
Reimplemented from MiGeometry.
MbVec3d MbGeometryIjk< _Vec3T, _Layout >::getMin | ( | ) | const [inline, virtual] |
Gets the min and max of the geometry.
Reimplemented from MiGeometry.
virtual MiMeshIjk::StorageLayout MbGeometryIjk< _Vec3T, _Layout >::getStorageLayout | ( | ) | const [inline, virtual] |
Hint about coordinates organization in memory.
This information aims at optimizing the geometry traversal for extractors. Returns the internal coordinates layout in memory as 6 enum values covering all possible cases.
For instance LAYOUT_KJI means that:
The fastest way to go through the coordinates with LAYOUT_KJI should be to perform the following triple loop:
for each k with 0 <= k < numK for each j with 0 <= j < numJ for each i with 0 <= i < numI coordinates.getCoord(i,j,k);
The default implementation returns LAYOUT_UNKNOWN meaning that the coordinates storage organization is unknown, for instance when data are computed on the fly. In that case, extractors perform the geometry traversal in the way that minimizes the required memory for their algorithms.
Reimplemented from MiGeometryIjk.
virtual void MbGeometryIjk< _Vec3T, _Layout >::setCoord | ( | size_t | i, | |
size_t | j, | |||
size_t | k, | |||
const _Vec3T & | val | |||
) | [inline, virtual] |
Sets the coordinate at index (i,j,k).
void MbGeometryIjk< _Vec3T, _Layout >::setSize | ( | size_t | numNodesI, | |
size_t | numNodesJ, | |||
size_t | numNodesK | |||
) | [inline] |
Gets the size of the geometry.