Skip to content

Commit fc44916

Browse files
committed
Fix unit conversion (scaling)
1 parent f1b706d commit fc44916

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

IfcPlusPlus/src/ifcpp/geometry/Carve/GeometryConverter.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ class GeometryConverter : public StatusCallback
9494
{
9595
m_product_shape_data.clear();
9696
m_map_outside_spatial_structure.clear();
97-
m_representation_converter->clearCache();
97+
m_representation_converter->clearCache(false);
9898
m_messages.clear();
9999
}
100100

@@ -116,7 +116,7 @@ class GeometryConverter : public StatusCallback
116116
}
117117
clearInputCache();
118118
m_ifc_model = model;
119-
m_representation_converter->clearCache();
119+
m_representation_converter->clearCache(false);
120120
m_representation_converter->setUnitConverter( m_ifc_model->getUnitConverter() );
121121
m_ifc_model->setMessageTarget( this );
122122
}
@@ -297,7 +297,7 @@ class GeometryConverter : public StatusCallback
297297
progressValueCallback( 0, "geometry" );
298298
m_product_shape_data.clear();
299299
m_map_outside_spatial_structure.clear();
300-
m_representation_converter->clearCache();
300+
m_representation_converter->clearCache(false);
301301

302302
if( !m_ifc_model )
303303
{

IfcPlusPlus/src/ifcpp/geometry/Carve/RepresentationConverter.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,17 @@ class RepresentationConverter : public StatusCallback
113113

114114
virtual ~RepresentationConverter()
115115
{
116-
clearCache();
116+
clearCache(false);
117117
}
118118

119-
void clearCache()
119+
void clearCache( bool resetUnitFactor )
120120
{
121121
m_profile_cache->clearProfileCache();
122122
m_styles_converter->clearStylesCache();
123-
m_unit_converter->resetUnitFactors();
123+
if (resetUnitFactor)
124+
{
125+
m_unit_converter->resetUnitFactors();
126+
}
124127
}
125128
shared_ptr<GeometrySettings>& getGeomSettings() { return m_geom_settings; }
126129
shared_ptr<UnitConverter>& getUnitConverter() { return m_unit_converter; }

IfcPlusPlus/src/ifcpp/model/UnitConverter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ void UnitConverter::setIfcProject( shared_ptr<IfcProject> project )
118118
std::vector<shared_ptr<IfcUnit> >& vec_units = unit_assignment->m_Units;
119119
for(auto unit : vec_units)
120120
{
121-
if( !unit )
121+
if( !unit )
122122
{
123123
continue;
124124
}

0 commit comments

Comments
 (0)