diff --git a/libsrc/geom2d/csg2d.cpp b/libsrc/geom2d/csg2d.cpp index da236920..f5f85ea7 100644 --- a/libsrc/geom2d/csg2d.cpp +++ b/libsrc/geom2d/csg2d.cpp @@ -1254,6 +1254,7 @@ void CreateResult(Solid2d & sp, Solid2d & sr, bool UNION) if ((status == EXIT) ^ UNION) { vnew.info = V->info; + vnew.pinfo = V->pinfo; if(V->spline) vnew.spline = *V->spline; else @@ -1272,6 +1273,7 @@ void CreateResult(Solid2d & sp, Solid2d & sr, bool UNION) else vnew.spline = nullopt; vnew.info = V->info; + vnew.pinfo = V->pinfo; V->is_intersection = false; // mark visited vertices } if(V == I) @@ -1593,7 +1595,7 @@ Solid2d :: Solid2d(const Array, EdgeInfo, PointInfo>> & po if(auto edge_info = std::get_if(&v)) l.first->prev->info.Assign( *edge_info ); if(auto point_info = std::get_if(&v)) - l.first->pinfo.Assign(*point_info); + l.first->prev->pinfo.Assign(*point_info); } for(auto v : l.Vertices(ALL))