This is the quickhull Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:41:09 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
quickhull
An implementation of the Quickhull convex hull construction algorithm
Yukari Hafner <shinmera@tymoon.eu>
Yukari Hafner <shinmera@tymoon.eu>
(GIT https://github.com/shirakumo/quickhull.git)
zlib
1.0.0
3d-math
(system).
documentation-utils
(system).
package.lisp
(file).
support.lisp
(file).
quickhull.lisp
(file).
documentation.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
quickhull/quickhull.asd
quickhull/package.lisp
quickhull/support.lisp
quickhull/quickhull.lisp
quickhull/documentation.lisp
quickhull/support.lisp
package.lisp
(file).
quickhull
(system).
edge-solver-failed
(condition).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
%plane
(function).
%ray
(function).
above-plane-p
(function).
copy-face
(function).
copy-face-data
(function).
copy-half-edge
(function).
copy-plane
(function).
copy-ray
(function).
dbg
(function).
ensure-vertices
(function).
face
(function).
face
(structure).
face-checked-iteration
(reader).
(setf face-checked-iteration)
(writer).
face-data
(function).
face-data
(structure).
face-data-entered-from-half-edge
(reader).
(setf face-data-entered-from-half-edge)
(writer).
face-data-index
(reader).
(setf face-data-index)
(writer).
face-data-p
(function).
face-disabled-p
(reader).
(setf face-disabled-p)
(writer).
face-farthest-point
(reader).
(setf face-farthest-point)
(writer).
face-farthest-point-distance
(reader).
(setf face-farthest-point-distance)
(writer).
face-half-edge
(reader).
(setf face-half-edge)
(writer).
face-horizon-edges
(reader).
(setf face-horizon-edges)
(writer).
face-in-stack-p
(reader).
(setf face-in-stack-p)
(writer).
face-p
(function).
face-plane
(reader).
(setf face-plane)
(writer).
face-points-on-positive-side
(reader).
(setf face-points-on-positive-side)
(writer).
face-visible-p
(reader).
(setf face-visible-p)
(writer).
half-edge
(function).
half-edge
(structure).
half-edge-disabled-p
(reader).
(setf half-edge-disabled-p)
(writer).
half-edge-end
(reader).
(setf half-edge-end)
(writer).
half-edge-face
(reader).
(setf half-edge-face)
(writer).
half-edge-next
(reader).
(setf half-edge-next)
(writer).
half-edge-opp
(reader).
(setf half-edge-opp)
(writer).
half-edge-p
(function).
plane
(function).
plane
(structure).
plane-distance
(reader).
(setf plane-distance)
(writer).
plane-p
(function).
plane-sigdist
(function).
plane-varr3
(function).
(setf plane-varr3)
(function).
ray
(function).
ray
(structure).
ray-direction
(reader).
(setf ray-direction)
(writer).
ray-p
(function).
ray-varr3
(function).
(setf ray-varr3)
(function).
triangle-centroid
(function).
triangle-normal
(function).
v
(function).
vraysqrdist
(function).
quickhull/quickhull.lisp
support.lisp
(file).
quickhull
(system).
convex-hull
(function).
describe-object
(method).
initialize-instance
(method).
print-object
(method).
add-face
(function).
add-half-edge
(function).
add-point
(function).
compute-extrema
(function).
compute-initial-mesh
(function).
compute-scale
(function).
disable-face
(function).
disable-half-edge
(function).
disabled-faces
(reader method).
(setf disabled-faces)
(writer method).
disabled-half-edges
(reader method).
(setf disabled-half-edges)
(writer method).
extract-convex-hull
(function).
extract-half-edge-mesh
(function).
face-half-edges
(function).
face-vertices
(function).
faces
(reader method).
(setf faces)
(writer method).
half-edge-mesh
(function).
half-edge-vertices
(function).
half-edges
(reader method).
(setf half-edges)
(writer method).
mesh-builder
(class).
quickhull
(function).
reorder-horizon-edges
(function).
sbitp
(function).
quickhull/documentation.lisp
quickhull.lisp
(file).
quickhull
(system).
Packages are listed by definition order.
org.shirakumo.fraf.quickhull
common-lisp
.
org.shirakumo.fraf.math.vectors
.
convex-hull
(function).
edge-solver-failed
(condition).
%plane
(function).
%ray
(function).
above-plane-p
(function).
add-face
(function).
add-half-edge
(function).
add-point
(function).
compute-extrema
(function).
compute-initial-mesh
(function).
compute-scale
(function).
copy-face
(function).
copy-face-data
(function).
copy-half-edge
(function).
copy-plane
(function).
copy-ray
(function).
dbg
(function).
disable-face
(function).
disable-half-edge
(function).
disabled-faces
(generic reader).
(setf disabled-faces)
(generic writer).
disabled-half-edges
(generic reader).
(setf disabled-half-edges)
(generic writer).
ensure-vertices
(function).
extract-convex-hull
(function).
extract-half-edge-mesh
(function).
face
(function).
face
(structure).
face-checked-iteration
(reader).
(setf face-checked-iteration)
(writer).
face-data
(function).
face-data
(structure).
face-data-entered-from-half-edge
(reader).
(setf face-data-entered-from-half-edge)
(writer).
face-data-index
(reader).
(setf face-data-index)
(writer).
face-data-p
(function).
face-disabled-p
(reader).
(setf face-disabled-p)
(writer).
face-farthest-point
(reader).
(setf face-farthest-point)
(writer).
face-farthest-point-distance
(reader).
(setf face-farthest-point-distance)
(writer).
face-half-edge
(reader).
(setf face-half-edge)
(writer).
face-half-edges
(function).
face-horizon-edges
(reader).
(setf face-horizon-edges)
(writer).
face-in-stack-p
(reader).
(setf face-in-stack-p)
(writer).
face-p
(function).
face-plane
(reader).
(setf face-plane)
(writer).
face-points-on-positive-side
(reader).
(setf face-points-on-positive-side)
(writer).
face-vertices
(function).
face-visible-p
(reader).
(setf face-visible-p)
(writer).
faces
(generic reader).
(setf faces)
(generic writer).
half-edge
(function).
half-edge
(structure).
half-edge-disabled-p
(reader).
(setf half-edge-disabled-p)
(writer).
half-edge-end
(reader).
(setf half-edge-end)
(writer).
half-edge-face
(reader).
(setf half-edge-face)
(writer).
half-edge-mesh
(function).
half-edge-next
(reader).
(setf half-edge-next)
(writer).
half-edge-opp
(reader).
(setf half-edge-opp)
(writer).
half-edge-p
(function).
half-edge-vertices
(function).
half-edges
(generic reader).
(setf half-edges)
(generic writer).
mesh-builder
(class).
plane
(function).
plane
(structure).
plane-distance
(reader).
(setf plane-distance)
(writer).
plane-p
(function).
plane-sigdist
(function).
plane-varr3
(function).
(setf plane-varr3)
(function).
quickhull
(function).
ray
(function).
ray
(structure).
ray-direction
(reader).
(setf ray-direction)
(writer).
ray-p
(function).
ray-varr3
(function).
(setf ray-varr3)
(function).
reorder-horizon-edges
(function).
sbitp
(function).
triangle-centroid
(function).
triangle-normal
(function).
v
(function).
vraysqrdist
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Extract a convex hull mesh from the given set of vertices.
VERTICES should be a sequence of FLOATs which describe the point cloud to extract a convex hull from. Each vertex should come in the form of consecutive X, Y, and Z coordinates. It is preferred that VERTICES be a (SIMPLE-ARRAY SINGLE-FLOAT (*)) or (SIMPLE-ARRAY DOUBLE-FLOAT (*)).
If VERTICES only contains 2 or fewer vertices, an error is signalled.
If VERTICES describes a point cloud that doesn’t have any volume, an
error is also signalled.
Returns two values:
1. A simple array of vertices that lie on the convex hull, in the
same format as the input, including matching element-type.
2. A (SIMPLE-ARRAY (UNSIGNED-BYTE 32)) of vertex indices, every
triplet of which describes a triangle face on the hull. The
vertex index must be multiplied by 3 in order to get the index of
the first vertex in the returned vertices array.
If a convex hull cannot be constructed exactly due to floating point
imprecision, a warning of type EDGE-SOLVER-FAILED may be signalled. If
EDGE-SOLVER-FAILED is signalled, the resulting convex hull may not be
optimal.
You may pass an optional EPS parameter (defaulting to 0.0001), which
defines the minimal distance below which two vertices are considered
the same and are merged together.
You may pass an optional REDUCE-VERTICES parameter (defaulting to T),
which if true causes the function to return a fresh array of vertices,
only including those used in the convex hull. If NIL, the same vertex
array that was passed in *may* be returned. A fresh array is
nevertheless returned if the input vertices all lie in a single plane,
thus requiring an extra vertex to form a hull with volume.
See EDGE-SOLVER-FAILED
mesh-builder
) stream) ¶mesh-builder
) &key a b c d) ¶mesh-builder
) stream) ¶Warning signalled when the solver fails due to imprecision.
See CONVEX-HULL
warning
.
end
.
face
.
next
.
opp
.
mesh-builder
)) ¶automatically generated reader method
mesh-builder
)) ¶automatically generated writer method
mesh-builder
)) ¶automatically generated reader method
mesh-builder
)) ¶automatically generated writer method
mesh-builder
)) ¶automatically generated reader method
mesh-builder
)) ¶automatically generated writer method
mesh-builder
)) ¶automatically generated reader method
mesh-builder
)) ¶automatically generated writer method
structure-object
.
org.shirakumo.fraf.quickhull::plane
(org.shirakumo.fraf.quickhull::%plane (make-array 3 :element-type (quote single-float) :initial-element 0.0) 0.0)
(unsigned-byte 32)
0
(unsigned-byte 32)
0
double-float
0.0d0
(unsigned-byte 32)
0
boolean
boolean
boolean
(unsigned-byte 8)
0
(array (unsigned-byte 32) (*))
(make-array 0 :element-type (quote (unsigned-byte 32)) :adjustable t :fill-pointer t)
structure-object
.
(unsigned-byte 32)
0
(unsigned-byte 32)
0
(unsigned-byte 32)
0
(unsigned-byte 32)
0
boolean
vec3
.
single-float
0.0
vec3
.
org.shirakumo.fraf.math.vectors:vec3
(org.shirakumo.fraf.math.vectors:vec 0 0 0)
(make-array 0 :adjustable t :fill-pointer t)
(make-array 0 :adjustable t :fill-pointer t)
(make-array 0 :element-type (quote (unsigned-byte 32)) :adjustable t :fill-pointer t)
(make-array 0 :element-type (quote (unsigned-byte 32)) :adjustable t :fill-pointer t)
Jump to: | %
(
A C D E F G H I M P Q R S T V |
---|
Jump to: | %
(
A C D E F G H I M P Q R S T V |
---|
Jump to: | C D E F H I N O P S V |
---|
Jump to: | C D E F H I N O P S V |
---|
Jump to: | C D E F H M O P Q R S |
---|
Jump to: | C D E F H M O P Q R S |
---|