diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index ce1cfd7900..18810b9b1e 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -197,7 +197,7 @@ int main(int argc, char** argv) { typedef char char_t; #endif - double deflection_tolerance, angular_tolerance; + double deflection_tolerance, angular_tolerance, force_space_transparency; inclusion_filter include_filter; inclusion_traverse_filter include_traverse_filter; exclusion_filter exclude_filter; @@ -326,6 +326,8 @@ int main(int argc, char** argv) { "model in other modelling application in any case.") ("deflection-tolerance", po::value(&deflection_tolerance)->default_value(1e-3), "Sets the deflection tolerance of the mesher, 1e-3 by default if not specified.") + ("force-space-transparency", po::value(&force_space_transparency), + "Overrides transparency of spaces in geometry output.") ("angular-tolerance", po::value(&angular_tolerance)->default_value(0.5), "Sets the angular tolerance of the mesher in radians 0.5 by default if not specified.") ("generate-uvs", @@ -718,6 +720,10 @@ int main(int argc, char** argv) { settings.set_angular_tolerance(angular_tolerance); settings.precision = precision; + if (vmap.count("force-space-transparency")) { + settings.force_space_transparency(force_space_transparency); + } + boost::shared_ptr serializer; /**< @todo use std::unique_ptr when possible */ if (output_extension == OBJ) { // Do not use temp file for MTL as it's such a small file. diff --git a/src/ifcgeom/IfcGeomIteratorSettings.h b/src/ifcgeom/IfcGeomIteratorSettings.h index f6d0a8f5dc..3de57e3c41 100644 --- a/src/ifcgeom/IfcGeomIteratorSettings.h +++ b/src/ifcgeom/IfcGeomIteratorSettings.h @@ -108,6 +108,7 @@ namespace IfcGeom /// Note that this is independent of the IFC length unit, one millimeter by default. double deflection_tolerance() const { return deflection_tolerance_; } double angular_tolerance() const { return angular_tolerance_; } + double force_space_transparency() const { return force_space_transparency_; } void set_deflection_tolerance(double value) { @@ -124,6 +125,10 @@ namespace IfcGeom angular_tolerance_ = value; } + void force_space_transparency(double value) { + force_space_transparency_ = value; + } + /// Get boolean value for a single settings or for a combination of settings. bool get(SettingField setting) const { @@ -149,7 +154,7 @@ namespace IfcGeom protected: SettingField settings_; - double deflection_tolerance_, angular_tolerance_; + double deflection_tolerance_, angular_tolerance_, force_space_transparency_; }; class IFC_GEOM_API ElementSettings : public IteratorSettings