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.