Merge branch 'v0.8.0' into ifcmax/initial-refresh

This commit is contained in:
Josef Wienerroither
2026-03-09 09:23:03 +01:00
2 changed files with 7 additions and 5 deletions
+3 -3
View File
@@ -160,12 +160,12 @@ taxonomy::loft::ptr ifcopenshell::geometry::make_loft(const Settings& settings_,
}
auto interpolated_offset = lerp(offset_a, offset_b, relative_dist_along);
if (rotation_a == rotation_b && rotation_a) {
// @todo we don't support an overridden rotation on only one of the placements
if (rotation_a.has_value() && rotation_b.has_value() ) {
// @todo we don't support an overridden rotation on only one of the placements
// in which case we would need to lerp with the rotation component below in m4b.
interpolated_rotation = lerp(*rotation_a, *rotation_b, relative_dist_along);
} else if (rotation_a != rotation_b) {
Logger::Error("Direction vectors on cross section placements only supported when used consistently");
Logger::Error("Direction vectors on cross section placements only supported when used consistently");
}
taxonomy::loop::ptr w1, w2;
+4 -2
View File
@@ -1068,8 +1068,10 @@ typedef item const* ptr;
virtual kinds kind() const { return LOFT; }
virtual void print_impl(std::ostream& o, int indent) const {
o << std::string(indent, ' ') << "axis" << std::endl;
axis->print(o, indent + 4);
if (axis) {
o << std::string(indent, ' ') << "axis" << std::endl;
axis->print(o, indent + 4);
}
}
virtual size_t calc_hash() const {