vgp.surface.common

## Class PjSurface

- java.lang.Object
- - jv.object.PsObject
  - - jv.project.PjProject
    - - vgp.surface.common.PjSurface

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

      public class PjSurface
      extends PjProject

  Parameterized surfaces given by Java functions, or interactively, by function expressions. If the functions of a surface are specified in `calc_f` method and, later, interactively edited, then the interactive expressions are further used. This is important for evaluation of higher order differentials since they are only approximated using finite differences in the later case.

  Applet parameters "SurfaceName", "SurfaceParams" and "SurfaceColors" can be defined:

  SurfaceName: project will load a surface with name "PgSurface_"+SurfaceName

  SurfaceParams: Uppercase means show, lowercase means don't show, not defined means standard, i.e. vLEb.

          v:  vertices
          l:  edges (lines)
          e:  elements
          b:  boundary

  SurfaceColors:

          w:  white
          r:  red
          g:  green
          b:  blue
          c:  cyan
          m:  magenta
          y:  yellow
          k:  black

  See Also:
    Serialized Form
  Author:
    Konrad Polthier, Samy Khadem-Al-Charieh
  Version:
    27.10.99, 1.10 revised (sk) Can now be instantiated with default project.
    00.00.98, 1.00 created (kp) Initial skeleton

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `BASE_SURFACE_NAME` Deprecated. Moved to PgSurfaceDescr since JavaView v4.70.010.
    `static java.lang.String[][]` | `m_parmSurface` Applet parameters: {"Name", "Type", "Default value", "Description"}

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `init()` Initialize and reset project, stops the running animation if any.
    `boolean` | `loadSurfaces(java.lang.String surfaces, java.lang.String params, java.lang.String colors)` Assign name of a single surface, or of several surface names separated by semi-colon.
    `void` | `pickInitial(PvPickEvent pos)` Pick events are used by some scenes to modify individual geometries of a scene.
    `void` | `setSurfaceNames(java.lang.String surfaces, java.lang.String params, java.lang.String colors)` Assign name of a single surface, or of several surface names separated by semi-colon.
    `void` | `start()` Method is invoked during loading of a project in JavaView.
    `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, 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`

- - ### Field Detail

    - #### m_parmSurface

          public static final java.lang.String[][] m_parmSurface

      Applet parameters: {"Name", "Type", "Default value", "Description"}

    - #### BASE_SURFACE_NAME

          public static final java.lang.String BASE_SURFACE_NAME

      Deprecated. Moved to PgSurfaceDescr since JavaView v4.70.010.
      Base name of all surface descriptors.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### PjSurface

          public PjSurface()

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

    - #### setSurfaceNames

          public void setSurfaceNames(java.lang.String surfaces,
                                      java.lang.String params,
                                      java.lang.String colors)

      Assign name of a single surface, or of several surface names separated by semi-colon.

    - #### loadSurfaces

          public boolean loadSurfaces(java.lang.String surfaces,
                                      java.lang.String params,
                                      java.lang.String colors)

      Assign name of a single surface, or of several surface names separated by semi-colon. The surface is immediately loaded.

    - #### pickInitial

          public void pickInitial(PvPickEvent pos)

      Pick events are used by some scenes to modify individual geometries of a scene. Currently this method uses the x,y and z component of the pick position to set surface parameters with same names if the parameters exist.
      Specified by:
        `pickInitial` in interface `PvPickListenerIf`
      Overrides:
        `pickInitial` in class `PjProject`
      Parameters:
        `pos` - Pick event issued by the display
      See Also:
        `PvPickListenerIf`

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

"

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