vgp.curve.cycloid
Class PjCycloid
- java.lang.Object
-
- jv.object.PsObject
-
- jv.project.PjProject
-
- vgp.curve.cycloid.PjCycloid
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, PsTimeListenerIf, PsUpdateIf, PvPickListenerIf
public class PjCycloid extends PjProject
Generate a cycloid by tracing a point on a disk which rolls along an axis. Optionally, the cycloid curve may be rotated around the axis.- See Also:
- Serialized Form
- Author:
- Konrad Polthier
- Version:
- 25.07.03, 2.00 revised (kp) Update and recomputation simplified.
08.11.99, 1.00 created (kp)
-
-
Field Summary
-
Fields inherited from class jv.object.PsObject
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
-
-
Constructor Summary
Constructors Constructor and Description PjCycloid()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description PgPolygongetCycloid()Get the cycloid curve.intgetCycloidDiscr()Get number of points on cycloid curve.doublegetCycloidLength()Get length of the cycloid curve.doublegetDistance()Get distance of the traced point to the center of the rolling disk, that means, the length of the stick.voidinit()Initialize and reset project, stops the running animation if any.voidreset()Reset project to initial state.voidsetCycloidDiscr(int cycloidDiscr)Set number of points on cycloid curve.voidsetCycloidLength(double len)Set distance of traced point to center of rolling ball.voidsetDistance(double d)Set distance of the traced point to the center of the rolling disk, that means, the length of the stick.booleansetTime(PsTimeEvent timeEvent)Recompute the project whenever the time has changed.voidstart()Method is invoked during loading of a project in JavaView.booleanupdate(java.lang.Object event)Update the class whenever a child has changed.-
Methods inherited from class jv.project.PjProject
addDisplay, addGeometry, addGeometry, dispose, dragDisplay, dragInitial, dragVertex, fitDisplays, getAnimation, getDisplay, getDisplays, getGeometry, getGeometry, getNumGeometries, getParameter, getParameterInfo, getViewer, hasAnimation, hasDisplay, isEnabledAutoFit, markVertices, pickDisplay, pickInitial, pickVertex, removeDisplay, removeGeometries, removeGeometry, selectDisplay, selectGeometry, setAnimation, setBackColor, setBorderType, setDisplay, setEnabledAutoFit, setGeometry, setParameterInfo, 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
-
Methods inherited from interface jv.anim.PsTimeListenerIf
getName
-
Methods inherited from interface jv.project.PvPickListenerIf
getName
-
-
-
-
Method Detail
-
init
public void init()
Description copied from class:PjProjectInitialize 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.
-
start
public void start()
Description copied from class:PjProjectMethod 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:
startin classPjProject- See Also:
PvViewerIf.start(),PjProject.isEnabledAutoFit()
-
reset
public void reset()
Reset project to initial state. Method calls project.init(). Must call project.update(project) after calling reset().
-
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:
updatein interfacePsUpdateIf- Overrides:
updatein classPsObject- Parameters:
event- carries a lot of information- Returns:
- true if event has been handled, otherwise false
- See Also:
PsObject.setParent(PsUpdateIf),PsObject.getFather(),PsObject.addUpdateListener(PsUpdateIf)
-
setTime
public boolean setTime(PsTimeEvent timeEvent)
Recompute the project whenever the time has changed.- Specified by:
setTimein interfacePsTimeListenerIf- Overrides:
setTimein classPjProject
-
getCycloid
public PgPolygon getCycloid()
Get the cycloid curve. Note, the coordinates of the curve are recomputed whenever parameters of this project or the project itself change.
-
getCycloidDiscr
public int getCycloidDiscr()
Get number of points on cycloid curve.
-
setCycloidDiscr
public void setCycloidDiscr(int cycloidDiscr)
Set number of points on cycloid curve.- Parameters:
cycloidDiscr- number of vertices on cycloid curve
-
getCycloidLength
public double getCycloidLength()
Get length of the cycloid curve.
-
setCycloidLength
public void setCycloidLength(double len)
Set distance of traced point to center of rolling ball.- Parameters:
len- distance of point to center of disc
-
getDistance
public double getDistance()
Get distance of the traced point to the center of the rolling disk, that means, the length of the stick.
-
setDistance
public void setDistance(double d)
Set distance of the traced point to the center of the rolling disk, that means, the length of the stick.- Parameters:
d- distance of point to center of the
-
-
"