igeo
Class IVecR

java.lang.Object
  extended by igeo.IParameterObject
      extended by igeo.IVecR
All Implemented Interfaces:
IArithmeticVal<IVecI,IDoubleI>, IParameter, IReferenceParameter, ISubobject, ITransformable, IVal, IVecI, IVecOp

public class IVecR
extends IParameterObject
implements IVecI, IReferenceParameter

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

Author:
Satoru Sugihara

Nested Class Summary
static class IVecR.Add
           
static class IVecR.Angle
           
static class IVecR.Cross
           
static class IVecR.Dist
           
static class IVecR.Dist2
           
static class IVecR.Div
           
static class IVecR.Dot
           
static class IVecR.Eq
           
static class IVecR.EqX
           
static class IVecR.EqY
           
static class IVecR.EqZ
           
static class IVecR.FromX
           
static class IVecR.FromXYZ
           
static class IVecR.FromY
           
static class IVecR.FromZ
           
static class IVecR.Len
           
static class IVecR.Len2
           
static class IVecR.Mul
           
static class IVecR.Neg
           
static class IVecR.Ref
           
static class IVecR.Rot
           
static class IVecR.Rot2
           
static class IVecR.Scale1d
           
static class IVecR.SetLen
           
static class IVecR.Shear
           
static class IVecR.Sub
           
static class IVecR.ToVec2
           
static class IVecR.ToVec2WithAxis
           
static class IVecR.ToVec2WithAxisAndOrigin
           
static class IVecR.ToVec2WithProjection
           
static class IVecR.Transform3
           
static class IVecR.Transform4
           
static class IVecR.TransformVec3
           
static class IVecR.TransformVec4
           
static class IVecR.Unit
           
static class IVecR.X
           
static class IVecR.Y
           
static class IVecR.Z
           
 
Field Summary
protected  IVecOp op
           
 
Fields inherited from class igeo.IParameterObject
parent
 
Constructor Summary
IVecR(double x, double y, double z)
           
IVecR(IDoubleI x, IDoubleI y, IDoubleI z)
           
IVecR(IServerI s, double x, double y, double z)
           
IVecR(IServerI s, IDoubleI x, IDoubleI y, IDoubleI z)
           
IVecR(IServerI s, IVecOp v)
           
