Pangolin
Header-only C++20 plane computational geometry library
Loading...
Searching...
No Matches
io.hpp File Reference

Stream output helpers for Pangolin value types. More...

#include "shape/shape.hpp"

Go to the source code of this file.

Namespaces

namespace  pgl

Functions

template<class Number, class Label>
std::ostream & pgl::operator<< (std::ostream &stream, const Point< Number, Label > &point)
 Streams a point as (x,y) or label:(x,y).
template<class PointType, class LabelType>
std::ostream & pgl::operator<< (std::ostream &stream, const Segment< PointType, LabelType > &segment)
 Streams a segment as p--q, or label:{p--q} when it carries a label.
template<class PointType, class LabelType>
std::ostream & pgl::operator<< (std::ostream &stream, const OrientedSegment< PointType, LabelType > &segment)
 Streams an oriented segment as p->q, or label:{p->q} when it carries a label.
template<class PointType, class LabelType>
std::ostream & pgl::operator<< (std::ostream &stream, const Line< PointType, LabelType > &line)
 Streams a line as -p--q-.
template<class PointType, class LabelType>
std::ostream & pgl::operator<< (std::ostream &stream, const OrientedLine< PointType, LabelType > &line)
 Streams an oriented line as -p--q->.
template<class PointType, class LabelType>
std::ostream & pgl::operator<< (std::ostream &stream, const Ray< PointType, LabelType > &ray)
 Streams a ray as p--q->.
template<class PointType, class LabelType>
std::ostream & pgl::operator<< (std::ostream &stream, const Rectangle< PointType, LabelType > &rectangle)
 Streams a rectangle as [min,max], or as [] when it is empty.
template<class PointType, class LabelType>
std::ostream & pgl::operator<< (std::ostream &stream, const Triangle< PointType, LabelType > &triangle)
 Streams a triangle as <abc>.
template<class PointType, class LabelType>
std::ostream & pgl::operator<< (std::ostream &stream, const Halfplane< PointType, LabelType > &halfplane)
 Streams a half-plane as ^-p--q-^.
template<class PointType, class LabelType>
std::ostream & pgl::operator<< (std::ostream &stream, const Disk< PointType, LabelType > &disk)
 Streams a disk as ((p1)(p2)(p3)).
template<class PointType, class LabelType>
std::ostream & pgl::operator<< (std::ostream &stream, const Convex< PointType, LabelType > &convex)
 Streams a Convex as Convex[(P1),(P2),(P3),(Pn)...].
template<class PointType, class LabelType>
std::ostream & pgl::operator<< (std::ostream &stream, const Polygon< PointType, LabelType > &polygon)
 Streams a Polygon as Polygon[(P1),(P2),(P3),(Pn)...].
template<class PointType, class LabelType>
std::ostream & pgl::operator<< (std::ostream &stream, const PolygonWithHoles< PointType, LabelType > &region)
 Streams a region as PolygonWithHoles[outer,holes...].
template<class PointType, class LabelType>
std::ostream & pgl::operator<< (std::ostream &stream, const PolygonSet< PointType, LabelType > &set)
 Streams a set as PolygonSet[components...].
template<class PointType, class LabelType, class Storage>
std::ostream & pgl::operator<< (std::ostream &stream, const MonotoneChain< PointType, LabelType, Storage > &chain)
 Streams a MonotoneChain as MonotoneChain[(P1),(P2),(P3),...].
template<class PointType, class LabelType>
std::ostream & pgl::operator<< (std::ostream &stream, const Polyline< PointType, LabelType > &polyline)
 Streams a Polyline as Polyline[(P1),(P2),(P3),...].
template<class PointType, class LabelType>
std::ostream & pgl::operator<< (std::ostream &stream, const HalfplaneIntersection< PointType, LabelType > &region)
 Streams a HalfplaneIntersection as HalfplaneIntersection[h1,h2,...].

Detailed Description

Stream output helpers for Pangolin value types.

Printable geometry makes tests, debugging, and examples much easier to read, so formatted output is implemented centrally here.