Răsfoiți Sursa

- fix various vc compile errors when building with boost.

Alexander Gessler 12 ani în urmă
părinte
comite
667a51e0ab
3 a modificat fișierele cu 5 adăugiri și 4 ștergeri
  1. 1 1
      code/IFCGeometry.cpp
  2. 2 2
      code/IFCOpenings.cpp
  3. 2 1
      code/IfcBoolean.cpp

+ 1 - 1
code/IFCGeometry.cpp

@@ -764,7 +764,7 @@ bool ProcessGeometricItem(const IfcRepresentationItem& geo, std::vector<unsigned
 			conv.collect_openings->push_back(TempOpening(geo.ToPtr<IfcSolidModel>(),
 			conv.collect_openings->push_back(TempOpening(geo.ToPtr<IfcSolidModel>(),
 				IfcVector3(0,0,0),
 				IfcVector3(0,0,0),
 				meshtmp,
 				meshtmp,
-				boost::shared_ptr<TempMesh>(NULL)));
+				boost::shared_ptr<TempMesh>((TempMesh*)NULL)));
 		}
 		}
 		return true;
 		return true;
 	} 
 	} 

+ 2 - 2
code/IFCOpenings.cpp

@@ -1188,14 +1188,14 @@ bool GenerateOpenings(std::vector<TempOpening>& openings,
 			norm_extrusion_dir = IfcVector3();
 			norm_extrusion_dir = IfcVector3();
 		}
 		}
 
 
-		TempMesh* profile_data =  opening.profileMesh;
+		TempMesh* profile_data =  opening.profileMesh.get();
 		bool is_2d_source = false;
 		bool is_2d_source = false;
 		if (opening.profileMesh2D && norm_extrusion_dir.SquareLength() > 0) {
 		if (opening.profileMesh2D && norm_extrusion_dir.SquareLength() > 0) {
 			
 			
 			if(fabs(norm_extrusion_dir * wall_extrusion_axis_norm) < 0.1) {
 			if(fabs(norm_extrusion_dir * wall_extrusion_axis_norm) < 0.1) {
 				// horizontal extrusion
 				// horizontal extrusion
 				if (fabs(norm_extrusion_dir * nor) > 0.9) {
 				if (fabs(norm_extrusion_dir * nor) > 0.9) {
-					profile_data = opening.profileMesh2D;
+					profile_data = opening.profileMesh2D.get();
 					is_2d_source = true;
 					is_2d_source = true;
 				}
 				}
 				else {
 				else {

+ 2 - 1
code/IfcBoolean.cpp

@@ -582,7 +582,8 @@ void ProcessBooleanExtrudedAreaSolidDifference(const IfcExtrudedAreaSolid* as, T
 	boost::shared_ptr<TempMesh> meshtmp = boost::shared_ptr<TempMesh>(new TempMesh());
 	boost::shared_ptr<TempMesh> meshtmp = boost::shared_ptr<TempMesh>(new TempMesh());
 	ProcessExtrudedAreaSolid(*as,*meshtmp,conv,false);
 	ProcessExtrudedAreaSolid(*as,*meshtmp,conv,false);
 
 
-	std::vector<TempOpening> openings(1, TempOpening(as,IfcVector3(0,0,0),meshtmp,boost::shared_ptr<TempMesh>(NULL)));
+	std::vector<TempOpening> openings(1, TempOpening(as,IfcVector3(0,0,0),meshtmp,
+		boost::shared_ptr<TempMesh>((TempMesh*)NULL)));
 
 
 	result = first_operand;
 	result = first_operand;