Module org.jeometry.algorithm
Class DelaunayClarkson3D<T extends Point3D>
java.lang.Object
org.jeometry.geom3D.algorithm.delaunay.clarkson.DelaunayClarkson
org.jeometry.geom3D.algorithm.delaunay.clarkson.DelaunayClarkson3D<T>
- Type Parameters:
T- The type of underlying 3D points
public class DelaunayClarkson3D<T extends Point3D> extends DelaunayClarkson
This class is an implementation of the Ken Clarkson hull algorithm that enable to compute convex hull in n-dimension.
This algorithm compute a convex hull for a set of
This algorithm is based on an integer representation of input point coordinates, so if your points are closer than a coordinate unit, it is required to apply a scale on them. This scale can be given in parameter to computation method (
This algorithm compute a convex hull for a set of
n points in a O(n x log(n)) average time
with a worst case in O(n x n). This algorithm is based on an integer representation of input point coordinates, so if your points are closer than a coordinate unit, it is required to apply a scale on them. This scale can be given in parameter to computation method (
compute(double[][], float))- Since:
- 1.0.0
- Author:
- Julien Seinturier - (c) 2016 - JOrigin project - http:/www.jorigin.org
-
Field Summary
Fields inherited from class org.jeometry.geom3D.algorithm.delaunay.clarkson.DelaunayClarkson
samples -
Constructor Summary
Constructors Constructor Description DelaunayClarkson3D()Create a new instance of this algorithm. -
Method Summary
Modifier and Type Method Description DelaunayTetrahedralization<T>compute(Point3DContainer<T> points, float scale)Compute the delaunay triangulation for the given points and at the given scale.booleanisFilterInfinite()Is the result of the delaunay tetrahedralization has to ignore infinite tetrahedra.booleanisGenerateInfinite()Is the delaunay tetrahedralization has to generate infinite tetrahedra.voidsetFilterInfinite(boolean filterInfinite)Set if the result of the delaunay tetrahedralization has to ignore infinite tetrahedra.voidsetGenerateInfinite(boolean generateInfinite)Set if the delaunay tetrahedralization has to generate infinite tetrahedra.Methods inherited from class org.jeometry.geom3D.algorithm.delaunay.clarkson.DelaunayClarkson
compute, getNeighbors, getSamples, getSimplexes, getVertices, improve, setSamples, toString, valid
-
Constructor Details
-
DelaunayClarkson3D
public DelaunayClarkson3D()Create a new instance of this algorithm.
-
-
Method Details
-
isGenerateInfinite
public boolean isGenerateInfinite()Is the delaunay tetrahedralization has to generate infinite tetrahedra. Generation of tetrahedra relies on the integration of infinite points to the original point cloud. By convention, infinite points are the vertices of a scaled axis aligned bounding box computed from original point cloud. All tetrahedra that contain an infinite point as vertex are marked as infinite.- Returns:
trueif the the delaunay tetrahedralization has to generate infinite tetrahedra andfalseotherwise.- See Also:
setGenerateInfinite(boolean),isFilterInfinite()
-
setGenerateInfinite
public void setGenerateInfinite(boolean generateInfinite)Set if the delaunay tetrahedralization has to generate infinite tetrahedra. Generation of tetrahedra relies on the integration of infinite points to the original point cloud. By convention, infinite points are the vertices of a scaled axis aligned bounding box computed from original point cloud. All tetrahedra that contain an infinite point as vertex are marked as infinite.- Parameters:
generateInfinite-trueif the the delaunay tetrahedralization has to generate infinite tetrahedra andfalseotherwise.- See Also:
isGenerateInfinite(),isFilterInfinite()
-
isFilterInfinite
public boolean isFilterInfinite()Is the result of the delaunay tetrahedralization has to ignore infinite tetrahedra.- Returns:
trueif the result of the delaunay tetrahedralization has to ignore infinite tetrahedra andfalseotherwise.- See Also:
setFilterInfinite(boolean)
-
setFilterInfinite
public void setFilterInfinite(boolean filterInfinite)Set if the result of the delaunay tetrahedralization has to ignore infinite tetrahedra.- Parameters:
filterInfinite-trueif the result of the delaunay tetrahedralization has to ignore infinite tetrahedra andfalseotherwise.- See Also:
isFilterInfinite()
-
compute
public DelaunayTetrahedralization<T> compute(Point3DContainer<T> points, float scale) throws DelaunayExceptionCompute the delaunay triangulation for the given points and at the given scale.- Parameters:
points- the points.scale- the scale to apply before computation.- Returns:
- the delaunay tetrahedralization
- Throws:
DelaunayException- if an error occurs.
-