TU-Programmieren_2/exercise6/task3.hpp
2025-04-09 10:22:44 +02:00

23 lines
882 B
C++

/// @file
/// @brief Task3: declaration
#pragma once
#include "task2.aliases.hpp" // task2::Line, task2::Polyline, task2::Circle
#include <filesystem> // std::filesystem::path
#include <vector> // std::vector
namespace task3 {
/// @brief Plots an SVG Image containing lines, polylines and circles
/// @param filepath Filename of the image to be written
/// @param lines Sequence of lines to be plotted
/// @param polylines Sequence of polylines to be plotted
/// @param circles Sequence of circles to be plotted
/// @return Smallest bounding box fully containing all plotted shapes (for circles the area is also considered as extend of the shape)
task2::BBox plot_image(std::filesystem::path filepath, const std::vector<task2::Line>& lines, const std::vector<task2::Polyline>& polylines,
const std::vector<task2::Circle>& circles);
} // namespace task3