igeo
Class IVertex

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

public class IVertex
extends java.lang.Object
implements IVecI

Class of a vertex of polygon mesh.

Author:
Satoru Sugihara

Nested Class Summary
static class IVertex.ZComparator
           
static class IVertex.ZYXComparator
           
 
Field Summary
 IColor clr
           
 java.util.ArrayList<IEdge> edges
           
 java.util.ArrayList<IFace> faces
           
 int index
          index number in IMeshGeo vertices array list
 java.util.ArrayList<IVertex> linkedVertices
           
 IVecI normal
           
 IVecI pos
           
 IVec2I texture
           
 
Constructor Summary
IVertex()
           
IVertex(double x, double y, double z)
           
IVertex(IVec p)
           
IVertex(IVec4 p)
           
IVertex(IVecI p)
           
IVertex(IVertex v)
           
 
Method Summary
 IVertex add(double x, double y, double z)
           
 IVertex add(double f, IVecI v)
          scale add alias
 IVertex add(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVertex add(IDoubleI f, IVecI v)
          scale add alias
 IVertex add(IVecI v)
           
 IVertex add(IVecI v, double f)
          scale add
 IVertex add(IVecI v, IDoubleI f)
          scale add
 void addEdge(IEdge e)
           
 void addFace(IFace f)
           
 double angle(double vx, double vy, double vz)
          get angle between two vector from 0 to Pi
 double angle(double vx, double vy, double vz, double axisX, double axisY, double axisZ)
           
 double angle(ISwitchE e, IVecI v)
          get angle between two vector from 0 to Pi
 double angle(ISwitchE e, IVecI v, IVecI axis)
           
 IDoubleI angle(ISwitchR r, IVecI v)
          get angle between two vector from 0 to Pi
 IDoubleI angle(ISwitchR r, IVecI v, IVecI axis)
           
 double angle(IVecI v)
          get angle between two vector from 0 to Pi
 double angle(IVecI v, IVecI axis)
           
 IVecI bisect(double vx, double vy, double vz)
          create a new instance of bisector
 IVecI bisect(IVecI v)
          create a new instance of bisector
 void calcNormal()
           
 IColor clr()
           
 IVertex clr(java.awt.Color c)
           
 IVertex clr(java.awt.Color c, double alpha)
           
 IVertex clr(java.awt.Color c, float alpha)
           
 IVertex clr(java.awt.Color c, int alpha)
           
 IVertex clr(double dgray)
           
 IVertex clr(double dgray, double dalpha)
           
 IVertex clr(double dr, double dg, double db)
           
 IVertex clr(double dr, double dg, double db, double da)
           
 IVertex clr(float fgray)
           
 IVertex clr(float fgray, float falpha)
           
 IVertex clr(float fr, float fg, float fb)
           
 IVertex clr(float fr, float fg, float fb, float fa)
           
 IVertex clr(IColor c)
           
 IVertex clr(IColor c, double alpha)
          to set color, with alpha value overwritten
 IVertex clr(IColor c, float alpha)
          to set color, with alpha value overwritten
 IVertex clr(IColor c, int alpha)
          to set color, with alpha value overwritten
 IVertex clr(int gray)
           
 IVertex clr(int gray, int alpha)
           
 IVertex clr(int r, int g, int b)
           
 IVertex clr(int r, int g, int b, int a)
           
 IVertex cp()
          cp() is alias of dup()
 IVertex cp(double x, double y, double z)
          cp() is alias of dup().add()
 IVertex cp(IDoubleI x, IDoubleI y, IDoubleI z)
          cp() is alias of dup().add()
 IVertex cp(IVecI v)
          cp() is alias of dup().add()
 IEdge createEdgeTo(IVertex v)
           
 IVecI cross(double vx, double vy, double vz)
          cross product, creating a new instance
 IVecI cross(IVecI v)
          cross product, creating a new instance
 void del()
           
 void del(IEdge e)
           
 IVecI dif(double vx, double vy, double vz)
          create a new instance of difference
 IVecI dif(IVecI v)
          create a new instance of difference
 IVecI diff(double vx, double vy, double vz)
          alias of dif
 IVecI 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
 IDoubleI 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
 IDoubleI dist2(ISwitchR r, IVecI v)
          squared distance of two vectors
 double dist2(IVecI v)
          squared distance of two vectors
 IVertex div(double v)
           
 IVertex div(IDoubleI v)
           
 double dot(double vx, double vy, double vz)
          dot product
 double dot(ISwitchE e, IVecI v)
          dot product
 IDoubleI dot(ISwitchR r, IVecI v)
          dot product
 double dot(IVecI v)
          dot product
 IVertex dup()
          duplicate the instance
 IEdge edge(int i)
           
 int edgeNum()
           
 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
 IBoolI eq(ISwitchR r, IVecI v)
          check whether location is same or not
 IBoolI 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
 IBoolI eqX(ISwitchR r, IVecI v)
          check if same in X
 IBoolI 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
 IBoolI eqY(ISwitchR r, IVecI v)
          check if same in Y
 IBoolI 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
 IBoolI eqZ(ISwitchR r, IVecI v)
          check if same in Z
 IBoolI 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
 IFace face(int i)
           
 int faceNum()
           
static int findLinkedVertexInArray(IVertex v, java.util.ArrayList<IVertex> vlist, boolean[] skiplist)
          returns vertex index in arraylist
 IVertex flip()
          alias of neg()
 IVec get()
           
 IVec getAverageNormal()
           
 IColor getColor()
           
 IEdge getEdge(int i)
           
 IEdge getEdgeTo(IVertex v)
           
 IFace getFace(int i)
           
 IVecI getNml()
          getting normal (alias)
 IVecI getNormal()
          getting normal (alias)
 IEdge[] getOtherEdges(IEdge edge)
           
 IDoubleI getX()
           
 IDoubleI getY()
           
 IDoubleI getZ()
           
 IVertex hsb(double dh, double ds, double db)
           
 IVertex hsb(double dh, double ds, double db, double da)
           
 IVertex hsb(float h, float s, float b)
           
 IVertex hsb(float h, float s, float b, float a)
           
 void init()
           
 boolean isValid()
          setting normal; this nml has different function from IVecI's nml
 double len()
          getting length of the vector
 IVertex len(double l)
          setting length
 IVertex len(IDoubleI l)
          setting length
 double len(ISwitchE e)
          getting length of the vector
 IDoubleI 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
 IDoubleI len2(ISwitchR r)
          getting squared length of the vector
 IVertex linkedVertex(int i)
           
 int linkedVertexNum()
           
 IVecI mid(double vx, double vy, double vz)
          create a new instance of midpoint
 IVecI mid(IVecI v)
          create a new instance of midpoint
 IVertex mirror(double planeX, double planeY, double planeZ)
          alias of ref
 IVertex mirror(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)
          alias of ref
 IVertex mirror(IVecI planeDir)
          alias of ref
 IVertex mirror(IVecI center, IVecI planeDir)
          alias of ref
 IVertex mul(double v)
           
 IVertex mul(IDoubleI v)
           
 IVertex mv(double x, double y, double z)
          mv() is alias of add()
 IVertex mv(IDoubleI x, IDoubleI y, IDoubleI z)
          mv() is alias of add()
 IVertex mv(IVecI v)
          mv() is alias of add()
 IVertex neg()
           
 IVecI nml()
          getting normal
 IVecI nml(double vx, double vy, double vz)
          alias of cross
 IVecI nml(double vx1, double vy1, double vz1, double vx2, double vy2, double vz2)
          create normal vector from 3 points of self, pt1 and pt2
 IVecI nml(IVecI v)
          alias of cross.
 IVecI nml(IVecI pt1, IVecI pt2)
          create normal vector from 3 points of self, pt1 and pt2
 IVecI normal()
          getting normal (alias)
 IVecI pos()
          passing position field
 IVertex ref(double planeX, double planeY, double planeZ)
          reflect(mirror) 3 dimensionally to the other side of the plane
 IVertex ref(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)
          reflect(mirror) 3 dimensionally to the other side of the plane
 IVertex ref(IVecI planeDir)
          reflect(mirror) 3 dimensionally to the other side of the plane
 IVertex ref(IVecI center, IVecI planeDir)
          reflect(mirror) 3 dimensionally to the other side of the plane
 void replaceLinkedVertex(IVertex oldVertex, IVertex newVertex)
           
 void replaceVertex(IVertex newVertex)
           
 IVertex rev()
          alias of neg()
 IVertex rot(double angle)
          rotation on XY plane
 IVertex rot(double axisX, double axisY, double axisZ, double angle)
          rotation around axis vector
 IVertex rot(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double angle)
          rotation around axis vector and center point
 IVertex rot(IDoubleI angle)
          rotation on XY plane
 IVertex rot(IVecI axis, double angle)
          rotation around axis vector
 IVertex rot(IVecI axis, IDoubleI angle)
          rotation around axis vector
 IVertex rot(IVecI axis, IVecI destDir)
          rotate to destination direction vector
 IVertex rot(IVecI center, IVecI axis, double angle)
          rotation around axis vector and center point
 IVertex rot(IVecI center, IVecI axis, IDoubleI angle)
          rotation around axis vector and center point
 IVertex rot(IVecI center, IVecI axis, IVecI destPt)
          rotate to destination point location
 IVertex rot2(double angle)
          rotation on xy-plane; alias of rot(double)
 IVertex rot2(double centerX, double centerY, double angle)
          rotation on xy-plane
 IVertex rot2(IDoubleI angle)
          rotation on xy-plane; alias of rot(IDoubleI)
 IVertex rot2(IVecI destDir)
          rotation on xy-plane towards destDir
 IVertex rot2(IVecI center, double angle)
          rotation on xy-plane
 IVertex rot2(IVecI center, IDoubleI angle)
          rotation on xy-plane
 IVertex rot2(IVecI center, IVecI destPt)
          rotation on xy-plane towards destPt
 IVertex scale(double f)
          alias of mul
 IVertex scale(double centerX, double centerY, double centerZ, double f)
          scale from a center
 IVertex scale(IDoubleI f)
          alias of mul
 IVertex scale(IVecI center, double f)
          scale from a center
 IVertex scale(IVecI center, IDoubleI f)
          scale from a center
 IVertex scale1d(double axisX, double axisY, double axisZ, double f)
          scale only in 1 direction
 IVertex scale1d(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double f)
          scale only in 1 direction from a center
 IVertex scale1d(IVecI axis, double f)
          scale only in 1 direction
 IVertex scale1d(IVecI axis, IDoubleI f)
          scale only in 1 direction
 IVertex scale1d(IVecI center, IVecI axis, double f)
          scale only in 1 direction from a center
 IVertex scale1d(IVecI center, IVecI axis, IDoubleI f)
          scale only in 1 direction from a center
 IVertex set(double x, double y, double z)
           
 IVertex set(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVertex set(IVecI v)
           
 IVertex setNml(double x, double y, double z)
           
 IVertex setNml(IVecI n)
           
 IVertex setNormal(double x, double y, double z)
           
 IVertex setNormal(IVecI n)
           
 IVertex shear(double sxy, double syx, double syz, double szy, double szx, double sxz)
          shear operation
 IVertex shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
          shear operation
 IVertex shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)
          shear operation
 IVertex shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
          shear operation
 IVertex shearXY(double sxy, double syx)
          shear operation on XY
 IVertex shearXY(IDoubleI sxy, IDoubleI syx)
          shear operation on XY
 IVertex shearXY(IVecI center, double sxy, double syx)
          shear operation on XY
 IVertex shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)
          shear operation on XY
 IVertex shearYZ(double syz, double szy)
          shear operation on YZ
 IVertex shearYZ(IDoubleI syz, IDoubleI szy)
          shear operation on YZ
 IVertex shearYZ(IVecI center, double syz, double szy)
          shear operation on YZ
 IVertex shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)
          shear operation on YZ
 IVertex shearZX(double szx, double sxz)
          shear operation on ZX
 IVertex shearZX(IDoubleI szx, IDoubleI sxz)
          shear operation on ZX
 IVertex shearZX(IVecI center, double szx, double sxz)
          shear operation on ZX
 IVertex shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)
          shear operation on ZX
