jv.geom

## Class PgBndPolygon

- java.lang.Object
- - jv.object.PsObject
  - - jv.project.PgGeometry
    - - jv.geom.PgPointSet
      - - jv.geom.PgPolygon
        - - jv.geom.PgBndPolygon

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

      public class PgBndPolygon
      extends PgPolygon

  Boundary polygon of PgElementSets with reference to boundary vertices and elements. Polygon may have boundary constraints for variational problems. Call: bndsh (n, bnd) bndinv (from, to, nedges, a, b) invert() bndcp (from, to, nedges, a, b) bndcpy (from, to, nedges, a, b) bndcmp (a, b, eps) bndtst (a, eps) bnd_id (a, b, i) bnd_shrink (a) bnd_dist (a, b, dist, orient) bnd_cmp_paste (a, b, maxDist) bnd_cmp_logic (a, b, eps) bnd_paste (a, b, type) g_bnd_curve_invert (a)
  See Also:
    `PgPointSet`, Serialized Form

- - ### Field Summary

    - ### Fields inherited from class jv.geom.PgPolygon

      `BINORMAL, CURVATURE_NORMAL, NORMAL, OFFSET_NORMAL`

    - ### 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
    `PgBndPolygon(int aVertexDim)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `applyModelingMatrix()` Multiply the modeling matrix to all vertices and vectors.
    `boolean` | `assignVertices()` Update the vertices of the polygon.
    `boolean` | `blend(double s, PgGeometry ag, double t, PgGeometry bg)` Blend between two polygon using `this = s*a + t*b`.
    `int` | `bnd_cmp_logic(PgBndPolygon b, double maxDist)` Parameters: PgBndPolygon a, pointer on structure of bnd_curve PgBndPolygon b, pointer on structure of bnd_curve Returnvalue: int 0: boundaries are not equal 1: bnd's are equal with m_vertexInd.m_data[0] = b.m_vertexInd.m_data[0] -1: bnd's are inverse equal with m_vertexInd.m_data[0] = b.m_vertexInd.m_data[nop-1] Description: compare boundaries of one triang2d structure, they may have different number of vertices.
    `int` | `bnd_cmp_paste(PgBndPolygon b, double maxDist)` Parameters: PgBndPolygon a, pointer on structure of bnd_curve PgBndPolygon b, pointer on structure of bnd_curve Returnvalue: int 0: boundaries cannot be pasted, angle > MAX_PASTE_ANGLE (in degrees) 11: beginning of a and b may be pasted 12: beginning of a and end of b may be pasted 21: end of a and beginning of b may be pasted 22: end of a and b may be pasted Description: compare two bnd's of a triang2d structure w.r.t. pasting
    `double` | `bnd_dist(PgBndPolygon b)` Parameters: PgBndPolygon a, pointer to structure of bnd_curve PgBndPolygon b, pointer to structure of bnd_curve return: double dist distance of two boundaries int *orient 1: bnd's have same direction, i.e.
    `boolean` | `bnd_id(PgBndPolygon b, int orient)` Parameters: PgBndPolygon a, pointer to structure of type bnd_curve PgBndPolygon b, pointer to structure of type bnd_curve int orient, orientation marker orient >=0 : bnd's are equal orient < 0 : bnd's are inverse equal Description: identify boundaries History: created: 29.12.97 Konrad Polthier
    `boolean` | `bnd_paste(PgBndPolygon b, int type)` Parameters: PgBndPolygon a, pointer on structure of bnd_curve PgBndPolygon b, pointer on structure of bnd_curve Returnvalue: int 0: paste didn't work 1: paste succeeded Description: paste two bnd's of a triang2d structure paste b at the end of a
    `boolean` | `bnd_shrink()` Identify a boundary curve to a single point.
    `int` | `bndcmp(PgBndPolygon b, double maxDist)` Parameters: PgBndPolygon a, pointer on structure of bnd_curve PgBndPolygon b, pointer on structure of bnd_curve Returnvalue: int 0: boundaries are not equal 1: bnd's are equal: a.m_vertexInd.m_data[i] = b.m_vertexInd.m_data[i] -1: bnd's are inverse equal: a.m_vertexInd.m_data[i] = b.m_vertexInd.m_data[nop-1-i] Description: compare boundaries of one triang2d structure
    `static void` | `bndcp(int from, int to, int nedges, PgBndPolygon a, PgBndPolygon b)` Parameters: int from, vertexno of beginning of source bnd_curve int to, vertexno of beginning of destination bnd_curve int nedges, number of edges to copy PgBndPolygon a, pointer on structure of source bnd_curve PgBndPolygon b, pointer on structure of destination bnd_curve Description: copy part of bnd_curve number of edges = number of vertices - 1
    `static void` | `bndcpy(int from, int to, int nedges, PgBndPolygon a, PgBndPolygon b)` Parameters: int from, vertexno of beginning of source bnd_curve int to, vertexno of beginning of destination bnd_curve int nedges, number of edges to copy PgBndPolygon a, pointer on structure of source bnd_curve PgBndPolygon b, pointer on structure of destination bnd_curve Description: copy part of bnd_curve number of edges = number of vertices
    `static boolean` | `bndinv(int from, int to, int nedges, PgBndPolygon a, PgBndPolygon b)` Parameters: int from, vertexno of beginning of source bnd_curve int to, vertexno of end of destination bnd_curve int nedges, number of edges to copy PgBndPolygon a, pointer on structure of source bnd_curve PgBndPolygon b, pointer on structure of destination bnd_curve Description: copy part of bnd_curve in reverse order
    `boolean` | `bndsh(int n)` Parameters: int n, length of shift PgBndPolygon bnd, pointer on structure of bnd_curve Description: shifts vertices and neighbours from beginning to end of bnd_curve
    `int` | `bndtst(double maxDist)` Parameters: double maxDist tolerance to first bnd vertex Returnvalue: int 0: some bnd_curve points are equal 1: all bnd_curve points are equal -1: all bnd_curve points are different Description: tests whether bnd_curve is a single point
    `java.lang.Object` | `clone()` Duplicate geometry by recursively cloning all instance variables except inspector panels and lists of registered listeners.
    `boolean` | `constrain()` Project boundary vertices of element set onto curves determined by boundary constraints.
    `void` | `copy(PsObject object)` Copies data from given boundary curve.
    `PgBndConstraint` | `getBndConstraint()` Get constraints of this boundary polygon.
    `PiVector` | `getElementInd()`
    `PgElementSet` | `getElementSet()` Deprecated. since JavaView v3.98.003, use getGeometry() instead
    `PgElementSet` | `getGeometry()` Get base geometry of this boundary polygon.
    `PiVector` | `getNeighbourLocInd()`
    `int` | `getNumElements()` Get number of elements adjacent to the boundary.
    `PiVector` | `getVertexInd()`
    `void` | `init()` Initialize and reset instance variables after call to super.init().
    `boolean` | `invert()` Returnvalue: --- Description: invert bnd_curve to reverse order
    `boolean` | `isConforming()` Return `true` if boundary belongs to conforming element set and boundary has been updated.
    `boolean` | `isShowingIndividualMaterial()` Get flag if this boundary polygon uses its own material properties instead of inheriting material properties of the base geometry.
    `void` | `makeConforming()` Modify vertex indices of a boundary after elementSet has been made conforming again.
    `boolean` | `makeElementInd()` After the vertexInd have been assigned, this method fills the elementInd vector by asking the triangulation for edges.
    `void` | `makeNonConforming()` Modify vertex indices of a boundary after elementSet has been made non-conforming.
    `boolean` | `merge(PgBndPolygon b)` Merge boundary polygon with current object into 'this' and identify last vertex of 'this' with first vertex of argument curve.
    `void` | `setBndConstraint(PgBndConstraint bndConstraint)` Assign constraints of this boundary polygon.
    `void` | `setElementInd(PiVector elemInd)`
    `void` | `setElementSet(PgElementSet geom)` Deprecated. since JavaView v3.98.003, use setGeometry() instead
    `void` | `setGeometry(PgElementSet geom)` Assign base geometry of this boundary polygon.
    `void` | `setMaxNumVertices(int aNumVertices)` Allocate given number of vertices, and allocate normals, colors etc.
    `void` | `setNeighbourLocInd(PiVector neighInd)`
    `void` | `setVertexInd(PiVector vertexInd)`
    `void` | `showIndividualMaterial(boolean flag)` Set flag if this boundary polygon uses its own material properties instead of inheriting material properties of the base geometry.
    `java.lang.String` | `toString()` Create a multi-line string representation with detailed information about all instance variables.
    `boolean` | `update(java.lang.Object event)` Update the class whenever a child has changed.

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

      `assureEdgeColors, assureEdgeNormals, assureEdgeSizes, checkTriangleCut, computeCircle, computeEight, flipOrientation, getEdgeColors, getEdgeNormals, getEdges, getEdgeSizes, getFVector, getGlobalEdgeColor, getGlobalEdgeNormalColor, getGlobalEdgeNormalLength, getGlobalEdgeNormalSize, getGlobalEdgeSize, getGlobalEdgeTagColor, getGlobalPolygonColor, getGlobalPolygonSize, getGlobalPolygonTagColor, getJvx, getLength, getLengthOfEdge, getNumEdges, hasEdgeColors, hasEdgeNormals, intersectionWithLine, isClosed, isShowingEdgeColorFromVertices, isShowingEdgeColors, isShowingEdgeFromVertexColors, isShowingEdgeLabels, isShowingEdgeNormalArrow, isShowingEdgeNormals, isShowingEdges, isShowingEdgeSizes, isShowingPolygonColors, isShowingPolygonEndArrow, isShowingPolygonStartArrow, isShowingSmoothEdgeColors, isShowingSmoothLighting, makeBiNormals, makeCurvatureNormals, makeEdgeColorsFromLength, makeEdgeColorsFromXYZ, makeEdgeColorsFromZ, makeEdgeColorsFromZHue, makeEdgeFromVertexColors, makeNormals, makeNormals, makeOffsetNormals, makeVertexColorsFromLength, makeVertexFromEdgeColors, makeVertexNormals, merge, paint, removeEdgeColors, removeEdgeNormals, removeEdgeSizes, removeMarkedVertices, setClosed, setDimOfVertices, setEdgeColor, setEdgeColors, setEdgeNormal, setEdgeNormals, setEdgeSizes, setGlobalEdgeColor, setGlobalEdgeNormalColor, setGlobalEdgeNormalLength, setGlobalEdgeNormalSize, setGlobalEdgeSize, setGlobalEdgeTagColor, setGlobalPolygonColor, setGlobalPolygonSize, setGlobalPolygonTagColor, setJvx, setNumVertices, showEdgeColorFromVertices, showEdgeColors, showEdgeFromVertexColors, showEdgeLabels, showEdgeNormalArrow, showEdgeNormals, showEdges, showEdgeSizes, showPolygonColors, showPolygonEndArrow, showPolygonStartArrow, showSmoothEdgeColors, showSmoothLighting, triangulate, useGlobalPolygonColor`

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

      `addGeometryItem, addVectorField, addVertex, applyAmbientMatrix, assureVertexColors, assureVertexNormals, assureVertexSizes, assureVertexTextures, clearTagVertex, computeCone, computeCylinder, computeDisk, computePlane, computeRotation, computeSnail, computeSphere, computeTorus, copySelect, 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, getVertexTextures, 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, reflect, removeAllVectorFields, removeHiddenVectorFields, removeTexture, removeVectorField, removeVertex, removeVertexColors, removeVertexNormals, removeVertexSizes, scale, scale, selectVectorField, setCenterOfBndBox, setDefaultLabelEnabled, setDimOfColors, setDimOfTextures, setDimOfVectors, setEnabledIndexLabels, setGlobalVectorColor, setGlobalVectorLength, setGlobalVectorSize, setGlobalVertexColor, setGlobalVertexNormalColor, setGlobalVertexNormalLength, setGlobalVertexNormalSize, setGlobalVertexSize, setGlobalVertexSize, setGlobalVertexTagColor, 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, showVertexTexture, showVertices, translate`

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

      `addDisplay, addElement, addPolygon, clearTagElement, clearTagPolygon, convertWorldToModel, fillMethodMenu, fillMethodMenu, getAmbientInvMatrix, getAmbientMatrix, getAmbientProjection, getAmbientSpace, getAuthorInfo, getAuthors, getCenter, getCenterOfElement, getControlPanel, getDiameter, getDimOfSimplex, getDimOfVertices, getDisplayList, getDisplays, getElement, getGeometryInfo, getLabelAttribute, getLabelColor, getLabelFont, getLabelSize, getLabelStyle, getMaterialPanel, getModelMatrix, getPolygon, getState, getTitle, getType, getVersion, getVersionType, hasAmbientMatrix, hasDisplay, hasModelMatrix, hasTagElement, hasTagPolygon, isConfigurable, isEnabledInstanceSharing, isShowingBndBox, isShowingCenter, isShowingName, isShowingTitle, isVisible, removeDisplay, removeElement, removeMethodMenus, removePolygon, setAmbientMatrix, setAmbientProjection, setAmbientSpace, setAuthorInfo, setAuthors, setCenter, setDimOfSimplex, setElement, setEnabledInstanceSharing, setGeometryInfo, setLabelAttribute, setLabelAttribute, setLabelColor, setLabelFont, setLabelSize, setLabelStyle, setModelMatrix, setPolygon, setTagElement, 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

    - #### PgBndPolygon

          public PgBndPolygon(int aVertexDim)

  - ### Method Detail

    - #### init

          public void init()

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

    - #### 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. In general, all links of the clone to external objects are set to `null`.

      Link to associated element set is set to `null`.

      Specified by:
        `clone` in interface `PgGeometryIf`
      Overrides:
        `clone` in class `PgPolygon`
      See Also:
        `copy(PsObject)`

    - #### copy

          public void copy(PsObject object)

      Copies data from given boundary curve. Note: Reference to parent element set is not copied.

      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 `PgPolygon`
      See Also:
        `PgPolygon.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 `PgPolygon`

    - #### update

          public boolean update(java.lang.Object event)

      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 `PgPolygon`
      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)`

    - #### applyModelingMatrix

          public boolean applyModelingMatrix()

      Multiply the modeling matrix to all vertices and vectors. The modeling matrix of this geometry is set to the identity matrix.

      Here modeling matrix is applied to boundary constraints.

      Overrides:
        `applyModelingMatrix` in class `PgPointSet`
      Returns:
        `true` if operation was applied successfully.
      Since:
        JavaView 2.36

    - #### getNumElements

          public int getNumElements()

      Get number of elements adjacent to the boundary.

    - #### getVertexInd

          public PiVector getVertexInd()

    - #### setVertexInd

          public void setVertexInd(PiVector vertexInd)

    - #### getElementInd

          public PiVector getElementInd()

    - #### setElementInd

          public void setElementInd(PiVector elemInd)

    - #### getNeighbourLocInd

          public PiVector getNeighbourLocInd()

    - #### setNeighbourLocInd

          public void setNeighbourLocInd(PiVector neighInd)

    - #### getBndConstraint

          public PgBndConstraint getBndConstraint()

      Get constraints of this boundary polygon.

    - #### setBndConstraint

          public void setBndConstraint(PgBndConstraint bndConstraint)

      Assign constraints of this boundary polygon.

    - #### getGeometry

          public PgElementSet getGeometry()

      Get base geometry of this boundary polygon.

    - #### setGeometry

          public void setGeometry(PgElementSet geom)

      Assign base geometry of this boundary polygon.

    - #### getElementSet

          public PgElementSet getElementSet()

      Deprecated. since JavaView v3.98.003, use getGeometry() instead
      Get base geometry of this boundary polygon.

    - #### setElementSet

          public void setElementSet(PgElementSet geom)

      Deprecated. since JavaView v3.98.003, use setGeometry() instead
      Assign base geometry of this boundary polygon.

    - #### setMaxNumVertices

          public void setMaxNumVertices(int aNumVertices)

      Allocate given number of vertices, and allocate normals, colors etc. if they already exist. All vertex allocation is done in this method. Method should not be called directly unless a specific allocation is required. Usually, a user would specify the number of vertices via setNumVertices().
      Overrides:
        `setMaxNumVertices` in class `PgPointSet`

    - #### isConforming

          public boolean isConforming()

      Return `true` if boundary belongs to conforming element set and boundary has been updated.

    - #### makeNonConforming

          public void makeNonConforming()

      Modify vertex indices of a boundary after elementSet has been made non-conforming.

      Method assumes that boundary has been setup for a conforming element set before, and, additionally, that the element set is already non-conforming. Number of boundary vertices is reduced by one.

      See Also:
        `PnConjugate.makeConforming(jv.geom.PgElementSet)`, `PnConjugate.makeNonConforming(jv.geom.PgElementSet)`

    - #### makeConforming

          public void makeConforming()

      Modify vertex indices of a boundary after elementSet has been made conforming again.

      Method assumes that boundary has been setup for a non-conforming element set before, and, additionally, that the element set is already conforming again. Number of boundary vertices is incremented by one.

      See Also:
        `PnConjugate.makeConforming(jv.geom.PgElementSet)`, `PnConjugate.makeNonConforming(jv.geom.PgElementSet)`

    - #### assignVertices

          public boolean assignVertices()

      Update the vertices of the polygon. It should be called when vertices of the elementSet have changed.

      Method assumes that boundary has been setup for an element set before.

    - #### makeElementInd

          public boolean makeElementInd()

      After the vertexInd have been assigned, this method fills the elementInd vector by asking the triangulation for edges. Additionally, the vertices are assigned.

      Method does not work for non-conforming element sets.

      The currently used algorithm performs a linear run over all elements to find the element index of the first edge. For all other boundary vertices, only their neighbourhood is checked. In case of non-manifold vertices, however, another linear run over all elements is performed.

      Returns:
        false if missing element set or edge not found, else true.

    - #### bndsh

          public boolean bndsh(int n)

      Parameters: int n, length of shift PgBndPolygon bnd, pointer on structure of bnd_curve Description: shifts vertices and neighbours from beginning to end of bnd_curve

    - #### bndinv

          public static boolean bndinv(int from,
                       int to,
                       int nedges,
                       PgBndPolygon a,
                       PgBndPolygon b)

      Parameters: int from, vertexno of beginning of source bnd_curve int to, vertexno of end of destination bnd_curve int nedges, number of edges to copy PgBndPolygon a, pointer on structure of source bnd_curve PgBndPolygon b, pointer on structure of destination bnd_curve Description: copy part of bnd_curve in reverse order

    - #### invert

          public boolean invert()

      Returnvalue: --- Description: invert bnd_curve to reverse order

    - #### bndcp

          public static void bndcp(int from,
                   int to,
                   int nedges,
                   PgBndPolygon a,
                   PgBndPolygon b)

      Parameters: int from, vertexno of beginning of source bnd_curve int to, vertexno of beginning of destination bnd_curve int nedges, number of edges to copy PgBndPolygon a, pointer on structure of source bnd_curve PgBndPolygon b, pointer on structure of destination bnd_curve Description: copy part of bnd_curve number of edges = number of vertices - 1

    - #### bndcpy

          public static void bndcpy(int from,
                    int to,
                    int nedges,
                    PgBndPolygon a,
                    PgBndPolygon b)

      Parameters: int from, vertexno of beginning of source bnd_curve int to, vertexno of beginning of destination bnd_curve int nedges, number of edges to copy PgBndPolygon a, pointer on structure of source bnd_curve PgBndPolygon b, pointer on structure of destination bnd_curve Description: copy part of bnd_curve number of edges = number of vertices

    - #### bndcmp

          public int bndcmp(PgBndPolygon b,
                   double maxDist)

      Parameters: PgBndPolygon a, pointer on structure of bnd_curve PgBndPolygon b, pointer on structure of bnd_curve Returnvalue: int 0: boundaries are not equal 1: bnd's are equal: a.m_vertexInd.m_data[i] = b.m_vertexInd.m_data[i] -1: bnd's are inverse equal: a.m_vertexInd.m_data[i] = b.m_vertexInd.m_data[nop-1-i] Description: compare boundaries of one triang2d structure

    - #### bndtst

          public int bndtst(double maxDist)

      Parameters: double maxDist tolerance to first bnd vertex Returnvalue: int 0: some bnd_curve points are equal 1: all bnd_curve points are equal -1: all bnd_curve points are different Description: tests whether bnd_curve is a single point

    - #### bnd_shrink

          public boolean bnd_shrink()

      Identify a boundary curve to a single point. Method assumes that all referenced vertices are geometricly equal and replaces all vertex references with a reference to the first vertex in the boundary curve. Remaining vertices are marked `PsObject#IS_DELETED`. Boundary curve itself is marked deleted too. The boundary edges are removed from adjacent elements respectively elements with three edges are removed.

    - #### bnd_id

          public boolean bnd_id(PgBndPolygon b,
                       int orient)

      Parameters: PgBndPolygon a, pointer to structure of type bnd_curve PgBndPolygon b, pointer to structure of type bnd_curve int orient, orientation marker orient >=0 : bnd's are equal orient < 0 : bnd's are inverse equal Description: identify boundaries History: created: 29.12.97 Konrad Polthier

    - #### bnd_dist

          public double bnd_dist(PgBndPolygon b)

      Parameters: PgBndPolygon a, pointer to structure of bnd_curve PgBndPolygon b, pointer to structure of bnd_curve return: double dist distance of two boundaries int *orient 1: bnd's have same direction, i.e. a.m_vertexInd.m_data[i] = b.m_vertexInd.m_data[i] -1:bnd's have different directions, i.e. a.m_vertexInd.m_data[i] = b.m_vertexInd.m_data[nop-1-i] Returnvalue: 0 failure, orient and dist will not be defined on return; 1 success; Description: compare boundaries of one triang2d structure and return their distance, i.e. the maximal value of the minimal distance of boundary points

    - #### bnd_cmp_paste

          public int bnd_cmp_paste(PgBndPolygon b,
                          double maxDist)

      Parameters: PgBndPolygon a, pointer on structure of bnd_curve PgBndPolygon b, pointer on structure of bnd_curve Returnvalue: int 0: boundaries cannot be pasted, angle > MAX_PASTE_ANGLE (in degrees) 11: beginning of a and b may be pasted 12: beginning of a and end of b may be pasted 21: end of a and beginning of b may be pasted 22: end of a and b may be pasted Description: compare two bnd's of a triang2d structure w.r.t. pasting

    - #### bnd_paste

          public boolean bnd_paste(PgBndPolygon b,
                          int type)

      Parameters: PgBndPolygon a, pointer on structure of bnd_curve PgBndPolygon b, pointer on structure of bnd_curve Returnvalue: int 0: paste didn't work 1: paste succeeded Description: paste two bnd's of a triang2d structure paste b at the end of a

    - #### bnd_cmp_logic

          public int bnd_cmp_logic(PgBndPolygon b,
                          double maxDist)

      Parameters: PgBndPolygon a, pointer on structure of bnd_curve PgBndPolygon b, pointer on structure of bnd_curve Returnvalue: int 0: boundaries are not equal 1: bnd's are equal with m_vertexInd.m_data[0] = b.m_vertexInd.m_data[0] -1: bnd's are inverse equal with m_vertexInd.m_data[0] = b.m_vertexInd.m_data[nop-1] Description: compare boundaries of one triang2d structure, they may have different number of vertices.

    - #### isShowingIndividualMaterial

          public boolean isShowingIndividualMaterial()

      Get flag if this boundary polygon uses its own material properties instead of inheriting material properties of the base geometry.
      Returns:
        true if individual material of this boundary polygon is used
      Since:
        JavaView 2.49.005

    - #### showIndividualMaterial

          public void showIndividualMaterial(boolean flag)

      Set flag if this boundary polygon uses its own material properties instead of inheriting material properties of the base geometry.
      Parameters:
        `flag` - true if individual material of this boundary polygon is used
      Since:
        JavaView 2.49.005

    - #### merge

          public boolean merge(PgBndPolygon b)

      Merge boundary polygon with current object into 'this' and identify last vertex of 'this' with first vertex of argument curve.
      Parameters:
        `b` - PgBndPolygon to be merged into 'this'
      Returns:
        `true` if merge was successfull

    - #### blend

          public boolean blend(double s,
                      PgGeometry ag,
                      double t,
                      PgGeometry bg)

      Blend between two polygon using `this = s*a + t*b`.
      Specified by:
        `blend` in interface `PgGeometryIf`
      Overrides:
        `blend` in class `PgPolygon`
      Parameters:
        `s` - weight of vertices of first boundary polygon
        `ag` - first boundary polygon used for blending
        `t` - weight of vertices of second boundary polygon
        `bg` - second boundary polygon used for blending
      Returns:
        true on success

    - #### constrain

          public boolean constrain()

      Project boundary vertices of element set onto curves determined by boundary constraints. Then update vertices of boundary polygon too.

"

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