JavaView® v2.12

vgp.tutor.firstProject
Class MySurface

java.lang.Object
  |
  +--jv.object.PsObject
        |
        +--jv.project.PgGeometry
              |
              +--jv.geom.PgPointSet
                    |
                    +--jv.geom.PgElementSet
                          |
                          +--vgp.tutor.firstProject.MySurface
All Implemented Interfaces:
java.lang.Cloneable, PgGeometryIf, PsUpdateIf, java.io.Serializable

public class MySurface
extends PgElementSet

Subclass of geometry class PgElementSet for demonstration. Default functions describe a catenoid, which can be deformed into a helicoid. This class has two methods to compute the vertices of the surface and the mesh connectivity. Another method is used to compute the vertices during the animation depending on an animation parameter.

Version:
28.11.00, 1.50 revised (kp) Applet simplified for beginners.
11.03.00, 1.10 revised (kp) Use call getVertices() to access vertices instead direct access to member.
04.08.99, 1.00 created (kp)
Author:
Konrad Polthier
See Also:
Serialized Form

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
MySurface()
          Constructor of surface.
 
Method Summary
 void computeAnimation(double a)
          Compute new surface depending on parameter which varies in time.
 void computeSurface(int numULines, int numVLines)
          Compute static surface with given discretization.
 void makeQuadrConn(int uDiscr, int vDiscr)
          Generate element and neighbourhood information for a quadrilateral surface.
 
Methods inherited from class jv.geom.PgElementSet
addEdge, addElement, addElement, assureBoundary, assureDimOfElements, assureEdgeColors, assureElementBackColors, assureElementColors, assureElementNormals, assureElementTextures, blend, buildPolygon, buildPolygonFromCurve, buildQuadr, buildQuadrFromCurve, buildTriangle, buildTriangleFromCurve, checkNeighbour, clearTagElement, clone, close, computeCylinder, computeDisk, computePlane, computeRotation, computeSnail, computeSphere, computeTorus, copy, copyConnectivity, copyElementSet, fixBoundaries, flipEdges, flipOrientation, getArea, getAreaOfElement, getBoundaries, getDimOfElements, getEdge, getEdge, getEdgeColors, getEdgeLength, getEdgeList, getEdges, getElement, getElementBackColor, getElementBackColors, getElementColor, getElementColors, getElementNormal, getElementNormals, getElements, getElementTextures, getElementVertices, getElementWithVertex, getGlobalBndColor, getGlobalBndSize, getGlobalBndTagColor, getGlobalEdgeColor, getGlobalEdgeSize, getGlobalEdgeTagColor, getGlobalElementBackColor, getGlobalElementColor, getGlobalElementNormalColor, getGlobalElementNormalLength, getGlobalElementNormalSize, getGlobalElementTagColor, getJvx, getL2Matrix, getL2Norm, getMaxNumElements, getNeighbour, getNeighbourLocInd, getNeighbours, getNumBoundaries, getNumBoundaryComponents, getNumBoundaryEdges, getNumBoundaryVertices, getNumEdges, getNumElementIndices, getNumElements, getOppVertexInd, getOppVertexLocInd, getSavedElements, getSavedNumVertices, getVertexAngle, getVertexTextures, getVolume, getVolumeOfElement, hasBoundary, hasEdgeColors, hasEdges, hasElementBackColors, hasElementColors, hasElementNormals, hasElementTextures, hasTagElement, init, intersectionWithLine, isConforming, isShowingBackface, isShowingBoundaries, isShowingEdgeColors, isShowingEdgeLabels, isShowingEdges, isShowingElementBackColor, isShowingElementBackColors, isShowingElementColors, isShowingElementLabels, isShowingElementNormalArrow, isShowingElementNormals, isShowingElements, isShowingElementTextures, isShowingOutline, isShowingTaggedBoundaries, isShowingTaggedEdges, isShowingTaggedElements, makeAlternatingQuadrConn, makeCylinderConn, makeElementColorsFromXYZ, makeElementColorsFromZ, makeElementColorsFromZHue, makeElementFromVertexColors, makeElementNormals, makeNeighbour, makePatchConn, makeQuadrBnd, makeQuadrElementTexture, makeQuadrVertexTexture, makeTriangleBnd, makeTriangleConn, makeVertexFromElementColors, makeVertexNormals, markBoundary, merge, paint, printEdgeList, refineGlobalIntoFour, reflect, removeBoundaries, removeElement, removeMarkedElements, removeMarkedVertices, removeUnusedVertices, resetBoundaryNormals, setBoundary, setConforming, setDimOfColors, setDimOfElements, setDimOfVectors, setEdge, setEdgeColors, setEdges, setElement, setElement, setElement, setElement, setElementBackColor, setElementBackColors, setElementColor, setElementColors, setElementNormal, setElementNormals, setElements, setElementTexture, setElementTextures, setElementVertices, setGlobalBndColor, setGlobalBndSize, setGlobalBndTagColor, setGlobalEdgeColor, setGlobalEdgeSize, setGlobalEdgeTagColor, setGlobalElementBackColor, setGlobalElementColor, setGlobalElementNormalColor, setGlobalElementNormalLength, setGlobalElementNormalSize, setGlobalElementTagColor, setJvx, setNeighbours, setNumEdges, setNumElements, setSavedElements, setSavedNumVertices, setTagElement, setVertexTextures, showBackface, showBoundaries, showEdgeColors, showEdgeLabels, showEdges, showElementBackColor, showElementBackColors, showElementColors, showElementLabels, showElementNormalArrow, showElementNormals, showElements, showElementTexture, showOutline, showTaggedBoundaries, showTaggedEdges, showTaggedElements, toString, triangulate, update
 
