vmm.surface.parametric
Class DoublyPeriodicJD

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.DoublyPeriodicJD
All Implemented Interfaces:
java.util.EventListener, javax.swing.event.ChangeListener, Decorateable, Parameterizable

public class DoublyPeriodicJD
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
DoublyPeriodicJD()
           
 
Method Summary
 void computeHalfPeriod()
           
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.
protected  Complex domainGrid(double u, double v)
          Most minimal surfaces need a specially adapted domain grid.
protected  Complex gauss(Complex z)
          The following two functions are the Weierstrass data that define this surface.
protected  ComplexVector3D getCenter()
          We want to center the surface 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  void p_Index()
           
protected  void redoConstants()
          redoConstants is called in createData above, before any other computations start.
 Vector3D surfacePoint(double u, double v)
          Override to close the hole around the images of P, -1/P.
 
Methods inherited from class vmm.surface.parametric.WeierstrassMinimalSurface
ComplexVectorFunction, ComplexVectorIntegrator, ComplexVectorOneStepIntegrator, component3, createHelperArray, doClosingJob, gaussInverseTimesHPrime, gaussTimesHPrime, getAdditionalAnimationsForView, getNumberOfPieces, helperToMinimal, intersectLines, minimalToHelper, monotonPow, parameterChanged, setNumberOfPieces, surfaceNormal
 
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

DoublyPeriodicJD

public DoublyPeriodicJD()
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

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

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

p_Index

protected void p_Index()

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

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

getCenter

protected ComplexVector3D getCenter()
We want to center the surface already at the helper Level. We cannot use the symmetry lines of the surface and therefore need to integrate towards the image of P.

Overrides:
getCenter in class WeierstrassMinimalSurface

computeHalfPeriod

public void computeHalfPeriod()
Overrides:
computeHalfPeriod in class WeierstrassMinimalSurface

surfacePoint

public Vector3D surfacePoint(double u,
                             double v)
Override to close the hole around the images of P, -1/P.

Overrides:
surfacePoint in class WeierstrassMinimalSurface