|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
2D TikZ canvas storing geometry objects and emitting LaTeX output. More...
#include <tikzgeom.H>
Classes | |
| struct | Geom_Box |
| struct | Legend_Entry |
| struct | Mapping |
| struct | Styled_Object |
| An object with its associated style, layer, and insertion order. More... | |
Public Types | |
| using | Object = std::variant< Point, Polar_Point, Segment, Triangle, Ellipse, RotatedEllipse, Text, Polygon, Regular_Polygon, Rectangle, LineEq, Tikz_Quadratic_Bezier, Tikz_Cubic_Bezier, Tikz_Polyline > |
| Runtime set of supported objects. | |
Public Member Functions | |
| Tikz_Plane (const double &wide, const double &height, const double &xoffset=0.0, const double &yoffset=0.0) | |
| Construct a TikZ plane with fixed frame size. | |
| const double & | get_wide () const |
| Plane width in millimeters. | |
| const double & | get_height () const |
| Plane height in millimeters. | |
| const double & | get_xoffset () const |
| Horizontal scope offset in millimeters. | |
| const double & | get_yoffset () const |
| Vertical scope offset in millimeters. | |
| const double & | get_point_radius_mm () const |
| Radius used to draw point primitives (millimeters). | |
| const double & | get_clip_padding_mm () const |
| Clip expansion around the frame; <= 0 means auto (point radius). | |
| size_t | size () const |
| Number of currently inserted objects. | |
| Array< std::string > | required_tikz_libraries () const |
| Collect TikZ libraries required by currently emitted features. | |
| const Tikz_Style & | get_default_style () const |
Default style used by put(obj) and non-styled put_in_plane. | |
| const Tikz_Style & | get_axis_style () const |
| Style used for Cartesian axes when enabled. | |
| const Tikz_Style & | get_grid_style () const |
| Style used for coordinate grids when enabled. | |
| void | set_default_style (const Tikz_Style &style) |
| Configure the default style for subsequent non-styled inserts. | |
| void | set_axis_style (const Tikz_Style &style) |
| Configure the style used to draw Cartesian axes. | |
| void | set_grid_style (const Tikz_Style &style) |
| Configure the style used to draw coordinate grids. | |
| void | set_point_radius_mm (const double &radius_mm) |
| Configure point marker radius. | |
| void | set_clip_padding_mm (const double &padding_mm) |
| Configure clip expansion around frame borders. | |
| void | put_cartesian_axis () |
| Enable Cartesian axes drawing (only when 0 lies in range). | |
| void | remove_cartesian_axis () |
| Disable Cartesian axes drawing. | |
| void | put_coordinate_grid (const double step_x=1.0, const double step_y=1.0, const bool draw_ticks=true) |
| Enable coordinate grid/ticks with user step sizes. | |
| void | remove_coordinate_grid () |
| Disable coordinate grid rendering. | |
| void | enable_native_tikz_layers (const bool enabled=true) |
Enable native PGF layers (\pgfdeclarelayer). | |
| void | enable_auto_legend (const bool enabled=true) |
| Enable auto-legend generation from style colors. | |
| void | add_legend_entry (const std::string &label, const Tikz_Style &style) |
| Add a legend entry to be rendered in the top-left corner. | |
| void | clear_legend () |
| Remove user-provided legend entries. | |
| void | register_tikz_style (const std::string &name, const Tikz_Style &style) |
Register a reusable \tikzset style for the rendered picture. | |
| void | clear_tikz_styles () |
Clear all registered \tikzset style definitions. | |
| void | clear () |
| Remove all inserted objects from the plane. | |
| void | put (const Object &obj) |
| Insert an object with default style on default layer. | |
| void | put (const Object &obj, const Tikz_Style &style, const int layer) |
| Insert an object with explicit style/layer. | |
| void | draw (std::ostream &output, const bool squarize=true) const |
Emit a complete tikzpicture with all inserted objects. | |
Static Public Attributes | |
| static constexpr int | Layer_Background = -100 |
| static constexpr int | Layer_Default = 0 |
| static constexpr int | Layer_Foreground = 100 |
| static constexpr int | Layer_Overlay = 1000 |
Private Attributes | |
| double | wide_ = 0.0 |
| double | height_ = 0.0 |
| double | xoffset_ = 0.0 |
| double | yoffset_ = 0.0 |
| bool | with_cartesian_axis_ = false |
| bool | with_coordinate_grid_ = false |
| bool | with_grid_ticks_ = false |
| bool | with_native_layers_ = false |
| bool | with_auto_legend_ = false |
| double | point_radius_mm_ = 1.0 |
| double | clip_padding_mm_ = -1.0 |
| double | grid_step_x_ = 1.0 |
| double | grid_step_y_ = 1.0 |
| double | tick_size_mm_ = 1.5 |
| double | legend_x_mm_ = 3.0 |
| double | legend_y_mm_ = 3.0 |
| double | legend_entry_step_mm_ = 5.0 |
| Tikz_Style | default_style_ |
| Tikz_Style | axis_style_ |
| Tikz_Style | grid_style_ |
| Array< Legend_Entry > | legend_entries_ |
| std::map< std::string, Tikz_Style > | tikz_style_defs_ |
| Array< Styled_Object > | objects_ |
| size_t | next_order_ = 0 |
2D TikZ canvas storing geometry objects and emitting LaTeX output.
put() / put_in_plane(...).tikzpicture block using millimeter units.The frame (wide, height) is fixed at construction time.
Definition at line 199 of file tikzgeom.H.
| using Aleph::Tikz_Plane::Object = std::variant<Point, Polar_Point, Segment, Triangle, Ellipse, RotatedEllipse, Text, Polygon, Regular_Polygon, Rectangle, LineEq, Tikz_Quadratic_Bezier, Tikz_Cubic_Bezier, Tikz_Polyline> |
Runtime set of supported objects.
Definition at line 208 of file tikzgeom.H.
|
inline |
Construct a TikZ plane with fixed frame size.
| wide | Plane width in millimeters. |
| height | Plane height in millimeters. |
| xoffset | X shift (mm) applied to the internal drawing scope. |
| yoffset | Y shift (mm) applied to the internal drawing scope. |
| std::domain_error | If wide <= 0 or height <= 0. |
Definition at line 1225 of file tikzgeom.H.
References ah_domain_error_if, Aleph::blossom_maximum_cardinality_matching(), height_, and wide_.
|
inline |
Add a legend entry to be rendered in the top-left corner.
Definition at line 1373 of file tikzgeom.H.
References legend_entries_.
Referenced by Aleph::Tikz_Scene::add_legend_entry().
|
inlinestaticprivate |
Definition at line 312 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching().
Referenced by draw_options(), draw_tikzset_styles(), point_options(), and text_options().
Definition at line 473 of file tikzgeom.H.
References Aleph::Point::get_x(), Aleph::Point::get_y(), Aleph::Ellipse::highest_point(), Aleph::Ellipse::leftmost_point(), Aleph::Ellipse::lowest_point(), make_box(), and Aleph::Ellipse::rightmost_point().
Definition at line 522 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), l, make_box(), y0(), and y1().
Definition at line 451 of file tikzgeom.H.
References Aleph::Point::get_x(), Aleph::Point::get_y(), and make_box().
Referenced by bbox_of(), bbox_of(), bbox_of(), bbox_of(), bbox_of(), bbox_of(), and compute_box().
|
inlinestaticprivate |
Definition at line 456 of file tikzgeom.H.
References bbox_of(), and Aleph::blossom_maximum_cardinality_matching().
Definition at line 492 of file tikzgeom.H.
References bbox_of(), box(), Aleph::Dlink::Iterator::has_curr(), merge_box(), and Aleph::Polygon::size().
Definition at line 517 of file tikzgeom.H.
References make_box(), and r.
|
inlinestaticprivate |
Definition at line 506 of file tikzgeom.H.
References bbox_of(), box(), Aleph::Regular_Polygon::get_vertex(), merge_box(), and Aleph::Regular_Polygon::size().
|
inlinestaticprivate |
Definition at line 479 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), Aleph::RotatedEllipse::extremal_points(), and make_box().
Definition at line 461 of file tikzgeom.H.
References Aleph::Point::get_x(), Aleph::Point::get_y(), Aleph::Segment::highest_point(), Aleph::Segment::leftmost_point(), Aleph::Segment::lowest_point(), make_box(), and Aleph::Segment::rightmost_point().
Definition at line 486 of file tikzgeom.H.
References Aleph::Point::get_x(), Aleph::Point::get_y(), Aleph::Text::highest_point(), Aleph::Text::leftmost_point(), Aleph::Text::lowest_point(), make_box(), and Aleph::Text::rightmost_point().
|
inlinestaticprivate |
Definition at line 541 of file tikzgeom.H.
References bbox_of(), box(), merge_box(), Aleph::Tikz_Cubic_Bezier::p0, Aleph::Tikz_Cubic_Bezier::p1, Aleph::Tikz_Cubic_Bezier::p2, and Aleph::Tikz_Cubic_Bezier::p3.
|
inlinestaticprivate |
Definition at line 551 of file tikzgeom.H.
References bbox_of(), Aleph::blossom_maximum_cardinality_matching(), box(), and merge_box().
|
inlinestaticprivate |
Definition at line 532 of file tikzgeom.H.
References bbox_of(), box(), merge_box(), Aleph::Tikz_Quadratic_Bezier::p0, Aleph::Tikz_Quadratic_Bezier::p1, and Aleph::Tikz_Quadratic_Bezier::p2.
Definition at line 467 of file tikzgeom.H.
References Aleph::Point::get_x(), Aleph::Point::get_y(), Aleph::Triangle::highest_point(), Aleph::Triangle::leftmost_point(), Aleph::Triangle::lowest_point(), make_box(), and Aleph::Triangle::rightmost_point().
|
inline |
Remove all inserted objects from the plane.
Definition at line 1398 of file tikzgeom.H.
References next_order_, and objects_.
Referenced by Aleph::Tikz_Scene::clear().
|
inline |
Remove user-provided legend entries.
Definition at line 1379 of file tikzgeom.H.
References legend_entries_.
Referenced by Aleph::Tikz_Scene::clear_legend().
|
inline |
Clear all registered \tikzset style definitions.
Definition at line 1392 of file tikzgeom.H.
References tikz_style_defs_.
|
inlineprivate |
Definition at line 1072 of file tikzgeom.H.
References Aleph::and, Aleph::Array< T >::append(), Aleph::blossom_maximum_cardinality_matching(), Aleph::color(), Aleph::Tikz_Style::draw_color, Aleph::Array< T >::insert(), legend_entries_, objects_, and with_auto_legend_.
Referenced by draw_legend().
|
inlineprivate |
Definition at line 559 of file tikzgeom.H.
References bbox_of(), box(), merge_box(), and objects_.
Referenced by draw().
|
inlineprivate |
Definition at line 609 of file tikzgeom.H.
References Aleph::and, Aleph::blossom_maximum_cardinality_matching(), box(), Aleph::Tikz_Plane::Mapping::dx, Aleph::Tikz_Plane::Mapping::dy, Aleph::geom_number_to_double(), Aleph::Tikz_Plane::Mapping::has_x_range, Aleph::Tikz_Plane::Mapping::has_y_range, height_, squarize, Aleph::Tikz_Plane::Mapping::sx, Aleph::Tikz_Plane::Mapping::sy, and wide_.
Referenced by draw().
Emit a complete tikzpicture with all inserted objects.
| output | Destination stream. |
| squarize | When true, preserve aspect ratio (uniform scaling). When false, x/y scales are independent and fill the full frame. |
Definition at line 1422 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), box(), compute_box(), compute_mapping(), Aleph::Array< T >::create(), draw_cartesian_axis(), draw_coordinate_grid(), draw_legend(), draw_object(), draw_tikzset_styles(), effective_clip_padding_mm(), height_, layer_name(), objects_, output, Aleph::quicksort_op(), required_tikz_libraries(), squarize, wide_, with_native_layers_, xoffset_, and yoffset_.
Referenced by Aleph::Tikz_Scene::draw(), main(), main(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), and TEST().
|
inlineprivate |
Definition at line 1146 of file tikzgeom.H.
References Aleph::and, axis_style_, Aleph::blossom_maximum_cardinality_matching(), box(), draw_options(), Aleph::Tikz_Plane::Mapping::has_x_range, Aleph::Tikz_Plane::Mapping::has_y_range, height_, map_x(), map_y(), output, wide_, with_cartesian_axis_, and y0().
Referenced by draw().
|
inlineprivate |
Definition at line 992 of file tikzgeom.H.
References Aleph::and, axis_style_, Aleph::blossom_maximum_cardinality_matching(), box(), draw_options(), Aleph::geom_number_to_double(), grid_step_x_, grid_step_y_, grid_style_, Aleph::Tikz_Plane::Mapping::has_x_range, Aleph::Tikz_Plane::Mapping::has_y_range, height_, map_x(), map_y(), output, tick_size_mm_, wide_, with_coordinate_grid_, with_grid_ticks_, and y.
Referenced by draw().
|
inlinestaticprivate |
Definition at line 962 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), box(), draw_options(), map_point(), output, Aleph::Tikz_Cubic_Bezier::p0, Aleph::Tikz_Cubic_Bezier::p1, Aleph::Tikz_Cubic_Bezier::p2, Aleph::Tikz_Cubic_Bezier::p3, y0(), and y1().
Referenced by draw_object().
|
inlineprivate |
Definition at line 767 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), box(), draw_options(), draw_point(), Aleph::Ellipse::get_center(), Aleph::Ellipse::get_hradius(), Aleph::Ellipse::get_vradius(), map_point(), map_x_length(), map_y_length(), and output.
Referenced by draw_object().
Definition at line 1106 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), collect_legend_entries(), draw_options(), escape_latex(), height_, Aleph::Array< T >::is_empty(), legend_entry_step_mm_, legend_x_mm_, legend_y_mm_, output, Aleph::Array< T >::size(), and y.
Referenced by draw().
|
inlineprivate |
Definition at line 882 of file tikzgeom.H.
References Aleph::and, Aleph::blossom_maximum_cardinality_matching(), box(), draw_segment(), l, output, Aleph::Array< T >::reserve(), and y.
Referenced by draw_object().
|
inlineprivate |
Definition at line 1176 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), box(), draw_cubic_bezier(), draw_ellipse(), draw_line_eq(), draw_point(), draw_polygon(), draw_polyline(), draw_quadratic_bezier(), draw_rectangle(), draw_regular_polygon(), draw_rotated_ellipse(), draw_segment(), draw_text(), draw_triangle(), Aleph::Tikz_Plane::Styled_Object::object, output, Aleph::Tikz_Plane::Styled_Object::style, and value.
Referenced by draw().
|
inlinestaticprivate |
Definition at line 321 of file tikzgeom.H.
References Aleph::and, append_option(), Aleph::blossom_maximum_cardinality_matching(), Aleph::Tikz_Style::dashed, Aleph::Tikz_Style::dotted, Aleph::Tikz_Style::draw_color, Aleph::Tikz_Style::extra_options, Aleph::Tikz_Style::fill, Aleph::Tikz_Style::fill_color, fmt_double(), Aleph::Tikz_Style::line_width_mm, Aleph::Tikz_Style::opacity, Aleph::Tikz_Style::pattern, Aleph::Tikz_Style::pattern_color, Aleph::Tikz_Style::thick, Aleph::Tikz_Style::tikz_style_name, and Aleph::Tikz_Style::with_arrow.
Referenced by draw_cartesian_axis(), draw_coordinate_grid(), draw_cubic_bezier(), draw_ellipse(), draw_legend(), draw_polyline(), draw_quadratic_bezier(), draw_rotated_ellipse(), and draw_tikzset_styles().
|
inlineprivate |
Definition at line 698 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), box(), map_point(), output, point_options(), point_radius_mm_, and y.
Referenced by draw_ellipse(), draw_object(), and draw_polyline().
|
inlineprivate |
Definition at line 845 of file tikzgeom.H.
References Aleph::Array< T >::append(), box(), draw_polyline(), Aleph::Dlink::Iterator::has_curr(), Aleph::Polygon::is_closed(), output, Aleph::Array< T >::reserve(), and Aleph::Polygon::size().
Referenced by draw_object().
|
inlineprivate |
Definition at line 711 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), box(), draw_options(), draw_point(), Aleph::Array< T >::get_first(), Aleph::Array< T >::is_empty(), map_point(), output, Aleph::Array< T >::size(), and y.
Referenced by draw_object(), draw_polygon(), draw_rectangle(), draw_regular_polygon(), draw_segment(), and draw_triangle().
|
inlinestaticprivate |
Definition at line 945 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), box(), draw_options(), map_point(), output, Aleph::Tikz_Quadratic_Bezier::p0, Aleph::Tikz_Quadratic_Bezier::p1, Aleph::Tikz_Quadratic_Bezier::p2, y0(), and y1().
Referenced by draw_object().
|
inlineprivate |
Definition at line 870 of file tikzgeom.H.
References Aleph::Array< T >::append(), box(), draw_polyline(), output, r, and Aleph::Array< T >::reserve().
Referenced by draw_object().
|
inlineprivate |
Definition at line 857 of file tikzgeom.H.
References Aleph::Array< T >::append(), box(), draw_polyline(), Aleph::Regular_Polygon::get_vertex(), output, Aleph::Array< T >::reserve(), and Aleph::Regular_Polygon::size().
Referenced by draw_object().
|
inlinestaticprivate |
Definition at line 789 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), box(), draw_options(), Aleph::RotatedEllipse::get_a(), Aleph::RotatedEllipse::get_b(), Aleph::RotatedEllipse::get_center(), Aleph::RotatedEllipse::get_cos(), Aleph::RotatedEllipse::get_sin(), Aleph::Point::get_x(), Aleph::Point::get_y(), map_point(), output, and y.
Referenced by draw_object().
|
inlineprivate |
Definition at line 746 of file tikzgeom.H.
References Aleph::Array< T >::append(), box(), draw_polyline(), Aleph::Segment::get_src_point(), Aleph::Segment::get_tgt_point(), and output.
Referenced by draw_line_eq(), and draw_object().
|
inlinestaticprivate |
Definition at line 828 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), box(), escape_latex(), Aleph::Text::get_point(), Aleph::Text::get_str(), map_point(), output, Aleph::Tikz_Style::text_font_command, text_options(), and y.
Referenced by draw_object().
Definition at line 1131 of file tikzgeom.H.
References append_option(), Aleph::blossom_maximum_cardinality_matching(), draw_options(), output, text_options(), and tikz_style_defs_.
Referenced by draw().
|
inlineprivate |
Definition at line 756 of file tikzgeom.H.
References Aleph::Array< T >::append(), box(), draw_polyline(), Aleph::Triangle::get_p1(), Aleph::Triangle::get_p2(), Aleph::Triangle::get_p3(), and output.
Referenced by draw_object().
|
inlineprivate |
Definition at line 571 of file tikzgeom.H.
References clip_padding_mm_, and point_radius_mm_.
Referenced by draw().
Enable auto-legend generation from style colors.
Definition at line 1367 of file tikzgeom.H.
References with_auto_legend_.
Referenced by Aleph::Tikz_Scene::enable_auto_legend(), and TEST().
Enable native PGF layers (\pgfdeclarelayer).
Definition at line 1361 of file tikzgeom.H.
References with_native_layers_.
Referenced by Aleph::Tikz_Scene::enable_native_tikz_layers(), and TEST().
Definition at line 576 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching().
Referenced by draw_legend(), and draw_text().
Definition at line 292 of file tikzgeom.H.
References Aleph::and, Aleph::blossom_maximum_cardinality_matching(), and out.
Referenced by draw_options(), point_options(), and text_options().
|
inline |
Style used for Cartesian axes when enabled.
Definition at line 1281 of file tikzgeom.H.
References axis_style_.
Clip expansion around the frame; <= 0 means auto (point radius).
Definition at line 1244 of file tikzgeom.H.
References clip_padding_mm_.
|
inline |
Default style used by put(obj) and non-styled put_in_plane.
Definition at line 1278 of file tikzgeom.H.
References default_style_.
|
inline |
Style used for coordinate grids when enabled.
Definition at line 1283 of file tikzgeom.H.
References grid_style_.
Plane height in millimeters.
Definition at line 1236 of file tikzgeom.H.
References height_.
Referenced by TEST().
Radius used to draw point primitives (millimeters).
Definition at line 1242 of file tikzgeom.H.
References point_radius_mm_.
Plane width in millimeters.
Definition at line 1234 of file tikzgeom.H.
References wide_.
Referenced by TEST().
Horizontal scope offset in millimeters.
Definition at line 1238 of file tikzgeom.H.
References xoffset_.
Referenced by TEST().
Vertical scope offset in millimeters.
Definition at line 1240 of file tikzgeom.H.
References yoffset_.
Referenced by TEST().
Definition at line 980 of file tikzgeom.H.
References Layer_Background, Layer_Foreground, and Layer_Overlay.
Referenced by draw().
|
inlinestaticprivate |
|
inlinestaticprivate |
Definition at line 678 of file tikzgeom.H.
References box(), Aleph::Point::get_x(), Aleph::Point::get_y(), map_x(), and map_y().
Referenced by draw_cubic_bezier(), draw_ellipse(), draw_point(), draw_polyline(), draw_quadratic_bezier(), draw_rotated_ellipse(), and draw_text().
|
inlinestaticprivate |
Definition at line 659 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), box(), Aleph::Tikz_Plane::Mapping::dx, Aleph::geom_number_to_double(), Aleph::Tikz_Plane::Mapping::has_x_range, and Aleph::Tikz_Plane::Mapping::sx.
Referenced by draw_cartesian_axis(), draw_coordinate_grid(), and map_point().
|
inlinestaticprivate |
Definition at line 683 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), Aleph::geom_number_to_double(), Aleph::Tikz_Plane::Mapping::has_x_range, and Aleph::Tikz_Plane::Mapping::sx.
Referenced by draw_ellipse().
|
inlinestaticprivate |
Definition at line 668 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), box(), Aleph::Tikz_Plane::Mapping::dy, Aleph::geom_number_to_double(), Aleph::Tikz_Plane::Mapping::has_y_range, Aleph::Tikz_Plane::Mapping::sy, and y.
Referenced by draw_cartesian_axis(), draw_coordinate_grid(), and map_point().
|
inlinestaticprivate |
Definition at line 690 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), Aleph::geom_number_to_double(), Aleph::Tikz_Plane::Mapping::has_y_range, and Aleph::Tikz_Plane::Mapping::sy.
Referenced by draw_ellipse().
|
inlinestaticprivate |
Definition at line 434 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), Aleph::Tikz_Plane::Geom_Box::initialized, Aleph::Tikz_Plane::Geom_Box::xmax, Aleph::Tikz_Plane::Geom_Box::xmin, Aleph::Tikz_Plane::Geom_Box::ymax, and Aleph::Tikz_Plane::Geom_Box::ymin.
Referenced by bbox_of(), bbox_of(), bbox_of(), bbox_of(), bbox_of(), and compute_box().
|
inlinestaticprivate |
Definition at line 368 of file tikzgeom.H.
References append_option(), Aleph::blossom_maximum_cardinality_matching(), Aleph::Tikz_Style::draw_color, Aleph::Tikz_Style::extra_options, Aleph::Tikz_Style::fill_color, fmt_double(), Aleph::Tikz_Style::opacity, and Aleph::Tikz_Style::tikz_style_name.
Referenced by draw_point().
Insert an object with default style on default layer.
Definition at line 1405 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), default_style_, Layer_Default, and put().
Referenced by put(), Aleph::put_in_plane(), and Aleph::put_in_plane().
|
inline |
Insert an object with explicit style/layer.
Definition at line 1411 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), next_order_, and objects_.
|
inline |
Enable Cartesian axes drawing (only when 0 lies in range).
Definition at line 1330 of file tikzgeom.H.
References with_cartesian_axis_.
Referenced by main(), Aleph::Tikz_Scene::put_cartesian_axis(), TEST(), and TEST().
|
inline |
Enable coordinate grid/ticks with user step sizes.
Definition at line 1342 of file tikzgeom.H.
References ah_domain_error_if, Aleph::blossom_maximum_cardinality_matching(), grid_step_x_, grid_step_y_, with_coordinate_grid_, and with_grid_ticks_.
Referenced by Aleph::Tikz_Scene::put_coordinate_grid(), and TEST().
|
inline |
Register a reusable \tikzset style for the rendered picture.
Definition at line 1385 of file tikzgeom.H.
References ah_domain_error_if, and tikz_style_defs_.
Referenced by Aleph::Tikz_Scene::register_tikz_style(), and TEST().
|
inline |
Disable Cartesian axes drawing.
Definition at line 1336 of file tikzgeom.H.
References with_cartesian_axis_.
Referenced by Aleph::Tikz_Scene::remove_cartesian_axis().
|
inline |
Disable coordinate grid rendering.
Definition at line 1355 of file tikzgeom.H.
References with_coordinate_grid_.
Referenced by Aleph::Tikz_Scene::remove_coordinate_grid().
|
inline |
Collect TikZ libraries required by currently emitted features.
The result is unique and deterministic. It currently detects pattern fills in objects, legends, and registered TikZ styles.
\usetikzlibrary syntax. Definition at line 1257 of file tikzgeom.H.
References Aleph::append_unique_tikz_library(), Aleph::blossom_maximum_cardinality_matching(), default_style_, legend_entries_, objects_, style_requires_patterns(), and tikz_style_defs_.
Referenced by draw(), Aleph::Tikz_Scene::draw_beamer_document(), Aleph::Tikz_Scene::required_tikz_libraries(), and TEST().
|
inline |
Configure the style used to draw Cartesian axes.
| style | The new axis style. |
Definition at line 1296 of file tikzgeom.H.
References axis_style_.
Referenced by Aleph::Tikz_Scene::set_axis_style().
Configure clip expansion around frame borders.
When <= 0, the plane uses point_radius_mm_ automatically.
Definition at line 1324 of file tikzgeom.H.
References Aleph::blossom_maximum_cardinality_matching(), and clip_padding_mm_.
Referenced by TEST().
|
inline |
Configure the default style for subsequent non-styled inserts.
| style | The new default style. |
Definition at line 1288 of file tikzgeom.H.
References default_style_.
Referenced by Aleph::Tikz_Scene::set_default_style().
|
inline |
Configure the style used to draw coordinate grids.
| style | The new grid style. |
Definition at line 1304 of file tikzgeom.H.
References grid_style_.
Referenced by Aleph::Tikz_Scene::set_grid_style().
Configure point marker radius.
| radius_mm | Circle radius used for Point and degenerate fallbacks. |
| std::domain_error | If radius_mm <= 0. |
Definition at line 1314 of file tikzgeom.H.
References ah_domain_error_if, Aleph::blossom_maximum_cardinality_matching(), and point_radius_mm_.
Referenced by main(), and Aleph::Tikz_Scene::set_point_radius_mm().
|
inline |
Number of currently inserted objects.
Definition at line 1246 of file tikzgeom.H.
References objects_.
Referenced by TEST().
|
inlinestaticprivatenoexcept |
Return true when rendering style needs the patterns library.
Definition at line 414 of file tikzgeom.H.
References Aleph::and, and Aleph::blossom_maximum_cardinality_matching().
Referenced by required_tikz_libraries().
|
inlinestaticprivate |
Definition at line 388 of file tikzgeom.H.
References append_option(), Aleph::blossom_maximum_cardinality_matching(), Aleph::Tikz_Style::draw_color, Aleph::Tikz_Style::extra_options, fmt_double(), Aleph::Tikz_Style::opacity, Aleph::Tikz_Style::text_anchor, Aleph::Tikz_Style::text_color, Aleph::Tikz_Style::text_placement, and Aleph::Tikz_Style::tikz_style_name.
Referenced by draw_text(), and draw_tikzset_styles().
|
private |
Definition at line 263 of file tikzgeom.H.
Referenced by draw_cartesian_axis(), draw_coordinate_grid(), get_axis_style(), and set_axis_style().
|
private |
Definition at line 254 of file tikzgeom.H.
Referenced by effective_clip_padding_mm(), get_clip_padding_mm(), and set_clip_padding_mm().
|
private |
Definition at line 262 of file tikzgeom.H.
Referenced by get_default_style(), put(), required_tikz_libraries(), and set_default_style().
|
private |
Definition at line 255 of file tikzgeom.H.
Referenced by draw_coordinate_grid(), and put_coordinate_grid().
|
private |
Definition at line 256 of file tikzgeom.H.
Referenced by draw_coordinate_grid(), and put_coordinate_grid().
|
private |
Definition at line 271 of file tikzgeom.H.
Referenced by draw_coordinate_grid(), get_grid_style(), and set_grid_style().
|
private |
Definition at line 244 of file tikzgeom.H.
Referenced by Tikz_Plane(), compute_mapping(), draw(), draw_cartesian_axis(), draw_coordinate_grid(), draw_legend(), and get_height().
Definition at line 202 of file tikzgeom.H.
Referenced by layer_name(), main(), and TEST().
Definition at line 203 of file tikzgeom.H.
Definition at line 204 of file tikzgeom.H.
Referenced by layer_name(), main(), and TEST().
Definition at line 205 of file tikzgeom.H.
Referenced by layer_name(), main(), main(), and TEST().
|
private |
Definition at line 286 of file tikzgeom.H.
Referenced by add_legend_entry(), clear_legend(), collect_legend_entries(), and required_tikz_libraries().
|
private |
Definition at line 260 of file tikzgeom.H.
Referenced by draw_legend().
|
private |
Definition at line 258 of file tikzgeom.H.
Referenced by draw_legend().
|
private |
Definition at line 259 of file tikzgeom.H.
Referenced by draw_legend().
|
private |
Definition at line 290 of file tikzgeom.H.
|
private |
Definition at line 289 of file tikzgeom.H.
Referenced by clear(), collect_legend_entries(), compute_box(), draw(), put(), required_tikz_libraries(), and size().
|
private |
Definition at line 253 of file tikzgeom.H.
Referenced by draw_point(), effective_clip_padding_mm(), get_point_radius_mm(), and set_point_radius_mm().
|
private |
Definition at line 257 of file tikzgeom.H.
Referenced by draw_coordinate_grid().
|
private |
Definition at line 287 of file tikzgeom.H.
Referenced by clear_tikz_styles(), draw_tikzset_styles(), register_tikz_style(), and required_tikz_libraries().
|
private |
Definition at line 243 of file tikzgeom.H.
Referenced by Tikz_Plane(), compute_mapping(), draw(), draw_cartesian_axis(), draw_coordinate_grid(), and get_wide().
Definition at line 252 of file tikzgeom.H.
Referenced by collect_legend_entries(), and enable_auto_legend().
Definition at line 248 of file tikzgeom.H.
Referenced by draw_cartesian_axis(), put_cartesian_axis(), and remove_cartesian_axis().
Definition at line 249 of file tikzgeom.H.
Referenced by draw_coordinate_grid(), put_coordinate_grid(), and remove_coordinate_grid().
Definition at line 250 of file tikzgeom.H.
Referenced by draw_coordinate_grid(), and put_coordinate_grid().
Definition at line 251 of file tikzgeom.H.
Referenced by draw(), and enable_native_tikz_layers().
|
private |
Definition at line 245 of file tikzgeom.H.
Referenced by draw(), and get_xoffset().
|
private |
Definition at line 246 of file tikzgeom.H.
Referenced by draw(), and get_yoffset().