public class PwCubeSet extends PjWorkshop
Modifier and Type | Field and Description |
---|---|
static int[][] |
FACE_AT_EDGE |
boolean |
m_bAddBoundaryElementSet |
boolean |
m_bAddCubeAlignedFrameField |
boolean |
m_bAddRotationField |
boolean |
m_bAddTetAlignedFrameField |
boolean |
m_bAddTexturePerCube |
boolean |
m_bOrthonormalizeFrame |
boolean |
m_bRefineBeforeSplitting |
static int |
m_refineToEightType |
int |
m_tetSplittingMode |
static int |
SPLIT_PARALLEL |
static int |
SPLIT_STAR |
static int |
SPLIT_TO_SIX |
static int |
SPLIT_TO_TWELVE |
HAS_BOUNDARY_PANEL, HAS_CONFIG_PANEL, HAS_INFO_PANEL, HAS_LABEL_PANEL, HAS_MATERIAL_PANEL, HAS_TEXTURE_PANEL, HAS_VECTOR_PANEL, INSPECTOR_INFO, INSPECTOR_INFO_EXT, IS_DELETED, IS_FIXED, IS_FOCUSSED, IS_PICKED, IS_SELECTED, IS_USED, NUM_TAGS
MODE_BUG, MODE_STANDARD, MODE_VALIDATE
Constructor and Description |
---|
PwCubeSet()
Constructor
|
Modifier and Type | Method and Description |
---|---|
static PgVectorField[] |
addAlignedFrameField(PgCubeSet cubeSet,
boolean addFieldsToGeometry)
Add an edge aligned frame field to the given PgCubeSet.
|
static void |
addBoundaryLayer(PgCubeSet cubeSet)
Add a boundary layer to a cubeSet.
|
static PgVectorField[] |
addFrameByCubeEdges(PgTetraSet tetraSet,
boolean addFieldsToGeometry)
Add a frame to a PgTetraSet, that was generated from a cubve set by the splitToTetrahedra
method.
|
static PgVectorField[] |
addFrameByCubeEdges12(PgTetraSet tetraSet,
boolean addFieldsToGeometry)
Add a frame to a PgTetraSet, that was generated from a cube set by the splitTo12Tetrahedra
method.
|
static void |
addTexturePerCube(PgCubeSet cubeSet)
Map all cubes to the unit cube in texture space.
|
static double[] |
computeAllCubeVolumes(PgCubeSet cubeSet)
Compute all cube volumes.
|
static double[] |
computeAllDihedralAngles(PgCubeSet cubeSet)
Compute all dihedral angles in the cube mesh.
|
static double[] |
computeAllEdgeLengths(PgCubeSet cubeSet)
Compute a list of all edge lengths.
|
static PdVector |
computeCubeDihedralAngles(PgCubeSet cubeSet,
int cubeIndex)
Compute all dihedral angles of a cube.
|
static double |
computeCubeVolume(PgCubeSet cubeSet,
int cubeIndex)
Compute he volume of a single cube.
|
static PgEdgeStar |
computeEdgeStar(PgCubeSet cubeSet,
int cubeIndex,
int edgeIndex,
PgEdgeStar edgeStar)
Compute the edge star.
|
static PgVectorField |
computeRotationField(PgCubeSet cubeSet,
boolean bAddField)
Compute a VectorField, which indicates for each Cube the combinatorial frame rotations
to its neighbour cubes.
|
static PgElementSet |
convertToElementSet(PgCubeSet cubeSet)
Store cubes to octagons in a PgElementSet.
|
static PiVector |
countDihedralAnglesByBins(PgCubeSet cubeSet,
PdVector threshold)
Compute dihedral angles for all cubes and count by given bin thresholds.
|
static void |
countEdgeValences(PgCubeSet cubeSet,
PiVector innerValence,
PiVector boundaryValence)
Count edges by valence (interiour and boundary edges separately).
|
static boolean |
edgeStarIsClosed(PgCubeSet cubeSet,
PgEdgeStar edgeStar)
Check if an edge star is closed.
|
static PgPolygonSet[] |
ExtractSingularities(PgCubeSet cubeSet)
Construct two PolygonSets, containing the non-regular edges of the cubeSet - sorted
to inner edges (valence !
|
static void |
flipCube(PgCubeSet cubeSet,
int cubeIndex)
Flip the orientation of an indicated cube.
|
static int |
getLocalEdgeIndex(PgCubeSet cubeSet,
int cubeIndex,
int vertexIndex0,
int vertexIndex1) |
static PgCubeSet |
guessCubes(PgElementSet elementSet)
Construct a PgCubeSet from a PgElementSet
Cubes are constructed from the quads in the element set.
|
void |
init()
Initialization.
|
static void |
makeOrientation(PgCubeSet cubeSet)
Make consistent orientation.
|
void |
ok()
Perform defined actions (probably by PwCubeSet_IP) and close Workshop.
|
static void |
orthoNormalizeFrame3D(PgPointSet geom)
Orthonormalize Frame Field
|
static void |
refineIntoEight(PgCubeSet cubeSet)
Global uniform refinement of a cubeSet.
|
static void |
relaxVertices(PgCubeSet cubeSet,
boolean bEqualEdgeLength)
Relax not marked vertices of a cube set - trying to orthogonalize cubes.
|
static void |
removeDuplicateCubes(PgCubeSet cubeSet)
Construct a PgCubeSet from a PgElementSet
Cubes are constructed from the quads in the element set.
|
static void |
selectSingularInner2Vertices(PgCubeSet cubeSet)
Select all vertices in a cubeSet at 2-singularities, i.e. vertices adjacent to
to inner edges (valence == 2).
|
static void |
selectSingularVertices(PgCubeSet cubeSet)
Select all non-regular vertices in a cubeSet, i.e. vertices adjacent to
to inner edges (valence !
|
void |
setGeometry(PgGeometry geom)
Set the geometry to work on.
|
static PgTetraSet |
splitTo12Tetrahedra(PgCubeSet cubeSet)
Split each cube to twelve tetrahedra.
|
static PgCubeSet[] |
splitToLayers(PgCubeSet cubeSet)
Split cubeSet to layers - layer 0 is defined by all cubes touching selected vertices.
|
static PgTetraSet |
splitToTetrahedra(PgCubeSet cubeSet)
Split each cube to six tetrahedra.
|
static void |
testEdgeStars(PgCubeSet cubeSet)
Test ComputeEdgeStar method.
|
boolean |
update(java.lang.Object event)
Update the class whenever a child has changed.
|
cancel, close, getDisplay, getDisplays, getGeometry, getMode, getSavedGeometry, getViewer, isModal, isStandalone, removeGeometry, reset, setDisplay, setDisplays, setModal, setMode, setStandalone, setViewer
addInspector, addUpdateListener, assureInspector, clearTag, clone, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, getSymbol, hasInspector, hasTag, hasUpdateListener, instanceOf, instanceOf, newInspector, newInspector, removeInspector, removeInspector, removeUpdateListener, setName, setParent, setSymbol, setTag, toString, updatePanels
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
getFather, getName, setParent
public static final int[][] FACE_AT_EDGE
public static final int SPLIT_PARALLEL
public static final int SPLIT_STAR
public static int m_refineToEightType
public static final int SPLIT_TO_SIX
public static final int SPLIT_TO_TWELVE
public int m_tetSplittingMode
public boolean m_bRefineBeforeSplitting
public boolean m_bAddCubeAlignedFrameField
public boolean m_bAddTetAlignedFrameField
public boolean m_bOrthonormalizeFrame
public boolean m_bAddTexturePerCube
public boolean m_bAddBoundaryElementSet
public boolean m_bAddRotationField
public void init()
init
in class PjWorkshop
public boolean update(java.lang.Object event)
update
in interface PsUpdateIf
update
in class PjWorkshop
event
- sender of this update.PsObject.setParent(PsUpdateIf)
,
PsObject.getFather()
,
PsObject.addUpdateListener(PsUpdateIf)
public void setGeometry(PgGeometry geom)
setGeometry
in interface PjWorkshopIf
setGeometry
in class PjWorkshop
geom
- the workshop modifies this geometry.public static PgElementSet convertToElementSet(PgCubeSet cubeSet)
public static PgVectorField[] addAlignedFrameField(PgCubeSet cubeSet, boolean addFieldsToGeometry)
public static void makeOrientation(PgCubeSet cubeSet)
public static void flipCube(PgCubeSet cubeSet, int cubeIndex)
public static PgTetraSet splitToTetrahedra(PgCubeSet cubeSet)
public static PgVectorField[] addFrameByCubeEdges(PgTetraSet tetraSet, boolean addFieldsToGeometry)
public static PgTetraSet splitTo12Tetrahedra(PgCubeSet cubeSet)
public static PgVectorField[] addFrameByCubeEdges12(PgTetraSet tetraSet, boolean addFieldsToGeometry)
public static int getLocalEdgeIndex(PgCubeSet cubeSet, int cubeIndex, int vertexIndex0, int vertexIndex1)
public static PgEdgeStar computeEdgeStar(PgCubeSet cubeSet, int cubeIndex, int edgeIndex, PgEdgeStar edgeStar)
public static boolean edgeStarIsClosed(PgCubeSet cubeSet, PgEdgeStar edgeStar)
computeEdgeStar
.public static void testEdgeStars(PgCubeSet cubeSet)
public static void refineIntoEight(PgCubeSet cubeSet)
public static void orthoNormalizeFrame3D(PgPointSet geom)
public void ok()
ok
in class PjWorkshop
public static PgVectorField computeRotationField(PgCubeSet cubeSet, boolean bAddField)
public static void addTexturePerCube(PgCubeSet cubeSet)
public static void relaxVertices(PgCubeSet cubeSet, boolean bEqualEdgeLength)
public static PgCubeSet guessCubes(PgElementSet elementSet)
public static void removeDuplicateCubes(PgCubeSet cubeSet)
public static PdVector computeCubeDihedralAngles(PgCubeSet cubeSet, int cubeIndex)
public static PiVector countDihedralAnglesByBins(PgCubeSet cubeSet, PdVector threshold)
public static double[] computeAllDihedralAngles(PgCubeSet cubeSet)
public static void countEdgeValences(PgCubeSet cubeSet, PiVector innerValence, PiVector boundaryValence)
public static PgPolygonSet[] ExtractSingularities(PgCubeSet cubeSet)
public static void selectSingularVertices(PgCubeSet cubeSet)
public static void selectSingularInner2Vertices(PgCubeSet cubeSet)
public static double[] computeAllEdgeLengths(PgCubeSet cubeSet)
public static double computeCubeVolume(PgCubeSet cubeSet, int cubeIndex)
public static double[] computeAllCubeVolumes(PgCubeSet cubeSet)
public static PgCubeSet[] splitToLayers(PgCubeSet cubeSet)
public static void addBoundaryLayer(PgCubeSet cubeSet)
"