Methods inherited from class jv.geom.PgPointSet
addVectorField, addVertex, assureVertexColors, assureVertexNormals, assureVertexTextures, clearTagVertex, getAmbientBounds, getBounds, getCenterOfBndBox, getCenterOfGravity, getDimOfColors, getDimOfTextures, getDimOfVectors, getGlobalVectorColor, getGlobalVectorLength, getGlobalVectorSize, getGlobalVertexColor, getGlobalVertexNormalColor, getGlobalVertexNormalLength, getGlobalVertexNormalSize, getGlobalVertexSize, getGlobalVertexTagColor, getIndexOfVectorField, getMaxNumVertices, getNumVectorFields, getNumVertices, getTexture, getTextureImage, getTextureImageName, getVectorField, getVectorField, getVertex, getVertexColor, getVertexColors, getVertexNormal, getVertexNormals, getVertices, hasTagVertex, hasVertex, hasVertex, hasVertexColors, hasVertexNormals, hasVertexTextures, isDefaultLabelEnabled, isShowingIndices, isShowingTaggedVertices, isShowingVectorArrow, isShowingVectorArrows, isShowingVectorColors, isShowingVectorField, isShowingVertexColors, isShowingVertexLabels, isShowingVertexNormalArrow, isShowingVertexNormals, isShowingVertexTexture, isShowingVertices, makeColorFromVectorLength, makeVertexColorsFromXYZ, makeVertexColorsFromZ, makeVertexColorsFromZHue, makeVertexTextureFromBndBox, makeVertexTextureFromCylinder, makeVertexTextureFromSphere, projectToSphere, removeAllVectorFields, removeVectorField, removeVertex, scale, scale, setCenterOfBndBox, setDefaultLabelEnabled, setDimOfTextures, setGlobalVectorColor, setGlobalVectorLength, setGlobalVectorSize, setGlobalVertexColor, setGlobalVertexNormalColor, setGlobalVertexNormalLength, setGlobalVertexNormalSize, setGlobalVertexSize, setGlobalVertexTagColor, setNumVertices, setState, setTagVertex, setTexture, setTextureImage, setTextureImageName, setTransparency, setVertex, setVertex, setVertex, setVertex, setVertexColor, setVertexColors, setVertexNormal, setVertexNormals, setVertices, showIndices, showTaggedVertices, showVectorArrow, showVectorArrows, showVectorColors, showVectorField, showVectorFields, showVertexColors, showVertexLabels, showVertexNormalArrow, showVertexNormals, showVertexTexture, showVertices, translate
 
Methods inherited from class jv.project.PgGeometry
addDisplay, addPolygon, clearTagPolygon, fillMethodMenu, getAmbientInvMatrix, getAmbientMatrix, getAmbientProjection, getAmbientSpace, getAuthorInfo, getAuthors, getCenter, getCenterOfElement, getControlPanel, getDiameter, getDimOfSimplex, getDimOfVertices, getDisplays, getGeometryInfo, getLabelAttribute, getMaterialPanel, getModelMatrix, getPolygon, getTitle, getVersion, getVersionType, hasAmbientMatrix, hasDisplay, hasModelMatrix, hasTagPolygon, isConfigurable, isShowingBndBox, isShowingCenter, isShowingTitle, isVisible, removeDisplay, removePolygon, setAmbientMatrix, setAmbientProjection, setAmbientSpace, setAuthorInfo, setAuthors, setCenter, setDimOfSimplex, setGeometryInfo, setLabelAttribute, setLabelAttribute, setModelMatrix, setPolygon, setTagPolygon, setTitle, setVersion, setVersionType, setVisible, showBndBox, showCenter, showTitle
 
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.project.PgGeometryIf
assureInspector, getInfoPanel, getName, setName
 
Methods inherited from interface jv.object.PsUpdateIf
getFather, setParent
 

Constructor Detail

MySurface

public MySurface()
Constructor of surface.
Method Detail

computeSurface

public void computeSurface(int numULines,
                           int numVLines)
Compute static surface with given discretization. Connectivity is generated for a quadrilateral mesh. Method is synchronized with computeAnimation() to avoid conflicts between animation and user interaction via panel.

makeQuadrConn

public void makeQuadrConn(int uDiscr,
                          int vDiscr)
Generate element and neighbourhood information for a quadrilateral surface. Method generates only topological information, no coordinates are required.

Current method is copied 1-1 from PgElementSet just as tutorial example. Usually, the connectivity is calculated automatically by methods like this.

Overrides:
makeQuadrConn in class PgElementSet
Parameters:
uDiscr, - vDiscr Number of lines in u and v direction.
See Also:
PgElementSet.makeCylinderConn(int, int)

computeAnimation

public void computeAnimation(double a)
Compute new surface depending on parameter which varies in time. Connectivity is not computed since it does not change since last call to computeSurface(int, int). Animated surface is an interpolation between a catenoid and a helicoid. Method is synchronized with computeAnimation() to avoid conflicts between animation and user interaction via panel.

JavaView® v2.12

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