igeo
Class IVec2R

java.lang.Object
  extended by igeo.IParameterObject
      extended by igeo.IVec2R
All Implemented Interfaces:
IParameter, IReferenceParameter, ISubobject, IVal, IVec2I, IVec2Op

public class IVec2R
extends IParameterObject
implements IVec2I, IReferenceParameter

Reference class of 2 dimensional vector to be used as IParameterObject.

Author:
Satoru Sugihara

Nested Class Summary
static class IVec2R.Add
           
static class IVec2R.Angle
           
static class IVec2R.Cross
           
static class IVec2R.Dist
           
static class IVec2R.Dist2
           
static class IVec2R.Div
           
static class IVec2R.Dot
           
static class IVec2R.Eq
           
static class IVec2R.EqX
           
static class IVec2R.EqY
           
static class IVec2R.FromX
           
static class IVec2R.FromXY
           
static class IVec2R.FromY
           
static class IVec2R.Len
           
static class IVec2R.Len2
           
static class IVec2R.Mul
           
static class IVec2R.Neg
           
static class IVec2R.Ortho
           
static class IVec2R.Ref
           
static class IVec2R.Rot
           
static class IVec2R.Scale1d
           
static class IVec2R.SetLen
           
static class IVec2R.Shear
           
static class IVec2R.Sub
           
static class IVec2R.ToVec2
           
static class IVec2R.ToVec3
           
static class IVec2R.ToVec4
           
static class IVec2R.Transform2
           
static class IVec2R.Transform3
           
static class IVec2R.TransformVec2
           
static class IVec2R.TransformVec3
           
static class IVec2R.Unit
           
static class IVec2R.X
           
static class IVec2R.Y
           
 
Field Summary
protected  IVec2Op op
           
 
Fields inherited from class igeo.IParameterObject
parent
 
Constructor Summary
IVec2R(double x, double y)
           
IVec2R(IDoubleI x, IDoubleI y)
           
IVec2R(IServerI s, double x, double y)
           
IVec2R(IServerI s, IDoubleI x, IDoubleI y)
           
IVec2R(IServerI s, IVec2Op v)
           
