JavaView® v2.12

vgp.discrete.harmonic
Class PgSurfacePair

java.lang.Object
  |
  +--jv.object.PsObject
        |
        +--jv.project.PgGeometry
              |
              +--vgp.discrete.harmonic.PgSurfacePair
All Implemented Interfaces:
java.lang.Cloneable, PgGeometryIf, PsTimeListenerIf, PsUpdateIf, java.io.Serializable
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.

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)
Author:
Konrad Polthier
See Also:
Serialized Form

Field Summary
static int ASSOCIATE
           
static int ASSOCIATE_FULL
           
static int CURRENT
           
static int DOMAIN
          Identifiers of surfaces handle in data structure PgSurfacePair.
static int DUAL
           
static int DUAL_FULL
           
static int SURFACE
           
 
Fields inherited from class jv.object.PsObject
HAS_CONFIG_PANEL, HAS_INFO_PANEL, HAS_MATERIAL_PANEL, HAS_TEXTURE_PANEL, INSPECTOR_INFO, INSPECTOR_INFO_EXT, IS_DELETED, IS_FIXED, 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, 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, METHOD_EXT, PROJ_KLEIN_BALL, PROJ_PARALLEL, PROJ_POINCARE_BALL, PROJ_STEREOGRAPHIC, PROJ_UPPER_HALFSPACE
 
Constructor Summary
PgSurfacePair(int domainDim, int imageDim)
           
 
Method Summary
 boolean computeAssociate(double t)
          Compute associate family by interpolating between surface and dual.
 boolean conjugate()
           
 boolean conjugateToFull()
           
 PgElementSet getActiveSurface()
           
 PsAnimation getAnimation()
          Get the animation object of the project which handles the projects animations.
 PgElementSet getSurface(int type)
           
 boolean hasAnimation()
          Check whether this project is registered as listener of an animation object.
 void init()
          Initializes and resets geometry.
 void paint(PvGeometryIf dc)
          Major rendering method fills an internal container class supplied by the display.
 void setActiveSurface(int type)
           
 void setAnimation(PsAnimation anAnimation)
          Assign the animation object where this listener is registered.
 void setSurface(PgElementSet geom, int type)
           
 boolean setTime(PsTimeEvent timeEvent)
          Required interface for PsTimeListenerIf
 boolean update(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, blend, clearTagElement, clearTagPolygon, clearTagVertex, clone, copy, fillMethodMenu, getAmbientBounds, getAmbientInvMatrix, getAmbientMatrix, getAmbientProjection, getAmbientSpace, getAuthorInfo, getAuthors, getBounds, getCenter, getCenterOfElement, getControlPanel, getDiameter, getDimOfSimplex, getDimOfVertices, getDisplays, getElement, getGeometryInfo, getJvx, getLabelAttribute, getMaterialPanel, getModelMatrix, getPolygon, getTextureImage, getTextureImageName, getTitle, getVersion, getVersionType, getVertex, hasAmbientMatrix, hasDisplay, hasModelMatrix, hasTagElement, hasTagPolygon, hasTagVertex, intersectionWithLine, isConfigurable, isShowingBndBox, isShowingCenter, isShowingTitle, isVisible, merge, reflect, removeDisplay, removeElement, removePolygon, removeVertex, setAmbientMatrix, setAmbientProjection, setAmbientSpace, setAuthorInfo, setAuthors, setCenter, setDimOfSimplex, setElement, setGeometryInfo, setJvx, setLabelAttribute, setLabelAttribute, setModelMatrix, setPolygon, setState, setTagElement, setTagPolygon, setTagVertex, setTextureImage, setTextureImageName, setTitle, setVersion, setVersionType, setVertex, setVisible, showBndBox, showCenter, showTitle, toString
 
Methods inherited from class jv.object.PsObject
addInspector, addUpdateListener, assureInspector, clearTag, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, hasInspector, hasTag, hasUpdateListener, instanceOf, instanceOf, removeInspector, removeUpdateListener, setName, setParent, 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, 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.

SURFACE

public static final int SURFACE

DUAL

public static final int DUAL

DUAL_FULL

public static final int DUAL_FULL

ASSOCIATE

public static final int ASSOCIATE

ASSOCIATE_FULL

public static final int ASSOCIATE_FULL

CURRENT

public static final int CURRENT
Constructor Detail

PgSurfacePair

public PgSurfacePair(int domainDim,
                     int imageDim)
Method Detail

init

public void init()
Description copied from class: PgGeometry
Initializes and resets geometry.
Overrides:
init in class PgGeometry

update

public boolean update(java.lang.Object event)
Description copied from class: PgGeometry
Update 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.
3. event == else : unhandled event, error.
Panels are not updated if they have not been created yet, or if they are not visible.

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.
Overrides:
update in class PgGeometry
Following copied from interface: jv.object.PsUpdateIf
Parameters:
event - carries a lot of information
Returns:
true if event has been handled, otherwise false
See Also:
PsObject, PsUpdateIf.getFather(), PsUpdateIf.setParent(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: PgGeometry
Major rendering method fills an internal container class supplied by the display. See jv.project.PgGeometryIf for detailed information.
Overrides:
paint in class PgGeometry
Following copied from class: jv.project.PgGeometry
See Also:
PgGeometryIf

conjugate

public boolean conjugate()

conjugateToFull

public boolean conjugateToFull()

setTime

public boolean setTime(PsTimeEvent timeEvent)
Required interface for PsTimeListenerIf
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.12

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