Open Inventor Release 2024.1.0
 
Loading...
Searching...
No Matches
MoMeshCellShape Class Reference

MeshViz Rendering node that displays a set of cells of a mesh More...

#include <MeshVizXLM/mapping/nodes/MoMeshCellShape.h>

+ Inheritance diagram for MoMeshCellShape:

Public Member Functions

virtual SoType getTypeId () const
 Returns the type identifier for this specific instance.
 
 MoMeshCellShape ()
 Constructor.
 
const MiCellExtractUnstructuredgetUnstructuredExtractor ()
 Get extractor for reuse outside this node.
 
const MiCellExtractHexahedronIjkgetHexahedronIjkExtractor ()
 
const MiCellExtractIjkgetIjkExtractor ()
 
const MiCellExtractIjgetIjExtractor ()
 
template<>
std::vector< size_t > & buildIndexList ()
 
Deprecated
SoDEPRECATED const MiCellExtractHexahedronIjkgetUnstructuredIjkExtractor ()
 
SoDEPRECATED const MiCellExtractIjkgetRegularExtractor ()
 
SoDEPRECATED const MiCellExtractIjgetSurfaceRegularExtractor ()
 
- Public Member Functions inherited from MoMeshRepresentation
virtual void setExtractorCallback (MiExtractorCallback *extractorCallback)
 Set the extraction callback which will be called each time an extraction is performed.
 
virtual SoDEPRECATED void setExtractorCallback (MiExtractorCallback &extractorCallback)
 
- Public Member Functions inherited from MoMeshBaseRepresentation
virtual SbBool affectsState () const
 Returns TRUE if a node has an effect on the state during traversal.
 
- Public Member Functions inherited from SoNode
virtual void setOverride (const SbBool state)
 Turns the override flag on or off.
 
virtual SbBool isOverride () const
 Returns the state of the override flag.
 
virtual SoNodecopy (SbBool copyConnections=FALSE) const
 Creates and returns an exact copy of the node.
 
virtual void touch ()
 Marks an instance as modified, simulating a change to it.
 
- Public Member Functions inherited from SoFieldContainer
void setToDefaults ()
 Sets all fields in this object to their default values.
 
SbBool hasDefaultValues () const
 Returns TRUE if all of the object's fields have their default values.
 
SbBool fieldsAreEqual (const SoFieldContainer *fc) const
 Returns TRUE if this object's fields are exactly equal to fc's fields.
 
void copyFieldValues (const SoFieldContainer *fc, SbBool copyConnections=FALSE)
 Copies the contents of fc's fields into this object's fields.
 
SoNONUNICODE SbBool set (const char *fieldDataString)
 Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format.
 
SbBool set (const SbString &fieldDataString)
 Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format.
 
void get (SbString &fieldDataString)
 Returns the values of the fields of this object in the Open Inventor ASCII file format in the given string.
 
virtual int getFields (SoFieldList &list) const
 Appends references to all of this object's fields to resultList, and returns the number of fields appended.
 
virtual int getAllFields (SoFieldList &list) const
 Returns a list of fields, including the eventIn's and eventOut's.
 
virtual SoFieldgetField (const SbName &fieldName) const
 Returns a the field of this object whose name is fieldName.
 
virtual SoFieldgetEventIn (const SbName &fieldName) const
 Returns a the eventIn with the given name.
 
virtual SoFieldgetEventOut (const SbName &fieldName) const
 Returns the eventOut with the given name.
 
SbBool getFieldName (const SoField *field, SbName &fieldName) const
 Returns the name of the given field in the fieldName argument.
 
SbBool enableNotify (SbBool flag)
 Notification at this Field Container is enabled (if flag == TRUE) or disabled (if flag == FALSE).
 
SbBool isNotifyEnabled () const
 Notification is the process of telling interested objects that this object has changed.
 
virtual void setUserData (void *data)
 Sets application data.
 
void * getUserData (void) const
 Gets user application data.
 
- Public Member Functions inherited from SoBase
virtual SbName getName () const
 Returns the name of an instance.
 
virtual void setName (const SbName &name)
 Sets the name of an instance.
 
void setSynchronizable (const bool b)
 Sets this to be a ScaleViz synchronizable object.
 
bool isSynchronizable () const
 Gets the ScaleViz synchronizable state of this object.
 
- Public Member Functions inherited from SoRefCounter
void ref () const
 Adds a reference to an instance.
 
void unref () const
 Removes a reference from an instance.
 
void unrefNoDelete () const
 unrefNoDelete() should be called when it is desired to decrement the reference count, but not delete the instance if this brings the reference count to zero.
 
int getRefCount () const
 Returns current reference count.
 
void lock () const
 lock this instance.
 
void unlock () const
 unlock this instance.
 
- Public Member Functions inherited from SoTypedObject
SbBool isOfType (const SoType &type) const
 Returns TRUE if this object is of the type specified in type or is derived from that type.
 
