org.jcae.mesh.amibe.algos3d
Class ImproveConnectivity
java.lang.Object
org.jcae.mesh.amibe.algos3d.AbstractAlgoHalfEdge
org.jcae.mesh.amibe.algos3d.ImproveConnectivity
public class ImproveConnectivity
- extends AbstractAlgoHalfEdge
Swaps edge to try to have all vertices have six neighbors.
TODO:
In Explicit Surface Remeshing, Vitaly Surazhsky and Craig Gotsman proposes an interesting algorithm.
Fields inherited from class org.jcae.mesh.amibe.algos3d.AbstractAlgoHalfEdge |
maxEdgeLength, mesh, noSwapAfterProcessing, notInTree, notProcessed, nrFinal, nrTriangles, processed, swapped, tolerance, tree |
Constructor Summary |
ImproveConnectivity(Mesh m,
java.util.Map<java.lang.String,java.lang.String> options)
Creates a ImproveConnectivity instance. |
Methods inherited from class org.jcae.mesh.amibe.algos3d.AbstractAlgoHalfEdge |
addToTree, appendDumpState, appendRestoreState, compute, countInnerTriangles, dumpState, postComputeTree, preProcessEdge, removeFromTree, restoreState, setProgressBarStatus, uniqueOrientation |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ImproveConnectivity
public ImproveConnectivity(Mesh m,
java.util.Map<java.lang.String,java.lang.String> options)
- Creates a
ImproveConnectivity
instance.
- Parameters:
m
- the Mesh
instance to modifyoptions
- map containing key-value pairs to modify algorithm
behaviour. Valid key is coplanar
.
thisLogger
public java.util.logging.Logger thisLogger()
- Specified by:
thisLogger
in class AbstractAlgoHalfEdge
preProcessAllHalfEdges
public void preProcessAllHalfEdges()
- Specified by:
preProcessAllHalfEdges
in class AbstractAlgoHalfEdge
cost
public double cost(HalfEdge e)
- Specified by:
cost
in class AbstractAlgoHalfEdge
canProcessEdge
public boolean canProcessEdge(HalfEdge current)
- Specified by:
canProcessEdge
in class AbstractAlgoHalfEdge
processEdge
public HalfEdge processEdge(HalfEdge current,
double costCurrent)
- Specified by:
processEdge
in class AbstractAlgoHalfEdge
postProcessAllHalfEdges
public void postProcessAllHalfEdges()
- Specified by:
postProcessAllHalfEdges
in class AbstractAlgoHalfEdge
main
public static void main(java.lang.String[] args)
- Parameters:
args
- xmlDir, -t tolerance | -n triangle, brepFile, output