|
| template<class T > |
| constexpr bool | libnest2d::is_clockwise () |
| |
| template<class P > |
| TCoord< P > | libnest2d::pointlike::x (const P &p) |
| |
| template<class P > |
| TCoord< P > | libnest2d::pointlike::y (const P &p) |
| |
| template<class P > |
| TCoord< P > & | libnest2d::pointlike::x (P &p) |
| |
| template<class P > |
| TCoord< P > & | libnest2d::pointlike::y (P &p) |
| |
| template<class P , class Unit = TCompute<P>> |
| Unit | libnest2d::pointlike::squaredDistance (const P &p1, const P &p2) |
| |
| template<class P > |
| double | libnest2d::pointlike::distance (const P &p1, const P &p2) |
| |
| template<class Pt > |
| Pt | libnest2d::pointlike::perp (const Pt &p) |
| |
| template<class Pt , class Unit = TCompute<Pt>> |
| Unit | libnest2d::pointlike::dotperp (const Pt &a, const Pt &b) |
| |
| template<class Pt , class Unit = TCompute<Pt>> |
| Unit | libnest2d::pointlike::dot (const Pt &a, const Pt &b) |
| |
| template<class Pt , class Unit = TCompute<Pt>> |
| Unit | libnest2d::pointlike::magnsq (const Pt &p) |
| |
| template<class P , class Unit = TCompute<P>> |
| std::pair< Unit, bool > | libnest2d::pointlike::horizontalDistance (const P &p, const _Segment< P > &s) |
| |
| template<class P , class Unit = TCompute<P>> |
| std::pair< Unit, bool > | libnest2d::pointlike::verticalDistance (const P &p, const _Segment< P > &s) |
| |
| template<class P > |
| TCoord< P > | libnest2d::getX (const P &p) |
| |
| template<class P > |
| TCoord< P > | libnest2d::getY (const P &p) |
| |
| template<class P > |
| void | libnest2d::setX (P &p, const TCoord< P > &val) |
| |
| template<class P > |
| void | libnest2d::setY (P &p, const TCoord< P > &val) |
| |
| template<class T > |
| enable_if_t< std::is_floating_point< T >::value, T > | libnest2d::modulo (const T &v, const T &m) |
| |
| template<class T > |
| enable_if_t< std::is_integral< T >::value, T > | libnest2d::modulo (const T &v, const T &m) |
| |
| template<class S > |
| S | libnest2d::shapelike::create (const TContour< S > &contour, const THolesContainer< S > &holes) |
| |
| template<class S > |
| S | libnest2d::shapelike::create (TContour< S > &&contour, THolesContainer< S > &&holes) |
| |
| template<class S > |
| S | libnest2d::shapelike::create (const TContour< S > &contour) |
| |
| template<class S > |
| S | libnest2d::shapelike::create (TContour< S > &&contour) |
| |
| template<class S > |
| THolesContainer< S > & | libnest2d::shapelike::holes (S &) |
| |
| template<class S > |
| const THolesContainer< S > & | libnest2d::shapelike::holes (const S &) |
| |
| template<class S > |
| TContour< S > & | libnest2d::shapelike::hole (S &sh, unsigned long idx) |
| |
| template<class S > |
| const TContour< S > & | libnest2d::shapelike::hole (const S &sh, unsigned long idx) |
| |
| template<class S > |
| size_t | libnest2d::shapelike::holeCount (const S &sh) |
| |
| template<class S > |
| TContour< S > & | libnest2d::shapelike::contour (S &sh) |
| |
| template<class S > |
| const TContour< S > & | libnest2d::shapelike::contour (const S &sh) |
| |
| template<class RawPath > |
| void | libnest2d::shapelike::reserve (RawPath &p, size_t vertex_capacity, const PathTag &) |
| |
| template<class S , class... Args> |
| void | libnest2d::shapelike::addVertex (S &sh, const PathTag &, const TPoint< S > &p) |
| |
| template<class S , class Fn > |
| void | libnest2d::shapelike::foreachVertex (S &sh, Fn fn, const PathTag &) |
| |
| template<class S > |
| S::iterator | libnest2d::shapelike::begin (S &sh, const PathTag &) |
| |
| template<class S > |
| S::iterator | libnest2d::shapelike::end (S &sh, const PathTag &) |
| |
| template<class S > |
| S::const_iterator | libnest2d::shapelike::cbegin (const S &sh, const PathTag &) |
| |
| template<class S > |
| S::const_iterator | libnest2d::shapelike::cend (const S &sh, const PathTag &) |
| |
| template<class S > |
| std::string | libnest2d::shapelike::toString (const S &) |
| |
| template<Formats , class S > |
| std::string | libnest2d::shapelike::serialize (const S &, double=1) |
| |
| template<Formats , class S > |
| void | libnest2d::shapelike::unserialize (S &, const std::string &) |
| |
| template<class Cntr , class Unit = double> |
| Unit | libnest2d::shapelike::area (const Cntr &poly, const PathTag &) |
| |
| template<class S > |
| bool | libnest2d::shapelike::intersects (const S &, const S &) |
| |
| template<class TGuest , class THost > |
| bool | libnest2d::shapelike::isInside (const TGuest &, const THost &, const PointTag &, const PolygonTag &) |
| |
| template<class TGuest , class THost > |
| bool | libnest2d::shapelike::isInside (const TGuest &, const THost &, const PolygonTag &, const PolygonTag &) |
| |
| template<class S > |
| bool | libnest2d::shapelike::touches (const S &, const S &) |
| |
| template<class S > |
| bool | libnest2d::shapelike::touches (const TPoint< S > &, const S &) |
| |
| template<class S > |
| _Box< TPoint< S > > | libnest2d::shapelike::boundingBox (const S &, const PathTag &) |
| |
| template<class RawShapes > |
| _Box< TPoint< RawShapes > > | libnest2d::shapelike::boundingBox (const RawShapes &, const MultiPolygonTag &) |
| |
| template<class S > |
| S | libnest2d::shapelike::convexHull (const S &sh, const PathTag &) |
| |
| template<class RawShapes , class S = typename RawShapes::value_type> |
| S | libnest2d::shapelike::convexHull (const RawShapes &sh, const MultiPolygonTag &) |
| |
| template<class S > |
| void | libnest2d::shapelike::rotate (S &, const Radians &) |
| |
| template<class S , class P > |
| void | libnest2d::shapelike::translate (S &, const P &) |
| |
| template<class S > |
| void | libnest2d::shapelike::offset (S &, TCoord< S >, const PathTag &) |
| |
| template<class S > |
| void | libnest2d::shapelike::offset (S &sh, TCoord< S > distance, const PolygonTag &) |
| |
| template<class S > |
| std::pair< bool, std::string > | libnest2d::shapelike::isValid (const S &) |
| |
| template<class RawPath > |
| bool | libnest2d::shapelike::isConvex (const RawPath &sh, const PathTag &) |
| |
| template<class S > |
| TContour< S >::iterator | libnest2d::shapelike::begin (S &sh, const PolygonTag &) |
| |
| template<class S > |
| auto | libnest2d::shapelike::begin (S &sh) -> decltype(begin(sh, Tag< S >())) |
| |
| template<class S > |
| TContour< S >::const_iterator | libnest2d::shapelike::cbegin (const S &sh, const PolygonTag &) |
| |
| template<class S > |
| auto | libnest2d::shapelike::cbegin (const S &sh) -> decltype(cbegin(sh, Tag< S >())) |
| |
| template<class S > |
| TContour< S >::iterator | libnest2d::shapelike::end (S &sh, const PolygonTag &) |
| |
| template<class S > |
| auto | libnest2d::shapelike::end (S &sh) -> decltype(begin(sh, Tag< S >())) |
| |
| template<class S > |
| TContour< S >::const_iterator | libnest2d::shapelike::cend (const S &sh, const PolygonTag &) |
| |
| template<class S > |
| auto | libnest2d::shapelike::cend (const S &sh) -> decltype(cend(sh, Tag< S >())) |
| |
| template<class It > |
| std::reverse_iterator< It > | libnest2d::shapelike::_backward (It iter) |
| |
| template<class P > |
| auto | libnest2d::shapelike::rbegin (P &p) -> decltype(_backward(end(p))) |
| |
| template<class P > |
| auto | libnest2d::shapelike::rcbegin (const P &p) -> decltype(_backward(cend(p))) |
| |
| template<class P > |
| auto | libnest2d::shapelike::rend (P &p) -> decltype(_backward(begin(p))) |
| |
| template<class P > |
| auto | libnest2d::shapelike::rcend (const P &p) -> decltype(_backward(cbegin(p))) |
| |
| template<class P > |
| TPoint< P > | libnest2d::shapelike::front (const P &p) |
| |
| template<class P > |
| TPoint< P > | libnest2d::shapelike::back (const P &p) |
| |
| template<class S > |
| void | libnest2d::shapelike::reserve (S &sh, size_t vertex_capacity, const PolygonTag &) |
| |
| template<class T > |
| void | libnest2d::shapelike::reserve (T &sh, size_t vertex_capacity) |
| |
| template<class S > |
| void | libnest2d::shapelike::addVertex (S &sh, const PolygonTag &, const TPoint< S > &p) |
| |
| template<class S > |
| void | libnest2d::shapelike::addVertex (S &sh, const TPoint< S > &p) |
| |
| template<class S > |
| _Box< TPoint< S > > | libnest2d::shapelike::boundingBox (const S &poly, const PolygonTag &) |
| |
| template<class Box > |
| Box | libnest2d::shapelike::boundingBox (const Box &box, const BoxTag &) |
| |
| template<class Circle > |
| _Box< typename Circle::PointType > | libnest2d::shapelike::boundingBox (const Circle &circ, const CircleTag &) |
| |
| template<class S > |
| _Box< TPoint< S > > | libnest2d::shapelike::boundingBox (const S &sh) |
| |
| template<class P > |
| _Box< P > | libnest2d::shapelike::boundingBox (const _Box< P > &bb1, const _Box< P > &bb2) |
| |
| template<class S1 , class S2 > |
| _Box< TPoint< S1 > > | libnest2d::shapelike::boundingBox (const S1 &s1, const S2 &s2) |
| |
| template<class Box > |
| double | libnest2d::shapelike::area (const Box &box, const BoxTag &) |
| |
| template<class Circle > |
| double | libnest2d::shapelike::area (const Circle &circ, const CircleTag &) |
| |
| template<class S > |
| double | libnest2d::shapelike::area (const S &poly, const PolygonTag &) |
| |
| template<class RawShapes > |
| double | libnest2d::shapelike::area (const RawShapes &shapes, const MultiPolygonTag &) |
| |
| template<class S > |
| double | libnest2d::shapelike::area (const S &sh) |
| |
| template<class S > |
| S | libnest2d::shapelike::convexHull (const S &sh, const PolygonTag &) |
| |
| template<class S > |
| auto | libnest2d::shapelike::convexHull (const S &sh) -> decltype(convexHull(sh, Tag< S >())) |
| |
| template<class TP , class TC > |
| bool | libnest2d::shapelike::isInside (const TP &point, const TC &circ, const PointTag &, const CircleTag &) |
| |
| template<class TP , class TB > |
| bool | libnest2d::shapelike::isInside (const TP &point, const TB &box, const PointTag &, const BoxTag &) |
| |
| template<class S , class TC > |
| bool | libnest2d::shapelike::isInside (const S &sh, const TC &circ, const PolygonTag &, const CircleTag &) |
| |
| template<class TB , class TC > |
| bool | libnest2d::shapelike::isInside (const TB &box, const TC &circ, const BoxTag &, const CircleTag &) |
| |
| template<class TBGuest , class TBHost > |
| bool | libnest2d::shapelike::isInside (const TBGuest &ibb, const TBHost &box, const BoxTag &, const BoxTag &) |
| |
| template<class S , class TB > |
| bool | libnest2d::shapelike::isInside (const S &poly, const TB &box, const PolygonTag &, const BoxTag &) |
| |
| template<class TGuest , class THost > |
| bool | libnest2d::shapelike::isInside (const TGuest &guest, const THost &host) |
| |
| template<class S > |
| TPoint< S > & | libnest2d::shapelike::vertex (S &sh, unsigned long idx, const PolygonTag &) |
| |
| template<class S > |
| TPoint< S > & | libnest2d::shapelike::vertex (S &sh, unsigned long idx, const PathTag &) |
| |
| template<class S > |
| TPoint< S > & | libnest2d::shapelike::vertex (S &sh, unsigned long idx) |
| |
| template<class S > |
| const TPoint< S > & | libnest2d::shapelike::vertex (const S &sh, unsigned long idx, const PolygonTag &) |
| |
| template<class S > |
| const TPoint< S > & | libnest2d::shapelike::vertex (const S &sh, unsigned long idx, const PathTag &) |
| |
| template<class S > |
| const TPoint< S > & | libnest2d::shapelike::vertex (const S &sh, unsigned long idx) |
| |
| template<class S > |
| size_t | libnest2d::shapelike::contourVertexCount (const S &sh) |
| |
| template<class S , class Fn > |
| void | libnest2d::shapelike::foreachVertex (S &sh, Fn fn, const PolygonTag &) |
| |
| template<class S , class Fn > |
| void | libnest2d::shapelike::foreachVertex (S &sh, Fn fn) |
| |
| template<class Poly > |
| bool | libnest2d::shapelike::isConvex (const Poly &sh, const PolygonTag &) |
| |
| template<class S > |
| bool | libnest2d::shapelike::isConvex (const S &sh) |
| |
| template<class Box > |
| void | libnest2d::shapelike::offset (Box &bb, TCoord< Box > d, const BoxTag &) |
| |
| template<class C > |
| void | libnest2d::shapelike::offset (C &circ, TCoord< C > d, const CircleTag &) |
| |
| template<class S > |
| void | libnest2d::shapelike::offset (S &sh, TCoord< S > d) |
| |