public class BVIntersector
extends java.lang.Object
Constructor and Description |
---|
BVIntersector() |
Modifier and Type | Method and Description |
---|---|
java.util.ArrayList<java.util.LinkedList<Point3d>> |
buildContours(java.util.List<TriPlaneIntersection> intersections,
double tol) |
java.util.ArrayList<java.util.LinkedList<Point3d>> |
buildMeshContours(java.util.List<TriTriIntersection> intersections,
double tol) |
boolean |
intersectMeshLine(java.util.ArrayList<TriLineIntersection> intersections,
BVTree bvh,
Line line)
Intersects the faces of a triangular mesh with a line.
|
boolean |
intersectMeshLine(java.util.ArrayList<TriLineIntersection> intersections,
PolygonalMesh mesh,
Line line)
Intersects the faces of a triangular mesh with a line.
|
boolean |
intersectMeshMesh(java.util.ArrayList<TriTriIntersection> intersections,
BVTree bvh1,
BVTree bvh2)
Intersects the faces of two triangular meshes, whose faces are contained
within supplied bounding volume hierarchies.
|
boolean |
intersectMeshMesh(java.util.ArrayList<TriTriIntersection> intersections,
PolygonalMesh mesh1,
PolygonalMesh mesh2)
Intersects the faces of two triangular meshes.
|
boolean |
intersectMeshPlane(java.util.ArrayList<TriPlaneIntersection> intersections,
BVTree bvh,
Plane plane)
Intersects the faces of a triangular mesh with a plane.
|
boolean |
intersectMeshPlane(java.util.ArrayList<TriPlaneIntersection> intersections,
PolygonalMesh mesh,
Plane plane)
Intersects the faces of a triangular mesh with a plane.
|
java.util.ArrayList<java.util.LinkedList<Point3d>> |
intersectMeshPlane(PolygonalMesh mesh,
Plane plane,
double tol)
Intersects a
PolygonalMesh with a plane, returning the set of
intersection contours. |
public boolean intersectMeshMesh(java.util.ArrayList<TriTriIntersection> intersections, PolygonalMesh mesh1, PolygonalMesh mesh2)
intersections
, which contains
information on each detected pair of intersecting triangles.
This method detects only face (triangle) intersections; it does not detect if one mesh is completely inside the other.
intersections
- returns information for each pair of intersecting
triangles.mesh1
- first mesh to be intersectedmesh2
- second mesh to be intersectedpublic boolean intersectMeshMesh(java.util.ArrayList<TriTriIntersection> intersections, BVTree bvh1, BVTree bvh2)
intersections
, which contains information on each
detected pair of intersecting triangles.
This method detects only face (triangle) intersections; it does not detect if one mesh is completely inside the other.
intersections
- returns information for each pair of intersecting
triangles.bvh1
- bounding volume hierarchy for the first mesh to be intersectedbvh2
- bounding volume hierarchy for the second mesh to be intersectedpublic boolean intersectMeshPlane(java.util.ArrayList<TriPlaneIntersection> intersections, PolygonalMesh mesh, Plane plane)
intersections
, which
contains information on each detected face-plane intersection.intersections
- returns information for each face-plane intersection.mesh
- the mesh to be intersectedplane
- the plane to be intersectedpublic boolean intersectMeshPlane(java.util.ArrayList<TriPlaneIntersection> intersections, BVTree bvh, Plane plane)
intersections
, which
contains information on each detected face-plane intersection.intersections
- returns information for each face-plane intersection.bvh
- bounding volume hierarchy containing the mesh facesplane
- the plane to be intersectedpublic boolean intersectMeshLine(java.util.ArrayList<TriLineIntersection> intersections, PolygonalMesh mesh, Line line)
intersections
, which
contains information on each detected face-line intersection.intersections
- returns information for each line-plane intersection.mesh
- the mesh to be intersectedline
- the line to be intersectedpublic boolean intersectMeshLine(java.util.ArrayList<TriLineIntersection> intersections, BVTree bvh, Line line)
intersections
, which
contains information on each detected face-line intersection.intersections
- returns information for each face-line intersection.bvh
- bounding volume hierarchy containing the mesh facesline
- the line to be intersectedpublic java.util.ArrayList<java.util.LinkedList<Point3d>> intersectMeshPlane(PolygonalMesh mesh, Plane plane, double tol)
PolygonalMesh
with a plane, returning the set of
intersection contours.mesh
- mesh to intersectplane
- plane to intersect withtol
- tolerance within which points are considered identicalpublic java.util.ArrayList<java.util.LinkedList<Point3d>> buildMeshContours(java.util.List<TriTriIntersection> intersections, double tol)
public java.util.ArrayList<java.util.LinkedList<Point3d>> buildContours(java.util.List<TriPlaneIntersection> intersections, double tol)