igeo

## Class IFoldableStrip

- java.lang.Object
- - igeo.IFoldableStrip

- All Implemented Interfaces:
    IFoldable

      public class IFoldableStrip
      extends java.lang.Object
      implements IFoldable

  Class of foldable geometry.
  Author:
    Satoru Sugihara

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `java.util.ArrayList<ITransformable>` | `faces`
    `java.util.ArrayList<IVecI[]>` | `pts`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IFoldableStrip(java.util.ArrayList<IVecI[]> foldLinePts)`
    `IFoldableStrip(IVecI[][] foldLinePts)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `IFoldableStrip` | `add(IVecI v)`
    `IFoldableStrip` | `addFold(IVecI[] linePts)`
    `IFoldableStrip` | `addFold(IVecI linePt1, IVecI linePt2)`
    `IFoldableStrip` | `fold(int foldLineIndex, double angle)`
    `IVecI` | `nml(int foldLineIndex)`
    `IFoldableStrip` | `rot(IVecI axis, double angle)`
    `IFoldableStrip` | `setFold(java.util.ArrayList<IVecI[]> foldLinePts)`
    `IFoldableStrip` | `setFold(IVecI[][] foldLinePts)`
    `IFoldableStrip` | `unfold()` unfold at the location of the first face on its plane normal.
    `IFoldableStrip` | `unfold(IVecI planeNormal)` unfold at the location of the first face on the specified plane normal.
    `IFoldableStrip` | `unfold(IVecI planeNormal, IVecI stripTangent)` unfold at the location of the first face on the specified plane normal.
    `IFoldableStrip` | `unfold(IVecI planePt, IVecI planeNormal, IVecI stripTangent)` unfold at the specified point on the the specified plane normal

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

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

- - ### Field Detail

    - #### pts

          public java.util.ArrayList<IVecI[]> pts

    - #### faces

          public java.util.ArrayList<ITransformable> faces

  - ### Constructor Detail

    - #### IFoldableStrip

          public IFoldableStrip(IVecI[][] foldLinePts)

    - #### IFoldableStrip

          public IFoldableStrip(java.util.ArrayList<IVecI[]> foldLinePts)

  - ### Method Detail

    - #### setFold

          public IFoldableStrip setFold(IVecI[][] foldLinePts)

    - #### setFold

          public IFoldableStrip setFold(java.util.ArrayList<IVecI[]> foldLinePts)

    - #### addFold

          public IFoldableStrip addFold(IVecI linePt1,
                               IVecI linePt2)

    - #### addFold

          public IFoldableStrip addFold(IVecI[] linePts)

    - #### add

          public IFoldableStrip add(IVecI v)

    - #### rot

          public IFoldableStrip rot(IVecI axis,
                           double angle)

    - #### unfold

          public IFoldableStrip unfold()

      unfold at the location of the first face on its plane normal.
      Specified by:
        `unfold` in interface `IFoldable`

    - #### unfold

          public IFoldableStrip unfold(IVecI planeNormal)

      unfold at the location of the first face on the specified plane normal.
      Specified by:
        `unfold` in interface `IFoldable`

    - #### unfold

          public IFoldableStrip unfold(IVecI planeNormal,
                              IVecI stripTangent)

      unfold at the location of the first face on the specified plane normal.
      Specified by:
        `unfold` in interface `IFoldable`

    - #### unfold

          public IFoldableStrip unfold(IVecI planePt,
                              IVecI planeNormal,
                              IVecI stripTangent)

      unfold at the specified point on the the specified plane normal

    - #### fold

          public IFoldableStrip fold(int foldLineIndex,
                            double angle)

    - #### nml

          public IVecI nml(int foldLineIndex)