![]() |
Prusa Slicer 2.6.0
|
#include <src/libnest2d/include/libnest2d/placers/bottomleftplacer.hpp>
Inheritance diagram for libnest2d::placers::_BottomLeftPlacer< RawShape >:
Collaboration diagram for libnest2d::placers::_BottomLeftPlacer< RawShape >:Public Types | |
| enum class | Dir { LEFT , DOWN } |
| using | ShapeType = RawShape |
| using | Item = _Item< RawShape > |
| using | Vertex = TPoint< RawShape > |
| using | Segment = _Segment< Vertex > |
| using | BinType = _Box< TPoint< RawShape > > |
| using | Coord = TCoord< Vertex > |
| using | Config = BLConfig< RawShape > |
| using | ItemGroup = _ItemGroup< RawShape > |
| using | DefaultIter = typename ItemGroup::const_iterator |
Public Member Functions | |
| _BottomLeftPlacer (const BinType &bin) | |
| template<class Range = ConstItemRange<typename Base::DefaultIter>> | |
| PackResult | trypack (Item &item, const Range &=Range()) |
| RawShape | leftPoly (const Item &item) const |
| RawShape | downPoly (const Item &item) const |
| Coord | availableSpaceLeft (const Item &item) |
| Coord | availableSpaceDown (const Item &item) |
| const BinType & | bin () const BP2D_NOEXCEPT |
| void | bin (TB &&b) |
| void | configure (const Config &config) BP2D_NOEXCEPT |
| bool | pack (Item &item, const Range &rem=Range()) |
| void | preload (const ItemGroup &packeditems) |
| void | accept (PackResult &r) |
| void | unpackLast () |
| const ItemGroup & | getItems () const |
| void | clearItems () |
| double | filledArea () const |
Protected Member Functions | |
| PackResult | _trypack (Item &item) |
| void | setInitialPosition (Item &item) |
| ItemGroup | itemsInTheWayOf (const Item &item, const Dir dir) |
| Coord | availableSpace (const Item &_item, const Dir dir) |
| RawShape | toWallPoly (const Item &_item, const Dir dir) const |
Static Protected Member Functions | |
| template<class C = Coord> | |
| static enable_if_t< std::is_floating_point< C >::value, bool > | isInTheWayOf (const Item &item, const Item &other, const RawShape &scanpoly) |
| template<class C = Coord> | |
| static enable_if_t< std::is_integral< C >::value, bool > | isInTheWayOf (const Item &item, const Item &other, const RawShape &scanpoly) |
Protected Attributes | |
| BinType | bin_ |
| ItemGroup | items_ |
| BLConfig< RawShape > | config_ |
Private Types | |
| using | Base = PlacerBoilerplate< _BottomLeftPlacer< RawShape >, RawShape, _Box< TPoint< RawShape > >, BLConfig< RawShape > > |
Private Attributes | |
| bool | farea_valid_ |
| double | farea_ |
|
private |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
strong |
|
inlineexplicit |
|
inlineprotected |
References libnest2d::placers::_BottomLeftPlacer< RawShape >::availableSpaceDown(), libnest2d::placers::_BottomLeftPlacer< RawShape >::availableSpaceLeft(), libnest2d::placers::PlacerBoilerplate< _BottomLeftPlacer< RawShape >, RawShape, _Box< TPoint< RawShape > >, BLConfig< RawShape > >::bin_, libnest2d::placers::PlacerBoilerplate< _BottomLeftPlacer< RawShape >, RawShape, _Box< TPoint< RawShape > >, BLConfig< RawShape > >::config_, libnest2d::getX(), libnest2d::getY(), libnest2d::_Box< P >::height(), libnest2d::placers::_BottomLeftPlacer< RawShape >::setInitialPosition(), libnest2d::_Item< RawShape >::transformedShape(), libnest2d::_Item< RawShape >::translate(), and libnest2d::_Box< P >::width().
Referenced by libnest2d::placers::_BottomLeftPlacer< RawShape >::trypack().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineinherited |
|
inlineprotected |
References libnest2d::_Item< RawShape >::begin(), libnest2d::shapelike::begin(), libnest2d::shapelike::contour(), libnest2d::_Item< RawShape >::end(), libnest2d::shapelike::end(), libnest2d::getX(), libnest2d::getY(), libnest2d::placers::_BottomLeftPlacer< RawShape >::itemsInTheWayOf(), libnest2d::placers::_BottomLeftPlacer< RawShape >::LEFT, and libnest2d::_Item< RawShape >::transformedShape().
Referenced by libnest2d::placers::_BottomLeftPlacer< RawShape >::availableSpaceDown(), and libnest2d::placers::_BottomLeftPlacer< RawShape >::availableSpaceLeft().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References libnest2d::placers::_BottomLeftPlacer< RawShape >::availableSpace(), and libnest2d::placers::_BottomLeftPlacer< RawShape >::DOWN.
Referenced by libnest2d::placers::_BottomLeftPlacer< RawShape >::_trypack().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References libnest2d::placers::_BottomLeftPlacer< RawShape >::availableSpace(), and libnest2d::placers::_BottomLeftPlacer< RawShape >::LEFT.
Referenced by libnest2d::placers::_BottomLeftPlacer< RawShape >::_trypack().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
References libnest2d::placers::_BottomLeftPlacer< RawShape >::DOWN, and libnest2d::placers::_BottomLeftPlacer< RawShape >::toWallPoly().
Referenced by libnest2d::placers::_BottomLeftPlacer< RawShape >::itemsInTheWayOf().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineinherited |
|
inlineinherited |
|
inlinestaticprotected |
References libnest2d::shapelike::intersects(), libnest2d::shapelike::isInside(), libnest2d::_Item< RawShape >::rawShape(), and libnest2d::_Item< RawShape >::transformedShape().
Referenced by libnest2d::placers::_BottomLeftPlacer< RawShape >::itemsInTheWayOf().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestaticprotected |
References libnest2d::shapelike::intersects(), libnest2d::shapelike::isInside(), libnest2d::_Item< RawShape >::rawShape(), libnest2d::shapelike::touches(), and libnest2d::_Item< RawShape >::transformedShape().
Here is the call graph for this function:
|
inlineprotected |
References libnest2d::placers::_BottomLeftPlacer< RawShape >::downPoly(), libnest2d::placers::_BottomLeftPlacer< RawShape >::isInTheWayOf(), libnest2d::placers::PlacerBoilerplate< _BottomLeftPlacer< RawShape >, RawShape, _Box< TPoint< RawShape > >, BLConfig< RawShape > >::items_, libnest2d::placers::_BottomLeftPlacer< RawShape >::LEFT, and libnest2d::placers::_BottomLeftPlacer< RawShape >::leftPoly().
Referenced by libnest2d::placers::_BottomLeftPlacer< RawShape >::availableSpace().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References libnest2d::placers::_BottomLeftPlacer< RawShape >::LEFT, and libnest2d::placers::_BottomLeftPlacer< RawShape >::toWallPoly().
Referenced by libnest2d::placers::_BottomLeftPlacer< RawShape >::itemsInTheWayOf().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineinherited |
|
inlineinherited |
|
inlineprotected |
References libnest2d::placers::PlacerBoilerplate< _BottomLeftPlacer< RawShape >, RawShape, _Box< TPoint< RawShape > >, BLConfig< RawShape > >::bin_, libnest2d::_Item< RawShape >::boundingBox(), libnest2d::getX(), libnest2d::getY(), libnest2d::_Box< P >::maxCorner(), and libnest2d::_Item< RawShape >::translate().
Referenced by libnest2d::placers::_BottomLeftPlacer< RawShape >::_trypack().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Implementation of the left (and down) polygon as described by [López-Camacho et al. 2013]\ (http://www.cs.stir.ac.uk/~goc/papers/EffectiveHueristic2DAOR2013.pdf) see algorithm 8 for details...
References libnest2d::shapelike::addVertex(), libnest2d::CLOSED, libnest2d::shapelike::contour(), libnest2d::getX(), libnest2d::getY(), libnest2d::placers::_BottomLeftPlacer< RawShape >::LEFT, libnest2d::shapelike::reserve(), libnest2d::_Item< RawShape >::transformedShape(), and libnest2d::_Item< RawShape >::vertex().
Referenced by libnest2d::placers::_BottomLeftPlacer< RawShape >::downPoly(), and libnest2d::placers::_BottomLeftPlacer< RawShape >::leftPoly().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References libnest2d::placers::_BottomLeftPlacer< RawShape >::_trypack(), libnest2d::placers::PlacerBoilerplate< _BottomLeftPlacer< RawShape >, RawShape, _Box< TPoint< RawShape > >, BLConfig< RawShape > >::config_, and libnest2d::_Item< RawShape >::rotate().
Here is the call graph for this function:
|
inlineinherited |
|
protectedinherited |
|
protectedinherited |
|
mutableprivateinherited |
|
mutableprivateinherited |
|
protectedinherited |