IVecR(IVecOp v)
           
 
Method Summary
 IVecR add(double x, double y, double z)
           
 IVecR add(double f, IVecI v)
          scale add alias
 IVecR add(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVecR add(IDoubleI f, IVecI v)
          scale add
 IVecR add(IVecI u)
           
 IVecR add(IVecI v, double f)
          scale add
 IVecR add(IVecI v, IDoubleI f)
          scale add
 double angle(double ux, double uy, double uz)
          get angle between two vector from 0 to Pi
 double angle(double ux, double uy, double uz, double axisX, double axisY, double axisZ)
           
 double angle(ISwitchE e, IVecI u)
          get angle between two vector from 0 to Pi
 double angle(ISwitchE e, IVecI u, IVecI axis)
           
 IDoubleR angle(ISwitchR r, IVecI u)
          get angle between two vector from 0 to Pi
 IDoubleR angle(ISwitchR r, IVecI u, IVecI axis)
           
 double angle(IVecI u)
          get angle between two vector from 0 to Pi
 double angle(IVecI u, IVecI axis)
           
 IVecR bisect(double vx, double vy, double vz)
          create a new instance of bisector
 IVecR bisect(IVecI v)
          create a new instance of bisector
 IVecR cp()
          cp() is alias of dup()
 IVecR cp(double x, double y, double z)
          cp() is alias of dup().add()
 IVecR cp(IDoubleI x, IDoubleI y, IDoubleI z)
          cp() is alias of dup().add()
 IVecR cp(IVecI v)
          cp() is alias of dup().add()
 IVecR cross(double ux, double uy, double uz)
          cross product, creating a new instance
 IVecR cross(IVecI u)
          cross is creating a new instance (2011/08/03)
 IVecR dif(double vx, double vy, double vz)
          create a new instance of difference
 IVecR dif(IVecI v)
          methods creating new instance
 IVecR diff(double vx, double vy, double vz)
          alias of dif
 IVecR diff(IVecI v)
          alias of dif
 double dist(double vx, double vy, double vz)
          distance of two vectors
 double dist(ISwitchE e, IVecI v)
          distance of two vectors
 IDoubleR dist(ISwitchR r, IVecI v)
          distance of two vectors
 double dist(IVecI v)
          distance of two vectors
 double dist2(double vx, double vy, double vz)
          squared distance of two vectors
 double dist2(ISwitchE e, IVecI v)
          squared distance of two vectors
 IDoubleR dist2(ISwitchR r, IVecI v)
          squared distance of two vectors
 double dist2(IVecI v)
          squared distance of two vectors
 IVecR div(double u)
           
 IVecR div(IDoubleI u)
           
 double dot(double ux, double uy, double uz)
          dot product
 double dot(ISwitchE e, IVecI u)
          dot product
 IDoubleR dot(ISwitchR r, IVecI u)
          dot product
 double dot(IVecI u)
          dot product
 IVecR dup()
          duplicate the instance
 boolean eq(double vx, double vy, double vz)
          check whether location is same or not
 boolean eq(double vx, double vy, double vz, double tolerance)
          check whether location is same or not with tolerance
 boolean eq(ISwitchE e, IVecI v)
          check whether location is same or not
 boolean eq(ISwitchE e, IVecI v, double tolerance)
          check whether location is same or not with tolerance
 IBoolR eq(ISwitchR r, IVecI v)
          check whether location is same or not
 IBoolR eq(ISwitchR r, IVecI v, IDoubleI tolerance)
          check whether location is same or not with tolerance
 boolean eq(IVecI v)
          check whether location is same or not
 boolean eq(IVecI v, double tolerance)
          check whether location is same or not with tolerance
 boolean eqX(double vx)
          check if same in X
 boolean eqX(double vx, double tolerance)
          check if same in X with tolerance
 boolean eqX(ISwitchE e, IVecI v)
          check if same in X
 boolean eqX(ISwitchE e, IVecI v, double tolerance)
          check if same in X with tolerance
 IBoolR eqX(ISwitchR r, IVecI v)
          check if same in X
 IBoolR eqX(ISwitchR r, IVecI v, IDoubleI tolerance)
          check if same in X with tolerance
 boolean eqX(IVecI v)
          check if same in X
 boolean eqX(IVecI v, double tolerance)
          check if same in X with tolerance
 boolean eqY(double vy)
          check if same in Y
 boolean eqY(double vy, double tolerance)
          check if same in Y with tolerance
 boolean eqY(ISwitchE e, IVecI v)
          check if same in Y
 boolean eqY(ISwitchE e, IVecI v, double tolerance)
          check if same in Y with tolerance
 IBoolR eqY(ISwitchR r, IVecI v)
          check if same in Y
 IBoolR eqY(ISwitchR r, IVecI v, IDoubleI tolerance)
          check if same in Y with tolerance
 boolean eqY(IVecI v)
          check if same in Y
 boolean eqY(IVecI v, double tolerance)
          check if same in Y with tolerance
 boolean eqZ(double vz)
          check if same in Z
 boolean eqZ(double vz, double tolerance)
          check if same in Z with tolerance
 boolean eqZ(ISwitchE e, IVecI v)
          check if same in Z
 boolean eqZ(ISwitchE e, IVecI v, double tolerance)
          check if same in Z with tolerance
 IBoolR eqZ(ISwitchR r, IVecI v)
          check if same in Z
 IBoolR eqZ(ISwitchR r, IVecI v, IDoubleI tolerance)
          check if same in Z with tolerance
 boolean eqZ(IVecI v)
          check if same in Z
 boolean eqZ(IVecI v, double tolerance)
          check if same in Z with tolerance
 IVecR flip()
          alias of neg()
 IVec get()
           
 IDoubleR getX()
           
 IDoubleR getY()
           
 IDoubleR getZ()
           
 boolean isValid()
          checking x, y, and z is valid number (not Infinite, nor NaN).
 double len()
          getting length of the vector
 IVecR len(double l)
          setting length
 IVecR len(IDoubleI l)
          setting length
 double len(ISwitchE e)
          getting length of the vector
 IDoubleR len(ISwitchR r)
          getting length of the vector
 double len2()
          getting squared length of the vector
 double len2(ISwitchE e)
          getting squared length of the vector
 IDoubleR len2(ISwitchR r)
          getting squared length of the vector
 IVecR mid(double vx, double vy, double vz)
          create a new instance of midpoint
 IVecR mid(IVecI v)
          create a new instance of midpoint
 IVecR mirror(double planeX, double planeY, double planeZ)
          alias of ref
 IVecR mirror(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)
          alias of ref
 IVecR mirror(IVecI planeDir)
          alias of ref
 IVecR mirror(IVecI center, IVecI planeDir)
          alias of ref
 IVecR mul(double u)
           
 IVecR mul(IDoubleI u)
           
 IVecR mv(double x, double y, double z)
          mv() is alias of add()
 IVecR mv(IDoubleI x, IDoubleI y, IDoubleI z)
          mv() is alias of add()
 IVecR mv(IVecI v)
          mv() is alias of add()
 IVecR neg()
           
 IVecR nml(double vx, double vy, double vz)
          alias of cross.
 IVecR nml(double vx1, double vy1, double vz1, double vx2, double vy2, double vz2)
          create normal vector from 3 points of self, pt1 and pt2, not unitized
 IVecR nml(IVecI v)
          alias of cross.
 IVecR nml(IVecI pt1, IVecI pt2)
          create normal vector from 3 points of self, pt1 and pt2, not unitized
 IVecOp operator()
           
 IVecR ref(double planeX, double planeY, double planeZ)
          reflect(mirror) 3 dimensionally to the other side of the plane
 IVecR ref(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)
          reflect(mirror) 3 dimensionally to the other side of the plane
 IVecR ref(IVecI planeDir)
          reflect (mirror) 3 dimensionally to the other side of the plane
 IVecR ref(IVecI center, IVecI planeDir)
          reflect(mirror) 3 dimensionally to the other side of the plane
 IVecR rev()
          alias of neg()
 IVecR rot(double angle)
          rotation on XY plane
 IVecR rot(double axisX, double axisY, double axisZ, double angle)
          rotation around axis vector
 IVecR rot(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double angle)
          rotation around axis vector and center point
 IVecR rot(IDoubleI angle)
          rotation on XY plane
 IVecR rot(IVecI axis, double angle)
          rotation around axis vector
 IVecR rot(IVecI axis, IDoubleI angle)
          rotation around axis vector
 IVecR rot(IVecI axis, IVecI destDir)
          rotate to destination direction vector
 IVecR rot(IVecI center, IVecI axis, double angle)
          rotation around axis vector and center point
 IVecR rot(IVecI center, IVecI axis, IDoubleI angle)
          rotation around axis vector and center point
 IVecR rot(IVecI center, IVecI axis, IVecI destPt)
          rotate to destination point location
 IVecR rot2(double angle)
          rotation on xy-plane
 IVecR rot2(double centerX, double centerY, double angle)
          rotation on xy-plane
 IVecR rot2(IDoubleI angle)
          rotation on xy-plane
 IVecR rot2(IVecI destDir)
          rotation on xy-plane to destination direction vector
 IVecR rot2(IVecI center, double angle)
          rotation on xy-plane
 IVecR rot2(IVecI center, IDoubleI angle)
          rotation on xy-plane
 IVecR rot2(IVecI center, IVecI destPt)
          rotation on xy-plane to destination point location
 IVecR scale(double f)
          alias of mul
 IVecR scale(double centerX, double centerY, double centerZ, double f)
          scale from a center
 IVecR scale(IDoubleI f)
          alias of mul
 IVecR scale(IVecI center, double f)
          scale from a center
 IVecR scale(IVecI center, IDoubleI f)
          scale from a center
 IVecR scale1d(double axisX, double axisY, double axisZ, double f)
          scale only in 1 direction
 IVecR scale1d(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double f)
          scale only in 1 direction from a center
 IVecR scale1d(IVecI axis, double f)
          scale only in 1 direction
 IVecR scale1d(IVecI axis, IDoubleI f)
          scale only in 1 direction
 IVecR scale1d(IVecI center, IVecI axis, double f)
          scale only in 1 direction from a center
 IVecR scale1d(IVecI center, IVecI axis, IDoubleI f)
          scale only in 1 direction from a center
 IVecR set(double x, double y, double z)
           
 IVecR set(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVecR set(IVecI u)
           
 IVecR shear(double sxy, double syx, double syz, double szy, double szx, double sxz)
          shear operation
 IVecR shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
          shear operation
 IVecR shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)
          shear operation
 IVecR shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
          shear operation
 IVecR shearXY(double sxy, double syx)
          shear operation on XY
 IVecR shearXY(IDoubleI sxy, IDoubleI syx)
          shear operation on XY
 IVecR shearXY(IVecI center, double sxy, double syx)
          shear operation on XY
 IVecR shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)
          shear operation on XY
 IVecR shearYZ(double syz, double szy)
          shear operation on YZ
 IVecR shearYZ(IDoubleI syz, IDoubleI szy)
          shear operation on YZ
 IVecR shearYZ(IVecI center, double syz, double szy)
          shear operation on YZ
 IVecR shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)
          shear operation on YZ
 IVecR shearZX(double szx, double sxz)
          shear operation on ZX
 IVecR shearZX(IDoubleI szx, IDoubleI sxz)
          shear operation on ZX
 IVecR shearZX(IVecI center, double szx, double sxz)
          shear operation on ZX
 IVecR shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)
          shear operation on ZX
 IVecR sub(double x, double y, double z)
           
 IVecR sub(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVecR sub(IVecI u)
           
 IVecR sum(double vx, double vy, double vz)
          create a new instance of total summation
 IVecR sum(IVecI... v)
          create a new instance of total summation
 IVecR sum(IVecI v)
          create a new instance of total summation
 IVecR sum(IVecI v2, double w2)
          create a new instance of weighted sum
 IVecR sum(IVecI v2, double w1, double w2)
          create a new instance of weighted sum
 IVecR sum(IVecI v2, IDoubleI w2)
          create a new instance of weighted sum
 IVecR sum(IVecI v2, IDoubleI w1, IDoubleI w2)
          weighted sum, creating a new instance
 IVec2R to2d()
           
 IVec2R to2d(IVecI projectionDir)
           
 IVec2R to2d(IVecI xaxis, IVecI yaxis)
           
 IVec2R to2d(IVecI xaxis, IVecI yaxis, IVecI origin)
           
 IVec4R to4d()
           
 IVec4R to4d(double w)
           
 IVec4R to4d(IDoubleI w)
           
 IVecR transform(IMatrix3I mat)
          transform with matrix
 IVecR transform(IMatrix4I mat)
          transform with a transformation matrix
 IVecR transform(IVecI xvec, IVecI yvec, IVecI zvec)
          transform with a transformation vectors
 IVecR transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)
          transform with a transformation vectors
 IVecR translate(double x, double y, double z)
          translate is alias of add()
 IVecR translate(IDoubleI x, IDoubleI y, IDoubleI z)
          alias of add()
 IVecR translate(IVecI v)
          alias of add()
 IVecR unit()
          unitize
 double x()
          getting x component
 IVecR x(double vx)
          setting x component
 IVecR x(IDoubleI vx)
          setting x component
 double x(ISwitchE e)
          getting x component
 IDoubleR x(ISwitchR r)
          getting x component
 IVecR x(IVec2I v)
          setting x component by x component of input vector
 IVecR x(IVecI v)
          setting x component by x component of input vector
 double y()
          getting y component
 IVecR y(double vy)
          setting y component
 IVecR y(IDoubleI vy)
          setting y component
 double y(ISwitchE e)
          getting y component
 IDoubleR y(ISwitchR r)
          getting y component
 IVecR y(IVec2I v)
          setting y component by y component of input vector
 IVecR y(IVecI v)
          setting y component by y component of input vector
 double z()
          getting z component
 IVecR z(double vz)
          setting z component
 IVecR z(IDoubleI vz)
          setting z component
 double z(ISwitchE e)
          getting z component
 IDoubleR z(ISwitchR r)
          getting z component
 IVecR z(IVecI v)
          setting z component by z component of input vector
 IVecR 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 IVecOp op
