mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-18 19:30:25 +00:00
setOnlyValid() option that skips and logs invalid topology #4130
This commit is contained in:
@@ -742,6 +742,10 @@ void SvgSerializer::write(const IfcGeom::BRepElement* brep_obj) {
|
||||
compound_local = comp2;
|
||||
}
|
||||
|
||||
if (only_valid_ && !IfcGeom::util::validate_shape(compound_local)) {
|
||||
return;
|
||||
}
|
||||
|
||||
geometry_data data{ compound_local, dash_arrays, trsf, brep_obj->product(), storey, elev, brep_obj->name(), nameElement(storey, brep_obj) };
|
||||
|
||||
if (auto_section_ || auto_elevation_ || section_ref_ || elevation_ref_ || elevation_ref_guid_ || deferred_section_data_) {
|
||||
|
||||
@@ -556,6 +556,7 @@ protected:
|
||||
bool unify_inputs_;
|
||||
bool mirror_y_;
|
||||
bool mirror_x_;
|
||||
bool only_valid_;
|
||||
|
||||
int profile_threshold_;
|
||||
|
||||
@@ -723,6 +724,14 @@ public:
|
||||
return unify_inputs_;
|
||||
}
|
||||
|
||||
void setOnlyValid(bool b) {
|
||||
only_valid_ = b;
|
||||
}
|
||||
|
||||
bool getOnlyValid(bool b) const {
|
||||
return only_valid_;
|
||||
}
|
||||
|
||||
void setScale(double s) { scale_ = s; }
|
||||
void setDrawingCenter(double x, double y) {
|
||||
center_x_ = x; center_y_ = y;
|
||||
|
||||
Reference in New Issue
Block a user