Open Inventor Release 2024.1.0
 
Loading...
Searching...
No Matches
PbGrid2D Class Referenceabstract

MeshViz Defines an abstract grid surface mesh. More...

#include <MeshViz/3Ddata/PbGrid2D.h>

+ Inheritance diagram for PbGrid2D:

Public Member Functions

 PbGrid2D (SbBool is_data_duplicate=TRUE)
 Constructor.
 
 PbGrid2D (const PbGrid2D &mesh)
 Copy constructor.
 
 ~PbGrid2D ()
 Destructor.
 
PbGrid2Doperator= (const PbGrid2D &mesh)
 Assignment operator.
 
void setGeometry (int num_x, int num_y, const float *x, const float *y)
 Defines a 2D surface mesh geometry.
 
void setGeometry (int num_x, int num_y, const float *x, const float *y, const float *z)
 Defines a 3D surface mesh geometry.
 
void getGeometry (int &num_x, int &num_y, const float *&x, const float *&y) const
 Gets the mesh 2D geometry.
 
void getGeometry (int &num_x, int &num_y, const float *&x, const float *&y, const float *&z) const
 Gets the mesh 3D geometry.
 
virtual SbVec3f getNodeCoord (int nod_index) const =0
 Gets the coordinates of a node defined by its index.
 
virtual SbVec3f getNodeCoord (int i, int j) const =0
 Gets the coordinates of a node defined by its i,j indices on the grid.
 
void getDim (int &num_x, int &num_y) const
 Gets the dimensions num_x, num_y of the grid.
 
virtual void getNodeOwnerCellsInd (int nod_index, PbArrayOfInt &owner_cells) const
 Gets the list of index of cells that own the node "nod_index".
 
virtual void getAdjacentCellsIndByNode (int cell_index, PbArrayOfInt &adjacent_cells) const
 Gets the list of index 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 index of cells that are adjacent (by an edge) to cell_index.
 
void getNodeIndices (int nod_index, int &i, int &j) const
 Calculates indices i,j that verify nod_index = i*num_y + j.
 
void getCellIndices (int cell_index, int &i, int &j) const
 Calculates indices i,j that verify cell_index = i*(num_y-1) + j.
 
- Public Member Functions inherited from PbMesh2D
void addVecsSet (int set_index, const SbVec2f *val, const SbString &setName="")
 Adds a set of 2D vectors on the mesh.
 
virtual SbBox2f getBoundingBox () const
 Gets the 2D mesh's bounding box.
 
virtual float getVolume () const
 Always returns 0.
 
virtual float getArea () const
 Gets the area of the mesh.
 
PbMesh2DgetFaultMesh (int num_fault_lines, const int *fault_line_sizes, const SbVec3f *coord, ExtrapolationMethod extrapol_method, PbDefinedValue &definedValue) const
 Builds a new mesh by inserting some fault lines in this mesh.
 
PbMesh2DgetFaultMesh (int num_fault_lines, const int *fault_line_sizes, const SbVec3f *coord) const
 Same as calling getFaultMesh(num_fault_lines, fault_line_sizes, coord,PbMesh2D::USE_ADJACENT_DERIVS, PbDefinedValue())
 
- Public Member Functions inherited from PbMesh
 PbMesh (SbBool is_data_duplicated=TRUE)
 Constructor.
 
 PbMesh (const PbMesh &mesh)
 Copy constructor.
 
 ~PbMesh ()
 Destructor.
 
