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

## igeo
Interface ICurveI

All Superinterfaces:
  ICurveOp, IParameter, ITransformable

All Known Subinterfaces:
  ITrimCurveI

All Known Implementing Classes:
  IArc, IArcGeo, ICircle, ICircleGeo, ICurve, ICurveGeo, ICurveR, IPolycurveGeo, IStraightenerCurve, ITensionLine, ITensionLineOnCurve, ITrimCurve

    public interface ICurveI

extends ICurveOp, ITransformable

Abstract interface of NURBS curve.

Version:
  0.7.0.0;
Author:
  Satoru Sugihara

Method Summary
`ICurveI` | `add(double x, double y, double z)` transformation: API of ITransformable inteface
`ICurveI` | `add(IDoubleI x, IDoubleI y, IDoubleI z)`
`ICurveI` | `add(IVecI v)`
`ICurveI` | `add(IVecI v, double f)` scale add
`ICurveI` | `add(IVecI v, IDoubleI f)` scale add
`IVecI` | `cp(IIntegerI i)`
`IVecI` | `cp(int i)`
`int` | `cpNum()`
`int` | `cpNum(ISwitchE e)`
`IIntegerI` | `cpNum(ISwitchR r)`
`IVecI[]` | `cps()` all control points
`int` | `deg()`
`int` | `deg(ISwitchE e)`
`IIntegerI` | `deg(ISwitchR r)`
`ICurveI` | `div(double v)`
`ICurveI` | `div(IDoubleI v)`
`ICurveI` | `dup()` duplicate the instance
`IVecI` | `end()`
`IVecI` | `endCP()`
`IVecI` | `ep(IIntegerI i)`
`IVecI` | `ep(int i)`
`int` | `epNum()`
`int` | `epNum(ISwitchE e)`
`IIntegerI` | `epNum(ISwitchR r)`
`ICurveI` | `flip()` same with neg
`ICurveGeo` | `get()`
`boolean` | `isClosed()`
`boolean` | `isClosed(ISwitchE e)`
`IBoolI` | `isClosed(ISwitchR r)`
`boolean` | `isRational()`
`boolean` | `isRational(ISwitchE e)`
`IBoolI` | `isRational(ISwitchR r)`
`boolean` | `isValid()`
`IDoubleI` | `knot(IIntegerI i)`
`double` | `knot(int i)`
`int` | `knotNum()`
`int` | `knotNum(ISwitchE e)`
`IIntegerI` | `knotNum(ISwitchR r)`
`double[]` | `knots()` all knot values
`double[]` | `knots(ISwitchE e)`
`IDoubleI[]` | `knots(ISwitchR r)`
`double` | `len()`
`double` | `len(ISwitchE e)`
`IDouble` | `len(ISwitchR r)`
`ICurveI` | `mirror(IVecI planeDir)` mirror is alias of ref
`ICurveI` | `mirror(IVecI center, IVecI planeDir)`
`ICurveI` | `mul(double v)`
`ICurveI` | `mul(IDoubleI v)`
`ICurveI` | `neg()`
`int` | `num()`
`int` | `num(ISwitchE e)`
`IIntegerI` | `num(ISwitchR r)`
`IVecI` | `pt(double u)`
`IVecI` | `pt(IDoubleI u)`
`ICurveI` | `ref(IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
`ICurveI` | `ref(IVecI center, IVecI planeDir)`
`ICurveI` | `rev()` reverse self curve ; not creating a new object
`ICurveI` | `rot(IVecI axis, double angle)`
`ICurveI` | `rot(IVecI axis, IDoubleI angle)` rotation around axis vector
`ICurveI` | `rot(IVecI axis, IVecI destDir)` rotate to destination direction vector
`ICurveI` | `rot(IVecI center, IVecI axis, double angle)`
`ICurveI` | `rot(IVecI center, IVecI axis, IDoubleI angle)` rotation around axis vector and center
`ICurveI` | `rot(IVecI center, IVecI axis, IVecI destPt)` rotate to destination point location
`ICurveI` | `scale(double f)`
`ICurveI` | `scale(IDoubleI f)` alias of mul
`ICurveI` | `scale(IVecI center, double f)`
`ICurveI` | `scale(IVecI center, IDoubleI f)`
`ICurveI` | `scale1d(IVecI axis, double f)` scale only in 1 direction
`ICurveI` | `scale1d(IVecI axis, IDoubleI f)`
`ICurveI` | `scale1d(IVecI center, IVecI axis, double f)`
`ICurveI` | `scale1d(IVecI center, IVecI axis, IDoubleI f)`
`ICurveI` | `shear(double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
`ICurveI` | `shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)`
`ICurveI` | `shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)`
`ICurveI` | `shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)`
`ICurveI` | `shearXY(double sxy, double syx)`
`ICurveI` | `shearXY(IDoubleI sxy, IDoubleI syx)`
`ICurveI` | `shearXY(IVecI center, double sxy, double syx)`
`ICurveI` | `shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)`
`ICurveI` | `shearYZ(double syz, double szy)`
`ICurveI` | `shearYZ(IDoubleI syz, IDoubleI szy)`
`ICurveI` | `shearYZ(IVecI center, double syz, double szy)`
`ICurveI` | `shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)`
`ICurveI` | `shearZX(double szx, double sxz)`
`ICurveI` | `shearZX(IDoubleI szx, IDoubleI sxz)`
`ICurveI` | `shearZX(IVecI center, double szx, double sxz)`
`ICurveI` | `shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)`
`IVecI` | `start()`
`IVecI` | `startCP()`
`ICurveI` | `sub(double x, double y, double z)`
`ICurveI` | `sub(IDoubleI x, IDoubleI y, IDoubleI z)`
`ICurveI` | `sub(IVecI v)`
`IVecI` | `tan(double u)`
`IVecI` | `tan(IDoubleI u)`
`ICurveI` | `transform(IMatrix3I mat)`
`ICurveI` | `transform(IMatrix4I mat)`
`ICurveI` | `transform(IVecI xvec, IVecI yvec, IVecI zvec)`
`ICurveI` | `transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)`
`ICurveI` | `translate(double x, double y, double z)` translate is alias of add()
`ICurveI` | `translate(IDoubleI x, IDoubleI y, IDoubleI z)`
`ICurveI` | `translate(IVecI v)`
`IDoubleI` | `u(IInteger epIdx, IDouble epFraction)`
`double` | `u(int epIdx, double epFraction)`
`double` | `uend()`
`double` | `uend(ISwitchE e)`
`IDoubleI` | `uend(ISwitchR r)`
`double` | `ustart()`
`double` | `ustart(ISwitchE e)`
`IDoubleI` | `ustart(ISwitchR r)`

Methods inherited from interface igeo.ITransformable
`add, add, cp, cp, cp, cp, mv, mv, mv, rot, rot, rot2, rot2, rot2, rot2, rot2, rot2`

Method Detail

### get

    ICurveGeo get()

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

### dup

    ICurveI dup()

  Description copied from interface: `ITransformable`
  duplicate the instance

  Specified by:
    `dup` in interface `ITransformable`
  Returns:
    duplicated instance

### isValid

    boolean isValid()

### pt

    IVecI pt(double u)

### pt

    IVecI pt(IDoubleI u)

### tan

    IVecI tan(double u)

### tan

    IVecI tan(IDoubleI u)

### cp

    IVecI cp(int i)

### cp

    IVecI cp(IIntegerI i)

### ep

    IVecI ep(int i)

### ep

    IVecI ep(IIntegerI i)

### cps

    IVecI[] cps()

  all control points

### knot

    double knot(int i)

### knot

    IDoubleI knot(IIntegerI i)

### knots

    double[] knots()

  all knot values

### knots

    double[] knots(ISwitchE e)

### knots

    IDoubleI[] knots(ISwitchR r)

### knotNum

    int knotNum()

### knotNum

    int knotNum(ISwitchE e)

### knotNum

    IIntegerI knotNum(ISwitchR r)

### isRational

    boolean isRational()

  Returns:
    returns true if any of control point has non-default(1.0) weight otherwise false.

### isRational

    boolean isRational(ISwitchE e)

### isRational

    IBoolI isRational(ISwitchR r)

### deg

    int deg()

### deg

    int deg(ISwitchE e)

### deg

    IIntegerI deg(ISwitchR r)

### num

    int num()

### num

    int num(ISwitchE e)

### num

    IIntegerI num(ISwitchR r)

### cpNum

    int cpNum()

### cpNum

    int cpNum(ISwitchE e)

### cpNum

    IIntegerI cpNum(ISwitchR r)

### start

    IVecI start()

### end

    IVecI end()

### startCP

    IVecI startCP()

### endCP

    IVecI endCP()

### epNum

    int epNum()

### epNum

    int epNum(ISwitchE e)

### epNum

    IIntegerI epNum(ISwitchR r)

### len

    double len()

### len

    double len(ISwitchE e)

### len

    IDouble len(ISwitchR r)

### u

    double u(int epIdx,
             double epFraction)

### u

    IDoubleI u(IInteger epIdx,
               IDouble epFraction)

### ustart

    double ustart()

### uend

    double uend()

### ustart

    double ustart(ISwitchE e)

### uend

    double uend(ISwitchE e)

### ustart

    IDoubleI ustart(ISwitchR r)

### uend

    IDoubleI uend(ISwitchR r)

### isClosed

    boolean isClosed()

### isClosed

    boolean isClosed(ISwitchE e)

### isClosed

    IBoolI isClosed(ISwitchR r)

### rev

    ICurveI rev()

  reverse self curve ; not creating a new object

### add

    ICurveI add(double x,
                double y,
                double z)

  transformation: API of ITransformable inteface

  Specified by:
    `add` in interface `ITransformable`

### add

    ICurveI add(IDoubleI x,
                IDoubleI y,
                IDoubleI z)

  Specified by:
    `add` in interface `ITransformable`

### add

    ICurveI add(IVecI v)

  Specified by:
    `add` in interface `ITransformable`

### sub

    ICurveI sub(double x,
                double y,
                double z)

  Specified by:
    `sub` in interface `ITransformable`

### sub

    ICurveI sub(IDoubleI x,
                IDoubleI y,
                IDoubleI z)

  Specified by:
    `sub` in interface `ITransformable`

### sub

    ICurveI sub(IVecI v)

  Specified by:
    `sub` in interface `ITransformable`

### mul

    ICurveI mul(IDoubleI v)

  Specified by:
    `mul` in interface `ITransformable`

### mul

    ICurveI mul(double v)

  Specified by:
    `mul` in interface `ITransformable`

### div

    ICurveI div(IDoubleI v)

  Specified by:
    `div` in interface `ITransformable`

### div

    ICurveI div(double v)

  Specified by:
    `div` in interface `ITransformable`

### neg

    ICurveI neg()

  Specified by:
    `neg` in interface `ITransformable`

### flip

    ICurveI flip()

  same with neg

  Specified by:
    `flip` in interface `ITransformable`

### add

    ICurveI add(IVecI v,
                double f)

  scale add

  Specified by:
    `add` in interface `ITransformable`

### add

    ICurveI add(IVecI v,
                IDoubleI f)

  Description copied from interface: `ITransformable`
  scale add

  Specified by:
    `add` in interface `ITransformable`

### rot

    ICurveI rot(IVecI axis,
                IDoubleI angle)

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

  Specified by:
    `rot` in interface `ITransformable`

### rot

    ICurveI rot(IVecI axis,
                double angle)

  Specified by:
    `rot` in interface `ITransformable`

### rot

    ICurveI rot(IVecI center,
                IVecI axis,
                IDoubleI angle)

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

  Specified by:
    `rot` in interface `ITransformable`

### rot

    ICurveI rot(IVecI center,
                IVecI axis,
                double angle)

  Specified by:
    `rot` in interface `ITransformable`

### rot

    ICurveI rot(IVecI axis,
                IVecI destDir)

  rotate to destination direction vector

  Specified by:
    `rot` in interface `ITransformable`

### rot

    ICurveI rot(IVecI center,
                IVecI axis,
                IVecI destPt)

  rotate to destination point location

  Specified by:
    `rot` in interface `ITransformable`

### scale

    ICurveI scale(IDoubleI f)

  alias of mul

  Specified by:
    `scale` in interface `ITransformable`

### scale

    ICurveI scale(double f)

  Specified by:
    `scale` in interface `ITransformable`

### scale

    ICurveI scale(IVecI center,
                  IDoubleI f)

  Specified by:
    `scale` in interface `ITransformable`

### scale

    ICurveI scale(IVecI center,
                  double f)

  Specified by:
    `scale` in interface `ITransformable`

### scale1d

    ICurveI scale1d(IVecI axis,
                    double f)

  scale only in 1 direction

  Specified by:
    `scale1d` in interface `ITransformable`

### scale1d

    ICurveI scale1d(IVecI axis,
                    IDoubleI f)

  Specified by:
    `scale1d` in interface `ITransformable`

### scale1d

    ICurveI scale1d(IVecI center,
                    IVecI axis,
                    double f)

  Specified by:
    `scale1d` in interface `ITransformable`

### scale1d

    ICurveI scale1d(IVecI center,
                    IVecI axis,
                    IDoubleI f)

  Specified by:
    `scale1d` in interface `ITransformable`

### ref

    ICurveI ref(IVecI planeDir)

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

  Specified by:
    `ref` in interface `ITransformable`

### ref

    ICurveI ref(IVecI center,
                IVecI planeDir)

  Specified by:
    `ref` in interface `ITransformable`

### mirror

    ICurveI mirror(IVecI planeDir)

  mirror is alias of ref

  Specified by:
    `mirror` in interface `ITransformable`

### mirror

    ICurveI mirror(IVecI center,
                   IVecI planeDir)

  Specified by:
    `mirror` in interface `ITransformable`

### shear

    ICurveI shear(double sxy,
                  double syx,
                  double syz,
                  double szy,
                  double szx,
                  double sxz)

  shear operation

  Specified by:
    `shear` in interface `ITransformable`

### shear

    ICurveI shear(IDoubleI sxy,
                  IDoubleI syx,
                  IDoubleI syz,
                  IDoubleI szy,
                  IDoubleI szx,
                  IDoubleI sxz)

  Specified by:
    `shear` in interface `ITransformable`

### shear

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

  Specified by:
    `shear` in interface `ITransformable`

### shear

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

  Specified by:
    `shear` in interface `ITransformable`

### shearXY

    ICurveI shearXY(double sxy,
                    double syx)

  Specified by:
    `shearXY` in interface `ITransformable`

### shearXY

    ICurveI shearXY(IDoubleI sxy,
                    IDoubleI syx)

  Specified by:
    `shearXY` in interface `ITransformable`

### shearXY

    ICurveI shearXY(IVecI center,
                    double sxy,
                    double syx)

  Specified by:
    `shearXY` in interface `ITransformable`

### shearXY

    ICurveI shearXY(IVecI center,
                    IDoubleI sxy,
                    IDoubleI syx)

  Specified by:
    `shearXY` in interface `ITransformable`

### shearYZ

    ICurveI shearYZ(double syz,
                    double szy)

  Specified by:
    `shearYZ` in interface `ITransformable`

### shearYZ

    ICurveI shearYZ(IDoubleI syz,
                    IDoubleI szy)

  Specified by:
    `shearYZ` in interface `ITransformable`

### shearYZ

    ICurveI shearYZ(IVecI center,
                    double syz,
                    double szy)

  Specified by:
    `shearYZ` in interface `ITransformable`

### shearYZ

    ICurveI shearYZ(IVecI center,
                    IDoubleI syz,
                    IDoubleI szy)

  Specified by:
    `shearYZ` in interface `ITransformable`

### shearZX

    ICurveI shearZX(double szx,
                    double sxz)

  Specified by:
    `shearZX` in interface `ITransformable`

### shearZX

    ICurveI shearZX(IDoubleI szx,
                    IDoubleI sxz)

  Specified by:
    `shearZX` in interface `ITransformable`

### shearZX

    ICurveI shearZX(IVecI center,
                    double szx,
                    double sxz)

  Specified by:
    `shearZX` in interface `ITransformable`

### shearZX

    ICurveI shearZX(IVecI center,
                    IDoubleI szx,
                    IDoubleI sxz)

  Specified by:
    `shearZX` in interface `ITransformable`

### translate

    ICurveI translate(double x,
                      double y,
                      double z)

  translate is alias of add()

  Specified by:
    `translate` in interface `ITransformable`

### translate

    ICurveI translate(IDoubleI x,
                      IDoubleI y,
                      IDoubleI z)

  Specified by:
    `translate` in interface `ITransformable`

### translate

    ICurveI translate(IVecI v)

  Specified by:
    `translate` in interface `ITransformable`

### transform

    ICurveI transform(IMatrix3I mat)

  Specified by:
    `transform` in interface `ITransformable`

### transform

    ICurveI transform(IMatrix4I mat)

  Specified by:
    `transform` in interface `ITransformable`

### transform

    ICurveI transform(IVecI xvec,
                      IVecI yvec,
                      IVecI zvec)

  Specified by:
    `transform` in interface `ITransformable`

### transform

    ICurveI transform(IVecI xvec,
                      IVecI yvec,
                      IVecI zvec,
                      IVecI translate)

  Specified by:
    `transform` in interface `ITransformable`

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