Constructor Detail

IVecR

public IVecR(double x,
             double y,
             double z)

IVecR

public IVecR(IVecOp v)

IVecR

public IVecR(IDoubleI x,
             IDoubleI y,
             IDoubleI z)

IVecR

public IVecR(IServerI s,
             double x,
             double y,
             double z)

IVecR

public IVecR(IServerI s,
             IVecOp v)

IVecR

public IVecR(IServerI s,
             IDoubleI x,
             IDoubleI y,
             IDoubleI z)
Method Detail

x

public double x()
getting x component

Specified by:
x in interface IVecI

y

public double y()
getting y component

Specified by:
y in interface IVecI

z

public double z()
getting z component

Specified by:
z in interface IVecI

x

public IVecR x(double vx)
setting x component

Specified by:
x in interface IVecI

y

public IVecR y(double vy)
setting y component

Specified by:
y in interface IVecI

z

public IVecR z(double vz)
setting z component

Specified by:
z in interface IVecI

x

public IVecR x(IDoubleI vx)
setting x component

Specified by:
x in interface IVecI

y

public IVecR y(IDoubleI vy)
setting y component

Specified by:
y in interface IVecI

z

public IVecR z(IDoubleI vz)
setting z component

Specified by:
z in interface IVecI

x

public IVecR x(IVecI v)
setting x component by x component of input vector

