igeo
Class IVertex

java.lang.Object
  extended by igeo.IVertex
All Implemented Interfaces:
IParameter, ITransformable, IVecI, IVecOp

public class IVertex
extends java.lang.Object
implements IVecI

Class of a vertex of polygon mesh.


Nested Class Summary
static class IVertex.ZComparator
           
static class IVertex.ZYXComparator
           
 
Field Summary
 java.util.ArrayList<IEdge> edges
           
 java.util.ArrayList<IFace> faces
           
 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(ISwitchE e, IVecI v)
           
 double angle(ISwitchE e, IVecI v, IVecI axis)
           
 IDoubleI angle(ISwitchR r, IVecI v)
           
 IDoubleI angle(ISwitchR r, IVecI v, IVecI axis)
           
 double angle(IVecI v)
           
 double angle(IVecI v, IVecI axis)
           
 IVecI bisect(IVecI v)
          create a new instance of bisector
 void calcNormal()
           
 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)
           
 IVertex cp(IVecI v)
           
 IEdge createEdgeTo(IVertex v)
           
 IVecI cross(IVecI v)
          cross product creates a new instance
 void del()
           
 IVecI dif(IVecI v)
          create a new instance of difference
 IVecI diff(IVecI v)
          alias of dif
 double dist(ISwitchE e, IVecI v)
           
 IDoubleI dist(ISwitchR r, IVecI v)
           
 double dist(IVecI v)
           
 double dist2(ISwitchE e, IVecI v)
           
 IDoubleI dist2(ISwitchR r, IVecI v)
           
 double dist2(IVecI v)
          squared distance
 IVertex div(double v)
           
 IVertex div(IDoubleI v)
           
 double dot(ISwitchE e, IVecI v)
           
 IDoubleI dot(ISwitchR r, IVecI v)
           
 double dot(IVecI v)
           
 IVertex dup()
          duplicate the instance
 IEdge edge(int i)
           
 int edgeNum()
           
 boolean eq(ISwitchE e, IVecI v)
           
 boolean eq(ISwitchE e, IVecI v, double resolution)
           
 IBoolI eq(ISwitchR r, IVecI v)
           
 IBoolI eq(ISwitchR r, IVecI v, IDoubleI resolution)
           
 boolean eq(IVecI v)
          whether location is same or not
 boolean eq(IVecI v, double resolution)
           
 boolean eqX(ISwitchE e, IVecI v)
           
 boolean eqX(ISwitchE e, IVecI v, double resolution)
           
 IBoolI eqX(ISwitchR r, IVecI v)
           
 IBoolI eqX(ISwitchR r, IVecI v, IDoubleI resolution)
           
 boolean eqX(IVecI v)
           
 boolean eqX(IVecI v, double resolution)
           
 boolean eqY(ISwitchE e, IVecI v)
           
 boolean eqY(ISwitchE e, IVecI v, double resolution)
           
 IBoolI eqY(ISwitchR r, IVecI v)
           
 IBoolI eqY(ISwitchR r, IVecI v, IDoubleI resolution)
           
 boolean eqY(IVecI v)
           
 boolean eqY(IVecI v, double resolution)
           
 boolean eqZ(ISwitchE e, IVecI v)
           
 boolean eqZ(ISwitchE e, IVecI v, double resolution)
           
 IBoolI eqZ(ISwitchR r, IVecI v)
           
 IBoolI eqZ(ISwitchR r, IVecI v, IDoubleI resolution)
           
 boolean eqZ(IVecI v)
           
 boolean eqZ(IVecI v, double resolution)
           
 IFace face(int i)
           
 int faceNum()
           
 IVertex flip()
          alias of neg
 IVec get()
           
 IVec getAverageNormal()
           
 IEdge getEdge(int i)
           
 IEdge getEdgeTo(IVertex v)
           
 IFace getFace(int i)
           
 IEdge[] getOtherEdges(IEdge edge)
           
 IDoubleI getX()
           
 IDoubleI getY()
           
 IDoubleI getZ()
           
 void init()
           
 boolean isValid()
           
 double len()
           
 IVertex len(double l)
           
 IVertex len(IDoubleI l)
           
 double len(ISwitchE e)
           
 IDoubleI len(ISwitchR r)
           
 double len2()
          square of length
 double len2(ISwitchE e)
           
 IDoubleI len2(ISwitchR r)
           
 IVertex linkedVertex(int i)
           
 int linkedVertexNum()
           
 IVecI mid(IVecI v)
          create a new instance of midpoint
 IVertex mirror(IVecI planeDir)
          mirror is alias of ref
 IVertex mirror(IVecI center, IVecI planeDir)
           
 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)
           
 IVertex mv(IVecI v)
           
 IVertex neg()
           
 IVecI nml()
           
 IVertex nml(double x, double y, double z)
           
 IVertex nml(IVec n)
           
 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()
           
 IVertex normal(double x, double y, double z)
           
 IVertex normal(IVec n)
           
 IVecI nrml()
           
 IVertex nrml(double x, double y, double z)
           
 IVertex nrml(IVec n)
           
 IVertex ref(IVecI planeDir)
          reflect(mirror) 3 dimensionally to the other side of the plane
 IVertex ref(IVecI center, IVecI planeDir)
           
 void replaceLinkedVertex(IVertex oldVertex, IVertex newVertex)
           
 void replaceVertex(IVertex newVertex)
           
 IVertex rev()
          alias of neg()
 IVertex rot(double angle)
           
 IVertex rot(IDoubleI angle)
          rotation around z-axis and origin
 IVertex rot(IVecI axis, double angle)
           
 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)
           
 IVertex rot(IVecI center, IVecI axis, IDoubleI angle)
          rotation around axis vector and center
 IVertex rot(IVecI center, IVecI axis, IVecI destPt)
          rotate to destination point location
 IVertex rot2(double angle)
          rotation on xy-plane around origin; same with rot(double)
 IVertex rot2(IDoubleI angle)
          rotation on xy-plane around origin; same with rot(IDoubleI)
 IVertex rot2(IVecI destDir)
          rotation on xy-plane to destination direction vector
 IVertex rot2(IVecI center, double angle)
           
 IVertex rot2(IVecI center, IDoubleI angle)
          rotation on xy-plane around center
 IVertex rot2(IVecI center, IVecI destPt)
          rotation on xy-plane to destination point location
 IVertex scale(double f)
           
 IVertex scale(IDoubleI f)
          alias of mul
 IVertex scale(IVecI center, double f)
           
 IVertex scale(IVecI center, IDoubleI f)
           
 IVertex scale1d(IVecI axis, double f)
          scale only in 1 direction
 IVertex scale1d(IVecI axis, IDoubleI f)
           
 IVertex scale1d(IVecI center, IVecI axis, double f)
           
 IVertex scale1d(IVecI center, IVecI axis, IDoubleI f)
           
 IVertex set(double x, double y, double z)
           
 IVertex set(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVertex set(IVecI v)
           
 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)
           
 IVertex shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)
           
 IVertex shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
           
 IVertex shearXY(double sxy, double syx)
           
 IVertex shearXY(IDoubleI sxy, IDoubleI syx)
           
 IVertex shearXY(IVecI center, double sxy, double syx)
           
 IVertex shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)
           
 IVertex shearYZ(double syz, double szy)
           
 IVertex shearYZ(IDoubleI syz, IDoubleI szy)
           
 IVertex shearYZ(IVecI center, double syz, double szy)
           
 IVertex shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)
           
 IVertex shearZX(double szx, double sxz)
           
 IVertex shearZX(IDoubleI szx, IDoubleI sxz)
           
 IVertex shearZX(IVecI center, double szx, double sxz)
           
 IVertex shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)
           
 IVertex sub(double x, double y, double z)
           
 IVertex sub(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVertex sub(IVecI v)
           
 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)
           
 IVecI sum(IVecI v2, double w1, double w2)
          weighted sum
 IVecI sum(IVecI v2, IDoubleI w2)
           
 IVecI sum(IVecI v2, IDoubleI w1, IDoubleI w2)
           
 IVec2I texture()
           
 IVertex texture(double u, double v)
           
 IVertex texture(IVec2I t)
           
 IVec2I to2d()
           
 IVec4I to4d()
           
 IVec4I to4d(double w)
           
 IVec4I to4d(IDoubleI w)
           
 java.lang.String toString()
           
 IVertex transform(IMatrix3I mat)
           
 IVertex transform(IMatrix4I mat)
           
 IVertex transform(IVecI xvec, IVecI yvec, IVecI zvec)
           
 IVertex transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)
           
 IVertex translate(double x, double y, double z)
          translate is alias of add()
 IVertex translate(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVertex translate(IVecI v)
           
 IVertex unit()
           
 double x()
           
 double y()
           
 double z()
           
 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
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()

x

public double x()
Specified by:
x in interface IVecI

y

public double y()
Specified by:
y in interface IVecI

z

public double z()
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 IVertex dup()
Description copied from interface: ITransformable
duplicate the instance

Specified by:
dup in interface ITransformable
Specified by:
dup in interface IVecI

to2d

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

mul

public IVertex mul(IDoubleI v)
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 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: ITransformable
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 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

add

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

Specified by:
add in interface ITransformable

dot

public double dot(IVecI v)
Specified by:
dot in interface IVecI

dot

public double dot(ISwitchE e,
                  IVecI v)
Specified by:
dot in interface IVecI

dot

public IDoubleI dot(ISwitchR r,
                    IVecI v)
Specified by:
dot in interface IVecI

cross

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

Specified by:
cross in interface IVecI

len

public double len()
Specified by:
len in interface IVecI

len

public double len(ISwitchE e)
Specified by:
len in interface IVecI

len

public IDoubleI len(ISwitchR r)
Specified by:
len in interface IVecI

len2

public double len2()
Description copied from interface: IVecI
square of length

Specified by:
len2 in interface IVecI

len2

public double len2(ISwitchE e)
Specified by:
len2 in interface IVecI

len2

public IDoubleI len2(ISwitchR r)
Specified by:
len2 in interface IVecI

len

public IVertex len(IDoubleI l)
Specified by:
len in interface IVecI

len

public IVertex len(double l)
Specified by:
len in interface IVecI

unit

public IVertex unit()
Specified by:
unit in interface IVecI

dist

public double dist(IVecI v)
Specified by:
dist in interface IVecI

dist

public double dist(ISwitchE e,
                   IVecI v)
Specified by:
dist in interface IVecI

dist

public IDoubleI dist(ISwitchR r,
                     IVecI v)
Specified by:
dist in interface IVecI

dist2

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

Specified by:
dist2 in interface IVecI

dist2

public double dist2(ISwitchE e,
                    IVecI v)
Specified by:
dist2 in interface IVecI

dist2

public IDoubleI dist2(ISwitchR r,
                      IVecI v)
Specified by:
dist2 in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eq

public boolean eq(ISwitchE e,
                  IVecI v)
Specified by:
eq in interface IVecI

eq

public IBoolI eq(ISwitchR r,
                 IVecI v)
Specified by:
eq in interface IVecI

eq

public boolean eq(IVecI v,
                  double resolution)
Specified by:
eq in interface IVecI

eq

public boolean eq(ISwitchE e,
                  IVecI v,
                  double resolution)
Specified by:
eq in interface IVecI

eq

public IBoolI eq(ISwitchR r,
                 IVecI v,
                 IDoubleI resolution)
Specified by:
eq in interface IVecI

eqX

public boolean eqX(IVecI v)
Specified by:
eqX in interface IVecI

eqY

public boolean eqY(IVecI v)
Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(IVecI v)
Specified by:
eqZ in interface IVecI

eqX

public boolean eqX(ISwitchE e,
                   IVecI v)
Specified by:
eqX in interface IVecI

eqY

public boolean eqY(ISwitchE e,
                   IVecI v)
Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(ISwitchE e,
                   IVecI v)
Specified by:
eqZ in interface IVecI

eqX

public IBoolI eqX(ISwitchR r,
                  IVecI v)
Specified by:
eqX in interface IVecI

eqY

public IBoolI eqY(ISwitchR r,
                  IVecI v)
Specified by:
eqY in interface IVecI

eqZ

public IBoolI eqZ(ISwitchR r,
                  IVecI v)
Specified by:
eqZ in interface IVecI

eqX

public boolean eqX(IVecI v,
                   double resolution)
Specified by:
eqX in interface IVecI

eqY

public boolean eqY(IVecI v,
                   double resolution)
Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(IVecI v,
                   double resolution)
Specified by:
eqZ in interface IVecI

eqX

public boolean eqX(ISwitchE e,
                   IVecI v,
                   double resolution)
Specified by:
eqX in interface IVecI

eqY

public boolean eqY(ISwitchE e,
                   IVecI v,
                   double resolution)
Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(ISwitchE e,
                   IVecI v,
                   double resolution)
Specified by:
eqZ in interface IVecI

eqX

public IBoolI eqX(ISwitchR r,
                  IVecI v,
                  IDoubleI resolution)
Specified by:
eqX in interface IVecI

eqY

public IBoolI eqY(ISwitchR r,
                  IVecI v,
                  IDoubleI resolution)
Specified by:
eqY in interface IVecI

eqZ

public IBoolI eqZ(ISwitchR r,
                  IVecI v,
                  IDoubleI resolution)
Specified by:
eqZ in interface IVecI

angle

public double angle(IVecI v)
Specified by:
angle in interface IVecI
Returns:
angle between two vector from 0 to Pi

angle

public double angle(ISwitchE e,
                    IVecI v)
Specified by:
angle in interface IVecI

angle

public IDoubleI angle(ISwitchR r,
                      IVecI v)
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(ISwitchE e,
                    IVecI v,
                    IVecI axis)
Specified by:
angle in interface IVecI

angle

public IDoubleI angle(ISwitchR r,
                      IVecI v,
                      IVecI axis)
Specified by:
angle in interface IVecI

rot

public IVertex rot(IDoubleI angle)
Description copied from interface: ITransformable
rotation around z-axis and origin

Specified by:
rot in interface ITransformable

rot

public IVertex rot(double angle)
Specified by:
rot in interface ITransformable

rot

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

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

rot

public IVertex rot(IVecI axis,
                   double angle)
Specified by:
rot in interface ITransformable
Specified by:
rot in interface IVecI

rot

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

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

rot

public IVertex rot(IVecI center,
                   IVecI axis,
                   double angle)
Specified by:
rot in interface ITransformable
Specified by:
rot in interface IVecI

rot

public IVertex rot(IVecI axis,
                   IVecI destDir)
Description copied from interface: ITransformable
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: ITransformable
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: ITransformable
rotation on xy-plane around origin; same with rot(IDoubleI)

Specified by:
rot2 in interface ITransformable

rot2

public IVertex rot2(double angle)
Description copied from interface: ITransformable
rotation on xy-plane around origin; same with rot(double)

Specified by:
rot2 in interface ITransformable

rot2

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

Specified by:
rot2 in interface ITransformable

rot2

public IVertex rot2(IVecI center,
                    double angle)
Specified by:
rot2 in interface ITransformable

rot2

public IVertex rot2(IVecI destDir)
Description copied from interface: ITransformable
rotation on xy-plane to destination direction vector

Specified by:
rot2 in interface ITransformable

rot2

public IVertex rot2(IVecI center,
                    IVecI destPt)
Description copied from interface: ITransformable
rotation on xy-plane to destination point location

Specified by:
rot2 in interface ITransformable

scale

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

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

scale

public IVertex scale(double f)
Specified by:
scale in interface ITransformable
Specified by:
scale in interface IVecI

scale

public IVertex scale(IVecI center,
                     IDoubleI f)
Specified by:
scale in interface ITransformable
Specified by:
scale in interface IVecI

scale

public IVertex scale(IVecI center,
                     double f)
Specified by:
scale in interface ITransformable
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)
Specified by:
scale1d in interface ITransformable
Specified by:
scale1d in interface IVecI

