Defines a parallel cartesian grid surface mesh. More...
#include <MeshViz/3Ddata/PbParalCartesianGrid2D.h>
Public Member Functions | |
PbParalCartesianGrid2D (SbBool isDataDuplicate=TRUE) | |
PbParalCartesianGrid2D (const PbParalCartesianGrid2D &mesh) | |
PbParalCartesianGrid2D (int num_x, int num_y, const float *x, const float *y, SbBool isDataDuplicate=TRUE) | |
PbParalCartesianGrid2D (int num_x, int num_y, const float *x, const float *y, const float *z, SbBool isDataDuplicate=TRUE) | |
~PbParalCartesianGrid2D () | |
PbParalCartesianGrid2D & | operator= (const PbParalCartesianGrid2D &mesh) |
virtual const PbCell * | findContainingCell (const SbVec3f &point, float tolerance, SbVec3f &pcoord, const PbCell *adjacent_cell) const |
virtual const PbCell * | findContainingCell (const SbVec3f &point, float tolerance, SbVec3f &pcoord) const |
virtual const PbCell * | getCell (int cell_index) const |
virtual SbVec3f | getNodeCoord (int nod_index) const |
virtual SbVec3f | getNodeCoord (int i, int j) const |
virtual float | getArea () const |
Friends | |
int | operator== (const PbParalCartesianGrid2D &m1, const PbParalCartesianGrid2D &m2) |
int | operator!= (const PbParalCartesianGrid2D &m1, const PbParalCartesianGrid2D &m2) |
Class to define a surface mesh represented by a grid, with cartesian coordinates, of which the lines are parallel to X-axis or Y-axis. This mesh is defined by num_y vertical lines and num_x horizontal lines. x is an array of num_x floats, and y is an array of num_y floats.
The values on the mesh nodes are defined by the PbMesh::addValuesSet(set_index,val) method, where val argument is an array of num_x * num_y floats.
PbParalCartesianGrid2D::PbParalCartesianGrid2D | ( | SbBool | isDataDuplicate = TRUE |
) |
Constructor of a default simple mesh.
See also PbMesh for more explanations about data duplication.
PbParalCartesianGrid2D::PbParalCartesianGrid2D | ( | const PbParalCartesianGrid2D & | mesh | ) |
Copy constructor.
PbParalCartesianGrid2D::PbParalCartesianGrid2D | ( | int | num_x, | |
int | num_y, | |||
const float * | x, | |||
const float * | y, | |||
SbBool | isDataDuplicate = TRUE | |||
) |
Constructor of a 2D parallel grid mesh.
See also PbMesh for more explanations about data duplication.
PbParalCartesianGrid2D::PbParalCartesianGrid2D | ( | int | num_x, | |
int | num_y, | |||
const float * | x, | |||
const float * | y, | |||
const float * | z, | |||
SbBool | isDataDuplicate = TRUE | |||
) |
Constructor of a 3D parallel grid mesh.
See also PbMesh for more explanations about data duplication.
PbParalCartesianGrid2D::~PbParalCartesianGrid2D | ( | ) |
Destructor.
virtual const PbCell* PbParalCartesianGrid2D::findContainingCell | ( | const SbVec3f & | point, | |
float | tolerance, | |||
SbVec3f & | pcoord | |||
) | const [virtual] |
Find the mesh's cell that contains the point.
If the (optional) adjacent cell is given, searching the containing cell starts by the cells around this adjacent one. Returns also the parametric coordinates of the point in the found cell. Parametric coordinates are the coordinates of the point relative to a topologically equivalent unit cell. A point is inside a cell if its parametric coordinates range from 0 to 1. However we use a test with a tolerance value: a point is inside the cell if its parametric coordinates p verify -tolerance <= p <= 1+tolerance. Parametric coordinates are useful to interpolate the value in the cell (see PbCell::getValue). Attention! This method returns always the same address of an internal private cell. This private cell is updated each time findContainingCell is called. If the cell exists, it returns a PbPixelCell for a 2D mesh, or a PbQuadrangleCell for a 3D mesh.
Reimplemented from PbMesh.
virtual const PbCell* PbParalCartesianGrid2D::findContainingCell | ( | const SbVec3f & | point, | |
float | tolerance, | |||
SbVec3f & | pcoord, | |||
const PbCell * | adjacent_cell | |||
) | const [virtual] |
Reimplemented from PbMesh.
virtual float PbParalCartesianGrid2D::getArea | ( | ) | const [virtual] |
Gets the area of the mesh.
Reimplemented from PbMesh2D.
virtual const PbCell* PbParalCartesianGrid2D::getCell | ( | int | cell_index | ) | const [virtual] |
Gets the cell which index is cell_index.
Returns NULL if the cell does not exist. If the cell exists, it returns a PbPixelCell for a 2D mesh, or a PbQuadrangleCell for a 3D mesh. Attention! This method returns always the same address of an internal private cell. This private cell is updated each time getCell is called.
Reimplemented from PbCartesianGrid2D.
virtual SbVec3f PbParalCartesianGrid2D::getNodeCoord | ( | int | i, | |
int | j | |||
) | const [virtual] |
Gets the coordinates of a node defined by its i,j indices on the grid.
Reimplemented from PbCartesianGrid2D.
virtual SbVec3f PbParalCartesianGrid2D::getNodeCoord | ( | int | nod_index | ) | const [virtual] |
Gets the coordinates of a node defined by its index.
Reimplemented from PbCartesianGrid2D.
PbParalCartesianGrid2D& PbParalCartesianGrid2D::operator= | ( | const PbParalCartesianGrid2D & | mesh | ) |
Assignment operator.
Reimplemented from PbCartesianGrid2D.
int operator!= | ( | const PbParalCartesianGrid2D & | m1, | |
const PbParalCartesianGrid2D & | m2 | |||
) | [friend] |
Inequality comparison operator.
Reimplemented from PbCartesianGrid2D.
int operator== | ( | const PbParalCartesianGrid2D & | m1, | |
const PbParalCartesianGrid2D & | m2 | |||
) | [friend] |
Equality comparison operator.
Reimplemented from PbCartesianGrid2D.