euler_operations.cpp File Reference

#include <k3dsdk/euler_operations.h>
#include <k3dsdk/table_copier.h>
#include <set>
Include dependency graph for euler_operations.cpp:

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.

Generated on Mon Mar 21 07:33:35 2011 for K-3D by doxygen 1.6.3