igeo
Class ICurveGeo

java.lang.Object
  extended by igeo.IParameterObject
      extended by igeo.INurbsGeo
          extended by igeo.ICurveGeo
All Implemented Interfaces:
ICurveI, ICurveOp, IEntityParameter, IParameter, ISubobject, ITransformable
Direct Known Subclasses:
IArcGeo, ICircleGeo, ITrimCurve

public class ICurveGeo
extends INurbsGeo
implements ICurveI, IEntityParameter

Geometry of NURBS curve.

Version:
0.7.0.0;
Author:
Satoru Sugihara

Field Summary
 IBSplineBasisFunction basisFunction
          bernstein basis function
 IVecI[] controlPoints
          control points
 boolean[] defaultWeights
          flag to determine to use default weight value (1.0)
 int degree
          degree of NURBS curve
 IBSplineBasisFunction derivativeFunction
          derivative of bernstein basis function
 double[] knots
          normalized knot vector (start value in knot vector is 0, end value is 1)
 double uend
          ustart and uend are not normalized, keeping original value in input files
 double ustart
          ustart and uend are not normalized, keeping original value in input files
 
Fields inherited from class igeo.IParameterObject
parent
 
Constructor Summary
ICurveGeo()
           
ICurveGeo(double[][] xyzValues)
           
ICurveGeo(double[][] xyzValues, boolean close)
           
ICurveGeo(double[][] xyzValues, int degree)
           
ICurveGeo(double[][] xyzValues, int degree, boolean close)
           
ICurveGeo(double x1, double y1, double z1, double x2, double y2, double z2)
           
ICurveGeo(ICurveGeo crv)
           
ICurveGeo(IVecI pt)
           
ICurveGeo(IVecI[] cpts)
           
ICurveGeo(IVecI[] cpts, boolean close)
           
ICurveGeo(IVecI[] cpts, int degree)
           
ICurveGeo(IVecI[] cpts, int degree, boolean close)
           
ICurveGeo(IVecI[] cpts, int degree, double[] knots)
           
ICurveGeo(IVecI[] cpts, int degree, double[] knots, double ustart, double uend)
           
ICurveGeo(IVecI pt1, IVecI pt2)
           
 
Method Summary
 ICurveGeo add(double x, double y, double z)
          transformation methods
 ICurveGeo add(double f, IVecI v)
          scale add alias
 ICurveGeo add(IDoubleI x, IDoubleI y, IDoubleI z)
           
 ICurveGeo add(IDoubleI f, IVecI v)
          scale add alias
 ICurveGeo add(IVecI v)
           
 ICurveGeo add(IVecI v, double f)
          scale add
 ICurveGeo add(IVecI v, IDoubleI f)
          scale add
 ICurveGeo addCP(int index, IVecI pt)
          add control point at i and rebuild the curve.
 ICurveGeo addCP(int index, IVecI[] pts)
          add control points at i and rebuild the curve.
 ICurveGeo addCP(IVecI pt)
          add control point at the end and rebuild the curve.
 ICurveGeo addCP(IVecI[] pts)
          add control points at the end and rebuild the curve.
static void checkDuplicatedCP(IVecI[] cpts)
           
static void checkDuplicatedCP(IVecI[] origCPs, IVecI newCP)
           
static void checkDuplicatedCP(IVecI[] origCPs, IVecI[] newCPs)
           
static void checkDuplicatedCPOnEdge(IVecI[] cpts)
           
 ICurveGeo cp()
          cp() is alias of dup()
 ICurveGeo cp(double x, double y, double z)
          cp() is alias of dup().add()
 ICurveGeo cp(IDoubleI x, IDoubleI y, IDoubleI z)
          cp() is alias of dup().add()
 IVecI cp(IIntegerI i)
          getting i-th control point
 IVecI cp(int i)
          getting i-th control point
 ICurveGeo cp(IVecI v)
          cp() is alias of dup().add()
 int cpNum()
           
 int cpNum(ISwitchE e)
           
 IInteger cpNum(ISwitchR r)
           
 IVecI[] cps()
          all control points
 int deg()
           
 int deg(ISwitchE e)
           
 IInteger deg(ISwitchR r)
           
 ICurveGeo div(double v)
           
 ICurveGeo div(IDoubleI v)
           
 ICurveGeo dup()
          duplicate the instance
 IVec end()
           
 IVec endCP()
           
 IVec ep(IIntegerI i)
           
 IVec ep(int i)
          close curve with the current control points.
 int epNum()
           
 int epNum(ISwitchE e)
           
 IInteger epNum(ISwitchR r)
           
 ICurveGeo flip()
          alias of neg
 ICurveGeo get()
           
