Class MxHexahedronCellExtract
- java.lang.Object
-
- com.openinventor.meshvizxlm.extractors.cell.MxGenericCellExtract
-
- com.openinventor.meshvizxlm.extractors.cell.MxCellExtract
-
- com.openinventor.meshvizxlm.extractors.cell.MxHexahedronCellExtract
-
public class MxHexahedronCellExtract extends MxCellExtract
Utility class for hexahedron cells.Utility class that provides a static implementation of
MiVolumeCellinterface methods for a hexahedron cell. This class is provided to make it easier to create a class that implements theMiVolumeCellinterface for a hexahedron cell.- Extraction of the topology of an isosurface in a hexahedron
SeegetIsosurfTopology(int, int[]) - Localization test
SeeisPointInsideCell(MiGeometryI, MiVolumeCell, double[], double[])
getIsosurfTopology) is defined according to this node numbering.Nodes and faces numbering
- Extraction of the topology of an isosurface in a hexahedron
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static int[]getIsosurfTopology(int caseId, int[] edges)Returns the isosurface topology of the associated case Id.static doublegetLongestEdgeLength(MiGeometryI meshGeometry, MiVolumeCell cell)Gets the longest edge of a hexahedron cell.static booleanisPointInsideCell(MiGeometryI meshGeometry, MiVolumeCell hexahedronCell, double[] point, double[] weights)Checks if a point is inside or outside an hexahedron cell.-
Methods inherited from class com.openinventor.meshvizxlm.extractors.cell.MxCellExtract
getCenter
-
-
-
-
Method Detail
-
isPointInsideCell
public static boolean isPointInsideCell(MiGeometryI meshGeometry, MiVolumeCell hexahedronCell, double[] point, double[] weights)
Checks if a point is inside or outside an hexahedron cell.This static method helps to implement the method
MiCell.isPointInsideCell(MiGeometryI, double[], double[])for a hexahedron cell.- Parameters:
meshGeometry- the geometry of the meshhexahedronCell- the input cell.point- the input point given in the same space coordinate as meshGeometryweights- the array into which the weight values are to be stored. This method computes the 8 values weights[0-7] if the point is inside the cell. It assumes the weights array has been already allocated. Its size must be set to 8 (at least) before calling this method- Returns:
trueif the point is inside the cell
-
getLongestEdgeLength
public static double getLongestEdgeLength(MiGeometryI meshGeometry, MiVolumeCell cell)
Gets the longest edge of a hexahedron cell.- Parameters:
meshGeometry- the geometry of the meshcell- the input cell- Returns:
- the longest edge of the specified cell
-
getIsosurfTopology
public static int[] getIsosurfTopology(int caseId, int[] edges)Returns the isosurface topology of the associated case Id.This method can be used in the
getIsosurfTopologyimplementation of an hexahedron cell interface to return the information to the isosurface extraction module.- Parameters:
caseId- the isosurf "marching cube" entry for the celledges- The array into which the isosurface topology is to be stored: array of node indices ordered by pair defining an edge, polygons are separated byMxMeshViz.END_LIST, the end of the polygon list is indicated by a pair ofMxMeshViz.END_LIST.- Returns:
- The array into which the isosurface topology is stored.
- Throws:
java.lang.IllegalArgumentException- if the caseId>0xFF
-
-