23 lines
882 B
C++
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
|