![]() |
Prusa Slicer 2.6.0
|
Namespaces | |
| namespace | __nfp |
| namespace | __parallel |
| namespace | nfp |
| A collection of static methods for handling the no fit polygon creation. | |
| namespace | opt |
| namespace | placers |
| namespace | pointlike |
| namespace | selections |
| namespace | shapelike |
| namespace | svg |
Classes | |
| class | _Box |
| An abstraction of a box;. More... | |
| class | _Circle |
| class | _Item |
| An item to be placed on a bin. More... | |
| class | _Nester |
| struct | _NumTag |
| struct | _NumTag< boost::rational< T > > |
| struct | _NumTag< LargeInt > |
| class | _Rectangle |
| Subclass of _Item for regular rectangle items. More... | |
| class | _Segment |
| An abstraction of a directed line segment with two points. More... | |
| struct | always_false |
| struct | BigIntTag |
| struct | BoxTag |
| struct | CircleTag |
| struct | ClosureType |
| struct | ClosureType< Slic3r::Points > |
| struct | ClosureType< Slic3r::Polygon > |
| struct | ComputeType |
| Getting the computation type for a certain geometry type. It is the coordinate type by default but it is advised that a type with larger precision and (or) range is specified. More... | |
| struct | ComputeType< GeomClass, false > |
| A compute type is introduced to hold the results of computations on coordinates and points. It should be larger in range than the coordinate type or the range of coordinates should be limited to not loose precision. More... | |
| struct | ComputeType< I, true > |
| struct | ConstItemRange |
| struct | ContourType |
| Meta function to derive the contour type for a polygon which could be itself. More... | |
| struct | ContourType< DefaultMultiShape< S > > |
| struct | ContourType< Slic3r::ExPolygon > |
| struct | ContourType< Slic3r::ExPolygons > |
| struct | CoordType |
| Getting the coordinate data type for a geometry class. More... | |
| struct | CoordType< Slic3r::Point > |
| struct | CoordType< Slic3r::Vec2crd > |
| struct | DefaultMultiShape |
| The default multi shape container. More... | |
| class | Degrees |
| Data type representing degrees. It supports conversion to radians. More... | |
| struct | DErr |
| class | Double |
| Only for the Radian and Degrees classes to behave as doubles. More... | |
| struct | DoublePrecision |
| libnest2d will choose a default compute type for various coordinate types if the backend has not specified anything. More... | |
| struct | DoublePrecision< double > |
| struct | DoublePrecision< float > |
| struct | DoublePrecision< int16_t > |
| struct | DoublePrecision< int32_t > |
| struct | DoublePrecision< int8_t > |
| struct | DOut |
| struct | genSeq |
| struct | genSeq< 0, Nseq... > |
| struct | genSeq< I, Nseq... > |
| class | GeometryException |
| struct | HolesContainer |
| A meta function to derive a container type for holes in a polygon. More... | |
| struct | HolesContainer< Slic3r::ExPolygon > |
| struct | index_sequence |
| C++11 compatible implementation of the index_sequence type from C++14. More... | |
| struct | invoke_result |
| struct | MultiPolygonTag |
| struct | MultiShape |
| The MultiShape Type trait which gets the container type for a geometry type. More... | |
| struct | MultiShape< Slic3r::ExPolygon > |
| struct | NestConfig |
| struct | NestControl |
| struct | OrientationType |
| struct | OrientationType< Slic3r::Points > |
| struct | OrientationType< Slic3r::Polygon > |
| struct | PathTag |
| class | PlacementStrategyLike |
| A wrapper interface (trait) class for any placement strategy provider. More... | |
| struct | PointPair |
| A point pair base class for other point pairs (segment, box, ...). More... | |
| struct | PointTag |
| struct | PointType |
| Getting the type of point structure used by a shape. More... | |
| struct | PointType< _Box< S > > |
| struct | PointType< _Circle< S > > |
| struct | PointType< _Segment< S > > |
| struct | PointType< Slic3r::Points > |
| struct | PointType< Slic3r::Polygon > |
| struct | PointType< std::vector< Slic3r::Vec2crd > > |
| struct | PolygonTag |
| class | Radians |
| Data type representing radians. It supports conversion to degrees. More... | |
| struct | RationalTag |
| struct | remove_cvref |
| class | RotatedBox |
| struct | ScalarTag |
| class | SelectionStrategyLike |
| struct | ShapeTag |
| Meta-function to derive the tag of a shape type. More... | |
| struct | ShapeTag< Slic3r::ExPolygon > |
| struct | ShapeTag< Slic3r::ExPolygons > |
| struct | ShapeTag< Slic3r::Point > |
| struct | ShapeTag< Slic3r::Points > |
| struct | ShapeTag< Slic3r::Polygon > |
| struct | ShapeTag< Slic3r::Vec2crd > |
| struct | ShapeTag< std::vector< Slic3r::Vec2crd > > |
Typedefs | |
| template<class T > | |
| using | Vec = Slic3r::Vec< 2, T > |
| using | PointImpl = Slic3r::Point |
| using | PathImpl = Slic3r::Polygon |
| using | HoleStore = Slic3r::Polygons |
| using | PolygonImpl = Slic3r::ExPolygon |
| template<class T > | |
| using | remove_cvref_t = typename remove_cvref< T >::type |
| template<class T > | |
| using | remove_ref_t = typename std::remove_reference< T >::type |
| template<bool B, class T > | |
| using | enable_if_t = typename std::enable_if< B, T >::type |
| template<class F , class... Args> | |
| using | invoke_result_t = typename invoke_result< F, Args... >::type |
| template<class T > | |
| using | NumTag = typename _NumTag< remove_cvref_t< T > >::Type |
| template<class S > | |
| using | Tag = typename ShapeTag< remove_cvref_t< S > >::Type |
Tagtypename ShapeTag<S>::Type | |
| template<class S > | |
| using | TContour = typename ContourType< remove_cvref_t< S > >::Type |
TContourtypename ContourType<S>::type | |
| template<class Shape > | |
| using | TPoint = typename PointType< remove_cvref_t< Shape > >::Type |
TPoint<ShapeClass> as shorthand for typename PointType<ShapeClass>::Type. | |
| template<class GeomType > | |
| using | TCoord = typename CoordType< remove_cvref_t< GeomType > >::Type |
TCoord<GeomType> as shorthand for typename CoordType<GeomType>::Type. | |
| template<class T > | |
| using | TCompute = typename ComputeType< remove_cvref_t< T > >::Type |
TCompute<T> shorthand for typename ComputeType<T>::Type | |
| template<class S > | |
| using | THolesContainer = typename HolesContainer< remove_cvref_t< S > >::Type |
Shorthand for typename HolesContainer<S>::Type | |
| template<class S > | |
| using | TMultiShape = typename MultiShape< remove_cvref_t< S > >::Type |
use TMultiShapetypename MultiShape<S>::Type | |
| using | Point = PointImpl |
| using | Coord = TCoord< PointImpl > |
| using | Box = _Box< PointImpl > |
| using | Segment = _Segment< PointImpl > |
| using | Circle = _Circle< PointImpl > |
| using | MultiPolygon = TMultiShape< PolygonImpl > |
| using | Item = _Item< PolygonImpl > |
| using | Rectangle = _Rectangle< PolygonImpl > |
| using | PackGroup = _PackGroup< PolygonImpl > |
| using | FillerSelection = selections::_FillerSelection< PolygonImpl > |
| using | FirstFitSelection = selections::_FirstFitSelection< PolygonImpl > |
| using | DJDHeuristic = selections::_DJDHeuristic< PolygonImpl > |
| template<class Bin > | |
| using | _NfpPlacer = placers::_NofitPolyPlacer< PolygonImpl, Bin > |
| using | NfpPlacer = _NfpPlacer< Box > |
| using | BottomLeftPlacer = placers::_BottomLeftPlacer< PolygonImpl > |
| template<class RawShape > | |
| using | _ItemRef = std::reference_wrapper< _Item< RawShape > > |
| template<class RawShape > | |
| using | _ItemGroup = std::vector< _ItemRef< RawShape > > |
| template<class RawShape > | |
| using | _PackGroup = std::vector< std::vector< _ItemRef< RawShape > > > |
| A list of packed item vectors. Each vector represents a bin. | |
| using | ProgressFunction = std::function< void(unsigned)> |
| using | StopCondition = std::function< bool(void)> |
| template<size_t N> | |
| using | make_index_sequence = typename genSeq< N >::Type |
| Helper alias to make an index sequence from 0 to N. | |
| template<class... Args> | |
| using | index_sequence_for = make_index_sequence< sizeof...(Args)> |
| Helper alias to make an index sequence for a parameter pack. | |
| using | LargeInt = boost::multiprecision::int128_t |
Enumerations | |
| enum class | GeomErr : std::size_t { OFFSET , MERGE , NFP } |
| enum class | Orientation { CLOCKWISE , COUNTER_CLOCKWISE } |
| enum class | Closure { OPEN , CLOSED } |
| enum class | Formats { WKT , SVG } |
Functions | |
| template<class T > | |
| DOut && | operator<< (DOut &&out, T &&d) |
| template<class T > | |
| DErr && | operator<< (DErr &&out, T &&d) |
| DOut | dout () |
| DErr | derr () |
| bool | operator== (const Degrees °, const Radians &rads) |
| bool | operator== (const Radians &rads, const Degrees °) |
| template<class T > | |
| T | abs (const T &v, ScalarTag) |
| A local version for abs that is garanteed to work with libnest2d types. | |
| template<class T > | |
| T | abs (const T &v) |
| template<class T2 , class T1 > | |
| T2 | cast (const T1 &v, ScalarTag, ScalarTag) |
| template<class T2 , class T1 > | |
| T2 | cast (const T1 &v) |
| template<class T > | |
| constexpr bool | is_clockwise () |
| template<class P > | |
| TCoord< P > | getX (const P &p) |
| template<class P > | |
| TCoord< P > | getY (const P &p) |
| template<class P > | |
| void | setX (P &p, const TCoord< P > &val) |
| template<class P > | |
| void | setY (P &p, const TCoord< P > &val) |
| template<class T > | |
| enable_if_t< std::is_floating_point< T >::value, T > | modulo (const T &v, const T &m) |
| template<class T > | |
| enable_if_t< std::is_integral< T >::value, T > | modulo (const T &v, const T &m) |
| template<class Placer = NfpPlacer, class Selector = FirstFitSelection, class Iterator = std::vector<Item>::iterator> | |
| std::size_t | nest (Iterator from, Iterator to, const typename Placer::BinType &bin, Coord dist=0, const NestConfig< Placer, Selector > &cfg={}, NestControl ctl={}) |
| template<class Placer = NfpPlacer, class Selector = FirstFitSelection, class Container = std::vector<Item>> | |
| std::size_t | nest (Container &&cont, const typename Placer::BinType &bin, Coord dist=0, const NestConfig< Placer, Selector > &cfg={}, NestControl ctl={}) |
| template<class T = double> | |
| enable_if_t< std::is_arithmetic< T >::value, TCoord< PointImpl > > | mm (T val=T(1)) |
| template<class Sh > | |
| Sh | create_rect (TCoord< Sh > width, TCoord< Sh > height) |
| template<class Container > | |
| ConstItemRange< typename Container::const_iterator > | rem (typename Container::const_iterator it, const Container &cont) |
| template<class Poly , class Pt = TPoint<Poly>, class Unit = TCompute<Pt>> | |
| Poly | removeCollinearPoints (const Poly &sh, Unit eps=Unit(0)) |
| template<class Pt , class Unit = TCompute<Pt>, class R = TCompute<Pt>> | |
| R | rectarea (const Pt &w, const Pt &vb, const Pt &vr, const Pt &vt, const Pt &vl) |
| template<class Pt , class Unit = TCompute<Pt>, class R = TCompute<Pt>, class It = typename std::vector<Pt>::const_iterator> | |
| R | rectarea (const Pt &w, const std::array< It, 4 > &rect) |
| template<class Pt , class Unit = TCompute<Pt>, class R = TCompute<Pt>> | |
| R | rectarea (const Pt &w, const Unit &a, const Unit &b) |
| template<class R , class Pt , class Unit > | |
| R | rectarea (const RotatedBox< Pt, Unit > &rb) |
| template<class RawShape , class Unit = TCompute<RawShape>, class Ratio = TCompute<RawShape>, class VisitFn > | |
| void | rotcalipers (const RawShape &sh, VisitFn &&visitfn) |
| template<class S , class Unit = TCompute<S>, class Ratio = TCompute<S>> | |
| RotatedBox< TPoint< S >, Unit > | minAreaBoundingBox (const S &sh) |
| template<class RawShape > | |
| Radians | minAreaBoundingBoxRotation (const RawShape &sh) |
| template<class S , class Unit = TCompute<S>, class Ratio = TCompute<S>> | |
| Radians | fitIntoBoxRotation (const S &shape, const _Box< TPoint< S > > &box, Radians eps=1e-4) |
| template<class RawShape > | |
| Radians | findBestRotation (_Item< RawShape > &item) |
| template<class Iterator > | |
| void | findMinimumBoundingBoxRotations (Iterator from, Iterator to) |
| template std::size_t | nest (std::vector< Item >::iterator from, std::vector< Item >::iterator to, const Box &bin, Coord dist, const NestConfig< NfpPlacer, FirstFitSelection > &cfg, NestControl ctl) |
| template std::size_t | nest (std::vector< Item >::iterator from, std::vector< Item >::iterator to, const Box &bin, Coord dist, const NestConfig< BottomLeftPlacer, FirstFitSelection > &cfg, NestControl ctl) |
Variables | |
| const double BP2D_CONSTEXPR | Pi = 3.141592653589793238463 |
| const double BP2D_CONSTEXPR | Pi_2 = 2*Pi |
| const std::string | ERROR_STR [] |
| template<class T > | |
| const constexpr Orientation | OrientationTypeV |
| template<class T > | |
| const constexpr Closure | ClosureTypeV |
| static const constexpr int | BIN_ID_UNSET = -1 |
| struct libnest2d::_NumTag |
| Class Members | ||
|---|---|---|
| typedef value, ScalarTag > | Type | |
| struct libnest2d::_NumTag< boost::rational< T > > |
| Class Members | ||
|---|---|---|
| typedef RationalTag | Type | |
| struct libnest2d::_NumTag< LargeInt > |
| Class Members | ||
|---|---|---|
| typedef ScalarTag | Type | |
| struct libnest2d::BigIntTag |
| struct libnest2d::BoxTag |
| struct libnest2d::CircleTag |
| struct libnest2d::ComputeType |
Getting the computation type for a certain geometry type. It is the coordinate type by default but it is advised that a type with larger precision and (or) range is specified.
| struct libnest2d::ComputeType< GeomClass, false > |
A compute type is introduced to hold the results of computations on coordinates and points. It should be larger in range than the coordinate type or the range of coordinates should be limited to not loose precision.
| Class Members | ||
|---|---|---|
| typedef typename ComputeType< TCoord< GeomClass > >::Type | Type | |
| struct libnest2d::ComputeType< I, true > |
| Class Members | ||
|---|---|---|
| typedef typename Type | Type | |
| struct libnest2d::ContourType |
| struct libnest2d::ContourType< DefaultMultiShape< S > > |
| Class Members | ||
|---|---|---|
| typedef typename Type | Type | |
| struct libnest2d::DErr |
| struct libnest2d::DoublePrecision |
libnest2d will choose a default compute type for various coordinate types if the backend has not specified anything.
| Class Members | ||
|---|---|---|
| typedef T | Type | |
| struct libnest2d::DoublePrecision< double > |
| Class Members | ||
|---|---|---|
| typedef long double | Type | |
| struct libnest2d::DoublePrecision< int16_t > |
| Class Members | ||
|---|---|---|
| typedef int32_t | Type | |
| struct libnest2d::DoublePrecision< int32_t > |
| Class Members | ||
|---|---|---|
| typedef int64_t | Type | |
| struct libnest2d::DoublePrecision< int8_t > |
| Class Members | ||
|---|---|---|
| typedef int16_t | Type | |
| struct libnest2d::DOut |
| struct libnest2d::genSeq |
| struct libnest2d::genSeq< 0, Nseq... > |
| Class Members | ||
|---|---|---|
| typedef index_sequence< Nseq... > | Type | |
| struct libnest2d::genSeq< I, Nseq... > |
| Class Members | ||
|---|---|---|
| typedef typename Type | Type | |
| struct libnest2d::HolesContainer |
A meta function to derive a container type for holes in a polygon.
| Class Members | ||
|---|---|---|
| typedef vector< TContour< S > > | Type | |
| struct libnest2d::invoke_result |
| Class Members | ||
|---|---|---|
| typedef typename type | type | |
| struct libnest2d::MultiPolygonTag |
| struct libnest2d::MultiShape |
The MultiShape Type trait which gets the container type for a geometry type.
| Class Members | ||
|---|---|---|
| typedef DefaultMultiShape< S > | Type | |
| struct libnest2d::PathTag |
| struct libnest2d::PointTag |
| struct libnest2d::PointType |
| struct libnest2d::PointType< _Box< S > > |
| Class Members | ||
|---|---|---|
| typedef typename PointType | Type | |
| struct libnest2d::PointType< _Circle< S > > |
| Class Members | ||
|---|---|---|
| typedef typename PointType | Type | |
| struct libnest2d::PointType< _Segment< S > > |
| Class Members | ||
|---|---|---|
| typedef typename PointType | Type | |
| struct libnest2d::PointType< Slic3r::Points > |
| Class Members | ||
|---|---|---|
| typedef Point | Type | |
| struct libnest2d::PointType< Slic3r::Polygon > |
| Class Members | ||
|---|---|---|
| typedef Point | Type | |
| struct libnest2d::PolygonTag |
| struct libnest2d::RationalTag |
| struct libnest2d::remove_cvref |
| Class Members | ||
|---|---|---|
| typedef typename type >::type | type | |
| struct libnest2d::ScalarTag |
| struct libnest2d::ShapeTag |
Meta-function to derive the tag of a shape type.
| Class Members | ||
|---|---|---|
| typedef typename Tag | Type | |
| struct libnest2d::ShapeTag< Slic3r::ExPolygon > |
| Class Members | ||
|---|---|---|
| typedef PolygonTag | Type | |
| struct libnest2d::ShapeTag< Slic3r::ExPolygons > |
| Class Members | ||
|---|---|---|
| typedef MultiPolygonTag | Type | |
| struct libnest2d::ShapeTag< Slic3r::Point > |
| Class Members | ||
|---|---|---|
| typedef PointTag | Type | |
| struct libnest2d::ShapeTag< Slic3r::Points > |
| Class Members | ||
|---|---|---|
| typedef PathTag | Type | |
| struct libnest2d::ShapeTag< Slic3r::Polygon > |
| Class Members | ||
|---|---|---|
| typedef PathTag | Type | |
| struct libnest2d::ShapeTag< Slic3r::Vec2crd > |
| Class Members | ||
|---|---|---|
| typedef PointTag | Type | |
| struct libnest2d::ShapeTag< std::vector< Slic3r::Vec2crd > > |
| Class Members | ||
|---|---|---|
| typedef PathTag | Type | |
| using libnest2d::_ItemGroup = typedef std::vector<_ItemRef<RawShape> > |
| using libnest2d::_ItemRef = typedef std::reference_wrapper<_Item<RawShape> > |
| using libnest2d::_NfpPlacer = typedef placers::_NofitPolyPlacer<PolygonImpl, Bin> |
| using libnest2d::_PackGroup = typedef std::vector<std::vector<_ItemRef<RawShape> >> |
A list of packed item vectors. Each vector represents a bin.
| using libnest2d::BottomLeftPlacer = typedef placers::_BottomLeftPlacer<PolygonImpl> |
| using libnest2d::Box = typedef _Box<PointImpl> |
| using libnest2d::Circle = typedef _Circle<PointImpl> |
| using libnest2d::Coord = typedef TCoord<PointImpl> |
| using libnest2d::DJDHeuristic = typedef selections::_DJDHeuristic<PolygonImpl> |
| using libnest2d::enable_if_t = typedef typename std::enable_if<B, T>::type |
| using libnest2d::FillerSelection = typedef selections::_FillerSelection<PolygonImpl> |
| using libnest2d::FirstFitSelection = typedef selections::_FirstFitSelection<PolygonImpl> |
| using libnest2d::HoleStore = typedef Slic3r::Polygons |
| using libnest2d::index_sequence_for = typedef make_index_sequence<sizeof...(Args)> |
Helper alias to make an index sequence for a parameter pack.
| using libnest2d::invoke_result_t = typedef typename invoke_result<F, Args...>::type |
| using libnest2d::Item = typedef _Item<PolygonImpl> |
| using libnest2d::LargeInt = typedef boost::multiprecision::int128_t |
| using libnest2d::make_index_sequence = typedef typename genSeq<N>::Type |
Helper alias to make an index sequence from 0 to N.
| using libnest2d::MultiPolygon = typedef TMultiShape<PolygonImpl> |
| using libnest2d::NfpPlacer = typedef _NfpPlacer<Box> |
| using libnest2d::NumTag = typedef typename _NumTag<remove_cvref_t<T> >::Type |
| using libnest2d::PackGroup = typedef _PackGroup<PolygonImpl> |
| using libnest2d::PathImpl = typedef Slic3r::Polygon |
| using libnest2d::Point = typedef PointImpl |
| using libnest2d::PointImpl = typedef Slic3r::Point |
| using libnest2d::PolygonImpl = typedef Slic3r::ExPolygon |
| using libnest2d::ProgressFunction = typedef std::function<void(unsigned)> |
| using libnest2d::Rectangle = typedef _Rectangle<PolygonImpl> |
| using libnest2d::remove_cvref_t = typedef typename remove_cvref<T>::type |
| using libnest2d::remove_ref_t = typedef typename std::remove_reference<T>::type |
| using libnest2d::Segment = typedef _Segment<PointImpl> |
| using libnest2d::StopCondition = typedef std::function<bool(void)> |
| using libnest2d::Tag = typedef typename ShapeTag<remove_cvref_t<S> >::Type |
Tag will be used instead of typename ShapeTag<S>::Type
| using libnest2d::TCompute = typedef typename ComputeType<remove_cvref_t<T> >::Type |
TCompute<T> shorthand for typename ComputeType<T>::Type
| using libnest2d::TContour = typedef typename ContourType<remove_cvref_t<S> >::Type |
TContour instead of typename ContourType<S>::type
| using libnest2d::TCoord = typedef typename CoordType<remove_cvref_t<GeomType> >::Type |
TCoord<GeomType> as shorthand for typename CoordType<GeomType>::Type.
| using libnest2d::THolesContainer = typedef typename HolesContainer<remove_cvref_t<S> >::Type |
Shorthand for typename HolesContainer<S>::Type
| using libnest2d::TMultiShape = typedef typename MultiShape<remove_cvref_t<S> >::Type |
use TMultiShape instead of typename MultiShape<S>::Type
| using libnest2d::TPoint = typedef typename PointType<remove_cvref_t<Shape> >::Type |
TPoint<ShapeClass> as shorthand for typename PointType<ShapeClass>::Type.
| using libnest2d::Vec = typedef Slic3r::Vec<2, T> |
|
strong |
|
strong |
|
strong |
|
strong |
|
inline |
A local version for abs that is garanteed to work with libnest2d types.
Referenced by libnest2d::_Box< P >::area().
Here is the caller graph for this function:
|
inline |
References libnest2d::shapelike::addVertex(), libnest2d::shapelike::begin(), CLOSED, COUNTER_CLOCKWISE, and libnest2d::shapelike::end().
Here is the call graph for this function:
|
inline |
Referenced by libnest2d::placers::_NofitPolyPlacer< RawShape, TBin >::trypack().
Here is the caller graph for this function:
|
inline |
Referenced by libnest2d::shapelike::offset(), and libnest2d::selections::_DJDHeuristic< RawShape >::packItems().
Here is the caller graph for this function:References libnest2d::opt::StopCriteria::absolute_score_difference, libnest2d::_Item< RawShape >::boundingBox(), libnest2d::opt::initvals(), libnest2d::opt::StopCriteria::max_iterations, Pi, and libnest2d::_Item< RawShape >::rotation().
Referenced by findMinimumBoundingBoxRotations().
Here is the call graph for this function:
Here is the caller graph for this function:| void libnest2d::findMinimumBoundingBoxRotations | ( | Iterator | from, |
| Iterator | to | ||
| ) |
References findBestRotation().
Here is the call graph for this function:| Radians libnest2d::fitIntoBoxRotation | ( | const S & | shape, |
| const _Box< TPoint< S > > & | box, | ||
| Radians | eps = 1e-4 |
||
| ) |
References libnest2d::RotatedBox< Pt, Unit >::angleToX(), libnest2d::shapelike::boundingBox(), and libnest2d::shapelike::rotate().
Here is the call graph for this function:References getX().
Referenced by libnest2d::placers::_BottomLeftPlacer< RawShape >::_trypack(), libnest2d::__nfp::_vsort(), libnest2d::RotatedBox< Pt, Unit >::angleToX(), libnest2d::_Segment< P >::angleToXaxis(), libnest2d::shapelike::area(), libnest2d::placers::_BottomLeftPlacer< RawShape >::availableSpace(), libnest2d::shapelike::boundingBox(), libnest2d::shapelike::boundingBox(), libnest2d::_Box< P >::center(), libnest2d::shapelike::convexHull(), libnest2d::placers::_NofitPolyPlacer< RawShape, TBin >::finalAlign(), boost::geometry::traits::access< bp2d::PointImpl, 0 >::get(), getX(), libnest2d::_Box< P >::infinite(), libnest2d::shapelike::isConvex(), libnest2d::shapelike::isInside(), libnest2d::shapelike::isInside(), libnest2d::placers::minimizeCircle(), Slic3r::arrangement::AutoArranger< TBin >::objfunc(), libnest2d::placers::_NofitPolyPlacer< RawShape, TBin >::placeOutsideOfBin(), rotcalipers(), libnest2d::shapelike::serialize< libnest2d::Formats::SVG >(), libnest2d::placers::_BottomLeftPlacer< RawShape >::setInitialPosition(), libnest2d::placers::_NofitPolyPlacer< RawShape, TBin >::setInitialPosition(), libnest2d::placers::_BottomLeftPlacer< RawShape >::toWallPoly(), libnest2d::_Item< RawShape >::vsort(), and libnest2d::_Rectangle< Sh >::width().
Here is the call graph for this function:
Here is the caller graph for this function:References getY().
Referenced by libnest2d::placers::_BottomLeftPlacer< RawShape >::_trypack(), libnest2d::__nfp::_vsort(), libnest2d::RotatedBox< Pt, Unit >::angleToX(), libnest2d::_Segment< P >::angleToXaxis(), libnest2d::shapelike::area(), libnest2d::placers::_BottomLeftPlacer< RawShape >::availableSpace(), libnest2d::shapelike::boundingBox(), libnest2d::shapelike::boundingBox(), libnest2d::_Box< P >::center(), libnest2d::shapelike::convexHull(), libnest2d::placers::_NofitPolyPlacer< RawShape, TBin >::finalAlign(), boost::geometry::traits::access< bp2d::PointImpl, 1 >::get(), getY(), libnest2d::_Rectangle< Sh >::height(), libnest2d::_Box< P >::infinite(), libnest2d::shapelike::isConvex(), libnest2d::shapelike::isInside(), libnest2d::shapelike::isInside(), libnest2d::placers::minimizeCircle(), Slic3r::arrangement::AutoArranger< TBin >::objfunc(), libnest2d::placers::_NofitPolyPlacer< RawShape, TBin >::placeOutsideOfBin(), rotcalipers(), libnest2d::shapelike::serialize< libnest2d::Formats::SVG >(), libnest2d::placers::_BottomLeftPlacer< RawShape >::setInitialPosition(), libnest2d::placers::_NofitPolyPlacer< RawShape, TBin >::setInitialPosition(), libnest2d::placers::_BottomLeftPlacer< RawShape >::toWallPoly(), libnest2d::_Item< RawShape >::vsort(), and libnest2d::svg::SVGWriter< RawShape >::writeShape().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineconstexpr |
References CLOCKWISE.
| RotatedBox< TPoint< S >, Unit > libnest2d::minAreaBoundingBox | ( | const S & | sh | ) |
Referenced by minAreaBoundingBoxRotation().
Here is the caller graph for this function:References minAreaBoundingBox().
Here is the call graph for this function:| enable_if_t< std::is_arithmetic< T >::value, TCoord< PointImpl > > libnest2d::mm | ( | T | val = T(1) | ) |
| enable_if_t< std::is_floating_point< T >::value, T > libnest2d::modulo | ( | const T & | v, |
| const T & | m | ||
| ) |
Referenced by libnest2d::_Box< P >::_Box().
Here is the caller graph for this function:| enable_if_t< std::is_integral< T >::value, T > libnest2d::modulo | ( | const T & | v, |
| const T & | m | ||
| ) |
| std::size_t libnest2d::nest | ( | Container && | cont, |
| const typename Placer::BinType & | bin, | ||
| Coord | dist = 0, |
||
| const NestConfig< Placer, Selector > & | cfg = {}, |
||
| NestControl | ctl = {} |
||
| ) |
| std::size_t libnest2d::nest | ( | Iterator | from, |
| Iterator | to, | ||
| const typename Placer::BinType & | bin, | ||
| Coord | dist = 0, |
||
| const NestConfig< Placer, Selector > & | cfg = {}, |
||
| NestControl | ctl = {} |
||
| ) |
| template std::size_t libnest2d::nest | ( | std::vector< Item >::iterator | from, |
| std::vector< Item >::iterator | to, | ||
| const Box & | bin, | ||
| Coord | dist, | ||
| const NestConfig< BottomLeftPlacer, FirstFitSelection > & | cfg, | ||
| NestControl | ctl | ||
| ) |
| template std::size_t libnest2d::nest | ( | std::vector< Item >::iterator | from, |
| std::vector< Item >::iterator | to, | ||
| const Box & | bin, | ||
| Coord | dist, | ||
| const NestConfig< NfpPlacer, FirstFitSelection > & | cfg, | ||
| NestControl | ctl | ||
| ) |
References libnest2d::DOut::out.
References libnest2d::DOut::out.
|
inline |
References libnest2d::pointlike::perp().
Here is the call graph for this function:
|
inline |
|
inline |
|
inline |
References libnest2d::RotatedBox< Pt, Unit >::axis(), libnest2d::RotatedBox< Pt, Unit >::bottom_extent(), and libnest2d::RotatedBox< Pt, Unit >::right_extent().
Here is the call graph for this function:
|
inline |
Referenced by libnest2d::placers::PlacerBoilerplate< Subclass, RawShape, TBin, Cfg >::pack(), libnest2d::selections::_DJDHeuristic< RawShape >::packItems(), and libnest2d::selections::_FirstFitSelection< RawShape >::packItems().
Here is the caller graph for this function:| Poly libnest2d::removeCollinearPoints | ( | const Poly & | sh, |
| Unit | eps = Unit(0) |
||
| ) |
References libnest2d::shapelike::addVertex(), libnest2d::shapelike::cbegin(), libnest2d::shapelike::cend(), libnest2d::shapelike::contourVertexCount(), and libnest2d::shapelike::reserve().
Referenced by Slic3r::minAreaBoundigBox_().
Here is the call graph for this function:
Here is the caller graph for this function:| void libnest2d::rotcalipers | ( | const RawShape & | sh, |
| VisitFn && | visitfn | ||
| ) |
References libnest2d::shapelike::addVertex(), libnest2d::shapelike::cbegin(), libnest2d::shapelike::cend(), libnest2d::pointlike::dot(), getX(), getY(), L, libnest2d::pointlike::magnsq(), libnest2d::pointlike::perp(), and libnest2d::shapelike::reserve().
Here is the call graph for this function:References setX().
Referenced by libnest2d::shapelike::boundingBox(), boost::geometry::traits::access< bp2d::PointImpl, 0 >::set(), and setX().
Here is the call graph for this function:
Here is the caller graph for this function:References setY().
Referenced by libnest2d::shapelike::boundingBox(), boost::geometry::traits::access< bp2d::PointImpl, 1 >::set(), setY(), and libnest2d::svg::SVGWriter< RawShape >::writeShape().
Here is the call graph for this function:
Here is the caller graph for this function:
|
staticconstexpr |
| const std::string libnest2d::ERROR_STR[] |
Referenced by libnest2d::GeometryException::errorstr().
|
inlineconstexpr |
| const double BP2D_CONSTEXPR libnest2d::Pi = 3.141592653589793238463 |
| const double BP2D_CONSTEXPR libnest2d::Pi_2 = 2*Pi |