igeo

## Class IArc

- java.lang.Object
- - igeo.IObject
  - - igeo.IGeometry
    - - igeo.ICurve
      - - igeo.IArc

- All Implemented Interfaces:
    ICurveI, ICurveOp, IParameter, ITransformable, IVal

      public class IArc
      extends ICurve

  Arc object. It contains IArcGeo instance inside.
  Author:
    Satoru Sugihara

- - ### Field Summary

    - ### Fields inherited from class igeo.ICurve

      `curve`

    - ### Fields inherited from class igeo.IObject

      `attribute, dynamics, graphics, parameter, server, userData`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IArc()`
    `IArc(double x, double y, double z, double startX, double startY, double startZ, double angle)`
    `IArc(IServerI s, double x, double y, double z, double startX, double startY, double startZ, double angle)`
    `IArc(IServerI s, IVecI center, IVecI startPt, double angle)`
    `IArc(IServerI s, IVecI center, IVecI startPt, IDoubleI angle)`
    `IArc(IServerI s, IVecI arcStartPt, IVecI arcMidPt, IVecI arcEndPt)`
    `IArc(IServerI s, IVecI center, IVecI startPt, IVecI endPt, boolean flipArcSide)`
    `IArc(IServerI s, IVecI center, IVecI normal, IVecI startPt, double angle)`
    `IArc(IServerI s, IVecI sharedLinePt, IVecI line1Pt, IVecI line2Pt, double radius, boolean flipArcSide)`
    `IArc(IServerI s, IVecI center, IVecI startPt, IVecI endPt, IBoolI flipArcSide)`
    `IArc(IServerI s, IVecI center, IVecI normal, IVecI startPt, IDoubleI angle)`
    `IArc(IServerI s, IVecI sharedLinePt, IVecI line1Pt, IVecI line2Pt, IDoubleI radius, IBoolI flipArcSide)`
    `IArc(IServerI s, IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, double radius)`
    `IArc(IServerI s, IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, double radius, boolean flipArcSide)`
    `IArc(IServerI s, IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, IDoubleI radius)`
    `IArc(IServerI s, IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, IDoubleI radius, IBoolI flipArcSide)`
    `IArc(IServerI s, IVecI center, IVecI startPt, IVecI midPt, IVecI endPt, IVecI normal)`
    `IArc(IVecI center, IVecI startPt, double angle)`
    `IArc(IVecI center, IVecI startPt, IDoubleI angle)`
    `IArc(IVecI arcStartPt, IVecI arcMidPt, IVecI arcEndPt)`
    `IArc(IVecI center, IVecI startPt, IVecI endPt, boolean flipArcSide)`
    `IArc(IVecI center, IVecI normal, IVecI startPt, double angle)`
    `IArc(IVecI sharedLinePt, IVecI line1Pt, IVecI line2Pt, double radius, boolean flipArcSide)`
    `IArc(IVecI center, IVecI startPt, IVecI endPt, IBoolI flipArcSide)`
    `IArc(IVecI center, IVecI normal, IVecI startPt, IDoubleI angle)`
    `IArc(IVecI sharedLinePt, IVecI line1Pt, IVecI line2Pt, IDoubleI radius, IBoolI flipArcSide)`
    `IArc(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, double radius)`
    `IArc(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, double radius, boolean flipArcSide)`
    `IArc(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, IDoubleI radius)`
    `IArc(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, IDoubleI radius, IBoolI flipArcSide)`
    `IArc(IVecI center, IVecI startPt, IVecI midPt, IVecI endPt, IVecI normal)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static IVec4[]` | `arcCP(IVec center, IVec startPt, IVec endPt, boolean flipArcSide)`
    `static IVec4[]` | `arcCP(IVec center, IVec normal, IVec startPt, double angle)`
    `static IVec4[]` | `arcCP(IVec center, IVec startPt, IVec midPt, IVec endPt, IVec normal)`
    `static int` | `arcDeg()`
    `static double[]` | `arcKnots(double angle)`
    `IArc` | `attr(IAttribute at)` set attributes
    `IArc` | `clr(java.awt.Color c)`
    `IArc` | `clr(java.awt.Color c, int alpha)`
    `IArc` | `clr(double dgray)`
    `IArc` | `clr(double dgray, double dalpha)`
    `IArc` | `clr(double dr, double dg, double db)`
    `IArc` | `clr(double dr, double dg, double db, double da)`
    `IArc` | `clr(float fgray)`
    `IArc` | `clr(float fgray, float falpha)`
    `IArc` | `clr(float fr, float fg, float fb)`
    `IArc` | `clr(float fr, float fg, float fb, float fa)`
    `IArc` | `clr(IColor c)` to set an object color
    `IArc` | `clr(IColor c, double alpha)` to set color, with alpha value overwritten
    `IArc` | `clr(IColor c, float alpha)` to set color, with alpha value overwritten
    `IArc` | `clr(IColor c, int alpha)` to set color, with alpha value overwritten
    `IArc` | `clr(int gray)`
    `IArc` | `clr(int gray, int alpha)`
    `IArc` | `clr(int r, int g, int b)`
    `IArc` | `clr(int r, int g, int b, int a)`
    `IArc` | `clr(IObject o)` to set the same color with the object
    `IArc` | `hide()`
    `IArc` | `hsb(double h, double s, double b)`
    `IArc` | `hsb(double h, double s, double b, double a)`
    `IArc` | `hsb(float h, float s, float b)`
    `IArc` | `hsb(float h, float s, float b, float a)`
    `IArc` | `layer(ILayer l)` Set layer by ILayer object
    `IArc` | `layer(java.lang.String l)` Set layer by layer name.
    `IArc` | `name(java.lang.String nm)` IObject methods
    `IArc` | `setColor(java.awt.Color c)`
    `IArc` | `setColor(java.awt.Color c, int alpha)`
    `IArc` | `setColor(double dgray)`
    `IArc` | `setColor(double dgray, double dalpha)`
    `IArc` | `setColor(double dr, double dg, double db)`
    `IArc` | `setColor(double dr, double dg, double db, double da)`
    `IArc` | `setColor(float fgray)`
    `IArc` | `setColor(float fgray, float falpha)`
    `IArc` | `setColor(float fr, float fg, float fb)`
    `IArc` | `setColor(float fr, float fg, float fb, float fa)`
    `IArc` | `setColor(int gray)`
    `IArc` | `setColor(int gray, int alpha)`
    `IArc` | `setColor(int r, int g, int b)`
    `IArc` | `setColor(int r, int g, int b, int a)`
    `IArc` | `setHSBColor(double h, double s, double b)`
    `IArc` | `setHSBColor(double h, double s, double b, double a)`
    `IArc` | `setHSBColor(float h, float s, float b)`
    `IArc` | `setHSBColor(float h, float s, float b, float a)`
    `IArc` | `show()`
    `IArc` | `weight(double w)`
    `IArc` | `weight(float w)`

    - ### Methods inherited from class igeo.ICurve

      `add, add, add, add, add, add, add, addCP, addCP, addCP, addCP, addCP, addCP, addCP, addCP, center, closePt, closePt, clr, clr, cp, cp, cp, cp, cp, cp, cpNum, cpNum, cpNum, cps, createGraphic, deg, deg, deg, dist, dist, div, div, dup, end, endCP, ep, ep, epNum, epNum, epNum, flip, flipU, get, initCurve, insertCP, insertCP, intersectPlane, intersectPlane, isClosed, isClosed, isClosed, isInside2d, isInside2d, 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, removeCP, removeCP, removeCP, rev, revU, rot, rot, rot, rot, rot, rot, rot, rot, rot2, rot2, rot2, rot2, rot2, rot2, scale, scale, scale, scale, scale1d, scale1d, scale1d, scale1d, setColor, setColor, setColor, setColor, setColor, setColor, 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 class igeo.IObject

      `addDynamics, addUserData, addUserData, alpha, alphaInt, attr, attr, awtColor, blue, blueInt, brightness, castStringHashMap, clearDynamics, clearGraphics, clr, defaultAttribute, del, deletDynamics, deleteDynamics, deleteDynamics, deleteGraphic, dynamicsNum, getAWTColor, getColor, getDynamics, getGraphic, getGraphic, getParameter, graphicsNum, gray, grayInt, green, greenInt, grey, greyInt, hue, initGraphic, initObject, isVisible, layer, name, red, redInt, resetGraphic, saturation, server, setParameter, setTexture, syncColor, syncGraphic, syncVisibility, syncWeight, texture, updateGraphic, userData, userData, userData, userDataNum, visible, weight`

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

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

