public class IVec extends IParameterObject implements IVecI, IEntityParameter
Modifier and Type | Field and Description |
---|---|
static IVec |
origin |
double |
x |
static IVec |
xaxis |
double |
y |
static IVec |
yaxis |
double |
z |
static IVec |
zaxis |
parent
Constructor and Description |
---|
IVec() |
IVec(double x,
double y) |
IVec(double x,
double y,
double z) |
IVec(IDoubleI x,
IDoubleI y,
IDoubleI z) |
IVec(IServerI s) |
IVec(IServerI s,
double x,
double y) |
IVec(IServerI s,
double x,
double y,
double z) |
IVec(IServerI s,
IDoubleI x,
IDoubleI y,
IDoubleI z) |
IVec(IServerI s,
IVec v) |
IVec(IServerI s,
IVec2I v) |
IVec(IServerI s,
IVecI v) |
IVec(IVec v) |
IVec(IVec2I v) |
IVec(IVecI v) |
Modifier and Type | Method and Description |
---|---|
IVec |
add(double x,
double y,
double z) |
IVec |
add(double f,
IVec v)
scale add; alias of add(IVec,double)
|
IVec |
add(double f,
IVecI v)
scale add; alias of add(IVecI,double)
|
IVec |
add(IDoubleI x,
IDoubleI y,
IDoubleI z) |
IVec |
add(IDoubleI f,
IVecI v)
scale add; alias of add(IVec,IDouble)
|
IVec |
add(IVec v) |
IVec |
add(IVec v,
double f)
scale add
|
IVec |
add(IVecI v) |
IVec |
add(IVecI v,
double f)
scale add
|
IVec |
add(IVecI v,
IDoubleI f)
scale add
|
double |
angle(double vx,
double vy,
double vz)
angle in radian, ranging from 0 to Pi
|
double |
angle(double vx,
double vy,
double vz,
double axisX,
double axisY,
double axisZ)
angle in radian, with reference axis to decide which is negative direction, ranging from -Pi to Pi
angle is not measured on the plane of axis.
|
double |
angle(ISwitchE e,
IVecI v)
angle in radian, ranging from 0 to Pi
|
double |
angle(ISwitchE e,
IVecI v,
IVecI axis)
angle in radian, with reference axis to decide which is negative direction, ranging from -Pi to Pi
angle is not measured on the plane of axis.
|
IDouble |
angle(ISwitchR r,
IVecI v)
angle in radian, ranging from 0 to Pi
|
IDouble |
angle(ISwitchR r,
IVecI v,
IVecI axis)
angle in radian, with reference axis to decide which is negative direction, ranging from -Pi to Pi
angle is not measured on the plane of axis.
|
double |
angle(IVec v)
angle in radian, ranging from 0 to Pi
|
double |
angle(IVecI v)
angle in radian, ranging from 0 to Pi
|
double |
angle(IVecI v,
IVecI axis)
angle in radian, with reference axis to decide which is negative direction, ranging from -Pi to Pi
angle is not measured on the plane of axis.
|
static double |
angle(IVecI pt1,
IVecI pt2,
IVecI pt3)
measure angle of polyline of pt1, pt2 and pt3 at pt2, which is equivalent to measure angle between vectors from pt2 to pt1 and pt2 to pt3.
|
double |
angle(IVec v,
IVec axis)
angle in radian, with reference axis to decide which is negative direction, ranging from -Pi to Pi
angle is not measured on the plane of axis.
|
double |
angleOnPlane(ISwitchE e,
IVecI v,
IVecI planeDir)
angle of two vector on a specified plane
|
double |
angleOnPlane(ISwitchE e,
IVecI pt,
IVecI planeCenter,
IVecI planeDir)
angle of two points on a specified plane around the center
|
IDouble |
angleOnPlane(ISwitchR r,
IVecI v,
IVecI planeDir)
angle of two vector on a specified plane
|
IDouble |
angleOnPlane(ISwitchR r,
IVecI pt,
IVecI planeCenter,
IVecI planeDir)
angle of two points on a specified plane around the center
|
double |
angleOnPlane(IVecI v,
IVecI planeDir)
angle of two vector on a specified plane
|
double |
angleOnPlane(IVecI pt,
IVecI planeCenter,
IVecI planeDir)
angle of two points on a specified plane around the center
|
double |
angleOnPlane(IVec v,
IVec planeDir)
angle of two vector on a specified plane
|
double |
angleOnPlane(IVec pt,
IVec planeCenter,
IVec planeDir)
angle of two points on a specified plane around the center
|
static double |
area(IVecI pt1,
IVecI pt2,
IVecI pt3)
area of a triangle
|
static IVec |
averageNormal(IVecI[] pts)
average normal of point array in form of a polyline.
|
static IVec |
averageNormal(IVecI[][] pts)
average normal of point array in form of a matrix.
|
IVec |
bisect(double vx,
double vy,
double vz)
create a new instance of bisector
|
IVec |
bisect(IVec v)
create a new instance of bisector
|
IVec |
bisect(IVecI v)
create a new instance of bisector
|
static IVec[] |
bisectPlane(IVec planeDir1,
IVec planePt1,
IVec planeDir2,
IVec planePt2)
bisector plane of two planes
|
static IVec |
center(IVecI... v)
calculating centetr of multiple points
|
static IVec |
circumcenter(IVecI pt1,
IVecI pt2,
IVecI pt3)
calculate circumcenter; center of circumcircle
|
static IVec[] |
closestPointsOn2Lines(IVecI lineDir1,
IVecI linePt1,
IVecI lineDir2,
IVecI linePt2)
find two closest points on two infinete lines in a skew relationship, which makes a segment perpendicular to two lines
|
static IVec[] |
closestPointsOn2Lines(IVec lineDir1,
IVec linePt1,
IVec lineDir2,
IVec linePt2)
find two closest points on two infinete lines in a skew relationship, which makes a segment perpendicular to two lines
|
static IVec[] |
closestPointsOnLines(IVecI lineDir1,
IVecI linePt1,
IVecI lineDir2,
IVecI linePt2)
find two closest points on two infinete lines in a skew relationship, which makes a segment perpendicular to two lines
|
static IVec[] |
closestPointsOnLines(IVec lineDir1,
IVec linePt1,
IVec lineDir2,
IVec linePt2)
find two closest points on two infinete lines in a skew relationship, which makes a segment perpendicular to two lines
|
static IVec[] |
closestPointsOnSegments(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2)
find two closest points on two finete line segments in a skew relationship
|
static IVec[] |
closestPointsOnSegments(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2)
find two closest points on two finete line segments in a skew relationship
|
static IVec[] |
closestPtsOnLines(IVecI lineDir1,
IVecI linePt1,
IVecI lineDir2,
IVecI linePt2)
find two closest points on two infinete lines in a skew relationship, which makes a segment perpendicular to two lines
|
static IVec[] |
closestPtsOnLines(IVec lineDir1,
IVec linePt1,
IVec lineDir2,
IVec linePt2)
find two closest points on two infinete lines in a skew relationship, which makes a segment perpendicular to two lines
|
static IVec[] |
closestPtsOnSegments(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2)
find two closest points on two finete line segments in a skew relationship
|
static IVec[] |
closestPtsOnSegments(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2)
find two closest points on two finete line segments in a skew relationship
|
IVec |
cp()
cp() is alias of dup()
|
IVec |
cp(double vx,
double vy,
double vz)
cp() is alias of dup().add()
|
IVec |
cp(IDoubleI vx,
IDoubleI vy,
IDoubleI vz)
cp() is alias of dup().add()
|
IVec |
cp(IVec v)
cp() is alias of dup().add()
|
IVec |
cp(IVecI v)
cp() is alias of dup().add()
|
IVec |
cross(double vx,
double vy,
double vz)
cross product.
|
IVec |
cross(IVec v)
cross product.
|
IVec |
cross(IVecI v)
cross product, creating a new instance
|
IVec[] |
decompose(IVecI uaxis,
IVecI vaxis)
decompose the vector to two input vectors and another perpendicular vector of those two and returns three decomposed vector.
|
IVec |
dif(double vx,
double vy,
double vz)
create a new instance of difference
|
IVec |
dif(IVec v)
create a new instance of difference
|
IVec |
dif(IVecI v)
create a new instance of difference
|
IVec |
diff(double vx,
double vy,
double vz)
create a new instance of difference
|
IVec |
diff(IVec v)
create a new instance of difference
|
IVec |
diff(IVecI v)
create a new instance of difference
|
double |
dist(double vx,
double vy,
double vz)
get distance between two vectors
|
double |
dist(ISwitchE e,
IVecI v)
get distance between two vectors
|
IDouble |
dist(ISwitchR r,
IVecI v)
get distance between two vectors
|
double |
dist(IVec v)
get distance between two vectors
|
double |
dist(IVecI v)
get distance between two vectors
|
double |
dist2(double vx,
double vy,
double vz)
get squared distance between two vectors
|
double |
dist2(ISwitchE e,
IVecI v)
get squared distance between two vectors
|
IDouble |
dist2(ISwitchR r,
IVecI v)
get squared distance between two vectors
|
double |
dist2(IVec v)
get squared distance between two vectors
|
double |
dist2(IVecI v)
get squared distance between two vectors
|
static double |
distBetween2Lines(IVecI lineDir1,
IVecI linePt1,
IVecI lineDir2,
IVecI linePt2) |
static double |
distBetween2Lines(IVec lineDir1,
IVec linePt1,
IVec lineDir2,
IVec linePt2) |
static double |
distBetween2Segments(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2) |
static double |
distBetween2Segments(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2) |
static double |
distBetweenLines(IVecI lineDir1,
IVecI linePt1,
IVecI lineDir2,
IVecI linePt2) |
static double |
distBetweenLines(IVec lineDir1,
IVec linePt1,
IVec lineDir2,
IVec linePt2) |
static double |
distBetweenSegments(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2) |
double |
distToLine(IVecI lineDir)
distance to a line dir
|
double |
distToLine(IVecI lineDir,
IVecI linePt)
distance to an infinite line
|
double |
distToPlane(IVecI planeDir,
IVecI planePt)
distance to a plane
|
double |
distToSegment(IVecI linePt1,
IVecI linePt2)
distance to a line segment
|
double |
distToTriangle(IVecI pt1,
IVecI pt2,
IVecI pt3)
distance to a triangle
|
IVec |
div(double v) |
IVec |
div(IDouble v) |
IVec |
div(IDoubleI v) |
double |
dot(double vx,
double vy,
double vz)
dot product in double
|
double |
dot(ISwitchE e,
IVecI v)
dot product in double
|
IDouble |
dot(ISwitchR r,
IVecI v)
dot product in IDouble
|
double |
dot(IVec v)
dot product in double
|
double |
dot(IVecI v)
dot product in double
|
IVec |
dup()
duplicate the instance
|
boolean |
eq(double vx,
double vy,
double vz)
check if 2 vectors are same by distance
|
boolean |
eq(double vx,
double vy,
double vz,
double tolerance)
check if 2 vectors are same by distance with tolerace
|
boolean |
eq(ISwitchE e,
IVecI v)
check if 2 vectors are same by distance
|
boolean |
eq(ISwitchE e,
IVecI v,
double tolerance)
check if 2 vectors are same by distance with tolerace
|
IBool |
eq(ISwitchR r,
IVecI v)
check if 2 vectors are same by distance
|
IBool |
eq(ISwitchR r,
IVecI v,
IDoubleI tolerance)
check if 2 vectors are same by distance with tolerace
|
boolean |
eq(IVec v)
check if 2 vectors are same by distance
|
boolean |
eq(IVec v,
double tolerance)
check if 2 vectors are same by distance with tolerace
|
boolean |
eq(IVecI v)
check if 2 vectors are same by distance
|
boolean |
eq(IVecI v,
double tolerance)
check if 2 vectors are same by distance with tolerace
|
boolean |
eqX(double vx)
check if 2 vectors are same in X
|
boolean |
eqX(double vx,
double tolerance)
check if same in X with tolerance
|
boolean |
eqX(ISwitchE e,
IVecI v)
check if 2 vectors are same in X
|
boolean |
eqX(ISwitchE e,
IVecI v,
double tolerance)
check if same in X with tolerance
|
IBool |
eqX(ISwitchR r,
IVecI v)
check if 2 vectors are same in X
|
IBool |
eqX(ISwitchR r,
IVecI v,
IDoubleI tolerance)
check if same in X with tolerance
|
boolean |
eqX(IVec v)
check if 2 vectors are same in X
|
boolean |
eqX(IVec v,
double tolerance) |
boolean |
eqX(IVecI v)
check if 2 vectors are same in X
|
boolean |
eqX(IVecI v,
double tolerance)
check if same in X with tolerance
|
boolean |
eqY(double vy)
check if 2 vectors are same in Y
|
boolean |
eqY(double vy,
double tolerance)
check if same in Y with tolerance
|
boolean |
eqY(ISwitchE e,
IVecI v)
check if 2 vectors are same in Y
|
boolean |
eqY(ISwitchE e,
IVecI v,
double tolerance)
check if same in Y with tolerance
|
IBool |
eqY(ISwitchR r,
IVecI v)
check if 2 vectors are same in Y
|
IBool |
eqY(ISwitchR r,
IVecI v,
IDoubleI tolerance)
check if same in Y with tolerance
|
boolean |
eqY(IVec v)
check if 2 vectors are same in Y
|
boolean |
eqY(IVec v,
double tolerance) |
boolean |
eqY(IVecI v)
check if 2 vectors are same in Y
|
boolean |
eqY(IVecI v,
double tolerance)
check if same in Y with tolerance
|
boolean |
eqZ(double vz)
check if 2 vectors are same in Z
|
boolean |
eqZ(double vz,
double tolerance)
check if same in Z with tolerance
|
boolean |
eqZ(ISwitchE e,
IVecI v)
check if 2 vectors are same in Z
|
boolean |
eqZ(ISwitchE e,
IVecI v,
double tolerance)
check if same in Z with tolerance
|
IBool |
eqZ(ISwitchR r,
IVecI v)
check if 2 vectors are same in Z
|
IBool |
eqZ(ISwitchR r,
IVecI v,
IDoubleI tolerance)
check if same in Z with tolerance
|
boolean |
eqZ(IVec v)
check if 2 vectors are same in Z
|
boolean |
eqZ(IVec v,
double tolerance) |
boolean |
eqZ(IVecI v)
check if 2 vectors are same in Z
|
boolean |
eqZ(IVecI v,
double tolerance)
check if same in Z with tolerance
|
IVec |
flip()
alias of neg()
|
IVec |
get() |
static IVec |
getNormal(double vx1,
double vy1,
double vz1,
double vx2,
double vy2,
double vz2,
double vx3,
double vy3,
double vz3) |
IVecI |
getNormal(IVecI pt2,
IVecI pt3)
alias of nml
|
static IVecI |
getNormal(IVecI pt1,
IVecI pt2,
IVecI pt3)
create normal vector from 3 points
|
IVec |
getNormal(IVec pt2,
IVec pt3)
alias of nml
|
static IVec |
getNormal(IVec pt1,
IVec pt2,
IVec pt3)
create normal vector from 3 points
|
IDouble |
getX() |
IDouble |
getY() |
IDouble |
getZ() |
IVec |
icross(double vx,
double vy,
double vz)
cross product, changing its values by itself.
|
IVec |
icross(IVec v)
cross product, changing its values by itself.
|
IVec |
icross(IVecI v)
cross product, changing its values by itself.
|
static IVec |
intersect(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2)
intersection of two infinite lines.
|
static IVec |
intersect(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2,
double tolerance)
intersection of two infinite lines.
|
static IVec |
intersect(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2)
intersection of two infinite lines.
|
static IVec |
intersect(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2,
double tolerance)
intersection of two infinite lines.
|
static IVec[] |
intersectCircle(IVec circleNormal1,
IVec circleCenter1,
double radius1,
IVec circleNormal2,
IVec circleCenter2,
double radius2) |
static IVec[] |
intersectCircleAndSphere(IVec circleNormal,
IVec circleCenter,
double circleRadius,
IVec sphereCenter,
double sphereRadius) |
static IVec |
intersectInfiniteLine(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2)
intersect infinite lines; alias of intersect()
|
static IVec |
intersectInfiniteLine(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2,
double tolerance)
intersect infinite lines; alias of intersect()
|
static IVec |
intersectInfiniteLine(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2)
intersect infinite lines; alias of intersect()
|
static IVec |
intersectInfiniteLine(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2,
double tolerance)
intersect infinite lines; alias of intersect()
|
static IVec |
intersectInfiniteLines(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2)
intersect infinite lines; alias of intersect()
|
static IVec |
intersectInfiniteLines(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2,
double tolerance)
intersect infinite lines; alias of intersect()
|
static IVec |
intersectInfiniteLines(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2)
intersect infinite lines; alias of intersect()
|
static IVec |
intersectInfiniteLines(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2,
double tolerance)
intersect infinite lines; alias of intersect()
|
static IVec |
intersectInfLine(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2)
intersect infinite lines; alias of intersect()
|
static IVec |
intersectInfLine(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2,
double tolerance)
intersect infinite lines; alias of intersect()
|
static IVec |
intersectInfLine(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2)
intersect infinite lines; alias of intersect()
|
static IVec |
intersectInfLine(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2,
double tolerance)
intersect infinite lines; alias of intersect()
|
static IVec |
intersectInfLines(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2)
intersect infinite lines; alias of intersect()
|
static IVec |
intersectInfLines(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2,
double tolerance)
intersect infinite lines; alias of intersect()
|
static IVec |
intersectInfLines(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2)
intersect infinite lines; alias of intersect()
|
static IVec |
intersectInfLines(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2,
double tolerance)
intersect infinite lines; alias of intersect()
|
static IVec |
intersectLine(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2)
intersection of line segments; alias of intersectSegment
|
static IVec |
intersectLine(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2,
double tolerance) |
static IVec |
intersectLine(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2) |
static IVec |
intersectLine(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2,
double tolerance) |
static IVec[] |
intersectLineAndSphere(IVec lineDir,
IVec linePt,
IVec center,
double radius)
intersection between an infinite line and a sphere.
|
static IVec |
intersectLines(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2)
intersection of line segments; alias of intersectSegment
|
static IVec |
intersectLines(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2,
double tolerance) |
static IVec |
intersectLines(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2) |
static IVec |
intersectLines(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2,
double tolerance) |
static IVec |
intersectPlane(IVec plane1Dir,
IVec plane2Dir)
intersection of two planes at the origin.
|
static IVec[] |
intersectPlane(IVec plane1Dir,
IVec plane1Pt,
IVec plane2Dir,
IVec plane2Pt)
intersection of two planes.
|
static IVec[] |
intersectPlane(IVec plane1Pt1,
IVec plane1Pt2,
IVec plane1Pt3,
IVec plane2Pt1,
IVec plane2Pt2,
IVec plane2Pt3)
intersection of two planes
|
static IVec |
intersectPlaneAndLine(IVec planeDir,
IVec lineDir,
IVec linePt)
intersection of one plane at the origin and one infinite line
|
static IVec |
intersectPlaneAndLine(IVec planeDir,
IVec planePt,
IVec lineDir,
IVec linePt)
intersection of one plane and one infinite line
|
static IVec |
intersectPlaneAndLine(IVec planePt1,
IVec planePt2,
IVec planePt3,
IVec linePt1,
IVec linePt2)
intersection of one plane and one infinite line
|
static IVec |
intersectPlaneAndSegment(IVec planeDir,
IVec linePt1,
IVec linePt2)
intersection of one plane at the origin and one line segment.
|
static IVec |
intersectPlaneAndSegment(IVec planeDir,
IVec planePt,
IVec linePt1,
IVec linePt2)
intersection of one plane and one line segment.
|
static IVec[] |
intersectPlaneAndSphere(IVec planeDir,
IVec planePt,
IVec sphereCenter,
double sphereRadius)
intersection circle of a plane and a sphere.
|
static IVec |
intersectSeg(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2)
intersection of line segments; alias of intersectSegment
|
static IVec |
intersectSeg(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2,
double tolerance) |
static IVec |
intersectSeg(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2) |
static IVec |
intersectSeg(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2,
double tolerance) |
static IVec |
intersectSegment(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2) |
static IVec |
intersectSegment(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2,
double tolerance) |
static IVec |
intersectSegment(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2)
intersection of line segments.
|
static IVec |
intersectSegment(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2,
double tolerance)
intersection of line segments.
|
static IVec |
intersectSegments(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2)
intersection of line segments; alias of intersectSegment
|
static IVec |
intersectSegments(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2,
double tolerance) |
static IVec |
intersectSegments(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2) |
static IVec |
intersectSegments(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2,
double tolerance) |
static IVec[] |
intersectSphere(IVec sphereCenter1,
double radius1,
IVec sphereCenter2,
double radius2)
intersection circle of two spheres
|
static boolean |
isArrayEqual(IVec[] pts1,
IVec[] pts2,
boolean cyclic,
boolean reverse) |
static boolean |
isArrayEqual(IVec[] pts1,
IVec[] pts2,
boolean cyclic,
boolean reverse,
double tolerance) |
static boolean |
isFlat(IVecI[] pts) |
static boolean |
isFlat(IVecI[] pts,
double tolerance) |
static boolean |
isFlat(IVecI pt1,
IVecI pt2,
IVecI pt3,
IVecI pt4) |
static boolean |
isFlat(IVecI pt1,
IVecI pt2,
IVecI pt3,
IVecI pt4,
double tolerance) |
boolean |
isInside2d(IVec2I[] pts) |
boolean |
isInside2d(IVecI[] pts) |
boolean |
isInside2d(IVecI projectionDir,
IVec2I[] pts) |
boolean |
isInside2d(IVecI projectionDir,
IVecI[] pts) |
boolean |
isInsideTriangle(IVecI pt1,
IVecI pt2,
IVecI pt3) |
static boolean |
isLinesCloserThan(IVecI lineDir1,
IVecI linePt1,
IVecI lineDir2,
IVecI linePt2,
double thresholdDist) |
static boolean |
isLinesCloserThan(IVec lineDir1,
IVec linePt1,
IVec lineDir2,
IVec linePt2,
double thresholdDist) |
boolean |
isOnLine(IVecI v1,
IVecI v2)
determine if it's on & inside the line
|
boolean |
isOnLine(IVecI v1,
IVecI v2,
double tolerance)
determine if it's on & inside the line
|
boolean |
isOnPlane(IVecI planeDir,
IVecI planePt) |
boolean |
isOnPlane(IVecI planeDir,
IVecI planePt,
double tolerance) |
boolean |
isOnPlane(IVecI planePt1,
IVecI planePt2,
IVecI planePt3) |
boolean |
isOnPlane(IVecI planePt1,
IVecI planePt2,
IVecI planePt3,
double tolerance) |
boolean |
isOnSegment(IVecI v1,
IVecI v2)
alias of isOnLine
|
boolean |
isOnSegment(IVecI v1,
IVecI v2,
double tolerance)
alias of isOnLine
|
boolean |
isOnTriangle(IVecI pt1,
IVecI pt2,
IVecI pt3) |
boolean |
isOnTriangle(IVecI pt1,
IVecI pt2,
IVecI pt3,
double tolerance) |
boolean |
isParallel(IVecI v) |
boolean |
isParallel(IVecI v,
double angleTolerance) |
boolean |
isPerpendicular(IVecI v) |
boolean |
isPerpendicular(IVecI v,
double angleTolerance) |
static boolean |
isSegCloserThan(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2,
double thresholdDist) |
static boolean |
isSegCloserThan(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2,
double thresholdDist) |
static boolean |
isSegmentsCloserThan(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2,
double thresholdDist) |
static boolean |
isSegmentsCloserThan(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2,
double thresholdDist) |
static boolean |
isStraight(IVecI[] pts) |
static boolean |
isStraight(IVecI[] pts,
double tolerance)
static methods
|
boolean |
isStraight(IVecI v1,
IVecI v2) |
boolean |
isStraight(IVecI v1,
IVecI v2,
double tolerance) |
boolean |
isValid()
checking x, y, and z is valid number (not Infinite, nor NaN).
|
double |
len()
get length of the vector
|
IVec |
len(double l)
set length of the vector
|
IVec |
len(IDoubleI l)
set length of the vector
|
double |
len(ISwitchE e)
get length of the vector
|
IDouble |
len(ISwitchR r)
get length of the vector
|
double |
len2()
get squared length of the vector
|
double |
len2(ISwitchE e)
get squared length of the vector
|
IDouble |
len2(ISwitchR r)
get squared length of the vector
|
static double |
lineDist(IVecI lineDir1,
IVecI linePt1,
IVecI lineDir2,
IVecI linePt2) |
static double |
lineDist(IVec lineDir1,
IVec linePt1,
IVec lineDir2,
IVec linePt2) |
IVec |
mid(double vx,
double vy,
double vz)
create a new instance of midpoint
|
IVec |
mid(IVec v)
create a new instance of midpoint
|
IVec |
mid(IVecI v)
create a new instance of midpoint
|
IVec |
mirror(double planeX,
double planeY,
double planeZ)
alias of ref
|
IVec |
mirror(double centerX,
double centerY,
double centerZ,
double planeX,
double planeY,
double planeZ)
alias of ref
|
IVec |
mirror(IVec planeDir)
alias of ref
|
IVec |
mirror(IVecI planeDir)
alias of ref
|
IVec |
mirror(IVecI center,
IVecI planeDir)
alias of ref
|
IVec |
mirror(IVec center,
IVec planeDir)
alias of ref
|
IVec |
mul(double v) |
IVec |
mul(IDouble v) |
IVec |
mul(IDoubleI v) |
IVec |
mv(double vx,
double vy,
double vz)
mv() is alias of add()
|
IVec |
mv(IDoubleI vx,
IDoubleI vy,
IDoubleI vz)
mv() is alias of add()
|
IVec |
mv(IVecI v)
mv() is alias of add()
|
IVec |
neg() |
IVec |
nml(double vx,
double vy,
double vz)
alias of cross.
|
IVec |
nml(double vx1,
double vy1,
double vz1,
double vx2,
double vy2,
double vz2)
create normal vector from 3 points of self, pt1 and pt2 (not unitized)
|
static IVec |
nml(double vx1,
double vy1,
double vz1,
double vx2,
double vy2,
double vz2,
double vx3,
double vy3,
double vz3)
create normal vector from 3 points
|
IVec |
nml(IVec v)
alias of cross.
|
IVec |
nml(IVecI v)
alias of cross.
|
IVec |
nml(IVecI pt1,
IVecI pt2)
create normal vector from 3 points of self, pt1 and pt2 (not unitized)
|
static IVecI |
nml(IVecI pt1,
IVecI pt2,
IVecI pt3)
create normal vector from 3 points
|
IVec |
nml(IVec pt1,
IVec pt2)
create normal vector from 3 points of self, pt1 and pt2 (not unitized)
|
static IVec |
nml(IVec pt1,
IVec pt2,
IVec pt3)
create normal vector from 3 points
|
static IVec[] |
offset(IVec[] pts,
double width) |
static IVec[] |
offset(IVec[] pts,
double width,
boolean closed) |
static IVec[] |
offset(IVec[] pts,
double width,
IVecI planeNormal) |
static IVec[] |
offset(IVec[] pts,
double width,
IVecI[] normals) |
static IVec[] |
offset(IVec[] pts,
double width,
IVecI[] normals,
boolean closed) |
static IVec[] |
offset(IVec[] pts,
double width,
IVecI planeNormal,
boolean closed) |
static IVecI[] |
offset(IVecI[] pts,
double width)
offset without normal vector.
|
static IVecI[] |
offset(IVecI[] pts,
double width,
boolean closed) |
static IVecI[] |
offset(IVecI[] pts,
double width,
IVecI planeNormal)
offset with one normal vector
|
static IVecI[] |
offset(IVecI[] pts,
double width,
IVecI[] normals)
offset with array of normal vectors
|
static IVecI[] |
offset(IVecI[] pts,
double width,
IVecI[] normals,
boolean closed) |
static IVecI[] |
offset(IVecI[] pts,
double width,
IVecI planeNormal,
boolean closed) |
static IVecI[] |
offset(IVecI[] pts,
IDoubleI width) |
static IVecI[] |
offset(IVecI[] pts,
IDoubleI width,
boolean closed) |
static IVecI[] |
offset(IVecI[] pts,
IDoubleI width,
IVecI planeNormal) |
static IVecI[] |
offset(IVecI[] pts,
IDoubleI width,
IVecI[] normals) |
static IVecI[] |
offset(IVecI[] pts,
IDoubleI width,
IVecI[] normals,
boolean closed) |
static IVecI[] |
offset(IVecI[] pts,
IDoubleI width,
IVecI planeNormal,
boolean closed) |
static IVecI[] |
offset(IVecI[] pts,
int ptNum,
int returnNum,
double width,
IVecI[] normals,
boolean closed)
offset points
|
static IVecI[] |
offset(IVecI[] pts,
int ptNum,
int returnNum,
IDoubleI width,
IVecI[] normals,
boolean closed)
offset points
|
static IVecI[] |
offsetNormal(IVecI[] pts,
int ptNum,
boolean close) |
static IVec[] |
perpendicularTo2Lines(IVecI lineDir1,
IVecI linePt1,
IVecI lineDir2,
IVecI linePt2)
alias to closestPointsOn2Lines
|
static IVec[] |
perpendicularTo2Lines(IVec lineDir1,
IVec linePt1,
IVec lineDir2,
IVec linePt2)
alias to closestPointsOn2Lines
|
IVec |
perpendicularVecToLine(IVecI lineDir)
create a new vector from line to this point perpendicular to the line dir
|
IVec |
perpendicularVecToLine(IVecI lineDir,
IVecI linePt)
create a new vector from this point to the line in parpendicular direction.
|
double[] |
projectTo2Vec(IVecI v1,
IVecI v2)
project the vector to the plane defined by two input vector and decompose vector to two vector and another perpendicular vector and returns coefficient of them.
|
IVec |
projectToLine(IVecI linePt,
IVecI lineDir)
project to an infinite line.
|
IVec |
projectToPlane(IVecI planeNormal)
project a vector onto a plane at origin
|
static void |
projectToPlane(IVecI[] pts)
project point array to a plane.
|
static void |
projectToPlane(IVecI[][] pts)
project point array to a plane.
|
static void |
projectToPlane(IVecI[][] pts,
IVecI planeNormal)
project point array to a plane.
|
static void |
projectToPlane(IVecI[][] pts,
IVecI planeNormal,
IVecI planePt)
project point array to a plane.
|
static void |
projectToPlane(IVecI[][] pts,
IVecI projectDir,
IVecI planeNormal,
IVecI planePt)
project point array to a plane.
|
static void |
projectToPlane(IVecI[] pts,
IVecI planeNormal)
project point array to a plane.
|
static void |
projectToPlane(IVecI[] pts,
IVecI planeNormal,
IVecI planePt)
project point array to a plane.
|
static void |
projectToPlane(IVecI[] pts,
IVecI projectDir,
IVecI planeNormal,
IVecI planePt)
project point array to a plane.
|
IVec |
projectToPlane(IVecI projectDir,
IVecI planeNormal)
project a vector onto a plane at origin towards a specified direction
|
IVec |
projectToPlane(IVecI projectDir,
IVecI planeNormal,
IVecI planePoint)
project a point onto a plane at planePoint towards a specified direction
|
static IVecI |
projectToPlane(IVecI pt,
IVecI projectDir,
IVecI planeNormal,
IVecI planePt)
project point a plane.
|
IVec |
projectToSegment(IVecI linePt1,
IVecI linePt2)
project to a line segment.
|
IVec |
projectToTriangle(IVecI pt1,
IVecI pt2,
IVecI pt3) |
double |
projectToVec(IVecI v)
project this vector to the input vector and returns projection coefficient.
|
double |
ratioOnSegment(IVecI linePt1,
IVecI linePt2)
ratio of projected point between two points (line segment).
|
IVec |
ref(double planeX,
double planeY,
double planeZ)
reflect (mirror) 3 dimensionally to the other side of the plane
|
IVec |
ref(double centerX,
double centerY,
double centerZ,
double planeX,
double planeY,
double planeZ)
reflect (mirror) 3 dimensionally to the other side of the plane at the center
|
IVec |
ref(IVec planeDir)
reflect (mirror) 3 dimensionally to the other side of the plane
|
IVec |
ref(IVecI planeDir)
reflect (mirror) 3 dimensionally to the other side of the plane
|
IVec |
ref(IVecI center,
IVecI planeDir)
reflect (mirror) 3 dimensionally to the other side of the plane at the center
|
IVec |
ref(IVec center,
IVec planeDir)
reflect (mirror) 3 dimensionally to the other side of the plane at the center
|
IVec |
rev()
alias of neg()
|
IVec |
rot(double angle)
rotation on xy-plane
|
IVec |
rot(double axisX,
double axisY,
double axisZ,
double angle)
rotate the vector around the axis
|
IVec |
rot(double centerX,
double centerY,
double centerZ,
double axisX,
double axisY,
double axisZ,
double angle)
rotation around axis vector and center point
|
IVec |
rot(IDoubleI angle)
rotation on xy-plane
|
IVec |
rot(IVec axis,
double angle)
rotate the vector around the axis
|
IVec |
rot(IVecI axis,
double angle)
rotation around axis vector
|
IVec |
rot(IVecI axis,
IDoubleI angle)
rotation around axis vector
|
IVec |
rot(IVecI axis,
IVecI destDir)
rotation around axis towards destination direction
|
IVec |
rot(IVecI center,
IVecI axis,
double angle)
rotation around axis vector and center point
|
IVec |
rot(IVecI center,
IVecI axis,
IDoubleI angle)
rotation around axis vector and center point
|
IVec |
rot(IVecI center,
IVecI axis,
IVecI destPt)
rotation around axis and center towards destination point
|
IVec |
rot(IVec axis,
IVec destDir)
rotation around axis towards destination direction
|
IVec |
rot(IVec center,
IVec axis,
double angle) |
IVec |
rot(IVec center,
IVec axis,
IVec destPt)
rotation around axis and center towards destination point
|
IVec |
rot2(double angle)
rotation on xy-plane; alias of rot(double)
|
IVec |
rot2(double centerX,
double centerY,
double angle)
rotation on xy-plane
|
IVec |
rot2(IDoubleI angle)
rotation on xy-plane; alias of rot(IDoubleI)
|
IVec |
rot2(IVec destDir)
rotation on xy-plane towards destDir
|
IVec |
rot2(IVec center,
double angle)
rotation on xy-plane
|
IVec |
rot2(IVecI destDir)
rotation on xy-plane towards destDir
|
IVec |
rot2(IVecI center,
double angle)
rotation on xy-plane
|
IVec |
rot2(IVecI center,
IDoubleI angle)
rotation on xy-plane
|
IVec |
rot2(IVecI center,
IVecI destPt)
rotation on xy-plane towards destPt
|
IVec |
rot2(IVec center,
IVec destPt)
rotation on xy-plane towards destPt
|
IVec |
scale(double f)
alias of mul
|
IVec |
scale(double centerX,
double centerY,
double centerZ,
double f)
scale from the center
|
IVec |
scale(IDoubleI f)
alias of mul
|
IVec |
scale(IVec center,
double f)
scale from the center
|
IVec |
scale(IVecI center,
double f)
scale from the center
|
IVec |
scale(IVecI center,
IDoubleI f)
scale from the center
|
IVec |
scale1d(double axisX,
double axisY,
double axisZ,
double f)
scale only in 1 direction
|
IVec |
scale1d(double centerX,
double centerY,
double centerZ,
double axisX,
double axisY,
double axisZ,
double f)
scale only in 1 direction
|
IVec |
scale1d(IVec axis,
double f)
scale only in 1 direction
|
IVec |
scale1d(IVecI axis,
double f)
scale only in 1 direction
|
IVec |
scale1d(IVecI axis,
IDoubleI f)
scale only in 1 direction
|
IVec |
scale1d(IVecI center,
IVecI axis,
double f)
scale only in 1 direction
|
IVec |
scale1d(IVecI center,
IVecI axis,
IDoubleI f)
scale only in 1 direction
|
IVec |
scale1d(IVec center,
IVec axis,
double f)
scale only in 1 direction
|
static double |
segDist(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2) |
static double |
segDist(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2) |
static double |
segmentDist(IVecI line1Pt1,
IVecI line1Pt2,
IVecI line2Pt1,
IVecI line2Pt2) |
static double |
segmentDist(IVec line1Pt1,
IVec line1Pt2,
IVec line2Pt1,
IVec line2Pt2) |
IVec |
set(double x,
double y,
double z) |
IVec |
set(IDoubleI x,
IDoubleI y,
IDoubleI z) |
IVec |
set(IVec v) |
IVec |
set(IVecI v) |
IVec |
shear(double sxy,
double syx,
double syz,
double szy,
double szx,
double sxz)
shear operation
|
IVec |
shear(IDoubleI sxy,
IDoubleI syx,
IDoubleI syz,
IDoubleI szy,
IDoubleI szx,
IDoubleI sxz)
shear operation
|
IVec |
shear(IVecI center,
double sxy,
double syx,
double syz,
double szy,
double szx,
double sxz)
shear operation
|
IVec |
shear(IVecI center,
IDoubleI sxy,
IDoubleI syx,
IDoubleI syz,
IDoubleI szy,
IDoubleI szx,
IDoubleI sxz)
shear operation
|
IVec |
shearXY(double sxy,
double syx)
shear operation on XY
|
IVec |
shearXY(IDoubleI sxy,
IDoubleI syx)
shear operation on XY
|
IVec |
shearXY(IVecI center,
double sxy,
double syx)
shear operation on XY
|
IVec |
shearXY(IVecI center,
IDoubleI sxy,
IDoubleI syx)
shear operation on XY
|
IVec |
shearYZ(double syz,
double szy)
shear operation on YZ
|
IVec |
shearYZ(IDoubleI syz,
IDoubleI szy)
shear operation on YZ
|
IVec |
shearYZ(IVecI center,
double syz,
double szy)
shear operation on YZ
|
IVec |
shearYZ(IVecI center,
IDoubleI syz,
IDoubleI szy)
shear operation on YZ
|
IVec |
shearZX(double szx,
double sxz)
shear operation on ZX
|
IVec |
shearZX(IDoubleI szx,
IDoubleI sxz)
shear operation on ZX
|
IVec |
shearZX(IVecI center,
double szx,
double sxz)
shear operation on ZX
|
IVec |
shearZX(IVecI center,
IDoubleI szx,
IDoubleI sxz)
shear operation on ZX
|
IVectorObject |
show()
visualize a vector as an arrow.
|
IVectorObject |
show(IServerI s)
visualize a vector as an arrow.
|
IVectorObject |
show(IServerI s,
IVecI root)
visualize a vector as an arrow.
|
IVectorObject |
show(IVecI root)
visualize a vector as an arrow.
|
IVec |
sub(double x,
double y,
double z) |
IVec |
sub(IDoubleI x,
IDoubleI y,
IDoubleI z) |
IVec |
sub(IVec v) |
IVec |
sub(IVecI v) |
IVec |
sum(double vx,
double vy,
double vz)
create a new instance of summation
|
IVec |
sum(IVec... v)
create a new instance of summation
|
IVec |
sum(IVec v)
create a new instance of summation
|
IVec |
sum(IVec v2,
double w2)
create a new instance of weighted summation
|
IVec |
sum(IVec v2,
double w1,
double w2)
create a new instance of weighted summation
|
IVec |
sum(IVecI... v)
create a new instance of summation
|
IVec |
sum(IVecI v)
create a new instance of summation
|
IVec |
sum(IVecI v2,
double w2)
create a new instance of weighted summation
|
IVec |
sum(IVecI v2,
double w1,
double w2)
create a new instance of weighted summation
|
IVec |
sum(IVecI v2,
IDoubleI w2)
create a new instance of weighted summation
|
IVec |
sum(IVecI v2,
IDoubleI w1,
IDoubleI w2)
create a new instance of weighted summation
|
IVec2 |
to2d() |
IVec2 |
to2d(IVecI projectionDir) |
IVec2 |
to2d(IVecI xaxis,
IVecI yaxis) |
IVec2 |
to2d(IVecI xaxis,
IVecI yaxis,
IVecI origin) |
IVec4 |
to4d() |
IVec4 |
to4d(double w) |
IVec4 |
to4d(IDoubleI w) |
static IVec[] |
toIVecArray(IVecI[] array) |
java.lang.String |
toString() |
IVec |
transform(IMatrix3I mat)
transform with a transformation matrix
|
IVec |
transform(IMatrix4I mat)
transform with a transformation matrix
|
IVec |
transform(IVecI xvec,
IVecI yvec,
IVecI zvec)
transform with a transformation vectors
|
IVec |
transform(IVecI xvec,
IVecI yvec,
IVecI zvec,
IVecI translate)
transform with a transformation vectors
|
IVec |
transform(IVec xvec,
IVec yvec,
IVec zvec) |
IVec |
transform(IVec xvec,
IVec yvec,
IVec zvec,
IVec translate) |
IVec |
translate(double x,
double y,
double z)
alias of add()
|
IVec |
translate(IDoubleI x,
IDoubleI y,
IDoubleI z)
alias of add()
|
IVec |
translate(IVecI v)
alias of add()
|
IVec |
unit()
unitize the vector
|
double |
x()
getting x component
|
IVec |
x(double vx)
setting x component
|
IVec |
x(IDoubleI vx)
setting x component
|
double |
x(ISwitchE e)
getting x component
|
IDouble |
x(ISwitchR r)
getting x component
|
IVec |
x(IVec2I v)
setting x component by x component of input vector
|
IVec |
x(IVecI v)
setting x component by x component of input vector
|
double |
y()
getting y component
|
IVec |
y(double vy)
setting y component
|
IVec |
y(IDoubleI vy)
setting y component
|
double |
y(ISwitchE e)
getting y component
|
IDouble |
y(ISwitchR r)
getting y component
|
IVec |
y(IVec2I v)
setting y component by y component of input vector
|
IVec |
y(IVecI v)
setting y component by y component of input vector
|
double |
z()
getting z component
|
IVec |
z(double vz)
setting z component
|
IVec |
z(IDoubleI vz)
setting z component
|
double |
z(ISwitchE e)
getting z component
|
IDouble |
z(ISwitchR r)
getting z component
|
IVec |
z(IVecI v)
setting z component by z component of input vector
|
IVec |
zero()
setting all zero
|
createObject, parent, parent
public static final IVec origin
public static final IVec xaxis
public static final IVec yaxis
public static final IVec zaxis
public double x
public double y
public double z
public IVec()
public IVec(double x, double y, double z)
public IVec(double x, double y)
public IVec(IVec v)
public IVec(IVecI v)
public IVec(IVec2I v)
public IVec(IServerI s)
public IVec(IServerI s, double x, double y, double z)
public IVec(IServerI s, double x, double y)
public double x()
IVecI
public double y()
IVecI
public double z()
IVecI
public IVec get()
public IVec dup()
ITransformable
dup
in interface IArithmeticVal<IVecI,IDoubleI>
dup
in interface ITransformable
dup
in interface IVecI
public IVec add(double x, double y, double z)
add
in interface ITransformable
add
in interface IVecI
public IVec add(IDoubleI x, IDoubleI y, IDoubleI z)
add
in interface ITransformable
add
in interface IVecI
public IVec add(IVecI v)
add
in interface IArithmeticVal<IVecI,IDoubleI>
add
in interface ITransformable
add
in interface IVecI
public IVec sub(double x, double y, double z)
sub
in interface ITransformable
sub
in interface IVecI
public IVec sub(IDoubleI x, IDoubleI y, IDoubleI z)
sub
in interface ITransformable
sub
in interface IVecI
public IVec sub(IVecI v)
sub
in interface IArithmeticVal<IVecI,IDoubleI>
sub
in interface ITransformable
sub
in interface IVecI
public IVec mul(double v)
mul
in interface ITransformable
mul
in interface IVecI
public IVec mul(IDoubleI v)
mul
in interface IArithmeticVal<IVecI,IDoubleI>
mul
in interface ITransformable
mul
in interface IVecI
public IVec div(double v)
div
in interface ITransformable
div
in interface IVecI
public IVec div(IDoubleI v)
div
in interface IArithmeticVal<IVecI,IDoubleI>
div
in interface ITransformable
div
in interface IVecI
public IVec neg()
neg
in interface ITransformable
neg
in interface IVecI
public IVec flip()
flip
in interface ITransformable
flip
in interface IVecI
public IVec zero()
public IVec add(IVecI v, double f)
add
in interface ITransformable
add
in interface IVecI
public IVec add(IVecI v, IDoubleI f)
add
in interface ITransformable
add
in interface IVecI
public IVec add(double f, IVecI v)
add
in interface ITransformable
add
in interface IVecI
public IVec add(IDoubleI f, IVecI v)
add
in interface ITransformable
add
in interface IVecI
public double dot(IVec v)
public double dot(double vx, double vy, double vz)
public IVec cross(IVec v)
public IVec cross(double vx, double vy, double vz)
public IVec cross(IVecI v)
IVecI
public IVec icross(IVec v)
public IVec icross(double vx, double vy, double vz)
public IVec icross(IVecI v)
public double len2(ISwitchE e)
public double dist(IVec v)
public double dist(IVecI v)
public double dist(double vx, double vy, double vz)
public double dist2(IVec v)
public double dist2(double vx, double vy, double vz)
public double dist2(IVecI v)
public boolean eq(IVec v)
public boolean eq(double vx, double vy, double vz)
public boolean eq(IVecI v)
public boolean eq(IVec v, double tolerance)
public boolean eq(double vx, double vy, double vz, double tolerance)
public boolean eq(IVecI v, double tolerance)
public boolean eq(ISwitchE e, IVecI v, double tolerance)
public IBool eq(ISwitchR r, IVecI v, IDoubleI tolerance)
public boolean eqX(IVec v)
public boolean eqY(IVec v)
public boolean eqZ(IVec v)
public boolean eqX(double vx)
public boolean eqY(double vy)
public boolean eqZ(double vz)
public boolean eqX(IVecI v)
public boolean eqY(IVecI v)
public boolean eqZ(IVecI v)
public boolean eqX(IVec v, double tolerance)
public boolean eqY(IVec v, double tolerance)
public boolean eqZ(IVec v, double tolerance)
public boolean eqX(double vx, double tolerance)
IVecI
public boolean eqY(double vy, double tolerance)
IVecI
public boolean eqZ(double vz, double tolerance)
IVecI
public boolean eqX(IVecI v, double tolerance)
IVecI
public boolean eqY(IVecI v, double tolerance)
IVecI
public boolean eqZ(IVecI v, double tolerance)
IVecI
public boolean eqX(ISwitchE e, IVecI v, double tolerance)
IVecI
public boolean eqY(ISwitchE e, IVecI v, double tolerance)
IVecI
public boolean eqZ(ISwitchE e, IVecI v, double tolerance)
IVecI
public IBool eqX(ISwitchR r, IVecI v, IDoubleI tolerance)
IVecI
public IBool eqY(ISwitchR r, IVecI v, IDoubleI tolerance)
IVecI
public IBool eqZ(ISwitchR r, IVecI v, IDoubleI tolerance)
IVecI
public double angle(IVec v)
public double angle(double vx, double vy, double vz)
public double angle(IVecI v)
public double angle(IVec v, IVec axis)
public double angle(double vx, double vy, double vz, double axisX, double axisY, double axisZ)
public double angle(IVecI v, IVecI axis)
public double angle(ISwitchE e, IVecI v, IVecI axis)
public IDouble angle(ISwitchR r, IVecI v, IVecI axis)
public double angleOnPlane(IVec v, IVec planeDir)
public double angleOnPlane(IVecI v, IVecI planeDir)
public double angleOnPlane(ISwitchE e, IVecI v, IVecI planeDir)
public IDouble angleOnPlane(ISwitchR r, IVecI v, IVecI planeDir)
public double angleOnPlane(IVec pt, IVec planeCenter, IVec planeDir)
public double angleOnPlane(IVecI pt, IVecI planeCenter, IVecI planeDir)
public double angleOnPlane(ISwitchE e, IVecI pt, IVecI planeCenter, IVecI planeDir)
public IDouble angleOnPlane(ISwitchR r, IVecI pt, IVecI planeCenter, IVecI planeDir)
public IVec rot(double axisX, double axisY, double axisZ, double angle)
public IVec rot(IVecI axis, double angle)
IVecI
rot
in interface ITransformable
rot
in interface IVecI
public IVec rot(IVecI axis, IDoubleI angle)
IVecI
rot
in interface ITransformable
rot
in interface IVecI
public IVec rot(double angle)
rot
in interface ITransformable
rot
in interface IVecI
public IVec rot(IDoubleI angle)
rot
in interface ITransformable
rot
in interface IVecI
public IVec rot(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double angle)
IVecI
public IVec rot(IVecI center, IVecI axis, double angle)
IVecI
rot
in interface ITransformable
rot
in interface IVecI
public IVec rot(IVecI center, IVecI axis, IDoubleI angle)
IVecI
rot
in interface ITransformable
rot
in interface IVecI
public IVec rot(IVecI axis, IVecI destDir)
rot
in interface ITransformable
rot
in interface IVecI
public IVec rot(IVec center, IVec axis, IVec destPt)
public IVec rot(IVecI center, IVecI axis, IVecI destPt)
rot
in interface ITransformable
rot
in interface IVecI
public IVec rot2(double angle)
rot2
in interface ITransformable
rot2
in interface IVecI
public IVec rot2(IDoubleI angle)
rot2
in interface ITransformable
rot2
in interface IVecI
public IVec rot2(double centerX, double centerY, double angle)
public IVec rot2(IVecI center, double angle)
rot2
in interface ITransformable
rot2
in interface IVecI
public IVec rot2(IVecI center, IDoubleI angle)
rot2
in interface ITransformable
rot2
in interface IVecI
public IVec rot2(IVecI destDir)
rot2
in interface ITransformable
rot2
in interface IVecI
public IVec rot2(IVecI center, IVecI destPt)
rot2
in interface ITransformable
rot2
in interface IVecI
public IVec scale(IDoubleI f)
scale
in interface ITransformable
scale
in interface IVecI
public IVec scale(double f)
IVecI
scale
in interface ITransformable
scale
in interface IVecI
public IVec scale(double centerX, double centerY, double centerZ, double f)
public IVec scale(IVecI center, double f)
scale
in interface ITransformable
scale
in interface IVecI
public IVec scale(IVecI center, IDoubleI f)
scale
in interface ITransformable
scale
in interface IVecI
public IVec scale1d(double axisX, double axisY, double axisZ, double f)
public IVec scale1d(IVecI axis, double f)
scale1d
in interface ITransformable
scale1d
in interface IVecI
public IVec scale1d(IVecI axis, IDoubleI f)
scale1d
in interface ITransformable
scale1d
in interface IVecI
public IVec scale1d(IVecI center, IVecI axis, double f)
scale1d
in interface ITransformable
scale1d
in interface IVecI
public IVec scale1d(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double f)
public IVec scale1d(IVecI center, IVecI axis, IDoubleI f)
scale1d
in interface ITransformable
scale1d
in interface IVecI
public IVec ref(double planeX, double planeY, double planeZ)
public IVec ref(IVecI planeDir)
ref
in interface ITransformable
ref
in interface IVecI
public IVec ref(IVec center, IVec planeDir)
public IVec ref(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)
public IVec ref(IVecI center, IVecI planeDir)
ref
in interface ITransformable
ref
in interface IVecI
public IVec mirror(double planeX, double planeY, double planeZ)
public IVec mirror(IVecI planeDir)
mirror
in interface ITransformable
mirror
in interface IVecI
public IVec mirror(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)
public IVec mirror(IVecI center, IVecI planeDir)
mirror
in interface ITransformable
mirror
in interface IVecI
public IVec shear(double sxy, double syx, double syz, double szy, double szx, double sxz)
IVecI
shear
in interface ITransformable
shear
in interface IVecI
public IVec shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
IVecI
shear
in interface ITransformable
shear
in interface IVecI
public IVec shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)
IVecI
shear
in interface ITransformable
shear
in interface IVecI
public IVec shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
IVecI
shear
in interface ITransformable
shear
in interface IVecI
public IVec shearXY(double sxy, double syx)
IVecI
shearXY
in interface ITransformable
shearXY
in interface IVecI
public IVec shearXY(IDoubleI sxy, IDoubleI syx)
IVecI
shearXY
in interface ITransformable
shearXY
in interface IVecI
public IVec shearXY(IVecI center, double sxy, double syx)
IVecI
shearXY
in interface ITransformable
shearXY
in interface IVecI
public IVec shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)
IVecI
shearXY
in interface ITransformable
shearXY
in interface IVecI
public IVec shearYZ(double syz, double szy)
IVecI
shearYZ
in interface ITransformable
shearYZ
in interface IVecI
public IVec shearYZ(IDoubleI syz, IDoubleI szy)
IVecI
shearYZ
in interface ITransformable
shearYZ
in interface IVecI
public IVec shearYZ(IVecI center, double syz, double szy)
IVecI
shearYZ
in interface ITransformable
shearYZ
in interface IVecI
public IVec shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)
IVecI
shearYZ
in interface ITransformable
shearYZ
in interface IVecI
public IVec shearZX(double szx, double sxz)
IVecI
shearZX
in interface ITransformable
shearZX
in interface IVecI
public IVec shearZX(IDoubleI szx, IDoubleI sxz)
IVecI
shearZX
in interface ITransformable
shearZX
in interface IVecI
public IVec shearZX(IVecI center, double szx, double sxz)
IVecI
shearZX
in interface ITransformable
shearZX
in interface IVecI
public IVec shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)
IVecI
shearZX
in interface ITransformable
shearZX
in interface IVecI
public IVec translate(double x, double y, double z)
IVecI
translate
in interface ITransformable
translate
in interface IVecI
public IVec translate(IDoubleI x, IDoubleI y, IDoubleI z)
IVecI
translate
in interface ITransformable
translate
in interface IVecI
public IVec translate(IVecI v)
IVecI
translate
in interface ITransformable
translate
in interface IVecI
public IVec transform(IMatrix3I mat)
IVecI
transform
in interface ITransformable
transform
in interface IVecI
public IVec transform(IMatrix4I mat)
IVecI
transform
in interface ITransformable
transform
in interface IVecI
public IVec transform(IVecI xvec, IVecI yvec, IVecI zvec)
IVecI
transform
in interface ITransformable
transform
in interface IVecI
public IVec transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)
IVecI
transform
in interface ITransformable
transform
in interface IVecI
public IVec mv(double vx, double vy, double vz)
mv
in interface ITransformable
mv
in interface IVecI
public IVec mv(IDoubleI vx, IDoubleI vy, IDoubleI vz)
IVecI
mv
in interface ITransformable
mv
in interface IVecI
public IVec mv(IVecI v)
IVecI
mv
in interface ITransformable
mv
in interface IVecI
public IVec cp()
cp
in interface IArithmeticVal<IVecI,IDoubleI>
cp
in interface ITransformable
cp
in interface IVecI
public IVec cp(double vx, double vy, double vz)
IVecI
cp
in interface ITransformable
cp
in interface IVecI
public IVec cp(IDoubleI vx, IDoubleI vy, IDoubleI vz)
IVecI
cp
in interface ITransformable
cp
in interface IVecI
public IVec cp(IVecI v)
IVecI
cp
in interface ITransformable
cp
in interface IVecI
public IVec dif(double vx, double vy, double vz)
public IVec diff(double vx, double vy, double vz)
public IVec mid(double vx, double vy, double vz)
public IVec sum(double vx, double vy, double vz)
public IVec bisect(double vx, double vy, double vz)
public boolean isValid()
public java.lang.String toString()
toString
in class java.lang.Object
public boolean isParallel(IVecI v)
public boolean isParallel(IVecI v, double angleTolerance)
public boolean isPerpendicular(IVecI v)
public boolean isPerpendicular(IVecI v, double angleTolerance)
public boolean isOnLine(IVecI v1, IVecI v2, double tolerance)
public boolean isInside2d(IVecI[] pts)
public boolean isInside2d(IVec2I[] pts)
public IVec nml(double vx, double vy, double vz)
public IVec nml(IVecI pt1, IVecI pt2)
public IVec nml(IVec pt1, IVec pt2)
public IVec nml(double vx1, double vy1, double vz1, double vx2, double vy2, double vz2)
public static IVec nml(double vx1, double vy1, double vz1, double vx2, double vy2, double vz2, double vx3, double vy3, double vz3)
public static IVecI getNormal(IVecI pt1, IVecI pt2, IVecI pt3)
public static IVec getNormal(IVec pt1, IVec pt2, IVec pt3)
public static IVec getNormal(double vx1, double vy1, double vz1, double vx2, double vy2, double vz2, double vx3, double vy3, double vz3)
public IVec projectToPlane(IVecI planeNormal)
public IVec projectToPlane(IVecI projectDir, IVecI planeNormal)
public IVec projectToPlane(IVecI projectDir, IVecI planeNormal, IVecI planePoint)
public IVec projectToLine(IVecI linePt, IVecI lineDir)
public IVec projectToSegment(IVecI linePt1, IVecI linePt2)
public double[] projectTo2Vec(IVecI v1, IVecI v2)
public double projectToVec(IVecI v)
v
- a vector for this vector to project on.public IVec[] decompose(IVecI uaxis, IVecI vaxis)
public double distToLine(IVecI lineDir)
public double ratioOnSegment(IVecI linePt1, IVecI linePt2)
public IVec perpendicularVecToLine(IVecI lineDir, IVecI linePt)
public IVec perpendicularVecToLine(IVecI lineDir)
public boolean isOnPlane(IVecI planePt1, IVecI planePt2, IVecI planePt3, double tolerance)
public IVectorObject show(IVecI root)
root
- A root position of the arrow.public IVectorObject show()
public IVectorObject show(IServerI s, IVecI root)
s
- A server to store the object.root
- A root position of the arrow.public IVectorObject show(IServerI s)
s
- A server to store the object.public static boolean isStraight(IVecI[] pts, double tolerance)
public static boolean isStraight(IVecI[] pts)
public static boolean isFlat(IVecI[] pts)
public static boolean isFlat(IVecI[] pts, double tolerance)
public static boolean isArrayEqual(IVec[] pts1, IVec[] pts2, boolean cyclic, boolean reverse)
public static boolean isArrayEqual(IVec[] pts1, IVec[] pts2, boolean cyclic, boolean reverse, double tolerance)
public static IVec averageNormal(IVecI[] pts)
public static IVec averageNormal(IVecI[][] pts)
public static IVec circumcenter(IVecI pt1, IVecI pt2, IVecI pt3)
public static IVecI[] offset(IVecI[] pts, double width)
public static IVecI[] offset(IVecI[] pts, double width, IVecI planeNormal)
public static IVecI[] offset(IVecI[] pts, double width, IVecI[] normals)
public static IVecI[] offset(IVecI[] pts, int ptNum, int returnNum, double width, IVecI[] normals, boolean closed)
pts
- points to be offsetptNum
- point num to be offset (equals to pts.length or less)returnNum
- return array length (cannot be less than ptNum; when more than ptNum, the remaining is filled with null )width
- offset widthnormals
- normal vector at each point (number can be less than ptNum; if so, the last member is used for the rest). if normals is null, it's automatically set by offsetNormal methodclosed
- closed polyline or notpublic static IVecI[] offset(IVecI[] pts, int ptNum, int returnNum, IDoubleI width, IVecI[] normals, boolean closed)
pts
- points to be offsetptNum
- point num to be offset (equals to pts.length or less)returnNum
- return array length (cannot be less than ptNum; when more than ptNum, the remaining is filled with null )width
- offset widthnormals
- normal vector at each point (number can be less than ptNum; if so, the last member is used for the rest)closed
- closed polyline or notpublic static IVecI projectToPlane(IVecI pt, IVecI projectDir, IVecI planeNormal, IVecI planePt)
public static void projectToPlane(IVecI[] pts, IVecI projectDir, IVecI planeNormal, IVecI planePt)
public static void projectToPlane(IVecI[][] pts, IVecI projectDir, IVecI planeNormal, IVecI planePt)
public static void projectToPlane(IVecI[] pts, IVecI planeNormal, IVecI planePt)
public static void projectToPlane(IVecI[][] pts, IVecI planeNormal, IVecI planePt)
public static void projectToPlane(IVecI[] pts, IVecI planeNormal)
public static void projectToPlane(IVecI[][] pts, IVecI planeNormal)
public static void projectToPlane(IVecI[] pts)
public static void projectToPlane(IVecI[][] pts)
public static IVec intersect(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2)
public static IVec intersect(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, double tolerance)
public static IVec intersect(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2)
public static IVec intersect(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2, double tolerance)
public static IVec intersectInfiniteLines(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2)
public static IVec intersectInfiniteLines(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, double tolerance)
public static IVec intersectInfiniteLines(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2)
public static IVec intersectInfiniteLines(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2, double tolerance)
public static IVec intersectInfiniteLine(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2)
public static IVec intersectInfiniteLine(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, double tolerance)
public static IVec intersectInfiniteLine(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2)
public static IVec intersectInfiniteLine(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2, double tolerance)
public static IVec intersectInfLines(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2)
public static IVec intersectInfLines(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, double tolerance)
public static IVec intersectInfLines(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2)
public static IVec intersectInfLines(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2, double tolerance)
public static IVec intersectInfLine(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2)
public static IVec intersectInfLine(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, double tolerance)
public static IVec intersectInfLine(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2)
public static IVec intersectInfLine(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2, double tolerance)
public static IVec intersectSegment(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2)
public static IVec intersectSegment(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, double tolerance)
public static IVec intersectSegment(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2)
public static IVec intersectSegment(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2, double tolerance)
public static IVec intersectSegments(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2)
public static IVec intersectSegments(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, double tolerance)
public static IVec intersectSegments(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2)
public static IVec intersectSegments(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2, double tolerance)
public static IVec intersectSeg(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2)
public static IVec intersectSeg(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, double tolerance)
public static IVec intersectSeg(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2)
public static IVec intersectSeg(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2, double tolerance)
public static IVec intersectLines(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2)
public static IVec intersectLines(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, double tolerance)
public static IVec intersectLines(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2)
public static IVec intersectLines(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2, double tolerance)
public static IVec intersectLine(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2)
public static IVec intersectLine(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, double tolerance)
public static IVec intersectLine(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2)
public static IVec intersectLine(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2, double tolerance)
public static IVec[] intersectPlane(IVec plane1Dir, IVec plane1Pt, IVec plane2Dir, IVec plane2Pt)
public static IVec intersectPlane(IVec plane1Dir, IVec plane2Dir)
public static IVec[] intersectPlane(IVec plane1Pt1, IVec plane1Pt2, IVec plane1Pt3, IVec plane2Pt1, IVec plane2Pt2, IVec plane2Pt3)
public static IVec intersectPlaneAndLine(IVec planeDir, IVec planePt, IVec lineDir, IVec linePt)
public static IVec intersectPlaneAndLine(IVec planeDir, IVec lineDir, IVec linePt)
public static IVec intersectPlaneAndLine(IVec planePt1, IVec planePt2, IVec planePt3, IVec linePt1, IVec linePt2)
public static IVec intersectPlaneAndSegment(IVec planeDir, IVec planePt, IVec linePt1, IVec linePt2)
public static IVec intersectPlaneAndSegment(IVec planeDir, IVec linePt1, IVec linePt2)
public static IVec[] bisectPlane(IVec planeDir1, IVec planePt1, IVec planeDir2, IVec planePt2)
public static IVec[] intersectPlaneAndSphere(IVec planeDir, IVec planePt, IVec sphereCenter, double sphereRadius)
public static IVec[] intersectCircleAndSphere(IVec circleNormal, IVec circleCenter, double circleRadius, IVec sphereCenter, double sphereRadius)
public static IVec[] intersectSphere(IVec sphereCenter1, double radius1, IVec sphereCenter2, double radius2)
public static IVec[] intersectLineAndSphere(IVec lineDir, IVec linePt, IVec center, double radius)
public static IVec[] intersectCircle(IVec circleNormal1, IVec circleCenter1, double radius1, IVec circleNormal2, IVec circleCenter2, double radius2)
public static double angle(IVecI pt1, IVecI pt2, IVecI pt3)
public static IVec[] closestPointsOn2Lines(IVecI lineDir1, IVecI linePt1, IVecI lineDir2, IVecI linePt2)
public static IVec[] closestPointsOnLines(IVecI lineDir1, IVecI linePt1, IVecI lineDir2, IVecI linePt2)
public static IVec[] closestPtsOnLines(IVecI lineDir1, IVecI linePt1, IVecI lineDir2, IVecI linePt2)
public static IVec[] closestPointsOn2Lines(IVec lineDir1, IVec linePt1, IVec lineDir2, IVec linePt2)
public static IVec[] closestPointsOnLines(IVec lineDir1, IVec linePt1, IVec lineDir2, IVec linePt2)
public static IVec[] closestPtsOnLines(IVec lineDir1, IVec linePt1, IVec lineDir2, IVec linePt2)
public static IVec[] perpendicularTo2Lines(IVecI lineDir1, IVecI linePt1, IVecI lineDir2, IVecI linePt2)
public static IVec[] perpendicularTo2Lines(IVec lineDir1, IVec linePt1, IVec lineDir2, IVec linePt2)
public static double distBetween2Lines(IVecI lineDir1, IVecI linePt1, IVecI lineDir2, IVecI linePt2)
public static double distBetween2Lines(IVec lineDir1, IVec linePt1, IVec lineDir2, IVec linePt2)
public static double distBetweenLines(IVecI lineDir1, IVecI linePt1, IVecI lineDir2, IVecI linePt2)
public static double distBetweenLines(IVec lineDir1, IVec linePt1, IVec lineDir2, IVec linePt2)
public static double lineDist(IVecI lineDir1, IVecI linePt1, IVecI lineDir2, IVecI linePt2)
public static IVec[] closestPtsOnSegments(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2)
public static IVec[] closestPointsOnSegments(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2)
public static IVec[] closestPointsOnSegments(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2)
public static IVec[] closestPtsOnSegments(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2)
public static double distBetween2Segments(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2)
public static double distBetweenSegments(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2)
public static double distBetween2Segments(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2)
public static double segmentDist(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2)
public static double segmentDist(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2)
public static double segDist(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2)
public static boolean isSegmentsCloserThan(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, double thresholdDist)
public static boolean isSegCloserThan(IVecI line1Pt1, IVecI line1Pt2, IVecI line2Pt1, IVecI line2Pt2, double thresholdDist)
public static boolean isSegmentsCloserThan(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2, double thresholdDist)
public static boolean isSegCloserThan(IVec line1Pt1, IVec line1Pt2, IVec line2Pt1, IVec line2Pt2, double thresholdDist)
public static boolean isLinesCloserThan(IVecI lineDir1, IVecI linePt1, IVecI lineDir2, IVecI linePt2, double thresholdDist)