igeo
Interface IVec2I

All Superinterfaces:
IParameter, IVec2Op
All Known Implementing Classes:
IPolyline2D.Intersection, IVec2, IVec2f, IVec2R

public interface IVec2I
extends IVec2Op

Abstract interface of 2 dimensional vector.

Version:
0.7.0.0;
Author:
Satoru Sugihara

Method Summary
 IVec2I add(double x, double y)
           
 IVec2I add(double f, IVec2I v)
          scale add; alias
 IVec2I add(IDoubleI x, IDoubleI y)
           
 IVec2I add(IDoubleI f, IVec2I v)
          scale add; alias
 IVec2I add(IVec2I v)
           
 IVec2I add(IVec2I v, double f)
          scale add
 IVec2I add(IVec2I v, IDoubleI f)
          scale add
 double angle(double vx, double vy)
          angle between two vectors
 double angle(ISwitchE e, IVec2I v)
          angle between two vectors
 IDoubleI angle(ISwitchR r, IVec2I v)
          angle between two vectors
 double angle(IVec2I v)
          angle between two vectors
 IVec2I bisect(double vx, double vy)
          create a new instance of bisector
 IVec2I bisect(IVec2I v)
          create a new instance of bisector
 IVecI cross(double vx, double vy)
          cross product, returning 3D vector
 IVecI cross(IVec2I v)
          cross product, returning 3D vector
 IVec2I dif(double vx, double vy)
          create a new instance of difference
 IVec2I dif(IVec2I v)
          create a new instance of difference
 IVec2I diff(double vx, double vy)
          alias of dif
 IVec2I diff(IVec2I v)
          alias of dif
 double dist(double vx, double vy)
          distance
 double dist(ISwitchE e, IVec2I v)
          distance
 IDoubleI 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
 IDoubleI dist2(ISwitchR r, IVec2I v)
          squared distance
 double dist2(IVec2I v)
          squared distance
 IVec2I div(double v)
           
 IVec2I div(IDoubleI v)
           
 double dot(double vx, double vy)
          dot product
 double dot(ISwitchE e, IVec2I v)
          dot product
 IDoubleI dot(ISwitchR r, IVec2I v)
          dot product
 double dot(IVec2I v)
          dot product
 IVec2I 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
 IBoolI eq(ISwitchR r, IVec2I v)
          whether location is same or not
 IBoolI 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
 IBoolI eqX(ISwitchR r, IVec2I v)
          check if X is same
 IBoolI 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
 IBoolI eqY(ISwitchR r, IVec2I v)
          check if Y is same
 IBoolI 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
 IVec2I flip()
          alias of neg
 IVec2 get()
           
 IDoubleI getX()
           
 IDoubleI getY()
           
 boolean isValid()
          check if the content of vector is valid; no NaN value
 double len()
          getting length
 IVec2I len(double l)
          setting length
 IVec2I len(IDoubleI l)
          setting length
 double len(ISwitchE e)
          getting length
 IDoubleI len(ISwitchR r)
          getting length
 double len2()
          getting squared length
 double len2(ISwitchE e)
          getting squared length
 IDoubleI len2(ISwitchR r)
          getting squared length
 IVec2I mid(double vx, double vy)
          create a new instance of midpoint
 IVec2I mid(IVec2I v)
          create a new instance of midpoint
 IVec2I mirror(double lineX, double lineY)
          reflect (mirror) 2 dimensionally to the other side of the line
 IVec2I mirror(double centerX, double centerY, double lineX, double lineY)
          reflect (mirror) 2 dimensionally to the other side of the line at a center
 IVec2I mirror(IVec2I lineDir)
          reflect (mirror) 2 dimensionally to the other side of the line
 IVec2I mirror(IVec2I center, IVec2I lineDir)
          reflect (mirror) 2 dimensionally to the other side of the line at a center
 IVec2I mul(double v)
           
 IVec2I mul(IDoubleI v)
           
 IVec2I neg()
           
 IVecI nml(double vx, double vy)
          alias of cross
 IVecI nml(double vx1, double vy1, double vx2, double vy2)
          create normal vector from 3 points of self, pt1 and pt2
 IVecI nml(IVec2I v)
          alias of cross
 IVecI nml(IVec2I pt1, IVec2I pt2)
          create normal vector from 3 points of self, pt1 and pt2
 IVec2I ortho()
          rotate 90 deg
 IVec2I ref(double lineX, double lineY)
          reflect (mirror) 2 dimensionally to the other side of the line
 IVec2I ref(double centerX, double centerY, double lineX, double lineY)
          reflect (mirror) 2 dimensionally to the other side of the line at a center
 IVec2I ref(IVec2I lineDir)
          reflect (mirror) 2 dimensionally to the other side of the line
 IVec2I ref(IVec2I center, IVec2I lineDir)
          reflect (mirror) 2 dimensionally to the other side of the line at a center
 IVec2I rev()
          alias of neg
 IVec2I rot(double angle)
          rotation
 IVec2I rot(double centerX, double centerY, double angle)
          rotation around a center
 IVec2I rot(IDoubleI angle)
          rotation
 IVec2I rot(IVec2I destDir)
          rotate towards destination direction
 IVec2I rot(IVec2I center, double angle)
          rotation around a center
 IVec2I rot(IVec2I center, IDoubleI angle)
          rotation around a center
 IVec2I rot(IVec2I center, IVec2I destPt)
          rotate around a center towards destination point
 IVec2I scale(double f)
          alias of mul
 IVec2I scale(double centerX, double centerY, double f)
          scale from a center
 IVec2I scale(IDoubleI f)
          alias of mul
 IVec2I scale(IVec2I center, double f)
          scale from a center
 IVec2I scale(IVec2I center, IDoubleI f)
          scale from a center
 IVec2I set(double x, double y)
           
 IVec2I set(IDoubleI x, IDoubleI y)
           
 IVec2I set(IVec2I v)
           
 IVec2I sub(double x, double y)
           
 IVec2I sub(IDoubleI x, IDoubleI y)
           
 IVec2I sub(IVec2I v)
           
 IVec2I sum(double vx, double vy)
          create a new instance of summation
 IVec2I sum(IVec2I... v)
          create a new instance of summation
 IVec2I sum(IVec2I v)
          create a new instance of summation
 IVec2I sum(IVec2I v2, double w2)
          create a new instance of weighted sum
 IVec2I sum(IVec2I v2, double w1, double w2)
          create a new instance of weighted sum
 IVec2I sum(IVec2I v2, IDoubleI w2)
          create a new instance of weighted sum
 IVec2I sum(IVec2I v2, IDoubleI w1, IDoubleI w2)
          create a new instance of weighted sum
 IVecI to3d()
           
 IVecI to3d(double z)
           
 IVecI to3d(IDoubleI w)
           
 IVec4I to4d()
           
 IVec4I to4d(double z, double w)
           
 IVec4I to4d(IDoubleI z, IDoubleI w)
           
 IVec2I transform(IVec2I xvec, IVec2I yvec)
          transform with transform vectors
 IVec2I transform(IVec2I xvec, IVec2I yvec, IVec2I translate)
          transform with transform vectors
 IVec2I unit()
          unitize
 double x()
           
 double y()
           
 IVec2I zero()
          setting all zero
 