IVec2R(IVec2Op v)
           
 
Method Summary
 IVec2R add(double x, double y)
           
 IVec2R add(double f, IVec2I v)
          scale add alias
 IVec2R add(IDoubleI x, IDoubleI y)
           
 IVec2R add(IDoubleI f, IVec2I v)
          scale add; alias
 IVec2R add(IVec2I u)
           
 IVec2R add(IVec2I v, double f)
          scale add
 IVec2R add(IVec2I v, IDoubleI f)
          scale add
 double angle(double ux, double uy)
          angle between two vectors
 double angle(ISwitchE e, IVec2I u)
          angle between two vectors
 IDoubleR angle(ISwitchR r, IVec2I u)
          angle between two vectors
 double angle(IVec2I u)
          angle between two vectors
 IVec2R bisect(double vx, double vy)
          create a new instance of bisector
 IVec2R bisect(IVec2I v)
          create a new instance of bisector
 IVec2R cp()
          cp() is alias of dup()
 IVec2R cp(double x, double y)
          cp() is alias of dup().add()
 IVec2R cp(IDoubleI x, IDoubleI y)
          cp() is alias of dup().add()
 IVec2R cp(IVec2I v)
          cp() is alias of dup().add()
 IVecR cross(double ux, double uy)
          cross product, returning 3D vector
 IVecR cross(IVec2I u)
          cross product, returning 3D vector
 IVec2R dif(double vx, double vy)
          create a new instance of difference
 IVec2R dif(IVec2I v)
          create a new instance of difference
 IVec2R diff(double vx, double vy)
          alias of dif
 IVec2R diff(IVec2I v)
          alias of dif
 double dist(double vx, double vy)
          distance
 double dist(ISwitchE e, IVec2I v)
          distance
 IDoubleR dist(ISwitchR r, IVec2I v)
          distance
 double dist(IVec2I v)
          distance
 double dist2(double vx, double vy)
          squared distance
 double dist2(ISwitchE e, IVec2I v)
          squared distance
 IDoubleR dist2(ISwitchR r, IVec2I v)
          squared distance
 double dist2(IVec2I v)
          squared distance
 IVec2R div(double u)
           
 IVec2R div(IDoubleI u)
           
 double dot(double ux, double uy)
          dot product
 double dot(ISwitchE e, IVec2I u)
          dot product
 IDoubleR dot(ISwitchR r, IVec2I u)
          dot product
 double dot(IVec2I u)
          dot product
 IVec2R dup()
           
 boolean eq(double vx, double vy)
          whether location is same or not
 boolean eq(double vx, double vy, double tolerance)
          whether location is same or not with tolerance
 boolean eq(ISwitchE e, IVec2I v)
          whether location is same or not
 boolean eq(ISwitchE e, IVec2I v, double tolerance)
          whether location is same or not with tolerance
 IBoolR eq(ISwitchR r, IVec2I v)
          whether location is same or not
 IBoolR eq(ISwitchR r, IVec2I v, IDoubleI tolerance)
          whether location is same or not with tolerance
 boolean eq(IVec2I v)
          whether location is same or not
 boolean eq(IVec2I v, double tolerance)
          whether location is same or not with tolerance
 boolean eqX(double vx)
          check if X is same
 boolean eqX(double vx, double tolerance)
          check if X is same within tolerance
 boolean eqX(ISwitchE e, IVec2I v)
          check if X is same
 boolean eqX(ISwitchE e, IVec2I v, double tolerance)
          check if X is same within tolerance
 IBoolR eqX(ISwitchR r, IVec2I v)
          check if X is same
 IBoolR eqX(ISwitchR r, IVec2I v, IDoubleI tolerance)
          check if X is same within tolerance
 boolean eqX(IVec2I v)
          check if X is same
 boolean eqX(IVec2I v, double tolerance)
          check if X is same within tolerance
 boolean eqY(double vy)
          check if Y is same
 boolean eqY(double vy, double tolerance)
          check if Y is same within tolerance
 boolean eqY(ISwitchE e, IVec2I v)
          check if Y is same
 boolean eqY(ISwitchE e, IVec2I v, double tolerance)
          check if Y is same within tolerance
 IBoolR eqY(ISwitchR r, IVec2I v)
          check if Y is same
 IBoolR eqY(ISwitchR r, IVec2I v, IDoubleI tolerance)
          check if Y is same within tolerance
 boolean eqY(IVec2I v)
          check if Y is same
 boolean eqY(IVec2I v, double tolerance)
          check if Y is same within tolerance
 IVec2R flip()
          alias of neg()
 IVec2 get()
           
 IDoubleR getX()
           
 IDoubleR getY()
           
 boolean isValid()
          checking x, y is valid number (not Infinite, nor NaN).
 double len()
          getting length
 IVec2R len(double l)
          setting length
 IVec2R len(IDoubleI l)
          setting length
 double len(ISwitchE e)
          getting length
 IDoubleR len(ISwitchR r)
          getting length
 double len2()
          getting squared length
 double len2(ISwitchE e)
          getting squared length
 IDoubleR len2(ISwitchR r)
          getting squared length
 IVec2R mid(double vx, double vy)
          create a new instance of midpoint
 IVec2R mid(IVec2I v)
          create a new instance of midpoint
 IVec2R mirror(double lineX, double lineY)
          reflect (mirror) 2 dimensionally to the other side of the line
 IVec2R mirror(double linePtX, double linePtY, double lineDirX, double lineDirY)
          reflect (mirror) 2 dimensionally to the other side of the line at a center
 IVec2R mirror(IVec2I lineDir)
          reflect (mirror) 2 dimensionally to the other side of the line
 IVec2R mirror(IVec2I linePt, IVec2I lineDir)
          reflect (mirror) 2 dimensionally to the other side of the line at a center
 IVec2R mul(double u)
           
 IVec2R mul(IDoubleI u)
           
 IVec2R mv(double x, double y)
          mv() is alias of add()
 IVec2R mv(IDoubleI x, IDoubleI y)
          mv() is alias of add()
 IVec2R mv(IVec2I v)
          mv() is alias of add()
 IVec2R neg()
           
 IVecR nml(double vx, double vy)
          alias of cross
 IVecR nml(double vx1, double vy1, double vx2, double vy2)
          create normal vector from 3 points of self, pt1 and pt2
 IVecR nml(IVec2I v)
          alias of cross
 IVecR nml(IVec2I pt1, IVec2I pt2)
          create normal vector from 3 points of self, pt1 and pt2
 IVec2Op operator()
           
 IVec2R ortho()
          rotate 90 deg
 IVec2R ref(double lineX, double lineY)
          reflect (mirror) 2 dimensionally to the other side of the line
 IVec2R ref(double linePtX, double linePtY, double lineDirX, double lineDirY)
          reflect (mirror) 2 dimensionally to the other side of the line at a center
 IVec2R ref(IVec2I lineDir)
          reflect (mirror) 2 dimensionally to the other side of the line
 IVec2R ref(IVec2I linePt, IVec2I lineDir)
          reflect (mirror) 2 dimensionally to the other side of the line at a center
 IVec2R rev()
          alias of neg()
 IVec2R rot(double angle)
          rotation
 IVec2R rot(double centerX, double centerY, double angle)
          rotation around a center
 IVec2R rot(IDoubleI angle)
          rotation
 IVec2R rot(IVec2I destDir)
          rotate towards destination direction
 IVec2R rot(IVec2I center, double angle)
          rotation around a center
 IVec2R rot(IVec2I center, IDoubleI angle)
          rotation around a center
 IVec2R rot(IVec2I center, IVec2I destPt)
          rotate around a center towards destination point
 IVec2R scale(double f)
          alias of mul
 IVec2R scale(double centerX, double centerY, double f)
          scale from a center
 IVec2R scale(IDoubleI f)
          alias of mul
 IVec2R scale(IVec2I center, double f)
          scale from a center
 IVec2R scale(IVec2I center, IDoubleI f)
          scale from a center
 IVec2R scale1d(double axisX, double axisY, double f)
          scale only in 1 direction
 IVec2R scale1d(double centerX, double centerY, double axisX, double axisY, double f)
          scale only in 1 direction from a center
 IVec2R scale1d(IVec2I axis, double f)
          scale only in 1 direction
 IVec2R scale1d(IVec2I axis, IDoubleI f)
          scale only in 1 direction
 IVec2R scale1d(IVec2I center, IVec2I axis, double f)
          scale only in 1 direction from a center
 IVec2R scale1d(IVec2I center, IVec2I axis, IDoubleI f)
          scale only in 1 direction from a center
 IVec2R set(double x, double y)
           
 IVec2R set(IDoubleI x, IDoubleI y)
           
 IVec2R set(IVec2I u)
           
 IVec2R shear(double sxy, double syx)
          shear operation on XY
 IVec2R shear(IDoubleI sxy, IDoubleI syx)
          shear operation on XY
 IVec2R shear(IVec2I center, double sxy, double syx)
          shear operation on XY
 IVec2R shear(IVec2I center, IDoubleI sxy, IDoubleI syx)
          shear operation on XY
 IVec2R sub(double x, double y)
           
 IVec2R sub(IDoubleI x, IDoubleI y)
           
 IVec2R sub(IVec2I u)
           
 IVec2R sum(double vx, double vy)
          create a new instance of summation
 IVec2R sum(IVec2I... v)
          create a new instance of summation
 IVec2R sum(IVec2I v)
          create a new instance of summation
 IVec2R sum(IVec2I v2, double w2)
          create a new instance of weighted sum
 IVec2R sum(IVec2I v2, double w1, double w2)
          weighted sum
 IVec2R sum(IVec2I v2, IDoubleI w2)
          create a new instance of weighted sum
 IVec2R sum(IVec2I v2, IDoubleI w1, IDoubleI w2)
          create a new instance of weighted sum
 IVecR to3d()
           
 IVecR to3d(double z)
           
 IVecR to3d(IDoubleI z)
           
 IVec4R to4d()
           
 IVec4R to4d(double z, double w)
           
 IVec4R to4d(IDoubleI z, IDoubleI w)
           
 IVec2R transform(IMatrix2I mat)
          transform with 2x2 transform matrix
 IVec2R transform(IMatrix3I mat)
          transform with 3x3 transform matrix
 IVec2R transform(IVec2I xvec, IVec2I yvec)
          transform with transform vectors
 IVec2R transform(IVec2I xvec, IVec2I yvec, IVec2I translate)
          transform with transform vectors
 IVec2R translate(double x, double y)
          alias of add()
 IVec2R translate(IDoubleI x, IDoubleI y)
          alias of add()
 IVec2R translate(IVec2I v)
          alias of add()
 IVec2R unit()
          unitize
 double x()
          getting x component
 IVec2R x(double vx)
          setting x component
 IVec2R x(IDoubleI vx)
          setting x component
 double x(ISwitchE e)
          getting x component
 IDoubleR x(ISwitchR r)
          getting x component
 double y()
          getting y component
 IVec2R y(double vy)
          setting y component
 IVec2R y(IDoubleI vy)
          setting y component
 double y(ISwitchE e)
          getting y component
 IDoubleR y(ISwitchR r)
          getting y component
 IVec2R zero()
          setting all zero
 
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

