74 static void initClass() ;
75 static void exitClass() ;
77 void indexedMeshLevelSurfShapeIndices(
PbIndexedMesh3D *mesh,
int surfOrientation=1,
78 const float *per_cell_value=NULL);
80 const float *per_cell_value=NULL) ;
81 void hexahedronMeshLevelSurfShapeIndices(
PbHexahedronMesh3D *mesh,
int surfOrientation=1,
82 const float *percell_value=NULL) ;
83 virtual void addOptQuadrangle(
int num_quad,
int *quad_nodes,
int cell_index);
85 virtual const float *getIsosurfDataSet() {
return NULL; }
86 virtual float getIsosurfValue()
const {
return 0; }
87 virtual int getSurfOrientation() {
return 1; }
89 int addSurfPoint (
int nod_ind1,
int nod_ind2, int32_t &point_index);
90 void computeCrossPointCoord(
int index,
const float *x,
const float *
y,
const float *z,
const float *v,
91 int n0,
int n1,
float d0,
float d1);
96 virtual size_t getMemorySize();
97 size_t getHashTableMemorySize();
102 int getNumIsoCells() {
103 return m_numIsoCells;
109 void clearIsoCells() {
120 virtual void basicObjectChange(
PbBase *basicObj);
121 virtual void preRebuild();
123 void crossPlaneAndQuadrangle(
const float *x,
const float *
y,
const float *z,
const float *v,
124 const int32_t *quad_nodes,
const int32_t *quad_ind,
float xn,
float yn,
float zn,
125 float dist_plane_orig,
SbBool &intersect,int32_t *point_ind);
127 float xn,
float yn,
float zn,
float dist_to_origin,
130 float xn,
float yn,
float zn,
float dist_to_origin,
133 virtual void initOptQuadrangleList();
134 virtual void addLevelSurfOptQuadrangle();
137 void makeCrossContour(
float dist_to_origin,
float xn,
float yn,
float zn,
138 const float *x,
const float *
y,
const float *z,
const float *nod_values,
140 void initSurfPointList();
143 void updateSurfaceShapeBindings(
SbBool strip_set_used=
FALSE);
145 void meshLevelSurf(
const PbMesh3D *mesh);
147 void updateLevelSurfTopology(
const float *values,
float &isovalue);
148 void updateLevelSurfCoord(
const float *values,
float isovalue);
149 void updateLevelSurfColors(
const float *values,
float isovalue);
150 void updateLevelSurfTextures();
151 void updateLevelSurfContouring();
152 void updateLevelSurfPointValues(std::vector< float > &point_values);
154 virtual int getIsosurfDataSetId()
const {
return -1; }
155 virtual int getIsosurfDataSetIndex()
const {
return -1; }
156 virtual SbVec3f getOverallNormal()
const {
return SbVec3f(0,0,0); }
160 mutable PiMeshSkin *m_skin;
164 mutable int m_numIsoCells;
185 Tedge_interpol *TTabEdgeInterpol;
186 int TAllocEdgeInterpol;
187 int TNumEdgeInterpol;
std::vector< bool > SbBoolVector
#define FALSE
Possible value of SbBool.
#define SO_KIT_HEADER(className)
<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 grid...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a mesh of hexahe...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a volume mesh of...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines an abstract volu...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a parallel carte...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a regular cartes...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines a mesh of tetrah...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Base class for all volum...
void setMesh(PbMesh3D *mesh)
Defines the current volume mesh.
const PbMesh3D * getMesh() const
Gets the current volume mesh.
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Base class for all mesh ...
Base class for all group nodes.
Indexed polyline shape node.
Multiple-value field containing any number of int32_t integers.
Multiple-value field containing any number of three-dimensional vectors.
Node that defines surface normals for shapes.