no periodic in bspline surface builder on OCC 7.3

This commit is contained in:
mhochsteger@cerbsim.com 2022-02-11 18:19:50 +01:00
parent 67c031cb77
commit 2ce4412fb2

View File

@ -2204,7 +2204,13 @@ tangents : Dict[int, gp_Vec]
points.SetValue(i+1, j+1, gp_Pnt(pnts_unchecked(i, j, 0), pnts_unchecked(i, j, 1), pnts_unchecked(i, j, 2))); points.SetValue(i+1, j+1, gp_Pnt(pnts_unchecked(i, j, 0), pnts_unchecked(i, j, 1), pnts_unchecked(i, j, 2)));
GeomAPI_PointsToBSplineSurface builder; GeomAPI_PointsToBSplineSurface builder;
#if OCC_VERSION_MAJOR>=7 && OCC_VERSION_MINOR>=4
builder.Init(points, approx_type, deg_min, deg_max, continuity, tol, periodic); builder.Init(points, approx_type, deg_min, deg_max, continuity, tol, periodic);
#else
if(periodic)
throw Exception("periodic not supported");
builder.Init(points, approx_type, deg_min, deg_max, continuity, tol);
#endif
return BRepBuilderAPI_MakeFace(builder.Surface(), tol).Face(); return BRepBuilderAPI_MakeFace(builder.Surface(), tol).Face();
}, },
py::arg("points"), py::arg("points"),
@ -2268,7 +2274,13 @@ degen_tol : double
points.SetValue(i+1, j+1, gp_Pnt(pnts_unchecked(i, j, 0), pnts_unchecked(i, j, 1), pnts_unchecked(i, j, 2))); points.SetValue(i+1, j+1, gp_Pnt(pnts_unchecked(i, j, 0), pnts_unchecked(i, j, 1), pnts_unchecked(i, j, 2)));
GeomAPI_PointsToBSplineSurface builder; GeomAPI_PointsToBSplineSurface builder;
#if OCC_VERSION_MAJOR>=7 && OCC_VERSION_MINOR>=4
builder.Interpolate(points, approx_type, periodic); builder.Interpolate(points, approx_type, periodic);
#else
if(periodic)
throw Exception("periodic not supported");
builder.Interpolate(points, approx_type);
#endif
return BRepBuilderAPI_MakeFace(builder.Surface(), degen_tol).Face(); return BRepBuilderAPI_MakeFace(builder.Surface(), degen_tol).Face();
}, },
py::arg("points"), py::arg("points"),