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, parentpublic 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()
IVecIpublic double y()
IVecIpublic double z()
IVecIpublic IVec get()
public IVec dup()
ITransformabledup in interface IArithmeticVal<IVecI,IDoubleI>dup in interface ITransformabledup in interface IVecIpublic IVec add(double x, double y, double z)
add in interface ITransformableadd in interface IVecIpublic IVec add(IDoubleI x, IDoubleI y, IDoubleI z)
add in interface ITransformableadd in interface IVecIpublic IVec add(IVecI v)
add in interface IArithmeticVal<IVecI,IDoubleI>add in interface ITransformableadd in interface IVecIpublic IVec sub(double x, double y, double z)
sub in interface ITransformablesub in interface IVecIpublic IVec sub(IDoubleI x, IDoubleI y, IDoubleI z)
sub in interface ITransformablesub in interface IVecIpublic IVec sub(IVecI v)
sub in interface IArithmeticVal<IVecI,IDoubleI>sub in interface ITransformablesub in interface IVecIpublic IVec mul(double v)
mul in interface ITransformablemul in interface IVecIpublic IVec mul(IDoubleI v)
mul in interface IArithmeticVal<IVecI,IDoubleI>mul in interface ITransformablemul in interface IVecIpublic IVec div(double v)
div in interface ITransformablediv in interface IVecIpublic IVec div(IDoubleI v)
div in interface IArithmeticVal<IVecI,IDoubleI>div in interface ITransformablediv in interface IVecIpublic IVec neg()
neg in interface ITransformableneg in interface IVecIpublic IVec flip()
flip in interface ITransformableflip in interface IVecIpublic IVec zero()
public IVec add(IVecI v, double f)
add in interface ITransformableadd in interface IVecIpublic IVec add(IVecI v, IDoubleI f)
add in interface ITransformableadd in interface IVecIpublic IVec add(double f, IVecI v)
add in interface ITransformableadd in interface IVecIpublic IVec add(IDoubleI f, IVecI v)
add in interface ITransformableadd in interface IVecIpublic 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)
IVecIpublic 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)
IVecIpublic boolean eqY(double vy,
double tolerance)
IVecIpublic boolean eqZ(double vz,
double tolerance)
IVecIpublic boolean eqX(IVecI v, double tolerance)
IVecIpublic boolean eqY(IVecI v, double tolerance)
IVecIpublic boolean eqZ(IVecI v, double tolerance)
IVecIpublic boolean eqX(ISwitchE e, IVecI v, double tolerance)
IVecIpublic boolean eqY(ISwitchE e, IVecI v, double tolerance)
IVecIpublic boolean eqZ(ISwitchE e, IVecI v, double tolerance)
IVecIpublic IBool eqX(ISwitchR r, IVecI v, IDoubleI tolerance)
IVecIpublic IBool eqY(ISwitchR r, IVecI v, IDoubleI tolerance)
IVecIpublic IBool eqZ(ISwitchR r, IVecI v, IDoubleI tolerance)
IVecIpublic 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)
IVecIrot in interface ITransformablerot in interface IVecIpublic IVec rot(IVecI axis, IDoubleI angle)
IVecIrot in interface ITransformablerot in interface IVecIpublic IVec rot(double angle)
rot in interface ITransformablerot in interface IVecIpublic IVec rot(IDoubleI angle)
rot in interface ITransformablerot in interface IVecIpublic IVec rot(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double angle)
IVecIpublic IVec rot(IVecI center, IVecI axis, double angle)
IVecIrot in interface ITransformablerot in interface IVecIpublic IVec rot(IVecI center, IVecI axis, IDoubleI angle)
IVecIrot in interface ITransformablerot in interface IVecIpublic IVec rot(IVecI axis, IVecI destDir)
rot in interface ITransformablerot in interface IVecIpublic IVec rot(IVec center, IVec axis, IVec destPt)
public IVec rot(IVecI center, IVecI axis, IVecI destPt)
rot in interface ITransformablerot in interface IVecIpublic IVec rot2(double angle)
rot2 in interface ITransformablerot2 in interface IVecIpublic IVec rot2(IDoubleI angle)
rot2 in interface ITransformablerot2 in interface IVecIpublic IVec rot2(double centerX, double centerY, double angle)
public IVec rot2(IVecI center, double angle)
rot2 in interface ITransformablerot2 in interface IVecIpublic IVec rot2(IVecI center, IDoubleI angle)
rot2 in interface ITransformablerot2 in interface IVecIpublic IVec rot2(IVecI destDir)
rot2 in interface ITransformablerot2 in interface IVecIpublic IVec rot2(IVecI center, IVecI destPt)
rot2 in interface ITransformablerot2 in interface IVecIpublic IVec scale(IDoubleI f)
scale in interface ITransformablescale in interface IVecIpublic IVec scale(double f)
IVecIscale in interface ITransformablescale in interface IVecIpublic IVec scale(double centerX, double centerY, double centerZ, double f)
public IVec scale(IVecI center, double f)
scale in interface ITransformablescale in interface IVecIpublic IVec scale(IVecI center, IDoubleI f)
scale in interface ITransformablescale in interface IVecIpublic IVec scale1d(double axisX, double axisY, double axisZ, double f)
public IVec scale1d(IVecI axis, double f)
scale1d in interface ITransformablescale1d in interface IVecIpublic IVec scale1d(IVecI axis, IDoubleI f)
scale1d in interface ITransformablescale1d in interface IVecIpublic IVec scale1d(IVecI center, IVecI axis, double f)
scale1d in interface ITransformablescale1d in interface IVecIpublic 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 ITransformablescale1d in interface IVecIpublic IVec ref(double planeX, double planeY, double planeZ)
public IVec ref(IVecI planeDir)
ref in interface ITransformableref in interface IVecIpublic 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 ITransformableref in interface IVecIpublic IVec mirror(double planeX, double planeY, double planeZ)
public IVec mirror(IVecI planeDir)
mirror in interface ITransformablemirror in interface IVecIpublic IVec mirror(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)
public IVec mirror(IVecI center, IVecI planeDir)
mirror in interface ITransformablemirror in interface IVecIpublic IVec shear(double sxy, double syx, double syz, double szy, double szx, double sxz)
IVecIshear in interface ITransformableshear in interface IVecIpublic IVec shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
IVecIshear in interface ITransformableshear in interface IVecIpublic IVec shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)
IVecIshear in interface ITransformableshear in interface IVecIpublic IVec shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
IVecIshear in interface ITransformableshear in interface IVecIpublic IVec shearXY(double sxy, double syx)
IVecIshearXY in interface ITransformableshearXY in interface IVecIpublic IVec shearXY(IDoubleI sxy, IDoubleI syx)
IVecIshearXY in interface ITransformableshearXY in interface IVecIpublic IVec shearXY(IVecI center, double sxy, double syx)
IVecIshearXY in interface ITransformableshearXY in interface IVecIpublic IVec shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)
IVecIshearXY in interface ITransformableshearXY in interface IVecIpublic IVec shearYZ(double syz, double szy)
IVecIshearYZ in interface ITransformableshearYZ in interface IVecIpublic IVec shearYZ(IDoubleI syz, IDoubleI szy)
IVecIshearYZ in interface ITransformableshearYZ in interface IVecIpublic IVec shearYZ(IVecI center, double syz, double szy)
IVecIshearYZ in interface ITransformableshearYZ in interface IVecIpublic IVec shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)
IVecIshearYZ in interface ITransformableshearYZ in interface IVecIpublic IVec shearZX(double szx, double sxz)
IVecIshearZX in interface ITransformableshearZX in interface IVecIpublic IVec shearZX(IDoubleI szx, IDoubleI sxz)
IVecIshearZX in interface ITransformableshearZX in interface IVecIpublic IVec shearZX(IVecI center, double szx, double sxz)
IVecIshearZX in interface ITransformableshearZX in interface IVecIpublic IVec shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)
IVecIshearZX in interface ITransformableshearZX in interface IVecIpublic IVec translate(double x, double y, double z)
IVecItranslate in interface ITransformabletranslate in interface IVecIpublic IVec translate(IDoubleI x, IDoubleI y, IDoubleI z)
IVecItranslate in interface ITransformabletranslate in interface IVecIpublic IVec translate(IVecI v)
IVecItranslate in interface ITransformabletranslate in interface IVecIpublic IVec transform(IMatrix3I mat)
IVecItransform in interface ITransformabletransform in interface IVecIpublic IVec transform(IMatrix4I mat)
IVecItransform in interface ITransformabletransform in interface IVecIpublic IVec transform(IVecI xvec, IVecI yvec, IVecI zvec)
IVecItransform in interface ITransformabletransform in interface IVecIpublic IVec transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)
IVecItransform in interface ITransformabletransform in interface IVecIpublic IVec mv(double vx, double vy, double vz)
mv in interface ITransformablemv in interface IVecIpublic IVec mv(IDoubleI vx, IDoubleI vy, IDoubleI vz)
IVecImv in interface ITransformablemv in interface IVecIpublic IVec mv(IVecI v)
IVecImv in interface ITransformablemv in interface IVecIpublic IVec cp()
cp in interface IArithmeticVal<IVecI,IDoubleI>cp in interface ITransformablecp in interface IVecIpublic IVec cp(double vx, double vy, double vz)
IVecIcp in interface ITransformablecp in interface IVecIpublic IVec cp(IDoubleI vx, IDoubleI vy, IDoubleI vz)
IVecIcp in interface ITransformablecp in interface IVecIpublic IVec cp(IVecI v)
IVecIcp in interface ITransformablecp in interface IVecIpublic 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.Objectpublic 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)