Specified by:
x in interface IVecI

y

public IVecR y(IVecI v)
setting y component by y component of input vector

Specified by:
y in interface IVecI

z

public IVecR z(IVecI v)
setting z component by z component of input vector

Specified by:
z in interface IVecI

x

public IVecR x(IVec2I v)
setting x component by x component of input vector

Specified by:
x in interface IVecI

y

public IVecR y(IVec2I v)
setting y component by y component of input vector

Specified by:
y in interface IVecI

x

public double x(ISwitchE e)
getting x component

Specified by:
x in interface IVecI

y

public double y(ISwitchE e)
getting y component

Specified by:
y in interface IVecI

z

public double z(ISwitchE e)
getting z component

Specified by:
z in interface IVecI

x

public IDoubleR x(ISwitchR r)
getting x component

Specified by:
x in interface IVecI

y

public IDoubleR y(ISwitchR r)
getting y component

Specified by:
y in interface IVecI

z

public IDoubleR z(ISwitchR r)
getting z component

Specified by:
z in interface IVecI

get

public IVec get()
Specified by:
get in interface IParameter
Specified by:
get in interface IVecI
Specified by:
get in interface IVecOp

dup

public IVecR dup()
Description copied from interface: ITransformable
duplicate the instance

Specified by:
dup in interface IArithmeticVal<IVecI,IDoubleI>
Specified by:
dup in interface ITransformable
Specified by:
dup in interface IVecI

to2d

public IVec2R to2d()
Specified by:
to2d in interface IVecI

to2d

public IVec2R to2d(IVecI projectionDir)
Specified by:
to2d in interface IVecI

to2d

public IVec2R to2d(IVecI xaxis,
                   IVecI yaxis)
Specified by:
to2d in interface IVecI

to2d

public IVec2R to2d(IVecI xaxis,
                   IVecI yaxis,
                   IVecI origin)
Specified by:
to2d in interface IVecI

to4d

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

to4d

public IVec4R to4d(double w)
Specified by:
to4d in interface IVecI

to4d

public IVec4R to4d(IDoubleI w)
Specified by:
to4d in interface IVecI

getX

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

getY

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

getZ

public IDoubleR getZ()
Specified by:
getZ in interface IVecI

operator

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

set

public IVecR set(IVecI u)
Specified by:
set in interface IArithmeticVal<IVecI,IDoubleI>
Specified by:
set in interface IVecI

set

public IVecR set(double x,
                 double y,
                 double z)
Specified by:
set in interface IVecI

set

public IVecR set(IDoubleI x,
                 IDoubleI y,
                 IDoubleI z)
Specified by:
set in interface IVecI

add

public IVecR add(double x,
                 double y,
                 double z)
Specified by:
add in interface ITransformable
Specified by:
add in interface IVecI

add

public IVecR add(IDoubleI x,
                 IDoubleI y,
                 IDoubleI z)
Specified by:
add in interface ITransformable
Specified by:
add in interface IVecI

add

public IVecR add(IVecI u)
Specified by:
add in interface IArithmeticVal<IVecI,IDoubleI>
Specified by:
add in interface ITransformable
Specified by:
add in interface IVecI

sub

public IVecR sub(double x,
                 double y,
                 double z)
Specified by:
sub in interface ITransformable
Specified by:
sub in interface IVecI

sub

public IVecR sub(IDoubleI x,
                 IDoubleI y,
                 IDoubleI z)
Specified by:
sub in interface ITransformable
Specified by:
sub in interface IVecI

sub

public IVecR sub(IVecI u)
Specified by:
sub in interface IArithmeticVal<IVecI,IDoubleI>
Specified by:
sub in interface ITransformable
Specified by:
sub in interface IVecI

mul

public IVecR mul(IDoubleI u)
Specified by:
mul in interface IArithmeticVal<IVecI,IDoubleI>
Specified by:
mul in interface ITransformable
Specified by:
mul in interface IVecI

mul

public IVecR mul(double u)
Specified by:
mul in interface ITransformable
Specified by:
mul in interface IVecI

div

public IVecR div(IDoubleI u)
Specified by:
div in interface IArithmeticVal<IVecI,IDoubleI>
Specified by:
div in interface ITransformable
Specified by:
div in interface IVecI

div

public IVecR div(double u)
Specified by:
div in interface ITransformable
Specified by:
div in interface IVecI

neg

public IVecR neg()
Specified by:
neg in interface ITransformable
Specified by:
neg in interface IVecI

rev

public IVecR rev()
alias of neg()

Specified by:
rev in interface IVecI

flip

public IVecR flip()
alias of neg()

Specified by:
flip in interface ITransformable
Specified by:
flip in interface IVecI

zero

public IVecR zero()
setting all zero

Specified by:
zero in interface IArithmeticVal<IVecI,IDoubleI>
Specified by:
zero in interface IVecI

add

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

Specified by:
add in interface ITransformable
Specified by:
add in interface IVecI

add

public IVecR add(IVecI v,
                 IDoubleI f)
Description copied from interface: IVecI
scale add

Specified by:
add in interface ITransformable
Specified by:
add in interface IVecI

add

public IVecR add(double f,
                 IVecI v)
scale add alias

Specified by:
add in interface ITransformable
Specified by:
add in interface IVecI

add

public IVecR add(IDoubleI f,
                 IVecI v)
Description copied from interface: IVecI
scale add

Specified by:
add in interface ITransformable
Specified by:
add in interface IVecI