op

protected IVec2Op op
Constructor Detail

IVec2R

public IVec2R(IVec2Op v)

IVec2R

public IVec2R(double x,
              double y)

IVec2R

public IVec2R(IDoubleI x,
              IDoubleI y)

IVec2R

public IVec2R(IServerI s,
              IVec2Op v)

IVec2R

public IVec2R(IServerI s,
              double x,
              double y)

IVec2R

public IVec2R(IServerI s,
              IDoubleI x,
              IDoubleI y)
Method Detail

x

public double x()
getting x component

Specified by:
x in interface IVec2I

y

public double y()
getting y component

Specified by:
y in interface IVec2I

x

public IVec2R x(double vx)
setting x component

Specified by:
x in interface IVec2I

y

public IVec2R y(double vy)
setting y component

Specified by:
y in interface IVec2I

x

public IVec2R x(IDoubleI vx)
setting x component

Specified by:
x in interface IVec2I

y

public IVec2R y(IDoubleI vy)
setting y component

Specified by:
y in interface IVec2I

x

public double x(ISwitchE e)
getting x component

Specified by:
x in interface IVec2I

y

public double y(ISwitchE e)
getting y component

Specified by:
y in interface IVec2I

x

public IDoubleR x(ISwitchR r)
getting x component

Specified by:
x in interface IVec2I

