public interface MiHexahedronTopologyExplicitIjk extends MiTopologyIjk
A generic interface for an unstructured explicit hexahedron volume mesh topology.
Each hexahedron cell has 6 faces which can be in any plane of the 3D space. Each face is a quadrangle not necessarily a square. The 4 first indices define the polygon of a face of the hexahedron. The 4 last indices define the polygon of the opposite face.
Facets and nodes are numbered as follows :
J | | n3----------n2 facet 0 = 0321 /| /| facet 1 = 4567 / | / | facet 2 = 0473 / | / | facet 3 = 1265 n7---------n6 | facet 4 = 0154 | | | | facet 5 = 3762 | n0----|-----n1 --- I | / | / | / | / |/ | / n4---------n5 / / K
Modifier and Type | Method and Description |
---|---|
long |
getBeginNodeId()
Returns the first node id used by this topology.
|
long[] |
getCellNodeIndices(int i,
int j,
int k,
long[] nodeIndices)
Returns an array containing the 8 indices of a cell of this topology.
|
long |
getEndNodeId()
Returns the last node id + 1 used by this topology.
|
StorageLayoutIJK |
getStorageLayout()
Hint about cells organization in memory.
|
getCellName, getNumCellsI, getNumCellsJ, getNumCellsK, isDead
getTimeStamp, hasDeadCells
long[] getCellNodeIndices(int i, int j, int k, long[] nodeIndices)
If the specified array length is big enough to store the 8 node indices, they are returned therein. Otherwise, a new array is allocated.
i
- i-index of the cellj
- j-index of the cellk
- k-index of the cellnodeIndices
- The array into which the 8 node indices of the cell are to be
stored if it is big enough; otherwise, a new array is allocated
for this purpose.long getEndNodeId()
This topology uses only node index in the interval
[beginNodeId, endNodeId[
. Thus the maximum node index used by the
topology is getEndNodeId() - 1
and the number of nodes used by this
topology is getEndNodeId() - getBeginNodeId()
.
long getBeginNodeId()
This topology uses only node index in the interval
[beginNodeId,EndNodeId[
. Thus the maximum node index used by the
topology is getEndNodeId() - 1
and the number of nodes used by this
topology is getEndNodeId() -
getBeginNodeId()
.
StorageLayoutIJK getStorageLayout()
This information aims at optimizing the topology traversal for extractors.
Returns the topology internal cells layout in memory as 6 enum values
covering all possible cases. For instance KJI
means that:
The fastest way to go through the cells with such layout is to perform the following triple loop:
for each k with 0 <= k < numK
for each j with 0 <= j < numJ
for each i with 0 <= i < numI
topology.getCellNodeIndices(i,j,k,nodeIndices);
Generated on January 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com