dot

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

Specified by:
dot in interface IVecI

dot

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

Specified by:
dot in interface IVecI

dot

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

Specified by:
dot in interface IVecI

dot

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

Specified by:
dot in interface IVecI

cross

public IVecR cross(IVecI u)
cross is creating a new instance (2011/08/03)

Specified by:
cross in interface IVecI

cross

public IVecR cross(double ux,
                   double uy,
                   double uz)
Description copied from interface: IVecI
cross product, creating a new instance

Specified by:
cross in interface IVecI

len

public double len()
Description copied from interface: IVecI
getting length of the vector

Specified by:
len in interface IVecI

len

public double len(ISwitchE e)
Description copied from interface: IVecI
getting length of the vector

Specified by:
len in interface IVecI

len

public IDoubleR len(ISwitchR r)
Description copied from interface: IVecI
getting length of the vector

Specified by:
len in interface IVecI

len2

public double len2()
Description copied from interface: IVecI
getting squared length of the vector

Specified by:
len2 in interface IVecI

len2

public double len2(ISwitchE e)
Description copied from interface: IVecI
getting squared length of the vector

Specified by:
len2 in interface IVecI

len2

public IDoubleR len2(ISwitchR r)
Description copied from interface: IVecI
getting squared length of the vector

Specified by:
len2 in interface IVecI

len

public IVecR len(IDoubleI l)
Description copied from interface: IVecI
setting length

Specified by:
len in interface IVecI

len

public IVecR len(double l)
Description copied from interface: IVecI
setting length

Specified by:
len in interface IVecI

unit

public IVecR unit()
Description copied from interface: IVecI
unitize

Specified by:
unit in interface IVecI

dist

public double dist(IVecI v)
Description copied from interface: IVecI
distance of two vectors

Specified by:
dist in interface IVecI

dist

public double dist(double vx,
                   double vy,
                   double vz)
Description copied from interface: IVecI
distance of two vectors

Specified by:
dist in interface IVecI

dist

public double dist(ISwitchE e,
                   IVecI v)
Description copied from interface: IVecI
distance of two vectors

Specified by:
dist in interface IVecI

dist

public IDoubleR dist(ISwitchR r,
                     IVecI v)
Description copied from interface: IVecI
distance of two vectors

Specified by:
dist in interface IVecI

dist2

public double dist2(IVecI v)
Description copied from interface: IVecI
squared distance of two vectors

Specified by:
dist2 in interface IVecI

dist2

public double dist2(double vx,
                    double vy,
                    double vz)
Description copied from interface: IVecI
squared distance of two vectors

Specified by:
dist2 in interface IVecI

dist2

public double dist2(ISwitchE e,
                    IVecI v)
Description copied from interface: IVecI
squared distance of two vectors

Specified by:
dist2 in interface IVecI

dist2

public IDoubleR dist2(ISwitchR r,
                      IVecI v)
Description copied from interface: IVecI
squared distance of two vectors

Specified by:
dist2 in interface IVecI

eq

public boolean eq(IVecI v)
Description copied from interface: IVecI
check whether location is same or not

Specified by:
eq in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eqX

public boolean eqX(IVecI v)
Description copied from interface: IVecI
check if same in X

Specified by:
eqX in interface IVecI

eqY

public boolean eqY(IVecI v)
Description copied from interface: IVecI
check if same in Y

Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(IVecI v)
Description copied from interface: IVecI
check if same in Z

Specified by:
eqZ in interface IVecI

eqX

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

Specified by:
eqX in interface IVecI

eqY

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

Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(double vz)
Description copied from interface: IVecI
check if same in Z

Specified by:
eqZ in interface IVecI

eqX

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

Specified by:
eqX in interface IVecI

eqY

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

Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(ISwitchE e,
                   IVecI v)
Description copied from interface: IVecI
check if same in Z

Specified by:
eqZ in interface IVecI

eqX

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

Specified by:
eqX in interface IVecI

eqY

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

Specified by:
eqY in interface IVecI

eqZ

public IBoolR eqZ(ISwitchR r,
                  IVecI v)
Description copied from interface: IVecI
check if same in Z

Specified by:
eqZ in interface IVecI

eqX

public boolean eqX(IVecI v,
                   double tolerance)
Description copied from interface: IVecI
check if same in X with tolerance

Specified by:
eqX in interface IVecI

eqY

public boolean eqY(IVecI v,
                   double tolerance)
Description copied from interface: IVecI
check if same in Y with tolerance

Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(IVecI v,
                   double tolerance)
Description copied from interface: IVecI
check if same in Z with tolerance

Specified by:
eqZ in interface IVecI

eqX

public boolean eqX(double vx,
                   double tolerance)
Description copied from interface: IVecI
check if same in X with tolerance

Specified by:
eqX in interface IVecI

eqY

public boolean eqY(double vy,
                   double tolerance)
Description copied from interface: IVecI
check if same in Y with tolerance

Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(double vz,
                   double tolerance)
Description copied from interface: IVecI
check if same in Z with tolerance

Specified by:
eqZ in interface IVecI

eqX

public boolean eqX(ISwitchE e,
                   IVecI v,
                   double tolerance)
Description copied from interface: IVecI
check if same in X with tolerance

Specified by:
eqX in interface IVecI

eqY

public boolean eqY(ISwitchE e,
                   IVecI v,
                   double tolerance)
Description copied from interface: IVecI
check if same in Y with tolerance

Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(ISwitchE e,
                   IVecI v,
                   double tolerance)
Description copied from interface: IVecI
check if same in Z with tolerance

Specified by:
eqZ in interface IVecI

eqX

public IBoolR eqX(ISwitchR r,
                  IVecI v,
                  IDoubleI tolerance)
Description copied from interface: IVecI
check if same in X with tolerance

Specified by:
eqX in interface IVecI

eqY

