polylidar.HalfEdgeTriangulation¶
- class polylidar.HalfEdgeTriangulation¶
This class hold all the datastructures in our meshes (vertices, triangles, halfedges, etc.).
- __init__(self: polylidar_pybind.HalfEdgeTriangulation, in_vertices: polylidar_pybind.MatrixDouble) None ¶
Creates a HalfEdge Triangular Mesh
- compute_triangle_normals(self: polylidar_pybind.HalfEdgeTriangulation) None ¶
Computes Triangle Normals
- set_triangle_normals(self: polylidar_pybind.HalfEdgeTriangulation, triangle_normals: polylidar_pybind.MatrixDouble) None ¶
Sets Triangle Normals from input
- set_vertex_classes(self: polylidar_pybind.HalfEdgeTriangulation, vertex_classes: polylidar_pybind.MatrixUInt8, copy: bool = True) None ¶
Sets vertex classes from input
- property counter_clock_wise¶
Direction of travel for oriented half-edges around a triangle
- property halfedges¶
Half-edge mapping in the mesh, K X 3. Every triangle has three oriented half-edges. Each half-edge has unique id which is mapped to the 2D index of all triangles, e.g. the half-edges of triangle k are [3*k, 3*k + 1, 3*k + 2]. Halfedges array provides the twin/opposite/shared half-edge id. e.g., The twin half-edge of first edge for the triangle k is halfedges(k, 0)
- property triangle_normals¶
Triangle normals in the mesh (normalized), K X 3
- property triangles¶
Triangles in the mesh, K X 3
- property vertex_classes¶
Vertex classes in the mesh, N X 1
- property vertices¶
Vertices in the mesh, N X 2 or N X 3