static IVec[] getPointsFromArray(double[][] xyzvalues)
           
 void init(IVecI[] cpts)
           
 void init(IVecI[] cpts, boolean close)
           
 void init(IVecI[] cpts, int degree)
           
 void init(IVecI[] cpts, int degree, boolean close)
           
 void init(IVecI[] cpts, int degree, double[] knots)
           
 ICurveGeo insertCP(int i, IVecI pt)
          alias of addCP(int,IVecI)
 ICurveGeo insertCP(int i, 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()
           
static boolean isValidCP(IVecI[] cpts)
           
static boolean isValidCP(IVecI[] cpts, int deg, double[] knots)
           
 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)
           
 IDouble[] knots(ISwitchR r)
           
 double len()
           
 double len(double resolutionPerEP)
           
 double len(ISwitchE e)
           
 IDouble len(ISwitchR r)
           
 ICurveGeo mirror(IVecI planeDir)
          mirror is alias of ref
 ICurveGeo mirror(IVecI center, IVecI planeDir)
           
 ICurveGeo mul(double v)
           
 ICurveGeo mul(IDoubleI v)
           
 ICurveGeo mv(double x, double y, double z)
          mv() is alias of add()
 ICurveGeo mv(IDoubleI x, IDoubleI y, IDoubleI z)
           
 ICurveGeo mv(IVecI v)
           
 ICurveGeo neg()
           
 int num()
          change degree.
 int num(ISwitchE e)
           
 IInteger num(ISwitchR r)
           
 IVec pt(double u)
           
 void pt(double u, IVec retval)
           
 IVec pt(IDoubleI u)
           
 ICurveGeo ref(IVecI planeDir)
          reflect(mirror) 3 dimensionally to the other side of the plane
 ICurveGeo ref(IVecI center, IVecI planeDir)
           
 ICurveGeo removeCP()
          removing control point at the end and rebuild the curve.
 ICurveGeo 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.
 ICurveGeo removeCP(int indexFrom, int indexTo)
          removing control point from indexFrom to indexTo-1 and rebuild the curve.
 ICurveGeo rev()
          reverse self curve ; not creating a new object
 ICurveGeo rot(double angle)
           
 ICurveGeo rot(IDoubleI angle)
          rotation around z-axis and origin
 ICurveGeo rot(IVecI axis, double angle)
           
 ICurveGeo rot(IVecI axis, IDoubleI angle)
          rotation around axis vector
 ICurveGeo rot(IVecI axis, IVecI destDir)
          rotate to destination direction vector
 ICurveGeo rot(IVecI center, IVecI axis, double angle)
           
 ICurveGeo rot(IVecI center, IVecI axis, IDoubleI angle)
          rotation around axis vector and center
 ICurveGeo rot(IVecI center, IVecI axis, IVecI destPt)
          rotate to destination point location
 ICurveGeo rot2(double angle)
          rotation on xy-plane around origin; same with rot(double)
 ICurveGeo rot2(IDoubleI angle)
          rotation on xy-plane around origin; same with rot(IDoubleI)
 ICurveGeo rot2(IVecI destDir)
          rotation on xy-plane to destination direction vector
 ICurveGeo rot2(IVecI center, double angle)
           
 ICurveGeo rot2(IVecI center, IDoubleI angle)
          rotation on xy-plane around center
 ICurveGeo rot2(IVecI center, IVecI destPt)
          rotation on xy-plane to destination point location
 ICurveGeo scale(double f)
           
 ICurveGeo scale(IDoubleI f)
          alias of mul
 ICurveGeo scale(IVecI center, double f)
           
 ICurveGeo scale(IVecI center, IDoubleI f)
           
 ICurveGeo scale1d(IVecI axis, double f)
          scale only in 1 direction
 ICurveGeo scale1d(IVecI axis, IDoubleI f)
           
 ICurveGeo scale1d(IVecI center, IVecI axis, double f)
           
 ICurveGeo scale1d(IVecI center, IVecI axis, IDoubleI f)
           
 ICurveGeo shear(double sxy, double syx, double syz, double szy, double szx, double sxz)
          shear operation
 ICurveGeo shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
           
 ICurveGeo shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)
           
 ICurveGeo shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
           
 ICurveGeo shearXY(double sxy, double syx)
           
 ICurveGeo shearXY(IDoubleI sxy, IDoubleI syx)
           
 ICurveGeo shearXY(IVecI center, double sxy, double syx)
           
 ICurveGeo shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)
           
 ICurveGeo shearYZ(double syz, double szy)
           
 ICurveGeo shearYZ(IDoubleI syz, IDoubleI szy)
           
 ICurveGeo shearYZ(IVecI center, double syz, double szy)
           
 ICurveGeo shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)
           
 ICurveGeo shearZX(double szx, double sxz)
           
 ICurveGeo shearZX(IDoubleI szx, IDoubleI sxz)
           
 ICurveGeo shearZX(IVecI center, double szx, double sxz)
           
 ICurveGeo shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)
           
 IVec start()
           
 IVec startCP()
           
 ICurveGeo sub(double x, double y, double z)
           
 ICurveGeo sub(IDoubleI x, IDoubleI y, IDoubleI z)
           
 ICurveGeo sub(IVecI v)
           
 IVec tan(double u)
           
 void tan(double u, IVec retval)
           
 IVec tan(IDoubleI u)
           
 ICurveGeo transform(IMatrix3I mat)
           
 ICurveGeo transform(IMatrix4I mat)
           
 ICurveGeo transform(IVecI xvec, IVecI yvec, IVecI zvec)
           
 ICurveGeo transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)
           
 ICurveGeo translate(double x, double y, double z)
          translate is alias of add()
 ICurveGeo translate(IDoubleI x, IDoubleI y, IDoubleI z)
           
 ICurveGeo 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.INurbsGeo