scale1d

public IVertex scale1d(IVecI center,
                       IVecI axis,
                       double f)
Specified by:
scale1d in interface ITransformable
Specified by:
scale1d in interface IVecI

scale1d

public IVertex scale1d(IVecI center,
                       IVecI axis,
                       IDoubleI f)
Specified by:
scale1d in interface ITransformable
Specified by:
scale1d in interface IVecI

ref

public IVertex ref(IVecI planeDir)
Description copied from interface: ITransformable
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(IVecI center,
                   IVecI planeDir)
Specified by:
ref in interface ITransformable
Specified by:
ref in interface IVecI

mirror

public IVertex mirror(IVecI planeDir)
Description copied from interface: ITransformable
mirror is alias of ref

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

mirror

public IVertex mirror(IVecI center,
                      IVecI planeDir)
Specified by:
mirror in interface ITransformable
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)
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)
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)
Specified by:
shear in interface ITransformable
Specified by:
shear in interface IVecI

shearXY

public IVertex shearXY(double sxy,
                       double syx)
Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI

shearXY

public IVertex shearXY(IDoubleI sxy,
                       IDoubleI syx)
Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI

shearXY

public IVertex shearXY(IVecI center,
                       double sxy,
                       double syx)
Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI

shearXY

public IVertex shearXY(IVecI center,
                       IDoubleI sxy,
                       IDoubleI syx)
Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI

