JavaView® v2.00.008

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.lang.Cloneable, PsTimeListenerIf, PsUpdateIf, java.io.Serializable

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 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.

Version:
00.00.99, 1.00 revised (sk)
00.00.99, 1.00 created (sk)
Author:
Samy Khadem
See Also:
Serialized Form

Field Summary
protected  PuDouble m_angle
           
protected  PsAnimation m_anim
          Supervising animation control, empty if not used.
 
Fields inherited from class vgp.surface.common.PgSurfaceDescr
m_bUseFunctionExpression, m_christoffel, m_ddf_dUdU, m_ddf_dUdV, m_ddf_dVdV, m_df, m_df_dU, m_df_dV, m_dN, m_dN_dU, m_dN_dV, m_f, m_firstFundamental, m_function, m_normal, m_numFunctions, m_numVariables, m_parm, m_secondFundamental, m_weingarten, SCENES, SURFACES
 
Fields inherited from class jvx.surface.PgDomainDescr
m_bMaxSizeEnabled, m_bShowULine, m_bShowVLine, m_dimOfVertices, m_numULines, m_numVLines, m_stripSize, m_uMax, m_uMin, m_vMax, m_vMin
 
Fields inherited from class jv.object.PsObject
HAS_CONFIG_PANEL, HAS_INFO_PANEL, HAS_MATERIAL_PANEL, INSPECTOR_INFO, INSPECTOR_INFO_EXT, IS_DELETED, IS_FIXED, IS_SELECTED, IS_USED, m_infoPanel, m_name, m_panelList, m_parent, m_tag, m_updateList, NUM_TAGS
 
Constructor Summary
PgSurface_CatenoidHelicoid()
           
 
Method Summary
protected  PdVector calc_ddf_dUdU(double u, double v)
           
protected  PdVector calc_ddf_dUdV(double u, double v)
           
protected  PdVector calc_ddf_dVdV(double u, double v)
           
protected  PdVector calc_df_dU(double u, double v)
          These default functions compute the differential by difference quotients and should be overridden when explicit derivatives are known.
protected  PdVector calc_df_dV(double u, double v)
           
 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()
           
 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, calc_christoffel, calc_df, calc_dN_dU, calc_dN_dV, calc_dN, calc_firstFundamental, calc_normal, calc_secondFundamental, calc_weingarten, christoffel, ddf_dUdU, ddf_dUdV, ddf_dVdV, df_dU, df_dV, df, dN_dU, dN_dV, dN, eval, firstFundamental, getDomainPanel, getFunction, getListOfScenes, getListOfSurfaces, getParameter, getParameters, isVPeriodic, normal, secondFundamental, setFunction, useFunctionExpression, useFunctionExpression, weingarten
 
Methods inherited from class jvx.surface.PgDomainDescr
eval, getNumULines, getNumVLines, getUMax, getUMin, getVMax, getVMin, isShowingULine, isShowingVLine, setDiscr, setDiscrBounds, setMaxSize, setNumULines, setNumVLines, setSize, setUMax, setUMin, setVMax, setVMin, showULine, showVLine
 
Methods inherited from class jv.object.PsObject
addInspector, addUpdateListener, clearTag, clone, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, hasInspector, hasTag, hasUpdateListener, instanceOf, instanceOf, removeInspector, removeUpdateListener, setName, setParent, setTag, toString, updatePanels
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jv.anim.PsTimeListenerIf
getName
 

Field Detail

m_angle

protected PuDouble m_angle

m_anim

protected PsAnimation m_anim
Supervising animation control, empty if not used.
Constructor Detail

PgSurface_CatenoidHelicoid

public PgSurface_CatenoidHelicoid()
Method Detail

isUPeriodic

public boolean isUPeriodic()
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.
Overrides:
update in class PgSurfaceDescr
Following copied from class: jv.object.PsObject
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 should be overwritten by subclasses to compute surfaces.

HACK: Access lowered to public since other javadoc comments refer to class.

Overrides:
calc_f in class PgSurfaceDescr
Following copied from class: vgp.surface.common.PgSurfaceDescr
Parameters:
f - vector where to place the function values.
Returns:
true if function has been overridden and evaluated successfully.
See Also:
PgSurfaceDescr.eval(PdVector, double, double)

calc_df_dU

protected PdVector calc_df_dU(double u,
                              double v)
Description copied from class: PgSurfaceDescr
These default functions compute the differential by difference quotients and should be overridden when explicit derivatives are known.
Overrides:
calc_df_dU in class PgSurfaceDescr

calc_df_dV

protected PdVector calc_df_dV(double u,
                              double v)
Overrides:
calc_df_dV in class PgSurfaceDescr

calc_ddf_dUdU

protected PdVector calc_ddf_dUdU(double u,
                                 double v)
Overrides:
calc_ddf_dUdU in class PgSurfaceDescr

calc_ddf_dVdV

protected PdVector calc_ddf_dVdV(double u,
                                 double v)
Overrides:
calc_ddf_dVdV in class PgSurfaceDescr

calc_ddf_dUdV

protected PdVector calc_ddf_dUdV(double u,
                                 double v)
Overrides:
calc_ddf_dUdV in class PgSurfaceDescr

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.

If this project has an animation object assigned in its constructor or init() method, then the animation panel is shown when the project's start() method is invoked during loading of the project.

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

JavaView® v2.00.008

The software JavaView® is copyright protected. All Rights Reserved.