200 const Point & p =
static_cast<const Point&
>(*geom_object_ptr);
207 const Segment & sg =
static_cast<const Segment&
>(*geom_object_ptr);
215 output <<
"\\Thicklines" << std::endl
218 const Segment & sg =
static_cast<const Segment&
>(*geom_object_ptr);
225 std::ostream &
output)
const
227 output <<
"\\Thicklines" << std::endl
230 const Segment & sg =
static_cast<const Segment&
>(*geom_object_ptr);
237 const Segment & sg =
static_cast<const Segment&
>(*geom_object_ptr);
258 output <<
"\\Thicklines" << std::endl
261 const Segment & sg =
static_cast<const Segment&
>(*geom_object_ptr);
269 const Segment & sg =
static_cast<const Segment&
>(*geom_object_ptr);
277 const Segment & sg =
static_cast<const Segment&
>(*geom_object_ptr);
285 const Segment & sg =
static_cast<const Segment&
>(*geom_object_ptr);
293 const Segment & sg =
static_cast<const Segment&
>(*geom_object_ptr);
300 std::ostream &
output)
const
302 output <<
"\\Thicklines" << std::endl
305 const Segment & sg =
static_cast<const Segment&
>(*geom_object_ptr);
327 <<
" to " << t.
get_p2().to_string()
328 <<
" to " << t.
get_p2().to_string() << std::endl
329 <<
" %% mapped in this plane to (" <<
p1_x <<
"," <<
p1_y
330 <<
") to (" <<
p2_x <<
"," <<
p2_y <<
") to ("
331 <<
p3_x <<
"," <<
p2_y <<
")" << std::endl
333 <<
")(" <<
p2_x <<
"," <<
p2_y <<
")("
335 <<
p1_x <<
"," <<
p1_y <<
")" << std::endl
341 const Ellipse & e =
static_cast<const Ellipse&
>(*geom_object_ptr);
349 const Ellipse & e =
static_cast<const Ellipse&
>(*geom_object_ptr);
351 output <<
"\\shade" << std::endl;
359 const Ellipse & e =
static_cast<const Ellipse&
>(*geom_object_ptr);
361 output <<
"\\Thicklines" << std::endl;
369 const Text & t =
static_cast<const Text &
>(*geom_object_ptr);
377 const Text & t =
static_cast<const Text &
>(*geom_object_ptr);
385 const Text & t =
static_cast<const Text &
>(*geom_object_ptr);
393 const Text & t =
static_cast<const Text &
>(*geom_object_ptr);
409 std::ostream &
output)
const
420 std::ostream &
output)
const
444 std::ostream &
output)
const
455 std::ostream &
output)
const
465 std::ostream &
output)
const
487 std::ostream &
output)
const
498 std::ostream &
output)
const
509 std::ostream &
output)
const
520 std::ostream &
output)
const
555 std::ostream &
output)
const
566 std::ostream &
output)
const
568 output <<
"\\Thicklines" << std::endl
580 std::ostream &
output)
const
582 output <<
"\\Thicklines" << std::endl
592 std::ostream &
output)
const
594 output <<
"\\Thicklines" << std::endl
604 std::ostream &
output)
const
606 output <<
"\\Thicklines" << std::endl
615 std::ostream &
output)
const
617 output <<
"\\Thicklines" << std::endl
629 std::ostream &
output)
const
631 output <<
"\\Thicklines" << std::endl
645 std::ostream &
output)
const
647 output <<
"\\Thicklines" << std::endl
659 std::ostream &
output)
const
661 output <<
"\\Thicklines" << std::endl
671 std::ostream &
output)
const
673 output <<
"\\Thicklines" << std::endl
685 std::ostream &
output)
const
687 output <<
"\\Thicklines" << std::endl
700 std::ostream &
output)
const
702 output <<
"\\Thicklines" << std::endl
715 std::ostream &
output)
const
717 output <<
"\\Thicklines" << std::endl
730 output <<
"\\Thicklines" << std::endl
740 std::ostream &
output)
const
742 output <<
"\\Thicklines" << std::endl
752 std::ostream &
output)
const
754 output <<
"\\Thicklines" << std::endl
764 std::ostream &
output)
const
766 output <<
"\\Thicklines" << std::endl
784 std::ostream &
output)
const
795 std::ostream &
output)
const
804 std::ostream &
output)
const
812 std::ostream &
output)
const
823 std::ostream &
output)
const
834 std::ostream &
output)
const
843 std::ostream &
output)
const
854 std::ostream &
output)
const
866 std::ostream &
output)
const
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
const Geom_Object *const geom_object_ptr
Pointer to the wrapped geometric object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
2D canvas for generating EEPIC/LaTeX picture environments.
static const double dotgap
Gap between dots in dotted lines.
void draw_dotted_segment(const Segment &sg, std::ostream &output)
Emit EEPIC code to draw dotted segment sg.
void draw_arrow_dash_segment(const Segment &sg, std::ostream &output)
Emit EEPIC code to draw dashed segment sg with arrow head.
Point __lowest
Point with minimum y-coordinate.
Point __leftmost
Point with minimum x-coordinate.
void draw_segment(const Segment &sg, std::ostream &output)
Emit EEPIC code to draw segment sg.
double y_geom_number_to_eepic(const Geom_Number &y) const
Convert a geometric y coordinate into plane y coordinate.
void draw_dash_spline(Poly &poly, std::ostream &output)
Point __rightmost
Point with maximum x-coordinate.
bool with_cartesian_axis
Flag to draw Cartesian axes.
static const double arrow_lenght_in_mm
Point __highest
Point with maximum y-coordinate.
static const double normal_thickness
Default line thickness.
static const double default_r
Default radius for drawing points (also used for text height)
void draw_ellipse(const Ellipse &e, std::ostream &output)
Emit EEPIC code to draw ellipse e.
void draw_arrow_extreme(const Segment &sg, std::ostream &output)
static const double default_shade_thickness
Default shading thickness.
void draw_text(const Text &t, std::ostream &output, const double &hfactor, const double &vfactor)
void draw_dots_from_polygon(Poly &poly, std::ostream &output)
void draw_points_text_in_polygon(Poly &poly, std::ostream &output)
void draw_dash_spline_arrow(Poly &poly, std::ostream &output)
void draw_closed_polygon(Poly &poly, std::ostream &output)
void draw_polygon(Poly &poly, std::ostream &output, Draw_Segment_Fct draw_sg_fct)
void draw_closed_polygon_with_arrows(Poly &poly, std::ostream &output)
double x_geom_number_to_eepic(const Geom_Number &x) const
Convert a geometric x coordinate into plane x coordinate.
void draw_arrow(const Segment &sg, std::ostream &output)
Emit EEPIC code to draw segment sg with an arrow head.
void draw_vertex_numbers_in_polygon(Poly &poly, std::ostream &output)
void draw_arrows_in_polygon(Poly &poly, std::ostream &output)
static const double arrow_width_in_mm
void draw_spline(Poly &poly, std::ostream &output)
void draw_point(const Point &p, std::ostream &output)
EEPIC "primitive drawing" methods.
void draw_arrow_dotted_segment(const Segment &sg, std::ostream &output)
Emit EEPIC code to draw dotted segment sg with arrow head.
void draw_dash_segment(const Segment &sg, std::ostream &output)
Emit EEPIC code to draw dashed segment sg.
void draw_spline_arrow(Poly &poly, std::ostream &output)
void draw_cartesian_axis(std::ostream &output)
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
void draw(Eepic_Plane *plane, std::ostream &output) const override
Generate EEPIC code for this object.
A general (irregular) 2D polygon defined by a sequence of vertices.
Segment get_last_segment()
Get the last edge (segment) of the polygon.
A regular polygon defined by center, side length, and vertex count.
Fundamental segment defined by two points.
const Point & get_p1() const
const Point & get_p3() const
const Point & get_p2() const
EEPIC/LaTeX geometric drawing utilities.
#define IMPL_PUT_IN_PLANE(Type)
DynList< T > maps(const C &c, Op op)
Classic map operation.
Segment-drawing variants (types).