shearYZ

public IVertex shearYZ(double syz,
                       double szy)
Specified by:
shearYZ in interface ITransformable
Specified by:
shearYZ in interface IVecI

shearYZ

public IVertex shearYZ(IDoubleI syz,
                       IDoubleI szy)
Specified by:
shearYZ in interface ITransformable
Specified by:
shearYZ in interface IVecI

shearYZ

public IVertex shearYZ(IVecI center,
                       double syz,
                       double szy)
Specified by:
shearYZ in interface ITransformable
Specified by:
shearYZ in interface IVecI

shearYZ

public IVertex shearYZ(IVecI center,
                       IDoubleI syz,
                       IDoubleI szy)
Specified by:
shearYZ in interface ITransformable
Specified by:
shearYZ in interface IVecI

shearZX

public IVertex shearZX(double szx,
                       double sxz)
Specified by:
shearZX in interface ITransformable
Specified by:
shearZX in interface IVecI

shearZX

public IVertex shearZX(IDoubleI szx,
                       IDoubleI sxz)
Specified by:
shearZX in interface ITransformable
Specified by:
shearZX in interface IVecI

shearZX

public IVertex shearZX(IVecI center,
                       double szx,
                       double sxz)
Specified by:
shearZX in interface ITransformable
Specified by:
shearZX in interface IVecI

