JavaView© v3.95.000

jvx.geom
Class PwLocalButterfly

java.lang.Object
  extended byjv.object.PsObject
      extended byjvx.project.PjWorkshop
          extended byjvx.geom.PwLocalButterfly
All Implemented Interfaces:
java.lang.Cloneable, PjWorkshopIf, PsUpdateIf, java.io.Serializable

public class PwLocalButterfly
extends PjWorkshop

Workshop for local refinement of triangles of a surface. The connectivity is refined according to the combinatorical Rivara algorithm, the geometrical informations are computed using the butterfly scheme.

See Also:
Serialized Form

Field Summary
static int AREA
           
static int CURVATURE
           
static int HAND
           
 int m_markBy
           
 PuInteger m_maxNumSteps
          To steer the maximal number of refinement steps, when selecting for refinement by Gauss curvature.
 PuDouble m_percentage
          To select the triangles with the greatest area for refinement.
 PuDouble m_tolerance
          To steer the tolerance, when selecting for refinement by Gauss curvature.
 
Fields inherited from class jv.object.PsObject
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
 
Constructor Summary
PwLocalButterfly()
          Constructor.
 
Method Summary
 void cancel()
          Reset geometry and close the Workshop.
 void init()
          Initialization.
 void markBySize()
          Select the triangles with the greatest area.
 void ok()
          Hold geometry and close the Workshop.
 void refine()
          Start Rivara refinement.
 void refineByCurvature()
          Refine triangles, until all vertices have Gauss curvature inside a tolerance interval given by m_tolerance or triangles are more often refined than defined by m_maxNumSteps.
 void reset()
          Remove all previously done refinement and set the workshop to its initial status.
 void setGeometry(PgElementSet geom)
          Register a geometry, on which this workshop will operate.
 void unselectAllElements()
          Remove tag IS_SELECTED from all triangles.
 boolean update(java.lang.Object event)
          Update the class whenever a child has changed.
 
Methods inherited from class jvx.project.PjWorkshop
close, getDisplay, getDisplays, getGeometry, getSavedGeometry, getViewer, isModal, removeGeometry, setDisplay, setDisplays, setGeometry, setModal, setViewer
 
Methods inherited from class jv.object.PsObject
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
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jv.object.PsUpdateIf
getFather, getName, setParent
 

Field Detail

m_tolerance

public PuDouble m_tolerance
To steer the tolerance, when selecting for refinement by Gauss curvature.


m_maxNumSteps

public PuInteger m_maxNumSteps
To steer the maximal number of refinement steps, when selecting for refinement by Gauss curvature.


m_percentage

public PuDouble m_percentage
To select the triangles with the greatest area for refinement.


HAND

public static final int HAND
See Also:
Constant Field Values

CURVATURE

public static final int CURVATURE
See Also:
Constant Field Values

AREA

public static final int AREA
See Also:
Constant Field Values

m_markBy

public int m_markBy
Constructor Detail

PwLocalButterfly

public PwLocalButterfly()
Constructor.

Method Detail

setGeometry

public void setGeometry(PgElementSet geom)
Register a geometry, on which this workshop will operate.


init

public void init()
Initialization.

Overrides:
init in class PjWorkshop

markBySize

public void markBySize()
Select the triangles with the greatest area. The number of selected triangles will be computed by the PuInteger m_percentage.


update

public boolean update(java.lang.Object event)
Update the class whenever a child has changed. Method is usually invoked from the children.

Specified by:
update in interface PsUpdateIf
Overrides:
update in class PjWorkshop
Parameters:
event - sender of this update.
Returns:
true if update was correctly handled by superclass.

unselectAllElements

public void unselectAllElements()
Remove tag IS_SELECTED from all triangles.


refineByCurvature

public void refineByCurvature()
Refine triangles, until all vertices have Gauss curvature inside a tolerance interval given by m_tolerance or triangles are more often refined than defined by m_maxNumSteps.


refine

public void refine()
Start Rivara refinement. All triangles marked with tag IS_SELECTED are bisected.


reset

public void reset()
Remove all previously done refinement and set the workshop to its initial status.

Overrides:
reset in class PjWorkshop

ok

public void ok()
Hold geometry and close the Workshop.

Overrides:
ok in class PjWorkshop

cancel

public void cancel()
Reset geometry and close the Workshop.

Overrides:
cancel in class PjWorkshop

JavaView© v3.95.000

The software JavaView© is copyright protected. All Rights Reserved.