jvx.geom

## Class PgFrame

- java.lang.Object
- - jv.object.PsObject
  - - jvx.geom.PgFrame

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

      public class PgFrame
      extends PsObject

  Moving frame along curves (pending: and surfaces) in R^3.

  Note: access to public instance variables will soon be restricted.

  See Also:
    Serialized Form
  Author:
    Konrad Polthier
  Version:
    29.11.04, 2.20 revised (ep) Getter/Setter methods for instance variables. Parallel translation with constant vector lengths at vertices and edges.
    18.03.04, 2.10 revised (kp) Instance variables are no longer public.
    01.04.00, 2.00 revised (kp) Moved from package jv.rsrc to jvx.rsrc.
    00.00.98, 1.00 created (kp)

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `PdVector` | `base` Base point.
    `PdVector` | `e1` Tangent direction.
    `PdVector` | `e2` Other orthogonal tangent direction (in case of surfaces).
    `PdVector` | `e3` Surface normal (in case of surfaces).

    - ### 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`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PgFrame(int aDim)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `blend(double s, PgFrame a, double t, PgFrame b)`
    `void` | `copy(PgFrame aFrame)`
    `void` | `copyVectors(PgFrame aFrame)`
    `PdVector` | `getBase()`
    `PdVector` | `getE1()`
    `PdVector` | `getE2()`
    `PdVector` | `getE3()`
    `void` | `init()` If instance has missing name then assign default name 'Object_NUMBER' where number is the total number of already created instances.
    `void` | `leftMultMatrix(PdMatrix aMatrix)`
    `void` | `leftMultMatrix(PdMatrix aMatrix, PgFrame aFrame)`
    `void` | `parallelTranslate(PgFrame oldFrame, PgFrame vertexFrame, PdVector newVertex, PdVector newEdge)` Parallel translate a frame along a polygonal curve in R^3.
    `void` | `parallelTranslateConstantLength(PgFrame oldFrame, PgFrame vertexFrame, PdVector newVertex, PdVector newEdge)` Parallel translate a frame along a polygonal curve in R^3.
    `static PgFrame[]` | `realloc(PgFrame[] data, int arraySize, int aDim)`
    `void` | `setBase(PdVector base)`
    `void` | `setE1(PdVector e1)`
    `void` | `setE2(PdVector e2)`
    `void` | `setE3(PdVector e3)`

    - ### 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, update, updatePanels`

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

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

- - ### Field Detail

    - #### base

          public PdVector base

      Base point.

    - #### e1

          public PdVector e1

      Tangent direction.

    - #### e2

          public PdVector e2

      Other orthogonal tangent direction (in case of surfaces).

    - #### e3

          public PdVector e3

      Surface normal (in case of surfaces).

  - ### Constructor Detail

    - #### PgFrame

          public PgFrame(int aDim)

  - ### Method Detail

    - #### realloc

          public static PgFrame[] realloc(PgFrame[] data,
                                          int arraySize,
                                          int aDim)

    - #### init

          public void init()

      Description copied from class: `PsObject`
      If instance has missing name then assign default name 'Object_NUMBER' where number is the total number of already created instances.
      Overrides:
        `init` in class `PsObject`

    - #### copy

          public void copy(PgFrame aFrame)

    - #### copyVectors

          public void copyVectors(PgFrame aFrame)

    - #### leftMultMatrix

          public void leftMultMatrix(PdMatrix aMatrix)

    - #### leftMultMatrix

          public void leftMultMatrix(PdMatrix aMatrix,
                                     PgFrame aFrame)

    - #### blend

          public boolean blend(double s,
                               PgFrame a,
                               double t,
                               PgFrame b)

    - #### parallelTranslate

          public void parallelTranslate(PgFrame oldFrame,
                                        PgFrame vertexFrame,
                                        PdVector newVertex,
                                        PdVector newEdge)

      Parallel translate a frame along a polygonal curve in R^3. The vertexFrame is the resulting frame at the given vertex. This frame object is used to store a frame at the current vertex whose e1 direction is parallel to the newEdge, i.e. this frame can be used as the oldFrame for another call of this method to compute the frame at the next vertex.

      This version produces a vertex frame such that the connection between the endpoints of two vertex frames has constant distance to the polygon edge. This is what you want to construct a tube (with constant radius) around the polygon.

      Parameters:
        `oldFrame` - frame at previous vertex with e1 parallel to previous edge.
        `vertexFrame` - frame at current vertex, this is the actual result.
        `newVertex` - current vertex where to compute the frame.
        `newEdge` - edge outgoing from current vertex.

    - #### parallelTranslateConstantLength

          public void parallelTranslateConstantLength(PgFrame oldFrame,
                                                      PgFrame vertexFrame,
                                                      PdVector newVertex,
                                                      PdVector newEdge)

      Parallel translate a frame along a polygonal curve in R^3. The vertexFrame is the resulting frame at the given vertex. This frame object is used to store a frame at the current vertex whose e1 direction is parallel to the newEdge, i.e. this frame can be used as the oldFrame for another call of this method to compute the frame at the next vertex.

      This version produces a frame with constant vector lengths. This is what you want e.g. if you need an ONB of the normal space at each vertex of a polygon.

      Parameters:
        `oldFrame` - frame at previous vertex with e1 parallel to previous edge.
        `vertexFrame` - frame at current vertex, this is the actual result.
        `newVertex` - current vertex where to compute the frame.
        `newEdge` - edge outgoing from current vertex.

    - #### getBase

          public PdVector getBase()

    - #### setBase

          public void setBase(PdVector base)

    - #### getE1

          public PdVector getE1()

    - #### setE1

          public void setE1(PdVector e1)

    - #### getE2

          public PdVector getE2()

    - #### setE2

          public void setE2(PdVector e2)

    - #### getE3

          public PdVector getE3()

    - #### setE3

          public void setE3(PdVector e3)

"

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