vgp.discrete.harmonic
Class PgSurfacePair
- java.lang.Object
-
- jv.object.PsObject
-
- jv.project.PgGeometry
-
- vgp.discrete.harmonic.PgSurfacePair
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, PsTimeListenerIf, PsUpdateIf, PgGeometryIf
- Direct Known Subclasses:
- PgHarmonicMap
public class PgSurfacePair extends PgGeometry implements PsTimeListenerIf
Maps between surfaces are given by specifying a domain and an image surface. Additionally, image surface may have a conjugate surface and a continuous, animatable 1-parameter family between surface and its conjugate.- See Also:
- Serialized Form
- Author:
- Konrad Polthier
- Version:
- 21.12.00, 2.50 revised (kp) Working on full non-conforming mesh.
21.07.99, 2.00 revised (kp) Instance Energy of subclass removed.
00.00.98, 1.00 created (kp)
-
-
Field Summary
Fields Modifier and Type Field and Description static intASSOCIATEstatic intASSOCIATE_FULLstatic intCURRENTstatic intDOMAINIdentifiers of surfaces handle in data structure PgSurfacePair.static intDUALstatic intDUAL_FULLstatic intSURFACE-
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
-
Fields inherited from interface jv.project.PgGeometryIf
AMBIENT_H2_HYPERBOLIC, AMBIENT_H3_HYPERBOLIC, AMBIENT_H4_HYPERBOLIC, AMBIENT_PROJECTIONS, AMBIENT_R1_EUCLIDEAN, AMBIENT_R2_EUCLIDEAN, AMBIENT_R3_EUCLIDEAN, AMBIENT_R4_EUCLIDEAN, AMBIENT_R5_EUCLIDEAN, AMBIENT_S1_SPHERE, AMBIENT_S2_SPHERE, AMBIENT_S3_SPHERE, AMBIENT_S4_SPHERE, AMBIENT_SPACES, BLEND_ALPHA, BLEND_MATERIAL, BLEND_REPLACE, FILTER_DIRECT, FILTER_LINEAR, FILTER_QUADRATIC, HAS_METHOD_MENU, INSPECTOR_CONTROL, INSPECTOR_CONTROL_EXT, INSPECTOR_MATERIAL, INSPECTOR_MATERIAL_EXT, INSPECTOR_TEXTURE, INSPECTOR_TEXTURE_EXT, LABEL_BASE, LABEL_CENTER, LABEL_HEAD, LABEL_MIDDLE, LABEL_TAIL, LABEL_TOP, m_numLabelTypes, METHOD_EXT, PERIODIC_BOTH, PERIODIC_HEIGHT, PERIODIC_NONE, PERIODIC_WIDTH, PROJ_KLEIN_BALL, PROJ_PARALLEL, PROJ_POINCARE_BALL, PROJ_STEREOGRAPHIC, PROJ_UPPER_HALFSPACE, SIDE_BACK, SIDE_BOTH, SIDE_FRONT, SIDE_NONE
-
-
Constructor Summary
Constructors Constructor and Description PgSurfacePair(int domainDim, int imageDim)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description booleancomputeAssociate(double t)Compute associate family by interpolating between surface and dual.booleanconjugate()booleanconjugateToFull()PgElementSetgetActiveSurface()PsAnimationgetAnimation()Get the animation object of the project which handles the projects animations.PgElementSetgetSurface(int type)booleanhasAnimation()Check whether this project is registered as listener of an animation object.voidinit()Initializes and resets geometry.voidpaint(PvGeometryIf dc)Major rendering method fills an internal container class supplied by the display.voidsetActiveSurface(int type)voidsetAnimation(PsAnimation anAnimation)Assign the animation object where this listener is registered.voidsetSurface(PgElementSet geom, int type)booleansetTime(PsTimeEvent timeEvent)Required interface for PsTimeListenerIfbooleanupdate(java.lang.Object event)Update method of geometry updates registered panels, update listeners, and invokes a repaint in the registered displays.-
Methods inherited from class jv.project.PgGeometry
addDisplay, addElement, addPolygon, addVertex, applyAmbientMatrix, applyModelingMatrix, blend, clearTagElement, clearTagPolygon, clearTagVertex, clone, convertWorldToModel, copy, fillMethodMenu, fillMethodMenu, getAmbientBounds, getAmbientInvMatrix, getAmbientMatrix, getAmbientProjection, getAmbientSpace, getAuthorInfo, getAuthors, getBounds, getCenter, getCenterOfElement, getControlPanel, getDiameter, getDimOfSimplex, getDimOfVertices, getDisplayList, getDisplays, getElement, getGeometryInfo, getJvx, getLabelAttribute, getLabelColor, getLabelFont, getLabelSize, getLabelStyle, getMaterialPanel, getModelMatrix, getPolygon, getState, getTextureImage, getTextureImageName, getTitle, getType, getVersion, getVersionType, getVertex, hasAmbientMatrix, hasDisplay, hasModelMatrix, hasTagElement, hasTagPolygon, hasTagVertex, intersectionWithLine, isConfigurable, isEnabledInstanceSharing, isShowingBndBox, isShowingCenter, isShowingName, isShowingTitle, isVisible, merge, projectFromAmbientSpace, reflect, removeDisplay, removeElement, removeMethodMenus, removePolygon, removeVertex, setAmbientMatrix, setAmbientProjection, setAmbientSpace, setAuthorInfo, setAuthors, setCenter, setDimOfSimplex, setDimOfVertices, setElement, setEnabledInstanceSharing, setGeometryInfo, setJvx, setLabelAttribute, setLabelAttribute, setLabelColor, setLabelFont, setLabelSize, setLabelStyle, setModelMatrix, setPolygon, setState, setTagElement, setTagPolygon, setTagVertex, setTextureImage, setTextureImageName, setTitle, setType, setVersion, setVersionType, setVertex, setVisible, showBndBox, showCenter, showName, showTitle, 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
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jv.anim.PsTimeListenerIf
getName
-
Methods inherited from interface jv.project.PgGeometryIf
assureInspector, getInfoPanel, getName, hasTag, setName
-
Methods inherited from interface jv.object.PsUpdateIf
getFather, setParent
-
-
-
-
Field Detail
-
DOMAIN
public static final int DOMAIN
Identifiers of surfaces handle in data structure PgSurfacePair. Numbering must be in the same order than in the corresponding choice in PgSurfacePair_IP, see PgSurfacePair_IP#m_cShowSurface.- See Also:
- Constant Field Values
-
SURFACE
public static final int SURFACE
- See Also:
- Constant Field Values
-
DUAL
public static final int DUAL
- See Also:
- Constant Field Values
-
DUAL_FULL
public static final int DUAL_FULL
- See Also:
- Constant Field Values
-
ASSOCIATE
public static final int ASSOCIATE
- See Also:
- Constant Field Values
-
ASSOCIATE_FULL
public static final int ASSOCIATE_FULL
- See Also:
- Constant Field Values
-
CURRENT
public static final int CURRENT
- See Also:
- Constant Field Values
-
-
Method Detail
-
init
public void init()
Description copied from class:PgGeometryInitializes and resets geometry.- Overrides:
initin classPgGeometry
-
update
public boolean update(java.lang.Object event)
Description copied from class:PgGeometryUpdate method of geometry updates registered panels, update listeners, and invokes a repaint in the registered displays.Usage:
- 1. event == this : geometry has changed, all panels will be updated.
- 2. event == null : geometry has changed, no need to update a panel.
- 3. event == a panel : geometry has changed, all panels except 'panel' will be updated.
- 4. event == else : unhandled event, error.
Any update is forwarded to the parent of the geometry with the geometry as event.
Any update is forwarded to each registered display with the geometry as event which leads to a repaint of the display.
- Specified by:
updatein interfacePsUpdateIf- Overrides:
updatein classPgGeometry- 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)
-
getActiveSurface
public PgElementSet getActiveSurface()
-
setActiveSurface
public void setActiveSurface(int type)
-
computeAssociate
public boolean computeAssociate(double t)
Compute associate family by interpolating between surface and dual. Use info panel to start animation sequence.
-
setSurface
public void setSurface(PgElementSet geom, int type)
-
getSurface
public PgElementSet getSurface(int type)
-
paint
public void paint(PvGeometryIf dc)
Description copied from class:PgGeometryMajor rendering method fills an internal container class supplied by the display. Seejv.project.PgGeometryIffor detailed information.- Specified by:
paintin interfacePgGeometryIf- Overrides:
paintin classPgGeometry- See Also:
PgGeometryIf
-
conjugate
public boolean conjugate()
-
conjugateToFull
public boolean conjugateToFull()
-
setTime
public boolean setTime(PsTimeEvent timeEvent)
Required interface for PsTimeListenerIf- Specified by:
setTimein interfacePsTimeListenerIf
-
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 usingsetAnimation(PsAnimation).- Specified by:
getAnimationin interfacePsTimeListenerIf- See Also:
hasAnimation(),setAnimation(PsAnimation)
-
hasAnimation
public boolean hasAnimation()
Check whether this project is registered as listener of an animation object.- Specified by:
hasAnimationin interfacePsTimeListenerIf- 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.Only one animation object may be assigned to this listener. Subsequent assignments will replace the previous assignment.
- Specified by:
setAnimationin interfacePsTimeListenerIf- See Also:
getAnimation(),hasAnimation()
-
-
"