vgp.curve.subdivision
Class PjSubdivisionCurve
java.lang.Object
jv.object.PsObject
jv.project.PjProject
vgp.curve.subdivision.PjSubdivisionCurve
- All Implemented Interfaces:
- java.lang.Cloneable, PsTimeListenerIf, PsUpdateIf, PvPickListenerIf, java.io.Serializable
- public class PjSubdivisionCurve
- extends PjProject
Demonstrates ideas for a subdivision algorithm of curves on surfaces.
- See Also:
- Serialized Form
| 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 |
| Methods inherited from class jv.project.PjProject |
addDisplay, addGeometry, addGeometry, dispose, dragDisplay, dragInitial, dragVertex, fitDisplays, getAnimation, getDisplay, getDisplays, getGeometry, getNumGeometries, getParameter, getViewer, hasAnimation, hasDisplay, isEnabledAutoFit, markVertices, pickDisplay, pickInitial, pickVertex, removeDisplay, removeGeometries, removeGeometry, selectDisplay, selectGeometry, setAnimation, setBackColor, setBorderType, setDisplay, setEnabledAutoFit, setGeometry, setParameter, setTime, setViewer, stop, unmarkVertices |
| 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 |
PjSubdivisionCurve
public PjSubdivisionCurve()
init
public void init()
- Description copied from class:
PjProject
- Initialize and reset project, stops the running animation if any.
Does not reset any registered display nor geometry. They must
be reset individually in each subclass.
- Overrides:
init in class PjProject
start
public void start()
- Description copied from class:
PjProject
- Method is invoked during loading of a project in JavaView.
If a project has an animation object, then the animation panel is shown
when the project's this start() method is invoked during loading
of the project. Use setAnimation(PsAnimation)
to register an animation.
If auto fit is enabled then scenery is scaled to fit in each display.
- Overrides:
start in class PjProject
- See Also:
PvViewerIf.start(),
PjProject.isEnabledAutoFit()
setGeometry
public void setGeometry(PgGeometry geom)
- Parameters:
geom - needs to be triangulated
setReuseTriangleRunsWhileIterating
public void setReuseTriangleRunsWhileIterating(boolean flag)
getReuseTriangleRunsWhileIterating
public boolean getReuseTriangleRunsWhileIterating()
getGeometry
public PgGeometryIf getGeometry()
- Description copied from class:
PjProject
- Get currently selected geometry of project. Subclasses
should return the major geometry offered to other module projects.
- Overrides:
getGeometry in class PjProject
- See Also:
PjProject.selectGeometry(PgGeometryIf)
getSelectedGeometry
public PgGeometryIf getSelectedGeometry()
removeGeometry
public void removeGeometry()
computeSubdivisionCurve
public static PgPolygonOnElementSet computeSubdivisionCurve(PgElementSet geom,
PiVector refElem,
PdBary[] refBary,
int depth,
PgPolygonOnElementSet outpoly,
PgPolygon outpolyGeom,
boolean reuseTriangleStrips)
- Chaikin-Type subdivision.
- Parameters:
geom - underlying triangulation, 2d surface in 3drefElem - vector of element indices for reference pointsrefBary - vector of barycentric coordinates for reference pointsdepth - num of subdivision stepsoutpoly - result is put here (intrinsic data), may be nulloutpolyGeom - result is put here (3d data), may be nullreuseTriangleStrips - use element strips from previous step for current step;
should be true in normal case, false only for demonstration purpose
- Returns:
- subdivision curve
update
public boolean update(java.lang.Object event)
- Description copied from interface:
PsUpdateIf
- Event handling method in the update mechanism.
Events not handled will be passed to m_parent or super in this
sequence.
- Specified by:
update in interface PsUpdateIf- Overrides:
update in class PsObject
- See Also:
PsObject.setParent(PsUpdateIf),
PsObject.getFather(),
PsObject.addUpdateListener(PsUpdateIf)
The software JavaView© is copyright protected. All Rights Reserved.