igeo

## Class IDelaunay

- java.lang.Object
- - igeo.IDelaunay

-     public class IDelaunay
      extends java.lang.Object

  Class to calculate Delaunay triangulation out of 3D points.
  Author:
    Satoru Sugihara

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static double` | `maxDistToCheck`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IDelaunay()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static IVec` | `circumsphereCenter(IVec p1, IVec p2, IVec p3, IVec p4)`
    `static IVec[][]` | `getEdges(IVec[] pts)` Getting edges of delaunay tetrahedron out of array of points.
    `static IVecI[][]` | `getEdges(IVecI[] pts)` Getting edges of delaunay tetrahedron out of array of points.
    `static IVec[][]` | `getSurfaceEdges(IVec[] pts)` Getting array of edge points on the surface of delaunay tetrahedron cells out of array of 3D points
    `static IVecI[][]` | `getSurfaceEdges(IVecI[] pts)` Getting array of edge points on the surface of delaunay tetrahedron cells out of array of 3D points
    `static IMesh` | `getSurfaceMesh(IVec[] pts)` Getting a polygon mesh of the outside surface of delaunay tetrahedron cells out of array of 3D points
    `static IMesh` | `getSurfaceMesh(IVecI[] pts)` Getting a polygaon mesh of the outside surface of delaunay tetrahedron cells out of array of 3D points
    `static IVec[][]` | `getSurfaceTriangles(IVec[] pts)` Getting array of triangle points on the surface (hull) of delaunay tetrahedron cells out of array of 3D points
    `static IVecI[][]` | `getSurfaceTriangles(IVecI[] pts)` Getting array of triangle points on the surface (hull) of delaunay tetrahedron cells out of array of 3D points
    `static IVec[][]` | `getTetrahedron(IVec[] pts)` Getting delaunay tetrahedron cells out of array of 3D points
    `static IVecI[][]` | `getTetrahedron(IVecI[] pts)` Getting delaunay tetrahedron cells out of array of 3D points
    `static IVec[]` | `getTriangleFace(IVec[] tetra, int index)` pick 3 point triangle out of 4 point tetrahedron with right-screw normal order
    `static boolean` | `isEdgeSame(IVecI[] edge1, IVecI[] edge2)` check if two edge points are same in terms of same instance
    `static boolean` | `isEdgeSame(IVecI[] edge1, IVecI edge2Pt1, IVecI edge2Pt2)` check if two edge points are same in terms of same instance
    `static boolean` | `isEdgeSame(IVecI edge1Pt1, IVecI edge1Pt2, IVecI edge2Pt1, IVecI edge2Pt2)` check if two edge points are same in terms of same instance
    `static boolean` | `isInsideCircumsphere(IVec pt, IVec tetraPt1, IVec tetraPt2, IVec tetraPt3, IVec tetraPt4)`
    `static boolean` | `isTriangleSame(IVecI[] tri1, IVecI[] tri2)` check if two triangle points are same in terms of same instance

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

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

- - ### Field Detail

    - #### maxDistToCheck

          public static double maxDistToCheck

  - ### Constructor Detail

    - #### IDelaunay

          public IDelaunay()

  - ### Method Detail

    - #### getTetrahedron

          public static IVec[][] getTetrahedron(IVec[] pts)

      Getting delaunay tetrahedron cells out of array of 3D points
      Returns:
        array of tetrahedron, which consist of array of 4 points of IVec

    - #### getTetrahedron

          public static IVecI[][] getTetrahedron(IVecI[] pts)

      Getting delaunay tetrahedron cells out of array of 3D points
      Returns:
        array of tetrahedron, which consist of array of 4 points of IVec

    - #### circumsphereCenter

          public static IVec circumsphereCenter(IVec p1,
                                                IVec p2,
                                                IVec p3,
                                                IVec p4)

    - #### isInsideCircumsphere

          public static boolean isInsideCircumsphere(IVec pt,
                                                     IVec tetraPt1,
                                                     IVec tetraPt2,
                                                     IVec tetraPt3,
                                                     IVec tetraPt4)

    - #### getTriangleFace

          public static IVec[] getTriangleFace(IVec[] tetra,
                                               int index)

      pick 3 point triangle out of 4 point tetrahedron with right-screw normal order

    - #### getSurfaceTriangles

          public static IVec[][] getSurfaceTriangles(IVec[] pts)

      Getting array of triangle points on the surface (hull) of delaunay tetrahedron cells out of array of 3D points
      Returns:
        array of triangle points, which consist of array of 3 points of IVec

    - #### getSurfaceTriangles

          public static IVecI[][] getSurfaceTriangles(IVecI[] pts)

      Getting array of triangle points on the surface (hull) of delaunay tetrahedron cells out of array of 3D points
      Returns:
        array of triangle points, which consist of array of 3 points of IVec

    - #### getSurfaceEdges

          public static IVec[][] getSurfaceEdges(IVec[] pts)

      Getting array of edge points on the surface of delaunay tetrahedron cells out of array of 3D points
      Returns:
        array of edge points, which consist of array of 2 points of IVec

    - #### getSurfaceEdges

          public static IVecI[][] getSurfaceEdges(IVecI[] pts)

      Getting array of edge points on the surface of delaunay tetrahedron cells out of array of 3D points
      Returns:
        array of edge points, which consist of array of 2 points of IVec

    - #### getSurfaceMesh

          public static IMesh getSurfaceMesh(IVec[] pts)

      Getting a polygon mesh of the outside surface of delaunay tetrahedron cells out of array of 3D points
      Returns:
        a polygon mesh

    - #### getSurfaceMesh

          public static IMesh getSurfaceMesh(IVecI[] pts)

      Getting a polygaon mesh of the outside surface of delaunay tetrahedron cells out of array of 3D points
      Returns:
        a polygon mesh

    - #### getEdges

          public static IVec[][] getEdges(IVec[] pts)

      Getting edges of delaunay tetrahedron out of array of points.
      Returns:
        array of pairs of points, which represent edges.

    - #### getEdges

          public static IVecI[][] getEdges(IVecI[] pts)

      Getting edges of delaunay tetrahedron out of array of points.
      Returns:
        array of pairs of points, which represent edges.

    - #### isTriangleSame

          public static boolean isTriangleSame(IVecI[] tri1,
                                               IVecI[] tri2)

      check if two triangle points are same in terms of same instance
      Parameters:
        `tri1` - array of 3 points
        `tri2` - array of 3 points

    - #### isEdgeSame

          public static boolean isEdgeSame(IVecI[] edge1,
                                           IVecI[] edge2)

      check if two edge points are same in terms of same instance
      Parameters:
        `edge1` - array of 2 points
        `edge2` - array of 2 points

    - #### isEdgeSame

          public static boolean isEdgeSame(IVecI[] edge1,
                                           IVecI edge2Pt1,
                                           IVecI edge2Pt2)

      check if two edge points are same in terms of same instance
      Parameters:
        `edge1` - array of 2 points
        `edge2Pt1` - point of second edge
        `edge2Pt2` - point of second edge

    - #### isEdgeSame

          public static boolean isEdgeSame(IVecI edge1Pt1,
                                           IVecI edge1Pt2,
                                           IVecI edge2Pt1,
                                           IVecI edge2Pt2)

      check if two edge points are same in terms of same instance
      Parameters:
        `edge1Pt1` - point of first edge
        `edge1Pt2` - point of first edge
        `edge2Pt1` - point of second edge
        `edge2Pt2` - point of second edge