public class ComponentLine3DDistance extends java.lang.Object implements ClusterElementFunctions<ComponentLine3D>
Modifier and Type | Field and Description |
---|---|
private DistanceFunctionType |
distanceType |
DF
Constructor and Description |
---|
ComponentLine3DDistance(DistanceFunctionType distanceType) |
Modifier and Type | Method and Description |
---|---|
static double |
areaLineDistance(Point3d[] line1,
Point3d[] line2)
Computes the distance between two lines by computing the area stretching between them.
|
double |
distance(ComponentLine3D element1,
ComponentLine3D element2) |
double |
distance(Point3d[] points1,
Point3d[] points2) |
static double |
editLineDistance(Point3d[] line1,
Point3d[] line2)
Computes the distance between two lines in terms of edit operations necessary to move one line onto the other.
|
static double |
euclideanLineDistance(Point3d[] line1,
Point3d[] line2)
Computes the distance between two lines in terms of absolute distances between single segments.
|
static double |
euclideanLineDistanceDifferentNumberOfStops(Point3d[] line1,
Point3d[] line2) |
static ClusterElementFunctions<ComponentLine3D> |
getEuclidean() |
int |
getIndexOfLineClosestToMean(Cluster<? extends ComponentLine3D> elements) |
private static Point3d |
getNextValidPoint(Point3d[] line,
int index) |
private static Point3d |
getPreviousValidPoint(Point3d[] line,
int index) |
static boolean |
linesParallel(Point3d line1Begin,
Point3d line1End,
Point3d line2Begin,
Point3d line2End)
Computes if two lines are parallel to each other, by checking the cross product of their direction vectors.
|
ComponentLine3D |
meanObject(Cluster<? extends ComponentLine3D> elements) |
static double |
minimumEuclideanLineDistance(Point3d[] line1,
Point3d[] line2)
Computes the distance between two lines in terms of distances between single segments.
|
java.lang.String |
toString(Cluster<? extends ComponentLine3D> elements) |
private DistanceFunctionType distanceType
public ComponentLine3DDistance(DistanceFunctionType distanceType)
public static ClusterElementFunctions<ComponentLine3D> getEuclidean()
public double distance(ComponentLine3D element1, ComponentLine3D element2)
distance
in interface ClusterElementFunctions<ComponentLine3D>
public static double euclideanLineDistance(Point3d[] line1, Point3d[] line2)
public static double euclideanLineDistanceDifferentNumberOfStops(Point3d[] line1, Point3d[] line2)
public static double minimumEuclideanLineDistance(Point3d[] line1, Point3d[] line2)
public static double editLineDistance(Point3d[] line1, Point3d[] line2)
public static boolean linesParallel(Point3d line1Begin, Point3d line1End, Point3d line2Begin, Point3d line2End)
public static double areaLineDistance(Point3d[] line1, Point3d[] line2)
public ComponentLine3D meanObject(Cluster<? extends ComponentLine3D> elements)
meanObject
in interface ClusterElementFunctions<ComponentLine3D>
public int getIndexOfLineClosestToMean(Cluster<? extends ComponentLine3D> elements)
public java.lang.String toString(Cluster<? extends ComponentLine3D> elements)
toString
in interface ClusterElementFunctions<ComponentLine3D>