igeo.gui

## Class ISurfaceMesh.SubsurfaceIndexGroup

- java.lang.Object
- - igeo.gui.ISurfaceMesh.SubsurfaceIndexGroup

- Enclosing class:
    ISurfaceMesh

      public static class ISurfaceMesh.SubsurfaceIndexGroup
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `java.util.ArrayList<ISurfaceMesh.SubsurfaceIndex>` | `indices`
    `int` | `unum`
    `double[]` | `uvalues`
    `int` | `vnum`
    `double[]` | `vvalues`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SubsurfaceIndexGroup(double[] uval, double[] vval)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(int u, int v)`
    `boolean` | `contains(int u, int v)`
    `ISurfaceMesh.SubsurfaceIndex` | `getIndex(int i)`
    `protected ISurfaceMesh.SubsurfaceIndex[]` | `getIndexOnLine(IVec2 pt1, IVec2 pt2)` returning SubsurfaceIndex between 2 points not including the index where each point is
    `protected ISurfaceMesh.SubsurfaceIndex` | `getIndexOnPoint(IVec2 pt)`
    `protected ISurfaceMesh.SubsurfaceIndex` | `getNextIndexOnLine(IVec2 linePt1, IVec2 linePt2, int uidx, int vidx)`
    `protected IVec2` | `getPoint(int uidx, int vidx)`
    `protected IVec2` | `getPoint(ISurfaceMesh.SubsurfaceIndex idx)`
    `IVec2[][]` | `getSubsurfaceCorners(int i)`
    `protected double` | `getU(int uidx)`
    `protected int` | `getUIndex(IVec2 pt)`
    `protected double` | `getV(int vidx)`
    `protected int` | `getVIndex(IVec2 pt)`
    `protected boolean` | `isLineOnEdge(IVec2 linePt1, IVec2 linePt2, IVec2 edgePt1, IVec2 edgePt2)`
    `protected boolean` | `isLineOnPoint(IVec2 linePt1, IVec2 linePt2, int uidx, int vidx)`
    `protected boolean` | `isLineOnUEdge(IVec2 linePt1, IVec2 linePt2, int uidx1, int uidx2, int vidx)`
    `protected boolean` | `isLineOnVEdge(IVec2 linePt1, IVec2 linePt2, int uidx, int vidx1, int vidx2)`
    `protected boolean` | `isOnCorner(IVec2 pt)`
    `protected boolean` | `isOnEdge(IVec2 pt)`
    `protected boolean` | `isOnUEdge(IVec2 pt)`
    `protected boolean` | `isOnVEdge(IVec2 pt)`
    `protected boolean` | `isPointOnLeft(IVec2 pt, IVec2 linePt1, IVec2 linePt2)`
    `int` | `num()`
    `void` | `setPolyline(IVec2[] polyline, boolean closed)` add subsurface index where loop lines sit

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

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

- - ### Field Detail

    - #### indices

          public java.util.ArrayList<ISurfaceMesh.SubsurfaceIndex> indices

    - #### unum

          public int unum

    - #### vnum

          public int vnum

    - #### uvalues

          public double[] uvalues

    - #### vvalues

          public double[] vvalues

  - ### Constructor Detail

    - #### SubsurfaceIndexGroup

          public SubsurfaceIndexGroup(double[] uval,
                                      double[] vval)

  - ### Method Detail

    - #### add

          public void add(int u,
                          int v)

    - #### num

          public int num()

    - #### contains

          public boolean contains(int u,
                                  int v)

    - #### getIndex

          public ISurfaceMesh.SubsurfaceIndex getIndex(int i)

    - #### getSubsurfaceCorners

          public IVec2[][] getSubsurfaceCorners(int i)

    - #### setPolyline

          public void setPolyline(IVec2[] polyline,
                                  boolean closed)

      add subsurface index where loop lines sit

    - #### getUIndex

          protected int getUIndex(IVec2 pt)

    - #### getVIndex

          protected int getVIndex(IVec2 pt)

    - #### getU

          protected double getU(int uidx)

    - #### getV

          protected double getV(int vidx)

    - #### getPoint

          protected IVec2 getPoint(int uidx,
                                   int vidx)

    - #### getPoint

          protected IVec2 getPoint(ISurfaceMesh.SubsurfaceIndex idx)

    - #### isOnCorner

          protected boolean isOnCorner(IVec2 pt)

    - #### isOnEdge

          protected boolean isOnEdge(IVec2 pt)

    - #### isOnUEdge

          protected boolean isOnUEdge(IVec2 pt)

    - #### isOnVEdge

          protected boolean isOnVEdge(IVec2 pt)

    - #### getIndexOnPoint

          protected ISurfaceMesh.SubsurfaceIndex getIndexOnPoint(IVec2 pt)

    - #### getIndexOnLine

          protected ISurfaceMesh.SubsurfaceIndex[] getIndexOnLine(IVec2 pt1,
                                                                  IVec2 pt2)

      returning SubsurfaceIndex between 2 points not including the index where each point is

    - #### getNextIndexOnLine

          protected ISurfaceMesh.SubsurfaceIndex getNextIndexOnLine(IVec2 linePt1,
                                                                    IVec2 linePt2,
                                                                    int uidx,
                                                                    int vidx)

    - #### isLineOnPoint

          protected boolean isLineOnPoint(IVec2 linePt1,
                                          IVec2 linePt2,
                                          int uidx,
                                          int vidx)

    - #### isLineOnEdge

          protected boolean isLineOnEdge(IVec2 linePt1,
                                         IVec2 linePt2,
                                         IVec2 edgePt1,
                                         IVec2 edgePt2)

    - #### isLineOnUEdge

          protected boolean isLineOnUEdge(IVec2 linePt1,
                                          IVec2 linePt2,
                                          int uidx1,
                                          int uidx2,
                                          int vidx)

    - #### isLineOnVEdge

          protected boolean isLineOnVEdge(IVec2 linePt1,
                                          IVec2 linePt2,
                                          int uidx,
                                          int vidx1,
                                          int vidx2)

    - #### isPointOnLeft

          protected boolean isPointOnLeft(IVec2 pt,
                                          IVec2 linePt1,
                                          IVec2 linePt2)