Method Detail

x

double x()

y

double y()

get

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

dup

IVec2I dup()

to3d

IVecI to3d()

to3d

IVecI to3d(double z)

to3d

IVecI to3d(IDoubleI w)

to4d

IVec4I to4d()

to4d

IVec4I to4d(double z,
            double w)

to4d

IVec4I to4d(IDoubleI z,
            IDoubleI w)

getX

IDoubleI getX()

getY

IDoubleI getY()

set

IVec2I set(IVec2I v)

set

IVec2I set(double x,
           double y)

set

IVec2I set(IDoubleI x,
           IDoubleI y)

add

IVec2I add(double x,
           double y)

add

IVec2I add(IDoubleI x,
           IDoubleI y)

add

IVec2I add(IVec2I v)

sub

IVec2I sub(double x,
           double y)

sub

IVec2I sub(IDoubleI x,
           IDoubleI y)

sub

IVec2I sub(IVec2I v)

mul

IVec2I mul(IDoubleI v)

mul

IVec2I mul(double v)

div

IVec2I div(IDoubleI v)

div

IVec2I div(double v)

neg

IVec2I neg()

rev

IVec2I rev()
alias of neg


flip

IVec2I flip()
alias of neg


zero

IVec2I zero()
setting all zero


add

IVec2I add(IVec2I v,
           double f)