y

public IDoubleR y(ISwitchR r)
getting y component

Specified by:
y in interface IVec2I

get

public IVec2 get()
Specified by:
get in interface IParameter
Specified by:
get in interface IVec2I
Specified by:
get in interface IVec2Op

getX

public IDoubleR getX()
Specified by:
getX in interface IVec2I

getY

public IDoubleR getY()
Specified by:
getY in interface IVec2I

operator

public IVec2Op operator()
Specified by:
operator in interface IReferenceParameter

dup

public IVec2R dup()
Specified by:
dup in interface IVec2I

to3d

public IVecR to3d()
Specified by:
to3d in interface IVec2I

to3d

public IVecR to3d(double z)
Specified by:
to3d in interface IVec2I

to3d

public IVecR to3d(IDoubleI z)
Specified by:
to3d in interface IVec2I

to4d

public IVec4R to4d()
Specified by:
to4d in interface IVec2I

to4d

public IVec4R to4d(double z,
                   double w)
Specified by:
to4d in interface IVec2I

to4d

public IVec4R to4d(IDoubleI z,
                   IDoubleI w)
Specified by:
to4d in interface IVec2I

set

public IVec2R set(IVec2I u)
Specified by:
set in interface IVec2I

set

public IVec2R set(double x,
                  double y)
Specified by:
set in interface IVec2I

set

public IVec2R set(IDoubleI x,
                  IDoubleI y)
Specified by:
set in interface IVec2I

add

public IVec2R add(double x,
                  double y)
Specified by:
add in interface IVec2I

add

public IVec2R add(IDoubleI x,
                  IDoubleI y)
Specified by:
add in interface IVec2I

add

public IVec2R add(IVec2I u)
Specified by:
add in interface IVec2I

sub

public IVec2R sub(double x,
                  double y)
Specified by:
sub in interface IVec2I

sub

public IVec2R sub(IDoubleI x,
                  IDoubleI y)
Specified by:
sub in interface IVec2I

sub

public IVec2R sub(IVec2I u)
Specified by:
sub in interface IVec2I

mul

public IVec2R mul(IDoubleI u)
Specified by:
mul in interface IVec2I

mul

public IVec2R mul(double u)
Specified by:
mul in interface IVec2I

div

public IVec2R div(IDoubleI u)
Specified by:
div in interface IVec2I

div

public IVec2R div(double u)
Specified by:
div in interface IVec2I

neg

public IVec2R neg()
Specified by:
neg in interface IVec2I

rev

public IVec2R rev()
alias of neg()

Specified by:
rev in interface IVec2I

flip

public IVec2R flip()
alias of neg()

Specified by:
flip in interface IVec2I

zero

public IVec2R zero()
setting all zero

Specified by:
zero in interface IVec2I

add

public IVec2R add(IVec2I v,
                  double f)
scale add

Specified by:
add in interface IVec2I

add

public IVec2R add(IVec2I v,
                  IDoubleI f)
Description copied from interface: IVec2I
scale add

Specified by:
add in interface IVec2I

add

public IVec2R add(double f,
                  IVec2I v)
scale add alias

Specified by:
add in interface IVec2I

add

public IVec2R add(IDoubleI f,
                  IVec2I v)
Description copied from interface: IVec2I
scale add; alias

Specified by:
add in interface IVec2I

dot

public double dot(IVec2I u)
Description copied from interface: IVec2I
dot product

Specified by:
dot in interface IVec2I

dot

public double dot(double ux,
                  double uy)
Description copied from interface: IVec2I
dot product

Specified by:
dot in interface IVec2I

dot

public double dot(ISwitchE e,
                  IVec2I u)
