Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## igeo
Class ICurve

    java.lang.Object
      igeo.IObject
          igeo.ICurve

All Implemented Interfaces:
  ICurveI, ICurveOp, IParameter, ITransformable

Direct Known Subclasses:
  IArc, ICircle, IStraightenerCurve, ITensionLine, ITensionLineOnCurve

    public class ICurve

extends IObject
implements ICurveI

Class of NURBS curve object. It contains ICurveGeo instance inside.

Version:
  0.7.0.0;
Author:
  Satoru Sugihara

Field Summary
`ICurveGeo` | `curve`

Fields inherited from class igeo.IObject
`attribute, dynamics, graphics, parameter, server`

Constructor Summary
`ICurve()`
`ICurve(double[][] xyzValues)`
`ICurve(double[][] xyzValues, boolean close)`
`ICurve(double[][] xyzValues, int degree)`
`ICurve(double[][] xyzValues, int degree, boolean close)`
`ICurve(double x1, double y1, double z1, double x2, double y2, double z2)`
`ICurve(ICurve crv)`
`ICurve(ICurveGeo crv)`
`ICurve(ICurveI crv)`
`ICurve(IServerI s)`
`ICurve(IServerI s, double[][] xyzValues)`
`ICurve(IServerI s, double[][] xyzValues, boolean close)`
`ICurve(IServerI s, double[][] xyzValues, int degree)`
`ICurve(IServerI s, double[][] xyzValues, int degree, boolean close)`
`ICurve(IServerI s, double x1, double y1, double z1, double x2, double y2, double z2)`
`ICurve(IServerI s, ICurve crv)`
`ICurve(IServerI s, ICurveGeo crv)`
`ICurve(IServerI s, ICurveI crv)`
`ICurve(IServerI s, IVecI pt)` this creates a line between a same point
`ICurve(IServerI s, IVecI[] cpts)`
`ICurve(IServerI s, IVecI[] cpts, boolean close)`
`ICurve(IServerI s, IVecI[] cpts, int degree)`
`ICurve(IServerI s, IVecI[] cpts, int degree, boolean close)`
`ICurve(IServerI s, IVecI[] cpts, int degree, double[] knots)`
`ICurve(IServerI s, IVecI[] cpts, int degree, double[] knots, double ustart, double uend)`
`ICurve(IServerI s, IVecI pt1, IVecI pt2)`
`ICurve(IVecI pt)` this creates a line between a same point
`ICurve(IVecI[] cpts)`
`ICurve(IVecI[] cpts, boolean close)`
`ICurve(IVecI[] cpts, int degree)`
`ICurve(IVecI[] cpts, int degree, boolean close)`
`ICurve(IVecI[] cpts, int degree, double[] knots)`
`ICurve(IVecI[] cpts, int degree, double[] knots, double ustart, double uend)`
`ICurve(IVecI pt1, IVecI pt2)`