static java.util.ArrayList<IVertex> sortByEdge(java.util.ArrayList<IVertex> vtx)
          list of vertices are sorted by tracing edge connection.
static java.util.ArrayList<IVertex> sortByEdge(java.util.ArrayList<IVertex> vtx, int startIdx)
          list of vertices are sorted by tracing edge connection.
static java.util.ArrayList<IVertex> sortByEdge(java.util.ArrayList<IVertex> vtx, IVertex v)
          list of vertices are sorted by tracing edge connection.
 IVertex sub(double x, double y, double z)
           
 IVertex sub(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVertex sub(IVecI v)
           
 IVecI sum(double vx, double vy, double vz)
          create a new instance of total summation
 IVecI sum(IVecI... v)
          create a new instance of total summation
 IVecI sum(IVecI v)
          create a new instance of total summation
 IVecI sum(IVecI v2, double w2)
          create a new instance of weighted sum
 IVecI sum(IVecI v2, double w1, double w2)
          create a new instance of weighted sum
 IVecI sum(IVecI v2, IDoubleI w2)
          create a new instance of weighted sum
 IVecI sum(IVecI v2, IDoubleI w1, IDoubleI w2)
          create a new instance of weighted sum
 IVec2I texture()
           
 IVertex texture(double u, double v)
           
 IVertex texture(IVec2I t)
           
 IVec2I to2d()
           
 IVec2I to2d(IVecI projectionDir)
           
 IVec2I to2d(IVecI xaxis, IVecI yaxis)
           
 IVec2I to2d(IVecI xaxis, IVecI yaxis, IVecI origin)
           
 IVec4I to4d()
           
 IVec4I to4d(double w)
           
 IVec4I to4d(IDoubleI w)
           
 java.lang.String toString()
           
 IVertex transform(IMatrix3I mat)
          transform with a transformation matrix
 IVertex transform(IMatrix4I mat)
          transform with a transformation matrix
 IVertex transform(IVecI xvec, IVecI yvec, IVecI zvec)
          transform with a transformation vectors
 IVertex transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)
          transform with a transformation vectors
 IVertex translate(double x, double y, double z)
          translate is alias of add()
 IVertex translate(IDoubleI x, IDoubleI y, IDoubleI z)
          alias of add()
 IVertex translate(IVecI v)
          alias of add()
 IVertex unit()
          unitize
 double x()
          getting x component
 IVertex x(double vx)
          setting x component
 IVertex x(IDoubleI vx)
          setting x component
 double x(ISwitchE e)
          getting x component
 IDoubleI x(ISwitchR r)
          getting x component
 IVertex x(IVec2I vx)
          setting x component by x component of input vector
 IVertex x(IVecI vx)
          setting x component by x component of input vector
 double y()
          getting y component
 IVertex y(double vy)
          setting y component
 IVertex y(IDoubleI vy)
          setting y component
 double y(ISwitchE e)
          getting y component
 IDoubleI y(ISwitchR r)
          getting y component
 IVertex y(IVec2I vy)
          setting y component by y component of input vector
 IVertex y(IVecI vy)
          setting y component by y component of input vector
 double z()
          getting z component
 IVertex z(double vz)
          setting z component
 IVertex z(IDoubleI vz)
          setting z component
 double z(ISwitchE e)
          getting z component
 IDoubleI z(ISwitchR r)
          getting z component
 IVertex z(IVecI vz)
          setting z component by z component of input vector
 IVertex zero()
          setting all zero
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

