Normal Collisions¶
Normal Collisions¶
- class ipctk.NormalCollisions¶
Bases:
pybind11_objectPublic Data Attributes:
If the NormalCollisions should use the convergent formulation.
The type of collision set to use.
If the NormalCollisions are using the convergent formulation.
Public Methods:
__init__(self)build(*args, **kwargs)Overloaded function.
compute_minimum_distance(self, mesh, ...)Computes the minimum distance between any non-adjacent elements.
__len__(self)Get the number of collisions.
empty(self)Get if the collision set are empty.
clear(self)Clear the collision set.
__getitem__(self, i)Get a reference to collision at index i.
is_vertex_vertex(self, i)Get if the collision at i is a vertex-vertex collision.
is_edge_vertex(self, i)Get if the collision at i is an edge-vertex collision.
is_edge_edge(self, i)Get if the collision at i is an edge-edge collision.
is_face_vertex(self, i)Get if the collision at i is an face-vertex collision.
is_plane_vertex(self, i)Get if the collision at i is an plane-vertex collision.
__str__(self, mesh, vertices, , ])Inherited from
pybind11_objectPrivate Methods:
- class CollisionSetType¶
Bases:
pybind11_objectMembers:
IPC : IPC set type, which uses the original formulation described in [Li et al. 2020].
IMPROVED_MAX_APPROX : Improved max approximation set type, which uses the improved max approximation formulation described in [Li et al. 2023].
OGC : Offset Geometric Contact set type, which uses the formulation described in [Chen et al. 2025].
-
IMPROVED_MAX_APPROX =
<CollisionSetType.IMPROVED_MAX_APPROX: 1>¶
-
IPC =
<CollisionSetType.IPC: 0>¶
-
OGC =
<CollisionSetType.OGC: 2>¶
-
__annotations__ =
{}¶
-
__members__ =
{'IMPROVED_MAX_APPROX': <CollisionSetType.IMPROVED_MAX_APPROX: 1>, 'IPC': <CollisionSetType.IPC: 0>, 'OGC': <CollisionSetType.OGC: 2>}¶
-
__module__ =
'ipctk'¶
- _pybind11_conduit_v1_()¶
- property name : str¶
- property value : int¶
-
IMPROVED_MAX_APPROX =
-
IMPROVED_MAX_APPROX =
<CollisionSetType.IMPROVED_MAX_APPROX: 1>¶
-
IPC =
<CollisionSetType.IPC: 0>¶
-
OGC =
<CollisionSetType.OGC: 2>¶
-
__annotations__ =
{}¶
- __getitem__(self, i: SupportsInt) ipctk.NormalCollision¶
Get a reference to collision at index i.
-
__module__ =
'ipctk'¶
- __str__(self: ipctk.NormalCollisions, mesh: ipc::CollisionMesh, vertices: typing.Annotated[numpy.typing.NDArray[numpy.float64], "[m, n]", "flags.f_contiguous"]) str¶
- _pybind11_conduit_v1_()¶
- build(*args, **kwargs)¶
Overloaded function.
build(self: ipctk.NormalCollisions, mesh: ipc::CollisionMesh, vertices: typing.Annotated[numpy.typing.NDArray[numpy.float64], “[m, n]”, “flags.f_contiguous”], dhat: typing.SupportsFloat, dmin: typing.SupportsFloat = 0, broad_phase: ipctk.BroadPhase = None) -> None
Initialize the set of collisions used to compute the barrier potential.
- Parameters:
mesh: The collision mesh. vertices: Vertices of the collision mesh. dhat: The activation distance of the barrier. dmin: Minimum distance. broad_phase: Broad-phase to use.
build(self: ipctk.NormalCollisions, candidates: ipctk.Candidates, mesh: ipc::CollisionMesh, vertices: typing.Annotated[numpy.typing.NDArray[numpy.float64], “[m, n]”, “flags.f_contiguous”], dhat: typing.SupportsFloat, dmin: typing.SupportsFloat = 0) -> None
Initialize the set of collisions used to compute the barrier potential.
- Parameters:
candidates: Distance candidates from which the collision set is built. mesh: The collision mesh. vertices: Vertices of the collision mesh. dhat: The activation distance of the barrier. dmin: Minimum distance.
- property collision_set_type : ipctk.NormalCollisions.CollisionSetType¶
The type of collision set to use.
- This can be either:
IPC (Implicit Potential Collisions)
IMPROVED_MAX_APPROX (Improved Max Approximation)
OGC (Offset Geometric Contact)
- compute_minimum_distance(self: ipctk.NormalCollisions, mesh: ipc::CollisionMesh, vertices: typing.Annotated[numpy.typing.NDArray[numpy.float64], "[m, n]", "flags.f_contiguous"]) float¶
Computes the minimum distance between any non-adjacent elements.
- property ee_collisions : list[ipc::EdgeEdgeNormalCollision]¶
- property enable_shape_derivatives : bool¶
If the NormalCollisions are using the convergent formulation.
- property ev_collisions : list[ipc::EdgeVertexNormalCollision]¶
- property fv_collisions : list[ipc::FaceVertexNormalCollision]¶
- is_vertex_vertex(self, i: SupportsInt) bool¶
Get if the collision at i is a vertex-vertex collision.
- property pv_collisions : list[ipc::PlaneVertexNormalCollision]¶
- property use_area_weighting : bool¶
If the NormalCollisions should use the convergent formulation.
- property vv_collisions : list[ipc::VertexVertexNormalCollision]¶
Normal Collision¶
- class ipctk.NormalCollision¶
Bases:
CollisionStencilPublic Data Attributes:
The minimum separation distance.
The term's weight (e.g., collision area)
The gradient of the term's weight wrt the rest positions.
Public Methods:
__init__(*args, **kwargs)is_mollified(self)Does the distance potentially have to be mollified?
mollifier_threshold(self, rest_positions)Compute the mollifier threshold for the distance.
mollifier(*args, **kwargs)Overloaded function.
mollifier_gradient(*args, **kwargs)Overloaded function.
mollifier_hessian(*args, **kwargs)Overloaded function.
mollifier_gradient_wrt_x(self, ...)Compute the gradient of the mollifier for the distance w.r.t.
mollifier_gradient_jacobian_wrt_x(self, ...)Compute the jacobian of the distance mollifier's gradient w.r.t.
Inherited from
CollisionStencil__init__(*args, **kwargs)num_vertices(self)Get the number of vertices in the collision stencil.
dim(self, ndof)Get the dimension of the collision stencil.
vertex_ids(self, edges, faces)Get the vertex IDs of the collision stencil.
vertices(self, vertices, edges, faces)Get the vertex attributes of the collision stencil.
dof(self, X, edges, faces)Select this stencil's DOF from the full matrix of DOF.
compute_distance(*args, **kwargs)Overloaded function.
compute_distance_gradient(*args, **kwargs)Overloaded function.
compute_distance_hessian(*args, **kwargs)Overloaded function.
compute_coefficients(*args, **kwargs)Overloaded function.
ccd(self, vertices_t0, ], vertices_t1, ], ...)Perform narrow-phase CCD on the candidate.
print_ccd_query(self, vertices_t0, vertices_t1)Print the CCD query to cout.
Inherited from
pybind11_object
-
__annotations__ =
{}¶
-
__module__ =
'ipctk'¶
- _pybind11_conduit_v1_()¶
- property dmin : float¶
The minimum separation distance.
- mollifier(*args, **kwargs)¶
Overloaded function.
mollifier(self: ipctk.NormalCollision, positions: typing.Annotated[numpy.typing.NDArray[numpy.float64], “[m, 1]”]) -> float
Compute the mollifier for the distance.
- Parameters:
positions: The stencil’s vertex positions.
- Returns:
The mollifier value.
mollifier(self: ipctk.NormalCollision, positions: typing.Annotated[numpy.typing.NDArray[numpy.float64], “[m, 1]”], eps_x: typing.SupportsFloat) -> float
Compute the mollifier for the distance.
- Parameters:
positions: The stencil’s vertex positions. eps_x: The mollifier’s threshold.
- Returns:
The mollifier value.
- mollifier_gradient(*args, **kwargs)¶
Overloaded function.
mollifier_gradient(self: ipctk.NormalCollision, positions: typing.Annotated[numpy.typing.NDArray[numpy.float64], “[m, 1]”]) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], “[m, 1]”]
Compute the gradient of the mollifier for the distance wrt the positions.
- Parameters:
positions: The stencil’s vertex positions.
- Returns:
The mollifier gradient.
mollifier_gradient(self: ipctk.NormalCollision, positions: typing.Annotated[numpy.typing.NDArray[numpy.float64], “[m, 1]”], eps_x: typing.SupportsFloat) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], “[m, 1]”]
Compute the gradient of the mollifier for the distance wrt the positions.
- Parameters:
positions: The stencil’s vertex positions. eps_x: The mollifier’s threshold.
- Returns:
The mollifier gradient.
- mollifier_gradient_jacobian_wrt_x(self, rest_positions: Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]'], positions: Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]']) Annotated[numpy.typing.NDArray[numpy.float64], '[12, 12]']¶
Compute the jacobian of the distance mollifier’s gradient w.r.t. rest positions.
- mollifier_gradient_wrt_x(self, rest_positions: Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]'], positions: Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]']) Annotated[numpy.typing.NDArray[numpy.float64], '[12, 1]']¶
Compute the gradient of the mollifier for the distance w.r.t. rest positions.
- mollifier_hessian(*args, **kwargs)¶
Overloaded function.
mollifier_hessian(self: ipctk.NormalCollision, positions: typing.Annotated[numpy.typing.NDArray[numpy.float64], “[m, 1]”]) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], “[m, n]”]
Compute the Hessian of the mollifier for the distance wrt the positions.
- Parameters:
positions: The stencil’s vertex positions.
- Returns:
The mollifier Hessian.
mollifier_hessian(self: ipctk.NormalCollision, positions: typing.Annotated[numpy.typing.NDArray[numpy.float64], “[m, 1]”], eps_x: typing.SupportsFloat) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], “[m, n]”]
Compute the Hessian of the mollifier for the distance wrt the positions.
- Parameters:
positions: The stencil’s vertex positions. eps_x: The mollifier’s threshold.
- Returns:
The mollifier Hessian.
- mollifier_threshold(self, rest_positions: Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]']) float¶
Compute the mollifier threshold for the distance.
- property weight : float¶
The term’s weight (e.g., collision area)
- property weight_gradient : scipy.sparse.csc_matrix[numpy.float64]¶
The gradient of the term’s weight wrt the rest positions.
-
__annotations__ =
Vertex-Vertex Normal Collision¶
- class ipctk.VertexVertexNormalCollision¶
Bases:
VertexVertexCandidate,NormalCollisionPublic Data Attributes:
Inherited from
VertexVertexCandidateID of the first vertex
ID of the second vertex
Inherited from
NormalCollisionThe minimum separation distance.
The term's weight (e.g., collision area)
The gradient of the term's weight wrt the rest positions.
Public Methods:
__init__(*args, **kwargs)Overloaded function.
Inherited from
VertexVertexCandidate__init__(*args, **kwargs)Overloaded function.
__str__(self)__repr__(self)__eq__(self, other)__ne__(self, other)__lt__(self, other)Compare EdgeVertexCandidates for sorting.
Inherited from
NormalCollision__init__(*args, **kwargs)is_mollified(self)Does the distance potentially have to be mollified?
mollifier_threshold(self, rest_positions)Compute the mollifier threshold for the distance.
mollifier(*args, **kwargs)Overloaded function.
mollifier_gradient(*args, **kwargs)Overloaded function.
mollifier_hessian(*args, **kwargs)Overloaded function.
mollifier_gradient_wrt_x(self, ...)Compute the gradient of the mollifier for the distance w.r.t.
mollifier_gradient_jacobian_wrt_x(self, ...)Compute the jacobian of the distance mollifier's gradient w.r.t.
Inherited from
CollisionStencil__init__(*args, **kwargs)num_vertices(self)Get the number of vertices in the collision stencil.
dim(self, ndof)Get the dimension of the collision stencil.
vertex_ids(self, edges, faces)Get the vertex IDs of the collision stencil.
vertices(self, vertices, edges, faces)Get the vertex attributes of the collision stencil.
dof(self, X, edges, faces)Select this stencil's DOF from the full matrix of DOF.
compute_distance(*args, **kwargs)Overloaded function.
compute_distance_gradient(*args, **kwargs)Overloaded function.
compute_distance_hessian(*args, **kwargs)Overloaded function.
compute_coefficients(*args, **kwargs)Overloaded function.
ccd(self, vertices_t0, ], vertices_t1, ], ...)Perform narrow-phase CCD on the candidate.
print_ccd_query(self, vertices_t0, vertices_t1)Print the CCD query to cout.
Inherited from
pybind11_objectPrivate Methods:
Inherited from
VertexVertexCandidateInherited from
NormalCollisionInherited from
CollisionStencil_pybind11_conduit_v1_
-
__annotations__ =
{}¶
- __init__(*args, **kwargs)¶
Overloaded function.
__init__(self: ipctk.VertexVertexNormalCollision, vertex0_id: typing.SupportsInt, vertex1_id: typing.SupportsInt) -> None
__init__(self: ipctk.VertexVertexNormalCollision, vv_candidate: ipctk.VertexVertexCandidate) -> None
-
__module__ =
'ipctk'¶
- _pybind11_conduit_v1_()¶
-
__annotations__ =
Edge-Vertex Normal Collision¶
- class ipctk.EdgeVertexNormalCollision¶
Bases:
EdgeVertexCandidate,NormalCollisionPublic Data Attributes:
Inherited from
EdgeVertexCandidateID of the edge
ID of the vertex
Inherited from
NormalCollisionThe minimum separation distance.
The term's weight (e.g., collision area)
The gradient of the term's weight wrt the rest positions.
Public Methods:
__init__(*args, **kwargs)Overloaded function.
Inherited from
EdgeVertexCandidate__init__(*args, **kwargs)Overloaded function.
known_dtype(self)__str__(self)__repr__(self)__eq__(self, other)__ne__(self, other)__lt__(self, other)Compare EdgeVertexCandidates for sorting.
Inherited from
NormalCollision__init__(*args, **kwargs)is_mollified(self)Does the distance potentially have to be mollified?
mollifier_threshold(self, rest_positions)Compute the mollifier threshold for the distance.
mollifier(*args, **kwargs)Overloaded function.
mollifier_gradient(*args, **kwargs)Overloaded function.
mollifier_hessian(*args, **kwargs)Overloaded function.
mollifier_gradient_wrt_x(self, ...)Compute the gradient of the mollifier for the distance w.r.t.
mollifier_gradient_jacobian_wrt_x(self, ...)Compute the jacobian of the distance mollifier's gradient w.r.t.
Inherited from
CollisionStencil__init__(*args, **kwargs)num_vertices(self)Get the number of vertices in the collision stencil.
dim(self, ndof)Get the dimension of the collision stencil.
vertex_ids(self, edges, faces)Get the vertex IDs of the collision stencil.
vertices(self, vertices, edges, faces)Get the vertex attributes of the collision stencil.
dof(self, X, edges, faces)Select this stencil's DOF from the full matrix of DOF.
compute_distance(*args, **kwargs)Overloaded function.
compute_distance_gradient(*args, **kwargs)Overloaded function.
compute_distance_hessian(*args, **kwargs)Overloaded function.
compute_coefficients(*args, **kwargs)Overloaded function.
ccd(self, vertices_t0, ], vertices_t1, ], ...)Perform narrow-phase CCD on the candidate.
print_ccd_query(self, vertices_t0, vertices_t1)Print the CCD query to cout.
Inherited from
pybind11_objectPrivate Methods:
Inherited from
EdgeVertexCandidateInherited from
NormalCollisionInherited from
CollisionStencil_pybind11_conduit_v1_
-
__annotations__ =
{}¶
- __init__(*args, **kwargs)¶
Overloaded function.
__init__(self: ipctk.EdgeVertexNormalCollision, edge_id: typing.SupportsInt, vertex_id: typing.SupportsInt) -> None
__init__(self: ipctk.EdgeVertexNormalCollision, candidate: ipctk.EdgeVertexCandidate) -> None
-
__module__ =
'ipctk'¶
- _pybind11_conduit_v1_()¶
-
__annotations__ =
Edge-Edge Normal Collision¶
- class ipctk.EdgeEdgeNormalCollision¶
Bases:
EdgeEdgeCandidate,NormalCollisionPublic Data Attributes:
Mollifier activation threshold.
Cached distance type.
Inherited from
EdgeEdgeCandidateID of the first edge.
ID of the second edge.
Inherited from
NormalCollisionThe minimum separation distance.
The term's weight (e.g., collision area)
The gradient of the term's weight wrt the rest positions.
Public Methods:
__init__(*args, **kwargs)Overloaded function.
__eq__(self, other)__ne__(self, other)__lt__(self, other)Inherited from
EdgeEdgeCandidate__init__(*args, **kwargs)Overloaded function.
known_dtype(self)__str__(self)__repr__(self)__eq__(self, other)__ne__(self, other)__lt__(self, other)Compare EdgeEdgeCandidates for sorting.
Inherited from
NormalCollision__init__(*args, **kwargs)is_mollified(self)Does the distance potentially have to be mollified?
mollifier_threshold(self, rest_positions)Compute the mollifier threshold for the distance.
mollifier(*args, **kwargs)Overloaded function.
mollifier_gradient(*args, **kwargs)Overloaded function.
mollifier_hessian(*args, **kwargs)Overloaded function.
mollifier_gradient_wrt_x(self, ...)Compute the gradient of the mollifier for the distance w.r.t.
mollifier_gradient_jacobian_wrt_x(self, ...)Compute the jacobian of the distance mollifier's gradient w.r.t.
Inherited from
CollisionStencil__init__(*args, **kwargs)num_vertices(self)Get the number of vertices in the collision stencil.
dim(self, ndof)Get the dimension of the collision stencil.
vertex_ids(self, edges, faces)Get the vertex IDs of the collision stencil.
vertices(self, vertices, edges, faces)Get the vertex attributes of the collision stencil.
dof(self, X, edges, faces)Select this stencil's DOF from the full matrix of DOF.
compute_distance(*args, **kwargs)Overloaded function.
compute_distance_gradient(*args, **kwargs)Overloaded function.
compute_distance_hessian(*args, **kwargs)Overloaded function.
compute_coefficients(*args, **kwargs)Overloaded function.
ccd(self, vertices_t0, ], vertices_t1, ], ...)Perform narrow-phase CCD on the candidate.
print_ccd_query(self, vertices_t0, vertices_t1)Print the CCD query to cout.
Inherited from
pybind11_objectPrivate Methods:
Inherited from
EdgeEdgeCandidateInherited from
NormalCollisionInherited from
CollisionStencil_pybind11_conduit_v1_
-
__annotations__ =
{}¶
- __eq__(self, other: ipctk.EdgeEdgeNormalCollision) bool¶
-
__hash__ =
None¶
- __init__(*args, **kwargs)¶
Overloaded function.
__init__(self: ipctk.EdgeEdgeNormalCollision, edge0_id: typing.SupportsInt, edge1_id: typing.SupportsInt, eps_x: typing.SupportsFloat, dtype: ipctk.EdgeEdgeDistanceType = <EdgeEdgeDistanceType.AUTO: 9>) -> None
__init__(self: ipctk.EdgeEdgeNormalCollision, candidate: ipctk.EdgeEdgeCandidate, eps_x: typing.SupportsFloat, dtype: ipctk.EdgeEdgeDistanceType = <EdgeEdgeDistanceType.AUTO: 9>) -> None
- __lt__(self, other: ipctk.EdgeEdgeNormalCollision) bool¶
-
__module__ =
'ipctk'¶
- __ne__(self, other: ipctk.EdgeEdgeNormalCollision) bool¶
- _pybind11_conduit_v1_()¶
- property dtype : ipctk.EdgeEdgeDistanceType¶
Cached distance type.
Some EE collisions are mollified EV or VV collisions.
- property eps_x : float¶
Mollifier activation threshold.
-
__annotations__ =
Face-Vertex Normal Collision¶
- class ipctk.FaceVertexNormalCollision¶
Bases:
FaceVertexCandidate,NormalCollisionPublic Data Attributes:
Inherited from
FaceVertexCandidateID of the face
ID of the vertex
Inherited from
NormalCollisionThe minimum separation distance.
The term's weight (e.g., collision area)
The gradient of the term's weight wrt the rest positions.
Public Methods:
__init__(*args, **kwargs)Overloaded function.
Inherited from
FaceVertexCandidate__init__(*args, **kwargs)Overloaded function.
known_dtype(self)__str__(self)__repr__(self)__eq__(self, other)__ne__(self, other)__lt__(self, other)Compare FaceVertexCandidate for sorting.
Inherited from
NormalCollision__init__(*args, **kwargs)is_mollified(self)Does the distance potentially have to be mollified?
mollifier_threshold(self, rest_positions)Compute the mollifier threshold for the distance.
mollifier(*args, **kwargs)Overloaded function.
mollifier_gradient(*args, **kwargs)Overloaded function.
mollifier_hessian(*args, **kwargs)Overloaded function.
mollifier_gradient_wrt_x(self, ...)Compute the gradient of the mollifier for the distance w.r.t.
mollifier_gradient_jacobian_wrt_x(self, ...)Compute the jacobian of the distance mollifier's gradient w.r.t.
Inherited from
CollisionStencil__init__(*args, **kwargs)num_vertices(self)Get the number of vertices in the collision stencil.
dim(self, ndof)Get the dimension of the collision stencil.
vertex_ids(self, edges, faces)Get the vertex IDs of the collision stencil.
vertices(self, vertices, edges, faces)Get the vertex attributes of the collision stencil.
dof(self, X, edges, faces)Select this stencil's DOF from the full matrix of DOF.
compute_distance(*args, **kwargs)Overloaded function.
compute_distance_gradient(*args, **kwargs)Overloaded function.
compute_distance_hessian(*args, **kwargs)Overloaded function.
compute_coefficients(*args, **kwargs)Overloaded function.
ccd(self, vertices_t0, ], vertices_t1, ], ...)Perform narrow-phase CCD on the candidate.
print_ccd_query(self, vertices_t0, vertices_t1)Print the CCD query to cout.
Inherited from
pybind11_objectPrivate Methods:
Inherited from
FaceVertexCandidateInherited from
NormalCollisionInherited from
CollisionStencil_pybind11_conduit_v1_
-
__annotations__ =
{}¶
- __init__(*args, **kwargs)¶
Overloaded function.
__init__(self: ipctk.FaceVertexNormalCollision, face_id: typing.SupportsInt, vertex_id: typing.SupportsInt) -> None
__init__(self: ipctk.FaceVertexNormalCollision, candidate: ipctk.FaceVertexCandidate) -> None
-
__module__ =
'ipctk'¶
- _pybind11_conduit_v1_()¶
-
__annotations__ =
Plane-Vertex Normal Collision¶
- class ipctk.PlaneVertexNormalCollision¶
Bases:
NormalCollisionPublic Data Attributes:
The plane's origin.
The plane's normal.
The vertex's id.
Inherited from
NormalCollisionThe minimum separation distance.
The term's weight (e.g., collision area)
The gradient of the term's weight wrt the rest positions.
Public Methods:
__init__(self, plane_origin, plane_normal, ...)Inherited from
NormalCollision__init__(*args, **kwargs)is_mollified(self)Does the distance potentially have to be mollified?
mollifier_threshold(self, rest_positions)Compute the mollifier threshold for the distance.
mollifier(*args, **kwargs)Overloaded function.
mollifier_gradient(*args, **kwargs)Overloaded function.
mollifier_hessian(*args, **kwargs)Overloaded function.
mollifier_gradient_wrt_x(self, ...)Compute the gradient of the mollifier for the distance w.r.t.
mollifier_gradient_jacobian_wrt_x(self, ...)Compute the jacobian of the distance mollifier's gradient w.r.t.
Inherited from
CollisionStencil__init__(*args, **kwargs)num_vertices(self)Get the number of vertices in the collision stencil.
dim(self, ndof)Get the dimension of the collision stencil.
vertex_ids(self, edges, faces)Get the vertex IDs of the collision stencil.
vertices(self, vertices, edges, faces)Get the vertex attributes of the collision stencil.
dof(self, X, edges, faces)Select this stencil's DOF from the full matrix of DOF.
compute_distance(*args, **kwargs)Overloaded function.
compute_distance_gradient(*args, **kwargs)Overloaded function.
compute_distance_hessian(*args, **kwargs)Overloaded function.
compute_coefficients(*args, **kwargs)Overloaded function.
ccd(self, vertices_t0, ], vertices_t1, ], ...)Perform narrow-phase CCD on the candidate.
print_ccd_query(self, vertices_t0, vertices_t1)Print the CCD query to cout.
Inherited from
pybind11_objectPrivate Methods:
Inherited from
NormalCollisionInherited from
CollisionStencil_pybind11_conduit_v1_
-
__annotations__ =
{}¶
- __init__(self, plane_origin: Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]'], plane_normal: Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]'], vertex_id: SupportsInt)¶
-
__module__ =
'ipctk'¶
- _pybind11_conduit_v1_()¶
- property plane_normal : Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]']¶
The plane’s normal.
- property plane_origin : Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]']¶
The plane’s origin.
- property vertex_id : int¶
The vertex’s id.
-
__annotations__ =