vmm.surface.parametric
Class LidinoidHfamily

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.WeierstrassMinimalSurface
                      extended by vmm.surface.parametric.LidinoidHfamily
All Implemented Interfaces:
java.util.EventListener, javax.swing.event.ChangeListener, Decorateable, Parameterizable

public class LidinoidHfamily
extends WeierstrassMinimalSurface


Nested Class Summary
 
Nested classes/interfaces inherited from class vmm.surface.parametric.WeierstrassMinimalSurface
WeierstrassMinimalSurface.WMSView
 
Field Summary
 
Fields inherited from class vmm.surface.parametric.WeierstrassMinimalSurface
afp, AFP, canShowConjugateSurface, del, distFrom0, du, dv, flag0, flag05, halfPeriod, helperArray, I__C, I_C, I1_C, I2_C, I3_C, I4_C, iBeginMiddleInHelper, iFirstInHelper, inAssociateMorph, IP__C, IP_C, LRPclosed, multipleCopyOptions, needsPeriodClosed, needsValueArray, ONE__C, ONE_C, ucount, vcount, wantsToSeeDomain, wantsToSeeGaussImage, ZERO_C
 
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
LidinoidHfamily()
           
 
Method Summary
protected  double closePeriodWithAFP()
           
 void computePeriodData()
           
protected  void createData()
          Overrides createData from SurfaceParametric with the goal of recomputing all constants that go into the Weierstrass Data, and then do the helperArray.
 void createHelperArray()
          The helperArray is filled with auxiliary data from which the surface points can be computed quickly in public Vector3D surfacePoint(double u, double v).
protected  Complex domainGrid(double u, double v)
          Most minimal surfaces need a specially adapted domain grid.
protected  double findGoodAFP(double x)
           
protected  Complex gauss(Complex z)
          The following two functions are the Weierstrass data that define this surface.
 ActionList getAdditionalAnimationsForView(View view)
          This method returns a list of ActionItem that will be added to the Animation menu of the 3dxm applicaiton.
protected  ComplexVector3D getCenter()
          We want to center the surface (one hexagon) already at the helper Level.
 View getDefaultView()
          Returns a default view of this exhibit, a View of type SurfaceView.
protected  Complex hPrime(Complex z)
           
protected  Complex mu(Complex z)
           
 void parameterChanged(Parameter param, java.lang.Object oldValue, java.lang.Object newValue)
          This method will be called automatically when a parameter that has been added to this Exhibit is changed.
static double paramRescaleBoth(double x)
           
static double paramRescaleEnd(double x)
           
static double paramRescaleStart(double x)
           
protected  void redoConstants()
          redoConstants is called in createData above, before any other computations start.
 
Methods inherited from class vmm.surface.parametric.WeierstrassMinimalSurface
ComplexVectorFunction, ComplexVectorIntegrator, ComplexVectorOneStepIntegrator, component3, computeHalfPeriod, doClosingJob, gaussInverseTimesHPrime, gaussTimesHPrime, getNumberOfPieces, helperToMinimal, intersectLines, minimalToHelper, monotonPow, setNumberOfPieces, surfaceNormal, surfacePoint
 
Methods inherited from class vmm.surface.parametric.SurfaceParametric
addExtraXML, deriv_u, deriv_v, gaussMap, getActionsForView, readExtraXML, removeView
 
Methods inherited from class vmm.surface.Surface
computeDrawData3D, doDraw3D, getBuildAnimation, getDefaultOrientation, 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

LidinoidHfamily

public LidinoidHfamily()
Method Detail

getDefaultView

public View getDefaultView()
Description copied from class: Surface
Returns a default view of this exhibit, a View of type SurfaceView. (Note: If a Surface is displayed in a plain View3D, it will always appear as a wireframe.)

Overrides:
getDefaultView in class WeierstrassMinimalSurface

parameterChanged

public void parameterChanged(Parameter param,
                             java.lang.Object oldValue,
                             java.lang.Object newValue)
Description copied from class: Exhibit
This method will be called automatically when a parameter that has been added to this Exhibit is changed. It should not ordinarily be called directly. Note that in fact, this method simply calls forceRedraw. This method is defined in the <@link Parameterizable} interface.

Specified by:
parameterChanged in interface Parameterizable
Overrides:
parameterChanged in class WeierstrassMinimalSurface
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()
Description copied from class: WeierstrassMinimalSurface
Overrides createData from SurfaceParametric with the goal of recomputing all constants that go into the Weierstrass Data, and then do the helperArray. The recomputation should be done before super.createData() is called.

Overrides:
createData in class WeierstrassMinimalSurface

paramRescaleEnd

public static double paramRescaleEnd(double x)

paramRescaleStart

public static double paramRescaleStart(double x)

paramRescaleBoth

public static double paramRescaleBoth(double x)

domainGrid

protected Complex domainGrid(double u,
                             double v)
Description copied from class: WeierstrassMinimalSurface
Most minimal surfaces need a specially adapted domain grid. The default grid is the standard cartesian one.

Overrides:
domainGrid in class WeierstrassMinimalSurface

gauss

protected Complex gauss(Complex z)
The following two functions are the Weierstrass data that define this surface. It is best shown on the above domainGrid.

Specified by:
gauss in class WeierstrassMinimalSurface

mu

protected Complex mu(Complex z)

hPrime

protected Complex hPrime(Complex z)
Specified by:
hPrime in class WeierstrassMinimalSurface

redoConstants

protected void redoConstants()
Description copied from class: WeierstrassMinimalSurface
redoConstants is called in createData above, before any other computations start.

Overrides:
redoConstants in class WeierstrassMinimalSurface

findGoodAFP

protected double findGoodAFP(double x)

getCenter

protected ComplexVector3D getCenter()
We want to center the surface (one hexagon) already at the helper Level.

Overrides:
getCenter in class WeierstrassMinimalSurface

computePeriodData

public void computePeriodData()

closePeriodWithAFP

protected double closePeriodWithAFP()

createHelperArray

public void createHelperArray()
Description copied from class: WeierstrassMinimalSurface
The helperArray is filled with auxiliary data from which the surface points can be computed quickly in public Vector3D surfacePoint(double u, double v). The routine can either start with the i-line j=0 first and use these values to start the integration along the j-curves -- or it can do the j-curve i=0 first and compute the i-curves from there. One tries to have no singular or numerically difficult points on the first curve.

Overrides:
createHelperArray in class WeierstrassMinimalSurface

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 WeierstrassMinimalSurface
Parameters:
view - The view in which the animations will be run.