Method Summary
`ICurve` | `add(double x, double y, double z)` transformation methods; API of ITransformable interface
`ICurve` | `add(double f, IVecI v)` scale add alias
`ICurve` | `add(IDoubleI x, IDoubleI y, IDoubleI z)`
`ICurve` | `add(IDoubleI f, IVecI v)` scale add alias
`ICurve` | `add(IVecI v)`
`ICurve` | `add(IVecI v, double f)` scale add
`ICurve` | `add(IVecI v, IDoubleI f)` scale add
`ICurve` | `addCP(int index, IVecI pt)` add control point at i and rebuild the curve.
`ICurve` | `addCP(int index, IVecI[] pts)` add control points at i and rebuild the curve.
`ICurve` | `addCP(IVecI pt)` add control point at the end and rebuild the curve.
`ICurve` | `addCP(IVecI[] pts)` add control points at the end and rebuild the curve.
`ICurve` | `clr(java.awt.Color c)`
`ICurve` | `clr(java.awt.Color c, int alpha)` to set color, with alpha value overwritten
`ICurve` | `clr(double dgray)`
`ICurve` | `clr(double dgray, double dalpha)`
`ICurve` | `clr(double dr, double dg, double db)`
`ICurve` | `clr(double dr, double dg, double db, double da)`
`ICurve` | `clr(float fgray)`
`ICurve` | `clr(float fgray, float falpha)`
`ICurve` | `clr(float fr, float fg, float fb)`
`ICurve` | `clr(float fr, float fg, float fb, float fa)`
`ICurve` | `clr(int gray)`
`ICurve` | `clr(int gray, int alpha)`
`ICurve` | `clr(int r, int g, int b)`
`ICurve` | `clr(int r, int g, int b, int a)`
`ICurve` | `cp()` cp() is alias of dup()
`ICurve` | `cp(double x, double y, double z)` cp() is alias of dup().add()
`ICurve` | `cp(IDoubleI x, IDoubleI y, IDoubleI z)` cp() is alias of dup().add()
`IVecI` | `cp(IIntegerI i)` getting i-th control point
`IVec` | `cp(int i)` getting i-th control point
`ICurve` | `cp(IVecI v)` cp() is alias of dup().add()
`int` | `cpNum()`
`int` | `cpNum(ISwitchE e)`
`IInteger` | `cpNum(ISwitchR r)`
`IVecI[]` | `cps()` all control points
`IGraphicObject` | `createGraphic(IGraphicMode m)`
`int` | `deg()`
`int` | `deg(ISwitchE e)`
`IInteger` | `deg(ISwitchR r)`
`ICurve` | `div(double v)`
`ICurve` | `div(IDoubleI v)`
`ICurve` | `dup()` duplicate object
`IVec` | `end()` end point of the curve
`IVec` | `endCP()` end control point of the curve
`IVec` | `ep(IIntegerI i)` getting i-th edit point
`IVec` | `ep(int i)` getting i-th edit point
`int` | `epNum()`
`int` | `epNum(ISwitchE e)`
`IInteger` | `epNum(ISwitchR r)`
`ICurve` | `flip()` same with neg
`ICurveGeo` | `get()`
`ICurve` | `hide()`
`ICurve` | `hsb(double h, double s, double b)`
`ICurve` | `hsb(double h, double s, double b, double a)`
`ICurve` | `hsb(float h, float s, float b)`
`ICurve` | `hsb(float h, float s, float b, float a)`
`void` | `initCurve(IServerI s)`
`ICurve` | `insertCP(int index, IVecI pt)` alias of addCP(int,IVecI)
`ICurve` | `insertCP(int index, IVecI[] pts)` alias of addCP(int,IVecI[])
`boolean` | `isClosed()`
`boolean` | `isClosed(ISwitchE e)`
`IBool` | `isClosed(ISwitchR r)`
`boolean` | `isRational()`
`boolean` | `isRational(ISwitchE e)`
`IBool` | `isRational(ISwitchR r)`
`boolean` | `isValid()` checking parameters validity.
`IDouble` | `knot(IIntegerI i)`
`double` | `knot(int i)` close curve with the current control points.
`int` | `knotNum()`
`int` | `knotNum(ISwitchE e)`
`IInteger` | `knotNum(ISwitchR r)`
`double[]` | `knots()` all knot values
`double[]` | `knots(ISwitchE e)`
`IDoubleI[]` | `knots(ISwitchR r)`
`ICurve` | `layer(ILayer l)` Set layer by ILayer object
`double` | `len()`
`double` | `len(ISwitchE e)`
`IDouble` | `len(ISwitchR r)`
`ICurve` | `mirror(IVecI planeDir)` mirror is alias of ref
`ICurve` | `mirror(IVecI center, IVecI planeDir)`
`ICurve` | `mul(double v)`
`ICurve` | `mul(IDoubleI v)`
`ICurve` | `mv(double x, double y, double z)` mv() is alias of add()
`ICurve` | `mv(IDoubleI x, IDoubleI y, IDoubleI z)`
`ICurve` | `mv(IVecI v)`
`ICurve` | `name(java.lang.String nm)` IObject methods
`ICurve` | `neg()`
`int` | `num()` change degree.
`int` | `num(ISwitchE e)`
`IInteger` | `num(ISwitchR r)`
`IVec` | `pt(double u)`
`IVec` | `pt(IDoubleI u)`
`ICurve` | `ref(IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
`ICurve` | `ref(IVecI center, IVecI planeDir)`
`ICurve` | `removeCP()` removing control point at the end and rebuild the curve.
`ICurve` | `removeCP(int index)` removing control point at i and rebuild the curve note that a knots is rebuilt with default equal interval and destroy original knot intervals if variable, like circle.
`ICurve` | `removeCP(int indexFrom, int indexTo)` removing control point from indexFrom to indexTo-1 and rebuild the curve note that a knots is rebuilt with default equal interval and destroy original knot intervals if variable, like circle.
`ICurve` | `rev()` reverse self curve ; not creating a new object
`ICurve` | `rot(double angle)`
`ICurve` | `rot(IDoubleI angle)` rotation around z-axis and origin
`ICurve` | `rot(IVecI axis, double angle)`
`ICurve` | `rot(IVecI axis, IDoubleI angle)` rotation around axis vector
`ICurve` | `rot(IVecI axis, IVecI destDir)` rotate to destination direction vector
`ICurve` | `rot(IVecI center, IVecI axis, double angle)`
`ICurve` | `rot(IVecI center, IVecI axis, IDoubleI angle)` rotation around axis vector and center
`ICurve` | `rot(IVecI center, IVecI axis, IVecI destPt)` rotate to destination point location
`ICurve` | `rot2(double angle)` rotation on xy-plane around origin; same with rot(double)
`ICurve` | `rot2(IDoubleI angle)` rotation on xy-plane around origin; same with rot(IDoubleI)
`ICurve` | `rot2(IVecI destDir)` rotation on xy-plane to destination direction vector
`ICurve` | `rot2(IVecI center, double angle)`
`ICurve` | `rot2(IVecI center, IDoubleI angle)` rotation on xy-plane around center
`ICurve` | `rot2(IVecI center, IVecI destPt)` rotation on xy-plane to destination point location
`ICurve` | `scale(double f)`
`ICurve` | `scale(IDoubleI f)` alias of mul
`ICurve` | `scale(IVecI center, double f)`
`ICurve` | `scale(IVecI center, IDoubleI f)`
`ICurve` | `scale1d(IVecI axis, double f)` scale only in 1 direction
`ICurve` | `scale1d(IVecI axis, IDoubleI f)`
`ICurve` | `scale1d(IVecI center, IVecI axis, double f)`
`ICurve` | `scale1d(IVecI center, IVecI axis, IDoubleI f)`
`ICurve` | `setColor(java.awt.Color c)`
`ICurve` | `setColor(java.awt.Color c, int alpha)`
`ICurve` | `setColor(double dgray)`
`ICurve` | `setColor(double dgray, double dalpha)`
`ICurve` | `setColor(double dr, double dg, double db)`
`ICurve` | `setColor(double dr, double dg, double db, double da)`
`ICurve` | `setColor(float fgray)`
`ICurve` | `setColor(float fgray, float falpha)`
`ICurve` | `setColor(float fr, float fg, float fb)`
`ICurve` | `setColor(float fr, float fg, float fb, float fa)`
`ICurve` | `setColor(int gray)`
`ICurve` | `setColor(int gray, int alpha)`
`ICurve` | `setColor(int r, int g, int b)`
`ICurve` | `setColor(int r, int g, int b, int a)`
`ICurve` | `setHSBColor(double h, double s, double b)`
`ICurve` | `setHSBColor(double h, double s, double b, double a)`
`ICurve` | `setHSBColor(float h, float s, float b)`
`ICurve` | `setHSBColor(float h, float s, float b, float a)`
`ICurve` | `shear(double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
`ICurve` | `shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)`
`ICurve` | `shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)`
`ICurve` | `shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)`
`ICurve` | `shearXY(double sxy, double syx)`
`ICurve` | `shearXY(IDoubleI sxy, IDoubleI syx)`
`ICurve` | `shearXY(IVecI center, double sxy, double syx)`
`ICurve` | `shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)`
`ICurve` | `shearYZ(double syz, double szy)`
`ICurve` | `shearYZ(IDoubleI syz, IDoubleI szy)`
`ICurve` | `shearYZ(IVecI center, double syz, double szy)`
`ICurve` | `shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)`
`ICurve` | `shearZX(double szx, double sxz)`
`ICurve` | `shearZX(IDoubleI szx, IDoubleI sxz)`
`ICurve` | `shearZX(IVecI center, double szx, double sxz)`
`ICurve` | `shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)`
`ICurve` | `show()`
`IVec` | `start()` start point of the curve
`IVec` | `startCP()` start control point of the curve
`ICurve` | `sub(double x, double y, double z)`
`ICurve` | `sub(IDoubleI x, IDoubleI y, IDoubleI z)`
`ICurve` | `sub(IVecI v)`
`IVec` | `tan(double u)`
`IVec` | `tan(IDoubleI u)`
`ICurve` | `transform(IMatrix3I mat)`
`ICurve` | `transform(IMatrix4I mat)`
`ICurve` | `transform(IVecI xvec, IVecI yvec, IVecI zvec)`
`ICurve` | `transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)`
`ICurve` | `translate(double x, double y, double z)` translate is alias of add()
`ICurve` | `translate(IDoubleI x, IDoubleI y, IDoubleI z)`
`ICurve` | `translate(IVecI v)`
`IDouble` | `u(IInteger epIdx, IDouble epFraction)`
`double` | `u(int epIdx, double epFraction)`
`double` | `uend()`
`double` | `uend(ISwitchE e)`
`IDouble` | `uend(ISwitchR r)`
`double` | `ustart()`
`double` | `ustart(ISwitchE e)`
`IDouble` | `ustart(ISwitchR r)`

Methods inherited from class igeo.IObject
`addDynamics, alpha, alphaInt, attr, attr, blue, blueInt, clearDynamics, clearGraphics, clr, del, deletDynamics, deleteDynamics, deleteDynamics, deleteGraphic, dynamicsNum, getColor, getDynamics, getGraphic, getGraphic, getParameter, graphicsNum, green, greenInt, initGraphic, initObject, isVisible, layer, layer, name, red, redInt, resetGraphic, server, setParameter, syncColor, updateGraphic, visible`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### curve

    public ICurveGeo curve

Constructor Detail

### ICurve

    public ICurve()

### ICurve

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

### ICurve

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

### ICurve

    public ICurve(IVecI[] cpts,
                  int degree)

### ICurve

    public ICurve(IVecI[] cpts)

### ICurve

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

### ICurve

    public ICurve(IVecI[] cpts,
                  boolean close)

### ICurve

    public ICurve(IVecI pt1,
                  IVecI pt2)

### ICurve

    public ICurve(IVecI pt)

  this creates a line between a same point

### ICurve

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

### ICurve

    public ICurve(double[][] xyzValues)

### ICurve

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

### ICurve

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

### ICurve

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

### ICurve

    public ICurve(ICurveGeo crv)

### ICurve

    public ICurve(ICurveI crv)

### ICurve

    public ICurve(ICurve crv)

### ICurve

    public ICurve(IServerI s)

### ICurve

    public ICurve(IServerI s,
                  IVecI[] cpts,
                  int degree,
                  double[] knots,
                  double ustart,
                  double uend)

### ICurve

    public ICurve(IServerI s,
                  IVecI[] cpts,
                  int degree,
                  double[] knots)

### ICurve

    public ICurve(IServerI s,
                  IVecI[] cpts,
                  int degree)

### ICurve

    public ICurve(IServerI s,
                  IVecI[] cpts)

### ICurve

    public ICurve(IServerI s,
                  IVecI[] cpts,
                  int degree,
                  boolean close)

### ICurve

    public ICurve(IServerI s,
                  IVecI[] cpts,
                  boolean close)

### ICurve

    public ICurve(IServerI s,
                  IVecI pt1,
                  IVecI pt2)

### ICurve

    public ICurve(IServerI s,
                  IVecI pt)

  this creates a line between a same point

### ICurve

    public ICurve(IServerI s,
                  double x1,
                  double y1,
                  double z1,
                  double x2,
                  double y2,
                  double z2)

### ICurve

    public ICurve(IServerI s,
                  double[][] xyzValues)

### ICurve

    public ICurve(IServerI s,
                  double[][] xyzValues,
                  int degree)

### ICurve

    public ICurve(IServerI s,
                  double[][] xyzValues,
                  boolean close)

### ICurve

    public ICurve(IServerI s,
                  double[][] xyzValues,
                  int degree,
                  boolean close)

### ICurve

    public ICurve(IServerI s,
                  ICurveGeo crv)

### ICurve

    public ICurve(IServerI s,
                  ICurveI crv)

### ICurve

    public ICurve(IServerI s,
                  ICurve crv)

Method Detail

### initCurve

    public void initCurve(IServerI s)

### createGraphic

    public IGraphicObject createGraphic(IGraphicMode m)

  Overrides:
    `createGraphic` in class `IObject`

### isValid

    public boolean isValid()

  Description copied from class: `IObject`
  checking parameters validity. to be overriden.

  Specified by:
    `isValid` in interface `ICurveI`
  Overrides:
    `isValid` in class `IObject`

### get

    public ICurveGeo 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

### dup

    public ICurve dup()

  Description copied from class: `IObject`
  duplicate object

  Specified by:
    `dup` in interface `ICurveI`
  Specified by:
    `dup` in interface `ITransformable`
  Overrides:
    `dup` in class `IObject`
  Returns:
    duplicated instance

### pt

    public IVec pt(IDoubleI u)

  Specified by:
    `pt` in interface `ICurveI`

### pt

    public IVec pt(double u)

  Specified by:
    `pt` in interface `ICurveI`

### tan

    public IVec tan(IDoubleI u)

  Specified by:
    `tan` in interface `ICurveI`

### tan

    public IVec tan(double u)

  Specified by:
    `tan` in interface `ICurveI`

### cp

    public IVec cp(int i)

  getting i-th control point

  Specified by:
    `cp` in interface `ICurveI`

### cp

    public IVecI cp(IIntegerI i)

  getting i-th control point

  Specified by:
    `cp` in interface `ICurveI`

### cps

    public IVecI[] cps()

  Description copied from interface: `ICurveI`
  all control points

  Specified by:
    `cps` in interface `ICurveI`

### ep

    public IVec ep(int i)

  getting i-th edit point

  Specified by:
    `ep` in interface `ICurveI`

### ep

    public IVec ep(IIntegerI i)

  getting i-th edit point

  Specified by:
    `ep` in interface `ICurveI`

### start

    public IVec start()

  start point of the curve

  Specified by:
    `start` in interface `ICurveI`

### end

    public IVec end()

  end point of the curve

  Specified by:
    `end` in interface `ICurveI`

### startCP

    public IVec startCP()

  start control point of the curve

  Specified by:
    `startCP` in interface `ICurveI`

### endCP

    public IVec endCP()

  end control point of the curve

  Specified by:
    `endCP` in interface `ICurveI`

### addCP

    public ICurve addCP(IVecI pt)

  add control point at the end and rebuild the curve. note that a knots is rebuilt with default equal intervals and destroy original knot intervals if variable, like circle.

### addCP

    public ICurve addCP(int index,
                        IVecI pt)

  add control point at i and rebuild the curve. note that a knots is rebuilt with default equal intervals and destroy original knot intervals if variable, like circle.

### addCP

    public ICurve addCP(IVecI[] pts)

  add control points at the end and rebuild the curve. note that a knots is rebuilt with default equal intervals and destroy original knot intervals if variable, like circle.

### addCP

    public ICurve addCP(int index,
                        IVecI[] pts)

  add control points at i and rebuild the curve. note that a knots is rebuilt with default equal intervals and destroy original knot intervals if variable, like circle.

### insertCP

    public ICurve insertCP(int index,
                           IVecI pt)

  alias of addCP(int,IVecI)

### insertCP

    public ICurve insertCP(int index,
                           IVecI[] pts)

  alias of addCP(int,IVecI[])

### removeCP

    public ICurve removeCP()

  removing control point at the end and rebuild the curve. note that a knots is rebuilt with default equal interval and destroy original knot intervals if variable, like circle.

### removeCP

    public ICurve removeCP(int index)

  removing control point at i and rebuild the curve note that a knots is rebuilt with default equal interval and destroy original knot intervals if variable, like circle.

### removeCP

    public ICurve removeCP(int indexFrom,
                           int indexTo)

  removing control point from indexFrom to indexTo-1 and rebuild the curve note that a knots is rebuilt with default equal interval and destroy original knot intervals if variable, like circle.

### knot

    public double knot(int i)

  close curve with the current control points. it changes total number of control points and knot vector dependng on the degree. new knot vector has equal default intervals destroying original variable intervals.

  Specified by:
    `knot` in interface `ICurveI`

### knot

    public IDouble knot(IIntegerI i)

  Specified by:
    `knot` in interface `ICurveI`

### knots

    public double[] knots()

  Description copied from interface: `ICurveI`
  all knot values

  Specified by:
    `knots` in interface `ICurveI`

### knots

    public double[] knots(ISwitchE e)

  Specified by:
    `knots` in interface `ICurveI`

### knots

    public IDoubleI[] knots(ISwitchR r)

  Specified by:
    `knots` in interface `ICurveI`

### knotNum

    public int knotNum()

  Specified by:
    `knotNum` in interface `ICurveI`

### knotNum

    public int knotNum(ISwitchE e)

  Specified by:
    `knotNum` in interface `ICurveI`

### knotNum

    public IInteger knotNum(ISwitchR r)

  Specified by:
    `knotNum` in interface `ICurveI`

### isRational

    public boolean isRational()

  Specified by:
    `isRational` in interface `ICurveI`
  Returns:
    returns true if any of control point has non-default(1.0) weight otherwise false.

### isRational

    public boolean isRational(ISwitchE e)

  Specified by:
    `isRational` in interface `ICurveI`

### isRational

    public IBool isRational(ISwitchR r)

  Specified by:
    `isRational` in interface `ICurveI`

### deg

    public int deg()

  Specified by:
    `deg` in interface `ICurveI`

### deg

    public int deg(ISwitchE e)

  Specified by:
    `deg` in interface `ICurveI`

### deg

    public IInteger deg(ISwitchR r)

  Specified by:
    `deg` in interface `ICurveI`

### num

    public int num()

  Description copied from interface: `ICurveI`
  change degree. this operation is costly because it needs to rebuild the whole knots and basisFunction

  Specified by:
    `num` in interface `ICurveI`

### num

    public int num(ISwitchE e)

  Specified by:
    `num` in interface `ICurveI`

### num

    public IInteger num(ISwitchR r)

  Specified by:
    `num` in interface `ICurveI`

### cpNum

    public int cpNum()

  Specified by:
    `cpNum` in interface `ICurveI`

### cpNum

    public int cpNum(ISwitchE e)

  Specified by:
    `cpNum` in interface `ICurveI`

### cpNum

    public IInteger cpNum(ISwitchR r)

  Specified by:
    `cpNum` in interface `ICurveI`

### epNum

    public int epNum()

  Specified by:
    `epNum` in interface `ICurveI`

### epNum

    public int epNum(ISwitchE e)

  Specified by:
    `epNum` in interface `ICurveI`

### epNum

    public IInteger epNum(ISwitchR r)

  Specified by:
    `epNum` in interface `ICurveI`

### len

    public double len()

  Specified by:
    `len` in interface `ICurveI`

### len

    public double len(ISwitchE e)

  Specified by:
    `len` in interface `ICurveI`

### len

    public IDouble len(ISwitchR r)

  Specified by:
    `len` in interface `ICurveI`

### u

    public double u(int epIdx,
                    double epFraction)

  Specified by:
    `u` in interface `ICurveI`

### u

    public IDouble u(IInteger epIdx,
                     IDouble epFraction)

  Specified by:
    `u` in interface `ICurveI`

### ustart

    public double ustart()

  Specified by:
    `ustart` in interface `ICurveI`

### uend

    public double uend()

  Specified by:
    `uend` in interface `ICurveI`

### ustart

    public double ustart(ISwitchE e)

  Specified by:
    `ustart` in interface `ICurveI`

### uend

    public double uend(ISwitchE e)

  Specified by:
    `uend` in interface `ICurveI`

### ustart

    public IDouble ustart(ISwitchR r)

  Specified by:
    `ustart` in interface `ICurveI`

### uend

    public IDouble uend(ISwitchR r)

  Specified by:
    `uend` in interface `ICurveI`

### isClosed

    public boolean isClosed()

  Specified by:
    `isClosed` in interface `ICurveI`

### isClosed

    public boolean isClosed(ISwitchE e)

  Specified by:
    `isClosed` in interface `ICurveI`

### isClosed

    public IBool isClosed(ISwitchR r)

  Specified by:
    `isClosed` in interface `ICurveI`

### rev

    public ICurve rev()

  reverse self curve ; not creating a new object

  Specified by:
    `rev` in interface `ICurveI`

### add

    public ICurve add(double x,
                      double y,
                      double z)

  transformation methods; API of ITransformable interface

  Specified by:
    `add` in interface `ICurveI`
  Specified by:
    `add` in interface `ITransformable`

### add

    public ICurve add(IDoubleI x,
                      IDoubleI y,
                      IDoubleI z)

  Specified by:
    `add` in interface `ICurveI`
  Specified by:
    `add` in interface `ITransformable`

### add

    public ICurve add(IVecI v)

  Specified by:
    `add` in interface `ICurveI`
  Specified by:
    `add` in interface `ITransformable`

### sub

    public ICurve sub(double x,
                      double y,
                      double z)

  Specified by:
    `sub` in interface `ICurveI`
  Specified by:
    `sub` in interface `ITransformable`

### sub

    public ICurve sub(IDoubleI x,
                      IDoubleI y,
                      IDoubleI z)

  Specified by:
    `sub` in interface `ICurveI`
  Specified by:
    `sub` in interface `ITransformable`

### sub

    public ICurve sub(IVecI v)

  Specified by:
    `sub` in interface `ICurveI`
  Specified by:
    `sub` in interface `ITransformable`

### mul

    public ICurve mul(IDoubleI v)

  Specified by:
    `mul` in interface `ICurveI`
  Specified by:
    `mul` in interface `ITransformable`

### mul

    public ICurve mul(double v)

  Specified by:
    `mul` in interface `ICurveI`
  Specified by:
    `mul` in interface `ITransformable`

### div

    public ICurve div(IDoubleI v)

  Specified by:
    `div` in interface `ICurveI`
  Specified by:
    `div` in interface `ITransformable`

### div

    public ICurve div(double v)

  Specified by:
    `div` in interface `ICurveI`
  Specified by:
    `div` in interface `ITransformable`

### neg

    public ICurve neg()

  Specified by:
    `neg` in interface `ICurveI`
  Specified by:
    `neg` in interface `ITransformable`

### flip

    public ICurve flip()

  Description copied from interface: `ICurveI`
  same with neg

  Specified by:
    `flip` in interface `ICurveI`
  Specified by:
    `flip` in interface `ITransformable`

### add

    public ICurve add(IVecI v,
                      double f)

  scale add

  Specified by:
    `add` in interface `ICurveI`
  Specified by:
    `add` in interface `ITransformable`

### add

    public ICurve add(IVecI v,
                      IDoubleI f)

  Description copied from interface: `ITransformable`
  scale add

  Specified by:
    `add` in interface `ICurveI`
  Specified by:
    `add` in interface `ITransformable`

### add

    public ICurve add(double f,
                      IVecI v)

  scale add alias

  Specified by:
    `add` in interface `ITransformable`

### add

    public ICurve add(IDoubleI f,
                      IVecI v)

  Description copied from interface: `ITransformable`
  scale add alias

  Specified by:
    `add` in interface `ITransformable`

### rot

    public ICurve rot(IDoubleI angle)

  Description copied from interface: `ITransformable`
  rotation around z-axis and origin

  Specified by:
    `rot` in interface `ITransformable`

### rot

    public ICurve rot(double angle)

  Specified by:
    `rot` in interface `ITransformable`

### rot

    public ICurve rot(IVecI axis,
                      IDoubleI angle)

  Description copied from interface: `ITransformable`
  rotation around axis vector

  Specified by:
    `rot` in interface `ICurveI`
  Specified by:
    `rot` in interface `ITransformable`

### rot

    public ICurve rot(IVecI axis,
                      double angle)

  Specified by:
    `rot` in interface `ICurveI`
  Specified by:
    `rot` in interface `ITransformable`

### rot

    public ICurve rot(IVecI center,
                      IVecI axis,
                      IDoubleI angle)

  Description copied from interface: `ITransformable`
  rotation around axis vector and center

  Specified by:
    `rot` in interface `ICurveI`
  Specified by:
    `rot` in interface `ITransformable`

### rot

    public ICurve rot(IVecI center,
                      IVecI axis,
                      double angle)

  Specified by:
    `rot` in interface `ICurveI`
  Specified by:
    `rot` in interface `ITransformable`

### rot

    public ICurve rot(IVecI axis,
                      IVecI destDir)

  rotate to destination direction vector

  Specified by:
    `rot` in interface `ICurveI`
  Specified by:
    `rot` in interface `ITransformable`

### rot

    public ICurve rot(IVecI center,
                      IVecI axis,
                      IVecI destPt)

  rotate to destination point location

  Specified by:
    `rot` in interface `ICurveI`
  Specified by:
    `rot` in interface `ITransformable`

### rot2

    public ICurve rot2(IDoubleI angle)

  Description copied from interface: `ITransformable`
  rotation on xy-plane around origin; same with rot(IDoubleI)

  Specified by:
    `rot2` in interface `ITransformable`

### rot2

    public ICurve rot2(double angle)

  Description copied from interface: `ITransformable`
  rotation on xy-plane around origin; same with rot(double)

  Specified by:
    `rot2` in interface `ITransformable`

### rot2

    public ICurve rot2(IVecI center,
                       IDoubleI angle)

  Description copied from interface: `ITransformable`
  rotation on xy-plane around center

  Specified by:
    `rot2` in interface `ITransformable`

### rot2

    public ICurve rot2(IVecI center,
                       double angle)

  Specified by:
    `rot2` in interface `ITransformable`

### rot2

    public ICurve rot2(IVecI destDir)

  rotation on xy-plane to destination direction vector

  Specified by:
    `rot2` in interface `ITransformable`

### rot2

    public ICurve rot2(IVecI center,
                       IVecI destPt)

  rotation on xy-plane to destination point location

  Specified by:
    `rot2` in interface `ITransformable`

### scale

    public ICurve scale(IDoubleI f)

  alias of mul

  Specified by:
    `scale` in interface `ICurveI`
  Specified by:
    `scale` in interface `ITransformable`

### scale

    public ICurve scale(double f)

  Specified by:
    `scale` in interface `ICurveI`
  Specified by:
    `scale` in interface `ITransformable`

### scale

    public ICurve scale(IVecI center,
                        IDoubleI f)

  Specified by:
    `scale` in interface `ICurveI`
  Specified by:
    `scale` in interface `ITransformable`

### scale

    public ICurve scale(IVecI center,
                        double f)

  Specified by:
    `scale` in interface `ICurveI`
  Specified by:
    `scale` in interface `ITransformable`

### scale1d

    public ICurve scale1d(IVecI axis,
                          double f)

  scale only in 1 direction

  Specified by:
    `scale1d` in interface `ICurveI`
  Specified by:
    `scale1d` in interface `ITransformable`

### scale1d

    public ICurve scale1d(IVecI axis,
                          IDoubleI f)

  Specified by:
    `scale1d` in interface `ICurveI`
  Specified by:
    `scale1d` in interface `ITransformable`

### scale1d

    public ICurve scale1d(IVecI center,
                          IVecI axis,
                          double f)

  Specified by:
    `scale1d` in interface `ICurveI`
  Specified by:
    `scale1d` in interface `ITransformable`

### scale1d

    public ICurve scale1d(IVecI center,
                          IVecI axis,
                          IDoubleI f)

  Specified by:
    `scale1d` in interface `ICurveI`
  Specified by:
    `scale1d` in interface `ITransformable`

### ref

    public ICurve ref(IVecI planeDir)

  reflect(mirror) 3 dimensionally to the other side of the plane

  Specified by:
    `ref` in interface `ICurveI`
  Specified by:
    `ref` in interface `ITransformable`

### ref

    public ICurve ref(IVecI center,
                      IVecI planeDir)

  Specified by:
    `ref` in interface `ICurveI`
  Specified by:
    `ref` in interface `ITransformable`

### mirror

    public ICurve mirror(IVecI planeDir)

  mirror is alias of ref

  Specified by:
    `mirror` in interface `ICurveI`
  Specified by:
    `mirror` in interface `ITransformable`

### mirror

    public ICurve mirror(IVecI center,
                         IVecI planeDir)

  Specified by:
    `mirror` in interface `ICurveI`
  Specified by:
    `mirror` in interface `ITransformable`

### shear

    public ICurve shear(double sxy,
                        double syx,
                        double syz,
                        double szy,
                        double szx,
                        double sxz)

  shear operation

  Specified by:
    `shear` in interface `ICurveI`
  Specified by:
    `shear` in interface `ITransformable`

### shear

    public ICurve shear(IDoubleI sxy,
                        IDoubleI syx,
                        IDoubleI syz,
                        IDoubleI szy,
                        IDoubleI szx,
                        IDoubleI sxz)

  Specified by:
    `shear` in interface `ICurveI`
  Specified by:
    `shear` in interface `ITransformable`

### shear

    public ICurve shear(IVecI center,
                        double sxy,
                        double syx,
                        double syz,
                        double szy,
                        double szx,
                        double sxz)

  Specified by:
    `shear` in interface `ICurveI`
  Specified by:
    `shear` in interface `ITransformable`

### shear

    public ICurve shear(IVecI center,
                        IDoubleI sxy,
                        IDoubleI syx,
                        IDoubleI syz,
                        IDoubleI szy,
                        IDoubleI szx,
                        IDoubleI sxz)

  Specified by:
    `shear` in interface `ICurveI`
  Specified by:
    `shear` in interface `ITransformable`

### shearXY

    public ICurve shearXY(double sxy,
                          double syx)

  Specified by:
    `shearXY` in interface `ICurveI`
  Specified by:
    `shearXY` in interface `ITransformable`

### shearXY

    public ICurve shearXY(IDoubleI sxy,
                          IDoubleI syx)

  Specified by:
    `shearXY` in interface `ICurveI`
  Specified by:
    `shearXY` in interface `ITransformable`

### shearXY

    public ICurve shearXY(IVecI center,
                          double sxy,
                          double syx)

  Specified by:
    `shearXY` in interface `ICurveI`
  Specified by:
    `shearXY` in interface `ITransformable`

### shearXY

    public ICurve shearXY(IVecI center,
                          IDoubleI sxy,
                          IDoubleI syx)

  Specified by:
    `shearXY` in interface `ICurveI`
  Specified by:
    `shearXY` in interface `ITransformable`

### shearYZ

    public ICurve shearYZ(double syz,
                          double szy)

  Specified by:
    `shearYZ` in interface `ICurveI`
  Specified by:
    `shearYZ` in interface `ITransformable`

### shearYZ

    public ICurve shearYZ(IDoubleI syz,
                          IDoubleI szy)

  Specified by:
    `shearYZ` in interface `ICurveI`
  Specified by:
    `shearYZ` in interface `ITransformable`

### shearYZ

    public ICurve shearYZ(IVecI center,
                          double syz,
                          double szy)

  Specified by:
    `shearYZ` in interface `ICurveI`
  Specified by:
    `shearYZ` in interface `ITransformable`

### shearYZ

    public ICurve shearYZ(IVecI center,
                          IDoubleI syz,
                          IDoubleI szy)

  Specified by:
    `shearYZ` in interface `ICurveI`
  Specified by:
    `shearYZ` in interface `ITransformable`

### shearZX

    public ICurve shearZX(double szx,
                          double sxz)

  Specified by:
    `shearZX` in interface `ICurveI`
  Specified by:
    `shearZX` in interface `ITransformable`

### shearZX

    public ICurve shearZX(IDoubleI szx,
                          IDoubleI sxz)

  Specified by:
    `shearZX` in interface `ICurveI`
  Specified by:
    `shearZX` in interface `ITransformable`

### shearZX

    public ICurve shearZX(IVecI center,
                          double szx,
                          double sxz)

  Specified by:
    `shearZX` in interface `ICurveI`
  Specified by:
    `shearZX` in interface `ITransformable`

### shearZX

    public ICurve shearZX(IVecI center,
                          IDoubleI szx,
                          IDoubleI sxz)

  Specified by:
    `shearZX` in interface `ICurveI`
  Specified by:
    `shearZX` in interface `ITransformable`

### translate

    public ICurve translate(double x,
                            double y,
                            double z)

  translate is alias of add()

  Specified by:
    `translate` in interface `ICurveI`
  Specified by:
    `translate` in interface `ITransformable`

### translate

    public ICurve translate(IDoubleI x,
                            IDoubleI y,
                            IDoubleI z)

  Specified by:
    `translate` in interface `ICurveI`
  Specified by:
    `translate` in interface `ITransformable`

### translate

    public ICurve translate(IVecI v)

  Specified by:
    `translate` in interface `ICurveI`
  Specified by:
    `translate` in interface `ITransformable`

### mv

    public ICurve mv(double x,
                     double y,
                     double z)

  mv() is alias of add()

  Specified by:
    `mv` in interface `ITransformable`

### mv

    public ICurve mv(IDoubleI x,
                     IDoubleI y,
                     IDoubleI z)

  Specified by:
    `mv` in interface `ITransformable`

### mv

    public ICurve mv(IVecI v)

  Specified by:
    `mv` in interface `ITransformable`

### cp

    public ICurve cp()

  cp() is alias of dup()

  Specified by:
    `cp` in interface `ITransformable`
  Overrides:
    `cp` in class `IObject`

### cp

    public ICurve cp(double x,
                     double y,
                     double z)

  cp() is alias of dup().add()

  Specified by:
    `cp` in interface `ITransformable`

### cp

    public ICurve cp(IDoubleI x,
                     IDoubleI y,
                     IDoubleI z)

  cp() is alias of dup().add()

  Specified by:
    `cp` in interface `ITransformable`

### cp

    public ICurve cp(IVecI v)

  cp() is alias of dup().add()

  Specified by:
    `cp` in interface `ITransformable`

### transform

    public ICurve transform(IMatrix3I mat)

  Specified by:
    `transform` in interface `ICurveI`
  Specified by:
    `transform` in interface `ITransformable`

### transform

    public ICurve transform(IMatrix4I mat)

  Specified by:
    `transform` in interface `ICurveI`
  Specified by:
    `transform` in interface `ITransformable`

### transform

    public ICurve transform(IVecI xvec,
                            IVecI yvec,
                            IVecI zvec)

  Specified by:
    `transform` in interface `ICurveI`
  Specified by:
    `transform` in interface `ITransformable`

### transform

    public ICurve transform(IVecI xvec,
                            IVecI yvec,
                            IVecI zvec,
                            IVecI translate)

  Specified by:
    `transform` in interface `ICurveI`
  Specified by:
    `transform` in interface `ITransformable`

### name

    public ICurve name(java.lang.String nm)

  IObject methods

  Overrides:
    `name` in class `IObject`

### layer

    public ICurve layer(ILayer l)

  Description copied from class: `IObject`
  Set layer by ILayer object

  Overrides:
    `layer` in class `IObject`

### hide

    public ICurve hide()

  Overrides:
    `hide` in class `IObject`

### show

    public ICurve show()

  Overrides:
    `show` in class `IObject`

### clr

    public ICurve clr(java.awt.Color c)

  Overrides:
    `clr` in class `IObject`

### clr

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

  Description copied from class: `IObject`
  to set color, with alpha value overwritten

  Overrides:
    `clr` in class `IObject`

### clr

    public ICurve clr(int gray)

  Overrides:
    `clr` in class `IObject`

### clr

    public ICurve clr(float fgray)

  Overrides:
    `clr` in class `IObject`

### clr

    public ICurve clr(double dgray)

  Overrides:
    `clr` in class `IObject`

### clr

    public ICurve clr(int gray,
                      int alpha)

  Overrides:
    `clr` in class `IObject`

### clr

    public ICurve clr(float fgray,
                      float falpha)

  Overrides:
    `clr` in class `IObject`

### clr

    public ICurve clr(double dgray,
                      double dalpha)

  Overrides:
    `clr` in class `IObject`

### clr

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

  Overrides:
    `clr` in class `IObject`

### clr

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

  Overrides:
    `clr` in class `IObject`

### clr

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

  Overrides:
    `clr` in class `IObject`

### clr

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

  Overrides:
    `clr` in class `IObject`

### clr

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

  Overrides:
    `clr` in class `IObject`

### clr

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

  Overrides:
    `clr` in class `IObject`

### hsb

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

  Overrides:
    `hsb` in class `IObject`

### hsb

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

  Overrides:
    `hsb` in class `IObject`

### hsb

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

  Overrides:
    `hsb` in class `IObject`

### hsb

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

  Overrides:
    `hsb` in class `IObject`

### setColor

    public ICurve setColor(java.awt.Color c)

  Overrides:
    `setColor` in class `IObject`

### setColor

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

  Overrides:
    `setColor` in class `IObject`

### setColor

    public ICurve setColor(int gray)

  Overrides:
    `setColor` in class `IObject`

### setColor

    public ICurve setColor(float fgray)

  Overrides:
    `setColor` in class `IObject`

### setColor

    public ICurve setColor(double dgray)

  Overrides:
    `setColor` in class `IObject`

### setColor

    public ICurve setColor(int gray,
                           int alpha)

  Overrides:
    `setColor` in class `IObject`

### setColor

    public ICurve setColor(float fgray,
                           float falpha)

  Overrides:
    `setColor` in class `IObject`

### setColor

    public ICurve setColor(double dgray,
                           double dalpha)

  Overrides:
    `setColor` in class `IObject`

### setColor

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

  Overrides:
    `setColor` in class `IObject`

### setColor

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

  Overrides:
    `setColor` in class `IObject`

### setColor

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

  Overrides:
    `setColor` in class `IObject`

### setColor

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

  Overrides:
    `setColor` in class `IObject`

### setColor

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

  Overrides:
    `setColor` in class `IObject`

### setColor

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

  Overrides:
    `setColor` in class `IObject`

### setHSBColor

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

  Overrides:
    `setHSBColor` in class `IObject`

### setHSBColor

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

  Overrides:
    `setHSBColor` in class `IObject`

### setHSBColor

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

  Overrides:
    `setHSBColor` in class `IObject`

### setHSBColor

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

  Overrides:
    `setHSBColor` in class `IObject`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD