diff -r a9bf6bab5ea2 -r 8efa3a33172e src/polygoncache.cpp --- a/src/polygoncache.cpp Wed Jun 15 19:47:02 2022 +0300 +++ b/src/polygoncache.cpp Mon Jun 20 02:04:51 2022 +0300 @@ -1,6 +1,7 @@ #include "polygoncache.h" #include "documentmanager.h" #include "invert.h" +#include "circularprimitive.h" Model* resolve(const QString& name, const ModelId callingModelId, DocumentManager* documents) { @@ -76,6 +77,26 @@ } } }, + [&result, id](const Colored& circ) { + rasterize(circ, [&](const ModelElement& element){ + std::visit(overloaded{ + // TODO: :-( + [&](const Colored& edge) { + result.push_back({{edge, edge.color}, id}); + }, + [&](const Colored& triangle) { + result.push_back({{triangle, triangle.color}, id}); + }, + [&](const Colored& quad) { + result.push_back({{quad, quad.color}, id}); + }, + [&](const Colored& cedge) { + result.push_back({{cedge, cedge.color}, id}); + }, + [&](const auto&){}, + }, element); + }); + }, [](const ModelElement&) {} }, element); }