edges

public java.util.ArrayList<IEdge> edges

faces

public java.util.ArrayList<IFace> faces

linkedVertices

public java.util.ArrayList<IVertex> linkedVertices

pos

public IVecI pos

normal

public IVecI normal

texture

public IVec2I texture

clr

public IColor clr

index

public int index
index number in IMeshGeo vertices array list

Constructor Detail

IVertex

public IVertex()

IVertex

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

IVertex

public IVertex(IVec p)

IVertex

public IVertex(IVec4 p)

IVertex

public IVertex(IVecI p)

IVertex

public IVertex(IVertex v)
Method Detail

init

public void init()

del

public void del()

del

public void del(IEdge e)

x

public double x()
Description copied from interface: IVecI
getting x component

Specified by:
x in interface IVecI

y

public double y()
Description copied from interface: IVecI
getting y component

Specified by:
y in interface IVecI

z

public double z()
Description copied from interface: IVecI
getting z component

Specified by:
z in interface IVecI

x

public IVertex x(double vx)
Description copied from interface: IVecI
setting x component

Specified by:
x in interface IVecI

y

public IVertex y(double vy)
Description copied from interface: IVecI
setting y component

Specified by:
y in interface IVecI

z

public IVertex z(double vz)
Description copied from interface: IVecI
setting z component

