jvx.geom

## Class PnConjugate

- java.lang.Object
- - jvx.geom.PnConjugate

-     public class PnConjugate
      extends java.lang.Object

  Utility class for computing the conjugate of a discrete harmonic map, and conversion between conforming and non-conforming triangulations.
  Author:
    Konrad Polthier
  Version:
    16.07.99, 2.00 revised (kp) Non-conforming methods moved from PgElementSet.
    00.00.99, 1.00 created (kp)

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PnConjugate()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static PgElementSet` | `conjugate(PgElementSet conj, PgElementSet surf, PgElementSet domain)` Compute the conjugate surface of 'surf' and store it in 'conj' This conjugation algorithm rotates every element by 90 degrees todo: and needs no domain metric.
    `static PgElementSet` | `conjugateToFull(PgElementSet conj, PgElementSet surf, PgElementSet domain)` Compute the conjugate surface of 'surf' and store it in 'conj' This conjugation algorithm rotates every element by 90 degrees todo: and needs no domain metric.
    `static boolean` | `makeConforming(PgElementSet geom)` Replace the edge based representation of an elementSet by restoring the vertex based representation whose elements were saved in PgElementSet.
    `static boolean` | `makeConformingToFull(PgElementSet surf)` Generate a triangle mesh where each triangles has its own set of vertices, and where the triangles are numbered in the same way as if the surface was constructed by conjugation.
    `static boolean` | `makeNonConforming(PgElementSet geom)` Replace the vertex based representation of an element set by a representation which is based on edge midpoints.

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

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

- - ### Constructor Detail

    - #### PnConjugate

          public PnConjugate()

  - ### Method Detail

    - #### conjugate

          public static PgElementSet conjugate(PgElementSet conj,
                                               PgElementSet surf,
                                               PgElementSet domain)

      Compute the conjugate surface of 'surf' and store it in 'conj' This conjugation algorithm rotates every element by 90 degrees todo: and needs no domain metric. The new triangulation 'conj' is continuous at edge midpoints iff 'surf' is a discrete minimal surface.

      The resulting conjugate surface uses the midtriangles only. Two adjacent midtriangles use the same midpoint on the common edge.

      Parameters:
        `conj` - conjugate minimal surface of surf
        `surf` - discrete minimal surface
        `domain` - domain, if conjugation is applied to a map
      Returns:
        new conjugate surface if conj==null, else conj
      Author:
        Konrad Polthier
      Version:
        23.01.02, 1.70 revised (ep) Internationalization.
        31.08.99, 1.60 revised (kp) Adjust metric if non-conforming domain is used.
        26.08.99, 1.50 revised (kp) Domain added.
        28.05.99, 1.01 revised (kp) Method moved from PgElementSet.
        30.12.97, 1.00 created (kp)

    - #### conjugateToFull

          public static PgElementSet conjugateToFull(PgElementSet conj,
                                                     PgElementSet surf,
                                                     PgElementSet domain)

      Compute the conjugate surface of 'surf' and store it in 'conj' This conjugation algorithm rotates every element by 90 degrees todo: and needs no domain metric. The new triangulation 'conj' is continuous at edge midpoints iff 'surf' is a discrete minimal surface.

      The resulting conjugate surface uses full triangles. Two adjacent are continuous at the midpoint of the common edge but do not have a vertex there.

      Parameters:
        `conj` - conjugate minimal surface of surf
        `surf` - discrete minimal surface
        `domain` - domain, if conjugation is applied to a map
      Returns:
        new conjugate surface if conj==null, else conj
      Author:
        Konrad Polthier
      Version:
        31.08.99, 1.60 revised (kp) Adjust metric if non-conforming domain is used.
        26.08.99, 1.50 revised (kp) Domain added.
        28.05.99, 1.01 revised (kp) Method moved from PgElementSet.
        30.12.97, 1.00 created (kp)

    - #### makeNonConforming

          public static boolean makeNonConforming(PgElementSet geom)

      Replace the vertex based representation of an element set by a representation which is based on edge midpoints. The original vertex based elements are saved in geometry such that they can be reconstructed in makeConforming(). The parameter element set is modified in place.
      Returns:
        true on success, or if already non-conforming
      Author:
        Konrad Polthier
      Version:
        21.08.99, 1.20 revised (kp) Save original vertex based elements.
        16.07.99, 1.10 revised (kp) Moved from PgElementSet and slight changes.
        31.12.97, 1.00 created (kp)

    - #### makeConforming

          public static boolean makeConforming(PgElementSet geom)

      Replace the edge based representation of an elementSet by restoring the vertex based representation whose elements were saved in PgElementSet. The parameter element set is modified in place.

      Note, this method may only be applied to a non-conforming mesh to undo `makeNonConforming(PgElementSet)`.

      Returns:
        true on success, or if already conforming.
      Author:
        Konrad Polthier
      Version:
        21.08.99, 2.00 revised (kp) Code assumes that makeNonConforming has saved the vertex based elements.
        16.07.99, 1.10 revised (kp) Moved from PgElementSet and slight changes.
        31.12.97, 1.00 created (kp)

    - #### makeConformingToFull

          public static boolean makeConformingToFull(PgElementSet surf)

      Generate a triangle mesh where each triangles has its own set of vertices, and where the triangles are numbered in the same way as if the surface was constructed by conjugation.

      This method prepares an original surface to allow interpolation with its full conjugate surface.

      Method applies both to conforming and non-conforming meshes.

      Returns:
        true on success
      Author:
        Konrad Polthier
      Version:
        29.05.03, 1.50 revised (kp) Doc improved.

"

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