37 RING_2D(
const SFVEC2F& aCenter,
float aInnerRadius,
float aOuterRadius,
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
bool Intersects(const BBOX_2D &aBBox) const override
a.Intersects(b) ⇔ !a.Disjoint(b) ⇔ !(a ∩ b = ∅)
float GetOuterRadius() const
float GetInnerRadius() const
const SFVEC2F & GetCenter() const
bool Overlaps(const BBOX_2D &aBBox) const override
Test if the box overlaps the object.
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.
float m_inner_radius_squared
float GetInnerRadiusSquared() const
float GetOuterRadiusSquared() const
bool IsPointInside(const SFVEC2F &aPoint) const override
float m_outer_radius_squared
Manage a bounding box defined by two SFVEC2F min max points.