Fix -Wsubobject-linkage warning (#6243)

* Fix -Wsubobject-linkage warning

Having tk::spline header-only implementation included from
SmallAreaInfillFlowCompensator.hpp makes
SmallAreaInfillFlowCompensator::flowModel have separate (albeit the
same) implementation in each translation unit.

In order to fix this issue, SmallAreaInfillFlowCompensator::flowModel
converted to opaque 'pimpl'

* spline: remove anonymous namespace

Remove outer anonymous namespace from splice.h to make
forward declaration for tk::spline possible.
This commit is contained in:
Dima Buzdyk
2024-08-04 08:48:24 +06:00
committed by GitHub
parent 9ff0e9335f
commit e6ed93f0c6
3 changed files with 9 additions and 21 deletions

View File

@@ -15,6 +15,7 @@
#include "../PrintConfig.hpp"
#include "SmallAreaInfillFlowCompensator.hpp"
#include "spline/spline.h"
#include <boost/log/trivial.hpp>
namespace Slic3r {
@@ -79,6 +80,9 @@ SmallAreaInfillFlowCompensator::SmallAreaInfillFlowCompensator(const Slic3r::GCo
BOOST_LOG_TRIVIAL(error) << "Error parsing small area infill compensation model: " << e.what();
}
}
SmallAreaInfillFlowCompensator::~SmallAreaInfillFlowCompensator() = default;
double SmallAreaInfillFlowCompensator::flow_comp_model(const double line_length)
{
if(flowModel == nullptr)