- - ### Constructor Detail

    - #### IArc

          public IArc()

    - #### IArc

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

    - #### IArc

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

    - #### IArc

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

    - #### IArc

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

    - #### IArc

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

    - #### IArc

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

    - #### IArc

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

    - #### IArc

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

    - #### IArc

          public IArc(IVecI line1Pt1,
                      IVecI line1Pt2,
                      IVecI line2Pt1,
                      IVecI line2Pt2,
                      IDoubleI radius,
                      IBoolI flipArcSide)

    - #### IArc

          public IArc(IVecI line1Pt1,
                      IVecI line1Pt2,
                      IVecI line2Pt1,
                      IVecI line2Pt2,
                      double radius,
                      boolean flipArcSide)

    - #### IArc

          public IArc(IVecI line1Pt1,
                      IVecI line1Pt2,
                      IVecI line2Pt1,
                      IVecI line2Pt2,
                      IDoubleI radius)

    - #### IArc

          public IArc(IVecI line1Pt1,
                      IVecI line1Pt2,
                      IVecI line2Pt1,
                      IVecI line2Pt2,
                      double radius)

    - #### IArc

          public IArc(IVecI sharedLinePt,
                      IVecI line1Pt,
                      IVecI line2Pt,
                      IDoubleI radius,
                      IBoolI flipArcSide)

    - #### IArc

          public IArc(IVecI sharedLinePt,
                      IVecI line1Pt,
                      IVecI line2Pt,
                      double radius,
                      boolean flipArcSide)

    - #### IArc

          public IArc(IVecI arcStartPt,
                      IVecI arcMidPt,
                      IVecI arcEndPt)

    - #### IArc

          public IArc(IServerI s,
                      IVecI center,
                      IVecI normal,
                      IVecI startPt,
                      double angle)

    - #### IArc

          public IArc(IServerI s,
                      IVecI center,
                      IVecI normal,
                      IVecI startPt,
                      IDoubleI angle)

    - #### IArc

          public IArc(IServerI s,
                      IVecI center,
                      IVecI startPt,
                      double angle)

    - #### IArc

          public IArc(IServerI s,
                      IVecI center,
                      IVecI startPt,
                      IDoubleI angle)

    - #### IArc

          public IArc(IServerI s,
                      double x,
                      double y,
                      double z,
                      double startX,
                      double startY,
                      double startZ,
                      double angle)

    - #### IArc

          public IArc(IServerI s,
                      IVecI center,
                      IVecI startPt,
                      IVecI endPt,
                      IBoolI flipArcSide)

    - #### IArc

          public IArc(IServerI s,
                      IVecI center,
                      IVecI startPt,
                      IVecI endPt,
                      boolean flipArcSide)

    - #### IArc

          public IArc(IServerI s,
                      IVecI center,
                      IVecI startPt,
                      IVecI midPt,
                      IVecI endPt,
                      IVecI normal)

    - #### IArc

          public IArc(IServerI s,
                      IVecI line1Pt1,
                      IVecI line1Pt2,
                      IVecI line2Pt1,
                      IVecI line2Pt2,
                      IDoubleI radius,
                      IBoolI flipArcSide)

    - #### IArc

          public IArc(IServerI s,
                      IVecI line1Pt1,
                      IVecI line1Pt2,
                      IVecI line2Pt1,
                      IVecI line2Pt2,
                      double radius,
                      boolean flipArcSide)

    - #### IArc

          public IArc(IServerI s,
                      IVecI line1Pt1,
                      IVecI line1Pt2,
                      IVecI line2Pt1,
                      IVecI line2Pt2,
                      IDoubleI radius)

    - #### IArc

          public IArc(IServerI s,
                      IVecI line1Pt1,
                      IVecI line1Pt2,
                      IVecI line2Pt1,
                      IVecI line2Pt2,
                      double radius)

    - #### IArc

          public IArc(IServerI s,
                      IVecI sharedLinePt,
                      IVecI line1Pt,
                      IVecI line2Pt,
                      IDoubleI radius,
                      IBoolI flipArcSide)

    - #### IArc

          public IArc(IServerI s,
                      IVecI sharedLinePt,
                      IVecI line1Pt,
                      IVecI line2Pt,
                      double radius,
                      boolean flipArcSide)

    - #### IArc

          public IArc(IServerI s,
                      IVecI arcStartPt,
                      IVecI arcMidPt,
                      IVecI arcEndPt)

  - ### Method Detail

    - #### arcDeg

          public static int arcDeg()

    - #### arcCP

          public static IVec4[] arcCP(IVec center,
                                      IVec normal,
                                      IVec startPt,
                                      double angle)

    - #### arcCP

          public static IVec4[] arcCP(IVec center,
                                      IVec startPt,
                                      IVec endPt,
                                      boolean flipArcSide)

    - #### arcCP

          public static IVec4[] arcCP(IVec center,
                                      IVec startPt,
                                      IVec midPt,
                                      IVec endPt,
                                      IVec normal)

    - #### arcKnots

          public static double[] arcKnots(double angle)

    - #### name

          public IArc name(java.lang.String nm)

      IObject methods
      Overrides:
        `name` in class `ICurve`

    - #### layer

          public IArc layer(ILayer l)

      Description copied from class: `IGeometry`
      Set layer by ILayer object
      Overrides:
        `layer` in class `ICurve`

    - #### layer

          public IArc layer(java.lang.String l)

      Description copied from class: `IGeometry`
      Set layer by layer name. If the layer specified by the name is not existing in the server, a new layer is automatically created in the server
      Overrides:
        `layer` in class `ICurve`

    - #### attr

          public IArc attr(IAttribute at)

      Description copied from class: `IObject`
      set attributes
      Overrides:
        `attr` in class `ICurve`

    - #### hide

          public IArc hide()

      Overrides:
        `hide` in class `ICurve`

    - #### show

          public IArc show()

      Overrides:
        `show` in class `ICurve`

    - #### clr

          public IArc clr(IColor c)

      Description copied from class: `IObject`
      to set an object color
      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(IColor c,
                          int alpha)

      Description copied from class: `IObject`
      to set color, with alpha value overwritten
      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(IColor c,
                          float alpha)

      Description copied from class: `IObject`
      to set color, with alpha value overwritten
      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(IColor c,
                          double alpha)

      Description copied from class: `IObject`
      to set color, with alpha value overwritten
      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(IObject o)

      Description copied from class: `IObject`
      to set the same color with the object
      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(java.awt.Color c)

      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(java.awt.Color c,
                          int alpha)

      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(int gray)

      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(float fgray)

      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(double dgray)

      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(int gray,
                          int alpha)

      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(float fgray,
                          float falpha)

      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(double dgray,
                          double dalpha)

      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(int r,
                          int g,
                          int b)

      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(float fr,
                          float fg,
                          float fb)

      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(double dr,
                          double dg,
                          double db)

      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(int r,
                          int g,
                          int b,
                          int a)

      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(float fr,
                          float fg,
                          float fb,
                          float fa)

      Overrides:
        `clr` in class `ICurve`

    - #### clr

          public IArc clr(double dr,
                          double dg,
                          double db,
                          double da)

      Overrides:
        `clr` in class `ICurve`

    - #### hsb

          public IArc hsb(float h,
                          float s,
                          float b,
                          float a)

      Overrides:
        `hsb` in class `ICurve`

    - #### hsb

          public IArc hsb(double h,
                          double s,
                          double b,
                          double a)

      Overrides:
        `hsb` in class `ICurve`

    - #### hsb

          public IArc hsb(float h,
                          float s,
                          float b)

      Overrides:
        `hsb` in class `ICurve`

    - #### hsb

          public IArc hsb(double h,
                          double s,
                          double b)

      Overrides:
        `hsb` in class `ICurve`

    - #### setColor

          public IArc setColor(java.awt.Color c)

      Overrides:
        `setColor` in class `ICurve`

    - #### setColor

          public IArc setColor(java.awt.Color c,
                               int alpha)

      Overrides:
        `setColor` in class `ICurve`

    - #### setColor

          public IArc setColor(int gray)

      Overrides:
        `setColor` in class `ICurve`

    - #### setColor

          public IArc setColor(float fgray)

      Overrides:
        `setColor` in class `ICurve`

    - #### setColor

          public IArc setColor(double dgray)

      Overrides:
        `setColor` in class `ICurve`

    - #### setColor

          public IArc setColor(int gray,
                               int alpha)

      Overrides:
        `setColor` in class `ICurve`

    - #### setColor

          public IArc setColor(float fgray,
                               float falpha)

      Overrides:
        `setColor` in class `ICurve`

    - #### setColor

          public IArc setColor(double dgray,
                               double dalpha)

      Overrides:
        `setColor` in class `ICurve`

    - #### setColor

          public IArc setColor(int r,
                               int g,
                               int b)

      Overrides:
        `setColor` in class `ICurve`

    - #### setColor

          public IArc setColor(float fr,
                               float fg,
                               float fb)

      Overrides:
        `setColor` in class `ICurve`

    - #### setColor

          public IArc setColor(double dr,
                               double dg,
                               double db)

      Overrides:
        `setColor` in class `ICurve`

    - #### setColor

          public IArc setColor(int r,
                               int g,
                               int b,
                               int a)

      Overrides:
        `setColor` in class `ICurve`

    - #### setColor

          public IArc setColor(float fr,
                               float fg,
                               float fb,
                               float fa)

      Overrides:
        `setColor` in class `ICurve`

    - #### setColor

          public IArc setColor(double dr,
                               double dg,
                               double db,
                               double da)

      Overrides:
        `setColor` in class `ICurve`

    - #### setHSBColor

          public IArc setHSBColor(float h,
                                  float s,
                                  float b,
                                  float a)

      Overrides:
        `setHSBColor` in class `ICurve`

    - #### setHSBColor

          public IArc setHSBColor(double h,
                                  double s,
                                  double b,
                                  double a)

      Overrides:
        `setHSBColor` in class `ICurve`

    - #### setHSBColor

          public IArc setHSBColor(float h,
                                  float s,
                                  float b)

      Overrides:
        `setHSBColor` in class `ICurve`

    - #### setHSBColor

          public IArc setHSBColor(double h,
                                  double s,
                                  double b)

      Overrides:
        `setHSBColor` in class `ICurve`

    - #### weight

          public IArc weight(double w)

      Overrides:
        `weight` in class `ICurve`

    - #### weight

          public IArc weight(float w)

      Overrides:
        `weight` in class `ICurve`