Description copied from interface: IVec2I
dot product

Specified by:
dot in interface IVec2I

dot

public IDoubleR dot(ISwitchR r,
                    IVec2I u)
Description copied from interface: IVec2I
dot product

Specified by:
dot in interface IVec2I

cross

public IVecR cross(IVec2I u)
Description copied from interface: IVec2I
cross product, returning 3D vector

Specified by:
cross in interface IVec2I

cross

public IVecR cross(double ux,
                   double uy)
Description copied from interface: IVec2I
cross product, returning 3D vector

Specified by:
cross in interface IVec2I

len

public double len()
Description copied from interface: IVec2I
getting length

Specified by:
len in interface IVec2I

len

public double len(ISwitchE e)
Description copied from interface: IVec2I
getting length

Specified by:
len in interface IVec2I

len

public IDoubleR len(ISwitchR r)
Description copied from interface: IVec2I
getting length

Specified by:
len in interface IVec2I

len2

public double len2()
Description copied from interface: IVec2I
getting squared length

Specified by:
len2 in interface IVec2I

len2

public double len2(ISwitchE e)
Description copied from interface: IVec2I
getting squared length

Specified by:
len2 in interface IVec2I

len2

public IDoubleR len2(ISwitchR r)
Description copied from interface: IVec2I
getting squared length

Specified by:
len2 in interface IVec2I

len

public IVec2R len(IDoubleI l)
Description copied from interface: IVec2I
setting length

Specified by:
len in interface IVec2I

len

public IVec2R len(double l)
Description copied from interface: IVec2I
setting length

Specified by:
len in interface IVec2I

unit

public IVec2R unit()
Description copied from interface: IVec2I
unitize

Specified by:
unit in interface IVec2I

ortho

public IVec2R ortho()
Description copied from interface: IVec2I
rotate 90 deg

Specified by:
ortho in interface IVec2I

dist

public double dist(IVec2I v)
Description copied from interface: IVec2I
distance

Specified by:
dist in interface IVec2I

dist

public double dist(double vx,
                   double vy)
Description copied from interface: IVec2I
distance

Specified by:
dist in interface IVec2I

dist

public double dist(ISwitchE e,
                   IVec2I v)
Description copied from interface: IVec2I
distance

Specified by:
dist in interface IVec2I

dist

public IDoubleR dist(ISwitchR r,
                     IVec2I v)
Description copied from interface: IVec2I
distance

Specified by:
dist in interface IVec2I

dist2

public double dist2(IVec2I v)
squared distance

Specified by:
dist2 in interface IVec2I

dist2

public double dist2(double vx,
                    double vy)
Description copied from interface: IVec2I
squared distance

Specified by:
dist2 in interface IVec2I

dist2

public double dist2(ISwitchE e,
                    IVec2I v)
Description copied from interface: IVec2I
squared distance

Specified by:
dist2 in interface IVec2I

dist2

public IDoubleR dist2(ISwitchR r,
                      IVec2I v)
Description copied from interface: IVec2I
squared distance

Specified by:
dist2 in interface IVec2I

eq

public boolean eq(IVec2I v)
whether location is same or not

Specified by:
eq in interface IVec2I

eq

public boolean eq(double vx,
                  double vy)
Description copied from interface: IVec2I
whether location is same or not

Specified by:
eq in interface IVec2I

eq

public boolean eq(ISwitchE e,
                  IVec2I v)
Description copied from interface: IVec2I
whether location is same or not

Specified by:
eq in interface IVec2I

eq

public IBoolR eq(ISwitchR r,
                 IVec2I v)
Description copied from interface: IVec2I
whether location is same or not

Specified by:
eq in interface IVec2I

eq

public boolean eq(IVec2I v,
                  double tolerance)
Description copied from interface: IVec2I
whether location is same or not with tolerance

Specified by:
eq in interface IVec2I

eq

public boolean eq(double vx,
                  double vy,
                  double tolerance)
Description copied from interface: IVec2I
whether location is same or not with tolerance

Specified by:
eq in interface IVec2I

eq

public boolean eq(ISwitchE e,
                  IVec2I v,
                  double tolerance)
Description copied from interface: IVec2I
whether location is same or not with tolerance

Specified by:
eq in interface IVec2I

eq

public IBoolR eq(ISwitchR r,
                 IVec2I v,
                 IDoubleI tolerance)
Description copied from interface: IVec2I
whether location is same or not with tolerance

Specified by:
eq in interface IVec2I

eqX

public boolean eqX(IVec2I v)
Description copied from interface: IVec2I
check if X is same

Specified by:
eqX in interface IVec2I

