|
KiCad PCB EDA Suite
|
#include <container_2d.h>
Public Member Functions | |
| CONTAINER_2D_BASE (OBJECT_2D_TYPE aObjType) | |
| virtual | ~CONTAINER_2D_BASE () |
| void | Add (OBJECT_2D *aObject) |
| const BBOX_2D & | GetBBox () const |
| virtual void | Clear () |
| const LIST_OBJECT2D & | GetList () const |
| virtual void | GetIntersectingObjects (const BBOX_2D &aBBox, CONST_LIST_OBJECT2D &aOutList) const =0 |
| Get a list of objects that intersects a bounding box. | |
| virtual bool | IntersectAny (const RAYSEG2D &aSegRay) const =0 |
| Intersect and check if a segment ray hits a object or is inside it. | |
Protected Attributes | |
| BBOX_2D | m_bbox |
| LIST_OBJECT2D | m_objects |
Private Attributes | |
| std::mutex | m_lock |
Definition at line 37 of file container_2d.h.
|
explicit |
Definition at line 36 of file container_2d.cpp.
References m_bbox.
Referenced by BVH_CONTAINER_2D::BVH_CONTAINER_2D(), and CONTAINER_2D::CONTAINER_2D().
|
virtual |
Definition at line 56 of file container_2d.cpp.
References Clear().
|
inline |
Definition at line 44 of file container_2d.h.
References OBJECT_2D::GetBBox(), m_bbox, m_lock, and m_objects.
Referenced by addFILLED_CIRCLE_2D(), addRING_2D(), addROUND_SEGMENT_2D(), BOARD_ADAPTER::addText(), ConvertPolygonToBlocks(), ConvertPolygonToTriangles(), and BOARD_ADAPTER::createLayers().
|
virtual |
Reimplemented in BVH_CONTAINER_2D.
Definition at line 42 of file container_2d.cpp.
References m_bbox, m_lock, and m_objects.
Referenced by BVH_CONTAINER_2D::Clear(), and ~CONTAINER_2D_BASE().
|
inline |
Definition at line 54 of file container_2d.h.
References m_bbox.
|
pure virtual |
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. |
Implemented in BVH_CONTAINER_2D, and CONTAINER_2D.
|
inline |
Definition at line 61 of file container_2d.h.
References m_objects.
Referenced by RENDER_3D_OPENGL::createBoard(), RENDER_3D_RAYTRACE_BASE::createItemsFromContainer(), RENDER_3D_OPENGL::generateLayerList(), RENDER_3D_OPENGL::generateViasAndPads(), and RENDER_3D_RAYTRACE_BASE::Reload().
|
pure virtual |
Intersect and check if a segment ray hits a object or is inside it.
| aSegRay | The segment to intersect with objects. |
Implemented in BVH_CONTAINER_2D, and CONTAINER_2D.
|
protected |
Definition at line 80 of file container_2d.h.
Referenced by Add(), BVH_CONTAINER_2D::BuildBVH(), BVH_CONTAINER_2D::BVH_CONTAINER_2D(), Clear(), CONTAINER_2D_BASE(), and GetBBox().
|
private |
Definition at line 84 of file container_2d.h.
|
protected |
Definition at line 81 of file container_2d.h.
Referenced by Add(), BVH_CONTAINER_2D::BuildBVH(), Clear(), and GetList().