8 os <<
"SHAPE_LINE_CHAIN: " << c.
PointCount() <<
" points: [\n";
12 os <<
" " << i <<
": " << c.
CPoint( i ) <<
"\n";
25 case PT_END:
return "PT_END";
26 case PT_MID:
return "PT_MID";
30 default:
return "Unknown POINT_TYPE: " + std::to_string( (
int) aType );
36 os <<
"TYPED_POINT2I: " << aPt.
m_point <<
" (" << aPt.
m_types <<
")";
Represent a polyline containing arcs as well as line segments: A chain of connected line and/or arc s...
int PointCount() const
Return the number of points (vertices) in this line chain.
const VECTOR2I & CPoint(int aIndex) const
Return a reference to a given point in the line chain.
std::string toString(const POINT_TYPE &aType)
std::ostream & operator<<(std::ostream &os, const TYPED_POINT2I &aPt)
std::ostream & boost_test_print_type(std::ostream &os, const SHAPE_LINE_CHAIN &c)
POINT_TYPE
Meanings that can be assigned to a point in pure geometric terms.
@ PT_INTERSECTION
The point is an intersection of two (or more) items.
@ PT_CENTER
The point is the center of something.
@ PT_CORNER
The point is a corner of a polygon, rectangle, etc (you may want to infer PT_END from this)
@ PT_NONE
No specific point type.
@ PT_QUADRANT
The point is on a quadrant of a circle (N, E, S, W points).
@ PT_END
The point is at the end of a segment, arc, etc.
@ PT_MID
The point is at the middle of a segment, arc, etc.