60 const SEG source( { 0, 0 }, { 100, 0 } );
70 const SEG source( { 0, 0 }, { 100, 0 } );
73 BOOST_CHECK( !
contactOf(
SEG( { 0, 25 }, { 100, 25 } ),
CIRCLE( { 50, 50 }, 50 ) ).m_Tangent );
83 const SHAPE_ARC touching( { 0, 100 }, { 50, 50 }, { 100, 100 }, 0 );
84 const SHAPE_ARC awayFromTouch( { 100, 100 }, { 50, 150 }, { 0, 100 }, 0 );
102 const SHAPE_ARC first( { 100, 0 }, { 80, 60 }, { 60, 80 }, 0 );
103 const SHAPE_ARC overlapping( { 80, 60 }, { 60, 80 }, { 0, 100 }, 0 );
104 const SHAPE_ARC touchingAtOneEnd( { 60, 80 }, { 0, 100 }, { -60, 80 }, 0 );
106 BOOST_CHECK(
contactOf( first, overlapping ).m_Overlapping );
107 BOOST_CHECK( !
contactOf( first, touchingAtOneEnd ).m_Overlapping );
113 std::vector<VECTOR2I> intersections;
115 const SEG source( { 0, 0 }, { 100, 0 } );
std::variant< LINE, HALF_LINE, SEG, CIRCLE, SHAPE_ARC, SHAPE_ELLIPSE, BOX2I > INTERSECTABLE_GEOM
A variant type that can hold any of the supported geometry types for intersection calculations.