vgp.tutor.sizePolygon

## Class PjSizePolygon

- java.lang.Object
- - jv.object.PsObject
  - - jv.project.PjProject
    - - vgp.tutor.sizePolygon.PjSizePolygon

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Runnable, PsTimeListenerIf, PsUpdateIf, PvPickListenerIf

      public class PjSizePolygon
      extends PjProject
      implements java.lang.Runnable

  Tutorial project demonstrates how to adjust the individual thickness of polygons.

  Changes the size of each edge slightly back and forth with given random initial speed. The overall speed of the system may be uniformly scaled by argument speed.

  See Also:
    Serialized Form
  Author:
    Konrad Polthier
  Version:
    04.11.06, 2.10 revised (kp) Moved to vgp.tutor.
    05.07.06, 2.00 created (kp) Copied from previous named PaSizeEdge.
    07.02.04, 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
    `PjSizePolygon()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `changePolygonSize(double speed)` Change size of each edge slightly back and forth with given random initial speed.
    `void` | `compute()` Create polygons with initial thickness and the rate of chance.
    `void` | `init()` Initialize and reset project, stops the running animation if any.
    `void` | `run()` Do the animation by incrementing the polygon thickness.
    `void` | `start()` Method is invoked during loading of a project in JavaView.
    `void` | `startAnim()` Start animation by creating a new thread
    `void` | `stopAnim()` Stop animation by removing the thread.
    `boolean` | `update(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, 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`

    - ### Methods inherited from interface jv.anim.PsTimeListenerIf

      `getName`

    - ### Methods inherited from interface jv.project.PvPickListenerIf

      `getName`

- - ### Constructor Detail

    - #### PjSizePolygon

          public PjSizePolygon()

  - ### Method Detail

    - #### 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()`

    - #### compute

          public void compute()

      Create polygons with initial thickness and the rate of chance.

    - #### changePolygonSize

          public void changePolygonSize(double speed)

      Change size of each edge slightly back and forth with given random initial speed. The overall speed of the system may be uniformly scaled by argument speed.

    - #### 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 `PsObject`
      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)`

    - #### startAnim

          public void startAnim()

      Start animation by creating a new thread

    - #### stopAnim

          public void stopAnim()

      Stop animation by removing the thread.

    - #### run

          public void run()

      Do the animation by incrementing the polygon thickness.
      Specified by:
        `run` in interface `java.lang.Runnable`

"

The software JavaView? is copyright protected. All Rights Reserved.
"