eqY

public boolean eqY(IVec2I v)
Description copied from interface: IVec2I
check if Y is same

Specified by:
eqY in interface IVec2I

eqX

public boolean eqX(double vx)
Description copied from interface: IVec2I
check if X is same

Specified by:
eqX in interface IVec2I

eqY

public boolean eqY(double vy)
Description copied from interface: IVec2I
check if Y is same

Specified by:
eqY in interface IVec2I

eqX

public boolean eqX(ISwitchE e,
                   IVec2I v)
Description copied from interface: IVec2I
check if X is same

Specified by:
eqX in interface IVec2I

eqY

public boolean eqY(ISwitchE e,
                   IVec2I v)
Description copied from interface: IVec2I
check if Y is same

Specified by:
eqY in interface IVec2I

eqX

public IBoolR eqX(ISwitchR r,
                  IVec2I v)
Description copied from interface: IVec2I
check if X is same

Specified by:
eqX in interface IVec2I

eqY

public IBoolR eqY(ISwitchR r,
                  IVec2I v)
Description copied from interface: IVec2I
check if Y is same

Specified by:
eqY in interface IVec2I

eqX

public boolean eqX(IVec2I v,
                   double tolerance)
Description copied from interface: IVec2I
check if X is same within tolerance

Specified by:
eqX in interface IVec2I

eqY

public boolean eqY(IVec2I v,
                   double tolerance)
Description copied from interface: IVec2I
check if Y is same within tolerance

Specified by:
eqY in interface IVec2I

eqX

public boolean eqX(double vx,
                   double tolerance)
Description copied from interface: IVec2I
check if X is same within tolerance

Specified by:
eqX in interface IVec2I

eqY

public boolean eqY(double vy,
                   double tolerance)
Description copied from interface: IVec2I
check if Y is same within tolerance

Specified by:
eqY in interface IVec2I

eqX

public boolean eqX(ISwitchE e,
                   IVec2I v,
                   double tolerance)
Description copied from interface: IVec2I
check if X is same within tolerance

Specified by:
eqX in interface IVec2I

eqY

public boolean eqY(ISwitchE e,
                   IVec2I v,
                   double tolerance)
Description copied from interface: IVec2I
check if Y is same within tolerance

Specified by:
eqY in interface IVec2I

eqX

public IBoolR eqX(ISwitchR r,
                  IVec2I v,
                  IDoubleI tolerance)
Description copied from interface: IVec2I
check if X is same within tolerance

Specified by:
eqX in interface IVec2I

eqY

public IBoolR eqY(ISwitchR r,
                  IVec2I v,
                  IDoubleI tolerance)
Description copied from interface: IVec2I
check if Y is same within tolerance

Specified by:
eqY in interface IVec2I

angle

public double angle(IVec2I u)
Description copied from interface: IVec2I
angle between two vectors

Specified by:
angle in interface IVec2I

angle

public double angle(double ux,
                    double uy)
Description copied from interface: IVec2I
angle between two vectors

Specified by:
angle in interface IVec2I

angle

public double angle(ISwitchE e,
                    IVec2I u)
Description copied from interface: IVec2I
angle between two vectors

Specified by:
angle in interface IVec2I

angle

public IDoubleR angle(ISwitchR r,
                      IVec2I u)
Description copied from interface: IVec2I
angle between two vectors

Specified by:
angle in interface IVec2I

rot

public IVec2R rot(double angle)
Description copied from interface: IVec2I
rotation

Specified by:
rot in interface IVec2I

rot

public IVec2R rot(IDoubleI angle)
Description copied from interface: IVec2I
rotation

Specified by:
rot in interface IVec2I

rot

public IVec2R rot(IVec2I center,
                  double angle)
Description copied from interface: IVec2I
rotation around a center

Specified by:
rot in interface IVec2I

rot

public IVec2R rot(double centerX,
                  double centerY,
                  double angle)
Description copied from interface: IVec2I
rotation around a center

Specified by:
rot in interface IVec2I

rot

public IVec2R rot(IVec2I center,
                  IDoubleI angle)
Description copied from interface: IVec2I
rotation around a center

Specified by:
rot in interface IVec2I

rot

public IVec2R rot(IVec2I destDir)
Description copied from interface: IVec2I
rotate towards destination direction

Specified by:
rot in interface IVec2I

rot

public IVec2R rot(IVec2I center,
                  IVec2I destPt)
Description copied from interface: IVec2I
rotate around a center towards destination point

Specified by:
rot in interface IVec2I

scale

public IVec2R scale(double f)
Description copied from interface: IVec2I
alias of mul

Specified by:
scale in interface IVec2I

