Defines a mesh of tetrahedrons.
More...
#include <MeshViz/3Ddata/PbTetrahedronMesh3D.h>
Inheritance diagram for PbTetrahedronMesh3D:Public Member Functions | |
| PbTetrahedronMesh3D (SbBool isDataDuplicate=TRUE) | |
| Constructor of a default simple mesh. | |
| PbTetrahedronMesh3D (const PbTetrahedronMesh3D &mesh) | |
| Copy constructor. | |
| PbTetrahedronMesh3D (int num_nodes, const float *x_nod, const float *y_nod, const float *z_nod, int num_tetrahedrons, const int *tetrahedron_index, SbBool is_data_duplicate=TRUE) | |
| Constructor of a volume mesh. | |
| ~PbTetrahedronMesh3D () | |
| Destructor. | |
| PbTetrahedronMesh3D & | operator= (const PbTetrahedronMesh3D &mesh) |
| Assignment operator. | |
| virtual void | setGeometry (int num_nodes, const float *x_nod, const float *y_nod, const float *z_nod, int num_tetrahedrons, const int *tetrahedron_index) |
| Sets a new geometry. | |
| virtual void | getGeometry (int &num_nodes, const float *&x_nod, const float *&y_nod, const float *&z_nod, int &num_tetrahedrons, const int *&tetrahedron_index) const |
| Gets the current mesh geometry. | |
| virtual void | getNodesOwnerCellsInd (const PbArrayOfInt &nod_indices, PbArrayOfInt &owner_cells) const |
| Gets the list of index of cells that own the list of node "nod_indices" (for example nod_indices can be the list of indices of a facet, an edge...) | |
| virtual const PbCell * | getCell (int cell_index) const |
| Gets the cell which index is cell_index. | |
Deprecated | |
| virtual SoDEPRECATED void | getGeometry (int &num_nodes, const float *&x_nod, const float *&y_nod, const float *&z_nod, int &num_tetrahedrons, const int **&tetrahedron_index) const |
| Gets the current mesh geometry. | |
Public Member Functions inherited from PbIndexedMesh3D | |
| PbIndexedMesh3D (SbBool is_data_duplicate=TRUE) | |
| Constructor of a default simple mesh. | |
| PbIndexedMesh3D (const PbIndexedMesh3D &mesh) | |
| Copy constructor. | |
| 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. | |
| ~PbIndexedMesh3D () | |
| Destructor. | |
| PbIndexedMesh3D & | operator= (const PbIndexedMesh3D &mesh) |
| Assignment operator. | |
| 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. | |
| void | setCoordinates (const float *x_nod, const float *y_nod, const float *z_nod) |
| Set new node coordinates without modifying the mesh topology. | |
| 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. | |
| 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. | |
| void | getNodes (int &num_nodes, const float *&x_nod, const float *&y_nod, const float *&z_nod) const |
| Gets the mesh nodes coordinate arrays. | |
| virtual SbVec3f | getNodeCoord (int nod_index) const |
| Gets the coordinates of a node. | |
| virtual void | getNodeOwnerCellsInd (int nod_index, PbArrayOfInt &owner_cells) const |
| Gets the list of index of cells that own the node "nod_index". | |
Public Member Functions inherited from PbMesh3D | |
| virtual float | getVolume () const |
| Gets the volume of the mesh. | |
| virtual float | getArea () const |
| Returns always 0. | |
Public Member Functions inherited from PbMesh | |
| PbMesh (SbBool is_data_duplicated=TRUE) | |
| Constructor. | |
| PbMesh (const PbMesh &mesh) | |
| Copy constructor. | |
| ~PbMesh () | |
| Destructor. | |
| PbMesh & | operator= (const PbMesh &mesh) |
| Assignment operator. | |
| int | getNumNodes () const |
| Gets the number of nodes in the mesh. | |
| int | getNumCells () const |
| Gets the number of cells in the mesh. | |
| SbBox3f | getBoundingBox () const |
| Gets the bounding box of the mesh. | |
| SbBool | isDataDuplicated () const |
| Returns TRUE if mesh's data are duplicated, FALSE otherwise. | |
| virtual void | addValuesSet (int set_index, const float *val, const SbString &set_name="") |
| Adds a set of scalar values. | |
| void | addValuesSet (int set_index, const float *val, DataBinding binding, const SbString &set_name="") |
| Adds a set of scalar values that can be located either at nodes or at cells. | |
| DataBinding | getValuesBinding (int set_index) const |
| Gets the binding of the scalar value set. | |
| virtual void | addStringsSet (int set_index, const SbString *val, const SbString &set_name="") |
| Adds a set of string values . | |
| virtual void | addVecsSet (int set_index, const SbVec3f *val, const SbString &set_name="") |
| Adds a set of vector values . | |
| virtual const SbString * | getValuesSetName (int set_index) const |
| Gets the name associated to a scalar values set. | |
| virtual const SbString * | getStringsSetName (int set_index) const |
| Gets the name associated to a string values set. | |
| virtual const SbString * | getVecsSetName (int set_index) const |
| Gets the name associated to a vec values set. | |
| virtual const float * | getValuesSet (int set_index) const |
| Gets a set of scalar values. | |
| virtual const SbString * | getStringsSet (int set_index) const |
| Gets a set of string values. | |
| virtual const SbVec3f * | getVecsSet (int set_index) const |
| Gets a set of vector values. | |
| virtual SbBool | removeValuesSet (int set_index) |
| Remove a set of scalar values. | |
| virtual SbBool | removeStringsSet (int set_index) |
| Remove a set of string values. | |
| virtual SbBool | removeVecsSet (int set_index) |
| Remove a set of vector values. | |
| virtual void | removeAllValuesSet () |
| Remove all sets of scalar values. | |
| virtual void | removeAllStringsSet () |
| Remove all sets of strings values. | |
| virtual void | removeAllVecsSet () |
| Remove all sets of vector values. | |
| virtual int | getNumValuesSet () const |
| Gets the number of set of scalar values. | |
| virtual int | getNumStringsSet () const |
| Gets the number of set of string values. | |
| virtual int | getNumVecsSet () const |
| Gets the number of set of vector values. | |
| virtual SbBool | getMinValuesSet (int set_index, float &min) const |
| Gets the min of a set of scalars. | |
| virtual SbBool | getMinVecsSet (int set_index, float &min) const |
| Gets the min module of a set of vectors. | |
| virtual SbBool | getMaxValuesSet (int set_index, float &max) const |
| Gets the max of a set of scalars. | |
| virtual SbBool | getMaxVecsSet (int set_index, float &max) const |
| Gets the max module of a set of vectors. | |
| virtual void | getAdjacentCellsIndByNode (int cell_index, PbArrayOfInt &adjacent_cells) const |
| Gets the list of indices of cells that are adjacent (by a node) to cell_index. | |
| virtual void | getAdjacentCellsIndByFacet (int cell_index, PbArrayOfInt &adjacent_cells) const |
| Gets the list of indices of cells that are adjacent (by a facet) to cell_index. | |
| virtual SbBox3f | getSmallestCellBox (int &cell_index) const |
| Gets the smallest cell's bounding box, returns also the index of this cell. | |
| virtual SbBox3f | getBiggestCellBox (int &cell_index) const |
| Gets the biggest cell's bounding box, returns also the index of this cell. | |
| 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 |
| Find the cell that contains the point. | |
Public Member Functions inherited from PbBase | |
| void | enableConnection (SbBool flag) |
| Activates/deactivates the mechanism of connection. | |
| SbBool | isConnectionEnabled () const |
| Returns TRUE if the connection mechanism is active, otherwise FALSE. | |
| void | touch () |
| Simulates the changing of an instance of this object, so all connected objects are informed of this change. | |
| PbBase & | operator= (const PbBase &base) |
| Assignment operator. | |
Friends | |
| int | operator== (const PbTetrahedronMesh3D &m1, const PbTetrahedronMesh3D &m2) |
| Equality comparison operator. | |
| int | operator!= (const PbTetrahedronMesh3D &m1, const PbTetrahedronMesh3D &m2) |
| Inequality comparison operator. | |
Additional Inherited Members | |
Public Types inherited from PbMesh | |
| enum | DataBinding { PER_CELL = PoMeshProperty::PER_CELL , PER_NODE = PoMeshProperty::PER_NODE } |
| Data binding. More... | |
Defines a mesh of tetrahedrons.
Class to define an indexed 3D mesh made up of tetrahedrons. This mesh is defined by a list of tetrahedrons. Each tetrahedron is defined by 4 indices of nodes.
The nodes coordinates are defined by 3 arrays x_nod, y_nod, z_nod of num_nodes floats. The tetrahedrons are defined by the array tetrahedron_index of num_tetrahedrons*4 integers. tetrahedron_index[(n*4)+p] is the p-th node index of the n-th tetrahedron of the mesh (0 <= p <= 3). Each tetrahedron must be numbered by repecting the following rule : the 3 first indices define a facet of the tetrahedron and orient it towards the interior of the tetrahedron.
Each facet of a tetrahedron may have 2 references in the mesh, that is, one facet is common to 2 tetrahedrons. The facets which are referred to once in the mesh define the mesh skin.
The values on the mesh nodes are defined by the PbMesh::addValuesSet(set_index,val) method, where val argument is an array of num_nodes floats.
Definition at line 58 of file PbTetrahedronMesh3D.h.
| PbTetrahedronMesh3D::PbTetrahedronMesh3D | ( | SbBool | isDataDuplicate = TRUE | ) |
Constructor of a default simple mesh.
See also PbMesh for more explanations about data duplication.
| PbTetrahedronMesh3D::PbTetrahedronMesh3D | ( | const PbTetrahedronMesh3D & | mesh | ) |
Copy constructor.
| PbTetrahedronMesh3D::PbTetrahedronMesh3D | ( | int | num_nodes, |
| const float * | x_nod, | ||
| const float * | y_nod, | ||
| const float * | z_nod, | ||
| int | num_tetrahedrons, | ||
| const int * | tetrahedron_index, | ||
| SbBool | is_data_duplicate = TRUE ) |
Constructor of a volume mesh.
See also PbMesh for more explanations about data duplication.
| PbTetrahedronMesh3D::~PbTetrahedronMesh3D | ( | ) |
Destructor.
|
virtual |
Gets the cell which index is cell_index.
Returns NULL if the cell does not exist or if it is incorrect (flat), otherwise returns always a PbTetrahedronCell object. Attention! this method returns always the same adress of an internal private cell. This private cell is updated each time getCell is called.
Reimplemented from PbIndexedMesh3D.
|
virtual |
Gets the current mesh geometry.
tetrahedron_index must be used like a vector (i.e. tetrahedron_index[n])
|
virtual |
Gets the current mesh geometry.
tetrahedron_index must be used like a matrix. (i.e. tetrahedron_index[cell_index][n], with 0 <= n <= 3)
|
virtual |
Gets the list of index of cells that own the list of node "nod_indices" (for example nod_indices can be the list of indices of a facet, an edge...)
Reimplemented from PbMesh.
| PbTetrahedronMesh3D & PbTetrahedronMesh3D::operator= | ( | const PbTetrahedronMesh3D & | mesh | ) |
Assignment operator.
|
virtual |
Sets a new geometry.
|
friend |
Inequality comparison operator.
Definition at line 99 of file PbTetrahedronMesh3D.h.
|
friend |
Equality comparison operator.