JavaView© v3.95.000

jvx.surface
Class PgSurfaceGraph

java.lang.Object
  extended byjv.object.PsObject
      extended byjv.project.PgGeometry
          extended byjv.geom.PgPointSet
              extended byjv.geom.PgElementSet
                  extended byjvx.surface.PgSurfaceGraph
All Implemented Interfaces:
java.lang.Cloneable, PgGeometryIf, PsUpdateIf, java.io.Serializable

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 surface object of this graph, or call method compute(PuFunction).

See Also:
Serialized Form

Field Summary
 
Fields inherited from class jv.object.PsObject
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, 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, PROJ_KLEIN_BALL, PROJ_PARALLEL, PROJ_POINCARE_BALL, PROJ_STEREOGRAPHIC, PROJ_UPPER_HALFSPACE
 
Constructor Summary
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
 java.lang.Object clone()
          Duplicate geometry by recursively cloning all instance variables except inspector panels and lists of registered listeners.
 void compute()
          Recompute graph vertices after domain or surface have changed.
 void compute(PuFunction function)
          Sets the surface vertices to the values of the given function object.
 void copy(PsObject object)
          Copy a geometry into this geometry.
 PgElementSet getDomain()
          Get domain of graph.
 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.
 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.
 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.
 PgElementSet getSurface()
          Get surface of graph.
 void init()
          Initialize sliders.
 boolean isEnabledSynchronization()
          Check if synchronization of material properties from graph to domain is enabled.
 boolean isShowingAsNormalVariation()
          Flag if graph surfaceIn3D->1D is shown as domain evoluted along vertex normal.
 void setEnabledSynchronization(boolean flag)
          Enable synchronization of material properties from graph to domain.
 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.
 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.
 void setSurfaces(PgElementSet domain, PgElementSet surface)
          Assign a domain and image surface which provide the data for this graph.
 boolean setSurfaceVertex(int anIndex, PdVector aVertex)
          Assign vertex of surface with given index.
 void showAsNormalVariation(boolean flag)
          Flag if graph surfaceIn3D->1D is shown as domain evoluted along vertex normal.
 java.lang.String toString()
          Create a multi-line string representation with detailed information about all instance variables.
 boolean update(java.lang.Object event)
          Perform update operations on this object if children have changed.
 
Methods inherited from class jv.geom.PgElementSet
addElement, addElement, applyModelingMatrix, assureBoundary, assureDimOfElements, assureElementBackColors, assureElementColors, assureElementNormals, assureElementTextures, blend, buildPolygon, buildQuadr, buildQuadrFromCurve, buildTriangle, buildTriangleFromCurve, checkNeighbour, checkNeighbour, clearTagElement, close, computeCone, computeCylinder, computeDisk, computePlane, computeRotation, computeSnail, computeSphere, computeTorus, copyConnectivity, copyElementSet, fixBoundaries, flipEdges, flipOrientation, getArea, getAreaOfElement, getBoundaries, getCreaseAngle, getDimOfElement, getDimOfElements, getEdge, getEdge, getEdgeLength, getEdgeList, getEdges, getElement, getElementBackColor, getElementBackColors, getElementColor, getElementColors, getElementNormal, getElementNormals, getElements, getElementTexture, getElementTextures, getElementVertices, getElementWithVertex, getFVector, getGlobalBndColor, getGlobalBndSize, getGlobalBndTagColor, getGlobalEdgeColor, getGlobalEdgeSize, getGlobalEdgeTagColor, getGlobalElementBackColor, getGlobalElementColor, getGlobalElementNormalColor, getGlobalElementNormalLength, getGlobalElementNormalSize, getGlobalElementTagColor, getJvx, getL2Matrix, getL2Norm, getMaxDimOfElements, getMaxNumElements, getNeighbour, getNeighbourLocInd, getNeighbours, getNumBoundaries, getNumBoundaryComponents, getNumBoundaryEdges, getNumBoundaryVertices, getNumEdges, getNumElementIndices, getNumElements, getNumUnusedVertices, getOppVertexInd, getOppVertexLocInd, getSavedElements, getSavedNumVertices, getVertexAngle, getVertexTextures, getVertexValence, getVolume, getVolumeOfElement, hasBoundary, hasEdges, hasElementBackColors, hasElementColors, hasElementNormals, hasElementTextures, hasTagElement, intersectionWithLine, isConforming, isShowingBackface, isShowingBoundaries, isShowingEdgeColorFromElements, isShowingEdgeColors, isShowingEdgeLabels, isShowingEdges, isShowingElementBackColor, isShowingElementBackColors, isShowingElementColors, isShowingElementFromVertexColors, isShowingElementLabels, isShowingElementNormalArrow, isShowingElementNormals, isShowingElements, isShowingElementTexture, isShowingElementTextures, isShowingSilhouette, isShowingSmoothElementColors, isShowingSmoothLighting, isShowingTaggedBoundaries, isShowingTaggedEdges, isShowingTaggedElements, makeAlternatingQuadrConn, makeCylinderConn, makeElementColorsFromXYZ, makeElementColorsFromZ, makeElementColorsFromZHue, makeElementFromVertexColors, makeElementFromVertexTexture, makeElementNormals, makeNeighbour, makeQuadrBnd, makeQuadrConn, makeQuadrElementTexture, makeTriangleBnd, makeTriangleConn, makeVertexFromElementColors, makeVertexNormals, markBoundary, merge, paint, printEdgeList, refineGlobalIntoFour, refineGlobalIntoFour, reflect, removeBoundaries, removeDeletedBoundaries, removeElement, removeElementBackColors, removeElementColors, removeElementNormals, removeMarkedElements, removeMarkedVertices, removeTexture, removeUnusedVertices, resetBoundaryNormals, setBoundary, setConforming, setCreaseAngle, setDimOfColors, setDimOfElement, setDimOfElements, setDimOfVectors, setDimOfVertices, setEdge, setEdges, setElement, setElement, setElement, setElement, setElementBackColor, setElementBackColors, setElementColor, setElementColors, setElementNormal, setElementNormals, setElements, setElementTexture, setElementTextures, setElementTexturesFromList, setElementVertices, setGlobalBndColor, setGlobalBndSize, setGlobalBndTagColor, setGlobalEdgeColor, setGlobalEdgeSize, setGlobalEdgeTagColor, setGlobalElementBackColor, setGlobalElementColor, setGlobalElementNormalColor, setGlobalElementNormalLength, setGlobalElementNormalSize, setGlobalElementTagColor, setGlobalVertexNormalColor, setGlobalVertexNormalLength, setGlobalVertexNormalSize, setJvx, setNeighbour, setNeighbours, setNumEdges, setNumElements, setSavedElements, setSavedNumVertices, setTagElement, showBackface, showBoundaries, showEdgeColorFromElements, showEdgeColors, showEdgeLabels, showEdges, showElementBackColor, showElementBackColors, showElementColors, showElementFromVertexColors, showElementLabels, showElementNormalArrow, showElementNormals, showElements, showElementTexture, showSilhouette, showSmoothElementColors, showSmoothLighting, showTaggedBoundaries, showTaggedEdges, showTaggedElements, showVertexTexture, triangulate
 
