public interface BoundarySource3D extends BoundarySource<PlaneConvexSubset>, Linecastable3D
BoundarySource
interface for Euclidean 3D space.Modifier and Type | Method and Description |
---|---|
default Bounds3D |
getBounds()
Get a
Bounds3D object defining the axis-aligned box containing all vertices
in the boundaries for this instance. |
default List<LinecastPoint3D> |
linecast(LineConvexSubset3D subset)
Intersect the given line convex subset against the boundaries in this instance, returning
a list of all intersections in order of increasing distance along the line.
|
default LinecastPoint3D |
linecastFirst(LineConvexSubset3D subset)
Intersect the given line convex subset against the boundaries in this instance, returning
the first intersection found when traveling in the direction of the line subset from its
start point.
|
static BoundarySource3D |
of(Collection<PlaneConvexSubset> boundaries)
Return a
BoundarySource3D instance containing the given boundaries. |
static BoundarySource3D |
of(PlaneConvexSubset... boundaries)
Return a
BoundarySource3D instance containing the given boundaries. |
default BoundaryList3D |
toList()
Return a
BoundaryList3D containing the boundaries in this instance. |
default RegionBSPTree3D |
toTree()
Return a BSP tree constructed from the boundaries contained in this instance.
|
default TriangleMesh |
toTriangleMesh(Precision.DoubleEquivalence precision)
Construct a triangle mesh from the boundaries in this instance.
|
default Stream<Triangle3D> |
triangleStream()
Return the boundaries of this instance as a stream of
Triangle3D
instances. |
boundaryStream
linecast, linecastFirst
default BoundaryList3D toList()
BoundaryList3D
containing the boundaries in this instance.BoundaryList3D
containing the boundaries in this instancedefault RegionBSPTree3D toTree()
RegionBSPTree3D.PartitionedRegionBuilder3D
.RegionBSPTree3D.partitionedRegionBuilder()
default TriangleMesh toTriangleMesh(Precision.DoubleEquivalence precision)
precision
- precision context used in boundaries generated by the resulting meshIllegalStateException
- if any boundary in this boundary source is infinitedefault Stream<Triangle3D> triangleStream()
Triangle3D
instances. An IllegalStateException
exception is thrown while reading
from the stream if any boundary cannot be converted to a triangle (i.e. if it
has infinite size).PlaneSubset.toTriangles()
default List<LinecastPoint3D> linecast(LineConvexSubset3D subset)
linecast
in interface Linecastable3D
subset
- line subset to intersectdefault LinecastPoint3D linecastFirst(LineConvexSubset3D subset)
linecastFirst
in interface Linecastable3D
subset
- line subset to intersectdefault Bounds3D getBounds()
Bounds3D
object defining the axis-aligned box containing all vertices
in the boundaries for this instance. Null is returned if any boundary is infinite
or no vertices are found.static BoundarySource3D of(PlaneConvexSubset... boundaries)
BoundarySource3D
instance containing the given boundaries.boundaries
- boundaries to include in the boundary sourcestatic BoundarySource3D of(Collection<PlaneConvexSubset> boundaries)
BoundarySource3D
instance containing the given boundaries. The given
collection is used directly as the source of the boundaries; no copy is made.boundaries
- boundaries to include in the boundary sourceCopyright © 2016–2021 The Apache Software Foundation. All rights reserved.