vmm.surface.parametric
Class ConstCurvOneHelicoids

java.lang.Object
  extended by vmm.core.Exhibit
      extended by vmm.core3D.Exhibit3D
          extended by vmm.surface.Surface
              extended by vmm.surface.parametric.SurfaceParametric
                  extended by vmm.surface.parametric.ConstCurvOneHelicoids
All Implemented Interfaces:
java.util.EventListener, javax.swing.event.ChangeListener, Decorateable, Parameterizable

public class ConstCurvOneHelicoids
extends SurfaceParametric

Defines a 2-parameter surface family of constant Gaussian curvature K=1 with screw motion symmetry


Field Summary
 
Fields inherited from class vmm.surface.parametric.SurfaceParametric
COLOR_GAUSS_CURVATURE, COLOR_MEAN_CURVATURE, COLOR_TWO_SIDED_DEFAULT, COLOR_TWO_SIDED_USER, COLOR_USER, COLOR_USER_FUNCTION_HSB, COLOR_USER_FUNCTION_RGB, COLOR_WHITE, umax, umin, vmax, vmin
 
Fields inherited from class vmm.surface.Surface
data, uPatchCount, vPatchCount
 
Fields inherited from class vmm.core3D.Exhibit3D
defaultViewpoint, defaultViewUp, previousTransform3D
 
Fields inherited from class vmm.core.Exhibit
decorations, exhibitNeedsRedraw, isMorphing, morphingView, parameters, previousTransform
 
Constructor Summary
ConstCurvOneHelicoids()
           
 
Method Summary
protected  void createData()
          Before createData() executes, constants and array are redone
 ActionList getAdditionalAnimationsForView(View view)
          This method returns a list of ActionItem that will be added to the Animation menu of the 3dxm applicaiton.
protected  Vector3D midpointODEstep(double tInitial, double tFinal, Vector3D initialVal, int numSubdivision)
          This solves the ODE of the transversal curve from tInitial to tFinal
 void parameterChanged(Parameter param, java.lang.Object oldValue, java.lang.Object newValue)
          Overrides to set needsNewArray
 void redoConstantsAndArray()
           
 Vector3D surfacePoint(double u, double v)
          The parametric equations that define the surface, given as a function from the uv-plane into R3.
 
Methods inherited from class vmm.surface.parametric.SurfaceParametric
addExtraXML, deriv_u, deriv_v, gaussMap, getActionsForView, readExtraXML, removeView, surfaceNormal
 
Methods inherited from class vmm.surface.Surface
computeDrawData3D, doDraw3D, getBuildAnimation, getDefaultOrientation, getDefaultView, setDefaultOrientation
 
Methods inherited from class vmm.core3D.Exhibit3D
computeDrawDataHook, doDrawHook, getDefaultTransform, getDefaultViewpoint, getDefaultViewUp, setDefaultViewpoint, setDefaultViewUp
 
Methods inherited from class vmm.core.Exhibit
addChangeListener, addDecoration, addParameter, addView, clearDecorations, computeDrawData, doDraw, fireExhibitChangeEvent, forceRedraw, getAlternativeViews, getCreateAnimation, getDecorations, getDefaultBackground, getDefaultForeground, getDefaultWindow, getFramesForMorphing, getMorphingAnimation, getName, getParameterByName, getParameters, getSettingsCommandsForView, getTitle, getUseFilmstripForMorphing, getViews, removeChangeListener, removeDecoration, removeParameter, render, setDefaultBackground, setDefaultForeground, setDefaultWindow, setDefaultWindow, setFramesForMorphing, setName, setUseFilmstripForMorphing, stateChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConstCurvOneHelicoids

public ConstCurvOneHelicoids()
Method Detail

parameterChanged

public void parameterChanged(Parameter param,
                             java.lang.Object oldValue,
                             java.lang.Object newValue)
Overrides to set needsNewArray

Specified by:
parameterChanged in interface Parameterizable
Overrides:
parameterChanged in class Exhibit
Parameters:
param - The Parmeter whose value has been set.
oldValue - The previous value of the parameter.
newValue - The new, current value of the parameter. This is not necessarily guaranteed to be different from the old value (although it is for parameters definedin the VMM core).
See Also:
Exhibit.forceRedraw()

createData

protected void createData()
Before createData() executes, constants and array are redone

Overrides:
createData in class SurfaceParametric

redoConstantsAndArray

public void redoConstantsAndArray()

getAdditionalAnimationsForView

public ActionList getAdditionalAnimationsForView(View view)
Description copied from class: Exhibit
This method returns a list of ActionItem that will be added to the Animation menu of the 3dxm applicaiton. The values in the list should ordinarily be commands (i.e. AbstractActionVMM) that run animations (although there is no way to enforce this restriction). These animations commands are in addition to the standard "Morph" and "Cyclic Morph" commands. Note that these commands are added to those returned by View.getAdditionalAnimations().

In this top-level Exhibit class, the return value is a an empty list (but not null). In general, when overriding this method, subclasses should call "super.getAdditionalAnimationsForView()" to obtain a list of actions from the superclass. It can then add additional actions or remove or disable actions that are in the list from the superclass.

Overrides:
getAdditionalAnimationsForView in class Exhibit
Parameters:
view - The view in which the animations will be run.

surfacePoint

public Vector3D surfacePoint(double u,
                             double v)
Description copied from class: SurfaceParametric
The parametric equations that define the surface, given as a function from the uv-plane into R3. The return value of this function can be null, indicating that the function is undefined for the given u and v.

Specified by:
surfacePoint in class SurfaceParametric

midpointODEstep

protected Vector3D midpointODEstep(double tInitial,
                                   double tFinal,
                                   Vector3D initialVal,
                                   int numSubdivision)
This solves the ODE of the transversal curve from tInitial to tFinal