org.jcae.mesh.amibe.algos3d
Class AbstractAlgoHalfEdge

java.lang.Object
  extended by org.jcae.mesh.amibe.algos3d.AbstractAlgoHalfEdge
Direct Known Subclasses:
ImproveConnectivity, LengthDecimateHalfEdge, QEMDecimateHalfEdge, SplitEdge, SwapEdge

public abstract class AbstractAlgoHalfEdge
extends java.lang.Object


Field Summary
protected  double maxEdgeLength
           
protected  Mesh mesh
           
protected  boolean noSwapAfterProcessing
           
protected  int notInTree
           
protected  int notProcessed
           
protected  int nrFinal
           
protected  int nrTriangles
           
protected  int processed
           
protected  int swapped
           
protected  double tolerance
           
protected  QSortedTree<HalfEdge> tree
           
 
Constructor Summary
AbstractAlgoHalfEdge(Mesh m)
           
 
Method Summary
protected  void addToTree(HalfEdge e)
           
protected  void appendDumpState(java.io.ObjectOutputStream out)
           
protected  void appendRestoreState(java.io.ObjectInputStream q)
           
protected abstract  boolean canProcessEdge(HalfEdge e)
           
 void compute()
           
protected abstract  double cost(HalfEdge e)
           
static int countInnerTriangles(Mesh mesh)
           
protected  void dumpState()
           
protected  void postComputeTree()
           
protected abstract  void postProcessAllHalfEdges()
           
protected abstract  void preProcessAllHalfEdges()
           
protected  void preProcessEdge()
           
protected abstract  HalfEdge processEdge(HalfEdge e, double cost)
           
protected  void removeFromTree(HalfEdge e)
           
protected  boolean restoreState()
           
 void setProgressBarStatus(int n)
           
protected abstract  java.util.logging.Logger thisLogger()
           
protected static HalfEdge uniqueOrientation(HalfEdge current)
          Ensure that edge orientation is fixed and does not depend on hashcodes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mesh

protected Mesh mesh

nrFinal

protected int nrFinal

nrTriangles

protected int nrTriangles

tolerance

protected double tolerance

maxEdgeLength

protected double maxEdgeLength

processed

protected int processed

swapped

protected int swapped

notProcessed

protected int notProcessed

notInTree

protected int notInTree

noSwapAfterProcessing

protected boolean noSwapAfterProcessing

tree

protected QSortedTree<HalfEdge> tree
Constructor Detail

AbstractAlgoHalfEdge

public AbstractAlgoHalfEdge(Mesh m)
Method Detail

preProcessAllHalfEdges

protected abstract void preProcessAllHalfEdges()

postProcessAllHalfEdges

protected abstract void postProcessAllHalfEdges()

canProcessEdge

protected abstract boolean canProcessEdge(HalfEdge e)

processEdge

protected abstract HalfEdge processEdge(HalfEdge e,
                                        double cost)

cost

protected abstract double cost(HalfEdge e)

thisLogger

protected abstract java.util.logging.Logger thisLogger()

compute

public void compute()

setProgressBarStatus

public void setProgressBarStatus(int n)

countInnerTriangles

public static int countInnerTriangles(Mesh mesh)

uniqueOrientation

protected static HalfEdge uniqueOrientation(HalfEdge current)
Ensure that edge orientation is fixed and does not depend on hashcodes. This method must be used when entering canProcessEdge() and processEdge().


postComputeTree

protected void postComputeTree()

preProcessEdge

protected void preProcessEdge()

addToTree

protected void addToTree(HalfEdge e)

removeFromTree

protected void removeFromTree(HalfEdge e)

dumpState

protected final void dumpState()

appendDumpState

protected void appendDumpState(java.io.ObjectOutputStream out)
                        throws java.io.IOException
Throws:
java.io.IOException

restoreState

protected final boolean restoreState()

appendRestoreState

protected void appendRestoreState(java.io.ObjectInputStream q)
                           throws java.io.IOException
Throws:
java.io.IOException