コード例 #1
0
ファイル: ListPolyIt.cpp プロジェクト: josefpavlik/CuraEngine
void ListPolyIt::convertListPolygonsToPolygons(ListPolygons& list_polygons, Polygons& polygons)
{
    for (unsigned int poly_idx = 0; poly_idx < polygons.size(); poly_idx++)
    {
        polygons[poly_idx].clear();
        convertListPolygonToPolygon(list_polygons[poly_idx], polygons[poly_idx]);
    }
}
コード例 #2
0
ファイル: wallOverlap.cpp プロジェクト: HustLion/CuraEngine
void WallOverlapComputation::findOverlapPoints()
{
    // convert to list polygons for insertion of points
    convertPolygonsToLists(polygons, list_polygons); 
    
    // init loc_to_list_poly_idx
//     for (unsigned int poly_idx = 0; poly_idx < list_polygons.size(); poly_idx++)
//     {
//         for (ListPolygon::iterator it = list_polygons[poly_idx].begin(); it != list_polygons[poly_idx].end(); ++it)
//         {
//             loc_to_list_poly_idx.emplace(*it, it);
//         }
//     }
    
    
    for (unsigned int poly_idx = 0; poly_idx < list_polygons.size(); poly_idx++)
    {
        ListPolygon& poly = list_polygons[poly_idx];
        for (unsigned int poly2_idx = 0; poly2_idx <= poly_idx; poly2_idx++)
        {
            for (ListPolygon::iterator it = poly.begin(); it != poly.end(); ++it)
            {
                ListPolyIt lpi(poly, it);
                if (poly_idx == poly2_idx)
                {
                    findOverlapPoints(lpi, poly2_idx, it);
                }
                else 
                {
                    findOverlapPoints(lpi, poly2_idx);
                }
            }
        }
    }
    
    // convert list polygons back
    for (unsigned int poly_idx = 0; poly_idx < polygons.size(); poly_idx++)
    {
        convertListPolygonToPolygon(list_polygons[poly_idx], polygons[poly_idx]);
//         DEBUG_SHOW(list_polygons[poly_idx].size());
    }
//     for (unsigned int poly_idx = 0; poly_idx < polygons.size(); poly_idx++)
//     {
//         PolygonRef poly = polygons[poly_idx];
//         for (unsigned int poly2_idx = 0; poly2_idx <= poly_idx; poly2_idx++)
//         {
//             PolygonRef poly2 = polygons[poly2_idx];
//             for (unsigned int point_idx = 0; point_idx < poly.size(); point_idx++)
//             {
//                 Point& p = poly[point_idx];
//                 findOverlapPoints(p, poly2);
//             }
//         }
//     }
}