mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-13 02:47:48 +00:00
Pass around non-static logger instances and programmatic access to messages in-memory
This commit is contained in:
@@ -76,7 +76,7 @@ struct piecewise_fn_evaluator : public fn_evaluator {
|
||||
span_start += fn->length();
|
||||
}
|
||||
|
||||
Logger::Error("GEO", 37, "piecewise span not found.");
|
||||
logger_.Error("GEO", 37, "piecewise span not found.");
|
||||
return {0, 0, nullptr};
|
||||
}
|
||||
|
||||
@@ -208,7 +208,7 @@ struct offset_fn_evaluator : public fn_evaluator {
|
||||
|
||||
|
||||
|
||||
function_item_evaluator::function_item_evaluator(const ifcopenshell::geometry::Settings& settings,taxonomy::function_item::const_ptr fn) {
|
||||
function_item_evaluator::function_item_evaluator(const ifcopenshell::geometry::Settings& settings,taxonomy::function_item::const_ptr fn, Logger& logger) : logger_(logger) {
|
||||
auto kind = fn->kind();
|
||||
if (kind == taxonomy::FUNCTOR_ITEM) {
|
||||
fn_evaluator_ = new functor_fn_evaluator(std::dynamic_pointer_cast<const taxonomy::functor_item>(fn),settings);
|
||||
@@ -221,11 +221,11 @@ function_item_evaluator::function_item_evaluator(const ifcopenshell::geometry::S
|
||||
} else if (kind == taxonomy::OFFSET_FUNCTION) {
|
||||
fn_evaluator_ = new offset_fn_evaluator(std::dynamic_pointer_cast<const taxonomy::offset_function>(fn), settings);
|
||||
} else {
|
||||
Logger::Error("GEO", 38, "Unexpected function type");
|
||||
logger_.Error("GEO", 38, "Unexpected function type");
|
||||
}
|
||||
}
|
||||
|
||||
function_item_evaluator::function_item_evaluator(const function_item_evaluator& other) {
|
||||
function_item_evaluator::function_item_evaluator(const function_item_evaluator& other) : logger_(other.logger_) {
|
||||
fn_evaluator_ = other.fn_evaluator_->clone();
|
||||
eval_points_ = other.eval_points_;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user