diff --git a/code/IFCGeometry.cpp b/code/IFCGeometry.cpp index 9962676c1..cb2213d7e 100644 --- a/code/IFCGeometry.cpp +++ b/code/IFCGeometry.cpp @@ -764,7 +764,7 @@ bool ProcessGeometricItem(const IfcRepresentationItem& geo, std::vectorpush_back(TempOpening(geo.ToPtr(), IfcVector3(0,0,0), meshtmp, - boost::shared_ptr(NULL))); + boost::shared_ptr((TempMesh*)NULL))); } return true; } diff --git a/code/IFCOpenings.cpp b/code/IFCOpenings.cpp index d02feeec4..2ba42d1e4 100644 --- a/code/IFCOpenings.cpp +++ b/code/IFCOpenings.cpp @@ -1188,14 +1188,14 @@ bool GenerateOpenings(std::vector& openings, norm_extrusion_dir = IfcVector3(); } - TempMesh* profile_data = opening.profileMesh; + TempMesh* profile_data = opening.profileMesh.get(); bool is_2d_source = false; if (opening.profileMesh2D && norm_extrusion_dir.SquareLength() > 0) { if(fabs(norm_extrusion_dir * wall_extrusion_axis_norm) < 0.1) { // horizontal extrusion if (fabs(norm_extrusion_dir * nor) > 0.9) { - profile_data = opening.profileMesh2D; + profile_data = opening.profileMesh2D.get(); is_2d_source = true; } else { diff --git a/code/IfcBoolean.cpp b/code/IfcBoolean.cpp index 2259dced1..681b3be0e 100644 --- a/code/IfcBoolean.cpp +++ b/code/IfcBoolean.cpp @@ -582,7 +582,8 @@ void ProcessBooleanExtrudedAreaSolidDifference(const IfcExtrudedAreaSolid* as, T boost::shared_ptr meshtmp = boost::shared_ptr(new TempMesh()); ProcessExtrudedAreaSolid(*as,*meshtmp,conv,false); - std::vector openings(1, TempOpening(as,IfcVector3(0,0,0),meshtmp,boost::shared_ptr(NULL))); + std::vector openings(1, TempOpening(as,IfcVector3(0,0,0),meshtmp, + boost::shared_ptr((TempMesh*)NULL))); result = first_operand;