datastructures

Classes

Datastructure

Base class for all data structures.

Graph

Base graph data structure for describing the topological relationships between nodes connected by edges.

HalfEdge

Base half-edge data structure for representing the topology of open oor closed surface meshes.

HalfFace

Base half-face data structure for representing volumetric meshes.

Mesh

Geometric implementation of a half edge data structure for polygon meshses.

Network

Geometric implementation of an edge graph.

VolMesh

Geometric implementation of a face data structure for volumetric meshes.

Assembly

A data structure for managing the connections between different parts of an assembly.

Part

A data structure for representing assembly parts.

Functions

Network

network_complement

Generate the complement network of a network.

network_count_crossings

Count the number of crossings (pairs of crossing edges) in the network.

network_disconnected_edges

Get the disconnected edge groups in a network.

network_disconnected_nodes

Get the disconnected node groups in a network.

network_embed_in_plane_proxy

network_embed_in_plane

Embed the network in the plane.

network_explode

Explode a network into its connected components.

network_find_crossings

Identify all pairs of crossing edges in a network.

network_find_cycles

Find the faces of a network.

network_is_connected

Verify that the network is connected.

network_is_crossed

Verify if a network has crossing edges.

network_is_planar_embedding

Verify that a network is embedded in the plane without crossing edges.

network_is_planar

Check if the network is planar.

network_is_xy

Verify that a network lies in the XY plane.

network_join_edges

Join the edges incidental on the given node, if there are exactly two incident edges.

network_polylines

Join network edges into polylines.

network_shortest_path

Find the shortest path between two nodes of the network.

network_smooth_centroid

Smooth a network by moving every free node to the centroid of its neighbors.

network_split_edge

Split and edge by inserting a node along its length.

network_transform

Transform a network.

network_transformed

Return a transformed copy of the network.

network_adjacency_matrix

Creates a node adjacency matrix from a Network datastructure.

network_connectivity_matrix

Creates a connectivity matrix from a Network datastructure.

network_degree_matrix

Creates a node degree matrix from a Network datastructure.

network_laplacian_matrix

Construct a Laplacian matrix from a Network datastructure.

Mesh

mesh_add_vertex_to_face_edge

Add an existing vertex of the mesh to an existing face.

mesh_bounding_box_xy

Compute the (axis aligned) bounding box of a projection of the mesh in the XY plane.

mesh_bounding_box

Compute the (axis aligned) bounding box of a mesh.

mesh_collapse_edge

Collapse an edge to its first or second vertex, or to an intermediate point.

mesh_connected_components

Find the connected components of the mesh.

mesh_conway_ambo

Generates the ambo mesh from a seed mesh.

mesh_conway_bevel

Generates the bevel mesh from a seed mesh.

mesh_conway_dual

Generates the dual mesh from a seed mesh.

mesh_conway_expand

Generates the expand mesh from a seed mesh.

mesh_conway_gyro

Generates the gyro mesh from a seed mesh.

mesh_conway_join

Generates the join mesh from a seed mesh.

mesh_conway_kis

Generates the kis mesh from a seed mesh.

mesh_conway_meta

Generates the meta mesh from a seed mesh.

mesh_conway_needle

Generates the needle mesh from a seed mesh.

mesh_conway_ortho

Generates the ortho mesh from a seed mesh.

mesh_conway_snub

Generates the snub mesh from a seed mesh.

mesh_conway_truncate

Generates the truncate mesh from a seed mesh.

mesh_conway_zip

Generates the zip mesh from a seed mesh.

mesh_delete_duplicate_vertices

Cull all duplicate vertices of a mesh and sanitize affected faces.

mesh_disconnected_faces

Get the disconnected face groups in a mesh.

mesh_disconnected_vertices

Get the disconnected vertex groups in a mesh.

mesh_dual

Construct the dual of a mesh.

mesh_explode

Explode a mesh into its disconnected parts.

mesh_face_adjacency

Build a face adjacency dict.

mesh_flatness

Compute mesh flatness per face.

mesh_flip_cycles

Flip the cycle directions of all faces.

mesh_insert_vertex_on_edge

Insert a vertex in the faces adjacent to an edge, between the two edge vertices.

mesh_is_connected

Verify that the mesh is connected.

mesh_merge_faces

Merge two faces of a mesh over their shared edge.

mesh_offset

Offset a mesh.

mesh_planarize_faces

Planarise a set of connected faces.

mesh_quads_to_triangles

