29#ifndef _ROUND_SEGMENT_2D_H_ 
   30#define _ROUND_SEGMENT_2D_H_ 
   90static const float s_min_dot = ( FLT_EPSILON * 4.0f * FLT_EPSILON * 4.0f );
 
  101    const SFVEC2F vec = aEnd - aStart;
 
  105    return (aStart == aEnd) || ( glm::dot( vec, vec ) <= 
s_min_dot );
 
 
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
 
OBJECT_2D(OBJECT_2D_TYPE aObjType, const BOARD_ITEM &aBoardItem)
 
bool IsPointInside(const SFVEC2F &aPoint) const override
 
const SFVEC2F & GetLeftEnd() const
 
const SFVEC2F & GetRightEnd() const
 
const SFVEC2F & GetLeftStar() const
 
const SFVEC2F & GetLeftDir() const
 
const SFVEC2F & GetEnd() 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
 
const SFVEC2F & GetLeftEnd_minus_Start() const
 
ROUND_SEGMENT_2D(const SFVEC2F &aStart, const SFVEC2F &aEnd, float aWidth, const BOARD_ITEM &aBoardItem)
 
friend class ROUND_SEGMENT
 
INTERSECTION_RESULT IsBBoxInside(const BBOX_2D &aBBox) const override
Test this object if it's completely outside, intersects, or is completely inside aBBox.
 
const SFVEC2F & GetRightEnd_minus_Start() const
 
float GetRadiusSquared() const
 
bool Intersects(const BBOX_2D &aBBox) const override
a.Intersects(b) ⇔ !a.Disjoint(b) ⇔ !(a ∩ b = ∅)
 
const SFVEC2F & GetStart() const
 
const SFVEC2F & GetRightDir() const
 
SFVEC2F m_rightEndMinusStart
 
const SFVEC2F & GetRightStar() const
 
SFVEC2F m_leftEndMinusStart
 
const SFVEC2F & GetEnd_minus_Start() const
 
static const float s_min_dot
 
bool Is_segment_a_circle(const SFVEC2F &aStart, const SFVEC2F &aEnd)
Check if segment start and end is very close to each other.
 
Manage a bounding box defined by two SFVEC2F min max points.