24#ifndef _PB_PARALCARTESIANGRID3D_
25#define _PB_PARALCARTESIANGRID3D_
89 {
return !(m1 == m2); }
129 virtual float getVolume()
const {
return fabs((x[numX-1]-x[0])*(y[numY-1]-y[0])*(z[numZ-1]-z[0])); }
150 int &num_x,
int &num_y,
int &num_z)
const {
151 xnod = x; num_x = numX;
152 ynod = y; num_y = numY;
153 znod = z; num_z = numZ;
159 float getLongestEdgeLength();
163 void meshSkeleton(
PoMeshSkeleton *skeleton,
const float *nod_values,
164 float *x_cont,
float *y_cont,
float *z_cont)
const;
166 SbBool isCrossSectionOptimal()
const {
return TRUE; }
168 void print(FILE *fp)
const;
171 virtual const PbCell *getTopoCell(
int cell_index)
const;
174 void updateCellBoundingBox()
const;
175 void setXYZGeometry(
int num_x,
int num_y,
int num_z,
const float *xa,
const float *ya,
const float *za);
176 void getXYZGeometry(
const float* &xa,
const float* &ya,
const float* &za)
const;
177 virtual void grid3DSkin(
PoMeshSkin *_PoMeshSkin)
const;
182 void updateBoundingBox()
const;
#define TRUE
Possible value of SbBool.
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a cartesian grid...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines an abstract cell...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a parallel carte...
PbParalCartesianGrid3D(const PbParalCartesianGrid3D &)
Copy constructor.
PbParalCartesianGrid3D(SbBool isDataDuplicate=TRUE)
Constructor of a default simple mesh.
virtual SbVec3f getNodeCoord(int nod_index) const
Gets the coordinates of a node.
PbParalCartesianGrid3D & operator=(const PbParalCartesianGrid3D &mesh)
Assignment operator.
virtual float getVolume() const
Gets the volume of the mesh.
virtual const PbCell * findContainingCell(const SbVec3f &point, float tolerance, SbVec3f &pcoord, const PbCell *adjacent_cell) const
friend int operator!=(const PbParalCartesianGrid3D &m1, const PbParalCartesianGrid3D &m2)
Inequality comparison operator.
~PbParalCartesianGrid3D()
Destructor.
friend int operator==(const PbParalCartesianGrid3D &m1, const PbParalCartesianGrid3D &m2)
Equality comparison operator.
virtual const PbCell * findContainingCell(const SbVec3f &point, float tolerance, SbVec3f &pcoord) const
Find the mesh's cell that contains the point.
void getCoordinates(const float *&xnod, const float *&ynod, const float *&znod, int &num_x, int &num_y, int &num_z) const
Get the current coordinates of the nodes of this mesh.
virtual const PbCell * getCell(int cell_index) const
Gets the cell which index is cell_index.
virtual SbVec3f getNodeCoord(int i, int j, int k) const
Gets the coordinates of a node defined by its i,j,k indices on the grid.
PbParalCartesianGrid3D(int num_x, int num_y, int num_z, const float *xnod, const float *ynod, const float *znod, SbBool isDataDuplicate=TRUE)
Constructor of a 3D parallel grid mesh.
void setCoordinates(const float *xnod, const float *ynod, const float *znod)
Set new node coordinates without modifying the mesh topology.
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a voxel cell of ...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Representation of vector...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Representation of cross-...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Representation of cross ...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Representation of the sk...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Representation of the me...