#include <k3dsdk/euler_operations.h>#include <k3dsdk/table_copier.h>#include <set>
Namespaces | |
| namespace | k3d |
Namespace reserved for all public symbols in the K-3D SDK. | |
| namespace | k3d::euler |
| namespace | k3d::euler::detail |
Functions | |
| template<class ArrayT > | |
| void | k3d::euler::detail::cumulative_sum (const ArrayT &InputArray, ArrayT &OutputArray) |
| void | k3d::euler::detail::set_edge_loop (const uint_t Loop, const uint_t FirstEdge, const mesh::indices_t &ClockwiseEdges, mesh::indices_t &EdgeLoops) |
| Sets the loop number associated with each edge in the loop to Loop. | |
| bool_t | k3d::euler::detail::is_polyline (const uint_t FirstEdge, const mesh::indices_t &ClockwiseEdges, const mesh::indices_t &EdgeLoops, const mesh::indices_t &AdjacentEdges) |
| True if the given loop is really a polyline of adjacent edges. | |
| void | k3d::euler::detail::delete_loop (const uint_t Loop, const mesh::indices_t &LoopFaces, const mesh::indices_t &FaceFirstLoops, const mesh::indices_t &LoopFirstEdges, const mesh::indices_t &ClockwiseEdges, mesh::indices_t &FacesToDelete, mesh::indices_t &LoopsToDelete, mesh::indices_t &EdgesToDelete, mesh::indices_t &Companions, mesh::indices_t &OutputFaceLoopCounts) |
| Deletes the given loop. | |
| void | k3d::euler::detail::delete_loop_if_degenerate (const uint_t Loop, const mesh::indices_t &LoopFaces, const mesh::indices_t &FaceFirstLoops, const mesh::indices_t &LoopFirstEdges, const mesh::indices_t &ClockwiseEdges, mesh::indices_t &FacesToDelete, mesh::indices_t &LoopsToDelete, mesh::indices_t &EdgesToDelete, mesh::indices_t &Companions, mesh::indices_t &OutputFaceLoopCounts) |
| Deletes the given loop if it consists of two edges, as well as the face if tis was the last loop. | |
| void | k3d::euler::detail::remove_deleted_geometry (polyhedron::primitive &Output, const mesh::indices_t &FaceFirstLoops, const mesh::counts_t &FaceLoopCounts, const mesh::indices_t &LoopFirstEdges, const mesh::indices_t &EdgePoints, const mesh::indices_t &ClockwiseEdges, const mesh::indices_t &FacesToDelete, const mesh::indices_t &LoopsToDelete, const mesh::indices_t &EdgesToDelete, const mesh::indices_t &LoopFaces, const mesh::selection_t &FaceSelection, const mesh::indices_t &FaceShells) |
| Update output arrays based on geometry that is marked for deletion. | |
| void | k3d::euler::detail::create_edge_loop_face_lookup (const mesh::indices_t &FaceFirstLoops, const mesh::counts_t &FaceLoopCounts, const mesh::indices_t &LoopFirstEdges, const mesh::indices_t &ClockwiseEdges, mesh::indices_t &EdgeLoops, mesh::indices_t &LoopFaces) |
| Creates lookup arrays linking edges to their loops, and loops to their faces. | |
| void | k3d::euler::kill_edge_make_loop (polyhedron::primitive &Output, const mesh::indices_t &EdgeList, const mesh::bools_t BoundaryEdges, const mesh::indices_t &AdjacentEdges, const mesh::points_t &Points, const mesh::normals_t &FaceNormals) |
| Apply the Kill Edge Make Loop (KEML) Euler operation to all edges in EdgeList that are not boundary edges. | |
| void | k3d::euler::kill_edge_and_vertex (polyhedron::primitive &Output, const mesh::indices_t &EdgeList, const mesh::bools_t BoundaryEdges, const mesh::indices_t &AdjacentEdges, const uint_t PointCount) |
| Apply the Kill Edge and Vertex (KEV) Euler operation to all selected edges. | |
1.6.3