cellcomplex.property_topomesh.topological_operations.topomesh_split_vertex

cellcomplex.property_topomesh.topological_operations.topomesh_split_vertex(topomesh, pid, new_pid=None, splitting_axis=None, splitting_distance=None)[source]

Perform an vertex split operation on a triangular PropertyTopomesh

The vertex split operation replaces a mesh vertex by a pair of vertices linked by an edge, and creates the necessary higher degree elements to ensure to topological consistency of the complex. The split occurs in a given direction, with a given distance, that can both be estimated automatically given the local configuration of the mesh.

>>>  •-----•-----•           •-----•-----•
>>>  | \   |   / |           |\   / \   /|
>>>  |   \ | /   |           | \ /   \ / |
>>>  •-----•-----•    -->    •--•-----•--•
>>>  |   / | \   |           | / \   / \ |
>>>  | /   |   \ |           |/   \ /   \|
>>>  •-----•-----•           •-----•-----•
Parameters
  • topomesh (cellcomplex.property_topomesh.PropertyTopomesh) – The structure on which to perform the operation

  • pid (unsigned int) – The ID of the vertex element to split

  • new_pid (unsigned int, optional) – The ID of the new vertex inserted by the split

  • splitting_axis (numpy.ndarray, optional) – The 3D direction in which to perform the split

  • splitting_distance (:float, optional) – The length of the edge element resulting from the split

Returns

Return type

None

Note

The PropertyTopomesh passed as argument is updated.

Warning

The PropertyTopomesh must be a triangular topomesh (cellcomplex.property_topomesh.analysis.is_triangular())