public IBoolR eqY(ISwitchR r,
                  IVecI v,
                  IDoubleI tolerance)
Description copied from interface: IVecI
check if same in Y with tolerance

Specified by:
eqY in interface IVecI

eqZ

public IBoolR eqZ(ISwitchR r,
                  IVecI v,
                  IDoubleI tolerance)
Description copied from interface: IVecI
check if same in Z with tolerance

Specified by:
eqZ in interface IVecI

angle

public double angle(IVecI u)
Description copied from interface: IVecI
get angle between two vector from 0 to Pi

Specified by:
angle in interface IVecI
Returns:
angle between two vector from 0 to Pi

angle

public double angle(double ux,
                    double uy,
                    double uz)
Description copied from interface: IVecI
get angle between two vector from 0 to Pi

Specified by:
angle in interface IVecI

angle

public double angle(ISwitchE e,
                    IVecI u)
Description copied from interface: IVecI
get angle between two vector from 0 to Pi

Specified by:
angle in interface IVecI

angle

public IDoubleR angle(ISwitchR r,
                      IVecI u)
Description copied from interface: IVecI
get angle between two vector from 0 to Pi

Specified by:
angle in interface IVecI

angle

public double angle(IVecI u,
                    IVecI axis)
Specified by:
angle in interface IVecI
Parameters:
axis - axis to determin sign of angle following right-handed screw rule.
Returns:
angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

angle

public double angle(double ux,
                    double uy,
                    double uz,
                    double axisX,
                    double axisY,
                    double axisZ)
Specified by:
angle in interface IVecI
Returns:
angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

angle

public double angle(ISwitchE e,
                    IVecI u,
                    IVecI axis)
Specified by:
angle in interface IVecI
axis - axis to determin sign of angle following right-handed screw rule.
Returns:
angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

angle

public IDoubleR angle(ISwitchR r,
                      IVecI u,
                      IVecI axis)
Specified by:
angle in interface IVecI
axis - axis to determin sign of angle following right-handed screw rule.
Returns:
angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

rot

public IVecR rot(IDoubleI angle)
Description copied from interface: IVecI
rotation on XY plane

Specified by:
rot in interface ITransformable
Specified by:
rot in interface IVecI

rot

public IVecR rot(double angle)
Description copied from interface: IVecI
rotation on XY plane

Specified by:
rot in interface ITransformable
Specified by:
rot in interface IVecI

rot

public IVecR rot(IVecI axis,
                 IDoubleI angle)
Description copied from interface: IVecI
rotation around axis vector

Specified by:
rot in interface ITransformable
Specified by:
rot in interface IVecI

rot

public IVecR rot(IVecI axis,
                 double angle)
Description copied from interface: IVecI
rotation around axis vector

Specified by:
rot in interface ITransformable
Specified by:
rot in interface IVecI

rot

public IVecR rot(double axisX,
                 double axisY,
                 double axisZ,
                 double angle)
Description copied from interface: IVecI
rotation around axis vector

Specified by:
rot in interface IVecI

rot

public IVecR rot(IVecI center,
                 IVecI axis,
                 IDoubleI angle)
Description copied from interface: IVecI
rotation around axis vector and center point

Specified by:
rot in interface ITransformable
Specified by:
rot in interface IVecI

rot

public IVecR rot(IVecI center,
                 IVecI axis,
                 double angle)
Description copied from interface: IVecI
rotation around axis vector and center point

Specified by:
rot in interface ITransformable
Specified by:
rot in interface IVecI

rot

public IVecR rot(double centerX,
                 double centerY,
                 double centerZ,
                 double axisX,
                 double axisY,
                 double axisZ,
                 double angle)
Description copied from interface: IVecI
rotation around axis vector and center point

Specified by:
rot in interface IVecI

rot

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

Specified by:
rot in interface ITransformable
Specified by:
rot in interface IVecI

rot

public IVecR rot(IVecI center,
                 IVecI axis,
                 IVecI destPt)
rotate to destination point location

Specified by:
rot in interface ITransformable
Specified by:
rot in interface IVecI

rot2

public IVecR rot2(IDoubleI angle)
rotation on xy-plane

Specified by:
rot2 in interface ITransformable
Specified by:
rot2 in interface IVecI

rot2

public IVecR rot2(double angle)
rotation on xy-plane

Specified by:
rot2 in interface ITransformable
Specified by:
rot2 in interface IVecI

rot2

public IVecR rot2(IVecI center,
                  IDoubleI angle)
rotation on xy-plane

Specified by:
rot2 in interface ITransformable
Specified by:
rot2 in interface IVecI

rot2

public IVecR rot2(IVecI center,
                  double angle)
rotation on xy-plane

Specified by:
rot2 in interface ITransformable
Specified by:
rot2 in interface IVecI

rot2

public IVecR rot2(double centerX,
                  double centerY,
                  double angle)
rotation on xy-plane

Specified by:
rot2 in interface IVecI

rot2

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

Specified by:
rot2 in interface ITransformable
Specified by:
rot2 in interface IVecI

rot2

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

Specified by:
rot2 in interface ITransformable
Specified by:
rot2 in interface IVecI

scale

public IVecR scale(IDoubleI f)
alias of mul

Specified by:
scale in interface ITransformable
Specified by:
scale in interface IVecI

scale

public IVecR scale(double f)
Description copied from interface: IVecI
alias of mul

Specified by:
scale in interface ITransformable
Specified by:
scale in interface IVecI

scale

public IVecR scale(IVecI center,
                   IDoubleI f)
Description copied from interface: IVecI
scale from a center

Specified by:
scale in interface ITransformable
Specified by:
scale in interface IVecI

scale

public IVecR scale(IVecI center,
                   double f)
Description copied from interface: IVecI
scale from a center

Specified by:
scale in interface ITransformable
Specified by:
scale in interface IVecI

scale

public IVecR scale(double centerX,
                   double centerY,
                   double centerZ,
                   double f)
