igeo

## Class ICurveCreator

- java.lang.Object
- - igeo.ICurveCreator

-     public class ICurveCreator
      extends java.lang.Object

  class with collection of static methods to create various type of curve.
  Author:
    Satoru Sugihara

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static IServerI` | `server` state variable of a server to store surfaces created in the methods in this class

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ICurveCreator()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static IArc` | `arc(double x, double y, double z, double startX, double startY, double startZ, double angle)`
    `static IArc` | `arc(IVecI center, IVecI startPt, double angle)`
    `static IArc` | `arc(IVecI center, IVecI startPt, IDoubleI angle)`
    `static IArc` | `arc(IVecI center, IVecI startPt, IVecI endPt, boolean flipArcSide)`
    `static IArc` | `arc(IVecI center, IVecI normal, IVecI startPt, double angle)`
    `static IArc` | `arc(IVecI center, IVecI startPt, IVecI endPt, IBoolI flipArcSide)`
    `static IArc` | `arc(IVecI center, IVecI normal, IVecI startPt, IDoubleI angle)`
    `static IArc` | `arc(IVecI center, IVecI startPt, IVecI midPt, IVecI endPt, IVecI normal)`
    `static ICircle` | `circle(double x, double y, double z, double radius)`
    `static ICircle` | `circle(double x, double y, double z, double radius, boolean approx)`
    `static ICircle` | `circle(double x, double y, double z, double xradius, double yradius)`
    `static ICircle` | `circle(double x, double y, double z, double xradius, double yradius, boolean approx)`
    `static ICircle` | `circle(IVecI center, double radius)`
    `static ICircle` | `circle(IVecI center, double radius, boolean approx)`
    `static ICircle` | `circle(IVecI center, double xradius, double yradius)`
    `static ICircle` | `circle(IVecI center, double xradius, double yradius, boolean approx)`
    `static ICircle` | `circle(IVecI center, IDoubleI radius)`
    `static ICircle` | `circle(IVecI center, IDoubleI radius, boolean approx)`
    `static ICircle` | `circle(IVecI center, IDoubleI xradius, IDoubleI yradius)`
    `static ICircle` | `circle(IVecI center, IDoubleI xradius, IDoubleI yradius, boolean approx)`
    `static ICircle` | `circle(IVecI center, IVecI normal, double radius)`
    `static ICircle` | `circle(IVecI center, IVecI normal, double radius, boolean approx)`
    `static ICircle` | `circle(IVecI center, IVecI normal, double xradius, double yradius)`
    `static ICircle` | `circle(IVecI center, IVecI normal, double xradius, double yradius, boolean approx)`
    `static ICircle` | `circle(IVecI center, IVecI normal, IDoubleI radius)`
    `static ICircle` | `circle(IVecI center, IVecI normal, IDoubleI radius, boolean approx)`
    `static ICircle` | `circle(IVecI center, IVecI normal, IDoubleI xradius, IDoubleI yradius)`
    `static ICircle` | `circle(IVecI center, IVecI normal, IDoubleI xradius, IDoubleI yradius, boolean approx)`
    `static ICircle` | `circle(IVecI center, IVecI xradiusVec, IVecI yradiusVec)`
    `static ICircle` | `circle(IVecI center, IVecI xradiusVec, IVecI yradiusVec, boolean approx)`
    `static ICircle` | `circle(IVecI center, IVecI normal, IVecI rollDir, double radius)`
    `static ICircle` | `circle(IVecI center, IVecI normal, IVecI rollDir, double radius, boolean approx)`
    `static ICircle` | `circle(IVecI center, IVecI normal, IVecI rollDir, double xradius, double yradius)`
    `static ICircle` | `circle(IVecI center, IVecI normal, IVecI rollDir, double xradius, double yradius, boolean approx)`
    `static ICircle` | `circle(IVecI center, IVecI normal, IVecI rollDir, IDoubleI radius)`
    `static ICircle` | `circle(IVecI center, IVecI normal, IVecI rollDir, IDoubleI radius, boolean approx)`
    `static ICircle` | `circle(IVecI center, IVecI normal, IVecI rollDir, IDoubleI xradius, IDoubleI yradius)`
    `static ICircle` | `circle(IVecI center, IVecI normal, IVecI rollDir, IDoubleI xradius, IDoubleI yradius, boolean approx)`
    `static ICurve` | `curve(double[][] xyzValues)`
    `static ICurve` | `curve(double[][] xyzValues, boolean close)`
    `static ICurve` | `curve(double[][] xyzValues, int degree)`
    `static ICurve` | `curve(double[][] xyzValues, int degree, boolean close)`
    `static ICurve` | `curve(double x1, double y1, double z1, double x2, double y2, double z2)`
    `static ICurve` | `curve(ICurveI crv)`
    `static ICurve` | `curve(IVecI pt)` this creates a line between a same point
    `static ICurve` | `curve(IVecI[] cpts)`
    `static ICurve` | `curve(IVecI[] cpts, boolean close)`
    `static ICurve` | `curve(IVecI[] cpts, int degree)`
    `static ICurve` | `curve(IVecI[] cpts, int degree, boolean close)`
    `static ICurve` | `curve(IVecI[] cpts, int degree, double[] knots)`
    `static ICurve` | `curve(IVecI[] cpts, int degree, double[] knots, double ustart, double uend)`
    `static ICurve` | `curve(IVecI pt1, IVecI pt2)`
    `static ICircle` | `ellipse(double x, double y, double z, double xradius, double yradius)`
    `static ICircle` | `ellipse(IVecI center, double xradius, double yradius)`
    `static ICircle` | `ellipse(IVecI center, IDoubleI xradius, IDoubleI yradius)`
    `static ICircle` | `ellipse(IVecI center, IVecI xradiusVec, IVecI yradiusVec)`
    `static ICurve` | `flatten(ICurveI curve)`
    `static ICurve` | `flatten(ICurveI curve, IVecI planeDir)`
    `static ICurve` | `flatten(ICurveI curve, IVecI planeDir, IVecI planePt)`
    `static ICurve` | `offset(ICurveI curve, double width)`
    `static ICurve` | `offset(ICurveI curve, double width, IVecI planeNormal)`
    `static ICurve` | `offset(ICurveI curve, IDoubleI width)`
    `static ICurve` | `offset(ICurveI curve, IDoubleI width, IVecI planeNormal)`
    `static ICurve` | `rect(double x, double y, double z, double xwidth, double yheight)`
    `static ICurve` | `rect(IVecI corner, double xwidth, double yheight)`
    `static ICurve` | `rect(IVecI corner, IVecI width, IVecI height)`
    `static IServerI` | `server()`
    `static void` | `server(IServerI s)` set a server to store surfaces created in the methods in this class

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

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

