jvx.geom

## Class PwIntersectWithFunction

- java.lang.Object
- - jv.object.PsObject
  - - jvx.project.PjWorkshop
    - - jvx.geom.PwIntersectElementSet
      - - jvx.geom.PwIntersectWithFunction

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

      public class PwIntersectWithFunction
      extends PwIntersectElementSet

  Utility program to cut a PgElementSet along a level function or at a level between double values at vertices and generate a PgPolygonSet containing all the intersection polygons.
  See Also:
    Serialized Form
  Author:
    Ulrich Reitebuch
  Version:
    03.03.11, 1.10 revised (ur) Activate methods to clip at scalar data.
    22.08.05, 1.00 created (ur) Full revision, moved to new class from PwClip.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `DATA` Identifier for intersect with data array mode.
    `static int` | `FUNCTION` Identifier for intersect with function mode.

    - ### 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.PjWorkshopIf

      `MODE_BUG, MODE_STANDARD, MODE_VALIDATE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PwIntersectWithFunction()` Constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clip(boolean bPositive)` Clip the workshop's geometry at the level function or vertex data.
    `void` | `clipAtFunction(boolean bPositive)` Clip the workshop's geometry at the level function.
    `void` | `clipAtPdVector(boolean bPositive)` Clip the workshop's geometry at level in scalar data.
    `void` | `computeVertexDataFromNormal()` Fill vertex data array with scalar product of vertex normal and this workshop's normal vector.
    `java.lang.String` | `getFunction()` Get textual expression of level function.
    `double` | `getLevel()` Get level value at which clipping happens.
    `int` | `getMode()` Get current intersection mode
    `void` | `intersect()` Invoke Cutting the elements of the workshop's geometry at level function or vertex data.
    `void` | `intersect(double level)` Invoke Cutting the elements of the workshop's geometry at level function or vertex data.
    `void` | `intersectWithFunction()` Invoke Cutting the elements of the workshop's geometry at the level function.
    `void` | `intersectWithPdVector()` Invoke Cutting the elements of the workshop's geometry at scalar data.
    `void` | `setFunction(java.lang.String s)` Set textual expression of level function used clipping from outside of workshop.
    `void` | `setGeometry(PgGeometry geom)` Assign a geometry on which this workshop operates, and create a backup copy if workshop is canceled.
    `void` | `setLevel(double level)` Set the value at which clipping happens.
    `void` | `setMode(int mode)` Set intersection mode to FUNCTION or DATA.
    `void` | `setScalarData(PdVector data)` Set double data to clip or split Geometry at.
    `PgElementSet` | `splitAtFunction()` Split the workshop's geometry into two geometries along the level function.
    `PgElementSet` | `splitAtPdVector()` Split the workshop's geometry into two geometries at a level in scalar data.
    `boolean` | `update(java.lang.Object event)` Update the class whenever a child has changed.

    - ### Methods inherited from class jvx.geom.PwIntersectElementSet

      `breakElements, breakElements, cancel, cutAlongIntersection, cutAlongIntersection, getIntersection, init, reset, setGeometries`

    - ### Methods inherited from class jvx.project.PjWorkshop

      `close, getDisplay, getDisplays, getGeometry, getSavedGeometry, getViewer, isModal, isStandalone, ok, removeGeometry, setDisplay, setDisplays, setModal, setStandalone, setViewer`

    - ### Methods inherited from class jv.object.PsObject

      `addInspector, addUpdateListener, assureInspector, clearTag, clone, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, getSymbol, hasInspector, hasTag, hasUpdateListener, instanceOf, instanceOf, newInspector, newInspector, removeInspector, removeInspector, removeUpdateListener, setName, setParent, setSymbol, setTag, toString, updatePanels`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface jv.object.PsUpdateIf

      `getFather, getName, setParent`

- - ### Field Detail

    - #### FUNCTION

          public static final int FUNCTION

      Identifier for intersect with function mode.
      See Also:
        Constant Field Values

    - #### DATA

          public static final int DATA

      Identifier for intersect with data array mode.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### PwIntersectWithFunction

          public PwIntersectWithFunction()

      Constructor

  - ### Method Detail

    - #### setGeometry

          public void setGeometry(PgGeometry geom)

      Assign a geometry on which this workshop operates, and create a backup copy if workshop is canceled. Subclasses frequently overwrite this method but are advised to call this method.
      Specified by:
        `setGeometry` in interface `PjWorkshopIf`
      Overrides:
        `setGeometry` in class `PjWorkshop`
      Parameters:
        `geom` - the workshop modifies this geometry.

    - #### setMode

          public void setMode(int mode)

      Set intersection mode to FUNCTION or DATA.
      Specified by:
        `setMode` in interface `PjWorkshopIf`
      Overrides:
        `setMode` in class `PjWorkshop`
      Parameters:
        `mode` - either MODE_STANDARD for standard mode, or MODE_BUG for debugging operations.
      See Also:
        `PjWorkshopIf.MODE_STANDARD`

    - #### getMode

          public int getMode()

      Get current intersection mode
      Overrides:
        `getMode` in class `PjWorkshop`
      Returns:
        either MODE_STANDARD for standard mode, or another mode.
      See Also:
        `PjWorkshopIf.MODE_STANDARD`

    - #### getFunction

          public java.lang.String getFunction()

      Get textual expression of level function.

    - #### setFunction

          public void setFunction(java.lang.String s)

      Set textual expression of level function used clipping from outside of workshop. String must be a valid mathematical function in variables {u,v,w} where the number of variables must be equal to the vertex dimension of the geometry to which clipping is applied.
      Parameters:
        `s` - string containing a function expression
      See Also:
        `Parser`

    - #### setScalarData

          public void setScalarData(PdVector data)

      Set double data to clip or split Geometry at.

    - #### getLevel

          public double getLevel()

      Get level value at which clipping happens.
      Returns:
        level value at which clipping happens

    - #### setLevel

          public void setLevel(double level)

      Set the value at which clipping happens.
      Parameters:
        `level` - level value at which clipping happens

    - #### 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 `PjWorkshop`
      Parameters:
        `event` - sender of this update.
      Returns:
        true if update was correctly handled by superclass.
      See Also:
        `PsObject.setParent(PsUpdateIf)`, `PsObject.getFather()`, `PsObject.addUpdateListener(PsUpdateIf)`

    - #### intersect

          public void intersect()

      Invoke Cutting the elements of the workshop's geometry at level function or vertex data.
      Overrides:
        `intersect` in class `PwIntersectElementSet`
      Author:
        Ulrich Reitebuch
      Version:
        08.08.12, 1.00 created (ur)

    - #### intersectWithFunction

          public void intersectWithFunction()

      Invoke Cutting the elements of the workshop's geometry at the level function.
      Author:
        Ulrich Reitebuch
      Version:
        14.10.04, 1.10 revised (kh) Bug remove: changed m_geom = m_elSet[0] to m_geom.copy(m_elSet[0]).
        29.05.02, 1.00 created (ur)

    - #### intersectWithPdVector

          public void intersectWithPdVector()

      Invoke Cutting the elements of the workshop's geometry at scalar data.
      Author:
        Ulrich Reitebuch
      Version:
        14.10.04, 1.10 revised (kh) Bug remove: changed m_geom = m_elSet[0] to m_geom.copy(m_elSet[0]).
        29.05.02, 1.00 created (ur)

    - #### computeVertexDataFromNormal

          public void computeVertexDataFromNormal()

      Fill vertex data array with scalar product of vertex normal and this workshop's normal vector.

    - #### splitAtFunction

          public PgElementSet splitAtFunction()

      Split the workshop's geometry into two geometries along the level function. The workshop's geometry will contain all areas with function values lower than the cutting level, the returned geometry contains all other areas.
      Author:
        Ulrich Reitebuch
      Version:
        09.03.04, 1.00 created (ur)

    - #### splitAtPdVector

          public PgElementSet splitAtPdVector()

      Split the workshop's geometry into two geometries at a level in scalar data. The workshop's geometry will contain all areas with function values lower than the cutting level, the returned geometry contains all other areas.
      Author:
        Ulrich Reitebuch
      Version:
        09.03.04, 1.00 created (ur)

    - #### clip

          public void clip(boolean bPositive)

      Clip the workshop's geometry at the level function or vertex data.
      Parameters:
        `bPositive` - Flag to get either the higher or the lower function value areas.
      Author:
        Ulrich Reitebuch
      Version:
        08.83.12, 1.00 created (ur)

    - #### clipAtFunction

          public void clipAtFunction(boolean bPositive)

      Clip the workshop's geometry at the level function.
      Parameters:
        `bPositive` - Flag to get either the higher or the lower function value areas.
      Author:
        Ulrich Reitebuch
      Version:
        09.03.04, 1.00 created (ur)

    - #### clipAtPdVector

          public void clipAtPdVector(boolean bPositive)

      Clip the workshop's geometry at level in scalar data.
      Parameters:
        `bPositive` - Flag to get either the higher or the lower function value areas.
      Author:
        Ulrich Reitebuch
      Version:
        09.03.04, 1.00 created (ur)

    - #### intersect

          public void intersect(double level)

      Invoke Cutting the elements of the workshop's geometry at level function or vertex data.
      Author:
        Ulrich Reitebuch
      Version:
        08.08.12, 1.00 created (ur)

"

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