31#include <Inventor/STL/vector>
204 float getValue(
const float *weight,
const float *s)
const;
214 virtual void print(FILE *fp)
const;
227 virtual int getOrdering()
const {
return 1;}
236 virtual void getEdgesCrossingPlane(
SbPlane &plane,
239 PbArrayOfFloat *edges_ratio)
const;
243 virtual PiMarchingCase* getMCcase(
unsigned char mc_case)
const;
250 void setTopology(
int index,
int *node_indices) {
251 m_nodeIndices = node_indices;
256 const int *getNodeIndexPtr()
const {
return m_nodeIndices; }
259 virtual unsigned char getIsosurfCaseId(
SbBoolVector &nodes_sign)
const = 0;
270 void copy(
const PbCell &cell) ;
275inline PiMarchingCase*
276PbCell::getMCcase(
unsigned char)
const
std::vector< bool > SbBoolVector
DTEXT Dynamic array of int .
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Abstract class for all b...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines an abstract cell...
int getNumEdges() const
Gets the number of edges.
virtual float getValue(const SbVec3f &pcoord, const float *s) const
Get the scalar value of a point in the cell.
PbCell & operator=(const PbCell &cell)
Assignment operator.
float getValue(const float *weight, const float *s) const
Gets the scalar value of a point in this cell, given the point's weights.
int getIndex() const
Gets the index of the cell in the mesh.
void getNodesIndex(PbArrayOfInt &nodes_index) const
Gets the array of index mesh's nodes that belongs to this cell.
virtual void getNodesIndexOfEdge(int edge, PbArrayOfInt &nodes_index) const =0
Gets the array of 2 index mesh's nodes that belongs to a given edge of this cell.
virtual float getVolume() const =0
Gets the volume of the cell.
int getNumFacets() const
Gets the number of facets.
virtual float getLongestEdgeLength() const =0
Gets the length of the longest edge of the cell.
virtual void getNodesLocalIndexOfEdge(int edge, PbArrayOfInt &nodes_index) const =0
Gets the array of 2 nodes index that belongs to a given edge of this cell.
virtual int locatePoint(const SbVec3f &coord, float tolerance, SbVec3f &pcoord) const =0
Returns 1 if the point is inside the cell, 0 otherwise.
virtual void getNodesIndexOfFacet(int facet, PbArrayOfInt &nodes_index) const =0
Gets the array of index mesh's nodes that belongs to a given facet of this cell.
virtual void getNodesLocalIndexOfFacet(int facet, PbArrayOfInt &nodes_index) const =0
Gets the array of node index that belongs to a given facet of this cell.
PbCell(const PbCell &cell)
Copy constructor.
virtual SbBox3f getBoundingBox() const
Gets the cell's bounding box.
virtual void getWeight(const SbVec3f &pcoord, float *weight) const =0
Gets the weights of a point defined by its parametric coordinates.
SbVec3f getNodeCoord(int nod) const
Gets the coordinate of the nod (nod must be >=0 and < getNumNodes()).
int getNumNodes() const
Gets the number of nodes.
SbVec3f getValue(const float *weight, const SbVec3f *v) const
Gets the vector value of a point in this cell, given the point's weights.
virtual void getBounds(float &xmin, float &ymin, float &zmin, float &xmax, float &ymax, float &zmax) const
Gets the cell's bounds.
virtual float getArea() const =0
Gets the area of a cell.
int getNodeIndex(int nod) const
Gets the index (in the mesh) of a nod (nod must be >=0 and < getNumNodes()).
virtual SbVec3f getValue(const SbVec3f &pcoord, const SbVec3f *v) const
Get the vector value of a point in the cell.
virtual SbVec3f getCenter() const
Gets the cell's geometric center.
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Base class for all volum...