public class MxHexahedronCellExtract extends MxCellExtract
Utility class that provides a static implementation of MiVolumeCell
interface methods for a hexahedron cell. This class is provided to make it
easier to create a class that implements the MiVolumeCell
interface
for a hexahedron cell.
getIsosurfTopology(int, int[])
isPointInsideCell(MiGeometryI, MiVolumeCell, double[], double[])
getIsosurfTopology
) is defined
according to this node numbering.
Nodes and faces numbering
Modifier and Type | Method and Description |
---|---|
static int[] |
getIsosurfTopology(int caseId,
int[] edges)
Returns the isosurface topology of the associated case Id.
|
static double |
getLongestEdgeLength(MiGeometryI meshGeometry,
MiVolumeCell cell)
Gets the longest edge of a hexahedron cell.
|
static boolean |
isPointInsideCell(MiGeometryI meshGeometry,
MiVolumeCell hexahedronCell,
double[] point,
double[] weights)
Checks if a point is inside or outside an hexahedron cell.
|
getCenter
public static boolean isPointInsideCell(MiGeometryI meshGeometry, MiVolumeCell hexahedronCell, double[] point, double[] weights)
This static method helps to implement the method
MiCell.isPointInsideCell(MiGeometryI, double[], double[])
for a hexahedron cell.
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 methodtrue
if the point is inside the cellpublic static double getLongestEdgeLength(MiGeometryI meshGeometry, MiVolumeCell cell)
meshGeometry
- the geometry of the meshcell
- the input cellpublic static int[] getIsosurfTopology(int caseId, int[] edges)
This method can be used in the getIsosurfTopology
implementation of
an hexahedron cell interface to return the information to the isosurface
extraction module.
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 by MxMeshViz.END_LIST
, the end of the
polygon list is indicated by a pair of MxMeshViz.END_LIST
.java.lang.IllegalArgumentException
- if the caseId > 0xFFGenerated on January 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com