Specified by:
z in interface IVecI

x

public IVertex x(IDoubleI vx)
Description copied from interface: IVecI
setting x component

Specified by:
x in interface IVecI

y

public IVertex y(IDoubleI vy)
Description copied from interface: IVecI
setting y component

Specified by:
y in interface IVecI

z

public IVertex z(IDoubleI vz)
Description copied from interface: IVecI
setting z component

Specified by:
z in interface IVecI

x

public IVertex x(IVecI vx)
Description copied from interface: IVecI
setting x component by x component of input vector

Specified by:
x in interface IVecI

y

public IVertex y(IVecI vy)
Description copied from interface: IVecI
setting y component by y component of input vector

Specified by:
y in interface IVecI

z

public IVertex z(IVecI vz)
Description copied from interface: IVecI
setting z component by z component of input vector

Specified by:
z in interface IVecI

x

public IVertex x(IVec2I vx)
Description copied from interface: IVecI
setting x component by x component of input vector

Specified by:
x in interface IVecI

y

public IVertex y(IVec2I vy)
Description copied from interface: IVecI
setting y component by y component of input vector

Specified by:
y in interface IVecI

x

public double x(ISwitchE e)
Description copied from interface: IVecI
getting x component

Specified by:
x in interface IVecI

y

public double y(ISwitchE e)
Description copied from interface: IVecI
getting y component

