Click or drag to resize
SoVolumeMaskEditSolidShape Method

Replace all voxels inside the given shape with the specified value.

Namespace: OIV.VolumeViz.Nodes
Assembly: OIV.VolumeViz (in OIV.VolumeViz.dll) Version: 2024.1.1.0 (2024.1.1)
Syntax
public override int EditSolidShape(
	SoNode solidShape,
	double value
)

Parameters

solidShape
Type: OIV.Inventor.NodesSoNode
value
Type: SystemDouble

Return Value

Type: Int32
Remarks

Returns 0 if successful.

The geometry defined under solidShape must represent a list of closed surfaces otherwise the result is unpredictable. solidShape must not contain any lines or open polyhedrons (polyhedron with shapes). The result is based on the odd-winding rule, so the result is not necessarily the union or the intersection of the closed surfaces. If you want to voxelize lines or single polygons, see also the OIV.VolumeViz.Nodes.SoVolumeMask.EditSurfaceShape(OIV.Inventor.Nodes.SoNode, System.Single, System.Double) method.

If the goal is to define a shape which is the results of the intersection/union of multiple closed surfaces, see the OIV.Inventor.Nodes.SoCSGShape node.

  • solidShape is defined in the same 3D space as the dataSet. The solidShape can be deleted after calling this function.

  • Only VolumeMask with data size of 1 (ie. byte or unsigned byte) can be edited.

  • All zero values are set to zero and all non-zero values are set to 1.

Call OIV.VolumeViz.Nodes.SoVolumeData.StartEditing(System.Int32@) before calling this method.

See Also