Description copied from interface: IVecI
scale from a center

Specified by:
scale in interface IVecI

scale1d

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

Specified by:
scale1d in interface ITransformable
Specified by:
scale1d in interface IVecI

scale1d

public IVecR scale1d(double axisX,
                     double axisY,
                     double axisZ,
                     double f)
Description copied from interface: IVecI
scale only in 1 direction

Specified by:
scale1d in interface IVecI

scale1d

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

Specified by:
scale1d in interface ITransformable
Specified by:
scale1d in interface IVecI

scale1d

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

Specified by:
scale1d in interface ITransformable
Specified by:
scale1d in interface IVecI

scale1d

public IVecR scale1d(double centerX,
                     double centerY,
                     double centerZ,
                     double axisX,
                     double axisY,
                     double axisZ,
                     double f)
Description copied from interface: IVecI
scale only in 1 direction from a center

Specified by:
scale1d in interface IVecI

scale1d

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

Specified by:
scale1d in interface ITransformable
Specified by:
scale1d in interface IVecI

ref

public IVecR ref(IVecI planeDir)
reflect (mirror) 3 dimensionally to the other side of the plane

Specified by:
ref in interface ITransformable
Specified by:
ref in interface IVecI

ref

public IVecR ref(double planeX,
                 double planeY,
                 double planeZ)
Description copied from interface: IVecI
reflect(mirror) 3 dimensionally to the other side of the plane

Specified by:
ref in interface IVecI

ref

public IVecR ref(IVecI center,
                 IVecI planeDir)
Description copied from interface: IVecI
reflect(mirror) 3 dimensionally to the other side of the plane

Specified by:
ref in interface ITransformable
Specified by:
ref in interface IVecI

ref

public IVecR ref(double centerX,
                 double centerY,
                 double centerZ,
                 double planeX,
                 double planeY,
                 double planeZ)
Description copied from interface: IVecI
reflect(mirror) 3 dimensionally to the other side of the plane

Specified by:
ref in interface IVecI

mirror

public IVecR mirror(IVecI planeDir)
Description copied from interface: IVecI
alias of ref

Specified by:
mirror in interface ITransformable
Specified by:
mirror in interface IVecI

mirror

public IVecR mirror(double planeX,
                    double planeY,
                    double planeZ)
Description copied from interface: IVecI
alias of ref

Specified by:
mirror in interface IVecI

mirror

public IVecR mirror(IVecI center,
                    IVecI planeDir)
Description copied from interface: IVecI
alias of ref

Specified by:
mirror in interface ITransformable
Specified by:
mirror in interface IVecI

mirror

public IVecR mirror(double centerX,
                    double centerY,
                    double centerZ,
                    double planeX,
                    double planeY,
                    double planeZ)
Description copied from interface: IVecI
alias of ref

Specified by:
mirror in interface IVecI

shear

public IVecR shear(double sxy,
                   double syx,
                   double syz,
                   double szy,
                   double szx,
                   double sxz)
shear operation

Specified by:
shear in interface ITransformable
Specified by:
shear in interface IVecI

shear

public IVecR shear(IDoubleI sxy,
                   IDoubleI syx,
                   IDoubleI syz,
                   IDoubleI szy,
                   IDoubleI szx,
                   IDoubleI sxz)
Description copied from interface: IVecI
shear operation

Specified by:
shear in interface ITransformable
Specified by:
shear in interface IVecI

shear

public IVecR shear(IVecI center,
                   double sxy,
                   double syx,
                   double syz,
                   double szy,
                   double szx,
                   double sxz)
Description copied from interface: IVecI
shear operation

Specified by:
shear in interface ITransformable
Specified by:
shear in interface IVecI

shear

public IVecR shear(IVecI center,
                   IDoubleI sxy,
                   IDoubleI syx,
                   IDoubleI syz,
                   IDoubleI szy,
                   IDoubleI szx,
                   IDoubleI sxz)
Description copied from interface: IVecI
shear operation

Specified by:
shear in interface ITransformable
Specified by:
shear in interface IVecI

shearXY

public IVecR shearXY(double sxy,
                     double syx)
Description copied from interface: IVecI
shear operation on XY

Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI

shearXY

public IVecR shearXY(IDoubleI sxy,
                     IDoubleI syx)
Description copied from interface: IVecI
shear operation on XY

Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI

shearXY

public IVecR shearXY(IVecI center,
                     double sxy,
                     double syx)
Description copied from interface: IVecI
shear operation on XY

Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI

shearXY

public IVecR shearXY(IVecI center,
                     IDoubleI sxy,
                     IDoubleI syx)
Description copied from interface: IVecI
shear operation on XY

Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI

shearYZ

public IVecR shearYZ(double syz,
                     double szy)
Description copied from interface: IVecI
shear operation on YZ

Specified by:
shearYZ in interface ITransformable
Specified by:
shearYZ in interface IVecI

shearYZ

public IVecR shearYZ(IDoubleI syz,
                     IDoubleI szy)
Description copied from interface: IVecI
shear operation on YZ

Specified by:
shearYZ in interface ITransformable
Specified by:
shearYZ in interface IVecI

shearYZ

public IVecR shearYZ(IVecI center,
                     double syz,
                     double szy)
Description copied from interface: IVecI
shear operation on YZ

Specified by:
shearYZ in interface ITransformable
Specified by:
shearYZ in interface IVecI

shearYZ

public IVecR shearYZ(IVecI center,
                     IDoubleI syz,
                     IDoubleI szy)
Description copied from interface: IVecI
shear operation on YZ

Specified by:
shearYZ in interface ITransformable
Specified by:
shearYZ in interface IVecI

shearZX

public IVecR shearZX(double szx,
                     double sxz)
Description copied from interface: IVecI
shear operation on ZX

Specified by:
shearZX in interface ITransformable
Specified by:
shearZX in interface IVecI

