public class Tetrahedralizer
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static int |
ALL_CROSS
Hex subdivision flag requiring that the diagonals on all faces have
opposing directions to those on their opposite face.
|
static int |
DIAG_02
Hex subdivision flag to use the diagonal 0-2 on face (0,1,2,3).
|
static int |
DIAG_05
Hex or wedge subdivision flag to use the diagonal 0-5 on face (0,4,5,1)
for hexes or on face (0,2,5,3) for wedges.
|
static int |
DIAG_07
Hex subdivision flag to use the diagonal 0-7 on face (0,3,7,4).
|
static int |
DIAG_13
Wedge subdivision flag to use the diagonal 1-3 on face (0,1,3,4).
|
static int |
DIAG_24
Wedge subdivision flag to use the diagonal 2-4 on face (1,2,5,4).
|
static int |
F0123_CROSS
Hex subdivision flag requiring that the diagonals on face (0,1,2,3)
its opposite are aligned in opposing directions.
|
static int |
F0374_CROSS
Hex subdivision flag requiring that the diagonals on face (0,3,7,4) and
its opposite are aligned in opposing directions.
|
static int |
F0451_CROSS
Hex subdivision flag requiring that the diagonals on face (0,4,5,1) and
its opposite are aligned in opposing directions.
|
static int |
ZERO_DIAGS
Hex subdivision flags to use diagonals 0-2, 0-7, and 0-5 on all faces
adjacent to node 0.
|
| Constructor and Description |
|---|
Tetrahedralizer() |
| Modifier and Type | Method and Description |
|---|---|
TetElement[] |
subdivideHex(FemNode3d[] nodes,
int code)
Create a tesselation for a cubic configuration of nodes, using either 5
or 6 tets as determined by the flags in
code, which should be
some combination of DIAG_02, DIAG_07, DIAG_05,
F0123_CROSS, F0374_CROSS, or F0451_CROSS. |
TetElement[] |
subdivideHex(FemNode3d n0,
FemNode3d n1,
FemNode3d n2,
FemNode3d n3,
FemNode3d n4,
FemNode3d n5,
FemNode3d n6,
FemNode3d n7,
boolean allOnX)
Create a tesselation for a cubic configuration of nodes, using a
Freudenthal cut.
|
TetElement[] |
subdivideHex(FemNode3d n0,
FemNode3d n1,
FemNode3d n2,
FemNode3d n3,
FemNode3d n4,
FemNode3d n5,
FemNode3d n6,
FemNode3d n7,
int code)
Create a tesselation for a cubic configuration of nodes, using either 5
or 6 tets as determined by the flags in
code, which should be
some combination of DIAG_02, DIAG_07, DIAG_05,
F0123_CROSS, F0374_CROSS, or F0451_CROSS. |
TetElement[] |
subdivideWedge(FemNode3d p0,
FemNode3d p1,
FemNode3d p2,
FemNode3d p3,
FemNode3d p4,
FemNode3d p5,
int type)
Create a tesselation for a wedge configuration of nodes.
|
public static final int DIAG_13
public static final int DIAG_24
public static final int DIAG_05
public static final int DIAG_02
public static final int DIAG_07
public static final int ZERO_DIAGS
public static final int F0123_CROSS
public static final int F0374_CROSS
public static final int F0451_CROSS
public static final int ALL_CROSS
public TetElement[] subdivideHex(FemNode3d[] nodes, int code)
code, which should be
some combination of DIAG_02, DIAG_07, DIAG_05,
F0123_CROSS, F0374_CROSS, or F0451_CROSS. The
first four nodes should define a single counter-clockwise face, while the
last four should give the corresponding (clockwise) nodes for the
opposite face.public TetElement[] subdivideHex(FemNode3d n0, FemNode3d n1, FemNode3d n2, FemNode3d n3, FemNode3d n4, FemNode3d n5, FemNode3d n6, FemNode3d n7, int code)
code, which should be
some combination of DIAG_02, DIAG_07, DIAG_05,
F0123_CROSS, F0374_CROSS, or F0451_CROSS. The
first four nodes should define a single counter-clockwise face, while the
last four should give the corresponding (clockwise) nodes for the
opposite face.public TetElement[] subdivideHex(FemNode3d n0, FemNode3d n1, FemNode3d n2, FemNode3d n3, FemNode3d n4, FemNode3d n5, FemNode3d n6, FemNode3d n7, boolean allOnX)
allOnX is true, it means that nodes n0, n2, n5, and n7 form the internal
tetrahedron of the Freudenthal cut. Otherwise, this tetrahedron is formed
from nodes n1, n3, n4 and n7.public TetElement[] subdivideWedge(FemNode3d p0, FemNode3d p1, FemNode3d p2, FemNode3d p3, FemNode3d p4, FemNode3d p5, int type)
type,
which is an ored combination of DIAG_13, DIAG_24, and
DIAG_05 describing the diagonal directions on faces (0,1,3,4),
(1,2,5,4), and (0,2,5,3). Not all diagnonal combinations are possible,
so bit patterns 0x0 and (DIAG_13|DIAG_24|DIAG_05) are illegal.