Specified by:
y in interface IVecI

z

public double z(ISwitchE e)
Description copied from interface: IVecI
getting z component

Specified by:
z in interface IVecI

x

public IDoubleI x(ISwitchR r)
Description copied from interface: IVecI
getting x component

Specified by:
x in interface IVecI

y

public IDoubleI y(ISwitchR r)
Description copied from interface: IVecI
getting y component

Specified by:
y in interface IVecI

z

public IDoubleI z(ISwitchR r)
Description copied from interface: IVecI
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

pos

public IVecI pos()
passing position field


dup

public IVertex 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 IVec2I to2d()
Specified by:
to2d in interface IVecI

to2d

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

to2d

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

to2d

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

to4d

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

to4d

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

to4d

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

getX

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

getY

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

getZ

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

set

public IVertex set(IVecI v)
Specified by:
set in interface IArithmeticVal<IVecI,IDoubleI>
Specified by:
set in interface IVecI

set

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

set

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

add

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

add

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

add

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

sub

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

sub

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

sub

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

mul

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

mul

public IVertex mul(double v)
Specified by:
mul in interface ITransformable
Specified by:
mul in interface IVecI

div

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

div

public IVertex div(double v)
Specified by:
div in interface ITransformable
Specified by:
div in interface IVecI

neg

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

rev

public IVertex rev()
Description copied from interface: IVecI
alias of neg()

Specified by:
rev in interface IVecI

flip

public IVertex flip()
Description copied from interface: IVecI
alias of neg()

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

zero

public IVertex zero()
Description copied from interface: IVecI
setting all zero

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

add

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

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

add

public IVertex add(IVecI v,
                   IDoubleI f)
scale add

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

add

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

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

add

public IVertex add(IDoubleI f,
                   IVecI v)
scale add alias

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

dot

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

Specified by:
dot in interface IVecI

dot

public double dot(double vx,
                  double vy,
                  double vz)
Description copied from interface: IVecI
dot product

Specified by:
dot in interface IVecI

dot

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

Specified by:
dot in interface IVecI

dot

public IDoubleI dot(ISwitchR r,
                    IVecI v)
Description copied from interface: IVecI
dot product

Specified by:
dot in interface IVecI

cross

public IVecI cross(IVecI v)
Description copied from interface: IVecI
cross product, creating a new instance

Specified by:
cross in interface IVecI

cross

public IVecI cross(double vx,
                   double vy,
                   double vz)
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 IDoubleI 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 IDoubleI len2(ISwitchR r)
Description copied from interface: IVecI
getting squared length of the vector

Specified by:
len2 in interface IVecI

len

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

Specified by:
len in interface IVecI

len

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

Specified by:
len in interface IVecI

unit

public IVertex 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 IDoubleI 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 IDoubleI 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 IBoolI 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 IBoolI 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 IBoolI eqX(ISwitchR r,
                  IVecI v)
Description copied from interface: IVecI
check if same in X

Specified by:
eqX in interface IVecI

eqY

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

Specified by:
eqY in interface IVecI

eqZ

