public class PwMatching extends PjWorkshop
Modifier and Type | Field and Description |
---|---|
static int |
CONSERVATIVE
One of the pre-matching types.
|
static int |
DIJKSTRA
One of the pre-matching types.
|
static int |
GREEDY
One of the pre-matching types.
|
static int |
NONE
One of the pre-matching types.
|
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 |
---|
PwMatching()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
conservativeMatching()
Store matchings of triangles, that are encoded in the 0-th neighbours allready; unmatched
triangles are tried to match by greedy matching afterwards, so that every unmatched triangle
will have matched neighbour triangles only.
|
void |
dijkstraMatching()
Generate dijkstra distances for the vertices and match triangles, that share a common
edge of the dijkstra level lines; somewhere triangles might have more possible matching
partners, these will matched to one of them.
|
void |
greedyMatching()
For all unmatched triangles try to find an unmatched neighbour triangle and match those.
|
void |
init()
Initialize and reset project, stops the running animation if any.
|
void |
makeQuadrangulation()
Find in a triangulation pairs of matched triangles, indicated by beeing each other's
0-th neighbour, and jaoin those to quadrangles.
|
void |
match()
Invoke a matching of triangles and turn triangles according to the matching.
|
void |
matchAllInner()
Invoke a Matching of all inner triangles.
|
void |
reset()
Reset the workshop to its initial status.
|
void |
scrambleTriangles()
Change the internal order of indices of the vertices in all triangles by random
to get arbitrary examples for testing the algorithm.
|
void |
setGeometry(PgElementSet geom)
Store the geometry as PgElementSet to this workshop.
|
void |
setPreMatching(int type)
Define the type of pre-matching.
|
void |
turnTriangles()
Change the internal order of indices of the vertices of all triangles such, that
the 0-th neighbour is the matching partner according to the internal data structure
of this class.
|
cancel, close, getDisplay, getDisplays, getGeometry, getMode, getSavedGeometry, getViewer, isModal, isStandalone, ok, openDialog, removeGeometry, setDisplay, setDisplays, setGeometry, setModal, setMode, setStandalone, setViewer, update
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 CONSERVATIVE
public static final int DIJKSTRA
public static final int GREEDY
public static final int NONE
public void setGeometry(PgElementSet geom)
public void setPreMatching(int type)
public void init()
PjWorkshop
init
in class PjWorkshop
public void reset()
reset
in class PjWorkshop
public void dijkstraMatching()
public void conservativeMatching()
public void greedyMatching()
public void turnTriangles()
public void match()
public void matchAllInner()
public void makeQuadrangulation()
public void scrambleTriangles()
"