public class PwReeb extends PjWorkshop
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 |
---|
PwReeb()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
cancel()
Cancel operation of this workshop by resetting the assigned geometry,
and finally close this workshop.
|
PgPolygonSet |
computeReebGraph()
Compute the Reeb graph using the actual function.
|
PdVector |
getFunction(PdVector scalar)
Get actual function the computation of the Reeb graph will based on.
|
static PiVector |
getIrregularVerticesOfMorseFunction(PgElementSet geom,
PdVector scalar)
Method returns the irregular vertices of geom with respect to the given function scalar.
|
static int |
getVertexIndicesOfMorseFunction(PgElementSet geom,
PdVector scalar,
PiVector indices)
Method computes the discrete index of every vertex of a given geometry and a given scalar function.
|
static int |
getVertexIndicesOfMorseFunction(PgElementSet geom,
PiVector scalar,
PiVector indices)
Method computes the discrete index of every vertex of a given geometry and a given scalar function.
|
void |
init()
Method is called after constructors of super classes are called.
|
static PgPolygonSet |
makeIsocurves(PgElementSet geom,
PdVector levels,
PgPolygonSet isoCurves,
PdVector scalar)
Computes a set of isoCurves of a scalar field on a triangulated surface.
|
void |
setDijkstraDistanceFunction(PiVector front)
Set the function the computation of the Reeb graph will be based on
to be the Dijkstra distance with respect to the vertices given as a
parameter.
|
void |
setFunction(PdVector scalar)
Specify function used to compute the Reeb graph.
|
void |
setGeometry(PgElementSet geom)
Reeb graph of the given geometry is generated.
|
void |
setHeightFunction()
Use the height function with regard to the z-coordinate as
the function the computation of the Reeb graph will be based on.
|
void |
setHeightFunction(PdVector dir)
Use the height function with regard to the direction given as argument as
the function the computation of the Reeb graph will be based on.
|
boolean |
update(java.lang.Object event)
Update the class whenever a child has changed.
|
close, getDisplay, getDisplays, getGeometry, getMode, getSavedGeometry, getViewer, isModal, isStandalone, ok, openDialog, removeGeometry, reset, setDisplay, setDisplays, setGeometry, 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 void init()
init
in class PjWorkshop
public void setGeometry(PgElementSet geom)
cancel()
returns the original geometry.geom
- Compute Reeb graph of geom.public void cancel()
If necessary, the duplicate of the original geometry is restored into the geometry.
cancel
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 static int getVertexIndicesOfMorseFunction(PgElementSet geom, PiVector scalar, PiVector indices)
scalar
- Scalar function on geom as a PdVector, assigning an integer to each vertex.indices
- Method stores the index of each vertex.public static int getVertexIndicesOfMorseFunction(PgElementSet geom, PdVector scalar, PiVector indices)
scalar
- Scalar value at each vertex determines the PL function.indices
- Method stores the index of each vertex.public static PiVector getIrregularVerticesOfMorseFunction(PgElementSet geom, PdVector scalar)
scalar
- Scalar function on geom as a PdVector, assigning a double to each vertex.public void setHeightFunction()
public void setHeightFunction(PdVector dir)
dir
- direction of the height functionpublic void setDijkstraDistanceFunction(PiVector front)
front
- indices of those vertices that will have Dijstra Distance zero.public void setFunction(PdVector scalar)
scalar
- Vector containing the function values of each vertex. The ordering of the values must be the same as the ordering of the vertices.public PdVector getFunction(PdVector scalar)
public PgPolygonSet computeReebGraph()
public static PgPolygonSet makeIsocurves(PgElementSet geom, PdVector levels, PgPolygonSet isoCurves, PdVector scalar)
PuCleanMesh.identifyVertices(PgGeometry)
and
PwCleanMesh.joinPolygons
.geom
- Base surface must consist of triangles only.levels
- List of values sorted by increasing value, determines the computed isoCurves.isoCurves
- Isocurves which will be computed.scalar
- Scalar values at each vertex of the base geometry."