@@ -399,7 +399,7 @@ namespace MeshUtils
399
399
{
400
400
return false ;
401
401
}
402
-
402
+
403
403
if ( !e->rev )
404
404
{
405
405
return false ;
@@ -530,12 +530,12 @@ namespace MeshUtils
530
530
{
531
531
return false ;
532
532
}
533
-
533
+
534
534
if ( !checkEdgePointers (e->rev ) )
535
535
{
536
536
return false ;
537
537
}
538
-
538
+
539
539
// continue
540
540
e = e->next ;
541
541
}
@@ -598,7 +598,7 @@ namespace MeshUtils
598
598
599
599
e = e->next ;
600
600
}
601
-
601
+
602
602
return false ;
603
603
}
604
604
@@ -1056,7 +1056,7 @@ namespace MeshUtils
1056
1056
const vec3 B = edge1->v2 ()->v ;
1057
1057
const vec3 C = edge2->v1 ()->v ;
1058
1058
const vec3 D = edge2->v2 ()->v ;
1059
-
1059
+
1060
1060
vec3 u = B - A;
1061
1061
vec3 v = D - C;
1062
1062
vec3 w = A - C;
@@ -1786,7 +1786,7 @@ namespace MeshUtils
1786
1786
}
1787
1787
}
1788
1788
}
1789
-
1789
+
1790
1790
static void triangulateLoops ( const std::vector<std::vector<vec2> >& profilePathsInput, std::vector<std::vector<vec2> >& faceLoopsUsedForTriangulation, std::vector<uint32_t >& face_indexes_out, BuildingEntity* ifc_entity )
1791
1791
{
1792
1792
// TODO: complete and test
@@ -1977,7 +1977,7 @@ namespace MeshUtils
1977
1977
1978
1978
GeomDebugDump::moveOffset (0.3 );
1979
1979
GeomDebugDump::dumpPolyline (profilePathsInput, color, true );
1980
-
1980
+
1981
1981
#endif
1982
1982
return ;
1983
1983
}
@@ -2057,12 +2057,12 @@ namespace MeshUtils
2057
2057
size_t idx2_poly = poly.addPoint (carve::geom::VECTOR (pt2.x , pt2.y , 0 ));
2058
2058
poly.m_poly_data ->addFace (idx0_poly, idx1_poly, idx2_poly);
2059
2059
}
2060
-
2060
+
2061
2061
glm::dvec4 colorCurrentLabel (0.3 , 0.4 , 0.5 , 1.0 );
2062
2062
std::string labelStr = " carve_triangulation" ;
2063
2063
GeomDebugDump::dumpVertex (GeomDebugDump::labelPos, colorCurrentLabel, labelStr);
2064
2064
GeomDebugDump::dumpCountLabel (GeomDebugDump::countLabelPos);
2065
-
2065
+
2066
2066
glm::dvec4 color (0.3 , 0.4 , 0.5 , 1.0 );
2067
2067
shared_ptr<carve::mesh::MeshSet<3 > > mesh_triangle (poly.m_poly_data ->createMesh (carve::input::opts ()));
2068
2068
GeomDebugDump::dumpMeshset (mesh_triangle, color, true );
@@ -2195,7 +2195,7 @@ namespace MeshUtils
2195
2195
vecResultLoop.push_back (startEdge->v2 ());
2196
2196
usedEdges.clear ();
2197
2197
usedEdges.insert (startEdge);
2198
-
2198
+
2199
2199
#ifdef _DEBUG
2200
2200
bool blue = true ;
2201
2201
glm::vec4 color1 (1.0 , 0.1 , 1 , 1 );
@@ -2209,7 +2209,7 @@ namespace MeshUtils
2209
2209
#endif
2210
2210
2211
2211
std::set<carve::mesh::Edge<3 >* > vecEdges = vecEdgesInput;
2212
-
2212
+
2213
2213
for ( size_t ii = 0 ; ii < vecEdges.size (); ++ii )
2214
2214
{
2215
2215
bool connectionFound = false ;
@@ -2227,7 +2227,7 @@ namespace MeshUtils
2227
2227
}
2228
2228
2229
2229
vec3& edgeP0 = edge->v1 ()->v ;
2230
-
2230
+
2231
2231
vec3 delt0 = edgeP0 - currentEndPoint;
2232
2232
if ( delt0.length2 () < eps * eps )
2233
2233
{
@@ -2475,7 +2475,7 @@ namespace MeshUtils
2475
2475
PolyInputCache3D polyInput ( eps );
2476
2476
polyhedronFromMeshSet (meshset, polyInput);
2477
2477
bool meshsetChanged = false ;
2478
-
2478
+
2479
2479
2480
2480
for ( size_t ii = 0 ; ii < allOpenEdges.size (); ++ii )
2481
2481
{
@@ -2956,7 +2956,7 @@ namespace MeshUtils
2956
2956
aTri.Set (id0, id1, id2);
2957
2957
// aMesh->SetTriangle(aTriIter, aTri);
2958
2958
2959
-
2959
+
2960
2960
vec3 point1_carve = carve::geom::VECTOR (triang_point1.X (), triang_point1.Y (), triang_point1.Z ());
2961
2961
vec3 point2_carve = carve::geom::VECTOR (triang_point2.X (), triang_point2.Y (), triang_point2.Z ());
2962
2962
vec3 point3_carve = carve::geom::VECTOR (triang_point3.X (), triang_point3.Y (), triang_point3.Z ());
@@ -2966,7 +2966,7 @@ namespace MeshUtils
2966
2966
2967
2967
std::vector<vec3> trianglePoints = { point1_carve, point2_carve, point3_carve };
2968
2968
vec3 triangleNormal = GeomUtils::computePolygonNormal (trianglePoints);
2969
-
2969
+
2970
2970
poly.m_poly_data ->addFace (point1Index, point2Index, point3Index);
2971
2971
2972
2972
@@ -3027,7 +3027,7 @@ namespace MeshUtils
3027
3027
{
3028
3028
addShapeToPolyInput (shape, poly);
3029
3029
}
3030
-
3030
+
3031
3031
meshset = shared_ptr<carve::mesh::MeshSet<3 > >(poly.m_poly_data ->createMesh (carve::input::opts ()));
3032
3032
}
3033
3033
@@ -3137,7 +3137,7 @@ namespace MeshUtils
3137
3137
3138
3138
static void convertCarve2OpenCascade (carve::mesh::MeshSet<3 >* meshset, TopoDS_Shape& result)
3139
3139
{
3140
-
3140
+
3141
3141
try
3142
3142
{
3143
3143
// BRepBuilderAPI_Sewing sewer;
@@ -3147,7 +3147,7 @@ namespace MeshUtils
3147
3147
TopoDS_Shell shell;
3148
3148
BRep_Builder builder;
3149
3149
builder.MakeShell (shell);
3150
-
3150
+
3151
3151
std::map<carve::mesh::Vertex<3 >*, TopoDS_Vertex> mapVertices;
3152
3152
for ( size_t ii = 0 ; ii < meshset->vertex_storage .size (); ++ii )
3153
3153
{
@@ -3168,10 +3168,10 @@ namespace MeshUtils
3168
3168
if ( faceVertices.size () > 2 )
3169
3169
{
3170
3170
BRepBuilderAPI_MakeWire mk_wire;
3171
-
3171
+
3172
3172
size_t n = faceVertices.size ();
3173
3173
carve::mesh::Vertex<3 >* vertexFirst = faceVertices[0 ];
3174
-
3174
+
3175
3175
for ( int i = 0 ; i < n; ++i )
3176
3176
{
3177
3177
carve::mesh::Vertex<3 >* v0 = faceVertices[i];
@@ -3225,7 +3225,9 @@ namespace MeshUtils
3225
3225
3226
3226
if ( wire.IsNull () )
3227
3227
{
3228
+ #ifdef _DEBUG
3228
3229
std::cout << " wire isNull" << std::endl;
3230
+ #endif
3229
3231
}
3230
3232
else
3231
3233
{
@@ -3235,7 +3237,9 @@ namespace MeshUtils
3235
3237
3236
3238
if ( face.IsNull () )
3237
3239
{
3240
+ #ifdef _DEBUG
3238
3241
std::cout << " face isNull" << std::endl;
3242
+ #endif
3239
3243
}
3240
3244
else
3241
3245
{
@@ -3247,7 +3251,7 @@ namespace MeshUtils
3247
3251
}
3248
3252
}
3249
3253
3250
-
3254
+
3251
3255
// sewer.Perform();
3252
3256
// TopoDS_Shape sewedShape = sewer.SewedShape();
3253
3257
BRepBuilderAPI_MakeSolid mkSolid (shell);
0 commit comments