igeo

## Interface ITrimCurveI

- All Superinterfaces:
    ICurveI, ICurveOp, IParameter, ITransformable, IVal
  All Known Implementing Classes:
    ITrimCurve

      public interface ITrimCurveI
      extends ICurveI

  Interface of trim curve of surface. A trim curve is either outer trim curve (outside edge) or inner trim curve (edge of hole).
  Author:
    Satoru Sugihara

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `IVec2I` | `end2()`
    `IVec2I` | `end2d()` alias
    `IVec2I` | `endCP2()`
    `IVec2I` | `endCP2d()` alias
    `ITrimCurve` | `get()`
    `ICurveGeo` | `get3d()` get trim curve in 3d space mapped via the surface
    `IVec2I` | `pt2(double u)` it returns uv coordinates.
    `IVec2I` | `pt2(IDoubleI u)` it returns uv coordinates.
    `IVec2I` | `pt2d(double u)` alias
    `IVec2I` | `pt2d(IDoubleI u)` alias
    `ITrimCurveI` | `rev()` reverse U coordintates direction of curve, without creating a new object
    `IVec2I` | `start2()`
    `IVec2I` | `start2d()` alias
    `IVec2I` | `startCP2()`
    `IVec2I` | `startCP2d()` alias
    `ISurfaceI` | `surface()` get surface
    `ITrimCurveI` | `surface(ISurfaceI srf)` set surface

    - ### Methods inherited from interface igeo.ICurveI

      `add, add, add, add, add, center, closePt, closePt, cp, cp, cp, cp, cp, cp, cpNum, cpNum, cpNum, cps, deg, deg, deg, dist, dist, div, div, dup, end, endCP, ep, ep, epNum, epNum, epNum, flip, flipU, isClosed, isClosed, isClosed, isRational, isRational, isRational, isValid, knot, knot, knotNum, knotNum, knotNum, knots, knots, knots, len, len, len, mid, mirror, mirror, mul, mul, mv, mv, mv, neg, num, num, num, pt, pt, ref, ref, revU, rot, rot, rot, rot, rot, rot, scale, scale, scale, scale, scale1d, scale1d, scale1d, scale1d, shear, shear, shear, shear, shearXY, shearXY, shearXY, shearXY, shearYZ, shearYZ, shearYZ, shearYZ, shearZX, shearZX, shearZX, shearZX, start, startCP, sub, sub, sub, tan, tan, transform, transform, transform, transform, translate, translate, translate, u, u, u, u, u, u, u, u, uend, uend, uend, ustart, ustart, ustart`

    - ### Methods inherited from interface igeo.ITransformable

      `add, add, rot, rot, rot2, rot2, rot2, rot2, rot2, rot2`

- - ### Method Detail

    - #### surface

          ITrimCurveI surface(ISurfaceI srf)

      set surface

    - #### surface

          ISurfaceI surface()

      get surface

    - #### get

          ITrimCurve get()

      Specified by:
        `get` in interface `ICurveI`
      Specified by:
        `get` in interface `ICurveOp`
      Specified by:
        `get` in interface `IParameter`
      Returns:
        fixed value but in wrapper class

    - #### get3d

          ICurveGeo get3d()

      get trim curve in 3d space mapped via the surface

    - #### pt2

          IVec2I pt2(double u)

      it returns uv coordinates.

    - #### pt2d

          IVec2I pt2d(double u)

      alias

    - #### pt2

          IVec2I pt2(IDoubleI u)

      it returns uv coordinates.

    - #### pt2d

          IVec2I pt2d(IDoubleI u)

      alias

    - #### start2

          IVec2I start2()

    - #### start2d

          IVec2I start2d()

      alias

    - #### end2

          IVec2I end2()

    - #### end2d

          IVec2I end2d()

      alias

    - #### startCP2

          IVec2I startCP2()

    - #### startCP2d

          IVec2I startCP2d()

      alias

    - #### endCP2

          IVec2I endCP2()

    - #### endCP2d

          IVec2I endCP2d()

      alias

    - #### rev

          ITrimCurveI rev()

      Description copied from interface: `ICurveI`
      reverse U coordintates direction of curve, without creating a new object
      Specified by:
        `rev` in interface `ICurveI`