scale add


add

IVec2I add(IVec2I v,
           IDoubleI f)
scale add


add

IVec2I add(double f,
           IVec2I v)
scale add; alias


add

IVec2I add(IDoubleI f,
           IVec2I v)
scale add; alias


dot

double dot(IVec2I v)
dot product


dot

double dot(double vx,
           double vy)
dot product


dot

double dot(ISwitchE e,
           IVec2I v)
dot product


dot

IDoubleI dot(ISwitchR r,
             IVec2I v)
dot product


cross

IVecI cross(IVec2I v)
cross product, returning 3D vector


cross

IVecI cross(double vx,
            double vy)
cross product, returning 3D vector


len

double len()
getting length


len

double len(ISwitchE e)
getting length


len

IDoubleI len(ISwitchR r)
getting length


len2

double len2()
getting squared length


len2

double len2(ISwitchE e)
getting squared length


len2

IDoubleI len2(ISwitchR r)
getting squared length


len

IVec2I len(IDoubleI l)
setting length


len

IVec2I len(double l)
setting length


unit

IVec2I unit()
unitize


ortho

IVec2I ortho()
rotate 90 deg


dist

double dist(IVec2I v)
distance


dist

double dist(double vx,
            double vy)
distance


dist

double dist(ISwitchE e,
            IVec2I v)
distance


dist

IDoubleI dist(ISwitchR r,
              IVec2I v)
distance


dist2

double dist2(IVec2I v)
squared distance


dist2

double dist2(double vx,
             double vy)
squared distance


dist2

double dist2(ISwitchE e,
             IVec2I v)
squared distance


dist2

IDoubleI dist2(ISwitchR r,
               IVec2I v)
squared distance


eq

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


eq

boolean eq(double vx,
           double vy)
whether location is same or not


eq

boolean eq(ISwitchE e,
           IVec2I v)
whether location is same or not


eq

IBoolI eq(ISwitchR r,
          IVec2I v)
whether location is same or not


eq

boolean eq(IVec2I v,
           double tolerance)
whether location is same or not with tolerance


eq

boolean eq(double vx,
           double vy,
           double tolerance)
whether location is same or not with tolerance


eq

boolean eq(ISwitchE e,
           IVec2I v,
           double tolerance)
whether location is same or not with tolerance


eq

IBoolI eq(ISwitchR r,
          IVec2I v,
          IDoubleI tolerance)
whether location is same or not with tolerance


eqX

boolean eqX(IVec2I v)
check if X is same


eqY

boolean eqY(IVec2I v)
check if Y is same


eqX

boolean eqX(double vx)
check if X is same


eqY

boolean eqY(double vy)
check if Y is same


eqX

boolean eqX(ISwitchE e,
            IVec2I v)
check if X is same


eqY

boolean eqY(ISwitchE e,
            IVec2I v)
check if Y is same


eqX

IBoolI eqX(ISwitchR r,
           IVec2I v)
check if X is same


eqY

IBoolI eqY(ISwitchR r,
           IVec2I v)
check if Y is same


eqX

boolean eqX(IVec2I v,
            double tolerance)
check if X is same within tolerance


eqY

boolean eqY(IVec2I v,
            double tolerance)
check if Y is same within tolerance


eqX

boolean eqX(double vx,
            double tolerance)
check if X is same within tolerance


eqY

boolean eqY(double vy,
            double tolerance)
check if Y is same within tolerance


eqX

boolean eqX(ISwitchE e,
            IVec2I v,
            double tolerance)
check if X is same within tolerance


eqY

boolean eqY(ISwitchE e,
            IVec2I v,
            double tolerance)
check if Y is same within tolerance


eqX

