KiCad PCB EDA Suite
|
#include <container_2d.h>
Public Member Functions | |
CONTAINER_2D () | |
void | GetIntersectingObjects (const BBOX_2D &aBBox, CONST_LIST_OBJECT2D &aOutList) const override |
Get a list of objects that intersects a bounding box. | |
bool | IntersectAny (const RAYSEG2D &aSegRay) const override |
Intersect and check if a segment ray hits a object or is inside it. | |
void | Add (OBJECT_2D *aObject) |
const BBOX_2D & | GetBBox () const |
virtual void | Clear () |
const LIST_OBJECT2D & | GetList () const |
Protected Attributes | |
BBOX_2D | m_bbox |
LIST_OBJECT2D | m_objects |
Private Attributes | |
std::mutex | m_lock |
Definition at line 94 of file container_2d.h.
CONTAINER_2D::CONTAINER_2D | ( | ) |
Definition at line 62 of file container_2d.cpp.
|
inlineinherited |
Definition at line 49 of file container_2d.h.
References OBJECT_2D::GetBBox(), CONTAINER_2D_BASE::m_bbox, CONTAINER_2D_BASE::m_lock, CONTAINER_2D_BASE::m_objects, and BBOX_2D::Union().
Referenced by addFILLED_CIRCLE_2D(), addRING_2D(), addROUND_SEGMENT_2D(), BOARD_ADAPTER::addText(), ConvertPolygonToBlocks(), ConvertPolygonToTriangles(), RENDER_3D_RAYTRACE_BASE::createItemsFromContainer(), BOARD_ADAPTER::createLayers(), RENDER_3D_RAYTRACE_BASE::insertHole(), and RENDER_3D_RAYTRACE_BASE::Reload().
|
virtualinherited |
Reimplemented in BVH_CONTAINER_2D.
Definition at line 42 of file container_2d.cpp.
References CONTAINER_2D_BASE::m_bbox, CONTAINER_2D_BASE::m_lock, CONTAINER_2D_BASE::m_objects, and BBOX_2D::Reset().
Referenced by BVH_CONTAINER_2D::Clear(), RENDER_3D_RAYTRACE_BASE::Reload(), and CONTAINER_2D_BASE::~CONTAINER_2D_BASE().
|
inlineinherited |
Definition at line 59 of file container_2d.h.
References CONTAINER_2D_BASE::m_bbox.
|
overridevirtual |
Get a list of objects that intersects a bounding box.
aBBox | The bounding box to test. |
aOutList | The list of objects that intersects the bounding box. |
Implements CONTAINER_2D_BASE.
Definition at line 68 of file container_2d.cpp.
|
inlineinherited |
Definition at line 66 of file container_2d.h.
References CONTAINER_2D_BASE::m_objects.
Referenced by RENDER_3D_OPENGL::createBoard(), RENDER_3D_RAYTRACE_BASE::createItemsFromContainer(), RENDER_3D_OPENGL::generateLayerList(), RENDER_3D_OPENGL::generateViasAndPads(), RENDER_3D_RAYTRACE_BASE::insertHole(), RENDER_3D_OPENGL::reload(), and RENDER_3D_RAYTRACE_BASE::Reload().
|
overridevirtual |
Intersect and check if a segment ray hits a object or is inside it.
aSegRay | The segment to intersect with objects. |
Implements CONTAINER_2D_BASE.
Definition at line 75 of file container_2d.cpp.
|
protectedinherited |
Definition at line 86 of file container_2d.h.
Referenced by CONTAINER_2D_BASE::Add(), BVH_CONTAINER_2D::BuildBVH(), BVH_CONTAINER_2D::BVH_CONTAINER_2D(), CONTAINER_2D_BASE::Clear(), CONTAINER_2D_BASE::CONTAINER_2D_BASE(), and CONTAINER_2D_BASE::GetBBox().
|
privateinherited |
Definition at line 90 of file container_2d.h.
Referenced by CONTAINER_2D_BASE::Add(), and CONTAINER_2D_BASE::Clear().
|
protectedinherited |
Definition at line 87 of file container_2d.h.
Referenced by CONTAINER_2D_BASE::Add(), BVH_CONTAINER_2D::BuildBVH(), CONTAINER_2D_BASE::Clear(), and CONTAINER_2D_BASE::GetList().