createClosedCP, createClosedCPInU, createClosedCPInV, createClosedKnots, createKnots, createKnots, invertKnots, isValidKnots, normalizeKnots
 
Methods inherited from class igeo.IParameterObject
createObject, parent, parent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

controlPoints

public IVecI[] controlPoints
control points


degree

public int degree
degree of NURBS curve


knots

public double[] knots
normalized knot vector (start value in knot vector is 0, end value is 1)


ustart

public double ustart
ustart and uend are not normalized, keeping original value in input files


uend

public double uend
ustart and uend are not normalized, keeping original value in input files


defaultWeights

public boolean[] defaultWeights
flag to determine to use default weight value (1.0)


basisFunction

public IBSplineBasisFunction basisFunction
bernstein basis function


derivativeFunction

public IBSplineBasisFunction derivativeFunction
derivative of bernstein basis function

Constructor Detail

ICurveGeo

public ICurveGeo()

ICurveGeo

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

ICurveGeo

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

ICurveGeo

public ICurveGeo(IVecI[] cpts,
                 int degree)

ICurveGeo

public ICurveGeo(IVecI[] cpts)

ICurveGeo

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

ICurveGeo

public ICurveGeo(IVecI[] cpts,
                 boolean close)

ICurveGeo

public ICurveGeo(IVecI pt1,
                 IVecI pt2)

ICurveGeo

public ICurveGeo(IVecI pt)

ICurveGeo

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

ICurveGeo

public ICurveGeo(double[][] xyzValues)

ICurveGeo

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

ICurveGeo

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

ICurveGeo

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

ICurveGeo

public ICurveGeo(ICurveGeo crv)
Method Detail

init

public void init(IVecI[] cpts)

init

public void init(IVecI[] cpts,
                 int degree)

init

public void init(IVecI[] cpts,
                 boolean close)

init

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

init

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

isValid

