Intersections¶
-
ipctk.has_intersections(mesh: ipctk.CollisionMesh, vertices: Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]', 'flags.f_contiguous'], broad_phase: ipctk.BroadPhase =
None) bool¶ Determine if the mesh has self intersections.
- Parameters:¶
- mesh: ipctk.CollisionMesh¶
The collision mesh.
- vertices: Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]', 'flags.f_contiguous']¶
Vertices of the collision mesh.
- broad_phase: ipctk.BroadPhase =
None¶ Broad phase to use.
- Returns:¶
A boolean for if the mesh has intersections.
- ipctk.is_edge_intersecting_triangle(e0: Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]'], e1: Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]'], t0: Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]'], t1: Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]'], t2: Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]']) bool¶
- ipctk.segment_segment_intersect(A: Annotated[numpy.typing.NDArray[numpy.float64], '[2, 1]'], B: Annotated[numpy.typing.NDArray[numpy.float64], '[2, 1]'], C: Annotated[numpy.typing.NDArray[numpy.float64], '[2, 1]'], D: Annotated[numpy.typing.NDArray[numpy.float64], '[2, 1]']) bool¶
Given two segments in 2d test whether they intersect each other using predicates orient2d
- Parameters:¶
- A: Annotated[numpy.typing.NDArray[numpy.float64], '[2, 1]']¶
1st endpoint of segment 1
- B: Annotated[numpy.typing.NDArray[numpy.float64], '[2, 1]']¶
2st endpoint of segment 1
- C: Annotated[numpy.typing.NDArray[numpy.float64], '[2, 1]']¶
1st endpoint of segment 2
- D: Annotated[numpy.typing.NDArray[numpy.float64], '[2, 1]']¶
2st endpoint of segment 2
- Returns:¶
true if they intersect