mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-10 09:48:32 +00:00
Quick fix py create_shape() setting propagation
This commit is contained in:
@@ -370,6 +370,9 @@ struct ShapeRTTI : public boost::static_visitor<PyObject*>
|
||||
IfcParse::IfcFile* file = instance->data().file;
|
||||
|
||||
IfcGeom::Kernel kernel(file);
|
||||
|
||||
// @todo unify this logic with the logic in iterator impl.
|
||||
|
||||
kernel.setValue(IfcGeom::Kernel::GV_MAX_FACES_TO_ORIENT, settings.get(IfcGeom::IteratorSettings::SEW_SHELLS) ? std::numeric_limits<double>::infinity() : -1);
|
||||
kernel.setValue(IfcGeom::Kernel::GV_DIMENSIONALITY, (settings.get(IfcGeom::IteratorSettings::INCLUDE_CURVES) ? (settings.get(IfcGeom::IteratorSettings::EXCLUDE_SOLIDS_AND_SURFACES) ? -1. : 0.) : +1.));
|
||||
kernel.setValue(IfcGeom::Kernel::GV_LAYERSET_FIRST,
|
||||
@@ -377,6 +380,39 @@ struct ShapeRTTI : public boost::static_visitor<PyObject*>
|
||||
? +1.0
|
||||
: -1.0
|
||||
);
|
||||
kernel.setValue(IfcGeom::Kernel::GV_NO_WIRE_INTERSECTION_CHECK,
|
||||
settings.get(IteratorSettings::NO_WIRE_INTERSECTION_CHECK)
|
||||
? +1.0
|
||||
: -1.0
|
||||
);
|
||||
kernel.setValue(IfcGeom::Kernel::GV_NO_WIRE_INTERSECTION_TOLERANCE,
|
||||
settings.get(IteratorSettings::NO_WIRE_INTERSECTION_TOLERANCE)
|
||||
? +1.0
|
||||
: -1.0
|
||||
);
|
||||
kernel.setValue(IfcGeom::Kernel::GV_PRECISION_FACTOR,
|
||||
settings.get(IteratorSettings::STRICT_TOLERANCE)
|
||||
? 1.0
|
||||
: 10.0
|
||||
);
|
||||
|
||||
kernel.setValue(IfcGeom::Kernel::GV_DISABLE_BOOLEAN_RESULT,
|
||||
settings.get(IteratorSettings::DISABLE_BOOLEAN_RESULT)
|
||||
? +1.0
|
||||
: -1.0
|
||||
);
|
||||
|
||||
kernel.setValue(IfcGeom::Kernel::GV_DEBUG_BOOLEAN,
|
||||
settings.get(IteratorSettings::DEBUG_BOOLEAN)
|
||||
? +1.0
|
||||
: -1.0
|
||||
);
|
||||
|
||||
kernel.setValue(IfcGeom::Kernel::GV_BOOLEAN_ATTEMPT_2D,
|
||||
settings.get(IteratorSettings::BOOLEAN_ATTEMPT_2D)
|
||||
? +1.0
|
||||
: -1.0
|
||||
);
|
||||
|
||||
if (instance->declaration().is(Schema::IfcProduct::Class())) {
|
||||
if (representation) {
|
||||
|
||||
Reference in New Issue
Block a user