PbMeshoperator= (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 const SbStringgetValuesSetName (int set_index) const
 Gets the name associated to a scalar values set.
 
virtual const SbStringgetStringsSetName (int set_index) const
 Gets the name associated to a string values set.
 
virtual const SbStringgetVecsSetName (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 SbStringgetStringsSet (int set_index) const
 Gets a set of string values.
 
virtual const SbVec3fgetVecsSet (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 getNodesOwnerCellsInd (const PbArrayOfInt &nod_indices, PbArrayOfInt &owner_cells) const
 Gets the list of indices of cells that own the list of nodes "nod_indices".
 
virtual const PbCellgetCell (int cell_index) const =0
 Gets the cell with index 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 PbCellfindContainingCell (const SbVec3f &point, float tolerance, SbVec3f &pcoord, const PbCell *adjacent_cell) const
 
virtual const PbCellfindContainingCell (const SbVec3f &point, float tolerance, SbVec3f &pcoord) const
 Find the cell that contains the point.
 
virtual void setCoordinates (const float *x_nod, const float *y_nod, const float *z_nod)
 Set new node coordinates without modifying the mesh topology.
 
virtual 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.
 
- 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.
 
PbBaseoperator= (const PbBase &base)
 Assignment operator.
 

Additional Inherited Members

- Public Types inherited from PbMesh2D
enum  ExtrapolationMethod {
  USE_ADJACENT_DERIVS ,
  USE_ADJACENT_VALUES
}
 Specifies the type of extrapolation used by getFaultMesh() when computing values on the fault lines. More...
 
- Public Types inherited from PbMesh
enum  DataBinding {
  PER_CELL = PoMeshProperty::PER_CELL ,
  PER_NODE = PoMeshProperty::PER_NODE
}
 Data binding. More...
 

Detailed Description

MeshViz Defines an abstract grid surface mesh.

This class defines a mesh of which topology is a regular grid made of num_x

  • num_y nodes. Each node with index (i, j) in the mesh (except for points along the mesh border) is connected to four points with indices (i+1,j), (i,j+1), (i-1,j), (i,j-1).

The values on the mesh nodes are defined by the PbMesh::addValuesSet() method, where val argument is an array of num_x * num_y floats.

Definition at line 43 of file PbGrid2D.h.

Constructor & Destructor Documentation

◆ PbGrid2D() [1/2]

PbGrid2D::PbGrid2D ( SbBool  is_data_duplicate = TRUE)
inline

Constructor.

See also PbMesh for more explanations about data duplication.

Definition at line 51 of file PbGrid2D.h.

◆ PbGrid2D() [2/2]

PbGrid2D::PbGrid2D ( const PbGrid2D mesh)

Copy constructor.

◆ ~PbGrid2D()

PbGrid2D::~PbGrid2D ( )

Destructor.

Member Function Documentation

◆ getAdjacentCellsIndByFacet()

virtual void PbGrid2D::getAdjacentCellsIndByFacet ( int  cell_index,
PbArrayOfInt adjacent_cells 
) const
virtual

Gets the list of index of cells that are adjacent (by an edge) to cell_index.

Two cells are adjacent by an edge is they own at least one mesh's edge in common

Reimplemented from PbMesh.

◆ getAdjacentCellsIndByNode()

virtual void PbGrid2D::getAdjacentCellsIndByNode ( int  cell_index,
PbArrayOfInt adjacent_cells 
) const
virtual

Gets the list of index of cells that are adjacent (by a node) to cell_index.

Two cells are adjacent by a node is they own at least one mesh's node in common.

Reimplemented from PbMesh.

◆ getCellIndices()

void PbGrid2D::getCellIndices ( int  cell_index,
int &  i,
int &  j 
) const
inline

Calculates indices i,j that verify cell_index = i*(num_y-1) + j.

Definition at line 180 of file PbGrid2D.h.

◆ getDim()

void PbGrid2D::getDim ( int &  num_x,
int &  num_y 
) const
inline

Gets the dimensions num_x, num_y of the grid.

Definition at line 111 of file PbGrid2D.h.

◆ getGeometry() [1/2]

void PbGrid2D::getGeometry ( int &  num_x,
int &  num_y,
const float *&  x,
const float *&  y 
) const

Gets the mesh 2D geometry.

x-y must be used like a vector (i.e. x[n])

◆ getGeometry() [2/2]

void PbGrid2D::getGeometry ( int &  num_x,
int &  num_y,
const float *&  x,
const float *&  y,
const float *&  z 
) const

Gets the mesh 3D geometry.

x-y-z can be used like a vector (i.e. x[n]). Attention! For a 2D mesh, z is NULL.

◆ getNodeCoord() [1/2]

virtual SbVec3f PbGrid2D::getNodeCoord ( int  i,
int  j 
) const
pure virtual

Gets the coordinates of a node defined by its i,j indices on the grid.

Implemented in PbCartesianGrid2D, PbParalCartesianGrid2D, PbPolarGrid2D, and PbRegularCartesianGrid2D.

◆ getNodeCoord() [2/2]

virtual SbVec3f PbGrid2D::getNodeCoord ( int  nod_index) const
pure virtual

Gets the coordinates of a node defined by its index.

Implements PbMesh.

Implemented in PbCartesianGrid2D, PbParalCartesianGrid2D, PbPolarGrid2D, and PbRegularCartesianGrid2D.

◆ getNodeIndices()

void PbGrid2D::getNodeIndices ( int  nod_index,
int &  i,
int &  j 
) const
inline

Calculates indices i,j that verify nod_index = i*num_y + j.

Definition at line 172 of file PbGrid2D.h.

◆ getNodeOwnerCellsInd()

virtual void PbGrid2D::getNodeOwnerCellsInd ( int  nod_index,
PbArrayOfInt owner_cells 
) const
virtual

Gets the list of index of cells that own the node "nod_index".

Implements PbMesh.

◆ operator=()

PbGrid2D & PbGrid2D::operator= ( const PbGrid2D mesh)

Assignment operator.

◆ setGeometry() [1/2]

void PbGrid2D::setGeometry ( int  num_x,
int  num_y,
const float *  x,
const float *  y 
)

Defines a 2D surface mesh geometry.

The size of the x array depends on the derived class that calls this method. It is either num_x or num_x * num_y. Idem for y array.

◆ setGeometry() [2/2]

void PbGrid2D::setGeometry ( int  num_x,
int  num_y,
const float *  x,
const float *  y,
const float *  z 
)

Defines a 3D surface mesh geometry.

The size of the x array depends on the derived class that calls this method. It is either num_x or num_x * num_y. Idem for y array. The size of z array is always num_x * num_y.


The documentation for this class was generated from the following file: