33#include "../accelerators/container_2d.h"
152 float aBiuTo3dUnitsScale,
float aDivFactor,
153 const BOARD_ITEM& aBoardItem,
int aPolyIndex );
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
A dummy block defined by a 2d box size.
bool Intersect(const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut) const override
bool IsPointInside(const SFVEC2F &aPoint) const override
bool Intersects(const BBOX_2D &aBBox) const override
a.Intersects(b) ⇔ !a.Disjoint(b) ⇔ !(a ∩ b = ∅)
bool Overlaps(const BBOX_2D &aBBox) const override
Test if the box overlaps the object.
INTERSECTION_RESULT IsBBoxInside(const BBOX_2D &aBBox) const override
Test this object if it's completely outside, intersects, or is completely inside aBBox.
Represent a sub polygon block.
OUTERS_AND_HOLES m_outers_and_holes
bool Intersects(const BBOX_2D &aBBox) const override
a.Intersects(b) ⇔ !a.Disjoint(b) ⇔ !(a ∩ b = ∅)
INTERSECTION_RESULT IsBBoxInside(const BBOX_2D &aBBox) const override
Test this object if it's completely outside, intersects, or is completely inside aBBox.
bool Intersect(const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut) const override
bool IsPointInside(const SFVEC2F &aPoint) const override
SEGMENTS_WIDTH_NORMALS m_open_segments
The outer part of the polygon.
bool Overlaps(const BBOX_2D &aBBox) const override
Test if the box overlaps the object.
Represent a set of closed polygons.
void ConvertPolygonToBlocks(const SHAPE_POLY_SET &aMainPath, CONTAINER_2D_BASE &aDstContainer, float aBiuTo3dUnitsScale, float aDivFactor, const BOARD_ITEM &aBoardItem, int aPolyIndex)
Use a polygon in the format of the ClipperLib::Path and process it and create multiple 2d objects (PO...
std::vector< SEGMENT_WITH_NORMALS > SEGMENTS_WIDTH_NORMALS
List used to test ray2d intersections.
std::vector< POLYSEGMENT > SEGMENTS
void Polygon2d_TestModule()
Manage a bounding box defined by two SFVEC2F min max points.
Handle a subset of a polygon.
std::vector< SEGMENTS > m_Holes
std::vector< SEGMENTS > m_Outers