PbCell Class Reference
[Property/Data]

MeshViz Defines an abstract cell of a mesh. More...

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

Inheritance diagram for PbCell:
PbBase PbHexahedronCell PbPixelCell PbPyramidCell PbQuadrangleCell PbTetrahedronCell PbTriangleCell PbVoxelCell PbWedgeCell

List of all members.

Public Member Functions

 PbCell ()
 PbCell (const PbCell &cell)
 ~PbCell ()
PbCelloperator= (const PbCell &cell)
virtual float getLongestEdgeLength () const =0
virtual SbBox3f getBoundingBox () const
virtual void getBounds (float &xmin, float &ymin, float &zmin, float &xmax, float &ymax, float &zmax) const
virtual SbVec3f getCenter () const
virtual float getVolume () const =0
virtual float getArea () const =0
int getNumFacets () const
int getNumEdges () const
int getNumNodes () const
int getIndex () const
SbVec3f getNodeCoord (int nod) const
int getNodeIndex (int nod) const
void getNodesIndex (PbArrayOfInt &nodes_index) const
virtual void getNodesIndexOfEdge (int edge, PbArrayOfInt &nodes_index) const =0
virtual void getNodesIndexOfFacet (int facet, PbArrayOfInt &nodes_index) const =0
virtual void getNodesLocalIndexOfEdge (int edge, PbArrayOfInt &nodes_index) const =0
virtual void getNodesLocalIndexOfFacet (int facet, PbArrayOfInt &nodes_index) const =0
virtual int locatePoint (const SbVec3f &coord, float tolerance, SbVec3f &pcoord) const =0
virtual void getWeight (const SbVec3f &pcoord, float *weight) const =0
virtual float getValue (const SbVec3f &pcoord, const float *s) const
virtual SbVec3f getValue (const SbVec3f &pcoord, const SbVec3f *v) const
float getValue (const float *weight, const float *s) const
SbVec3f getValue (const float *weight, const SbVec3f *v) const

Detailed Description

MeshViz Defines an abstract cell of a mesh.

A cell is a "simple" basic volume or surface element that connects adjacent nodes of a mesh.


Constructor & Destructor Documentation

PbCell::PbCell (  ) 

Constructor.

PbCell::PbCell ( const PbCell cell  ) 

Copy constructor.

PbCell::~PbCell (  ) 

Destructor.


Member Function Documentation

virtual float PbCell::getArea (  )  const [pure virtual]
virtual SbBox3f PbCell::getBoundingBox (  )  const [virtual]

Gets the cell's bounding box.

Reimplemented in PbPixelCell, and PbVoxelCell.

virtual void PbCell::getBounds ( float &  xmin,
float &  ymin,
float &  zmin,
float &  xmax,
float &  ymax,
float &  zmax 
) const [virtual]

Gets the cell's bounds.

Similar to getBoundingBox() but it does not use any SbBox object.

Reimplemented in PbPixelCell, and PbVoxelCell.

virtual SbVec3f PbCell::getCenter (  )  const [virtual]

Gets the cell's geometric center.

Reimplemented in PbPixelCell, and PbVoxelCell.

int PbCell::getIndex (  )  const [inline]

Gets the index of the cell in the mesh.

virtual float PbCell::getLongestEdgeLength (  )  const [pure virtual]

Gets the length of the longest edge of the cell.

Implemented in PbHexahedronCell, PbPixelCell, PbPyramidCell, PbQuadrangleCell, PbTetrahedronCell, PbTriangleCell, PbVoxelCell, and PbWedgeCell.

SbVec3f PbCell::getNodeCoord ( int  nod  )  const [inline]

Gets the coordinate of the nod (nod must be >=0 and < getNumNodes()).

int PbCell::getNodeIndex ( int  nod  )  const [inline]

Gets the index (in the mesh) of a nod (nod must be >=0 and < getNumNodes()).

void PbCell::getNodesIndex ( PbArrayOfInt nodes_index  )  const

Gets the array of index mesh's nodes that belongs to this cell.

virtual void PbCell::getNodesIndexOfEdge ( int  edge,
PbArrayOfInt nodes_index 
) const [pure virtual]

Gets the array of 2 index mesh's nodes that belongs to a given edge of this cell.

(edge must be >=0 and < getNumEdges())

Implemented in PbHexahedronCell, PbPixelCell, PbPyramidCell, PbQuadrangleCell, PbTetrahedronCell, PbTriangleCell, PbVoxelCell, and PbWedgeCell.