shearZX

public IVertex shearZX(IVecI center,
                       IDoubleI szx,
                       IDoubleI sxz)
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)
Specified by:
translate in interface ITransformable
Specified by:
translate in interface IVecI

translate

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

transform

public IVertex transform(IMatrix3I mat)
Specified by:
transform in interface ITransformable
Specified by:
transform in interface IVecI

transform

public IVertex transform(IMatrix4I mat)
Specified by:
transform in interface ITransformable
Specified by:
transform in interface IVecI

transform

public IVertex transform(IVecI xvec,
                         IVecI yvec,
                         IVecI zvec)
Specified by:
transform in interface ITransformable
Specified by:
transform in interface IVecI

transform

public IVertex transform(IVecI xvec,
                         IVecI yvec,
                         IVecI zvec,
                         IVecI translate)
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)
Specified by:
mv in interface ITransformable
Specified by:
mv in interface IVecI

mv

public IVertex mv(IVecI v)
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 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)
Specified by:
cp in interface ITransformable
Specified by:
cp in interface IVecI

cp

public IVertex cp(IVecI v)
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

diff

public IVecI diff(IVecI v)
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

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(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

sum

public IVecI sum(IVecI v2,
                 double w1,
                 double w2)
Description copied from interface: IVecI
weighted sum

Specified by:
sum in interface IVecI

sum

public IVecI sum(IVecI v2,
                 double w2)
Specified by:
sum in interface IVecI

sum

public IVecI sum(IVecI v2,
                 IDoubleI w1,
                 IDoubleI w2)
Specified by:
sum in interface IVecI

sum

public IVecI sum(IVecI v2,
                 IDoubleI w2)
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(IVecI pt1,
                 IVecI pt2)
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()

nrml

public IVecI nrml()

nml

public IVecI nml()

normal

public IVertex normal(IVec n)

normal

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

nrml

public IVertex nrml(IVec n)

nrml

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

nml

public IVertex nml(IVec n)

nml

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

isValid

public boolean isValid()
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