public boolean isValid()
Specified by:
isValid in interface ICurveI

isValidCP

public static boolean isValidCP(IVecI[] cpts,
                                int deg,
                                double[] knots)

isValidCP

public static boolean isValidCP(IVecI[] cpts)

checkDuplicatedCP

public static void checkDuplicatedCP(IVecI[] cpts)

checkDuplicatedCP

public static void checkDuplicatedCP(IVecI[] origCPs,
                                     IVecI newCP)

checkDuplicatedCP

public static void checkDuplicatedCP(IVecI[] origCPs,
                                     IVecI[] newCPs)

checkDuplicatedCPOnEdge

public static void checkDuplicatedCPOnEdge(IVecI[] cpts)

getPointsFromArray

public static IVec[] getPointsFromArray(double[][] xyzvalues)

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 ICurveGeo dup()
Description copied from interface: ITransformable
duplicate the instance

Specified by:
dup in interface ICurveI
Specified by:
dup in interface ITransformable
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

pt

public void pt(double u,
               IVec retval)

tan

public IVec tan(IDoubleI u)
Specified by:
tan in interface ICurveI

tan

public IVec tan(double u)
Specified by:
tan in interface ICurveI

tan

public void tan(double u,
                IVec retval)

cp

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

addCP

public ICurveGeo 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 ICurveGeo 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 ICurveGeo 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 ICurveGeo 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 ICurveGeo insertCP(int i,
                          IVecI pt)
alias of addCP(int,IVecI)


insertCP

public ICurveGeo insertCP(int i,
                          IVecI[] pts)
alias of addCP(int,IVecI[])


removeCP

public ICurveGeo 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 ICurveGeo 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 ICurveGeo removeCP(int indexFrom,
                          int indexTo)
removing control point from indexFrom to indexTo-1 and rebuild the curve. note taht point at indexTo is not removed. note that a knots is rebuilt with default equal interval and destroy original knot intervals if variable, like circle.


ep

