vgp.minimal.weier
Class PgWeierstrassDescr
- java.lang.Object
-
- jv.object.PsObject
-
- vgp.minimal.weier.PgWeierstrassDescr
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, PsUpdateIf
- Direct Known Subclasses:
- PgWeierstrass_Bidenoid, PgWeierstrass_Cameloid, PgWeierstrass_CatEnn, PgWeierstrass_CatEnn2Ends, PgWeierstrass_CatEnn2Twist, PgWeierstrass_CatEnnK, PgWeierstrass_Catenoid, PgWeierstrass_CatKExp, PgWeierstrass_CatSplit, PgWeierstrass_Chen, PgWeierstrass_ChenGackstatter, PgWeierstrass_Costa, PgWeierstrass_Costa2, PgWeierstrass_Enn4_5, PgWeierstrass_Enneper, PgWeierstrass_KNoid, PgWeierstrass_KNoid2, PgWeierstrass_MeeksMoebius, PgWeierstrass_MeeksMoebiusDual, PgWeierstrass_PlanarEnd, PgWeierstrass_Scherk, PgWeierstrass_ScherkDoubly, PgWeierstrass_Schoen_I_WP, PgWeierstrass_Schoen_I_WP1, PgWeierstrass_Schoen_I_WP2, PgWeierstrass_SchwarzD, PgWeierstrass_SchwarzD2, PgWeierstrass_SchwarzP, PgWeierstrass_SchwarzP2
public abstract class PgWeierstrassDescr extends PsObject
Abstract descriptor class for Weierstrass integrated minimal surfaces.- See Also:
- Serialized Form
- Author:
- Konrad Polthier and Ulrich Reitebuch
- Version:
- 07.05.13, 2.50 revised (kp) Superclass changed to PsObject instead of PgGeometry.
16.05.07, 2.10 revised (ur) Full revision.
09.04.07, 2.00 revised (kp) Major revision and class reorganization.
01.06.99, 1.00 created (ur)
-
-
Field Summary
Fields Modifier and Type Field and Description intm_numUserReflectionsNumber of reflections added interactively by the user.static intREFLECT_LINEReflect real part of a patch at the straight line through a boundary polygon, reflect the imaginary part at the plane passing through the corresponding boundary polygon.static intREFLECT_PLANEReflect real part of a patch at the plane passing through a boundary polygon, reflect the imaginary part at the straight line through the corresponding boundary polygon.-
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 PgWeierstrassDescr(int numIntegratedPatches)This constructor will set the number of domain discretization sliders to the default value 2.PgWeierstrassDescr(int numIntegratedPatches, int numDiscrSliders)Constructor
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method and Description voidaddParameter(PsObject parm)Add a parameter of the surface to parameter list.voidconnectPart(int partNr1, int bndNr1, int partNr2, int bndNr2)Appoint boundaries of parts to be glued together.booleanconnectReflection(int partNr)Appoint, if a reflection shall be glued to it's original.booleanconnectReflection(PiVector partPath, int partNr)Appoint, if a reflection shall be glued to it's original.booleanequals(PiVector partPath, int i)Compare a PiVector with one int; return true, if the PiVector has size 1 and the only entry is equal to the int argument.booleanequals(PiVector partPath, int[] path)Compare a PiVector with an int array; return true, if PiVector and array have the same size and the entries are equal for each index.booleanequals(PiVector partPath, int i, int j)Compare a PiVector with two ints; return true, if the PiVector has size 2 and the entries are equal to the two int arguments, respectively.abstract PuComplexf(PuComplex z)Compute the Weierstrass function f.PuComplex[]fun(PuComplex z)Compute Weierstrass integrand from the Weierstrass functions f and g.abstract PuComplexg(PuComplex z)Compute the Weierstrass function g.voidgetBndReflectType(PiVector partPath, int partNr, PiVector bndReflectType)Set reflectType == REFLECT_PLANE to reflect Re on plane and rotate Im on line or reflectType == REFLECT_LINE to rotate Re on line and reflect Im on plane.voidgetConnections()Connect parts of the surface.voidgetConnections(PiVector partPath)Connect parts of a part of the surface.PiVector[][]getConnections(PiVector partPath, PiVector[][] cc, int numParts)Return Vector of part connections.intgetDimOfElements()Return dimension of elements.PuComplex[]getFStart(int partNr)Return complex as starting value for integration.PuComplex[]getFStart(PiVector partPath, int partNr)Return complex as starting value for integration.intgetMarkedBndNr()Return number of marked boundary polygon.intgetNumIntegratedPatches()Get number of patches, that are integrated from Weierstrass data.intgetNumParts()Return number of parts of the surface.intgetNumParts(PiVector partPath)Return number of parts of the surface.intgetNumULines(int partNr)Get number of lines in domain's u direction.intgetNumVLines(int partNr)Get number of lines in domain's v direction.voidgetReflections()Return vector of part reflections.voidgetReflections(PiVector partPath)Return vector of part reflections in a part.PiVector[]getReflections(PiVector partPath, int numParts)Return vector with numbers of parts to be reflected.intgetStartU(PiVector partPath, int partNr)Return index of u-line to start integration with.intgetStartV(PiVector partPath, int partNr)Return index of v-line to start integration with.doublegetUMax(int patchIndex)Get maximum u value for a patch domain.doublegetUMin(int patchIndex)Get minimum u value for a patch domain.doublegetVMax(int patchIndex)Get maximum v value for a patch domain.doublegetVMin(int patchIndex)Get minimum v value for a patch domain.voidinit()InitializationbooleanisEnabledMarkBnd()Check if the user is allowed to mark a PgBndPolygon for reflecting the surface.voidnewReflection()Save a reflection, that was invoked by the user.booleanpartIsSubdivided(PiVector partPath, int partNr)Return, if a part of the surface must be composed from several parts itself.voidreflectPart(int partNr1, int partNr0, int bndNr0)Appoint a part of the surface to be reflection of an other part.voidreturnUserReflections()Return vector of reflections invoked by the user.voidsetConnections(PiVector[][] a)Appoint connections of parts of the surface.voidsetDomain(int patchIndex, double uMin, double uMax, double vMin, double vMax)Set rectangular domain size for a patch domain.voidsetEnabledMarkBnd(boolean bMarkBnd)Set if the user is allowed to mark a PgBndPolygon for reflecting the surface.voidsetMarkedBndNr(int nr)Appoint number of marked boundary polygon.voidsetNumIntegratedPatches(int numIntegratedPatches)Set number of patches, that will be integrated from Weierstrass data.voidsetPartBndNr(int nr)Appoint index of boundary polygon to reflect part at.voidsetReflection(PiVector[] a)Appoint reflections of parts.voidsetReflectPartNr(int nr)Appoint index of part to be reflected by the user.voidsetUMax(int patchIndex, double value)Set maximum u value for a patch domain.voidsetUMin(int patchIndex, double value)Set minimum u value for a patch domain.voidsetVertDim(int aVertDim)Set dimension of vertices.voidsetVMax(int patchIndex, double value)Set maximum v value for a patch domain.voidsetVMin(int patchIndex, double value)Set minimum v value for a patch domain.PuComplextransform(int patchIndex, PuComplex z)Transformation of rectangular domain before computing Weierstrass functions f and g.PuComplextransform(PuComplex z)Transformation of rectangular domain before computing Weierstrass functions f and g.booleanupdate(java.lang.Object event)Update the class whenever a child has changed.-
Methods inherited from class jv.object.PsObject
addInspector, addUpdateListener, assureInspector, clearTag, clone, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, getSymbol, hasInspector, hasTag, hasUpdateListener, instanceOf, instanceOf, newInspector, newInspector, removeInspector, removeInspector, removeUpdateListener, setName, setParent, setSymbol, setTag, toString, updatePanels
-
-
-
-
Field Detail
-
REFLECT_PLANE
public static final int REFLECT_PLANE
Reflect real part of a patch at the plane passing through a boundary polygon, reflect the imaginary part at the straight line through the corresponding boundary polygon.- See Also:
- Constant Field Values
-
REFLECT_LINE
public static final int REFLECT_LINE
Reflect real part of a patch at the straight line through a boundary polygon, reflect the imaginary part at the plane passing through the corresponding boundary polygon.- See Also:
- Constant Field Values
-
m_numUserReflections
public int m_numUserReflections
Number of reflections added interactively by the user.
-
-
Constructor Detail
-
PgWeierstrassDescr
public PgWeierstrassDescr(int numIntegratedPatches)
This constructor will set the number of domain discretization sliders to the default value 2.- Version:
- 07.05.13, 1.10 revised (kp) Calls other constructor with default argument.
-
PgWeierstrassDescr
public PgWeierstrassDescr(int numIntegratedPatches, int numDiscrSliders)Constructor
-
-
Method Detail
-
update
public boolean update(java.lang.Object event)
Update the class whenever a child has changed. Method is usually invoked from the children.- Specified by:
updatein interfacePsUpdateIf- Overrides:
updatein classPsObject- 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)
-
setNumIntegratedPatches
public void setNumIntegratedPatches(int numIntegratedPatches)
Set number of patches, that will be integrated from Weierstrass data. Exactly for these patches the domain size must be known.
-
getNumIntegratedPatches
public int getNumIntegratedPatches()
Get number of patches, that are integrated from Weierstrass data.
-
setDomain
public void setDomain(int patchIndex, double uMin, double uMax, double vMin, double vMax)Set rectangular domain size for a patch domain.
-
getNumULines
public int getNumULines(int partNr)
Get number of lines in domain's u direction.
-
getNumVLines
public int getNumVLines(int partNr)
Get number of lines in domain's v direction.
-
setUMin
public void setUMin(int patchIndex, double value)Set minimum u value for a patch domain.
-
getUMin
public double getUMin(int patchIndex)
Get minimum u value for a patch domain.
-
setUMax
public void setUMax(int patchIndex, double value)Set maximum u value for a patch domain.
-
getUMax
public double getUMax(int patchIndex)
Get maximum u value for a patch domain.
-
setVMin
public void setVMin(int patchIndex, double value)Set minimum v value for a patch domain.
-
getVMin
public double getVMin(int patchIndex)
Get minimum v value for a patch domain.
-
setVMax
public void setVMax(int patchIndex, double value)Set maximum v value for a patch domain.
-
getVMax
public double getVMax(int patchIndex)
Get maximum v value for a patch domain.
-
addParameter
public void addParameter(PsObject parm)
Add a parameter of the surface to parameter list.
-
setVertDim
public void setVertDim(int aVertDim)
Set dimension of vertices.
-
fun
public PuComplex[] fun(PuComplex z)
Compute Weierstrass integrand from the Weierstrass functions f and g.
-
transform
public PuComplex transform(PuComplex z)
Transformation of rectangular domain before computing Weierstrass functions f and g.
-
transform
public PuComplex transform(int patchIndex, PuComplex z)
Transformation of rectangular domain before computing Weierstrass functions f and g.
-
getNumParts
public int getNumParts()
Return number of parts of the surface.
-
getNumParts
public int getNumParts(PiVector partPath)
Return number of parts of the surface.
-
getDimOfElements
public int getDimOfElements()
Return dimension of elements.
-
partIsSubdivided
public boolean partIsSubdivided(PiVector partPath, int partNr)
Return, if a part of the surface must be composed from several parts itself.
-
getConnections
public void getConnections()
Connect parts of the surface.
-
setConnections
public void setConnections(PiVector[][] a)
Appoint connections of parts of the surface.
-
getConnections
public void getConnections(PiVector partPath)
Connect parts of a part of the surface.
-
getConnections
public PiVector[][] getConnections(PiVector partPath, PiVector[][] cc, int numParts)
Return Vector of part connections.
-
connectPart
public void connectPart(int partNr1, int bndNr1, int partNr2, int bndNr2)Appoint boundaries of parts to be glued together.
-
getReflections
public PiVector[] getReflections(PiVector partPath, int numParts)
Return vector with numbers of parts to be reflected.
-
returnUserReflections
public void returnUserReflections()
Return vector of reflections invoked by the user.
-
newReflection
public void newReflection()
Save a reflection, that was invoked by the user.
-
setReflection
public void setReflection(PiVector[] a)
Appoint reflections of parts.
-
getReflections
public void getReflections(PiVector partPath)
Return vector of part reflections in a part.
-
getReflections
public void getReflections()
Return vector of part reflections.
-
connectReflection
public boolean connectReflection(int partNr)
Appoint, if a reflection shall be glued to it's original.
-
connectReflection
public boolean connectReflection(PiVector partPath, int partNr)
Appoint, if a reflection shall be glued to it's original.
-
reflectPart
public void reflectPart(int partNr1, int partNr0, int bndNr0)Appoint a part of the surface to be reflection of an other part.
-
getBndReflectType
public void getBndReflectType(PiVector partPath, int partNr, PiVector bndReflectType)
Set reflectType == REFLECT_PLANE to reflect Re on plane and rotate Im on line or reflectType == REFLECT_LINE to rotate Re on line and reflect Im on plane.
-
getStartU
public int getStartU(PiVector partPath, int partNr)
Return index of u-line to start integration with.
-
getStartV
public int getStartV(PiVector partPath, int partNr)
Return index of v-line to start integration with.
-
getFStart
public PuComplex[] getFStart(int partNr)
Return complex as starting value for integration.
-
getFStart
public PuComplex[] getFStart(PiVector partPath, int partNr)
Return complex as starting value for integration.
-
getMarkedBndNr
public int getMarkedBndNr()
Return number of marked boundary polygon.
-
setMarkedBndNr
public void setMarkedBndNr(int nr)
Appoint number of marked boundary polygon.
-
setReflectPartNr
public void setReflectPartNr(int nr)
Appoint index of part to be reflected by the user.
-
setPartBndNr
public void setPartBndNr(int nr)
Appoint index of boundary polygon to reflect part at.
-
isEnabledMarkBnd
public boolean isEnabledMarkBnd()
Check if the user is allowed to mark a PgBndPolygon for reflecting the surface.
-
setEnabledMarkBnd
public void setEnabledMarkBnd(boolean bMarkBnd)
Set if the user is allowed to mark a PgBndPolygon for reflecting the surface.
-
equals
public boolean equals(PiVector partPath, int i)
Compare a PiVector with one int; return true, if the PiVector has size 1 and the only entry is equal to the int argument.
-
equals
public boolean equals(PiVector partPath, int i, int j)
Compare a PiVector with two ints; return true, if the PiVector has size 2 and the entries are equal to the two int arguments, respectively.
-
equals
public boolean equals(PiVector partPath, int[] path)
Compare a PiVector with an int array; return true, if PiVector and array have the same size and the entries are equal for each index.
-
-
"