jvx.surface

## Class PgGenusSurface

- java.lang.Object
- - jv.object.PsObject
  - - jv.project.PgGeometry
    - - jv.geom.PgPointSet
      - - jv.geom.PgElementSet
        - - jvx.surface.PgGenusSurface

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, PsUpdateIf, PgGeometryIf

      public class PgGenusSurface
      extends PgElementSet

  Class allows to construct surfaces with prescribed genus. The surfaces are oriented and closed. There are two orderings of the holes possible: The holes can be alined along a straight line or along a circle. To smooth the surface see `jvx.geom.PwRefineElementSet`.
  See Also:
    Serialized Form
  Author:
    Klaus Hildebrandt
  Version:
    04.05.2003, 1.00 created (kh)

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `TYPE_HOLES_IN_A_ROW` To order handles of the surface in a row: call `setOrderingOfHoles(int)` using this constant.
    `static int` | `TYPE_HOLES_ON_A_CIRCLE` To order handles of the surface on a circle: call `setOrderingOfHoles(int)` using this constant.

    - ### 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
    `PgGenusSurface()` Constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `computeSurface()` Compute surface with the actual settings.
    `int` | `getGenus()` Get genus of surface.
    `double` | `getInnerBorderOfHoles()` Get a radius relative to the radius of the surface where the holes start.
    `int` | `getOderingOfHoles()` Get ordering of holes in the surface.
    `double` | `getOuterBorderOfHoles()` Get a radius relative to the radius of the surface where the holes end.
    `double` | `getRadiusOfSurface()` Get the radius of the surface.
    `double` | `getSizeOfHoles()` Deprecated. use getXSizeOfHoles() and getYSizeOfHoles instead.
    `double` | `getXSize()` Get size of surface.
    `double` | `getXSizeOfHoles()` Get the length of the holes relative to the length of the surface and the number of holes.
    `double` | `getYSize()` Get size of surface.
    `double` | `getYSizeOfHoles()` Get the width of the holes relative to the width of the surface and the number of holes.
    `double` | `getZSize()` Get size of surface.
    `void` | `init()` Initialize and reset instance variables after call to super.init().
    `void` | `setGenus(int genus)` Set genus of surface.
    `void` | `setInnerBorderOfHoles(double size)` Set a radius relative to the radius of the surface where the holes start.
    `void` | `setOrderingOfHoles(int type)` Set ordering of holes in the surface.
    `void` | `setOuterBorderOfHoles(double size)` Set a radius relative to the radius of the surface where the holes end.
    `void` | `setRadiusOfSurface(double radius)` Set the radius of the surface.
    `void` | `setSizeOfHoles(double size)` Set the size of the holes relative to the size of the surface and the number of holes.
    `void` | `setXSize(double size)` Set size of surface.
    `void` | `setXSizeOfHoles(double size)` Set the length of the holes relative to the length of the surface and the number of holes.
    `void` | `setYSize(double size)` Set size of surface.
    `void` | `setYSizeOfHoles(double size)` Set the width of the holes relative to the width of the surface and the number of holes.
    `void` | `setZSize(double size)` Set size of surface.
    `boolean` | `update(java.lang.Object event)` Update the class whenever a child has changed.

    - ### Methods inherited from class jv.geom.PgElementSet

      `addElement, addElement, allocateEdgeStars, applyModelingMatrix, assureBoundary, assureDimOfElements, assureEdgeColors, assureEdgeSizes, assureElementBackColors, assureElementColors, assureElementNormals, assureElementTextures, blend, buildPolygon, buildQuadr, buildQuadrFromCurve, buildTriangle, buildTriangleFromCurve, checkNeighbour, checkNeighbour, clearTagElement, clone, close, computeCone, computeCylinder, computeDisk, computePlane, computeRotation, computeSnail, computeSphere, computeTorus, copy, copyConnectivity, copyConnectivitySelect, copyElementSet, copyElementSetSelect, copySelect, fixBoundaries, flipEdges, flipOrientation, getArea, getAreaOfElement, getBoundaries, getCenterOfElement, getCreaseAngle, getDimOfElement, getDimOfElements, getEdge, getEdge, getEdgeColors, getEdgeLength, getEdgeSizes, getEdgeStar, getEdgeStars, getElement, getElementBackColor, getElementBackColors, getElementColor, getElementColors, getElementEdge, getElementEdges, getElementNormal, getElementNormals, getElements, getElementTexture, getElementTextures, getElementVertices, getElementWithVertex, getFVector, getGlobalBndColor, getGlobalBndSize, getGlobalBndTagColor, getGlobalEdgeColor, getGlobalEdgeSize, getGlobalEdgeTagColor, getGlobalElementBackColor, getGlobalElementColor, getGlobalElementNormalColor, getGlobalElementNormalLength, getGlobalElementNormalSize, getGlobalElementTagColor, getIndexOfBndPolygon, getJvx, getL2Matrix, getL2Norm, getMaxDimOfElements, getMaxNumElements, getNeighbour, getNeighbourLocInd, getNeighbours, getNumBoundaries, getNumBoundaryEdges, getNumBoundaryVertices, getNumEdges, getNumEdgeStars, getNumElementIndices, getNumElements, getNumUnusedVertices, getOppVertexInd, getOppVertexLocInd, getSavedElements, getSavedNumVertices, getSelectedBndPolygon, getVertexAngle, getVertexTextures, getVertexValence, getVolume, getVolumeOfElement, hasBoundary, hasEdgeColors, hasEdgeSizes, hasElementBackColors, hasElementColors, hasElementNormals, hasElementTextures, hasTagElement, intersectionWithLine, isConforming, isEnabledEdges, isShowingBackface, isShowingBoundaries, isShowingEdgeColorFromElements, isShowingEdgeColorFromVertices, isShowingEdgeColors, isShowingEdgeLabels, isShowingEdges, isShowingEdgeSizes, isShowingElementBackColor, isShowingElementBackColors, isShowingElementColorFromVertices, isShowingElementColors, isShowingElementFromVertexColors, isShowingElementLabels, isShowingElementNormalArrow, isShowingElementNormals, isShowingElements, isShowingElementTexture, isShowingElementTextures, isShowingSilhouette, isShowingSmoothEdgeColors, isShowingSmoothElementColors, isShowingSmoothLighting, isShowingTaggedBoundaries, isShowingTaggedEdges, isShowingTaggedElements, makeAlternatingQuadrConn, makeCylinderConn, makeEdgeStars, makeEdgeStarsFromNeighbour, makeElementColorsFromNormal, makeElementColorsFromXYZ, makeElementColorsFromZ, makeElementColorsFromZHue, makeElementFromVertexColors, makeElementFromVertexTexture, makeElementNormals, makeNeighbour, makeQuadrBnd, makeQuadrConn, makeQuadrElementTexture, makeTriangleBnd, makeTriangleConn, makeVertexFromElementColors, makeVertexNormals, markBoundary, merge, paint, printEdgeList, projectFromAmbientSpace, refineGlobalIntoFour, refineGlobalIntoFour, reflect, removeBoundaries, removeDeletedBoundaries, removeEdgeColors, removeEdgeSizes, removeElement, removeElementBackColors, removeElementColors, removeElementEdges, removeElementNormals, removeMarkedElements, removeMarkedVertices, removeTexture, removeUnusedVertices, resetBoundaryNormals, selectBndPolygon, setBoundary, setConforming, setCreaseAngle, setDimOfColors, setDimOfElement, setDimOfElements, setDimOfVectors, setDimOfVertices, setEdgeColors, setEdgeSizes, setEdgeStar, setElement, setElement, setElement, setElement, setElementBackColor, setElementBackColors, setElementColor, setElementColors, setElementEdges, setElementNormal, setElementNormals, setElements, setElementTexture, setElementTextures, setElementTexturesFromList, setElementVertices, setEnabledEdges, setGlobalBndColor, setGlobalBndSize, setGlobalBndTagColor, setGlobalEdgeColor, setGlobalEdgeSize, setGlobalEdgeTagColor, setGlobalElementBackColor, setGlobalElementColor, setGlobalElementNormalColor, setGlobalElementNormalLength, setGlobalElementNormalSize, setGlobalElementTagColor, setGlobalVertexNormalColor, setGlobalVertexNormalLength, setGlobalVertexNormalSize, setJvx, setMaxNumElements, setNeighbour, setNeighbours, setNumElements, setSavedElements, setSavedNumVertices, setTagElement, showBackface, showBoundaries, showEdgeColorFromElements, showEdgeColorFromVertices, showEdgeColors, showEdgeLabels, showEdges, showEdgeSizes, showElementBackColor, showElementBackColors, showElementColorFromVertices, showElementColors, showElementFromVertexColors, showElementLabels, showElementNormalArrow, showElementNormals, showElements, showElementTexture, showSilhouette, showSmoothEdgeColors, showSmoothElementColors, showSmoothLighting, showTaggedBoundaries, showTaggedEdges, showTaggedElements, showVertexTexture, toString, triangulate`

    - ### Methods inherited from class jv.geom.PgPointSet

      `addGeometryItem, addVectorField, addVertex, applyAmbientMatrix, assureVertexColors, assureVertexNormals, assureVertexSizes, assureVertexTextures, clearTagVertex, getAmbientBounds, getBounds, getCenterOfBndBox, getCenterOfGravity, getDimOfColors, getDimOfTextures, getDimOfVectors, getEulerCharacteristic, getGlobalVectorColor, getGlobalVectorLength, getGlobalVectorSize, getGlobalVertexColor, getGlobalVertexNormalColor, getGlobalVertexNormalLength, getGlobalVertexNormalSize, getGlobalVertexSize, getGlobalVertexTagColor, getIndexOfVectorField, getMarkedVertices, getMarkedVertices, getMaxNumVertices, getNumVectorFields, getNumVertices, getSelectedVectorField, getShininess, getSpecularColor, getTexture, getTextureImage, getTextureImageName, getTransparency, getVectorField, getVectorField, getVertex, getVertexColor, getVertexColors, getVertexNormal, getVertexNormals, getVertexSize, getVertexSizes, getVertexTexture, getVertices, hasTagVertex, hasVertex, hasVertex, hasVertexColors, hasVertexNormals, hasVertexSizes, hasVertexTextures, isDefaultLabelEnabled, isEnabledIndexLabels, isShowingIndices, isShowingSingleVectorField, isShowingTaggedVertices, isShowingTransparency, isShowingVectorArrow, isShowingVectorArrows, isShowingVectorColors, isShowingVectorField, isShowingVectorFields, isShowingVertexColors, isShowingVertexLabels, isShowingVertexNormalArrow, isShowingVertexNormals, isShowingVertexOutline, isShowingVertexSizes, isShowingVertexTexture, isShowingVertices, makeColorFromVectorLength, makeQuadrVertexTexture, makeVertexColorsFromNormal, makeVertexColorsFromXYZ, makeVertexColorsFromZ, makeVertexColorsFromZHue, makeVertexTextureFromBndBox, makeVertexTextureFromCylinder, makeVertexTextureFromSphere, makeVertexTextureFromUV, projectToSphere, removeAllVectorFields, removeHiddenVectorFields, removeVectorField, removeVertex, removeVertexColors, removeVertexNormals, removeVertexSizes, scale, scale, selectVectorField, setCenterOfBndBox, setDefaultLabelEnabled, setDimOfTextures, setEnabledIndexLabels, setGlobalVectorColor, setGlobalVectorLength, setGlobalVectorSize, setGlobalVertexColor, setGlobalVertexSize, setGlobalVertexSize, setGlobalVertexTagColor, setMaxNumVertices, setNumVertices, setShininess, setSpecularColor, setState, setTagVertex, setTexture, setTextureImage, setTextureImageName, setTransparency, setVertex, setVertex, setVertex, setVertex, setVertexColor, setVertexColors, setVertexNormal, setVertexNormals, setVertexSize, setVertexSizes, setVertexTexture, setVertexTextures, setVertices, showIndices, showSingleVectorField, showTaggedVertices, showTransparency, showVectorArrow, showVectorArrows, showVectorColors, showVectorField, showVectorFields, showVertexColors, showVertexLabels, showVertexNormalArrow, showVertexNormals, showVertexOutline, showVertexSizes, showVertices, translate`

    - ### Methods inherited from class jv.project.PgGeometry

      `addDisplay, addPolygon, clearTagPolygon, convertWorldToModel, fillMethodMenu, fillMethodMenu, getAmbientInvMatrix, getAmbientMatrix, getAmbientProjection, getAmbientSpace, getAuthorInfo, getAuthors, getCenter, getCenterOfElement, getControlPanel, getDiameter, getDimOfSimplex, getDimOfVertices, getDisplayList, getDisplays, getGeometryInfo, getLabelAttribute, getLabelColor, getLabelFont, getLabelSize, getLabelStyle, getMaterialPanel, getModelMatrix, getPolygon, getState, getTitle, getType, getVersion, getVersionType, hasAmbientMatrix, hasDisplay, hasModelMatrix, hasTagPolygon, isConfigurable, isEnabledInstanceSharing, isShowingBndBox, isShowingCenter, isShowingName, isShowingTitle, isVisible, removeDisplay, removeMethodMenus, removePolygon, setAmbientMatrix, setAmbientProjection, setAmbientSpace, setAuthorInfo, setAuthors, setCenter, setDimOfSimplex, setEnabledInstanceSharing, setGeometryInfo, setLabelAttribute, setLabelAttribute, setLabelColor, setLabelFont, setLabelSize, setLabelStyle, setModelMatrix, setPolygon, setTagPolygon, setTitle, setType, setVersion, setVersionType, setVisible, showBndBox, showCenter, showName, showTitle`

    - ### 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.project.PgGeometryIf

      `assureInspector, getInfoPanel, getName, hasTag, setName`

    - ### Methods inherited from interface jv.object.PsUpdateIf

      `getFather, setParent`