- - ### Field Detail

    - #### server

          public static IServerI server

      state variable of a server to store surfaces created in the methods in this class

  - ### Constructor Detail

    - #### ICurveCreator

          public ICurveCreator()

  - ### Method Detail

    - #### server

          public static void server(IServerI s)

      set a server to store surfaces created in the methods in this class

    - #### server

          public static IServerI server()

    - #### curve

          public static ICurve curve(IVecI[] cpts,
                                     int degree,
                                     double[] knots,
                                     double ustart,
                                     double uend)

    - #### curve

          public static ICurve curve(IVecI[] cpts,
                                     int degree,
                                     double[] knots)

    - #### curve

          public static ICurve curve(IVecI[] cpts,
                                     int degree)

    - #### curve

          public static ICurve curve(IVecI[] cpts)

    - #### curve

          public static ICurve curve(IVecI[] cpts,
                                     int degree,
                                     boolean close)

    - #### curve

          public static ICurve curve(IVecI[] cpts,
                                     boolean close)

    - #### curve

          public static ICurve curve(IVecI pt1,
                                     IVecI pt2)

    - #### curve

          public static ICurve curve(IVecI pt)

      this creates a line between a same point

    - #### curve

          public static ICurve curve(double x1,
                                     double y1,
                                     double z1,
                                     double x2,
                                     double y2,
                                     double z2)

    - #### curve

          public static ICurve curve(double[][] xyzValues)

    - #### curve

          public static ICurve curve(double[][] xyzValues,
                                     int degree)

    - #### curve

          public static ICurve curve(double[][] xyzValues,
                                     boolean close)

    - #### curve

          public static ICurve curve(double[][] xyzValues,
                                     int degree,
                                     boolean close)

    - #### curve

          public static ICurve curve(ICurveI crv)

    - #### rect

          public static ICurve rect(IVecI corner,
                                    double xwidth,
                                    double yheight)

    - #### rect

          public static ICurve rect(IVecI corner,
                                    IVecI width,
                                    IVecI height)

    - #### rect

          public static ICurve rect(double x,
                                    double y,
                                    double z,
                                    double xwidth,
                                    double yheight)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI normal,
                                       IDoubleI radius)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI normal,
                                       double radius)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IDoubleI radius)

    - #### circle

          public static ICircle circle(IVecI center,
                                       double radius)

    - #### circle

          public static ICircle circle(double x,
                                       double y,
                                       double z,
                                       double radius)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI normal,
                                       IDoubleI xradius,
                                       IDoubleI yradius)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI normal,
                                       double xradius,
                                       double yradius)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IDoubleI xradius,
                                       IDoubleI yradius)

    - #### circle

          public static ICircle circle(IVecI center,
                                       double xradius,
                                       double yradius)

    - #### circle

          public static ICircle circle(double x,
                                       double y,
                                       double z,
                                       double xradius,
                                       double yradius)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI normal,
                                       IVecI rollDir,
                                       double radius)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI normal,
                                       IVecI rollDir,
                                       IDoubleI radius)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI normal,
                                       IVecI rollDir,
                                       double xradius,
                                       double yradius)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI normal,
                                       IVecI rollDir,
                                       IDoubleI xradius,
                                       IDoubleI yradius)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI xradiusVec,
                                       IVecI yradiusVec)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI normal,
                                       IDoubleI radius,
                                       boolean approx)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI normal,
                                       double radius,
                                       boolean approx)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IDoubleI radius,
                                       boolean approx)

    - #### circle

          public static ICircle circle(IVecI center,
                                       double radius,
                                       boolean approx)

    - #### circle

          public static ICircle circle(double x,
                                       double y,
                                       double z,
                                       double radius,
                                       boolean approx)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI normal,
                                       double xradius,
                                       double yradius,
                                       boolean approx)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI normal,
                                       IDoubleI xradius,
                                       IDoubleI yradius,
                                       boolean approx)

    - #### circle

          public static ICircle circle(IVecI center,
                                       double xradius,
                                       double yradius,
                                       boolean approx)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IDoubleI xradius,
                                       IDoubleI yradius,
                                       boolean approx)

    - #### circle

          public static ICircle circle(double x,
                                       double y,
                                       double z,
                                       double xradius,
                                       double yradius,
                                       boolean approx)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI normal,
                                       IVecI rollDir,
                                       double radius,
                                       boolean approx)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI normal,
                                       IVecI rollDir,
                                       IDoubleI radius,
                                       boolean approx)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI normal,
                                       IVecI rollDir,
                                       double xradius,
                                       double yradius,
                                       boolean approx)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI normal,
                                       IVecI rollDir,
                                       IDoubleI xradius,
                                       IDoubleI yradius,
                                       boolean approx)

    - #### circle

          public static ICircle circle(IVecI center,
                                       IVecI xradiusVec,
                                       IVecI yradiusVec,
                                       boolean approx)

    - #### ellipse

          public static ICircle ellipse(IVecI center,
                                        IVecI xradiusVec,
                                        IVecI yradiusVec)

    - #### ellipse

          public static ICircle ellipse(IVecI center,
                                        IDoubleI xradius,
                                        IDoubleI yradius)

    - #### ellipse

          public static ICircle ellipse(IVecI center,
                                        double xradius,
                                        double yradius)

    - #### ellipse

          public static ICircle ellipse(double x,
                                        double y,
                                        double z,
                                        double xradius,
                                        double yradius)

    - #### arc

          public static IArc arc(IVecI center,
                                 IVecI normal,
                                 IVecI startPt,
                                 double angle)

    - #### arc

          public static IArc arc(IVecI center,
                                 IVecI normal,
                                 IVecI startPt,
                                 IDoubleI angle)

    - #### arc

          public static IArc arc(IVecI center,
                                 IVecI startPt,
                                 double angle)

    - #### arc

          public static IArc arc(IVecI center,
                                 IVecI startPt,
                                 IDoubleI angle)

    - #### arc

          public static IArc arc(double x,
                                 double y,
                                 double z,
                                 double startX,
                                 double startY,
                                 double startZ,
                                 double angle)

    - #### arc

          public static IArc arc(IVecI center,
                                 IVecI startPt,
                                 IVecI endPt,
                                 IBoolI flipArcSide)

    - #### arc

          public static IArc arc(IVecI center,
                                 IVecI startPt,
                                 IVecI endPt,
                                 boolean flipArcSide)

    - #### arc

          public static IArc arc(IVecI center,
                                 IVecI startPt,
                                 IVecI midPt,
                                 IVecI endPt,
                                 IVecI normal)

    - #### offset

          public static ICurve offset(ICurveI curve,
                                      double width,
                                      IVecI planeNormal)

    - #### offset

          public static ICurve offset(ICurveI curve,
                                      IDoubleI width,
                                      IVecI planeNormal)

    - #### offset

          public static ICurve offset(ICurveI curve,
                                      double width)

    - #### offset

          public static ICurve offset(ICurveI curve,
                                      IDoubleI width)

    - #### flatten

          public static ICurve flatten(ICurveI curve,
                                       IVecI planeDir,
                                       IVecI planePt)

    - #### flatten

          public static ICurve flatten(ICurveI curve,
                                       IVecI planeDir)

    - #### flatten

          public static ICurve flatten(ICurveI curve)