Class MoCellFilter

All Implemented Interfaces:
SafeDisposable

public class MoCellFilter extends MoActionNode
Property node that defines a cell filter.

Filtering cells is a way to specify which cells are used and which cells are ignored during a mesh extraction.
The application must create a class implementing the MiCellFilter interface. A cell filter class must implement the method acceptCell() with either 1, 2 or 3 indices as arguments. When the method acceptCell() returns false, the cell identified by these indices is not taken into account by the extraction. It is as if the mesh does not contain this cell.

Note: Each time the current MiCellFilter is updated, touch() must be called to mark the node has modified. However MiCellFilter.getTimeStamp() must return a different value than before to actually trigger a new rendering.

See Also:
  • Constructor Details

    • MoCellFilter

      public MoCellFilter()
      Constructs a property node with no cell filter defined.
  • Method Details

    • doAction

      public void doAction(SoAction action)
      Overrides:
      doAction in class SoNode
    • setCellFilter

      public void setCellFilter(MiCellFilterI cellFilterI)
      Sets the cell filter for unstructured meshes. This node is also marked as modified by calling touch().
      Note: When setting a new filter, the MiCellFilter.getTimeStamp() must return a different value than previously to actually take into account the change of filter.
      Parameters:
      cellFilterI - the cell filter to set
    • setCellFilter

      public void setCellFilter(MiCellFilterIj cellFilterIj)
      Sets the cell filter for structured surface meshes. This node is also marked as modified by calling touch().
      Note: When setting a new filter, the MiCellFilter.getTimeStamp() must return a different value than previously to actually take into account the change of filter.
      Parameters:
      cellFilterIj - the cell filter to set
    • setCellFilter

      public void setCellFilter(MiCellFilterIjk cellFilterIjk)
      Sets the cell filter for structured volume meshes. This node is also marked as modified by calling touch().
      Note: When setting a new filter, the MiCellFilter.getTimeStamp() must return a different value than previously to actually take into account the change of filter.
      Parameters:
      cellFilterIjk - the cell filter to set
    • reset

      public void reset()
      Reset the cell filter interface to null (same as calling setCellFilter(null)). This node is also marked as modified by calling touch().
    • getCellFilter

      public MiCellFilter getCellFilter()
      Returns the cell filter interface defined for this node.
      Returns:
      the cell filter interface