Skip to content

Commit

Permalink
Some ifdefs to make it easier to switch between oybind and nanobind
Browse files Browse the repository at this point in the history
  • Loading branch information
fraguada committed Aug 7, 2024
1 parent 8d4f86c commit 7cdeeb4
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
8 changes: 8 additions & 0 deletions src/bindings/bnd_nurbscurve.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,11 @@ BND_BezierCurve* BND_NurbsCurve::ConvertSpanToBezier(int index) const

void initNurbsCurveBindings(rh3dmpymodule& m)
{
#if defined(NANOBIND) // temp workaround for buffer protocol
py::class_<BND_NurbsCurveKnotList>(m, "NurbsCurveKnotList")
#else
py::class_<BND_NurbsCurveKnotList>(m, "NurbsCurveKnotList", py::buffer_protocol())
#endif
.def("__len__", &BND_NurbsCurveKnotList::Count)
.def("__getitem__", &BND_NurbsCurveKnotList::GetKnot)
.def("__setitem__", &BND_NurbsCurveKnotList::SetKnot)
Expand Down Expand Up @@ -254,7 +258,11 @@ void initNurbsCurveBindings(rh3dmpymodule& m)
;
;

#if defined(NANOBIND) // temp workaround for buffer protocol
py::class_<BND_NurbsCurvePointList>(m, "NurbsCurvePointList")
#else
py::class_<BND_NurbsCurvePointList>(m, "NurbsCurvePointList", py::buffer_protocol())
#endif
.def("__len__", &BND_NurbsCurvePointList::Count)
.def("__getitem__", &BND_NurbsCurvePointList::GetControlPoint)
.def("__setitem__", &BND_NurbsCurvePointList::SetControlPoint)
Expand Down
8 changes: 8 additions & 0 deletions src/bindings/bnd_nurbssurface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,11 @@ BND_NurbsSurfacePointList BND_NurbsSurface::Points()

void initNurbsSurfaceBindings(rh3dmpymodule& m)
{
#if defined(NANOBIND)
py::class_<BND_NurbsSurfaceKnotList>(m, "NurbsSurfaceKnotList")
#else
py::class_<BND_NurbsSurfaceKnotList>(m, "NurbsSurfaceKnotList", py::buffer_protocol())
#endif
.def("__len__", &BND_NurbsSurfaceKnotList::Count)
.def("__getitem__", &BND_NurbsSurfaceKnotList::GetKnot)
.def("__setitem__", &BND_NurbsSurfaceKnotList::SetKnot)
Expand Down Expand Up @@ -228,7 +232,11 @@ void initNurbsSurfaceBindings(rh3dmpymodule& m)
.def("SuperfluousKnot", &BND_NurbsSurfaceKnotList::SuperfluousKnot, py::arg("start"))
;

#if defined(NANOBIND)
py::class_<BND_NurbsSurfacePointList>(m, "NurbsSurfacePointList")
#else
py::class_<BND_NurbsSurfacePointList>(m, "NurbsSurfacePointList", py::buffer_protocol())
#endif
.def("__len__", &BND_NurbsSurfacePointList::Count)
.def_property_readonly("CountU", &BND_NurbsSurfacePointList::CountU)
.def_property_readonly("CountV", &BND_NurbsSurfacePointList::CountV)
Expand Down

0 comments on commit 7cdeeb4

Please sign in to comment.