virtual void PbCell::getNodesIndexOfFacet ( int  facet,
PbArrayOfInt nodes_index 
) const [pure virtual]

Gets the array of index mesh's nodes that belongs to a given facet of this cell.

(facet must be >=0 and < getNumFacets()).

Implemented in PbHexahedronCell, PbPixelCell, PbPyramidCell, PbQuadrangleCell, PbTetrahedronCell, PbTriangleCell, PbVoxelCell, and PbWedgeCell.

virtual void PbCell::getNodesLocalIndexOfEdge ( int  edge,
PbArrayOfInt nodes_index 
) const [pure virtual]

Gets the array of 2 nodes index that belongs to a given edge of this cell.

edge must be >=0 and < getNumEdges(). each index is >=0 and < getNumNodes()

Implemented in PbHexahedronCell, PbPixelCell, PbPyramidCell, PbQuadrangleCell, PbTetrahedronCell, PbTriangleCell, PbVoxelCell, and PbWedgeCell.

virtual void PbCell::getNodesLocalIndexOfFacet ( int  facet,
PbArrayOfInt nodes_index 
) const [pure virtual]

Gets the array of node index that belongs to a given facet of this cell.

facet must be >=0 and < getNumFacets(). each index is >=0 and < getNumNodes().

Implemented in PbHexahedronCell, PbPixelCell, PbPyramidCell, PbQuadrangleCell, PbTetrahedronCell, PbTriangleCell, PbVoxelCell, and PbWedgeCell.

int PbCell::getNumEdges (  )  const [inline]

Gets the number of edges.

int PbCell::getNumFacets (  )  const [inline]

Gets the number of facets.

int PbCell::getNumNodes (  )  const [inline]

Gets the number of nodes.

SbVec3f PbCell::getValue ( const float *  weight,
const SbVec3f v 
) const

Gets the vector value of a point in this cell, given the point's weights.

float PbCell::getValue ( const float *  weight,
const float *  s 
) const

Gets the scalar value of a point in this cell, given the point's weights.

virtual SbVec3f PbCell::getValue ( const SbVec3f pcoord,
const SbVec3f v 
) const [virtual]

Get the vector value of a point in the cell.

Parameters:
pcoord [in] Parametric [0..1] coordinate of the point inside the cell.
v [in] The vector dataset to interpolate
Returns:
The interpolated value

Reimplemented in PbPixelCell, and PbVoxelCell.

virtual float PbCell::getValue ( const SbVec3f pcoord,
const float *  s 
) const [virtual]

Get the scalar value of a point in the cell.

Parameters:
pcoord [in] Parametric [0..1] coordinate of the point inside the cell.
s [in] The scalar dataset to interpolate
Returns:
The interpolated value

Reimplemented in PbPixelCell, and PbVoxelCell.

virtual float PbCell::getVolume (  )  const [pure virtual]

Gets the volume of the cell.

Returns always 0 for a 2D cell.

Implemented in PbHexahedronCell, PbPixelCell, PbPyramidCell, PbQuadrangleCell, PbTetrahedronCell, PbTriangleCell, PbVoxelCell, and PbWedgeCell.

virtual void PbCell::getWeight ( const SbVec3f pcoord,
float *  weight 
) const [pure virtual]

Gets the weights of a point defined by its parametric coordinates.

Implemented in PbHexahedronCell, PbPixelCell, PbPyramidCell, PbQuadrangleCell, PbTetrahedronCell, PbTriangleCell, PbVoxelCell, and PbWedgeCell.

virtual int PbCell::locatePoint ( const SbVec3f coord,
float  tolerance,
SbVec3f pcoord 
) const [pure virtual]

Returns 1 if the point is inside the cell, 0 otherwise.

Gets also the parametric coordinate of the point and its weights

Implemented in PbHexahedronCell, PbPixelCell, PbPyramidCell, PbQuadrangleCell, PbTetrahedronCell, PbTriangleCell, PbVoxelCell, and PbWedgeCell.

PbCell& PbCell::operator= ( const PbCell cell  ) 

Assignment operator.

Reimplemented from PbBase.

Reimplemented in PbHexahedronCell, PbPixelCell, PbPyramidCell, PbQuadrangleCell, PbTetrahedronCell, PbTriangleCell, PbVoxelCell, and PbWedgeCell.


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

Open Inventor Toolkit reference manual, generated on 12 Feb 2024
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/