24#ifndef _PB_PYRAMIDCELL_
25#define _PB_PYRAMIDCELL_
153 SbBool set(
int index,
int *node_ids,
float *x,
float *
y,
float *z);
155 void print(FILE *fp)
const;
159 virtual int getOrdering()
const;
162 return c_edgeNodes[edge];
166 PiMarchingCase* getMCcase(
unsigned char mc_case)
const {
167 return c_MarchingLookup[mc_case];
175 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[8][2];
191 static PiMarchingCase* c_MarchingLookup[32];
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 abstract mesh...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a pyramid cell o...
virtual float getArea() const
Always returns 0.
virtual void getNodesIndexOfFacet(int facet, PbArrayOfInt &nodes_index) const
Returns the array of index mesh's nodes that belong to a given facet of this cell.
PbPyramidCell & operator=(const PbPyramidCell &cell)
Assignment operator.
void getDerivs(const SbVec3f &pcoord, float *weight) const
Returns the derivs of a point defined by its parametric coordinates.
virtual void getNodesLocalIndexOfEdge(int edge, PbArrayOfInt &nodes_index) const
Returns the array of 2 nodes index that belong to a given edge of this cell.
~PbPyramidCell()
Destructor.
virtual float getVolume() const
Returns the volume of the cell.
PbPyramidCell(const PbPyramidCell &cell)
Copy constructor.
virtual void getNodesLocalIndexOfFacet(int facet, PbArrayOfInt &nodes_index) const
Returns the array of node index that belong to a given facet of this cell.
virtual void getWeight(const SbVec3f &pcoord, float *weight) const
Returns the 5 weights of a point defined by its parametric coordinates.
virtual int locatePoint(const SbVec3f &coord, float tolerance, SbVec3f &pcoord) const
Returns 1 if the point is inside the cell, 0 otherwise.
virtual float getLongestEdgeLength() const
Returns the length of the longest edge of the cell.
PbPyramidCell(const PbMesh *owner_mesh)
Constructor of a default simple cell.
virtual void getNodesIndexOfEdge(int edge, PbArrayOfInt &nodes_index) const
Returns the array of 2 index mesh's nodes that belong to a given edge of this cell.