47#include <Inventor/STL/vector>
51#pragma warning(disable:4251)
56class PiContouringLines;
57class PiContouringFilled;
58class PiTextureContouring;
304 static void initClass() ;
305 static void exitClass() ;
309 void push_back_value(
float v) {
310 if (m_numValues == m_allocPointValues) {
311 m_allocPointValues *= 2;
312 m_pointValues = (
float *)realloc(m_pointValues, m_allocPointValues*
sizeof(
float));
314 m_pointValues[m_numValues] = v;
317 void push_back_coord_index(int32_t
id) {
318 m_coordIndexArray.push_back(
id);
320 void push_back_cell_index(int32_t
id) {
321 m_cellIndexArray.push_back(
id);
326 if (m_coordIndexArray.size() == 0)
329 coord_index->
setValuesPointer((
int)m_coordIndexArray.size(),&*(m_coordIndexArray.begin()));
335 virtual size_t getMemorySize();
340 static size_t getClassMemorySize();
349 void clearOivNodes();
351 virtual void basicObjectChange(
PbBase *basicObj);
352 virtual void setDefaultOnNonWritingFields();
353 virtual void addElementsAllCaches() ;
354 virtual void preRebuild();
355 virtual void postRebuild() ;
356 virtual void insertDefaultShapeHints();
359 int TAllocAdjIsovalues;
360 int TAdjNumIsovalues;
361 float *TAdjIsovalues;
364 void adjustIsovalList (
int num_v0,
const float* v0,
365 int num_v1,
const float* v1,
366 int num_v2,
const float* v2 );
367 void adjustIsoval (
int num_values,
const float *values,
float &iso_value);
368 void adjustIsovalMultiple (
int num_v0,
const float* v0,
369 int num_v1,
const float* v1,
370 int num_v2,
const float* v2,
374 SbVec3f *newSbVec3f(
int numVec3f) ;
382 SbBool m_meshMaterialJustAllocated;
393 SbBool m_meshTexCoordinatesJustAllocated;
401 PiTextureContouring *m_textureContouring ;
402 PiContouringFilled *contouringFilled;
403 PiContouringLines *contouringLines;
408 static int m_numPoints;
409 static int m_allocPoints;
410 static float (*m_points)[3];
411 static int m_numValues;
412 static int m_allocPointValues;
413 static float *m_pointValues;
415 std::vector< int > m_coordIndexArray;
416 std::vector< int > m_cellIndexArray;
425 const float *m_mappedValues;
426 std::vector< int > m_cellIds;
428 void addDataMappingInCache();
429 void addIsovaluesListInCache(
SbBool alwaysAdd=
FALSE);
431 void mapColor(
int num_val=0,
const float *from_values=NULL,
436 uint32_t m_geometryId;
437 uint32_t m_topologyId;
438 int m_mappedDataSetIndex;
439 uint32_t m_mappedDataSetId;
440 uint64_t m_cellFilterId;
441 uint32_t m_dataFilterId;
442 uint32_t m_dataMappingId;
443 int m_isoDataSetIndex;
444 uint32_t m_isoDataSetId;
456 FieldSensorList m_fieldSensorList ;
#define TRUE
Possible value of SbBool.
#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> Abstract class for data ...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Class to define a list o...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Class to define linear d...
<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> Base class for all 3Ddat...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Interface class defining...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Base class for all mesh ...
SoSFBool smoothTextureContouring
If set to true and combined with COLOR_TEXTURE_CONTOURING coloring type, the texture used for colorin...
SoSFFloat creaseAngle
Indicates the minimum angle (in radians) between two adjacent face normals required to form a sharp c...
ColoringType
Coloring type.
@ COLOR_TEXTURE_CONTOURING
SoSFInt32 vecsIndex
Defines the index of the set of vectors for all representations which need a vector at each mesh node...
SoSFInt32 valuesIndexForCellFilter
Specifies the index of the set of values used to filter cells for this mesh representation.
SoSFEnum coloringType
Defines the type of method used to color each mesh element, mesh edge or mesh contour line of a repre...
void setIsovaluesList(PbIsovaluesList *isovalues_list)
Sets a reference to a PbIsovaluesList object to define a list of isovalues.
const PbIsovaluesList * getIsovaluesList() const
Returns the current PbIsovaluesList object.
void setMesh(PbMesh *mesh)
Sets a reference to a PbMesh object.
const PbDataMapping * getDataMapping() const
Returns the current PbDataMapping object.
const PbDataMapping * getModuleDataMapping() const
Returns the current PbDataMapping object for the association color-vectors module.
const PbMesh * getMesh() const
Gets the current PbMesh object.
SoSFInt32 valuesIndex
Defines the index of the set of values for the coloring.
void setDataMapping(PbDataMapping *data_mapping)
Sets a reference to a PbDataMapping object for the association color-value.
SoSFNode moduleDataMapping
Field used to do coloring according the module of the vectors.
void setModuleDataMapping(PbDataMapping *mod_data_mapping)
Sets a reference to a PbDataMapping object for the association color-vectors module.
Maintains a list of pointers to fields.
Base class for all group nodes.
Abstract base class for all indexed vertex-based shapes.
SoMFInt32 coordIndex
The indices of the coordinates that the shape uses as its vertices.
Multiple-value field containing any number of int32_t integers.
void setValuesPointer(int num, const int32_t *userData)
Sets the field to contain the num values stored in userData array.
void setNum(int num)
Forces this field to have exactly num values, inserting or deleting values as necessary.
Node that specifies how multiple materials are bound to shapes.
Surface material definition node.
Node that specifies how multiple surface normals are bound to shapes.
Node that defines surface normals for shapes.
Field containing a single Boolean value.
Field containing an enumerated value.
Field containing a floating-point value.
Field containing a int32_t integer.
Field containing a a node.
Node that provides hints about shapes.
Abstract base class for all shape nodes.
2D texture coordinate node.
Node that specifies how texture coordinates are bound to shapes.