Class PgSurfaceGraph
- java.lang.Object
-
- jv.object.PsObject
-
- jv.project.PgGeometry
-
- jv.geom.PgPointSet
-
- jv.geom.PgElementSet
-
- jvx.surface.PgSurfaceGraph
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, PsUpdateIf, PgGeometryIf
public class PgSurfaceGraph extends PgElementSet
Graph surface over an arbitrary domain.You must set a domain and image surface by calling
setSurfaces(PgElementSet, PgElementSet). The dimension of vertices of the graph must be equal to the sum of the dimensions of domain and surface vertices.Connectivity of image surface and graph depends on connectivity of domain. Only the connectivity of the domain may change.
You need to compute the image values of the function for yourself (and set them in the
surfaceobject of this graph, or call methodcompute(PuFunction).- See Also:
- Serialized Form
- Author:
- Konrad Polthier
- Version:
- 02.04.04, 3.00 revised (ep) Created from jvx.surface.PgGraph.
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 PgSurfaceGraph()Create a graph of a scalar-valued function over a rectangular 2D domain.PgSurfaceGraph(int dim)Construct a new graph with empty domain, surface and function.
-
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()Recompute graph vertices after domain or surface have changed.voidcompute(PuFunction function)Sets thesurfacevertices to the values of the given function object.voidcopy(PsObject object)Copy a geometry into this geometry.PgElementSetgetDomain()Get domain of 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.booleanisShowingAsNormalVariation()Flag if graph surfaceIn3D to 1D is shown as domain evolved along vertex normal.voidsetEnabledSynchronization(boolean flag)Enable synchronization of material properties from graph to domain.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.voidsetSurfaces(PgElementSet 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.voidshowAsNormalVariation(boolean flag)Flag if graph surfaceIn3D to 1D is shown as domain evolved along vertex normal.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, 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
-
-
-
-
Constructor Detail
-
PgSurfaceGraph
public PgSurfaceGraph()
Create a graph of a scalar-valued function over a rectangular 2D domain. The resulting graph surface lives in 2+1=3-dimensional space.
-
PgSurfaceGraph
public PgSurfaceGraph(int dim)
Construct a new graph with empty domain, surface and function. The given dimension must be the sum of domain and surface dimensions.- Parameters:
dim- total dimension of graph surface.
-
-
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)
-
getDomain
public PgElementSet getDomain()
Get domain of graph.
-
getSurface
public PgElementSet getSurface()
Get surface of graph.
-
setSurfaces
public void setSurfaces(PgElementSet 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. When an update of the domain occurs, the graph and the surface adjust to the connectivity of the domain. When an update of the image surface occurs, the graph is adjusted to the new image values.- Version:
- 17.01.04, 1.10 revised (kp) Register as updateListener instead of parent.
-
isShowingAsNormalVariation
public boolean isShowingAsNormalVariation()
Flag if graph surfaceIn3D to 1D is shown as domain evolved along vertex normal.- Since:
- JavaView 2.44
- Version:
- 00.00.03, 1.00 created (ep)
-
showAsNormalVariation
public void showAsNormalVariation(boolean flag)
Flag if graph surfaceIn3D to 1D is shown as domain evolved along vertex normal.- Since:
- JavaView 2.44
- Version:
- 01.08.04, 1.10 revised (kp) No longer invoke update(), must be called externally.
00.00.03, 1.00 created (ep)
-
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)
-
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
-
compute
public void compute(PuFunction function)
Sets thesurfacevertices to the values of the given function object.
-
compute
public void compute()
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().
-
-
"