shearZX

public IVecR shearZX(IDoubleI szx,
                     IDoubleI sxz)
Description copied from interface: IVecI
shear operation on ZX

Specified by:
shearZX in interface ITransformable
Specified by:
shearZX in interface IVecI

shearZX

public IVecR shearZX(IVecI center,
                     double szx,
                     double sxz)
Description copied from interface: IVecI
shear operation on ZX

Specified by:
shearZX in interface ITransformable
Specified by:
shearZX in interface IVecI

shearZX

public IVecR shearZX(IVecI center,
                     IDoubleI szx,
                     IDoubleI sxz)
Description copied from interface: IVecI
shear operation on ZX

Specified by:
shearZX in interface ITransformable
Specified by:
shearZX in interface IVecI

translate

public IVecR translate(double x,
                       double y,
                       double z)
translate is alias of add()

Specified by:
translate in interface ITransformable
Specified by:
translate in interface IVecI

translate

public IVecR translate(IDoubleI x,
                       IDoubleI y,
                       IDoubleI z)
Description copied from interface: IVecI
alias of add()

Specified by:
translate in interface ITransformable
Specified by:
translate in interface IVecI

translate

public IVecR translate(IVecI v)
Description copied from interface: IVecI
alias of add()

Specified by:
translate in interface ITransformable
Specified by:
translate in interface IVecI

transform

public IVecR transform(IMatrix3I mat)
transform with matrix

Specified by:
transform in interface ITransformable
Specified by:
transform in interface IVecI

transform

public IVecR transform(IMatrix4I mat)
Description copied from interface: IVecI
transform with a transformation matrix

Specified by:
transform in interface ITransformable
Specified by:
transform in interface IVecI

transform

public IVecR transform(IVecI xvec,
                       IVecI yvec,
                       IVecI zvec)
Description copied from interface: IVecI
transform with a transformation vectors

Specified by:
transform in interface ITransformable
Specified by:
transform in interface IVecI

transform

public IVecR transform(IVecI xvec,
                       IVecI yvec,
                       IVecI zvec,
                       IVecI translate)
Description copied from interface: IVecI
transform with a transformation vectors

Specified by:
transform in interface ITransformable
Specified by:
transform in interface IVecI

mv

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

Specified by:
mv in interface ITransformable
Specified by:
mv in interface IVecI

mv

public IVecR mv(IDoubleI x,
                IDoubleI y,
                IDoubleI z)
Description copied from interface: IVecI
mv() is alias of add()

Specified by:
mv in interface ITransformable
Specified by:
mv in interface IVecI

mv

public IVecR mv(IVecI v)
Description copied from interface: IVecI
mv() is alias of add()

Specified by:
mv in interface ITransformable
Specified by:
mv in interface IVecI

cp

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

Specified by:
cp in interface IArithmeticVal<IVecI,IDoubleI>
Specified by:
cp in interface ITransformable
Specified by:
cp in interface IVecI

cp

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

Specified by:
cp in interface ITransformable
Specified by:
cp in interface IVecI

cp

public IVecR cp(IDoubleI x,
                IDoubleI y,
                IDoubleI z)
Description copied from interface: IVecI
cp() is alias of dup().add()

Specified by:
cp in interface ITransformable
Specified by:
cp in interface IVecI

cp

public IVecR cp(IVecI v)
Description copied from interface: IVecI
cp() is alias of dup().add()

Specified by:
cp in interface ITransformable
Specified by:
cp in interface IVecI

dif

public IVecR dif(IVecI v)
methods creating new instance

Specified by:
dif in interface IVecI

dif

public IVecR dif(double vx,
                 double vy,
                 double vz)
Description copied from interface: IVecI
create a new instance of difference

Specified by:
dif in interface IVecI

diff

public IVecR diff(IVecI v)
Description copied from interface: IVecI
alias of dif

Specified by:
diff in interface IVecI

diff

public IVecR diff(double vx,
                  double vy,
                  double vz)
Description copied from interface: IVecI
alias of dif

Specified by:
diff in interface IVecI

mid

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

Specified by:
mid in interface IVecI

mid

public IVecR mid(double vx,
                 double vy,
                 double vz)
Description copied from interface: IVecI
create a new instance of midpoint

Specified by:
mid in interface IVecI

sum

public IVecR sum(IVecI v)
Description copied from interface: IVecI
create a new instance of total summation

Specified by:
sum in interface IVecI

sum

public IVecR sum(double vx,
                 double vy,
                 double vz)
Description copied from interface: IVecI
create a new instance of total summation

Specified by:
sum in interface IVecI

sum

public IVecR sum(IVecI... v)
Description copied from interface: IVecI
create a new instance of total summation

Specified by:
sum in interface IVecI

bisect

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

Specified by:
bisect in interface IVecI

bisect

public IVecR bisect(double vx,
                    double vy,
                    double vz)
Description copied from interface: IVecI
create a new instance of bisector

Specified by:
bisect in interface IVecI

sum

public IVecR sum(IVecI v2,
                 IDoubleI w1,
                 IDoubleI w2)
weighted sum, creating a new instance

Specified by:
sum in interface IVecI

sum

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

Specified by:
sum in interface IVecI

sum

public IVecR sum(IVecI v2,
                 double w1,
                 double w2)
Description copied from interface: IVecI
create a new instance of weighted sum

Specified by:
sum in interface IVecI

sum

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

Specified by:
sum in interface IVecI

nml

public IVecR nml(IVecI v)
alias of cross. (not unitized ...)

Specified by:
nml in interface IVecI

nml

public IVecR nml(double vx,
                 double vy,
                 double vz)
alias of cross. (not unitized ...)

Specified by:
nml in interface IVecI

nml

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

Specified by:
nml in interface IVecI

nml

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

Specified by:
nml in interface IVecI

isValid

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

Specified by:
isValid in interface IVecI