|
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. | |
| 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_ |
| std::vector< Legend_Entry > | legend_entries_ |
| std::map< std::string, Tikz_Style > | tikz_style_defs_ |
| std::vector< 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 183 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 192 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 1215 of file tikzgeom.H.
References ah_domain_error_if, Aleph::divide_and_conquer_partition_dp(), height_, and wide_.
|
inline |
Add a legend entry to be rendered in the top-left corner.
Definition at line 1334 of file tikzgeom.H.
References legend_entries_.
Referenced by Aleph::Tikz_Scene::add_legend_entry().
|
inlinestaticprivate |
Definition at line 296 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp().
Referenced by draw_options(), draw_tikzset_styles(), point_options(), and text_options().
Definition at line 468 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 519 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), l, make_box(), y0(), and y1().
Definition at line 446 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 451 of file tikzgeom.H.
References bbox_of(), and Aleph::divide_and_conquer_partition_dp().
Definition at line 489 of file tikzgeom.H.
References bbox_of(), Aleph::divide_and_conquer_partition_dp(), Aleph::Dlink::Iterator::has_curr(), merge_box(), and Aleph::Polygon::size().
Definition at line 514 of file tikzgeom.H.
References make_box(), and r.
|
inlinestaticprivate |
Definition at line 503 of file tikzgeom.H.
References bbox_of(), Aleph::divide_and_conquer_partition_dp(), Aleph::Regular_Polygon::get_vertex(), merge_box(), and Aleph::Regular_Polygon::size().
|
inlinestaticprivate |
Definition at line 474 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::RotatedEllipse::get_center(), Aleph::Point::get_x(), Aleph::Point::get_y(), make_box(), rotated_x_extent(), and rotated_y_extent().
Definition at line 456 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 483 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 538 of file tikzgeom.H.
References bbox_of(), Aleph::divide_and_conquer_partition_dp(), 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 548 of file tikzgeom.H.
References bbox_of(), Aleph::divide_and_conquer_partition_dp(), and merge_box().
|
inlinestaticprivate |
Definition at line 529 of file tikzgeom.H.
References bbox_of(), Aleph::divide_and_conquer_partition_dp(), merge_box(), Aleph::Tikz_Quadratic_Bezier::p0, Aleph::Tikz_Quadratic_Bezier::p1, and Aleph::Tikz_Quadratic_Bezier::p2.
Definition at line 462 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 1359 of file tikzgeom.H.
References next_order_, and objects_.
Referenced by Aleph::Tikz_Scene::clear().
|
inline |
Remove user-provided legend entries.
Definition at line 1340 of file tikzgeom.H.
References legend_entries_.
Referenced by Aleph::Tikz_Scene::clear_legend().
|
inline |
Clear all registered \tikzset style definitions.
Definition at line 1353 of file tikzgeom.H.
References tikz_style_defs_.
|
inlineprivate |
Definition at line 1062 of file tikzgeom.H.
References Aleph::and, Aleph::color(), Aleph::divide_and_conquer_partition_dp(), Aleph::Tikz_Style::draw_color, legend_entries_, objects_, and with_auto_legend_.
Referenced by draw_legend().
|
inlineprivate |
Definition at line 556 of file tikzgeom.H.
References bbox_of(), Aleph::divide_and_conquer_partition_dp(), merge_box(), and objects_.
Referenced by draw().
|
inlineprivate |
Definition at line 606 of file tikzgeom.H.
References Aleph::and, Aleph::divide_and_conquer_partition_dp(), 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 1383 of file tikzgeom.H.
References compute_box(), compute_mapping(), Aleph::divide_and_conquer_partition_dp(), draw_cartesian_axis(), draw_coordinate_grid(), draw_legend(), draw_object(), draw_tikzset_styles(), effective_clip_padding_mm(), height_, layer_name(), objects_, output, 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(), and TEST().
|
inlineprivate |
Definition at line 1136 of file tikzgeom.H.
References Aleph::and, axis_style_, Aleph::divide_and_conquer_partition_dp(), 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 982 of file tikzgeom.H.
References Aleph::and, axis_style_, Aleph::divide_and_conquer_partition_dp(), 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 952 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), 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 757 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), 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 1096 of file tikzgeom.H.
References collect_legend_entries(), Aleph::divide_and_conquer_partition_dp(), draw_options(), escape_latex(), height_, legend_entry_step_mm_, legend_x_mm_, legend_y_mm_, output, and y.
Referenced by draw().
|
inlineprivate |
Definition at line 872 of file tikzgeom.H.
References Aleph::and, Aleph::divide_and_conquer_partition_dp(), draw_segment(), l, output, and y.
Referenced by draw_object().
|
inlineprivate |
Definition at line 1166 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), 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, and Aleph::Tikz_Plane::Styled_Object::style.
Referenced by draw().
|
inlinestaticprivate |
Definition at line 305 of file tikzgeom.H.
References Aleph::and, append_option(), Aleph::Tikz_Style::dashed, Aleph::divide_and_conquer_partition_dp(), 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 695 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), map_point(), output, point_options(), point_radius_mm_, and y.
Referenced by draw_ellipse(), draw_object(), and draw_polyline().
|
inlineprivate |
Definition at line 835 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), draw_polyline(), Aleph::Dlink::Iterator::has_curr(), Aleph::Polygon::is_closed(), output, and Aleph::Polygon::size().
Referenced by draw_object().
|
inlineprivate |
Definition at line 708 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), draw_options(), draw_point(), map_point(), output, and y.
Referenced by draw_object(), draw_polygon(), draw_rectangle(), draw_regular_polygon(), draw_segment(), and draw_triangle().
|
inlinestaticprivate |
Definition at line 935 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), 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 860 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), draw_polyline(), output, and r.
Referenced by draw_object().
|
inlineprivate |
Definition at line 847 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), draw_polyline(), Aleph::Regular_Polygon::get_vertex(), output, and Aleph::Regular_Polygon::size().
Referenced by draw_object().
|
inlinestaticprivate |
Definition at line 779 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), 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 743 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), 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 818 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), 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 1121 of file tikzgeom.H.
References append_option(), Aleph::divide_and_conquer_partition_dp(), draw_options(), output, text_options(), and tikz_style_defs_.
Referenced by draw().
|
inlineprivate |
Definition at line 750 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), draw_polyline(), Aleph::Triangle::get_p1(), Aleph::Triangle::get_p2(), Aleph::Triangle::get_p3(), and output.
Referenced by draw_object().
|
inlineprivate |
Definition at line 568 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 1328 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 1322 of file tikzgeom.H.
References with_native_layers_.
Referenced by Aleph::Tikz_Scene::enable_native_tikz_layers(), and TEST().
Definition at line 573 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp().
Referenced by draw_legend(), and draw_text().
Definition at line 276 of file tikzgeom.H.
References Aleph::and, and Aleph::divide_and_conquer_partition_dp().
Referenced by draw_options(), point_options(), and text_options().
|
inline |
Style used for Cartesian axes when enabled.
Definition at line 1242 of file tikzgeom.H.
References axis_style_.
Clip expansion around the frame; <= 0 means auto (point radius).
Definition at line 1234 of file tikzgeom.H.
References clip_padding_mm_.
|
inline |
Default style used by put(obj) and non-styled put_in_plane.
Definition at line 1239 of file tikzgeom.H.
References default_style_.
|
inline |
Style used for coordinate grids when enabled.
Definition at line 1244 of file tikzgeom.H.
References grid_style_.
Plane height in millimeters.
Definition at line 1226 of file tikzgeom.H.
References height_.
Referenced by TEST().
Radius used to draw point primitives (millimeters).
Definition at line 1232 of file tikzgeom.H.
References point_radius_mm_.
Plane width in millimeters.
Definition at line 1224 of file tikzgeom.H.
References wide_.
Referenced by TEST().
Horizontal scope offset in millimeters.
Definition at line 1228 of file tikzgeom.H.
References xoffset_.
Referenced by TEST().
Vertical scope offset in millimeters.
Definition at line 1230 of file tikzgeom.H.
References yoffset_.
Referenced by TEST().
Definition at line 970 of file tikzgeom.H.
References Layer_Background, Layer_Foreground, and Layer_Overlay.
Referenced by draw().
|
inlinestaticprivate |
Definition at line 415 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), and Aleph::Tikz_Plane::Geom_Box::xmin.
Referenced by bbox_of(), bbox_of(), bbox_of(), bbox_of(), bbox_of(), bbox_of(), bbox_of(), and bbox_of().
|
inlinestaticprivate |
Definition at line 675 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), 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 656 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), 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 680 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), 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 665 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), 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 687 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), 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 429 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), 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 352 of file tikzgeom.H.
References append_option(), Aleph::divide_and_conquer_partition_dp(), 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 1366 of file tikzgeom.H.
References default_style_, Aleph::divide_and_conquer_partition_dp(), 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 1372 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), next_order_, and objects_.
|
inline |
Enable Cartesian axes drawing (only when 0 lies in range).
Definition at line 1291 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 1303 of file tikzgeom.H.
References ah_domain_error_if, Aleph::divide_and_conquer_partition_dp(), 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 1346 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 1297 of file tikzgeom.H.
References with_cartesian_axis_.
Referenced by Aleph::Tikz_Scene::remove_cartesian_axis().
|
inline |
Disable coordinate grid rendering.
Definition at line 1316 of file tikzgeom.H.
References with_coordinate_grid_.
Referenced by Aleph::Tikz_Scene::remove_coordinate_grid().
|
inlinestaticprivate |
Definition at line 397 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::RotatedEllipse::get_a(), Aleph::RotatedEllipse::get_b(), Aleph::RotatedEllipse::get_cos(), Aleph::RotatedEllipse::get_sin(), and Aleph::square_root().
Referenced by bbox_of().
|
inlinestaticprivate |
Definition at line 406 of file tikzgeom.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::RotatedEllipse::get_a(), Aleph::RotatedEllipse::get_b(), Aleph::RotatedEllipse::get_cos(), Aleph::RotatedEllipse::get_sin(), and Aleph::square_root().
Referenced by bbox_of().
|
inline |
Configure the style used to draw Cartesian axes.
| style | The new axis style. |
Definition at line 1257 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 1285 of file tikzgeom.H.
References clip_padding_mm_, and Aleph::divide_and_conquer_partition_dp().
Referenced by TEST().
|
inline |
Configure the default style for subsequent non-styled inserts.
| style | The new default style. |
Definition at line 1249 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 1265 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 1275 of file tikzgeom.H.
References ah_domain_error_if, Aleph::divide_and_conquer_partition_dp(), and point_radius_mm_.
Referenced by main(), and Aleph::Tikz_Scene::set_point_radius_mm().
|
inline |
Number of currently inserted objects.
Definition at line 1236 of file tikzgeom.H.
References objects_.
Referenced by TEST().
|
inlinestaticprivate |
Definition at line 372 of file tikzgeom.H.
References append_option(), Aleph::divide_and_conquer_partition_dp(), 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 247 of file tikzgeom.H.
Referenced by draw_cartesian_axis(), draw_coordinate_grid(), get_axis_style(), and set_axis_style().
|
private |
Definition at line 238 of file tikzgeom.H.
Referenced by effective_clip_padding_mm(), get_clip_padding_mm(), and set_clip_padding_mm().
|
private |
Definition at line 246 of file tikzgeom.H.
Referenced by get_default_style(), put(), and set_default_style().
|
private |
Definition at line 239 of file tikzgeom.H.
Referenced by draw_coordinate_grid(), and put_coordinate_grid().
|
private |
Definition at line 240 of file tikzgeom.H.
Referenced by draw_coordinate_grid(), and put_coordinate_grid().
|
private |
Definition at line 255 of file tikzgeom.H.
Referenced by draw_coordinate_grid(), get_grid_style(), and set_grid_style().
|
private |
Definition at line 228 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 186 of file tikzgeom.H.
Referenced by layer_name(), main(), and TEST().
Definition at line 187 of file tikzgeom.H.
Definition at line 188 of file tikzgeom.H.
Referenced by layer_name(), main(), and TEST().
Definition at line 189 of file tikzgeom.H.
Referenced by layer_name(), main(), main(), and TEST().
|
private |
Definition at line 270 of file tikzgeom.H.
Referenced by add_legend_entry(), clear_legend(), and collect_legend_entries().
|
private |
Definition at line 244 of file tikzgeom.H.
Referenced by draw_legend().
|
private |
Definition at line 242 of file tikzgeom.H.
Referenced by draw_legend().
|
private |
Definition at line 243 of file tikzgeom.H.
Referenced by draw_legend().
|
private |
Definition at line 274 of file tikzgeom.H.
|
private |
Definition at line 273 of file tikzgeom.H.
Referenced by clear(), collect_legend_entries(), compute_box(), draw(), put(), and size().
|
private |
Definition at line 237 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 241 of file tikzgeom.H.
Referenced by draw_coordinate_grid().
|
private |
Definition at line 271 of file tikzgeom.H.
Referenced by clear_tikz_styles(), draw_tikzset_styles(), and register_tikz_style().
|
private |
Definition at line 227 of file tikzgeom.H.
Referenced by Tikz_Plane(), compute_mapping(), draw(), draw_cartesian_axis(), draw_coordinate_grid(), and get_wide().
Definition at line 236 of file tikzgeom.H.
Referenced by collect_legend_entries(), and enable_auto_legend().
Definition at line 232 of file tikzgeom.H.
Referenced by draw_cartesian_axis(), put_cartesian_axis(), and remove_cartesian_axis().
Definition at line 233 of file tikzgeom.H.
Referenced by draw_coordinate_grid(), put_coordinate_grid(), and remove_coordinate_grid().
Definition at line 234 of file tikzgeom.H.
Referenced by draw_coordinate_grid(), and put_coordinate_grid().
Definition at line 235 of file tikzgeom.H.
Referenced by draw(), and enable_native_tikz_layers().
|
private |
Definition at line 229 of file tikzgeom.H.
Referenced by draw(), and get_xoffset().
|
private |
Definition at line 230 of file tikzgeom.H.
Referenced by draw(), and get_yoffset().