Class MiCylinderSliceExtractIjk
- java.lang.Object
-
- com.openinventor.meshvizxlm.extractors.slice.MiCylinderSliceExtractIjk
-
- All Implemented Interfaces:
MiBaseExtractor
,MiExtractorIjk
- Direct Known Subclasses:
MiCylinderSliceExtractHexahedronIjk
public abstract class MiCylinderSliceExtractIjk extends java.lang.Object implements MiExtractorIjk
Cylinder slice extractor for structured volume meshes.A cylinder slice is a surface mesh defined by the intersection of a cylinder of infinite length with the input mesh. The cylinder is defined by a point on its central axis, a vector representing the central axis direction and the radius.
Additional data sets can be mapped onto this extracted surface by calling the
extractScalarSet(MiScalardSetIjk)
orextractVec3Set(MiVec3dSetIjk)
methods.The following sample code shows how to extract a cylinder slice from a mesh:
{ MiCylinderSliceExtractIjk cylinderSliceExtract = MiCylinderSliceExtractIjk.getNewInstance(mesh); MeXSurfaceMeshUnstructured cylinderSlice = cylinderSliceExtract.extractSlice(center, radius, direction, null); }
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract MeXScalardSetI
extractScalarSet(MiScalardSetIjk scalarSet)
Computes aPER_CELL
scalar set on the extracted cylinder slice.abstract MeXSurfaceMeshUnstructured<MeXSurfaceCell,MeXSurfaceTopologyExplicitI<MeXSurfaceCell>,MeXGeometryI>
extractSlice(SbVec3d center, double radius, SbVec3d direction, MiCellFilterIjk filter)
Builds the topology and geometry of a cylinder slice intersecting the volume mesh.abstract MeXVec3dSetI
extractVec3Set(MiVec3dSetIjk vectorSet)
Computes a vector set on the extracted cylinder slice.abstract MeXSurfaceMeshUnstructured<MeXSurfaceCell,MeXSurfaceTopologyExplicitI<MeXSurfaceCell>,MeXGeometryI>
getExtract()
Returns the result of the extraction as a mesh.static <T extends MiTopologyIjk,G extends MiGeometryHexahedronIjk>
MiCylinderSliceExtractIjkgetNewInstance(MiVolumeMeshVertexHexahedronIjk<T,G> mesh)
Create an instance of cylinder slice extractor for a non indexed hexahedron volume mesh IJK.-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.openinventor.meshvizxlm.extractors.MiBaseExtractor
setExtractorCallback
-
Methods inherited from interface com.openinventor.meshvizxlm.extractors.MiExtractorIjk
addCellRange, clearCellRanges
-
-
-
-
Method Detail
-
getNewInstance
public static <T extends MiTopologyIjk,G extends MiGeometryHexahedronIjk> MiCylinderSliceExtractIjk getNewInstance(MiVolumeMeshVertexHexahedronIjk<T,G> mesh)
Create an instance of cylinder slice extractor for a non indexed hexahedron volume mesh IJK.- Parameters:
mesh
- the input mesh- Returns:
- a cylinder slice extractor for a non indexed hexahedron volume mesh IJK.
-
extractSlice
public abstract MeXSurfaceMeshUnstructured<MeXSurfaceCell,MeXSurfaceTopologyExplicitI<MeXSurfaceCell>,MeXGeometryI> extractSlice(SbVec3d center, double radius, SbVec3d direction, MiCellFilterIjk filter)
Builds the topology and geometry of a cylinder slice intersecting the volume mesh.- Parameters:
center
- a point located on the axis of the cylinderradius
- the radius of the cylinderdirection
- a vector representing the axis of the cylinderfilter
- the cell filter- Returns:
- an unstructured surface mesh representing the cylinder slice
-
extractScalarSet
public abstract MeXScalardSetI extractScalarSet(MiScalardSetIjk scalarSet)
Computes aPER_CELL
scalar set on the extracted cylinder slice.Note: The argument i,j,k of the method
MiScalardSetIjk.get(int, int, int)
refers to the cell (i,j,k). Thus the binding of the input set must bePER_CELL
. AnUnsupportedOperationException
is thrown otherwise.- Parameters:
scalarSet
- the input scalar set defined on the volume mesh- Returns:
- the output scalar set defined on the resulting cylinder slice mesh
-
extractVec3Set
public abstract MeXVec3dSetI extractVec3Set(MiVec3dSetIjk vectorSet)
Computes a vector set on the extracted cylinder slice.Note: The argument i,j,k of the method
MiVec3dSetIjk.get(int, int, int)
refers to the cell (i,j,k). Thus the binding of the input set must bePER_CELL
. AnUnsupportedOperationException
is thrown otherwise.- Parameters:
vectorSet
- the input vector set defined on the volume mesh- Returns:
- the output vector set defined on the resulting cylinder slice mesh
-
getExtract
public abstract MeXSurfaceMeshUnstructured<MeXSurfaceCell,MeXSurfaceTopologyExplicitI<MeXSurfaceCell>,MeXGeometryI> getExtract()
Returns the result of the extraction as a mesh.- Returns:
- result of the extraction as a mesh
-
-