Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
geometry_traits_nfp.hpp File Reference
#include <algorithm>
#include <functional>
#include <vector>
#include <iterator>
#include <libnest2d/geometry_traits.hpp>
+ Include dependency graph for geometry_traits_nfp.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  libnest2d::nfp::MaxNfpLevel< RawShape >
 
struct  libnest2d::nfp::NfpImpl< RawShape, nfptype >
 

Namespaces

namespace  libnest2d
 
namespace  libnest2d::__nfp
 
namespace  libnest2d::nfp
 A collection of static methods for handling the no fit polygon creation.
 

Typedefs

template<class RawShape >
using libnest2d::nfp::NfpResult = std::pair< RawShape, TPoint< RawShape > >
 
template<class RawShape >
using libnest2d::nfp::Shapes = TMultiShape< RawShape >
 

Enumerations

enum class  libnest2d::nfp::NfpLevel : unsigned {
  libnest2d::nfp::CONVEX_ONLY , libnest2d::nfp::ONE_CONVEX , libnest2d::nfp::BOTH_CONCAVE , libnest2d::nfp::ONE_CONVEX_WITH_HOLES ,
  libnest2d::nfp::BOTH_CONCAVE_WITH_HOLES
}
 The complexity level of a polygon that an NFP implementation can handle. More...
 

Functions

template<class RawShape , class Unit = TCompute<RawShape>>
bool libnest2d::__nfp::_vsort (const TPoint< RawShape > &v1, const TPoint< RawShape > &v2)
 
template<class EdgeList , class RawShape , class Vertex = TPoint<RawShape>>
void libnest2d::__nfp::buildPolygon (const EdgeList &edgelist, RawShape &rpoly, Vertex &top_nfp)
 
template<class Container , class Iterator = typename Container::iterator>
void libnest2d::__nfp::advance (Iterator &it, Container &cont, bool direction)
 
template<class RawShapes >
RawShapes libnest2d::nfp::merge (const RawShapes &)
 
template<class RawShape >
TMultiShape< RawShape > libnest2d::nfp::merge (const TMultiShape< RawShape > &shc, const RawShape &sh)
 
template<class RawShape >
TPoint< RawShape > libnest2d::nfp::leftmostDownVertex (const RawShape &sh)
 
template<class RawShape >
TPoint< RawShape > libnest2d::nfp::rightmostUpVertex (const RawShape &sh)
 
template<class RawShape >
TPoint< RawShape > libnest2d::nfp::referenceVertex (const RawShape &sh)
 
template<class RawShape , class Ratio = double>
NfpResult< RawShape > libnest2d::nfp::nfpConvexOnly (const RawShape &sh, const RawShape &other)
 
template<NfpLevel nfptype, class RawShape >
NfpResult< RawShape > libnest2d::nfp::noFitPolygon (const RawShape &sh, const RawShape &other)
 Helper function to get the NFP.
 

Variables

const double BP2D_CONSTEXPR libnest2d::nfp::TwoPi = 2*Pi