template<typename TypedObjectClass >
SbBool isOfType () const
 Returns TRUE if this object is of the type of class TypedObjectClass or is derived from that class.
 

Static Public Member Functions

static SoType getClassTypeId ()
 Returns the type identifier for this class.
 
- Static Public Member Functions inherited from MoMeshSurfaceRepresentation
static SoType getClassTypeId ()
 Returns the type identifier for this class.
 
- Static Public Member Functions inherited from MoMeshRepresentation
static SoType getClassTypeId ()
 Returns the type identifier for this class.
 
- Static Public Member Functions inherited from MoMeshBaseRepresentation
static SoType getClassTypeId ()
 Returns the type identifier for this class.
 
- Static Public Member Functions inherited from MoActionNode
static SoType getClassTypeId ()
 Returns the type identifier for this class.
 
- Static Public Member Functions inherited from SoNode
static SoType getClassTypeId ()
 Returns the type identifier for this class.
 
static SoNodegetByName (const SbName &name)
 A node's name can be set using SoBase::setName().
 
static int getByName (const SbName &name, SoNodeList &list)
 A node's name can be set using SoBase::setName().
 
- Static Public Member Functions inherited from SoFieldContainer
static SoType getClassTypeId ()
 Returns the type of this class.
 
- Static Public Member Functions inherited from SoBase
static SoType getClassTypeId ()
 Returns type identifier for this class.
 
- Static Public Member Functions inherited from SoTypedObject
static SoType getClassTypeId ()
 Returns the type identifier for this class.
 

Public Attributes

SoSFBool inclusiveList
 When set to TRUE, the cellIndices field will represent the list of cells to display and the list of cells to exclude otherwise.
 
SoMFInt32 cellIndices
 Field representing the list of cells given by their index in the mesh.
 
SoSFFloat factor
 Field representing the factor to resize extracted cells.
 
SoSFBool showCellName
 When set to TRUE, the cell's name is displayed near the cell.
 
SoSFBool showNodeName
 When set to TRUE, the node's names are displayed near the cell.
 
SoSFFloat offset
 Field representing the distance to shift the display of node names away from the node coordinates.
 
SoSFBool relativeOffset
 When set to TRUE, the distance between the node and the name to display is relative to the size of the cell
.
 
- Public Attributes inherited from MoMeshRepresentation
SoSFInt32 colorScalarSetId
 Field representing the scalar set node to be used to map colors onto the representation.
 
SoSFBool parallel
 If TRUE, the node tries to launch the extraction in parallel if this is supported by the associated extractor.
 

Friends

template<MeshType _meshType>
class MdLineCellExtract
 

Detailed Description

MeshViz Rendering node that displays a set of cells of a mesh

This node renders an unstructured surface mesh defined by a set of cells in the original mesh. The set of cells to be rendered is specified by a list of cell indices. The size of the rendered cells can be scaled up or down using the scaleFactor field and annotation of the cell and node names can optionally be displayed.

The cell name annotation is defined in the following way:

  • If an MoStringSet node is inherited in the scene graph with the suitable type and PER_CELL binding, the cell name is defined by the string returned by MiStringSetI::get or MiStringSetIj::get or MiStringSetIjk::get. The suitable type depends on the mesh type handled by the inherited MoMesh instance. For instance if the MoMesh handles an unstructured mesh (see MiVolumeMeshUnstructured and MiSurfaceMeshUnstructured) a suitable string set as cell name is of type MiStringSetI. If the MoMesh handles an MiVolumeMeshHexahedronIjk, a suitable string set as cell name is of type MiStringSetIjk. If several MoStringSet are inherited with the suitable string set type and PER_CELL binding, the last one on the state list is used.
  • If no suitable MoStringSet is inherited in the scene graph, the cell name is defined by the string corresponding to the serialization of its cell ids. For Ij or Ijk mesh type the ij or ijk ids are separated by commas.

The node name annotation is defined in the same way but the suitable binding is obviously PER_NODE.

The cells can be colored using a scalar set defined in the colorScalarSetId inherited field. This is an index into the list of scalar sets existing in the traversal state (see the MoScalarSetxxx nodes). To disable coloring set this field to -1.

FILE FORMAT/DEFAULT

    MeshCellShape {
    colorScalarSetId 0
    parallel TRUE
    inclusiveList TRUE
    cellIndices 0
    scaleFactor 1.0
    showCellName FALSE
    showNodeName FALSE
    }

SEE ALSO

MiCellExtractUnstructured, MiCellExtractHexahedronIjk, MiCellExtractIjk, MiCellExtractIj

Definition at line 107 of file MoMeshCellShape.h.

Constructor & Destructor Documentation

◆ MoMeshCellShape()

MoMeshCellShape::MoMeshCellShape ( )

Constructor.