public IBoolI 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 IBoolI 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 IBoolI 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 IBoolI 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 v)
Description copied from interface: IVecI
get angle between two vector from 0 to Pi

Specified by:
angle in interface IVecI

angle

public double angle(double vx,
                    double vy,
                    double vz)
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 v)
Description copied from interface: IVecI
get angle between two vector from 0 to Pi

Specified by:
angle in interface IVecI

angle

public IDoubleI angle(ISwitchR r,
                      IVecI v)
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 v,
                    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 double angle(double vx,
                    double vy,
                    double vz,
                    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 v,
                    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 IDoubleI angle(ISwitchR r,
                      IVecI v,
                      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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex rot(IVecI axis,
                   IVecI destDir)
Description copied from interface: IVecI
rotate to destination direction vector

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

rot

public IVertex rot(IVecI center,
                   IVecI axis,
                   IVecI destPt)
Description copied from interface: IVecI
rotate to destination point location

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

rot2

public IVertex rot2(IDoubleI angle)
Description copied from interface: IVecI
rotation on xy-plane; alias of rot(IDoubleI)

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

rot2

public IVertex rot2(double angle)
Description copied from interface: IVecI
rotation on xy-plane; alias of rot(double)

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

rot2

public IVertex rot2(IVecI center,
                    IDoubleI angle)
Description copied from interface: IVecI
rotation on xy-plane

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

rot2

public IVertex rot2(IVecI center,
                    double angle)
Description copied from interface: IVecI
rotation on xy-plane

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

rot2

public IVertex rot2(double centerX,
                    double centerY,
                    double angle)
Description copied from interface: IVecI
rotation on xy-plane

Specified by:
rot2 in interface IVecI

rot2

public IVertex rot2(IVecI destDir)
Description copied from interface: IVecI
rotation on xy-plane towards destDir

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

rot2

public IVertex rot2(IVecI center,
                    IVecI destPt)
Description copied from interface: IVecI
rotation on xy-plane towards destPt

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

scale

public IVertex scale(IDoubleI f)
Description copied from interface: IVecI
alias of mul

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

scale

public IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex scale1d(IVecI axis,
                       double f)
scale only in 1 direction

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

scale1d

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

scale1d

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

ref

public IVertex ref(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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex mirror(double planeX,
                      double planeY,
                      double planeZ)
Description copied from interface: IVecI
alias of ref

Specified by:
mirror in interface IVecI

mirror

public IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex transform(IMatrix3I 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVertex 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 IVecI dif(IVecI v)
Description copied from interface: IVecI
create a new instance of difference

Specified by:
dif in interface IVecI

dif

public IVecI 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 IVecI diff(IVecI v)
Description copied from interface: IVecI
alias of dif

Specified by:
diff in interface IVecI

diff

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

Specified by:
diff in interface IVecI

mid

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

Specified by:
mid in interface IVecI

mid

public IVecI 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 IVecI sum(IVecI v)
Description copied from interface: IVecI
create a new instance of total summation

Specified by:
sum in interface IVecI

sum

public IVecI 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 IVecI sum(IVecI... v)
Description copied from interface: IVecI
create a new instance of total summation

Specified by:
sum in interface IVecI

bisect

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

Specified by:
bisect in interface IVecI

bisect

public IVecI 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 IVecI 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 IVecI sum(IVecI v2,
                 double w2)
Description copied from interface: IVecI
create a new instance of weighted sum

Specified by:
sum in interface IVecI

sum

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

Specified by:
sum in interface IVecI

sum

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

Specified by:
sum in interface IVecI

nml

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

Specified by:
nml in interface IVecI

nml

public IVecI nml(double vx,
                 double vy,
                 double vz)
Description copied from interface: IVecI
alias of cross

Specified by:
nml in interface IVecI

nml

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

Specified by:
nml in interface IVecI

nml

public IVecI nml(double vx1,
                 double vy1,
                 double vz1,
                 double vx2,
                 double vy2,
                 double vz2)
Description copied from interface: IVecI
create normal vector from 3 points of self, pt1 and pt2

Specified by:
nml in interface IVecI

getAverageNormal

public IVec getAverageNormal()

calcNormal

public void calcNormal()

normal

public IVecI normal()
getting normal (alias)


nml

public IVecI nml()
getting normal


getNormal

public IVecI getNormal()
getting normal (alias)


getNml

public IVecI getNml()
getting normal (alias)


setNormal

public IVertex setNormal(IVecI n)

setNormal

public IVertex setNormal(double x,
                         double y,
                         double z)

setNml

public IVertex setNml(IVecI n)

setNml

public IVertex setNml(double x,
                      double y,
                      double z)

isValid

public boolean isValid()
setting normal; this nml has different function from IVecI's nml

Specified by:
isValid in interface IVecI

texture

public IVec2I texture()

texture

public IVertex texture(IVec2I t)

texture

public IVertex texture(double u,
                       double v)

addEdge

public void addEdge(IEdge e)

getEdge

public IEdge getEdge(int i)

edge

public IEdge edge(int i)

edgeNum

public int edgeNum()

getEdgeTo

public IEdge getEdgeTo(IVertex v)

createEdgeTo

public IEdge createEdgeTo(IVertex v)

addFace

public void addFace(IFace f)

getFace

public IFace getFace(int i)

face

public IFace face(int i)

faceNum

public int faceNum()

linkedVertex

public IVertex linkedVertex(int i)

linkedVertexNum

public int linkedVertexNum()

replaceLinkedVertex

public void replaceLinkedVertex(IVertex oldVertex,
                                IVertex newVertex)

replaceVertex

public void replaceVertex(IVertex newVertex)

getOtherEdges

public IEdge[] getOtherEdges(IEdge edge)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

sortByEdge

public static java.util.ArrayList<IVertex> sortByEdge(java.util.ArrayList<IVertex> vtx,
                                                      int startIdx)
list of vertices are sorted by tracing edge connection. ideally vertices are connected as a circle by edges this works only when all triangulated. quad mesh might not work.


sortByEdge

public static java.util.ArrayList<IVertex> sortByEdge(java.util.ArrayList<IVertex> vtx,
                                                      IVertex v)
list of vertices are sorted by tracing edge connection. ideally vertices are connected as a circle by edges this works only when all triangulated. quad mesh might not work.


sortByEdge

public static java.util.ArrayList<IVertex> sortByEdge(java.util.ArrayList<IVertex> vtx)
list of vertices are sorted by tracing edge connection. ideally vertices are connected as a circle by edges this works only when all triangulated. quad mesh might not work.


findLinkedVertexInArray

public static int findLinkedVertexInArray(IVertex v,
                                          java.util.ArrayList<IVertex> vlist,
                                          boolean[] skiplist)
returns vertex index in arraylist


clr

public IColor clr()

clr

public IVertex clr(IColor c)

clr

public IVertex clr(IColor c,
                   int alpha)
to set color, with alpha value overwritten


clr

public IVertex clr(IColor c,
                   float alpha)
to set color, with alpha value overwritten


clr

public IVertex clr(IColor c,
                   double alpha)
to set color, with alpha value overwritten


clr

public IVertex clr(java.awt.Color c)

clr

public IVertex clr(java.awt.Color c,
                   int alpha)

clr

public IVertex clr(java.awt.Color c,
                   float alpha)

clr

public IVertex clr(java.awt.Color c,
                   double alpha)

getColor

public IColor getColor()
Returns:
returns whatever Color of any graphics member. (first found)

clr

public IVertex clr(int gray)

clr

public IVertex clr(double dgray)

clr

public IVertex clr(float fgray)

clr

public IVertex clr(int gray,
                   int alpha)

clr

public IVertex clr(double dgray,
                   double dalpha)

clr

public IVertex clr(float fgray,
                   float falpha)

clr

public IVertex clr(int r,
                   int g,
                   int b)

clr

public IVertex clr(double dr,
                   double dg,
                   double db)

clr

public IVertex clr(float fr,
                   float fg,
                   float fb)

clr

public IVertex clr(int r,
                   int g,
                   int b,
                   int a)

clr

public IVertex clr(double dr,
                   double dg,
                   double db,
                   double da)

clr

public IVertex clr(float fr,
                   float fg,
                   float fb,
                   float fa)

hsb

public IVertex hsb(double dh,
                   double ds,
                   double db,
                   double da)

hsb

public IVertex hsb(float h,
                   float s,
                   float b,
                   float a)

hsb

public IVertex hsb(double dh,
                   double ds,
                   double db)

hsb

public IVertex hsb(float h,
                   float s,
                   float b)