Methods inherited from class jv.geom.PgPointSet
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, 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, makeVertexColorsFromXYZ, makeVertexColorsFromZ, makeVertexColorsFromZHue, makeVertexTextureFromBndBox, makeVertexTextureFromCylinder, makeVertexTextureFromSphere, makeVertexTextureFromUV, projectFromAmbientSpace, projectToSphere, removeAllVectorFields, removeHiddenVectorFields, removeVectorField, removeVertex, removeVertexColors, removeVertexNormals, removeVertexSizes, scale, scale, selectVectorField, setCenterOfBndBox, setDefaultLabelEnabled, setDimOfTextures, setEnabledIndexLabels, setGlobalVectorColor, setGlobalVectorLength, setGlobalVectorSize, setGlobalVertexColor, setGlobalVertexSize, setGlobalVertexSize, setGlobalVertexTagColor, 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, 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:
init in class PgElementSet

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:
clone in interface PgGeometryIf
Overrides:
clone in class PgElementSet
See Also:
copy(PsObject)

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:
copy in class PgElementSet
See Also:
PgElementSet.clone()

toString

public java.lang.String toString()
Create a multi-line string representation with detailed information about all instance variables.

Specified by:
toString in interface PgGeometryIf
Overrides:
toString in class PgElementSet

update

public boolean update(java.lang.Object event)
Perform update operations on this object if children have changed.

Specified by:
update in interface PsUpdateIf
Overrides:
update in class PgElementSet

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.


isShowingAsNormalVariation

public boolean isShowingAsNormalVariation()
Flag if graph surfaceIn3D->1D is shown as domain evoluted along vertex normal.

Since:
JavaView 2.44

showAsNormalVariation

public void showAsNormalVariation(boolean flag)
Flag if graph surfaceIn3D->1D is shown as domain evoluted along vertex normal.

Since:
JavaView 2.44

isEnabledSynchronization

public boolean isEnabledSynchronization()
Check if synchronization of material properties from graph to domain is enabled.

Since:
JavaView 3.28.003

setEnabledSynchronization

public void setEnabledSynchronization(boolean flag)
Enable synchronization of material properties from graph to domain.

Since:
JavaView 3.28.003

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 the surface vertices 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 vertex
aVertex - new vertex data

JavaView© v3.95.000

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