IBoolI eqX(ISwitchR r,
           IVec2I v,
           IDoubleI tolerance)
check if X is same within tolerance


eqY

IBoolI eqY(ISwitchR r,
           IVec2I v,
           IDoubleI tolerance)
check if Y is same within tolerance


angle

double angle(IVec2I v)
angle between two vectors


angle

double angle(double vx,
             double vy)
angle between two vectors


angle

double angle(ISwitchE e,
             IVec2I v)
angle between two vectors


angle

IDoubleI angle(ISwitchR r,
               IVec2I v)
angle between two vectors


rot

IVec2I rot(double angle)
rotation


rot

IVec2I rot(IDoubleI angle)
rotation


rot

IVec2I rot(IVec2I center,
           double angle)
rotation around a center


rot

IVec2I rot(double centerX,
           double centerY,
           double angle)
rotation around a center


rot

IVec2I rot(IVec2I center,
           IDoubleI angle)
rotation around a center


rot

IVec2I rot(IVec2I destDir)
rotate towards destination direction


rot

IVec2I rot(IVec2I center,
           IVec2I destPt)
rotate around a center towards destination point


scale

IVec2I scale(IDoubleI f)
alias of mul


scale

IVec2I scale(double f)
alias of mul


scale

IVec2I scale(IVec2I center,
             IDoubleI f)
scale from a center


scale

IVec2I scale(IVec2I center,
             double f)
scale from a center


scale

IVec2I scale(double centerX,
             double centerY,
             double f)
scale from a center


ref

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


ref

IVec2I ref(double lineX,
           double lineY)
reflect (mirror) 2 dimensionally to the other side of the line


ref

IVec2I ref(IVec2I center,
           IVec2I lineDir)
reflect (mirror) 2 dimensionally to the other side of the line at a center


ref

IVec2I ref(double centerX,
           double centerY,
           double lineX,
           double lineY)
reflect (mirror) 2 dimensionally to the other side of the line at a center


mirror

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


mirror

IVec2I mirror(double lineX,
              double lineY)
reflect (mirror) 2 dimensionally to the other side of the line


mirror

IVec2I mirror(IVec2I center,
              IVec2I lineDir)
reflect (mirror) 2 dimensionally to the other side of the line at a center


mirror

IVec2I mirror(double centerX,
              double centerY,
              double lineX,
              double lineY)
reflect (mirror) 2 dimensionally to the other side of the line at a center


transform

IVec2I transform(IVec2I xvec,
                 IVec2I yvec)
transform with transform vectors


transform

IVec2I transform(IVec2I xvec,
                 IVec2I yvec,
                 IVec2I translate)
transform with transform vectors


dif

IVec2I dif(IVec2I v)
create a new instance of difference


dif

IVec2I dif(double vx,
           double vy)
create a new instance of difference


diff

IVec2I diff(IVec2I v)
alias of dif


diff

IVec2I diff(double vx,
            double vy)
alias of dif


mid

IVec2I mid(IVec2I v)
create a new instance of midpoint


mid

IVec2I mid(double vx,
           double vy)
create a new instance of midpoint


sum

IVec2I sum(IVec2I v)
create a new instance of summation


sum

IVec2I sum(double vx,
           double vy)
create a new instance of summation


sum

IVec2I sum(IVec2I... v)
create a new instance of summation


bisect

IVec2I bisect(IVec2I v)
create a new instance of bisector


bisect

IVec2I bisect(double vx,
              double vy)
create a new instance of bisector


sum

IVec2I sum(IVec2I v2,
           double w1,
           double w2)
create a new instance of weighted sum


sum

IVec2I sum(IVec2I v2,
           double w2)
create a new instance of weighted sum


sum

IVec2I sum(IVec2I v2,
           IDoubleI w1,
           IDoubleI w2)
create a new instance of weighted sum


sum

IVec2I sum(IVec2I v2,
           IDoubleI w2)
create a new instance of weighted sum


nml

IVecI nml(IVec2I v)
alias of cross


nml

IVecI nml(double vx,
          double vy)
alias of cross


nml

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


nml

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


isValid

boolean isValid()
check if the content of vector is valid; no NaN value