jvx.surface
Class PgGraph
- java.lang.Object
-
- jv.object.PsObject
-
- jv.project.PgGeometry
-
- jv.geom.PgPointSet
-
- jv.geom.PgElementSet
-
- jvx.surface.PgGraph
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, PsUpdateIf, PgGeometryIf
public class PgGraph extends PgElementSet
Graph of one-dimensional function over a two-dimensional, rectangular domain.Use
PnSurfaceGraphif more flexibility is needed.- See Also:
- Serialized Form
- Author:
- Konrad Polthier
- Version:
- 03.12.04, 2.30 revised (ep) Changed domain to be a PgDomain; is now only a graph of an
R^2->Rfunction.
15.10.04, 2.20 revised (kp) Walls implemented.
26.07.04, 2.10 revised (kp) Class of instance variable m_domain changed to PgDomain.
16.01.04, 2.00 revised (kp) Copy(), clone() and default initialization of domain and scalar added.
29.05.03, 1.30 revised (kp) Handling of non-conforming meshes corrected.
20.11.02, 1.20 revised (ep) Removed update bug.
19.11.02, 1.10 revised (ep) Added controls for 'normal variation', scaling and offset.
22.08.99, 1.00 created (kp)
-
-
Field Summary
-
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 PgGraph()Create a graph of a scalar-valued function over a rectangular 2D domain.PgGraph(int dim)Deprecated.since 2004, use PgGraph() instead since only dim=3 is supplied.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description java.lang.Objectclone()Duplicate geometry by recursively cloning all instance variables except inspector panels and lists of registered listeners.voidcompute()Perform all computations to update graph.voidcopy(PsObject object)Copy a geometry into this geometry.PgDomaingetDomain()Get domain of graph.PuFunctiongetFunction()Get function object of the graph.doublegetOffset()Get scaling factor for graph (in every component of target space and in direction of domain vertex normals if m_bShowAsNormalVariation) - only the visualization has offset.PuDoublegetOffsetSlider()Get scaling factor for graph (in every component of target space and in direction of domain vertex normals if m_bShowAsNormalVariation) - only the visualization has offset.doublegetScalingFactor()Get offset of graph (in every component of target space and in direction of domain vertex normals if m_bShowAsNormalVariation) - only the visualization is scaled.PgElementSetgetSurface()Get surface of graph.voidinit()Initialize sliders.booleanisEnabledSynchronization()Check if synchronization of material properties from graph to domain is enabled.booleanisShowingDomain()Check if display of domain is enabled.booleanisShowingWalls()Check if display of bounding walls is enabled.voidmakeSurface()Recompute surface vertices after domain or function have changed.voidmakeVertices()Recompute graph vertices after domain or surface have changed.voidsetEnabledSynchronization(boolean flag)Enable synchronization of material properties from graph to domain.booleansetFunction(PuFunction function)Set function object of the graph whose number of functions must be equal to the dimension of the surface component of the graph, i.e. equal to the dimension of vertices of the graph minus the domain.voidsetNumVertices(int num)Get domain of graph.voidsetOffset(double off)Set scaling factor for graph (in every component of target space and in direction of domain vertex normals if m_bShowAsNormalVariation) - only the visualization has offset.voidsetScalingFactor(double fac)Set offset of graph (in every component of target space and in direction of domain vertex normals if m_bShowAsNormalVariation) - only the visualization is scaled.voidsetShowingDomain(boolean flag)Enable display of domain.voidsetShowingWalls(boolean flag)Enable display of bounding walls.voidsetSurfaces(PgDomain domain, PgElementSet surface)Assign a domain and image surface which provide the data for this graph.booleansetSurfaceVertex(int anIndex, PdVector aVertex)Assign vertex of surface with given index.java.lang.StringtoString()Create a multi-line string representation with detailed information about all instance variables.booleanupdate(java.lang.Object event)Perform update operations on this object if children have 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, close, computeCone, computeCylinder, computeDisk, computePlane, computeRotation, computeSnail, computeSphere, computeTorus, 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, 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, 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
-
-
-
-
Constructor Detail
-
PgGraph
public PgGraph(int dim)
Deprecated. since 2004, use PgGraph() instead since only dim=3 is supplied.Create a graph of a scalar-valued function over a rectangular 2D domain. The resulting graph surface lives in 2+1=3-dimensional space.
-
PgGraph
public PgGraph()
Create a graph of a scalar-valued function over a rectangular 2D domain. The resulting graph surface lives in 2+1=3-dimensional space.
-
-
Method Detail
-
init
public void init()
Initialize sliders.- Overrides:
initin classPgElementSet
-
clone
public java.lang.Object clone()
Duplicate geometry by recursively cloning all instance variables except inspector panels and lists of registered listeners. The parent relationship is maintained only within this class but not to external classes.- Specified by:
clonein interfacePgGeometryIf- Overrides:
clonein classPgElementSet- See Also:
copy(PsObject)- Version:
- 16.01.04, 1.00 created (kp)
-
copy
public void copy(PsObject object)
Copy a geometry into this geometry.The argument was changed from PgGeometry to PsObject since there were problems in J/Link which preferred to use PsObject#copy(PsObject) instead of PgGeometry#copy(PsObject).
- Overrides:
copyin classPgElementSet- See Also:
PgElementSet.clone()- Version:
- 16.01.04, 1.20 revised (kp) Copy all major instance variables instead of linking them.
08.11.02, 1.10 revised (kp) Argument changed to PsObject from PgGeometry.
-
toString
public java.lang.String toString()
Create a multi-line string representation with detailed information about all instance variables.- Specified by:
toStringin interfacePgGeometryIf- Overrides:
toStringin classPgElementSet
-
update
public boolean update(java.lang.Object event)
Perform update operations on this object if children have changed.- Specified by:
updatein interfacePsUpdateIf- Overrides:
updatein classPgElementSet- 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)
-
setNumVertices
public void setNumVertices(int num)
Get domain of graph.- Overrides:
setNumVerticesin classPgPointSet
-
getDomain
public PgDomain getDomain()
Get domain of graph.
-
getSurface
public PgElementSet getSurface()
Get surface of graph.
-
setSurfaces
public void setSurfaces(PgDomain domain, PgElementSet surface)
Assign a domain and image surface which provide the data for this graph. The sum of domain and surface dimensions must be equal to the dimension of this graph surface.Number of vertices of domain and surface must be equal. The number of vertices and the mesh connectivity of this graph are both adjusted to the properties of the domain.
This graph is registered as update listener of the new arguments, see
addUpdateListener.- Version:
- 17.01.04, 1.10 revised (kp) Register as updateListener instead of parent.
-
getFunction
public PuFunction getFunction()
Get function object of the graph.
-
setFunction
public boolean setFunction(PuFunction function)
Set function object of the graph whose number of functions must be equal to the dimension of the surface component of the graph, i.e. equal to the dimension of vertices of the graph minus the domain.This graph is registered as update listener of the new function, see
addUpdateListener.- Version:
- 01.08.04, 1.20 revised (kp) No longer invoke update(), must be called externally.
17.01.04, 1.10 revised (kp) Register as updateListener instead of parent.
-
isEnabledSynchronization
public boolean isEnabledSynchronization()
Check if synchronization of material properties from graph to domain is enabled.- Since:
- JavaView 3.28.003
- Version:
- 17.06.04, 1.00 created (kp)
-
setEnabledSynchronization
public void setEnabledSynchronization(boolean flag)
Enable synchronization of material properties from graph to domain.- Since:
- JavaView 3.28.003
- Version:
- 17.06.04, 1.00 created (kp)
-
isShowingDomain
public boolean isShowingDomain()
Check if display of domain is enabled.- Since:
- JavaView 3.28.003
- Version:
- 17.06.04, 1.00 created (kp)
-
setShowingDomain
public void setShowingDomain(boolean flag)
Enable display of domain.- Since:
- JavaView 3.28.003
- Version:
- 17.06.04, 1.00 created (kp)
-
isShowingWalls
public boolean isShowingWalls()
Check if display of bounding walls is enabled.- Since:
- JavaView 3.58.004
- Version:
- 15.10.04, 1.00 created (kp)
-
setShowingWalls
public void setShowingWalls(boolean flag)
Enable display of bounding walls.- Since:
- JavaView 3.58.004
- Version:
- 15.10.04, 1.00 created (kp)
-
getOffsetSlider
public PuDouble getOffsetSlider()
Get scaling factor for graph (in every component of target space and in direction of domain vertex normals if m_bShowAsNormalVariation) - only the visualization has offset.- Since:
- JavaView 2.44
-
getOffset
public double getOffset()
Get scaling factor for graph (in every component of target space and in direction of domain vertex normals if m_bShowAsNormalVariation) - only the visualization has offset.- Since:
- JavaView 2.44
-
setOffset
public void setOffset(double off)
Set scaling factor for graph (in every component of target space and in direction of domain vertex normals if m_bShowAsNormalVariation) - only the visualization has offset.- Since:
- JavaView 2.44
-
getScalingFactor
public double getScalingFactor()
Get offset of graph (in every component of target space and in direction of domain vertex normals if m_bShowAsNormalVariation) - only the visualization is scaled.- Since:
- JavaView 2.44
-
setScalingFactor
public void setScalingFactor(double fac)
Set offset of graph (in every component of target space and in direction of domain vertex normals if m_bShowAsNormalVariation) - only the visualization is scaled.- Since:
- JavaView 2.44
-
makeSurface
public void makeSurface()
Recompute surface vertices after domain or function have changed.
-
makeVertices
public void makeVertices()
Recompute graph vertices after domain or surface have changed.
-
setSurfaceVertex
public boolean setSurfaceVertex(int anIndex, PdVector aVertex)Assign vertex of surface with given index. The corresponding domain vertex is not modified.- Parameters:
anIndex- index of modified vertexaVertex- new vertex data- Version:
- 30.01.04, 2.00 revised (kp) Renamed to setSurfaceVertex() from setVertex() since collision with PgPointSet#setVertex().
-
compute
public void compute()
Perform all computations to update graph.- Since:
- JavaView v.3.50.001
- Version:
- 26.07.04, 1.00 created (kp) For compatibility reason with other geometry classes.
-
-
"