scale

public IVec2R scale(IDoubleI f)
Description copied from interface: IVec2I
alias of mul

Specified by:
scale in interface IVec2I

scale

public IVec2R scale(IVec2I center,
                    double f)
Description copied from interface: IVec2I
scale from a center

Specified by:
scale in interface IVec2I

scale

public IVec2R scale(double centerX,
                    double centerY,
                    double f)
Description copied from interface: IVec2I
scale from a center

Specified by:
scale in interface IVec2I

scale

public IVec2R scale(IVec2I center,
                    IDoubleI f)
Description copied from interface: IVec2I
scale from a center

Specified by:
scale in interface IVec2I

scale1d

public IVec2R scale1d(IVec2I axis,
                      double f)
scale only in 1 direction

Specified by:
scale1d in interface IVec2I

scale1d

public IVec2R scale1d(double axisX,
                      double axisY,
                      double f)
Description copied from interface: IVec2I
scale only in 1 direction

Specified by:
scale1d in interface IVec2I

scale1d

public IVec2R scale1d(IVec2I axis,
                      IDoubleI f)
Description copied from interface: IVec2I
scale only in 1 direction

Specified by:
scale1d in interface IVec2I

scale1d

public IVec2R scale1d(IVec2I center,
                      IVec2I axis,
                      double f)
Description copied from interface: IVec2I
scale only in 1 direction from a center

Specified by:
scale1d in interface IVec2I

scale1d

public IVec2R scale1d(double centerX,
                      double centerY,
                      double axisX,
                      double axisY,
                      double f)
Description copied from interface: IVec2I
scale only in 1 direction from a center

Specified by:
scale1d in interface IVec2I

scale1d

public IVec2R scale1d(IVec2I center,
                      IVec2I axis,
                      IDoubleI f)
Description copied from interface: IVec2I
scale only in 1 direction from a center

Specified by:
scale1d in interface IVec2I

ref

public IVec2R ref(IVec2I lineDir)
reflect (mirror) 2 dimensionally to the other side of the line

Specified by:
ref in interface IVec2I

ref

public IVec2R ref(double lineX,
                  double lineY)
Description copied from interface: IVec2I
reflect (mirror) 2 dimensionally to the other side of the line

Specified by:
ref in interface IVec2I

ref

public IVec2R ref(IVec2I linePt,
                  IVec2I lineDir)
Description copied from interface: IVec2I
reflect (mirror) 2 dimensionally to the other side of the line at a center

Specified by:
ref in interface IVec2I

ref

public IVec2R ref(double linePtX,
                  double linePtY,
                  double lineDirX,
                  double lineDirY)
Description copied from interface: IVec2I
reflect (mirror) 2 dimensionally to the other side of the line at a center

Specified by:
ref in interface IVec2I

mirror

public IVec2R mirror(IVec2I lineDir)
Description copied from interface: IVec2I
reflect (mirror) 2 dimensionally to the other side of the line

Specified by:
mirror in interface IVec2I

mirror

public IVec2R mirror(double lineX,
                     double lineY)
Description copied from interface: IVec2I
reflect (mirror) 2 dimensionally to the other side of the line

Specified by:
mirror in interface IVec2I

mirror

public IVec2R mirror(IVec2I linePt,
                     IVec2I lineDir)
Description copied from interface: IVec2I
reflect (mirror) 2 dimensionally to the other side of the line at a center

Specified by:
mirror in interface IVec2I

mirror

public IVec2R mirror(double linePtX,
                     double linePtY,
                     double lineDirX,
                     double lineDirY)
Description copied from interface: IVec2I
reflect (mirror) 2 dimensionally to the other side of the line at a center

Specified by:
mirror in interface IVec2I

shear

public IVec2R shear(double sxy,
                    double syx)
shear operation on XY

Specified by:
shear in interface IVec2I

shear

public IVec2R shear(IDoubleI sxy,
                    IDoubleI syx)
shear operation on XY

Specified by:
shear in interface IVec2I

shear

public IVec2R shear(IVec2I center,
                    double sxy,
                    double syx)
shear operation on XY

Specified by:
shear in interface IVec2I

shear

public IVec2R shear(IVec2I center,
                    IDoubleI sxy,
                    IDoubleI syx)
shear operation on XY

Specified by:
shear in interface IVec2I

translate

public IVec2R translate(double x,
                        double y)
alias of add()

Specified by:
translate in interface IVec2I

translate

public IVec2R translate(IDoubleI x,
                        IDoubleI y)
alias of add()

Specified by:
translate in interface IVec2I

translate

public IVec2R translate(IVec2I v)
alias of add()