Member Function Documentation

◆ buildIndexList()

template<>
std::vector< MiCellExtractIjk::triplet > & MoMeshCellShape::buildIndexList ( )
inline

Definition at line 291 of file MoMeshCellShape.h.

◆ getClassTypeId()

static SoType MoMeshCellShape::getClassTypeId ( )
static

Returns the type identifier for this class.


◆ getHexahedronIjkExtractor()

const MiCellExtractHexahedronIjk * MoMeshCellShape::getHexahedronIjkExtractor ( )

◆ getIjExtractor()

const MiCellExtractIj * MoMeshCellShape::getIjExtractor ( )

◆ getIjkExtractor()

const MiCellExtractIjk * MoMeshCellShape::getIjkExtractor ( )

◆ getRegularExtractor()

SoDEPRECATED const MiCellExtractIjk * MoMeshCellShape::getRegularExtractor ( )

◆ getSurfaceRegularExtractor()

SoDEPRECATED const MiCellExtractIj * MoMeshCellShape::getSurfaceRegularExtractor ( )

◆ getTypeId()

virtual SoType MoMeshCellShape::getTypeId ( ) const
virtual

Returns the type identifier for this specific instance.

Reimplemented from MoMeshSurfaceRepresentation.

◆ getUnstructuredExtractor()

const MiCellExtractUnstructured * MoMeshCellShape::getUnstructuredExtractor ( )

Get extractor for reuse outside this node.

Note
The returned pointer may be null if a mesh has not been set in the scene graph or if no render action has traversed the scene graph. Use the method corresponding to the type of mesh stored in the scene graph.

◆ getUnstructuredIjkExtractor()

SoDEPRECATED const MiCellExtractHexahedronIjk * MoMeshCellShape::getUnstructuredIjkExtractor ( )

Friends And Related Symbol Documentation

◆ MdLineCellExtract

template<MeshType _meshType>
friend class MdLineCellExtract
friend

Definition at line 214 of file MoMeshCellShape.h.

Member Data Documentation

◆ cellIndices

SoMFInt32 MoMeshCellShape::cellIndices

Field representing the list of cells given by their index in the mesh.


If the mesh is unstructured, each value of cellIndices represents one cell.
If the mesh is a structured surface mesh, each cell is defined by a pair of indices (cellIndices(i),cellIndices(i+1)).
If the mesh is a structured volume mesh, each cell is defined by three indices (cellIndices(i),cellIndices(i+1),cellIndices(i+2)).
So, depending on the type of mesh, one, two or three indices are necessary to define each cell.

Note
If the index list is empty, no cells are displayed when inclusiveList is set to TRUE and all cells otherwise. Default is empty.

Definition at line 133 of file MoMeshCellShape.h.

◆ factor

SoSFFloat MoMeshCellShape::factor

Field representing the factor to resize extracted cells.


A factor lower than one will shrink cells, whereas a factor greater than one will expand cells.
Default is 1.0, which will not resize cells.

Definition at line 140 of file MoMeshCellShape.h.

◆ inclusiveList

SoSFBool MoMeshCellShape::inclusiveList

When set to TRUE, the cellIndices field will represent the list of cells to display and the list of cells to exclude otherwise.

Default is TRUE.

Definition at line 122 of file MoMeshCellShape.h.

◆ offset

SoSFFloat MoMeshCellShape::offset

Field representing the distance to shift the display of node names away from the node coordinates.


A negative offset will display node names inside the cell, whereas a positive offset will display them outside the cell.

Note
The offset is relative to the cell's size if the relativeOffset field is set to TRUE. Otherwise it represents an absolute distance. Default is 0.1, which will slightly shift node names outside the cell.

Definition at line 163 of file MoMeshCellShape.h.

◆ relativeOffset

SoSFBool MoMeshCellShape::relativeOffset

When set to TRUE, the distance between the node and the name to display is relative to the size of the cell
.

Note
For unstructured meshes, the offset field is then multiplied by the getRelativeSize() method from the cell interface. A default implementation of getRelativeSize() returns 1 which will leave the offset as an absolute distance. getRelativeSize() needs to be overloaded to activate this feature for unstructured mesh (see class MiCell). Default is FALSE.

Definition at line 174 of file MoMeshCellShape.h.

◆ showCellName

SoSFBool MoMeshCellShape::showCellName

When set to TRUE, the cell's name is displayed near the cell.

Default is FALSE.
The documentation of the class MoMeshCellShape describes how the cell's name is defined.

Definition at line 146 of file MoMeshCellShape.h.

◆ showNodeName

SoSFBool MoMeshCellShape::showNodeName

When set to TRUE, the node's names are displayed near the cell.

Default is FALSE.
The documentation of the class MoMeshCellShape describes how the node's name is defined.

Definition at line 152 of file MoMeshCellShape.h.


The documentation for this class was generated from the following file: