mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-12 18:43:26 +00:00
Improve IfcFixedReferenceSweptAreaSolid handling and add swept shape tests
Enhances geometry processing for swept area solids by integrating matrix transformations. Includes new utility `_is_swept_shape` for topology analysis, extends testing with `load_ifc_occ_shape`, and updates schema versions in CMake presets.
This commit is contained in:
@@ -115,9 +115,16 @@ taxonomy::ptr mapping::map_impl(const IfcSchema::IfcFixedReferenceSweptAreaSolid
|
||||
}
|
||||
}
|
||||
} else {
|
||||
taxonomy::matrix4::ptr matrix;
|
||||
bool has_position = true;
|
||||
has_position = inst->Position() != nullptr;
|
||||
auto pos = inst->Position();
|
||||
if (has_position) {
|
||||
matrix = taxonomy::cast<taxonomy::matrix4>(map(inst->Position()));
|
||||
}
|
||||
// TODO: Implement handling for non-alignment curves using sweep_along_curve
|
||||
auto sweep = taxonomy::make<taxonomy::sweep_along_curve>(
|
||||
nullptr, // matrix4::ptr - no transformation needed
|
||||
matrix, // matrix4::ptr - no transformation needed
|
||||
profile, // face::ptr - the profile to sweep
|
||||
nullptr, // item::ptr surface - not used for fixed reference sweep
|
||||
dir // item::ptr curve - the directrix curve
|
||||
|
||||
Reference in New Issue
Block a user