Specified by:
translate in interface IVec2I

transform

public IVec2R transform(IMatrix2I mat)
Description copied from interface: IVec2I
transform with 2x2 transform matrix

Specified by:
transform in interface IVec2I

transform

public IVec2R transform(IMatrix3I mat)
Description copied from interface: IVec2I
transform with 3x3 transform matrix

Specified by:
transform in interface IVec2I

transform

public IVec2R transform(IVec2I xvec,
                        IVec2I yvec)
Description copied from interface: IVec2I
transform with transform vectors

Specified by:
transform in interface IVec2I

transform

public IVec2R transform(IVec2I xvec,
                        IVec2I yvec,
                        IVec2I translate)
Description copied from interface: IVec2I
transform with transform vectors

Specified by:
transform in interface IVec2I

mv

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

Specified by:
mv in interface IVec2I

mv

public IVec2R mv(IDoubleI x,
                 IDoubleI y)
mv() is alias of add()

Specified by:
mv in interface IVec2I

mv

public IVec2R mv(IVec2I v)
mv() is alias of add()

Specified by:
mv in interface IVec2I

cp

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

Specified by:
cp in interface IVec2I

cp

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

Specified by:
cp in interface IVec2I

cp

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

Specified by:
cp in interface IVec2I

cp

public IVec2R cp(IVec2I v)
cp() is alias of dup().add()

Specified by:
cp in interface IVec2I

dif

public IVec2R dif(IVec2I v)
Description copied from interface: IVec2I
create a new instance of difference

Specified by:
dif in interface IVec2I

dif

public IVec2R dif(double vx,
                  double vy)
Description copied from interface: IVec2I
create a new instance of difference

Specified by:
dif in interface IVec2I

diff

public IVec2R diff(IVec2I v)
Description copied from interface: IVec2I
alias of dif

Specified by:
diff in interface IVec2I

diff

public IVec2R diff(double vx,
                   double vy)
Description copied from interface: IVec2I
alias of dif

Specified by:
diff in interface IVec2I

mid

public IVec2R mid(IVec2I v)
Description copied from interface: IVec2I
create a new instance of midpoint

Specified by:
mid in interface IVec2I

mid

public IVec2R mid(double vx,
                  double vy)
Description copied from interface: IVec2I
create a new instance of midpoint

Specified by:
mid in interface IVec2I

sum

public IVec2R sum(IVec2I v)
Description copied from interface: IVec2I
create a new instance of summation

Specified by:
sum in interface IVec2I

sum

public IVec2R sum(double vx,
                  double vy)
Description copied from interface: IVec2I
create a new instance of summation

Specified by:
sum in interface IVec2I

sum

public IVec2R sum(IVec2I... v)
Description copied from interface: IVec2I
create a new instance of summation

Specified by:
sum in interface IVec2I

bisect

public IVec2R bisect(IVec2I v)
Description copied from interface: IVec2I
create a new instance of bisector

Specified by:
bisect in interface IVec2I

bisect

public IVec2R bisect(double vx,
                     double vy)
Description copied from interface: IVec2I
create a new instance of bisector

Specified by:
bisect in interface IVec2I

sum

public IVec2R sum(IVec2I v2,
                  double w1,
                  double w2)
weighted sum

Specified by:
sum in interface IVec2I

sum

public IVec2R sum(IVec2I v2,
                  double w2)
Description copied from interface: IVec2I
create a new instance of weighted sum

Specified by:
sum in interface IVec2I

sum

public IVec2R sum(IVec2I v2,
                  IDoubleI w1,
                  IDoubleI w2)
Description copied from interface: IVec2I
create a new instance of weighted sum

Specified by:
sum in interface IVec2I

sum

public IVec2R sum(IVec2I v2,
                  IDoubleI w2)
Description copied from interface: IVec2I
create a new instance of weighted sum

Specified by:
sum in interface IVec2I

nml

public IVecR nml(IVec2I v)
alias of cross

Specified by:
nml in interface IVec2I

nml

public IVecR nml(double vx,
                 double vy)
alias of cross

Specified by:
nml in interface IVec2I

nml

public IVecR nml(IVec2I pt1,
                 IVec2I pt2)
create normal vector from 3 points of self, pt1 and pt2

Specified by:
nml in interface IVec2I

nml

public IVecR nml(double vx1,
                 double vy1,
                 double vx2,
                 double vy2)
create normal vector from 3 points of self, pt1 and pt2

Specified by:
nml in interface IVec2I

isValid

public boolean isValid()
checking x, y is valid number (not Infinite, nor NaN).

Specified by:
isValid in interface IVec2I