vgp.surface.common

## Class PgSurface_CatenoidHelicoid

- java.lang.Object
- - jv.object.PsObject
  - - jvx.surface.PgDomainDescr
    - - vgp.surface.common.PgSurfaceDescr
      - - vgp.surface.common.PgSurface_CatenoidHelicoid

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

      public class PgSurface_CatenoidHelicoid
      extends PgSurfaceDescr
      implements PsTimeListenerIf

  Parametrized surface given by method, or interactively, by function expressions. If the functions of a surface are specified in `PgSurfaceDescr#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.
  See Also:
    Serialized Form
  Author:
    Samy Khadem
  Version:
    00.00.99, 1.00 revised (sk)
    00.00.99, 1.00 created (sk)

- - ### Field Summary

    - ### Fields inherited from class vgp.surface.common.PgSurfaceDescr

      `BASE_SURFACE_NAME, BOY, BREATHER, BREATHER_PQ, CATALAN, CATENOID_HELICOID, CATENOID_HELICOID_SCENE, CLIFFORD_TORUS, CONE, CONIC_TYPE, CYLINDER, DINI, DUPIN_CYCLOID, DUPIN_SCENE, ELLIPSOID, ELLIPTIC_PARABOLOID, ENNEPER, FOOTBALL_BARREL, FRESNEL1, FRESNEL2, H3_HYPERBOLIC_HELICOID, HENNEBERG, HYPERBOLIC_PARABLOID, HYPERBOLOID_SCENE, HYPERBOLOID_TYPE, KLEINBOTTLE, KUEN, LOWER_HYPERBOLOID, MOEBIUS_STRIP, OUTER_HYPERBOLOID, PSEUDOSPHERE, S3_HOPFTORUS, S3_LAWSON_HELICOID, SIEVERT, SPHERE, STEREOGRAPHIC_SPHERE, TANNERY, TORUS, UPPER_HYPERBOLOID, ZOLL`

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `calc_f(PdVector fun, double u, double v)` Internal function called by eval(..) to compute function value.
    `PsAnimation` | `getAnimation()` Get the animation object of the project which handles the projects animations.
    `boolean` | `hasAnimation()` Check whether this project is registered as listener of an animation object.
    `void` | `init()` Initialize and reset data structure and all instance variables.
    `boolean` | `isUPeriodic()` Determine if surface is periodic in u-direction.
    `void` | `setAnimation(PsAnimation anAnimation)` Assign the animation object where this listener is registered.
    `boolean` | `setTime(PsTimeEvent timeEvent)` Animation updates the dynamic object through this method whenever time has changed.
    `boolean` | `update(java.lang.Object event)` Catch events from function strings.

    - ### Methods inherited from class vgp.surface.common.PgSurfaceDescr

      `addParameter, christoffel, clone, copy, ddf_dUdU, ddf_dUdV, ddf_dVdV, df_dU, df_dV, df, dN_dU, dN_dV, dN, eval, firstFundamental, getAmbientProjection, getAmbientSpace, getDimOfSurface, getFunction, getListOfScenes, getListOfSurfaces, getParameter, getParameters, isVPeriodic, normal, secondFundamental, setAmbientProjection, setAmbientSpace, setDimOfSurface, setFunction, useFunctionExpression, useFunctionExpression, weingarten`

    - ### Methods inherited from class jvx.surface.PgDomainDescr

      `eval, getNameOfLines, getNumULines, getNumVLines, getUMax, getUMin, getVMax, getVMin, isShowingULine, isShowingVLine, setDiscr, setDiscrBounds, setMaxSize, setNameOfLines, setNumULines, setNumVLines, setSize, setUMax, setUMin, setVMax, setVMin, showULine, showVLine, toString`

    - ### Methods inherited from class jv.object.PsObject

      `addInspector, addUpdateListener, assureInspector, clearTag, clone, clone, getFather, getInfoPanel, getInspector, getName, getNumObjects, getSymbol, hasInspector, hasTag, hasUpdateListener, instanceOf, instanceOf, newInspector, newInspector, removeInspector, removeInspector, removeUpdateListener, setName, setParent, setSymbol, setTag, updatePanels`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

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

      `getName`

- - ### Constructor Detail

    - #### PgSurface_CatenoidHelicoid

          public PgSurface_CatenoidHelicoid()

  - ### Method Detail

    - #### isUPeriodic

          public boolean isUPeriodic()

      Description copied from class: `PgSurfaceDescr`
      Determine if surface is periodic in u-direction. This method returns false, but will be overwritten by surface which are periodic.
      Overrides:
        `isUPeriodic` in class `PgSurfaceDescr`

    - #### init

          public void init()

      Description copied from class: `PgDomainDescr`
      Initialize and reset data structure and all instance variables.
      Overrides:
        `init` in class `PgSurfaceDescr`

    - #### update

          public boolean update(java.lang.Object event)

      Description copied from class: `PgSurfaceDescr`
      Catch events from function strings. 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 `PgSurfaceDescr`
      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)`

    - #### calc_f

          public boolean calc_f(PdVector fun,
                                double u,
                                double v)

      Description copied from class: `PgSurfaceDescr`
      Internal function called by eval(..) to compute function value. It is ensured by the calling eval() function that argument vector exists and has correct size.

      If function set flag `m_bUseFunctionExpression==false` then we use this indicator that function has not been overridden and use the string functions.

      This function must be overwritten by subclasses to compute surfaces, for example, if a subclass wants to perform the function calculation itself.

      Overrides:
        `calc_f` in class `PgSurfaceDescr`
      Parameters:
        `fun` - vector where to place the function values.
      Returns:
        `true` if function has been overridden and evaluated successfully.
      See Also:
        `PgSurfaceDescr.eval(PdVector, double, double)`

    - #### setTime

          public boolean setTime(PsTimeEvent timeEvent)

      Description copied from interface: `PsTimeListenerIf`
      Animation updates the dynamic object through this method whenever time has changed.
      Specified by:
        `setTime` in interface `PsTimeListenerIf`

    - #### getAnimation

          public PsAnimation getAnimation()

      Get the animation object of the project which handles the projects animations. This listener may only have a single animation object which is assigned by the animation object when this listener is registered using `setAnimation(PsAnimation)`.
      Specified by:
        `getAnimation` in interface `PsTimeListenerIf`
      See Also:
        `hasAnimation()`, `setAnimation(PsAnimation)`

    - #### hasAnimation

          public boolean hasAnimation()

      Check whether this project is registered as listener of an animation object.
      Specified by:
        `hasAnimation` in interface `PsTimeListenerIf`
      See Also:
        `getAnimation()`, `setAnimation(PsAnimation)`

    - #### setAnimation

          public void setAnimation(PsAnimation anAnimation)

      Assign the animation object where this listener is registered. This method is invoked by the animation object during registration of this listener, and usually is not required to be called by a user. If this listener has an assigned animation object, then its animation panel may be shown to change the current time of this listener.

      Only one animation object may be assigned to this listener. Subsequent assignments will replace the previous assignment.

      Specified by:
        `setAnimation` in interface `PsTimeListenerIf`
      See Also:
        `getAnimation()`, `hasAnimation()`

"

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