30#ifndef _LAYER_ITEM_2D_H_
31#define _LAYER_ITEM_2D_H_
38#define CSGITEM_EMPTY 0
39#define CSGITEM_FULL (OBJECT_2D*) ( ( size_t )( -1 ) )
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
Make solid geometry for objects on layers.
bool IsPointInside(const SFVEC2F &aPoint) const override
bool Intersects(const BBOX_2D &aBBox) const override
a.Intersects(b) ⇔ !a.Disjoint(b) ⇔ !(a ∩ b = ∅)
const OBJECT_2D * m_objectA
bool Intersect(const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut) const override
INTERSECTION_RESULT IsBBoxInside(const BBOX_2D &aBBox) const override
Test this object if it's completely outside, intersects, or is completely inside aBBox.
bool Overlaps(const BBOX_2D &aBBox) const override
Test if the box overlaps the object.
std::vector< const OBJECT_2D * > * m_objectB
const OBJECT_2D * m_objectC
Manage a bounding box defined by two SFVEC2F min max points.