KiCad PCB EDA Suite
Loading...
Searching...
No Matches
CONTAINER_2D Class Reference

#include <container_2d.h>

Inheritance diagram for CONTAINER_2D:
CONTAINER_2D_BASE

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_2DGetBBox () const
 
virtual void Clear ()
 
const LIST_OBJECT2DGetList () const
 

Protected Attributes

BBOX_2D m_bbox
 
LIST_OBJECT2D m_objects
 

Private Attributes

std::mutex m_lock
 

Detailed Description

Definition at line 88 of file container_2d.h.

Constructor & Destructor Documentation

◆ CONTAINER_2D()

CONTAINER_2D::CONTAINER_2D ( )

Definition at line 62 of file container_2d.cpp.

References CONTAINER, and CONTAINER_2D_BASE::CONTAINER_2D_BASE().

Member Function Documentation

◆ Add()

◆ Clear()

void CONTAINER_2D_BASE::Clear ( )
virtualinherited

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().

◆ GetBBox()

const BBOX_2D & CONTAINER_2D_BASE::GetBBox ( ) const
inlineinherited

Definition at line 54 of file container_2d.h.

References m_bbox.

◆ GetIntersectingObjects()

void CONTAINER_2D::GetIntersectingObjects ( const BBOX_2D & aBBox,
CONST_LIST_OBJECT2D & aOutList ) const
overridevirtual

Get a list of objects that intersects a bounding box.

Parameters
aBBoxThe bounding box to test.
aOutListThe list of objects that intersects the bounding box.
Todo
Determine what to do with this code.

Implements CONTAINER_2D_BASE.

Definition at line 68 of file container_2d.cpp.

◆ GetList()

◆ IntersectAny()

bool CONTAINER_2D::IntersectAny ( const RAYSEG2D & aSegRay) const
overridevirtual

Intersect and check if a segment ray hits a object or is inside it.

Parameters
aSegRayThe segment to intersect with objects.
Returns
true if it hits any of the objects or is inside any object.
Todo
Determine what what needs done because someone wrote TODO here.

Implements CONTAINER_2D_BASE.

Definition at line 75 of file container_2d.cpp.

Member Data Documentation

◆ m_bbox

BBOX_2D CONTAINER_2D_BASE::m_bbox
protectedinherited

◆ m_lock

std::mutex CONTAINER_2D_BASE::m_lock
privateinherited

Definition at line 84 of file container_2d.h.

Referenced by Add(), and Clear().

◆ m_objects

LIST_OBJECT2D CONTAINER_2D_BASE::m_objects
protectedinherited

Definition at line 81 of file container_2d.h.

Referenced by Add(), BVH_CONTAINER_2D::BuildBVH(), Clear(), and GetList().


The documentation for this class was generated from the following files: