24#ifndef _PB_INDEXEDMESH3D_
25#define _PB_INDEXEDMESH3D_
84 PbIndexedMesh3D(
int num_nodes,
const float *x_nod,
const float *y_nod,
const float *z_nod,
85 int num_cells,
const int *cell_index,
const int *cell_type,
107 {
return !(m1 == m2); }
112 void setGeometry(
int num_nodes,
const float *x_nod,
const float *y_nod,
const float *z_nod,
113 int num_cells,
const int *cell_index,
const int *cell_type);
133 int &size_xnod,
int &size_ynod,
int &size_znod)
const {
137 size_xnod = size_ynod = size_znod = numMeshNodes;
145 void getGeometry(
int &num_nodes,
const float* &x_nod,
const float* &y_nod,
const float* &z_nod,
146 int &num_cells,
const int *&cell_index,
const int *&cell_type)
const ;
153 void getNodes(
int &num_nodes,
const float* &x_nod,
const float* &y_nod,
const float* &z_nod)
const;
177 float getLongestEdgeLength();
183 void meshSkeleton(
PoMeshSkeleton *skeleton,
const float *nod_values,
184 float *x_cont,
float *y_cont,
float *z_cont)
const;
187 void print(FILE *fp)
const;
190 virtual const PbCell *getTopoCell(
int cell_index)
const;
193 void updateCellBoundingBox()
const;
194 virtual void updateOwnerCellsList()
const;
195 virtual void deleteOwnerCellsList()
const;
196 void updateBoundingBox()
const;
199 float *xNodes, *yNodes, *zNodes;
200 int allocElemIndex, *elemIndex, elemIndexSize;
201 int allocElem, *elemType;
203 void setVertices(
int num_nodes,
const float *x_nod,
const float *y_nod,
const float *z_nod);
#define TRUE
Possible value of SbBool.
DTEXT Dynamic array of int .
<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 an hexahedron ce...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a volume mesh of...
PbIndexedMesh3D & operator=(const PbIndexedMesh3D &mesh)
Assignment operator.
~PbIndexedMesh3D()
Destructor.
void setCoordinates(const float *x_nod, const float *y_nod, const float *z_nod)
Set new node coordinates without modifying the mesh topology.
friend int operator==(const PbIndexedMesh3D &m1, const PbIndexedMesh3D &m2)
Equality comparison operator.
PbIndexedMesh3D(SbBool is_data_duplicate=TRUE)
Constructor of a default simple mesh.
virtual SbVec3f getNodeCoord(int nod_index) const
Gets the coordinates of a node.
void getNodes(int &num_nodes, const float *&x_nod, const float *&y_nod, const float *&z_nod) const
Gets the mesh nodes coordinate arrays.
void getGeometry(int &num_nodes, const float *&x_nod, const float *&y_nod, const float *&z_nod, int &num_cells, const int *&cell_index, const int *&cell_type) const
Gets the current mesh geometry.
virtual void getNodeOwnerCellsInd(int nod_index, PbArrayOfInt &owner_cells) const
Gets the list of index of cells that own the node "nod_index".
friend int operator!=(const PbIndexedMesh3D &m1, const PbIndexedMesh3D &m2)
Inequality comparison operator.
void getCoordinates(const float *&xnod, const float *&ynod, const float *&znod, int &size_xnod, int &size_ynod, int &size_znod) const
Get the current coordinates of the nodes of this mesh.
PbIndexedMesh3D(int num_nodes, const float *x_nod, const float *y_nod, const float *z_nod, int num_cells, const int *cell_index, const int *cell_type, SbBool is_data_duplicate=TRUE)
Constructor of a 3D volume mesh.
virtual const PbCell * getCell(int cell_index) const
Gets the cell which index is cell_index.
PbIndexedMesh3D(const PbIndexedMesh3D &mesh)
Copy constructor.
void setGeometry(int num_nodes, const float *x_nod, const float *y_nod, const float *z_nod, int num_cells, const int *cell_index, const int *cell_type)
Sets a new geometry.
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines an abstract volu...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a pyramid cell o...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines an tetrahedron c...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a wedge cell of ...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Interface class defining...
<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...