Convert all quadrilateral faces of a mesh to triangles by adding a diagonal edge.

mesh_slice_plane

Slice a mesh with a plane and construct the resulting submeshes.

mesh_smooth_area

Smooth a mesh by moving each vertex to the barycenter of the centroids of the surrounding faces, weighted by area.

mesh_smooth_centerofmass

Smooth a mesh by moving every free vertex to the center of mass of the polygon formed by the neighboring vertices.

mesh_smooth_centroid

Smooth a mesh by moving every free vertex to the centroid of its neighbors.

mesh_split_edge

Split and edge by inserting a vertex along its length.

mesh_split_face

Split a face by inserting an edge between two specified vertices.

mesh_split_strip

Split the srip of faces corresponding to a given edge.

mesh_subdivide_catmullclark

Subdivide a mesh using the Catmull-Clark algorithm.

mesh_subdivide_corner

Subdivide a mesh by cutting corners.

mesh_subdivide_doosabin

Subdivide a mesh following the doo-sabin scheme.

mesh_subdivide_frames

Subdivide a mesh by creating offset frames and windows on its faces.

mesh_subdivide_quad

Subdivide a mesh such that all faces are quads.

mesh_subdivide_tri

Subdivide a mesh using simple insertion of vertices.

mesh_subdivide

Subdivide the input mesh.

mesh_substitute_vertex_in_faces

Substitute in a mesh a vertex by another one.

mesh_thicken

Thicken a mesh.

mesh_transform

Transform a mesh.

mesh_transformed

Return a transformed copy of the mesh.

mesh_unify_cycles

Unify the cycle directions of all faces.

mesh_unweld_edges

Unwelds a mesh along edges.

mesh_unweld_vertices

Unweld a face of the mesh.

mesh_weld

Weld vertices of a mesh within some precision distance.

meshes_join_and_weld

Join and and weld meshes within some precision distance.

meshes_join

Join meshes without welding.

trimesh_collapse_edge

Collapse an edge to its first or second vertex, or to an intermediate point.

trimesh_face_circle

Get data on circumcentre of triangular face.

trimesh_gaussian_curvature

Compute the gaussian curvature at the vertices of a triangle mesh using the angular deficit.

trimesh_mean_curvature

trimesh_remesh

Remesh until all edges have a specified target length.

trimesh_split_edge

Split an edge of a triangle mesh.

trimesh_subdivide_loop

Subdivide a triangle mesh using the Loop algorithm.

trimesh_swap_edge

Replace an edge of the mesh by an edge connecting the opposite vertices of the adjacent faces.

mesh_adjacency_matrix

Creates a vertex adjacency matrix from a Mesh datastructure.

mesh_connectivity_matrix

Creates a connectivity matrix from a Mesh datastructure.

mesh_contours_numpy

Compute the contours of the mesh.

mesh_degree_matrix

Creates a vertex degree matrix from a Mesh datastructure.

mesh_face_matrix

Construct the face matrix from a Mesh datastructure.

mesh_geodesic_distances_numpy

Compute geodesic from the vertices of a mesh to given source vertices.

mesh_isolines_numpy

Compute the isolines of a specified attribute of the vertices of a mesh.

mesh_laplacian_matrix

Construct a Laplacian matrix with uniform weights from a mesh data structure.

mesh_oriented_bounding_box_numpy

Compute the (axis aligned) bounding box of a mesh.

mesh_oriented_bounding_box_xy_numpy

Compute the (axis aligned) bounding box of a projection of the mesh in the XY plane.

mesh_transform_numpy

Transform a mesh.

mesh_transformed_numpy

Return a transformed copy of the mesh.

trimesh_cotangent_laplacian_matrix

Construct the Laplacian of a triangular mesh with cotangent weights.

trimesh_descent

Compute the gradient per face of the heightfield of the vertices of the mesh.

trimesh_pull_points_numpy

Pull points onto a mesh by computing the closest point on the mesh for each of the points.

trimesh_samplepoints_numpy

Compute sample points on a triangle mesh surface.

trimesh_smooth_laplacian_cotangent

Smooth a triangle mesh using a laplacian matrix with cotangent weights.

trimesh_vertexarea_matrix

Compute the n x n diagonal matrix of per-vertex voronoi areas.

VolMesh

volmesh_bounding_box

Compute the (axis aligned) bounding box of a volmesh.

volmesh_transform

Transform a mesh.

volmesh_transformed

Return a transformed copy of the volmesh.

Assembly