- - ### Field Detail

    - #### TYPE_HOLES_IN_A_ROW

          public static int TYPE_HOLES_IN_A_ROW

      To order handles of the surface in a row: call `setOrderingOfHoles(int)` using this constant.

    - #### TYPE_HOLES_ON_A_CIRCLE

          public static int TYPE_HOLES_ON_A_CIRCLE

      To order handles of the surface on a circle: call `setOrderingOfHoles(int)` using this constant.

  - ### Constructor Detail

    - #### PgGenusSurface

          public PgGenusSurface()

      Constructor

  - ### Method Detail

    - #### init

          public void init()

      Description copied from class: `PgElementSet`
      Initialize and reset instance variables after call to super.init().
      Overrides:
        `init` in class `PgElementSet`

    - #### update

          public boolean update(java.lang.Object event)

      Description copied from class: `PgElementSet`
      Update the class whenever a child has changed. Method is usually invoked from the children.
      Specified by:
        `update` in interface `PsUpdateIf`
      Overrides:
        `update` in class `PgElementSet`
      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)`

    - #### setXSize

          public void setXSize(double size)

      Set size of surface. Calling `computeSurface()` produces a surface with the specified size. Only used for order of holes in a row cp. `setOrderingOfHoles(int)`.

    - #### getXSize

          public double getXSize()

      Get size of surface. Calling `computeSurface()` produces a surface with the specified size. Only used for order of holes in a row cp. `setOrderingOfHoles(int)`.

    - #### setYSize

          public void setYSize(double size)

      Set size of surface. Calling `computeSurface()` produces a surface with the specified size. Only used for order of holes in a row cp. `setOrderingOfHoles(int)`.

    - #### getYSize

          public double getYSize()

      Get size of surface. Calling `computeSurface()` produces a surface with the specified size. Only used for order of holes in a row cp. `setOrderingOfHoles(int)`.

    - #### setZSize

          public void setZSize(double size)

      Set size of surface. Calling `computeSurface()` produces a surface with the specified size.

    - #### getZSize

          public double getZSize()

      Get size of surface. Calling `computeSurface()` produces a surface with the specified size.

    - #### setGenus

          public void setGenus(int genus)

      Set genus of surface. Calling `computeSurface()` produces a surface with the specified genus.

    - #### getGenus

          public int getGenus()

      Get genus of surface. Calling `computeSurface()` produces a surface with the specified genus.

    - #### setRadiusOfSurface

          public void setRadiusOfSurface(double radius)

      Set the radius of the surface. Calling `computeSurface()` produces a surface with the specified radius. Only used for order of holes on a circle cp. `setOrderingOfHoles(int)`.

    - #### getRadiusOfSurface

          public double getRadiusOfSurface()

      Get the radius of the surface. Calling `computeSurface()` produces a surface with the specified radius. Only used for order of holes on a circle cp. `setOrderingOfHoles(int)`.

    - #### setSizeOfHoles

          public void setSizeOfHoles(double size)

      Set the size of the holes relative to the size of the surface and the number of holes. Calling `computeSurface()` produces a surface with the specified size of holes. Only used for order of holes in a row cp. `setOrderingOfHoles(int)`.

    - #### getSizeOfHoles

          public double getSizeOfHoles()

      Deprecated. use getXSizeOfHoles() and getYSizeOfHoles instead.
      Get the size of the holes relative to the size of the surface and the number of holes. Calling `computeSurface()` produces a surface with the specified size of holes. Only used for order of holes in a row cp. `setOrderingOfHoles(int)`.

    - #### setXSizeOfHoles

          public void setXSizeOfHoles(double size)

      Set the length of the holes relative to the length of the surface and the number of holes. Calling `computeSurface()` produces a surface with the specified size of holes. Only used for order of holes in a row cp. `setOrderingOfHoles(int)`.

    - #### getXSizeOfHoles

          public double getXSizeOfHoles()

      Get the length of the holes relative to the length of the surface and the number of holes. Calling `computeSurface()` produces a surface with the specified size of holes. Only used for order of holes in a row cp. `setOrderingOfHoles(int)`.

    - #### setYSizeOfHoles

          public void setYSizeOfHoles(double size)

      Set the width of the holes relative to the width of the surface and the number of holes. Calling `computeSurface()` produces a surface with the specified size of holes. Only used for order of holes in a row cp. `setOrderingOfHoles(int)`.

    - #### getYSizeOfHoles

          public double getYSizeOfHoles()

      Get the width of the holes relative to the width of the surface and the number of holes. Calling `computeSurface()` produces a surface with the specified size of holes. Only used for order of holes in a row cp. `setOrderingOfHoles(int)`.

    - #### setInnerBorderOfHoles

          public void setInnerBorderOfHoles(double size)

      Set a radius relative to the radius of the surface where the holes start. Calling `computeSurface()` produces a surface with the specified parameter. Only used for order of holes on a circle cp. `setOrderingOfHoles(int)`.

    - #### getInnerBorderOfHoles

          public double getInnerBorderOfHoles()

      Get a radius relative to the radius of the surface where the holes start. Calling `computeSurface()` produces a surface with the specified parameter. Only used for order of holes on a circle cp. `setOrderingOfHoles(int)`.

    - #### setOuterBorderOfHoles

          public void setOuterBorderOfHoles(double size)

      Set a radius relative to the radius of the surface where the holes end. Calling `computeSurface()` produces a surface with the specified parameter. Only used for order of holes on a circle cp. `setOrderingOfHoles(int)`.

    - #### getOuterBorderOfHoles

          public double getOuterBorderOfHoles()

      Get a radius relative to the radius of the surface where the holes end. Calling `computeSurface()` produces a surface with the specified parameter. Only used for order of holes on a circle cp. `setOrderingOfHoles(int)`.

    - #### setOrderingOfHoles

          public void setOrderingOfHoles(int type)

      Set ordering of holes in the surface. Calling `computeSurface()` produces a surface with the specified ordering of holes. Possible ordering are `in a row` and `on a circle`.

    - #### getOderingOfHoles

          public int getOderingOfHoles()

      Get ordering of holes in the surface. Calling `computeSurface()` produces a surface with the specified ordering of holes. Possible ordering are `in a row` and `on a circle`.

    - #### computeSurface

          public void computeSurface()

      Compute surface with the actual settings.

"

The software JavaView? is copyright protected. All Rights Reserved.
"