public IVec ep(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:
ep in interface ICurveI

ep

public IVec ep(IIntegerI i)
Specified by:
ep in interface ICurveI

start

public IVec start()
Specified by:
start in interface ICurveI

end

public IVec end()
Specified by:
end in interface ICurveI

startCP

public IVec startCP()
Specified by:
startCP in interface ICurveI

endCP

public IVec endCP()
Specified by:
endCP in interface ICurveI

knot

public double knot(int i)
Description copied from interface: ICurveI
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 IDouble[] 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

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

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

len

public double len(double resolutionPerEP)

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 ICurveGeo rev()
Description copied from interface: ICurveI
reverse self curve ; not creating a new object

Specified by:
rev in interface ICurveI

add

public ICurveGeo add(double x,
                     double y,
                     double z)
transformation methods

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

add

public ICurveGeo add(IDoubleI x,
                     IDoubleI y,
                     IDoubleI z)
Specified by:
add in interface ICurveI
Specified by:
add in interface ITransformable

add

public ICurveGeo add(IVecI v)
Specified by:
add in interface ICurveI
Specified by:
add in interface ITransformable

sub

public ICurveGeo sub(double x,
                     double y,
                     double z)
Specified by:
sub in interface ICurveI
Specified by:
sub in interface ITransformable

sub

public ICurveGeo sub(IDoubleI x,
                     IDoubleI y,
                     IDoubleI z)
Specified by:
sub in interface ICurveI
Specified by:
sub in interface ITransformable

sub

public ICurveGeo sub(IVecI v)
Specified by:
sub in interface ICurveI
Specified by:
sub in interface ITransformable

mul

public ICurveGeo mul(IDoubleI v)
Specified by:
mul in interface ICurveI
Specified by:
mul in interface ITransformable

mul

public ICurveGeo mul(double v)
Specified by:
mul in interface ICurveI
Specified by:
mul in interface ITransformable

div

public ICurveGeo div(IDoubleI v)
Specified by:
div in interface ICurveI
Specified by:
div in interface ITransformable

div

public ICurveGeo div(double v)
Specified by:
div in interface ICurveI
Specified by:
div in interface ITransformable

neg

public ICurveGeo neg()
Specified by:
neg in interface ICurveI
Specified by:
neg in interface ITransformable

flip

public ICurveGeo flip()
alias of neg

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

add

public ICurveGeo add(IVecI v,
                     double f)
scale add

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

add

public ICurveGeo 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 ICurveGeo add(double f,
                     IVecI v)
scale add alias

Specified by:
add in interface ITransformable

add

public ICurveGeo add(IDoubleI f,
                     IVecI v)
Description copied from interface: ITransformable
scale add alias

Specified by:
add in interface ITransformable

rot

public ICurveGeo rot(IDoubleI angle)
Description copied from interface: ITransformable
rotation around z-axis and origin

Specified by:
rot in interface ITransformable

rot

public ICurveGeo rot(double angle)
Specified by:
rot in interface ITransformable

rot

public ICurveGeo 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 ICurveGeo rot(IVecI axis,
                     double angle)
Specified by:
rot in interface ICurveI
Specified by:
rot in interface ITransformable

rot

public ICurveGeo 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 ICurveGeo rot(IVecI center,
                     IVecI axis,
                     double angle)
Specified by:
rot in interface ICurveI
Specified by:
rot in interface ITransformable

rot

public ICurveGeo rot(IVecI axis,
                     IVecI destDir)
rotate to destination direction vector

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

rot

public ICurveGeo 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 ICurveGeo 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 ICurveGeo 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 ICurveGeo rot2(IVecI center,
                      IDoubleI angle)
Description copied from interface: ITransformable
rotation on xy-plane around center

Specified by:
rot2 in interface ITransformable

rot2

public ICurveGeo rot2(IVecI center,
                      double angle)
Specified by:
rot2 in interface ITransformable

rot2

public ICurveGeo rot2(IVecI destDir)
rotation on xy-plane to destination direction vector

Specified by:
rot2 in interface ITransformable

rot2

public ICurveGeo rot2(IVecI center,
                      IVecI destPt)
rotation on xy-plane to destination point location

Specified by:
rot2 in interface ITransformable

scale

public ICurveGeo scale(IDoubleI f)
alias of mul

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

scale

public ICurveGeo scale(double f)
Specified by:
scale in interface ICurveI
Specified by:
scale in interface ITransformable

scale

public ICurveGeo scale(IVecI center,
                       IDoubleI f)
Specified by:
scale in interface ICurveI
Specified by:
scale in interface ITransformable

scale

public ICurveGeo scale(IVecI center,
                       double f)
Specified by:
scale in interface ICurveI
Specified by:
scale in interface ITransformable

scale1d

public ICurveGeo scale1d(IVecI axis,
                         double f)
scale only in 1 direction

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

scale1d

public ICurveGeo scale1d(IVecI axis,
                         IDoubleI f)
Specified by:
scale1d in interface ICurveI
Specified by:
scale1d in interface ITransformable

scale1d

public ICurveGeo scale1d(IVecI center,
                         IVecI axis,
                         double f)
Specified by:
scale1d in interface ICurveI
Specified by:
scale1d in interface ITransformable

scale1d

public ICurveGeo scale1d(IVecI center,
                         IVecI axis,
                         IDoubleI f)
Specified by:
scale1d in interface ICurveI
Specified by:
scale1d in interface ITransformable

ref

public ICurveGeo 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 ICurveGeo ref(IVecI center,
                     IVecI planeDir)
Specified by:
ref in interface ICurveI
Specified by:
ref in interface ITransformable

mirror

public ICurveGeo mirror(IVecI planeDir)
mirror is alias of ref

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

mirror

public ICurveGeo mirror(IVecI center,
                        IVecI planeDir)
Specified by:
mirror in interface ICurveI
Specified by:
mirror in interface ITransformable

shear

public ICurveGeo 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 ICurveGeo 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 ICurveGeo 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 ICurveGeo 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 ICurveGeo shearXY(double sxy,
                         double syx)
Specified by:
shearXY in interface ICurveI
Specified by:
shearXY in interface ITransformable

shearXY

public ICurveGeo shearXY(IDoubleI sxy,
                         IDoubleI syx)
Specified by:
shearXY in interface ICurveI
Specified by:
shearXY in interface ITransformable

shearXY

public ICurveGeo shearXY(IVecI center,
                         double sxy,
                         double syx)
Specified by:
shearXY in interface ICurveI
Specified by:
shearXY in interface ITransformable

shearXY

public ICurveGeo shearXY(IVecI center,
                         IDoubleI sxy,
                         IDoubleI syx)
Specified by:
shearXY in interface ICurveI
Specified by:
shearXY in interface ITransformable

shearYZ

public ICurveGeo shearYZ(double syz,
                         double szy)
Specified by:
shearYZ in interface ICurveI
Specified by:
shearYZ in interface ITransformable

shearYZ

public ICurveGeo shearYZ(IDoubleI syz,
                         IDoubleI szy)
Specified by:
shearYZ in interface ICurveI
Specified by:
shearYZ in interface ITransformable

shearYZ

public ICurveGeo shearYZ(IVecI center,
                         double syz,
                         double szy)
Specified by:
shearYZ in interface ICurveI
Specified by:
shearYZ in interface ITransformable

shearYZ

public ICurveGeo shearYZ(IVecI center,
                         IDoubleI syz,
                         IDoubleI szy)
Specified by:
shearYZ in interface ICurveI
Specified by:
shearYZ in interface ITransformable

shearZX

public ICurveGeo shearZX(double szx,
                         double sxz)
Specified by:
shearZX in interface ICurveI
Specified by:
shearZX in interface ITransformable

shearZX

public ICurveGeo shearZX(IDoubleI szx,
                         IDoubleI sxz)
Specified by:
shearZX in interface ICurveI
Specified by:
shearZX in interface ITransformable

shearZX

public ICurveGeo shearZX(IVecI center,
                         double szx,
                         double sxz)
Specified by:
shearZX in interface ICurveI
Specified by:
shearZX in interface ITransformable

shearZX

public ICurveGeo shearZX(IVecI center,
                         IDoubleI szx,
                         IDoubleI sxz)
Specified by:
shearZX in interface ICurveI
Specified by:
shearZX in interface ITransformable

translate

public ICurveGeo 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 ICurveGeo translate(IDoubleI x,
                           IDoubleI y,
                           IDoubleI z)
Specified by:
translate in interface ICurveI
Specified by:
translate in interface ITransformable

translate

public ICurveGeo translate(IVecI v)
Specified by:
translate in interface ICurveI
Specified by:
translate in interface ITransformable

transform

public ICurveGeo transform(IMatrix3I mat)
Specified by:
transform in interface ICurveI
Specified by:
transform in interface ITransformable

transform

public ICurveGeo transform(IMatrix4I mat)
Specified by:
transform in interface ICurveI
Specified by:
transform in interface ITransformable

transform

public ICurveGeo transform(IVecI xvec,
                           IVecI yvec,
                           IVecI zvec)
Specified by:
transform in interface ICurveI
Specified by:
transform in interface ITransformable

transform

public ICurveGeo transform(IVecI xvec,
                           IVecI yvec,
                           IVecI zvec,
                           IVecI translate)
Specified by:
transform in interface ICurveI
Specified by:
transform in interface ITransformable

mv

public ICurveGeo mv(double x,
                    double y,
                    double z)
mv() is alias of add()

Specified by:
mv in interface ITransformable

mv

public ICurveGeo mv(IDoubleI x,
                    IDoubleI y,
                    IDoubleI z)
Specified by:
mv in interface ITransformable

mv

public ICurveGeo mv(IVecI v)
Specified by:
mv in interface ITransformable

cp

public ICurveGeo cp()
cp() is alias of dup()

Specified by:
cp in interface ITransformable

cp

public ICurveGeo cp(double x,
                    double y,
                    double z)
cp() is alias of dup().add()

Specified by:
cp in interface ITransformable

cp

public ICurveGeo cp(IDoubleI x,
                    IDoubleI y,
                    IDoubleI z)
cp() is alias of dup().add()

Specified by:
cp in interface ITransformable

cp

public ICurveGeo cp(IVecI v)
cp() is alias of dup().add()

Specified by:
cp in interface ITransformable