MCPcopy Create free account
hub / github.com/PyMesh/PyMesh / do_intersect

Function do_intersect

python/pymesh/aabb_tree.py:162–184  ·  view source on GitHub ↗

Check if each element intersects the mesh. Args: mesh (:class:`Mesh`): Input mesh. nodes(:class:`numpy.ndarray`): The nodes of the elements. elements (:class:`numpy.ndarray`): Connectivity of the nodes. Returns: A list indicating if each element intersects

(mesh, nodes, elements)

Source from the content-addressed store, hash-verified

160 return signed_distances, face_indices, closest_points, face_normals
161
162def do_intersect(mesh, nodes, elements):
163 """ Check if each element intersects the mesh.
164
165 Args:
166 mesh (:class:`Mesh`): Input mesh.
167 nodes(:class:`numpy.ndarray`): The nodes of the elements.
168 elements (:class:`numpy.ndarray`): Connectivity of the nodes.
169
170 Returns:
171 A list indicating if each element intersects the mesh.
172 """
173 tree = AABBTree()
174 tree.load_mesh(mesh)
175
176 assert(elements.ndim == 2)
177 elem_type = elements.shape[1]
178 if (elem_type == 2):
179 r =tree.do_intersect_segments(nodes, elements) != 0
180 else:
181 raise NotImplementedError(
182 "AABB tree does not support element consisting of {} nodes"\
183 .format(elem_type))
184 return r
185
186

Callers 1

Calls 4

load_meshMethod · 0.95
do_intersect_segmentsMethod · 0.95
NotImplementedErrorClass · 0.85
AABBTreeClass · 0.70

Tested by

no test coverage detected