19#ifndef MiL_SVG_RADIAL_DIRECTION_ARC_GLYPH_H
20#define MiL_SVG_RADIAL_DIRECTION_ARC_GLYPH_H 1
29 const double rr,
svg::style s,
const double spacer = 10)
34 const double r = rr - spacer;
40 const bool largearcp = abs(anglemax - anglemin) > 180;
41 const bool cwp =
true;
60 double rspacer = std::max(5.0, spacer - 2);
69 std::ostringstream ossm;
70 ossm <<
"M" << k::space <<
to_string(p4) << k::space;
71 ossm <<
"L" << k::space;
108 string arc_name(
"arc-text");
void add_style(const style &sty)
void add_data(const data &d)
Either serialize immediately (as below), or create data structure that adds data to data_vec and then...
void add_data(const data &d, const string trans="", const unit utype=svg::unit::point)
Either serialize immediately (as below), or create data structure that adds data to data_vec and then...
void add_element(const element_base &e)
void store_element(const element_base &e)
const string to_string(const unit e)
point_2t & get_radial_range()
double zero_angle_north_cw(double angled)
Zero degrees is top, going clockwise (cw).
void direction_arc_title_at(svg_element &obj, const point_2t origin, const int radius, const typography typo, const string title, const uint pcnt=30)
Title on same arc.
point_2t get_circumference_point_d(const double ad, const double r, const point_2t origin)
Angle in degrees.
string make_path_arc_circumference(const point_2t &start, const point_2t &end, const space_type r, const int arcflag=0, const int sweepflag=1)
Make path segment between two points on a circumference of radius r. Points like: get_circumference_p...
void direction_arc_at(svg_element &obj, const point_2t origin, const double rr, svg::style s, const double spacer=10)
Arc + arrow glyph that traces path of start to finish trajectory.
std::tuple< space_type, space_type > point_2t
Point (x,y) in 2D space.
Datum consolidating style preferences.