vgp.surface.common
Class PgSurface_Tannery
- java.lang.Object
-
- jv.object.PsObject
-
- jvx.surface.PgDomainDescr
-
- vgp.surface.common.PgSurfaceDescr
-
- vgp.surface.common.PgSurface_Tannery
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, PsUpdateIf
public class PgSurface_Tannery extends PgSurfaceDescr
Computes rotational symmetric Tannery surface. All geodesics are closed after twice running around the surface and all geodesics have same length 4Pi.Parametrized surface given by method, or interactively, by function expressions. If the functions of a surface are specified in
calc_fmethod 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:
PgSurfaceDescr, Serialized Form- Author:
- Konrad Polthier
- Version:
- 28.12.08, 1.00 revised (kp)
28.12.08, 1.00 created (kp)
-
-
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_Tannery()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description booleancalc_f(PdVector fun, double u, double v)Internal function called by eval(..) to compute function value.voidinit()Initialize and reset data structure and all instance variables.booleanisUPeriodic()Determine if surface is periodic in u-direction.booleanupdate(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
-
-
-
-
Method Detail
-
init
public void init()
Description copied from class:PgDomainDescrInitialize and reset data structure and all instance variables.- Overrides:
initin classPgSurfaceDescr
-
update
public boolean update(java.lang.Object event)
Description copied from class:PgSurfaceDescrCatch events from function strings. Update the class whenever a child has changed. Method is usually invoked from the children.- Specified by:
updatein interfacePsUpdateIf- Overrides:
updatein classPgSurfaceDescr- 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)
-
isUPeriodic
public boolean isUPeriodic()
Description copied from class:PgSurfaceDescrDetermine if surface is periodic in u-direction. This method returns false, but will be overwritten by surface which are periodic.- Overrides:
isUPeriodicin classPgSurfaceDescr
-
calc_f
public boolean calc_f(PdVector fun, double u, double v)
Description copied from class:PgSurfaceDescrInternal 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==falsethen 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_fin classPgSurfaceDescr- Parameters:
fun- vector where to place the function values.- Returns:
trueif function has been overridden and evaluated successfully.- See Also:
PgSurfaceDescr.eval(PdVector, double, double)
-
-
"