public interface IVec2I extends IVec2Op, IArithmeticVal<IVec2I,IDoubleI>
Modifier and Type | Method and Description |
---|---|
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
|
IVec2I |
cp()
cp() is alias of dup()
|
IVec2I |
cp(double x,
double y)
cp() is alias of dup().add()
|
IVec2I |
cp(IDoubleI x,
IDoubleI y)
cp() is alias of dup().add()
|
IVec2I |
cp(IVec2I v)
cp() is alias of dup().add()
|
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 |
mv(double x,
double y)
mv() is alias of add()
|
IVec2I |
mv(IDoubleI x,
IDoubleI y)
mv() is alias of add()
|
IVec2I |
mv(IVec2I v)
mv() is alias of add()
|
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 |
scale1d(double axisX,
double axisY,
double f)
scale only in 1 direction
|
IVec2I |
scale1d(double centerX,
double centerY,
double axisX,
double axisY,
double f)
scale only in 1 direction from a center
|
IVec2I |
scale1d(IVec2I axis,
double f)
scale only in 1 direction
|
IVec2I |
scale1d(IVec2I axis,
IDoubleI f)
scale only in 1 direction
|
IVec2I |
scale1d(IVec2I center,
IVec2I axis,
double f)
scale only in 1 direction from a center
|
IVec2I |
scale1d(IVec2I center,
IVec2I axis,
IDoubleI f)
scale only in 1 direction from a center
|
IVec2I |
set(double x,
double y) |
IVec2I |
set(IDoubleI x,
IDoubleI y) |
IVec2I |
set(IVec2I v) |
IVec2I |
shear(double sxy,
double syx)
shear operation on XY
|
IVec2I |
shear(IDoubleI sxy,
IDoubleI syx)
shear operation on XY
|
IVec2I |
shear(IVec2I center,
double sxy,
double syx)
shear operation on XY
|
IVec2I |
shear(IVec2I center,
IDoubleI sxy,
IDoubleI syx)
shear operation on XY
|
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(IMatrix2I mat)
transform with 2x2 transform matrix
|
IVec2I |
transform(IMatrix3I mat)
transform with 3x3 transform matrix
|
IVec2I |
transform(IVec2I xvec,
IVec2I yvec)
transform with transform vectors
|
IVec2I |
transform(IVec2I xvec,
IVec2I yvec,
IVec2I translate)
transform with transform vectors
|
IVec2I |
translate(double x,
double y)
alias of add()
|
IVec2I |
translate(IDoubleI x,
IDoubleI y)
alias of add()
|
IVec2I |
translate(IVec2I v)
alias of add()
|
IVec2I |
unit()
unitize
|
double |
x() |
IVec2I |
x(double vx)
setting x component
|
IVec2I |
x(IDoubleI vx)
setting x component
|
double |
x(ISwitchE e)
getting x component
|
IDoubleI |
x(ISwitchR r)
getting x component
|
double |
y() |
IVec2I |
y(double vy)
setting y component
|
IVec2I |
y(IDoubleI vy)
setting y component
|
double |
y(ISwitchE e)
getting y component
|
IDoubleI |
y(ISwitchR r)
getting y component
|
IVec2I |
zero()
setting all zero
|
double x()
double y()
IVec2I x(double vx)
IVec2I y(double vy)
double x(ISwitchE e)
double y(ISwitchE e)
IVec2 get()
get
in interface IParameter
get
in interface IVec2Op
IVec2I dup()
dup
in interface IArithmeticVal<IVec2I,IDoubleI>
IVecI to3d()
IVecI to3d(double z)
IVec4I to4d()
IVec4I to4d(double z, double w)
IDoubleI getX()
IDoubleI getY()
IVec2I set(double x, double y)
IVec2I add(double x, double y)
IVec2I sub(double x, double y)
IVec2I mul(double v)
IVec2I div(double v)
IVec2I neg()
IVec2I rev()
IVec2I flip()
IVec2I zero()
zero
in interface IArithmeticVal<IVec2I,IDoubleI>
double dot(IVec2I v)
double dot(double vx, double vy)
IVecI cross(double vx, double vy)
double len()
double len(ISwitchE e)
double len2()
double len2(ISwitchE e)
IVec2I len(double l)
IVec2I unit()
IVec2I ortho()
double dist(IVec2I v)
double dist(double vx, double vy)
double dist2(IVec2I v)
double dist2(double vx, double vy)
boolean eq(IVec2I v)
boolean eq(double vx, double vy)
boolean eq(IVec2I v, double tolerance)
boolean eq(double vx, double vy, double tolerance)
boolean eq(ISwitchE e, IVec2I v, double tolerance)
IBoolI eq(ISwitchR r, IVec2I v, IDoubleI tolerance)
boolean eqX(IVec2I v)
boolean eqY(IVec2I v)
boolean eqX(double vx)
boolean eqY(double vy)
boolean eqX(IVec2I v, double tolerance)
boolean eqY(IVec2I v, double tolerance)
boolean eqX(double vx, double tolerance)
boolean eqY(double vy, double tolerance)
double angle(IVec2I v)
double angle(double vx, double vy)
IVec2I rot(double angle)
IVec2I rot(double centerX, double centerY, double angle)
IVec2I scale(double f)
IVec2I scale(double centerX, double centerY, double f)
IVec2I scale1d(double axisX, double axisY, double f)
IVec2I scale1d(IVec2I center, IVec2I axis, double f)
IVec2I scale1d(IVec2I center, IVec2I axis, IDoubleI f)
IVec2I scale1d(double centerX, double centerY, double axisX, double axisY, double f)
IVec2I ref(double lineX, double lineY)
IVec2I ref(IVec2I center, IVec2I lineDir)
IVec2I ref(double centerX, double centerY, double lineX, double lineY)
IVec2I mirror(double lineX, double lineY)
IVec2I mirror(IVec2I center, IVec2I lineDir)
IVec2I mirror(double centerX, double centerY, double lineX, double lineY)
IVec2I shear(double sxy, double syx)
IVec2I translate(double x, double y)
IVec2I transform(IVec2I xvec, IVec2I yvec, IVec2I translate)
IVec2I mv(double x, double y)
IVec2I cp()
cp
in interface IArithmeticVal<IVec2I,IDoubleI>
IVec2I cp(double x, double y)
IVec2I dif(double vx, double vy)
IVec2I diff(double vx, double vy)
IVec2I mid(double vx, double vy)
IVec2I sum(double vx, double vy)
IVec2I bisect(double vx, double vy)
IVecI nml(double vx, double vy)
IVecI nml(double vx1, double vy1, double vx2, double vy2)
boolean isValid()