24#ifndef _PB_HEXAHEDRONCELL_
25#define _PB_HEXAHEDRONCELL_
151 SbBool set(
int index,
int *node_ids,
float *x,
float *
y,
float *z);
153 void print(FILE *fp)
const;
157 virtual int getOrdering()
const;
160 return c_edgeNodes[edge];
164 static PiMarchingCase* c_MarchingLookup[256];
166 PiMarchingCase* getMCcase(
unsigned char mc_case)
const {
167 return c_MarchingLookup[mc_case];
176 static void finish();
180 virtual unsigned char getIsosurfCaseId(
SbBoolVector &nodes_sign)
const;
187 static PiMarchingCase* addMC(PiMarchingCase *mcase);
188 static PiMarchingCase* addMCBoth(PiMarchingCase *mcase);
190 static int c_edgeNodes[12][2];
192 static size_t c_numInit;
std::vector< bool > SbBoolVector
std::ostream & operator<<(std::ostream &os, const SoPathList &pathList)
Writes the list to the specified output stream.
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...
virtual float getVolume() const
Gets the volume of the cell.
virtual void getWeight(const SbVec3f &pcoord, float *weight) const
Gets the 8 weights of a point defined by its parametric coordinates.
~PbHexahedronCell()
Destructor.
virtual float getArea() const
Returns always 0.
virtual void getNodesLocalIndexOfFacet(int facet, PbArrayOfInt &nodes_index) const
Gets the array of node index that belongs to a given facet of this cell.
PbHexahedronCell(const PbMesh *owner_mesh)
Constructor of a default simple cell.
void getDerivs(const SbVec3f &pcoord, float *weight) const
Gets the derivs of a point defined by its parametric coordinates.
virtual void getNodesLocalIndexOfEdge(int edge, PbArrayOfInt &nodes_index) const
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
Returns 1 if the point is inside the cell, 0 otherwise.
virtual void getNodesIndexOfEdge(int edge, PbArrayOfInt &nodes_index) const
Gets the array of 2 index mesh's nodes that belongs to a given edge of this cell.
PbHexahedronCell & operator=(const PbHexahedronCell &cell)
Assignment operator.
virtual float getLongestEdgeLength() const
Gets the length of the longest edge of the cell.
PbHexahedronCell(const PbHexahedronCell &cell)
Copy constructor.
virtual void getNodesIndexOfFacet(int facet, PbArrayOfInt &nodes_index) const
Gets the array of index mesh's nodes that belongs to a given facet of this cell.
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines an abstract mesh...