diff --git a/src/bindings/bindings.cpp b/src/bindings/bindings.cpp index 7d02a747..554affc3 100644 --- a/src/bindings/bindings.cpp +++ b/src/bindings/bindings.cpp @@ -91,7 +91,7 @@ EMSCRIPTEN_BINDINGS(rhino3dm) { #if defined(ON_PYTHON_COMPILE) std::string ToStdString(const py::str& str) { - std::string rc = str; + std::string rc = py::cast(str); return rc; } #endif diff --git a/src/bindings/bindings.h b/src/bindings/bindings.h index 59df0167..00d36e94 100644 --- a/src/bindings/bindings.h +++ b/src/bindings/bindings.h @@ -16,6 +16,9 @@ #define RH3DM_PYTHON_BINDING(name, variable) NB_MODULE(name, variable) #define def_property def_prop_rw #define def_property_readonly def_prop_ro +#define def_readonly def_ro +#define def_readwrite def_rw +#define def_property_readonly_static def_prop_ro_static #define UNIMPLEMENTED_EXCEPTION throw std::exception() #else @@ -23,7 +26,7 @@ #include namespace py = pybind11; #define RH3DM_PYTHON_BINDING(name, variable) PYBIND11_MODULE(name, variable) - typedef pybind11::module_ rh3dmpymodule; + typedef pybind11::module rh3dmpymodule; #endif std::string ToStdString(const py::str& str); @@ -44,6 +47,7 @@ typedef py::tuple BND_Color; typedef py::tuple BND_Color4f; typedef py::tuple BND_TUPLE; typedef py::handle BND_DateTime; +typedef py::list BND_LIST; #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_3dm_attributes.cpp b/src/bindings/bnd_3dm_attributes.cpp index ef98409d..eb6f815c 100644 --- a/src/bindings/bnd_3dm_attributes.cpp +++ b/src/bindings/bnd_3dm_attributes.cpp @@ -109,12 +109,8 @@ BND_TUPLE BND_3dmObjectAttributes::GetGroupList() const ////////////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void init3dmAttributesBindings(py::module_& m){} -#else -namespace py = pybind11; -void init3dmAttributesBindings(py::module& m) + +void init3dmAttributesBindings(rh3dmpymodule& m) { py::class_(m, "ObjectAttributes") @@ -155,7 +151,7 @@ void init3dmAttributesBindings(py::module& m) .def("RemoveFromAllGroups", &BND_3dmObjectAttributes::RemoveFromAllGroups) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_3dm_attributes.h b/src/bindings/bnd_3dm_attributes.h index db6c9d91..e12e7d8a 100644 --- a/src/bindings/bnd_3dm_attributes.h +++ b/src/bindings/bnd_3dm_attributes.h @@ -3,16 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) - -#if defined(NANOBIND) -namespace py = nanobind; -void init3dmAttributesBindings(py::module_& m); -#else -namespace py = pybind11; -void init3dmAttributesBindings(py::module& m); -#endif - - +void init3dmAttributesBindings(rh3dmpymodule& m); #else void init3dmAttributesBindings(void* m); #endif diff --git a/src/bindings/bnd_3dm_settings.cpp b/src/bindings/bnd_3dm_settings.cpp index ef100080..7e1561a5 100644 --- a/src/bindings/bnd_3dm_settings.cpp +++ b/src/bindings/bnd_3dm_settings.cpp @@ -122,13 +122,8 @@ void BND_File3dmSettings::SetEarthAnchorPoint(const BND_EarthAnchorPoint& anchor } #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void init3dmSettingsBindings(py::module_& m){} -#else -namespace py = pybind11; -void init3dmSettingsBindings(py::module& m) +void init3dmSettingsBindings(rh3dmpymodule& m) { py::class_(m, "ConstructionPlane") .def(py::init<>()) @@ -220,7 +215,7 @@ void init3dmSettingsBindings(py::module& m) .def_property_readonly("RenderSettings", &BND_File3dmSettings::GetRenderSettings) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_3dm_settings.h b/src/bindings/bnd_3dm_settings.h index cee6561c..49d3e550 100644 --- a/src/bindings/bnd_3dm_settings.h +++ b/src/bindings/bnd_3dm_settings.h @@ -4,14 +4,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void init3dmSettingsBindings(py::module_& m); -#else -namespace py = pybind11; -void init3dmSettingsBindings(py::module& m); -#endif - +void init3dmSettingsBindings(rh3dmpymodule& m); #else void init3dmSettingsBindings(void* m); #endif diff --git a/src/bindings/bnd_annotationbase.cpp b/src/bindings/bnd_annotationbase.cpp index c1dbaf9f..c7bcf46f 100644 --- a/src/bindings/bnd_annotationbase.cpp +++ b/src/bindings/bnd_annotationbase.cpp @@ -630,10 +630,7 @@ std::vector BND_Centermark::GetDisplayLines(const BND_DimensionStyle& d #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -void initAnnotationBaseBindings(py::module_& m){} -#else -void initAnnotationBaseBindings(py::module& m) +void initAnnotationBaseBindings(rh3dmpymodule& m) { py::class_(m, "AnnotationBase") .def_property_readonly("DimensionStyleId", &BND_AnnotationBase::DimensionStyleId) @@ -691,7 +688,6 @@ void initAnnotationBaseBindings(py::module& m) } #endif -#endif #if defined(ON_WASM_COMPILE) using namespace emscripten; diff --git a/src/bindings/bnd_annotationbase.h b/src/bindings/bnd_annotationbase.h index d0708b55..fdc9b147 100644 --- a/src/bindings/bnd_annotationbase.h +++ b/src/bindings/bnd_annotationbase.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initAnnotationBaseBindings(py::module_& m); -#else -namespace py = pybind11; -void initAnnotationBaseBindings(py::module& m); -#endif - +void initAnnotationBaseBindings(rh3dmpymodule& m); #else void initAnnotationBaseBindings(void* m); #endif diff --git a/src/bindings/bnd_arc.cpp b/src/bindings/bnd_arc.cpp index 0158bdb8..70c1210c 100644 --- a/src/bindings/bnd_arc.cpp +++ b/src/bindings/bnd_arc.cpp @@ -125,13 +125,7 @@ BND_NurbsCurve* BND_Arc::ToNurbsCurve() const #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initArcBindings(py::module_& m){} -#else -namespace py = pybind11; -void initArcBindings(py::module& m) - +void initArcBindings(rh3dmpymodule& m) { py::class_(m, "Arc") .def(py::init(), py::arg("circle"), py::arg("angleRadians")) @@ -167,7 +161,6 @@ void initArcBindings(py::module& m) .def("ToNurbsCurve", &BND_Arc::ToNurbsCurve); } #endif -#endif #if defined(ON_WASM_COMPILE) using namespace emscripten; diff --git a/src/bindings/bnd_arc.h b/src/bindings/bnd_arc.h index 92cde0f6..311ac5c0 100644 --- a/src/bindings/bnd_arc.h +++ b/src/bindings/bnd_arc.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initArcBindings(py::module_& m); -#else -namespace py = pybind11; -void initArcBindings(py::module& m); -#endif - +void initArcBindings(rh3dmpymodule& m); #else void initArcBindings(void* m); #endif diff --git a/src/bindings/bnd_arccurve.cpp b/src/bindings/bnd_arccurve.cpp index ba04af70..c4decdc2 100644 --- a/src/bindings/bnd_arccurve.cpp +++ b/src/bindings/bnd_arccurve.cpp @@ -51,12 +51,7 @@ void BND_ArcCurve::SetTrackedPointer(ON_ArcCurve* arccurve, const ON_ModelCompon #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initArcCurveBindings(py::module_& m){} -#else -namespace py = pybind11; -void initArcCurveBindings(py::module& m) +void initArcCurveBindings(rh3dmpymodule& m) { py::class_(m, "ArcCurve") .def_static("CreateFromArc", &BND_ArcCurve::CreateFromArc, py::arg("arc")) @@ -73,7 +68,6 @@ void initArcCurveBindings(py::module& m) ; } #endif -#endif #if defined(ON_WASM_COMPILE) using namespace emscripten; diff --git a/src/bindings/bnd_arccurve.h b/src/bindings/bnd_arccurve.h index 8f52b29a..a05ff265 100644 --- a/src/bindings/bnd_arccurve.h +++ b/src/bindings/bnd_arccurve.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initArcCurveBindings(py::module_& m); -#else -namespace py = pybind11; -void initArcCurveBindings(py::module& m); -#endif - +void initArcCurveBindings(rh3dmpymodule& m); #else void initArcCurveBindings(void* m); #endif diff --git a/src/bindings/bnd_beam.cpp b/src/bindings/bnd_beam.cpp index 100a07a8..5cde50ca 100644 --- a/src/bindings/bnd_beam.cpp +++ b/src/bindings/bnd_beam.cpp @@ -192,13 +192,8 @@ BND_Extrusion::BND_Extrusion(ON_Extrusion* extrusion, const ON_ModelComponentRef ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initExtrusionBindings(py::module_& m){} -#else -namespace py = pybind11; -void initExtrusionBindings(py::module& m) +void initExtrusionBindings(rh3dmpymodule& m) { py::class_(m, "Extrusion") .def_static("Create", &BND_Extrusion::Create, py::arg("planarCurve"), py::arg("height"), py::arg("cap")) @@ -236,7 +231,6 @@ void initExtrusionBindings(py::module& m) ; } #endif -#endif #if defined(ON_WASM_COMPILE) using namespace emscripten; diff --git a/src/bindings/bnd_beam.h b/src/bindings/bnd_beam.h index a6ff472e..452fe735 100644 --- a/src/bindings/bnd_beam.h +++ b/src/bindings/bnd_beam.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initExtrusionBindings(py::module_& m); -#else -namespace py = pybind11; -void initExtrusionBindings(py::module& m); -#endif - +void initExtrusionBindings(rh3dmpymodule& m); #else void initExtrusionBindings(void* m); #endif diff --git a/src/bindings/bnd_bezier.cpp b/src/bindings/bnd_bezier.cpp index d5480d64..af480c29 100644 --- a/src/bindings/bnd_bezier.cpp +++ b/src/bindings/bnd_bezier.cpp @@ -32,12 +32,8 @@ BND_TUPLE BND_BezierCurve::Split(double t) #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initBezierBindings(py::module_& m){} -#else -namespace py = pybind11; -void initBezierBindings(py::module& m) + +void initBezierBindings(rh3dmpymodule& m) { py::class_(m, "BezierCurve") .def_property_readonly("Dimension", &BND_BezierCurve::Dimension) @@ -56,7 +52,6 @@ void initBezierBindings(py::module& m) ; } #endif -#endif #if defined(ON_WASM_COMPILE) using namespace emscripten; diff --git a/src/bindings/bnd_bezier.h b/src/bindings/bnd_bezier.h index 87aa8372..908681a2 100644 --- a/src/bindings/bnd_bezier.h +++ b/src/bindings/bnd_bezier.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initBezierBindings(py::module_& m); -#else -namespace py = pybind11; -void initBezierBindings(py::module& m); -#endif - +void initBezierBindings(rh3dmpymodule& m); #else void initBezierBindings(void* m); #endif diff --git a/src/bindings/bnd_bitmap.cpp b/src/bindings/bnd_bitmap.cpp index ac132475..677b7cf4 100644 --- a/src/bindings/bnd_bitmap.cpp +++ b/src/bindings/bnd_bitmap.cpp @@ -17,12 +17,8 @@ void BND_Bitmap::SetTrackedPointer(ON_Bitmap* bitmap, const ON_ModelComponentRef #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initBitmapBindings(py::module_& m){} -#else -namespace py = pybind11; -void initBitmapBindings(py::module& m) + +void initBitmapBindings(rh3dmpymodule& m) { py::class_(m, "Bitmap") .def(py::init<>()) @@ -34,7 +30,6 @@ void initBitmapBindings(py::module& m) ; } #endif -#endif #if defined(ON_WASM_COMPILE) using namespace emscripten; diff --git a/src/bindings/bnd_bitmap.h b/src/bindings/bnd_bitmap.h index 73dcd226..53bfecbd 100644 --- a/src/bindings/bnd_bitmap.h +++ b/src/bindings/bnd_bitmap.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initBitmapBindings(py::module_& m); -#else -namespace py = pybind11; -void initBitmapBindings(py::module& m); -#endif - +void initBitmapBindings(rh3dmpymodule& m); #else void initBitmapBindings(void* m); #endif diff --git a/src/bindings/bnd_boundingbox.cpp b/src/bindings/bnd_boundingbox.cpp index bb8cb1c3..8d39e3cf 100644 --- a/src/bindings/bnd_boundingbox.cpp +++ b/src/bindings/bnd_boundingbox.cpp @@ -161,10 +161,8 @@ BND_BoundingBox* BND_BoundingBox::Decode(emscripten::val jsonObject) #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -void initBoundingBoxBindings(py::module_& m){} -#else -void initBoundingBoxBindings(py::module& m) + +void initBoundingBoxBindings(rh3dmpymodule& m) { py::class_(m, "BoundingBox") .def(py::init(), py::arg("minPoint"), py::arg("maxPoint")) @@ -189,7 +187,6 @@ void initBoundingBoxBindings(py::module& m) ; } #endif -#endif #if defined(ON_WASM_COMPILE) using namespace emscripten; diff --git a/src/bindings/bnd_boundingbox.h b/src/bindings/bnd_boundingbox.h index 85b57da4..4aa1aecf 100644 --- a/src/bindings/bnd_boundingbox.h +++ b/src/bindings/bnd_boundingbox.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initBoundingBoxBindings(py::module_& m); -#else -namespace py = pybind11; -void initBoundingBoxBindings(py::module& m); -#endif - +void initBoundingBoxBindings(rh3dmpymodule& m); #else void initBoundingBoxBindings(void* m); #endif diff --git a/src/bindings/bnd_box.cpp b/src/bindings/bnd_box.cpp index 7a43ee0a..a30051cb 100644 --- a/src/bindings/bnd_box.cpp +++ b/src/bindings/bnd_box.cpp @@ -29,12 +29,8 @@ ON_3dPoint BND_Box::PointAt(double x, double y, double z) const //} #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initBoxBindings(py::module_& m){} -#else -namespace py = pybind11; -void initBoxBindings(py::module& m) + +void initBoxBindings(rh3dmpymodule& m) { py::class_(m, "Box") .def(py::init(), py::arg("bbox")) @@ -48,7 +44,6 @@ void initBoxBindings(py::module& m) ; } #endif -#endif #if defined(ON_WASM_COMPILE) using namespace emscripten; diff --git a/src/bindings/bnd_box.h b/src/bindings/bnd_box.h index a0818e25..0d39cc1f 100644 --- a/src/bindings/bnd_box.h +++ b/src/bindings/bnd_box.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initBoxBindings(py::module_& m); -#else -namespace py = pybind11; -void initBoxBindings(py::module& m); -#endif - +void initBoxBindings(rh3dmpymodule& m); #else void initBoxBindings(void* m); #endif diff --git a/src/bindings/bnd_brep.cpp b/src/bindings/bnd_brep.cpp index 995b321c..f3d75360 100644 --- a/src/bindings/bnd_brep.cpp +++ b/src/bindings/bnd_brep.cpp @@ -384,10 +384,8 @@ BND_TUPLE BND_BrepVertex::EdgeIndices() const { ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -void initBrepBindings(py::module_& m){} -#else -void initBrepBindings(py::module& m) + +void initBrepBindings(rh3dmpymodule& m) { py::class_(m, "BrepEdge") ; @@ -451,7 +449,7 @@ void initBrepBindings(py::module& m) .def("Flip", &BND_Brep::Flip) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_brep.h b/src/bindings/bnd_brep.h index 60f8a24a..e3482588 100644 --- a/src/bindings/bnd_brep.h +++ b/src/bindings/bnd_brep.h @@ -2,16 +2,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) - -#if defined(NANOBIND) -namespace py = nanobind; -void initBrepBindings(py::module_& m); -#else -namespace py = pybind11; -void initBrepBindings(py::module& m); -#endif - - +void initBrepBindings(rh3dmpymodule& m); #else void initBrepBindings(void* m); #endif diff --git a/src/bindings/bnd_circle.cpp b/src/bindings/bnd_circle.cpp index 3adef6e7..7eeaa921 100644 --- a/src/bindings/bnd_circle.cpp +++ b/src/bindings/bnd_circle.cpp @@ -95,12 +95,8 @@ BND_DICT BND_Circle::Encode() const #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initCircleBindings(py::module_& m){} -#else -namespace py = pybind11; -void initCircleBindings(py::module& m) + +void initCircleBindings(rh3dmpymodule& m) { py::class_(m, "Circle") .def(py::init(), py::arg("radius")) @@ -126,7 +122,7 @@ void initCircleBindings(py::module& m) .def("Encode", &BND_Circle::Encode) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_circle.h b/src/bindings/bnd_circle.h index ceade6e3..4bb29e0f 100644 --- a/src/bindings/bnd_circle.h +++ b/src/bindings/bnd_circle.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initCircleBindings(py::module_& m); -#else -namespace py = pybind11; -void initCircleBindings(py::module& m); -#endif - +void initCircleBindings(rh3dmpymodule& m); #else void initCircleBindings(void* m); #endif diff --git a/src/bindings/bnd_cone.cpp b/src/bindings/bnd_cone.cpp index df638606..0095f393 100644 --- a/src/bindings/bnd_cone.cpp +++ b/src/bindings/bnd_cone.cpp @@ -20,12 +20,8 @@ BND_Brep* BND_Cone::ToBrep(bool capBottom) const } #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initConeBindings(py::module_& m){} -#else -namespace py = pybind11; -void initConeBindings(py::module& m) + +void initConeBindings(rh3dmpymodule& m) { py::class_(m, "Cone") .def_property("Height", &BND_Cone::GetHeight, &BND_Cone::SetHeight) @@ -41,7 +37,6 @@ void initConeBindings(py::module& m) ; } #endif -#endif #if defined(ON_WASM_COMPILE) using namespace emscripten; diff --git a/src/bindings/bnd_cone.h b/src/bindings/bnd_cone.h index 882688ce..b95b9caf 100644 --- a/src/bindings/bnd_cone.h +++ b/src/bindings/bnd_cone.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initConeBindings(py::module_& m); -#else -namespace py = pybind11; -void initConeBindings(py::module& m); -#endif - +void initConeBindings(rh3dmpymodule& m); #else void initConeBindings(void* m); #endif diff --git a/src/bindings/bnd_curve.cpp b/src/bindings/bnd_curve.cpp index 5aa7c82e..019b5465 100644 --- a/src/bindings/bnd_curve.cpp +++ b/src/bindings/bnd_curve.cpp @@ -252,12 +252,8 @@ BND_NurbsCurve* BND_Curve::ToNurbsCurve2(BND_Interval subdomain) const #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initCurveBindings(py::module_& m){} -#else -namespace py = pybind11; -void initCurveBindings(py::module& m) + +void initCurveBindings(rh3dmpymodule& m) { py::enum_(m, "CurveEvaluationSide") .value("Default", CurveEvaluationSide::Default) @@ -360,7 +356,6 @@ void initCurveBindings(py::module& m) ; } #endif -#endif #if defined(ON_WASM_COMPILE) using namespace emscripten; diff --git a/src/bindings/bnd_curve.h b/src/bindings/bnd_curve.h index 31c55373..64f7b13f 100644 --- a/src/bindings/bnd_curve.h +++ b/src/bindings/bnd_curve.h @@ -67,14 +67,7 @@ enum class CurveEvaluationSide : int #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initCurveBindings(py::module_& m); -#else -namespace py = pybind11; -void initCurveBindings(py::module& m); -#endif - +void initCurveBindings(rh3dmpymodule& m); #else void initCurveBindings(void* m); #endif diff --git a/src/bindings/bnd_curveproxy.cpp b/src/bindings/bnd_curveproxy.cpp index 29578f54..2e8a7d75 100644 --- a/src/bindings/bnd_curveproxy.cpp +++ b/src/bindings/bnd_curveproxy.cpp @@ -14,18 +14,14 @@ void BND_CurveProxy::SetTrackedPointer(ON_CurveProxy* curveproxy, const ON_Model ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initCurveProxyBindings(py::module_& m){} -#else -namespace py = pybind11; -void initCurveProxyBindings(py::module& m) + +void initCurveProxyBindings(rh3dmpymodule& m) { py::class_(m, "CurveProxy") .def_property_readonly("ProxyCurveIsReversed", &BND_CurveProxy::ProxyCurveIsReversed) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_curveproxy.h b/src/bindings/bnd_curveproxy.h index fadbe8fb..6b51c1d5 100644 --- a/src/bindings/bnd_curveproxy.h +++ b/src/bindings/bnd_curveproxy.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initCurveProxyBindings(py::module_& m); -#else -namespace py = pybind11; -void initCurveProxyBindings(py::module& m); -#endif - +void initCurveProxyBindings(rh3dmpymodule& m); #else void initCurveProxyBindings(void* m); #endif diff --git a/src/bindings/bnd_cylinder.cpp b/src/bindings/bnd_cylinder.cpp index 16238d4e..3849214d 100644 --- a/src/bindings/bnd_cylinder.cpp +++ b/src/bindings/bnd_cylinder.cpp @@ -42,12 +42,8 @@ BND_NurbsSurface* BND_Cylinder::ToNurbsSurface() const #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initCylinderBindings(py::module_& m){} -#else -namespace py = pybind11; -void initCylinderBindings(py::module& m) + +void initCylinderBindings(rh3dmpymodule& m) { py::class_(m, "Cylinder") .def(py::init(), py::arg("baseCircle")) @@ -66,7 +62,6 @@ void initCylinderBindings(py::module& m) ; } #endif -#endif #if defined(ON_WASM_COMPILE) using namespace emscripten; diff --git a/src/bindings/bnd_cylinder.h b/src/bindings/bnd_cylinder.h index 9a64e00f..e8ff63e6 100644 --- a/src/bindings/bnd_cylinder.h +++ b/src/bindings/bnd_cylinder.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initCylinderBindings(py::module_& m); -#else -namespace py = pybind11; -void initCylinderBindings(py::module& m); -#endif - +void initCylinderBindings(rh3dmpymodule& m); #else void initCylinderBindings(void* m); #endif diff --git a/src/bindings/bnd_decals.cpp b/src/bindings/bnd_decals.cpp index 28bf96e2..55b42e9c 100644 --- a/src/bindings/bnd_decals.cpp +++ b/src/bindings/bnd_decals.cpp @@ -279,12 +279,8 @@ BND_File3dmDecal* BND_File3dmDecalTable::IterIndex(int index) ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initDecalBindings(py::module_& m){} -#else -namespace py = pybind11; -void initDecalBindings(py::module& m) + +void initDecalBindings(rh3dmpymodule& m) { py::enum_(m, "Mappings") .value("None", Mappings::None) @@ -324,7 +320,7 @@ void initDecalBindings(py::module& m) .def_property("BoundsMaxV", &BND_File3dmDecal::BoundsMaxV, &BND_File3dmDecal::SetBoundsMaxV) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_decals.h b/src/bindings/bnd_decals.h index a2f05779..8bfb9dee 100644 --- a/src/bindings/bnd_decals.h +++ b/src/bindings/bnd_decals.h @@ -20,14 +20,7 @@ enum class Projections : int }; #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initDecalBindings(py::module_& m); -#else -namespace py = pybind11; -void initDecalBindings(py::module& m); -#endif - +void initDecalBindings(rh3dmpymodule& m); #else void initDecalBindings(void* m); #endif diff --git a/src/bindings/bnd_defines.cpp b/src/bindings/bnd_defines.cpp index 11afb61f..29926851 100644 --- a/src/bindings/bnd_defines.cpp +++ b/src/bindings/bnd_defines.cpp @@ -29,12 +29,8 @@ static std::vector ArrowPoints(ON_Arrowhead::arrow_type arrowType, d } #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initDefines(py::module_& m){} -#else -namespace py = pybind11; -void initDefines(py::module& m) + +void initDefines(rh3dmpymodule& m) { py::enum_(m, "ComponentIndexType") .value("InvalidType", ON_COMPONENT_INDEX::TYPE::invalid_type) @@ -349,9 +345,9 @@ py::dict PlaneToDict(const ON_Plane& plane) ON_3dPoint PointFromDict(py::dict& dict) { ON_3dVector rc; - rc.x = dict["X"].cast(); - rc.y = dict["Y"].cast(); - rc.z = dict["Z"].cast(); + rc.x = py::cast(dict["X"]); + rc.y = py::cast(dict["Y"]); + rc.z = py::cast(dict["Z"]); return rc; } ON_3dVector VectorFromDict(py::dict& dict) @@ -362,18 +358,18 @@ ON_3dVector VectorFromDict(py::dict& dict) ON_Plane PlaneFromDict(py::dict& dict) { ON_Plane plane; - py::dict d = dict["Origin"].cast(); + py::dict d = dict["Origin"]; plane.origin = PointFromDict(d); - d = dict["XAxis"].cast(); + d = dict["XAxis"]; plane.xaxis = VectorFromDict(d); - d = dict["YAxis"].cast(); + d = dict["YAxis"]; plane.yaxis = VectorFromDict(d); - d = dict["ZAxis"].cast(); + d = dict["ZAxis"]; plane.zaxis = VectorFromDict(d); plane.UpdateEquation(); return plane; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_defines.h b/src/bindings/bnd_defines.h index cd07cb1b..a6c84ee8 100644 --- a/src/bindings/bnd_defines.h +++ b/src/bindings/bnd_defines.h @@ -7,13 +7,10 @@ #if defined(NANOBIND) namespace py = nanobind; -void initDefines(py::module_& m); #else namespace py = pybind11; -void initDefines(py::module& m); #endif - - +void initDefines(rh3dmpymodule& m); py::dict PointToDict(const ON_3dPoint& point); py::dict VectorToDict(const ON_3dVector& vector); diff --git a/src/bindings/bnd_dimensionstyle.cpp b/src/bindings/bnd_dimensionstyle.cpp index de25b42d..8590edd2 100644 --- a/src/bindings/bnd_dimensionstyle.cpp +++ b/src/bindings/bnd_dimensionstyle.cpp @@ -45,12 +45,8 @@ ON_Arrowhead::arrow_type BND_DimensionStyle::LeaderArrowType() const #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initDimensionStyleBindings(py::module_& m){} -#else -namespace py = pybind11; -void initDimensionStyleBindings(py::module& m) + +void initDimensionStyleBindings(rh3dmpymodule& m) { py::class_ pyDimStyle(m, "DimensionStyle"); @@ -211,7 +207,7 @@ void initDimensionStyleBindings(py::module& m) .value("AlternateDimensionLengthDisplay", ON_DimStyle::field::AlternateDimensionLengthDisplay) ; } -#endif + #endif diff --git a/src/bindings/bnd_dimensionstyle.h b/src/bindings/bnd_dimensionstyle.h index dbfc7382..604e2fe6 100644 --- a/src/bindings/bnd_dimensionstyle.h +++ b/src/bindings/bnd_dimensionstyle.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initDimensionStyleBindings(py::module_& m); -#else -namespace py = pybind11; -void initDimensionStyleBindings(py::module& m); -#endif - +void initDimensionStyleBindings(rh3dmpymodule& m); #else void initDimensionStyleBindings(void* m); #endif diff --git a/src/bindings/bnd_dithering.cpp b/src/bindings/bnd_dithering.cpp index cc8465c7..02a6e532 100644 --- a/src/bindings/bnd_dithering.cpp +++ b/src/bindings/bnd_dithering.cpp @@ -33,12 +33,8 @@ BND_File3dmDithering::BND_File3dmDithering(ON_Dithering* dit) } #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initDitheringBindings(py::module_& m){} -#else -namespace py = pybind11; -void initDitheringBindings(py::module& m) + +void initDitheringBindings(rh3dmpymodule& m) { py::class_(m, "Dithering") .def(py::init<>()) @@ -47,7 +43,7 @@ void initDitheringBindings(py::module& m) .def_property("Method", &BND_File3dmDithering::GetMethod, &BND_File3dmDithering::SetMethod) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_dithering.h b/src/bindings/bnd_dithering.h index bfda2836..87b8fa80 100644 --- a/src/bindings/bnd_dithering.h +++ b/src/bindings/bnd_dithering.h @@ -4,14 +4,7 @@ #include "bindings.h" #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initDitheringBindings(py::module_& m); -#else -namespace py = pybind11; -void initDitheringBindings(py::module& m); -#endif - +void initDitheringBindings(rh3dmpymodule& m); #else void initDitheringBindings(void* m); #endif diff --git a/src/bindings/bnd_draco.cpp b/src/bindings/bnd_draco.cpp index 4bb61e62..2dd87d34 100644 --- a/src/bindings/bnd_draco.cpp +++ b/src/bindings/bnd_draco.cpp @@ -401,12 +401,8 @@ std::string BND_Draco::ToBase64String() const #endif #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initDracoBindings(py::module_& m){} -#else -namespace py = pybind11; -void initDracoBindings(py::module& m) + +void initDracoBindings(rh3dmpymodule& m) { #if defined(ON_INCLUDE_DRACO) py::class_(m, "DracoCompressionOptions") @@ -424,16 +420,18 @@ void initDracoBindings(py::module& m) .def_static("Compress", &BND_Draco::CompressMesh, py::arg("mesh")) .def_static("Compress", &BND_Draco::CompressMesh2, py::arg("mesh"), py::arg("options")) .def("Write", &BND_Draco::WriteToFile) +#if !defined(NANOBIND) .def_static("DecompressByteArray", [](py::buffer b) { py::buffer_info info = b.request(); return BND_Draco::DecompressByteArray(static_cast(info.size), (const char*)info.ptr); }) +#endif .def_static("DecompressBase64String", &BND_Draco::DecompressBase64, py::arg("encoded")) .def("ToBase64String", &BND_Draco::ToBase64String) ; #endif } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_draco.h b/src/bindings/bnd_draco.h index 6acc5e0e..56eb3bbd 100644 --- a/src/bindings/bnd_draco.h +++ b/src/bindings/bnd_draco.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initDracoBindings(py::module_& m); -#else -namespace py = pybind11; -void initDracoBindings(py::module& m); -#endif - +void initDracoBindings(rh3dmpymodule& m); #else void initDracoBindings(void* m); #endif diff --git a/src/bindings/bnd_ellipse.cpp b/src/bindings/bnd_ellipse.cpp index e498a94c..42af8e4a 100644 --- a/src/bindings/bnd_ellipse.cpp +++ b/src/bindings/bnd_ellipse.cpp @@ -2,17 +2,13 @@ #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initEllipseBindings(py::module_& m){} -#else -namespace py = pybind11; -void initEllipseBindings(py::module& m) + +void initEllipseBindings(rh3dmpymodule& m) { py::class_(m, "Ellipse") ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_ellipse.h b/src/bindings/bnd_ellipse.h index d605806e..95c36bfa 100644 --- a/src/bindings/bnd_ellipse.h +++ b/src/bindings/bnd_ellipse.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initEllipseBindings(py::module_& m); -#else -namespace py = pybind11; -void initEllipseBindings(py::module& m); -#endif - +void initEllipseBindings(rh3dmpymodule& m); #else void initEllipseBindings(void* m); #endif diff --git a/src/bindings/bnd_embedded_file.cpp b/src/bindings/bnd_embedded_file.cpp index fa0d24b5..16432a38 100644 --- a/src/bindings/bnd_embedded_file.cpp +++ b/src/bindings/bnd_embedded_file.cpp @@ -111,12 +111,8 @@ BND_File3dmEmbeddedFile* BND_File3dmEmbeddedFileTable::FindId(BND_UUID id) ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initEmbeddedFileBindings(py::module_& m){} -#else -namespace py = pybind11; -void initEmbeddedFileBindings(py::module& m) + +void initEmbeddedFileBindings(rh3dmpymodule& m) { py::class_(m, "EmbeddedFile") .def(py::init<>()) @@ -128,7 +124,7 @@ void initEmbeddedFileBindings(py::module& m) .def("Clear", &BND_File3dmEmbeddedFile::Clear) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_embedded_file.h b/src/bindings/bnd_embedded_file.h index 7c50b603..f360b98d 100644 --- a/src/bindings/bnd_embedded_file.h +++ b/src/bindings/bnd_embedded_file.h @@ -4,14 +4,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initEmbeddedFileBindings(py::module_& m); -#else -namespace py = pybind11; -void initEmbeddedFileBindings(py::module& m); -#endif - +void initEmbeddedFileBindings(rh3dmpymodule& m); #else void initEmbeddedFileBindings(void* m); #endif diff --git a/src/bindings/bnd_extensions.h b/src/bindings/bnd_extensions.h index 0ea7ae22..f672df68 100644 --- a/src/bindings/bnd_extensions.h +++ b/src/bindings/bnd_extensions.h @@ -4,14 +4,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initExtensionsBindings(py::module_& m); -#else -namespace py = pybind11; -void initExtensionsBindings(py::module& m); -#endif - +void initExtensionsBindings(rh3dmpymodule& m); #else void initExtensionsBindings(void* m); #endif diff --git a/src/bindings/bnd_file_utilities.h b/src/bindings/bnd_file_utilities.h index 4aed0879..dd6fbe78 100644 --- a/src/bindings/bnd_file_utilities.h +++ b/src/bindings/bnd_file_utilities.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initFileUtilitiesBindings(py::module_& m); -#else -namespace py = pybind11; -void initFileUtilitiesBindings(py::module& m); -#endif - +void initFileUtilitiesBindings(rh3dmpymodule& m); #else void initFileUtilitiesBindings(void* m); #endif diff --git a/src/bindings/bnd_font.cpp b/src/bindings/bnd_font.cpp index ba20850e..28037c5d 100644 --- a/src/bindings/bnd_font.cpp +++ b/src/bindings/bnd_font.cpp @@ -21,12 +21,8 @@ BND_Font::BND_Font(std::wstring familyName) ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initFontBindings(py::module_& m){} -#else -namespace py = pybind11; -void initFontBindings(py::module& m) + +void initFontBindings(rh3dmpymodule& m) { py::class_(m, "Font") .def(py::init(), py::arg("familyName")) @@ -46,7 +42,7 @@ void initFontBindings(py::module& m) .def_property_readonly("FamilyName", &BND_Font::FamilyName) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_font.h b/src/bindings/bnd_font.h index 527c21e1..eab1525f 100644 --- a/src/bindings/bnd_font.h +++ b/src/bindings/bnd_font.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initFontBindings(py::module_& m); -#else -namespace py = pybind11; -void initFontBindings(py::module& m); -#endif - +void initFontBindings(rh3dmpymodule& m); #else void initFontBindings(void* m); #endif diff --git a/src/bindings/bnd_geometry.cpp b/src/bindings/bnd_geometry.cpp index 1c27a13d..89270371 100644 --- a/src/bindings/bnd_geometry.cpp +++ b/src/bindings/bnd_geometry.cpp @@ -33,12 +33,8 @@ bool BND_GeometryBase::Rotate(double rotation_angle, const ON_3dVector& rotation #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initGeometryBindings(py::module_& m){} -#else -namespace py = pybind11; -void initGeometryBindings(py::module& m) + +void initGeometryBindings(rh3dmpymodule& m) { py::class_(m, "GeometryBase") .def_property_readonly("ObjectType", &BND_GeometryBase::ObjectType) @@ -53,7 +49,7 @@ void initGeometryBindings(py::module& m) .def("Duplicate", &BND_GeometryBase::Duplicate) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_geometry.h b/src/bindings/bnd_geometry.h index 74da2888..6d7ce104 100644 --- a/src/bindings/bnd_geometry.h +++ b/src/bindings/bnd_geometry.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initGeometryBindings(py::module_& m); -#else -namespace py = pybind11; -void initGeometryBindings(py::module& m); -#endif - +void initGeometryBindings(rh3dmpymodule& m); #else void initGeometryBindings(void* m); #endif diff --git a/src/bindings/bnd_ground_plane.cpp b/src/bindings/bnd_ground_plane.cpp index a8ad6421..b5a1e4d5 100644 --- a/src/bindings/bnd_ground_plane.cpp +++ b/src/bindings/bnd_ground_plane.cpp @@ -42,12 +42,8 @@ BND_File3dmGroundPlane::BND_File3dmGroundPlane(ON_GroundPlane* gp) } #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initGroundPlaneBindings(py::module_& m){} -#else -namespace py = pybind11; -void initGroundPlaneBindings(py::module& m) + +void initGroundPlaneBindings(rh3dmpymodule& m) { py::class_(m, "GroundPlane") .def(py::init<>()) @@ -65,7 +61,7 @@ void initGroundPlaneBindings(py::module& m) .def_property("TextureRotation", &BND_File3dmGroundPlane::GetTextureRotation, &BND_File3dmGroundPlane::SetTextureRotation) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_ground_plane.h b/src/bindings/bnd_ground_plane.h index d603cadc..36e5c422 100644 --- a/src/bindings/bnd_ground_plane.h +++ b/src/bindings/bnd_ground_plane.h @@ -4,14 +4,7 @@ #include "bindings.h" #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initGroundPlaneBindings(py::module_& m); -#else -namespace py = pybind11; -void initGroundPlaneBindings(py::module& m); -#endif - +void initGroundPlaneBindings(rh3dmpymodule& m); #else void initGroundPlaneBindings(void* m); #endif diff --git a/src/bindings/bnd_group.cpp b/src/bindings/bnd_group.cpp index dc39b0f7..b5e0f960 100644 --- a/src/bindings/bnd_group.cpp +++ b/src/bindings/bnd_group.cpp @@ -20,12 +20,8 @@ void BND_Group::SetTrackedPointer(ON_Group* group, const ON_ModelComponentRefere #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initGroupBindings(py::module_& m){} -#else -namespace py = pybind11; -void initGroupBindings(py::module& m) + +void initGroupBindings(rh3dmpymodule& m) { py::class_(m, "Group") .def(py::init<>()) @@ -34,7 +30,7 @@ void initGroupBindings(py::module& m) .def_property_readonly("Index", &BND_Group::GetIndex) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_group.h b/src/bindings/bnd_group.h index 2edae193..d60fa023 100644 --- a/src/bindings/bnd_group.h +++ b/src/bindings/bnd_group.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initGroupBindings(py::module_& m); -#else -namespace py = pybind11; -void initGroupBindings(py::module& m); -#endif - +void initGroupBindings(rh3dmpymodule& m); #else void initGroupBindings(void* m); #endif diff --git a/src/bindings/bnd_hatch.cpp b/src/bindings/bnd_hatch.cpp index 146fcbdd..0b0b6aa3 100644 --- a/src/bindings/bnd_hatch.cpp +++ b/src/bindings/bnd_hatch.cpp @@ -19,12 +19,8 @@ void BND_Hatch::SetTrackedPointer(ON_Hatch* hatch, const ON_ModelComponentRefere ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initHatchBindings(py::module_& m){} -#else -namespace py = pybind11; -void initHatchBindings(py::module& m) + +void initHatchBindings(rh3dmpymodule& m) { py::class_(m, "Hatch") .def(py::init<>()) @@ -36,7 +32,7 @@ void initHatchBindings(py::module& m) .def("ScalePattern", &BND_Hatch::ScalePattern, py::arg("xform")) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_hatch.h b/src/bindings/bnd_hatch.h index 934588c1..033cda0b 100644 --- a/src/bindings/bnd_hatch.h +++ b/src/bindings/bnd_hatch.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initHatchBindings(py::module_& m); -#else -namespace py = pybind11; -void initHatchBindings(py::module& m); -#endif - +void initHatchBindings(rh3dmpymodule& m); #else void initHatchBindings(void* m); #endif diff --git a/src/bindings/bnd_instance.cpp b/src/bindings/bnd_instance.cpp index f0455894..e3cdac88 100644 --- a/src/bindings/bnd_instance.cpp +++ b/src/bindings/bnd_instance.cpp @@ -76,12 +76,8 @@ BND_Transform BND_InstanceReferenceGeometry::Xform() const ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initInstanceBindings(py::module_& m){} -#else -namespace py = pybind11; -void initInstanceBindings(py::module& m) + +void initInstanceBindings(rh3dmpymodule& m) { py::enum_(m, "InstanceDefinitionUpdateType") .value("Static", InstanceDefinitionUpdateType::Static) @@ -107,7 +103,7 @@ void initInstanceBindings(py::module& m) .def_property_readonly("Xform", &BND_InstanceReferenceGeometry::Xform) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_instance.h b/src/bindings/bnd_instance.h index 95330290..de4b0365 100644 --- a/src/bindings/bnd_instance.h +++ b/src/bindings/bnd_instance.h @@ -11,14 +11,7 @@ enum class InstanceDefinitionUpdateType : int }; #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initInstanceBindings(py::module_& m); -#else -namespace py = pybind11; -void initInstanceBindings(py::module& m); -#endif - +void initInstanceBindings(rh3dmpymodule& m); #else void initInstanceBindings(void* m); #endif diff --git a/src/bindings/bnd_intersect.h b/src/bindings/bnd_intersect.h index 2473ed1a..37eb5966 100644 --- a/src/bindings/bnd_intersect.h +++ b/src/bindings/bnd_intersect.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initIntersectBindings(py::module_& m); -#else -namespace py = pybind11; -void initIntersectBindings(py::module& m); -#endif - +void initIntersectBindings(rh3dmpymodule& m); #else void initIntersectBindings(void* m); #endif diff --git a/src/bindings/bnd_layer.cpp b/src/bindings/bnd_layer.cpp index 869f45b6..3a2a6f1d 100644 --- a/src/bindings/bnd_layer.cpp +++ b/src/bindings/bnd_layer.cpp @@ -100,12 +100,8 @@ void BND_Layer::SetPlotColor(const BND_Color& color) #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initLayerBindings(py::module_& m){} -#else -namespace py = pybind11; -void initLayerBindings(py::module& m) + +void initLayerBindings(rh3dmpymodule& m) { py::class_(m, "Layer") .def(py::init<>()) @@ -137,7 +133,7 @@ void initLayerBindings(py::module& m) .def_property("Expanded", &BND_Layer::IsExpanded, &BND_Layer::SetExpanded) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_layer.h b/src/bindings/bnd_layer.h index df363084..2235222f 100644 --- a/src/bindings/bnd_layer.h +++ b/src/bindings/bnd_layer.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initLayerBindings(py::module_& m); -#else -namespace py = pybind11; -void initLayerBindings(py::module& m); -#endif - +void initLayerBindings(rh3dmpymodule& m); #else void initLayerBindings(void* m); #endif diff --git a/src/bindings/bnd_light.cpp b/src/bindings/bnd_light.cpp index 77f6cdaf..55917972 100644 --- a/src/bindings/bnd_light.cpp +++ b/src/bindings/bnd_light.cpp @@ -32,12 +32,8 @@ BND_TUPLE BND_Light::GetSpotLightRadii() const #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initLightBindings(py::module_& m){} -#else -namespace py = pybind11; -void initLightBindings(py::module& m) + +void initLightBindings(rh3dmpymodule& m) { py::class_(m, "Light") .def(py::init<>()) @@ -71,7 +67,7 @@ void initLightBindings(py::module& m) .def_property("Name", &BND_Light::GetName, &BND_Light::SetName) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_light.h b/src/bindings/bnd_light.h index 3e01f683..e0366109 100644 --- a/src/bindings/bnd_light.h +++ b/src/bindings/bnd_light.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initLightBindings(py::module_& m); -#else -namespace py = pybind11; -void initLightBindings(py::module& m); -#endif - +void initLightBindings(rh3dmpymodule& m); #else void initLightBindings(void* m); #endif diff --git a/src/bindings/bnd_linear_workflow.cpp b/src/bindings/bnd_linear_workflow.cpp index 19f21c52..6f680d48 100644 --- a/src/bindings/bnd_linear_workflow.cpp +++ b/src/bindings/bnd_linear_workflow.cpp @@ -32,12 +32,8 @@ BND_File3dmLinearWorkflow::BND_File3dmLinearWorkflow(ON_LinearWorkflow* lw) } #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initLinearWorkflowBindings(py::module_& m){} -#else -namespace py = pybind11; -void initLinearWorkflowBindings(py::module& m) + +void initLinearWorkflowBindings(rh3dmpymodule& m) { py::class_(m, "LinearWorkflow") .def(py::init<>()) @@ -50,7 +46,7 @@ void initLinearWorkflowBindings(py::module& m) .def_property("PostProcessGammaOn", &BND_File3dmLinearWorkflow::GetPostProcessGammaOn, &BND_File3dmLinearWorkflow::SetPostProcessGammaOn) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_linear_workflow.h b/src/bindings/bnd_linear_workflow.h index 8a021fcd..58352bf5 100644 --- a/src/bindings/bnd_linear_workflow.h +++ b/src/bindings/bnd_linear_workflow.h @@ -4,14 +4,7 @@ #include "bindings.h" #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initLinearWorkflowBindings(py::module_& m); -#else -namespace py = pybind11; -void initLinearWorkflowBindings(py::module& m); -#endif - +void initLinearWorkflowBindings(rh3dmpymodule& m); #else void initLinearWorkflowBindings(void* m); #endif diff --git a/src/bindings/bnd_linecurve.cpp b/src/bindings/bnd_linecurve.cpp index 1f411b83..7252ec88 100644 --- a/src/bindings/bnd_linecurve.cpp +++ b/src/bindings/bnd_linecurve.cpp @@ -24,19 +24,15 @@ void BND_LineCurve::SetTrackedPointer(ON_LineCurve* linecurve, const ON_ModelCom #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initLineCurveBindings(py::module_& m){} -#else -namespace py = pybind11; -void initLineCurveBindings(py::module& m) + +void initLineCurveBindings(rh3dmpymodule& m) { py::class_(m, "LineCurve") .def(py::init(), py::arg("start"), py::arg("end")) .def_property("Line", &BND_LineCurve::GetLine, &BND_LineCurve::SetLine) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_linecurve.h b/src/bindings/bnd_linecurve.h index d1d93ac0..1c920d5f 100644 --- a/src/bindings/bnd_linecurve.h +++ b/src/bindings/bnd_linecurve.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initLineCurveBindings(py::module_& m); -#else -namespace py = pybind11; -void initLineCurveBindings(py::module& m); -#endif - +void initLineCurveBindings(rh3dmpymodule& m); #else void initLineCurveBindings(void* m); #endif diff --git a/src/bindings/bnd_linetype.cpp b/src/bindings/bnd_linetype.cpp index 5539bf5c..d562c6be 100644 --- a/src/bindings/bnd_linetype.cpp +++ b/src/bindings/bnd_linetype.cpp @@ -52,12 +52,8 @@ int BND_Linetype::AppendSegment(double length, bool isSolid) #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initLinetypeBindings(py::module_& m){} -#else -namespace py = pybind11; -void initLinetypeBindings(py::module& m) + +void initLinetypeBindings(rh3dmpymodule& m) { py::class_(m, "Linetype") .def(py::init<>()) @@ -81,7 +77,7 @@ void initLinetypeBindings(py::module& m) .def_property_readonly_static("Hidden", &BND_Linetype::Hidden) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_linetype.h b/src/bindings/bnd_linetype.h index 20710ac3..c4653b55 100644 --- a/src/bindings/bnd_linetype.h +++ b/src/bindings/bnd_linetype.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initLinetypeBindings(py::module_& m); -#else -namespace py = pybind11; -void initLinetypeBindings(py::module& m); -#endif - +void initLinetypeBindings(rh3dmpymodule& m); #else void initLinetypeBindings(void* m); #endif diff --git a/src/bindings/bnd_material.cpp b/src/bindings/bnd_material.cpp index 328a30a7..d11fbd0d 100644 --- a/src/bindings/bnd_material.cpp +++ b/src/bindings/bnd_material.cpp @@ -133,12 +133,8 @@ bool BND_PhysicallyBasedMaterial::Supported() const ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initMaterialBindings(py::module_& m){} -#else -namespace py = pybind11; -void initMaterialBindings(py::module& m) + +void initMaterialBindings(rh3dmpymodule& m) { py::class_(m, "PhysicallyBasedMaterial") .def_property_readonly("Supported", &BND_PhysicallyBasedMaterial::Supported) @@ -204,7 +200,7 @@ void initMaterialBindings(py::module& m) .def("ToPhysicallyBased", &BND_Material::ToPhysicallyBased) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_material.h b/src/bindings/bnd_material.h index fb75d771..739d9f9f 100644 --- a/src/bindings/bnd_material.h +++ b/src/bindings/bnd_material.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initMaterialBindings(py::module_& m); -#else -namespace py = pybind11; -void initMaterialBindings(py::module& m); -#endif - +void initMaterialBindings(rh3dmpymodule& m); #else void initMaterialBindings(void* m); #endif diff --git a/src/bindings/bnd_mesh.cpp b/src/bindings/bnd_mesh.cpp index 78711ed4..5b4075da 100644 --- a/src/bindings/bnd_mesh.cpp +++ b/src/bindings/bnd_mesh.cpp @@ -956,12 +956,8 @@ void BND_Mesh::SetCachedTextureCoordinates(class BND_TextureMapping* tm, class B #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initMeshBindings(py::module_& m){} -#else -namespace py = pybind11; -void initMeshBindings(py::module& m) + +void initMeshBindings(rh3dmpymodule& m) { py::class_(m, "MeshingParameters") .def(py::init<>()) @@ -1103,7 +1099,7 @@ void initMeshBindings(py::module& m) .def_property_readonly("PartitionCount", &BND_Mesh::PartitionCount) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_mesh.h b/src/bindings/bnd_mesh.h index ad392182..574b4ccd 100644 --- a/src/bindings/bnd_mesh.h +++ b/src/bindings/bnd_mesh.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initMeshBindings(py::module_& m); -#else -namespace py = pybind11; -void initMeshBindings(py::module& m); -#endif - +void initMeshBindings(rh3dmpymodule& m); #else void initMeshBindings(void* m); #endif diff --git a/src/bindings/bnd_mesh_modifiers.cpp b/src/bindings/bnd_mesh_modifiers.cpp index 365e0d3a..8ce424da 100644 --- a/src/bindings/bnd_mesh_modifiers.cpp +++ b/src/bindings/bnd_mesh_modifiers.cpp @@ -188,12 +188,8 @@ BND_File3dmMeshModifiers::BND_File3dmMeshModifiers(const BND_File3dmMeshModifier ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initMeshModifierBindings(py::module_& m){} -#else -namespace py = pybind11; -void initMeshModifierBindings(py::module& m) + +void initMeshModifierBindings(rh3dmpymodule& m) { py::class_(m, "Displacement") .def(py::init<>()) @@ -269,7 +265,7 @@ void initMeshModifierBindings(py::module& m) .def("DeleteAllCurves", &BND_File3dmShutLining::DeleteAllCurves) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_mesh_modifiers.h b/src/bindings/bnd_mesh_modifiers.h index a9ebaa6d..42b93264 100644 --- a/src/bindings/bnd_mesh_modifiers.h +++ b/src/bindings/bnd_mesh_modifiers.h @@ -4,14 +4,7 @@ #include "bindings.h" #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initMeshModifierBindings(py::module_& m); -#else -namespace py = pybind11; -void initMeshModifierBindings(py::module& m); -#endif - +void initMeshModifierBindings(rh3dmpymodule& m); #else void initMeshModifierBindings(void* m); #endif diff --git a/src/bindings/bnd_model_component.cpp b/src/bindings/bnd_model_component.cpp index 4318f078..af94b8cd 100644 --- a/src/bindings/bnd_model_component.cpp +++ b/src/bindings/bnd_model_component.cpp @@ -22,12 +22,8 @@ void BND_ModelComponent::SetId(BND_UUID id) ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initModelComponentBindings(py::module_& m){} -#else -namespace py = pybind11; -void initModelComponentBindings(py::module& m) + +void initModelComponentBindings(rh3dmpymodule& m) { py::class_(m, "ModelComponent") .def("DataCRC", &BND_ModelComponent::DataCRC, py::arg("currentRemainder")) @@ -36,7 +32,7 @@ void initModelComponentBindings(py::module& m) .def("ClearId", &BND_ModelComponent::ClearId) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_model_component.h b/src/bindings/bnd_model_component.h index e5f36dfd..bf6d327b 100644 --- a/src/bindings/bnd_model_component.h +++ b/src/bindings/bnd_model_component.h @@ -43,14 +43,7 @@ class BND_ModelComponent : public BND_CommonObject #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initModelComponentBindings(py::module_& m); -#else -namespace py = pybind11; -void initModelComponentBindings(py::module& m); -#endif - +void initModelComponentBindings(rh3dmpymodule& m); #else void initModelComponentBindings(void* m); #endif diff --git a/src/bindings/bnd_nurbscurve.cpp b/src/bindings/bnd_nurbscurve.cpp index d6370811..0dfa7d8e 100644 --- a/src/bindings/bnd_nurbscurve.cpp +++ b/src/bindings/bnd_nurbscurve.cpp @@ -222,18 +222,15 @@ BND_BezierCurve* BND_NurbsCurve::ConvertSpanToBezier(int index) const /////////////////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initNurbsCurveBindings(py::module_& m){} -#else -namespace py = pybind11; -void initNurbsCurveBindings(py::module& m) + +void initNurbsCurveBindings(rh3dmpymodule& m) { - py::class_(m, "NurbsCurveKnotList", py::buffer_protocol()) + py::class_(m, "NurbsCurveKnotList" /* , py::buffer_protocol()*/) .def("__len__", &BND_NurbsCurveKnotList::Count) .def("__getitem__", &BND_NurbsCurveKnotList::GetKnot) .def("__setitem__", &BND_NurbsCurveKnotList::SetKnot) .def("ToList", &BND_NurbsCurveKnotList::ToList) +#if !defined(NANOBIND) .def_buffer([](BND_NurbsCurveKnotList& kl) -> py::buffer_info { return py::buffer_info @@ -246,6 +243,7 @@ void initNurbsCurveBindings(py::module& m) {sizeof(double)} /* Strides (in bytes) for each index */ ); }) +#endif .def("InsertKnot", &BND_NurbsCurveKnotList::InsertKnot, py::arg("value"), py::arg("multiplicity")) .def("KnotMultiplicity", &BND_NurbsCurveKnotList::KnotMultiplicity, py::arg("index")) .def("CreateUniformKnots", &BND_NurbsCurveKnotList::CreateUniformKnots, py::arg("knotSpacing")) @@ -256,10 +254,11 @@ void initNurbsCurveBindings(py::module& m) ; ; - py::class_(m, "NurbsCurvePointList", py::buffer_protocol()) + py::class_(m, "NurbsCurvePointList"/*, py::buffer_protocol()*/) .def("__len__", &BND_NurbsCurvePointList::Count) .def("__getitem__", &BND_NurbsCurvePointList::GetControlPoint) .def("__setitem__", &BND_NurbsCurvePointList::SetControlPoint) +#if !defined(NANOBIND) .def_buffer([](BND_NurbsCurvePointList& pl) -> py::buffer_info { return py::buffer_info @@ -272,6 +271,7 @@ void initNurbsCurveBindings(py::module& m) {pl.GetCurve()->m_cv_stride * sizeof(double), sizeof(double)} /* Strides (in bytes) for each index */ ); }) +#endif .def_property_readonly("ControlPolygonLength", &BND_NurbsCurvePointList::ControlPolygonLength) .def("ChangeEndWeights", &BND_NurbsCurvePointList::ChangeEndWeights, py::arg("w0"), py::arg("w1")) .def("MakeRational", &BND_NurbsCurvePointList::MakeRational) @@ -300,7 +300,7 @@ void initNurbsCurveBindings(py::module& m) .def_property_readonly("Knots", &BND_NurbsCurve::Knots) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_nurbscurve.h b/src/bindings/bnd_nurbscurve.h index 6abb4d58..33974c43 100644 --- a/src/bindings/bnd_nurbscurve.h +++ b/src/bindings/bnd_nurbscurve.h @@ -4,14 +4,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initNurbsCurveBindings(py::module_& m); -#else -namespace py = pybind11; -void initNurbsCurveBindings(py::module& m); -#endif - +void initNurbsCurveBindings(rh3dmpymodule& m); #else void initNurbsCurveBindings(void* m); #endif diff --git a/src/bindings/bnd_nurbssurface.cpp b/src/bindings/bnd_nurbssurface.cpp index 1daba63a..80600ffa 100644 --- a/src/bindings/bnd_nurbssurface.cpp +++ b/src/bindings/bnd_nurbssurface.cpp @@ -197,18 +197,15 @@ BND_NurbsSurfacePointList BND_NurbsSurface::Points() #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initNurbsSurfaceBindings(py::module_& m){} -#else -namespace py = pybind11; -void initNurbsSurfaceBindings(py::module& m) + +void initNurbsSurfaceBindings(rh3dmpymodule& m) { - py::class_(m, "NurbsSurfaceKnotList", py::buffer_protocol()) + py::class_(m, "NurbsSurfaceKnotList" /* , py::buffer_protocol() */) .def("__len__", &BND_NurbsSurfaceKnotList::Count) .def("__getitem__", &BND_NurbsSurfaceKnotList::GetKnot) .def("__setitem__", &BND_NurbsSurfaceKnotList::SetKnot) .def("ToList", &BND_NurbsSurfaceKnotList::ToList) +#if !defined(NANOBIND) .def_buffer([](BND_NurbsSurfaceKnotList& kl) -> py::buffer_info { return py::buffer_info @@ -221,6 +218,7 @@ void initNurbsSurfaceBindings(py::module& m) {sizeof(double)} /* Strides (in bytes) for each index */ ); }) +#endif .def("InsertKnot", &BND_NurbsSurfaceKnotList::InsertKnot, py::arg("value"), py::arg("multiplicity")) .def("KnotMultiplicity", &BND_NurbsSurfaceKnotList::KnotMultiplicity, py::arg("index")) .def("CreateUniformKnots", &BND_NurbsSurfaceKnotList::CreateUniformKnots, py::arg("knotSpacing")) @@ -230,7 +228,7 @@ void initNurbsSurfaceBindings(py::module& m) .def("SuperfluousKnot", &BND_NurbsSurfaceKnotList::SuperfluousKnot, py::arg("start")) ; - py::class_(m, "NurbsSurfacePointList", py::buffer_protocol()) + py::class_(m, "NurbsSurfacePointList"/* , py::buffer_protocol() */) .def("__len__", &BND_NurbsSurfacePointList::Count) .def_property_readonly("CountU", &BND_NurbsSurfacePointList::CountU) .def_property_readonly("CountV", &BND_NurbsSurfacePointList::CountV) @@ -238,6 +236,7 @@ void initNurbsSurfaceBindings(py::module& m) .def("GetPoint", &BND_NurbsSurfacePointList::GetPoint, py::arg("u"), py::arg("v") ) .def("GetControlPoint", &BND_NurbsSurfacePointList::GetControlPoint2, py::arg("u"), py::arg("v") ) .def("__setitem__", &BND_NurbsSurfacePointList::SetControlPoint1) +#if !defined(NANOBIND) .def_buffer([](BND_NurbsSurfacePointList& pl) -> py::buffer_info { return py::buffer_info @@ -254,6 +253,7 @@ void initNurbsSurfaceBindings(py::module& m) } /* Strides (in bytes) for each index */ ); }) +#endif .def("MakeRational", &BND_NurbsSurfacePointList::MakeRational) .def("MakeNonRational", &BND_NurbsSurfacePointList::MakeNonRational) ; @@ -275,7 +275,7 @@ void initNurbsSurfaceBindings(py::module& m) .def_property_readonly("Points", &BND_NurbsSurface::Points) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_nurbssurface.h b/src/bindings/bnd_nurbssurface.h index da66d3e0..731455d1 100644 --- a/src/bindings/bnd_nurbssurface.h +++ b/src/bindings/bnd_nurbssurface.h @@ -4,14 +4,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initNurbsSurfaceBindings(py::module_& m); -#else -namespace py = pybind11; -void initNurbsSurfaceBindings(py::module& m); -#endif - +void initNurbsSurfaceBindings(rh3dmpymodule& m); #else void initNurbsSurfaceBindings(void* m); #endif diff --git a/src/bindings/bnd_object.cpp b/src/bindings/bnd_object.cpp index 6de55bea..e6f3ff7b 100644 --- a/src/bindings/bnd_object.cpp +++ b/src/bindings/bnd_object.cpp @@ -930,12 +930,12 @@ BND_DICT BND_ArchivableDictionary::DecodeToDictionary(BND_DICT jsonObject) const unsigned char* c = (const unsigned char*)&decoded.at(0); // Eliminate potential bogus file versions written #if defined(ON_PYTHON_COMPILE) - py::cast_error exception();//("Unable to decode ArchivableDictionary"); + //py::cast_error exception();//("Unable to decode ArchivableDictionary"); if (rhinoversion > 5 && rhinoversion < 50) - throw exception; + throw py::cast_error(); if (length < 1 || nullptr == c) - throw exception; + throw py::cast_error(); #endif ON_Read3dmBufferArchive archive((size_t)length, c, false, rhinoversion, opennurbsversion); @@ -944,9 +944,9 @@ BND_DICT BND_ArchivableDictionary::DecodeToDictionary(BND_DICT jsonObject) ON_wString dictionaryName; #if defined(ON_PYTHON_COMPILE) if (!archive.BeginReadDictionary(&dictionaryId, &dictionaryVersion, dictionaryName)) - throw exception; + throw py::cast_error(); if (dictionaryId != RhinoDotNetDictionaryId()) - throw exception; + throw py::cast_error(); #else archive.BeginReadDictionary(&dictionaryId, &dictionaryVersion, dictionaryName); #endif @@ -958,7 +958,7 @@ BND_DICT BND_ArchivableDictionary::DecodeToDictionary(BND_DICT jsonObject) int read_rc = archive.BeginReadDictionaryEntry(&i_type, entryName); #if defined(ON_PYTHON_COMPILE) if (0 == read_rc) - throw exception; + throw py::cast_error(); #else if (0 == read_rc) break; @@ -1451,7 +1451,7 @@ BND_DICT BND_ArchivableDictionary::DecodeToDictionary(BND_DICT jsonObject) } #if defined(ON_PYTHON_COMPILE) if (!archive.EndReadDictionaryEntry()) - throw exception; + throw py::cast_error();; #else archive.EndReadDictionaryEntry(); #endif @@ -1547,12 +1547,8 @@ BND_TUPLE BND_CommonObject::IsValidWithLog() const } #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initObjectBindings(py::module_& m){} -#else -namespace py = pybind11; -void initObjectBindings(py::module& m) + +void initObjectBindings(rh3dmpymodule& m) { py::class_(m, "CommonObject") .def_property_readonly("IsValid", &BND_CommonObject::IsValid) @@ -1572,7 +1568,7 @@ void initObjectBindings(py::module& m) ////.def_static("WriteGeometry", &BND_ArchivableDictionary::WriteGeometry) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_object.h b/src/bindings/bnd_object.h index a5b2df27..3d4180c1 100644 --- a/src/bindings/bnd_object.h +++ b/src/bindings/bnd_object.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initObjectBindings(py::module_& m); -#else -namespace py = pybind11; -void initObjectBindings(py::module& m); -#endif - +void initObjectBindings(rh3dmpymodule& m); #else void initObjectBindings(void* m); #endif diff --git a/src/bindings/bnd_plane.cpp b/src/bindings/bnd_plane.cpp index 01b1f19f..1440bf46 100644 --- a/src/bindings/bnd_plane.cpp +++ b/src/bindings/bnd_plane.cpp @@ -200,12 +200,8 @@ BND_Plane BND_PlaneHelper::WorldXY() } #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPlaneBindings(py::module_& m){} -#else -namespace py = pybind11; -void initPlaneBindings(py::module& m) + +void initPlaneBindings(rh3dmpymodule& m) { py::class_(m, "Plane") .def_static("WorldXY", &BND_Plane::WorldXY) @@ -228,7 +224,7 @@ void initPlaneBindings(py::module& m) .def_static("Decode", &BND_Plane::Decode, py::arg("jsonObject")) ; } -#endif + #endif diff --git a/src/bindings/bnd_plane.h b/src/bindings/bnd_plane.h index 9a2eb35c..7e05415b 100644 --- a/src/bindings/bnd_plane.h +++ b/src/bindings/bnd_plane.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPlaneBindings(py::module_& m); -#else -namespace py = pybind11; -void initPlaneBindings(py::module& m); -#endif - +void initPlaneBindings(rh3dmpymodule& m); #else void initPlaneBindings(void* m); #endif diff --git a/src/bindings/bnd_planesurface.cpp b/src/bindings/bnd_planesurface.cpp index 3d8874ec..82245a36 100644 --- a/src/bindings/bnd_planesurface.cpp +++ b/src/bindings/bnd_planesurface.cpp @@ -30,19 +30,15 @@ BND_PlaneSurface::BND_PlaneSurface(const BND_Plane& plane, const BND_Interval& x ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPlaneSurfaceBindings(py::module_& m){} -#else -namespace py = pybind11; -void initPlaneSurfaceBindings(py::module& m) + +void initPlaneSurfaceBindings(rh3dmpymodule& m) { py::class_(m, "PlaneSurface") .def(py::init<>()) .def(py::init(), py::arg("plane"), py::arg("xExtents"), py::arg("yExtents")) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_planesurface.h b/src/bindings/bnd_planesurface.h index 6aa96d0d..aaf992fa 100644 --- a/src/bindings/bnd_planesurface.h +++ b/src/bindings/bnd_planesurface.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPlaneSurfaceBindings(py::module_& m); -#else -namespace py = pybind11; -void initPlaneSurfaceBindings(py::module& m); -#endif - +void initPlaneSurfaceBindings(rh3dmpymodule& m); #else void initPlaneSurfaceBindings(void* m); #endif diff --git a/src/bindings/bnd_point.cpp b/src/bindings/bnd_point.cpp index da07271a..035c6440 100644 --- a/src/bindings/bnd_point.cpp +++ b/src/bindings/bnd_point.cpp @@ -312,7 +312,7 @@ static std::string ReprInterval(const BND_Interval& i) return repr.str(); } -void initPointBindings(py::module& m) +void initPointBindings(rh3dmpymodule& m) { py::class_(m, "Point2d") .def(py::init(), py::arg("x"), py::arg("y")) diff --git a/src/bindings/bnd_point.h b/src/bindings/bnd_point.h index 342a62e3..26ef232d 100644 --- a/src/bindings/bnd_point.h +++ b/src/bindings/bnd_point.h @@ -6,14 +6,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPointBindings(py::module_& m); -#else -namespace py = pybind11; -void initPointBindings(py::module& m); -#endif - +void initPointBindings(rh3dmpymodule& m); #else void initPointBindings(void* m); #endif diff --git a/src/bindings/bnd_pointcloud.cpp b/src/bindings/bnd_pointcloud.cpp index 28ed24ee..6c84ee77 100644 --- a/src/bindings/bnd_pointcloud.cpp +++ b/src/bindings/bnd_pointcloud.cpp @@ -808,12 +808,8 @@ BND_DICT BND_PointCloud::ToThreejsJSON() const ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPointCloudBindings(py::module_& m){} -#else -namespace py = pybind11; -void initPointCloudBindings(py::module& m) + +void initPointCloudBindings(rh3dmpymodule& m) { py::class_(m, "PointCloudItem") .def_property("Location", &BND_PointCloudItem::GetLocation, &BND_PointCloudItem::SetLocation) @@ -873,7 +869,7 @@ void initPointCloudBindings(py::module& m) .def("ClosestPoint", &BND_PointCloud::ClosestPoint, py::arg("testPoint")) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_pointcloud.h b/src/bindings/bnd_pointcloud.h index 803648e7..45d91e61 100644 --- a/src/bindings/bnd_pointcloud.h +++ b/src/bindings/bnd_pointcloud.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPointCloudBindings(py::module_& m); -#else -namespace py = pybind11; -void initPointCloudBindings(py::module& m); -#endif - +void initPointCloudBindings(rh3dmpymodule& m); #else void initPointCloudBindings(void* m); #endif diff --git a/src/bindings/bnd_pointgeometry.cpp b/src/bindings/bnd_pointgeometry.cpp index c872e85d..8eb93601 100644 --- a/src/bindings/bnd_pointgeometry.cpp +++ b/src/bindings/bnd_pointgeometry.cpp @@ -25,12 +25,8 @@ void BND_Point::SetTrackedPointer(ON_Point* point, const ON_ModelComponentRefere ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPointGeometryBindings(py::module_& m){} -#else -namespace py = pybind11; -void initPointGeometryBindings(py::module& m) + +void initPointGeometryBindings(rh3dmpymodule& m) { py::class_(m, "Point") .def(py::init<>()) @@ -38,7 +34,7 @@ void initPointGeometryBindings(py::module& m) .def_property("Location", &BND_Point::GetLocation, &BND_Point::SetLocation) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_pointgeometry.h b/src/bindings/bnd_pointgeometry.h index 0bcc235c..aa9a8e73 100644 --- a/src/bindings/bnd_pointgeometry.h +++ b/src/bindings/bnd_pointgeometry.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPointGeometryBindings(py::module_& m); -#else -namespace py = pybind11; -void initPointGeometryBindings(py::module& m); -#endif - +void initPointGeometryBindings(rh3dmpymodule& m); #else void initPointGeometryBindings(void* m); #endif diff --git a/src/bindings/bnd_pointgrid.cpp b/src/bindings/bnd_pointgrid.cpp index 3cecfc9c..3c52fc0b 100644 --- a/src/bindings/bnd_pointgrid.cpp +++ b/src/bindings/bnd_pointgrid.cpp @@ -19,18 +19,14 @@ void BND_PointGrid::SetTrackedPointer(ON_PointGrid* pointgrid, const ON_ModelCom ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPointGridBindings(py::module_& m){} -#else -namespace py = pybind11; -void initPointGridBindings(py::module& m) + +void initPointGridBindings(rh3dmpymodule& m) { py::class_(m, "PointGrid") .def(py::init<>()) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_pointgrid.h b/src/bindings/bnd_pointgrid.h index c568830a..7839ce2d 100644 --- a/src/bindings/bnd_pointgrid.h +++ b/src/bindings/bnd_pointgrid.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPointGridBindings(py::module_& m); -#else -namespace py = pybind11; -void initPointGridBindings(py::module& m); -#endif - +void initPointGridBindings(rh3dmpymodule& m); #else void initPointGridBindings(void* m); #endif diff --git a/src/bindings/bnd_polycurve.cpp b/src/bindings/bnd_polycurve.cpp index ca5a7e74..f955d313 100644 --- a/src/bindings/bnd_polycurve.cpp +++ b/src/bindings/bnd_polycurve.cpp @@ -110,12 +110,8 @@ int BND_PolyCurve::SegmentIndex(double polycurveParameter) const ///////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPolyCurveBindings(py::module_& m){} -#else -namespace py = pybind11; -void initPolyCurveBindings(py::module& m) + +void initPolyCurveBindings(rh3dmpymodule& m) { py::class_(m, "PolyCurve") .def(py::init<>()) @@ -135,7 +131,7 @@ void initPolyCurveBindings(py::module& m) .def("SegmentIndex", &BND_PolyCurve::SegmentIndex, py::arg("polycurveParameter")) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_polycurve.h b/src/bindings/bnd_polycurve.h index 0cee8286..4c2c3170 100644 --- a/src/bindings/bnd_polycurve.h +++ b/src/bindings/bnd_polycurve.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPolyCurveBindings(py::module_& m); -#else -namespace py = pybind11; -void initPolyCurveBindings(py::module& m); -#endif - +void initPolyCurveBindings(rh3dmpymodule& m); #else void initPolyCurveBindings(void* m); #endif diff --git a/src/bindings/bnd_polyline.cpp b/src/bindings/bnd_polyline.cpp index 79a0fb44..c1d47c5b 100644 --- a/src/bindings/bnd_polyline.cpp +++ b/src/bindings/bnd_polyline.cpp @@ -192,12 +192,8 @@ void BND_Point3dList::Append2 (const std::vector& points) ////////////////////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPolylineBindings(py::module_& m){} -#else -namespace py = pybind11; -void initPolylineBindings(py::module& m) + +void initPolylineBindings(rh3dmpymodule& m) { py::class_(m, "Point3dList") .def(py::init<>()) @@ -245,7 +241,7 @@ void initPolylineBindings(py::module& m) .def_static("CreateFromPoints", &BND_Polyline::CreateFromPoints2, py::arg("points")) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_polyline.h b/src/bindings/bnd_polyline.h index c8de3a4f..fdd8f8b2 100644 --- a/src/bindings/bnd_polyline.h +++ b/src/bindings/bnd_polyline.h @@ -2,14 +2,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPolylineBindings(py::module_& m); -#else -namespace py = pybind11; -void initPolylineBindings(py::module& m); -#endif - +void initPolylineBindings(rh3dmpymodule& m); #else void initPolylineBindings(void* m); #endif diff --git a/src/bindings/bnd_polylinecurve.cpp b/src/bindings/bnd_polylinecurve.cpp index eff1d12f..0de4f4be 100644 --- a/src/bindings/bnd_polylinecurve.cpp +++ b/src/bindings/bnd_polylinecurve.cpp @@ -62,12 +62,8 @@ BND_Polyline* BND_PolylineCurve::ToPolyline() const ////////////////////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPolylineCurveBindings(py::module_& m){} -#else -namespace py = pybind11; -void initPolylineCurveBindings(py::module& m) + +void initPolylineCurveBindings(rh3dmpymodule& m) { py::class_(m, "PolylineCurve") .def(py::init<>()) @@ -79,7 +75,7 @@ void initPolylineCurveBindings(py::module& m) .def("ToPolyline", &BND_PolylineCurve::ToPolyline) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_polylinecurve.h b/src/bindings/bnd_polylinecurve.h index ebd21ad0..720014f9 100644 --- a/src/bindings/bnd_polylinecurve.h +++ b/src/bindings/bnd_polylinecurve.h @@ -2,14 +2,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPolylineCurveBindings(py::module_& m); -#else -namespace py = pybind11; -void initPolylineCurveBindings(py::module& m); -#endif - +void initPolylineCurveBindings(rh3dmpymodule& m); #else void initPolylineCurveBindings(void* m); #endif diff --git a/src/bindings/bnd_post_effects.cpp b/src/bindings/bnd_post_effects.cpp index 3fbe8bd4..12ae231b 100644 --- a/src/bindings/bnd_post_effects.cpp +++ b/src/bindings/bnd_post_effects.cpp @@ -179,12 +179,8 @@ int BND_File3dmPostEffectTable::Count() const ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPostEffectBindings(py::module_& m){} -#else -namespace py = pybind11; -void initPostEffectBindings(py::module& m) + +void initPostEffectBindings(rh3dmpymodule& m) { py::class_(m, "PostEffect") .def(py::init<>()) @@ -200,7 +196,7 @@ void initPostEffectBindings(py::module& m) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_post_effects.h b/src/bindings/bnd_post_effects.h index 538dda25..7632b3ad 100644 --- a/src/bindings/bnd_post_effects.h +++ b/src/bindings/bnd_post_effects.h @@ -4,14 +4,7 @@ #include "bindings.h" #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initPostEffectBindings(py::module_& m); -#else -namespace py = pybind11; -void initPostEffectBindings(py::module& m); -#endif - +void initPostEffectBindings(rh3dmpymodule& m); #else void initPostEffectBindings(void* m); #endif diff --git a/src/bindings/bnd_render_channels.cpp b/src/bindings/bnd_render_channels.cpp index a4e3aaab..df1c438c 100644 --- a/src/bindings/bnd_render_channels.cpp +++ b/src/bindings/bnd_render_channels.cpp @@ -66,12 +66,8 @@ void BND_File3dmRenderChannels::SetCustomList(BND_TUPLE tuple) ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initRenderChannelsBindings(py::module_& m){} -#else -namespace py = pybind11; -void initRenderChannelsBindings(py::module& m) + +void initRenderChannelsBindings(rh3dmpymodule& m) { py::class_(m, "RenderChannels") .def(py::init<>()) @@ -80,7 +76,7 @@ void initRenderChannelsBindings(py::module& m) .def_property("CustomIds", &BND_File3dmRenderChannels::GetCustomList, &BND_File3dmRenderChannels::SetCustomList) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_render_channels.h b/src/bindings/bnd_render_channels.h index c2dd6539..86f5cd76 100644 --- a/src/bindings/bnd_render_channels.h +++ b/src/bindings/bnd_render_channels.h @@ -4,14 +4,7 @@ #include "bindings.h" #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initRenderChannelsBindings(py::module_& m); -#else -namespace py = pybind11; -void initRenderChannelsBindings(py::module& m); -#endif - +void initRenderChannelsBindings(rh3dmpymodule& m); #else void initRenderChannelsBindings(void* m); #endif diff --git a/src/bindings/bnd_render_content.cpp b/src/bindings/bnd_render_content.cpp index 9ed235a7..105d479b 100644 --- a/src/bindings/bnd_render_content.cpp +++ b/src/bindings/bnd_render_content.cpp @@ -444,12 +444,8 @@ BND_File3dmRenderContent* BND_File3dmRenderContentTable::FindId(BND_UUID id) ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initRenderContentBindings(py::module_& m){} -#else -namespace py = pybind11; -void initRenderContentBindings(py::module& m) + +void initRenderContentBindings(rh3dmpymodule& m) { py::class_(m, "RenderContent") .def(py::init<>()) @@ -506,7 +502,7 @@ void initRenderContentBindings(py::module& m) .def_property("FileName", &BND_File3dmRenderTexture::Filename, &BND_File3dmRenderTexture::SetFilename) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_render_content.h b/src/bindings/bnd_render_content.h index bde9a9da..7e9a1622 100644 --- a/src/bindings/bnd_render_content.h +++ b/src/bindings/bnd_render_content.h @@ -4,14 +4,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initRenderContentBindings(py::module_& m); -#else -namespace py = pybind11; -void initRenderContentBindings(py::module& m); -#endif - +void initRenderContentBindings(rh3dmpymodule& m); #else void initRenderContentBindings(void* m); #endif diff --git a/src/bindings/bnd_render_environments.cpp b/src/bindings/bnd_render_environments.cpp index 6af469d2..d3d70f02 100644 --- a/src/bindings/bnd_render_environments.cpp +++ b/src/bindings/bnd_render_environments.cpp @@ -87,12 +87,8 @@ void BND_File3dmRenderEnvironments::SetReflectionId(const BND_UUID& id) ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initRenderEnvironmentsBindings(py::module_& m){} -#else -namespace py = pybind11; -void initRenderEnvironmentsBindings(py::module& m) + +void initRenderEnvironmentsBindings(rh3dmpymodule& m) { py::class_(m, "RenderEnvironments") .def(py::init<>()) @@ -104,7 +100,7 @@ void initRenderEnvironmentsBindings(py::module& m) .def_property("ReflectionOverride", &BND_File3dmRenderEnvironments::GetReflectionOverride, &BND_File3dmRenderEnvironments::SetReflectionOverride) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_render_environments.h b/src/bindings/bnd_render_environments.h index 7d1dc377..20ea2b77 100644 --- a/src/bindings/bnd_render_environments.h +++ b/src/bindings/bnd_render_environments.h @@ -4,14 +4,7 @@ #include "bindings.h" #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initRenderEnvironmentsBindings(py::module_& m); -#else -namespace py = pybind11; -void initRenderEnvironmentsBindings(py::module& m); -#endif - +void initRenderEnvironmentsBindings(rh3dmpymodule& m); #else void initRenderEnvironmentsBindings(void* m); #endif diff --git a/src/bindings/bnd_revsurface.cpp b/src/bindings/bnd_revsurface.cpp index b3a00e5e..7ae7b4d3 100644 --- a/src/bindings/bnd_revsurface.cpp +++ b/src/bindings/bnd_revsurface.cpp @@ -37,19 +37,15 @@ BND_RevSurface* BND_RevSurface::Create1(const BND_Curve& revoluteCurve, const ON ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initRevSurfaceBindings(py::module_& m){} -#else -namespace py = pybind11; -void initRevSurfaceBindings(py::module& m) + +void initRevSurfaceBindings(rh3dmpymodule& m) { py::class_(m, "RevSurface") .def(py::init<>()) .def_static("Create", &BND_RevSurface::Create1, py::arg("revoluteCurve"), py::arg("axisOfRevolution"), py::arg("startAngle"), py::arg("endAngle")) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_revsurface.h b/src/bindings/bnd_revsurface.h index eae712eb..e71912fa 100644 --- a/src/bindings/bnd_revsurface.h +++ b/src/bindings/bnd_revsurface.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initRevSurfaceBindings(py::module_& m); -#else -namespace py = pybind11; -void initRevSurfaceBindings(py::module& m); -#endif - +void initRevSurfaceBindings(rh3dmpymodule& m); #else void initRevSurfaceBindings(void* m); #endif diff --git a/src/bindings/bnd_rtree.cpp b/src/bindings/bnd_rtree.cpp index 3d17f64b..7f87f2ce 100644 --- a/src/bindings/bnd_rtree.cpp +++ b/src/bindings/bnd_rtree.cpp @@ -3,18 +3,14 @@ #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initRTreeBindings(py::module_& m){} -#else -namespace py = pybind11; -void initRTreeBindings(py::module& m) + +void initRTreeBindings(rh3dmpymodule& m) { //py::class_(m, "RTree") // .def(py::init<>()) // ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_rtree.h b/src/bindings/bnd_rtree.h index 5428860e..34ee1336 100644 --- a/src/bindings/bnd_rtree.h +++ b/src/bindings/bnd_rtree.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initRTreeBindings(py::module_& m); -#else -namespace py = pybind11; -void initRTreeBindings(py::module& m); -#endif - +void initRTreeBindings(rh3dmpymodule& m); #else void initRTreeBindings(void* m); #endif diff --git a/src/bindings/bnd_safe_frame.cpp b/src/bindings/bnd_safe_frame.cpp index 9a092569..e7a4e68f 100644 --- a/src/bindings/bnd_safe_frame.cpp +++ b/src/bindings/bnd_safe_frame.cpp @@ -32,12 +32,8 @@ BND_File3dmSafeFrame::BND_File3dmSafeFrame(ON_SafeFrame* sf) } #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initSafeFrameBindings(py::module_& m){} -#else -namespace py = pybind11; -void initSafeFrameBindings(py::module& m) + +void initSafeFrameBindings(rh3dmpymodule& m) { py::class_(m, "SafeFrame") .def(py::init<>()) @@ -56,7 +52,7 @@ void initSafeFrameBindings(py::module& m) .def_property("TitleFrameYScale", &BND_File3dmSafeFrame::GetTitleFrameYScale, &BND_File3dmSafeFrame::SetTitleFrameYScale) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_safe_frame.h b/src/bindings/bnd_safe_frame.h index 235798fc..50c06059 100644 --- a/src/bindings/bnd_safe_frame.h +++ b/src/bindings/bnd_safe_frame.h @@ -4,14 +4,7 @@ #include "bindings.h" #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initSafeFrameBindings(py::module_& m); -#else -namespace py = pybind11; -void initSafeFrameBindings(py::module& m); -#endif - +void initSafeFrameBindings(rh3dmpymodule& m); #else void initSafeFrameBindings(void* m); #endif diff --git a/src/bindings/bnd_skylight.cpp b/src/bindings/bnd_skylight.cpp index d47a9920..748ec6f7 100644 --- a/src/bindings/bnd_skylight.cpp +++ b/src/bindings/bnd_skylight.cpp @@ -32,12 +32,8 @@ BND_File3dmSkylight::BND_File3dmSkylight(ON_Skylight* sl) } #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initSkylightBindings(py::module_& m){} -#else -namespace py = pybind11; -void initSkylightBindings(py::module& m) + +void initSkylightBindings(rh3dmpymodule& m) { py::class_(m, "Skylight") .def(py::init<>()) @@ -46,7 +42,7 @@ void initSkylightBindings(py::module& m) .def_property("ShadowIntensity", &BND_File3dmSkylight::GetShadowIntensity, &BND_File3dmSkylight::SetShadowIntensity) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_skylight.h b/src/bindings/bnd_skylight.h index 8db42fb5..fb4ef0b8 100644 --- a/src/bindings/bnd_skylight.h +++ b/src/bindings/bnd_skylight.h @@ -4,14 +4,7 @@ #include "bindings.h" #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initSkylightBindings(py::module_& m); -#else -namespace py = pybind11; -void initSkylightBindings(py::module& m); -#endif - +void initSkylightBindings(rh3dmpymodule& m); #else void initSkylightBindings(void* m); #endif diff --git a/src/bindings/bnd_sphere.cpp b/src/bindings/bnd_sphere.cpp index 9ad01452..da6a9837 100644 --- a/src/bindings/bnd_sphere.cpp +++ b/src/bindings/bnd_sphere.cpp @@ -119,12 +119,8 @@ BND_Sphere* BND_Sphere::Decode(emscripten::val jsonObject) #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initSphereBindings(py::module_& m){} -#else -namespace py = pybind11; -void initSphereBindings(py::module& m) + +void initSphereBindings(rh3dmpymodule& m) { py::class_(m, "Sphere") .def(py::init(), py::arg("center"), py::arg("radius")) @@ -148,7 +144,7 @@ void initSphereBindings(py::module& m) .def_static("Decode", &BND_Sphere::Decode, py::arg("jsonObject")) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_sphere.h b/src/bindings/bnd_sphere.h index 02b37d5b..003f8d4b 100644 --- a/src/bindings/bnd_sphere.h +++ b/src/bindings/bnd_sphere.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initSphereBindings(py::module_& m); -#else -namespace py = pybind11; -void initSphereBindings(py::module& m); -#endif - +void initSphereBindings(rh3dmpymodule& m); #else void initSphereBindings(void* m); #endif diff --git a/src/bindings/bnd_subd.cpp b/src/bindings/bnd_subd.cpp index 1d9569ab..01941402 100644 --- a/src/bindings/bnd_subd.cpp +++ b/src/bindings/bnd_subd.cpp @@ -18,12 +18,8 @@ BND_SubD::BND_SubD() #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initSubDBindings(py::module_& m){} -#else -namespace py = pybind11; -void initSubDBindings(py::module& m) + +void initSubDBindings(rh3dmpymodule& m) { py::class_(m, "SubD") .def(py::init<>()) @@ -33,7 +29,7 @@ void initSubDBindings(py::module& m) .def("Subdivide", &BND_SubD::Subdivide, py::arg("count")) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_subd.h b/src/bindings/bnd_subd.h index f84f5afd..4f3166a1 100644 --- a/src/bindings/bnd_subd.h +++ b/src/bindings/bnd_subd.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initSubDBindings(py::module_& m); -#else -namespace py = pybind11; -void initSubDBindings(py::module& m); -#endif - +void initSubDBindings(rh3dmpymodule& m); #else void initSubDBindings(void* m); #endif diff --git a/src/bindings/bnd_sun.cpp b/src/bindings/bnd_sun.cpp index c072abbd..ef29ab28 100644 --- a/src/bindings/bnd_sun.cpp +++ b/src/bindings/bnd_sun.cpp @@ -108,12 +108,8 @@ BND_Color BND_File3dmSun::GetSunColorFromAltitude(double v) // Static. ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initSunBindings(py::module_& m){} -#else -namespace py = pybind11; -void initSunBindings(py::module& m) + +void initSunBindings(rh3dmpymodule& m) { py::class_(m, "Sun") .def(py::init<>()) @@ -143,7 +139,7 @@ void initSunBindings(py::module& m) .def_static("SunColorFromAltitude", &BND_File3dmSun::GetSunColorFromAltitude) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_sun.h b/src/bindings/bnd_sun.h index 26e79047..06efe762 100644 --- a/src/bindings/bnd_sun.h +++ b/src/bindings/bnd_sun.h @@ -4,14 +4,7 @@ #include "bindings.h" #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initSunBindings(py::module_& m); -#else -namespace py = pybind11; -void initSunBindings(py::module& m); -#endif - +void initSunBindings(rh3dmpymodule& m); #else void initSunBindings(void* m); #endif diff --git a/src/bindings/bnd_surface.cpp b/src/bindings/bnd_surface.cpp index 118d0982..734ec745 100644 --- a/src/bindings/bnd_surface.cpp +++ b/src/bindings/bnd_surface.cpp @@ -124,12 +124,8 @@ BND_TUPLE BND_Surface::GetNurbsFormParameterFromSurfaceParameter(double surfaceS #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initSurfaceBindings(py::module_& m){} -#else -namespace py = pybind11; -void initSurfaceBindings(py::module& m) + +void initSurfaceBindings(rh3dmpymodule& m) { py::class_(m, "Surface") .def_property_readonly("IsSolid", &BND_Surface::IsSolid) @@ -158,7 +154,7 @@ void initSurfaceBindings(py::module& m) .def("GetNurbsFormParameterFromSurfaceParameter", &BND_Surface::GetNurbsFormParameterFromSurfaceParameter, py::arg("surfaceS"), py::arg("surfaceT")) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_surface.h b/src/bindings/bnd_surface.h index b76ad04a..ca5b6ef2 100644 --- a/src/bindings/bnd_surface.h +++ b/src/bindings/bnd_surface.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initSurfaceBindings(py::module_& m); -#else -namespace py = pybind11; -void initSurfaceBindings(py::module& m); -#endif - +void initSurfaceBindings(rh3dmpymodule& m); #else void initSurfaceBindings(void* m); #endif diff --git a/src/bindings/bnd_surfaceproxy.cpp b/src/bindings/bnd_surfaceproxy.cpp index eae6a00e..b79b27e5 100644 --- a/src/bindings/bnd_surfaceproxy.cpp +++ b/src/bindings/bnd_surfaceproxy.cpp @@ -17,17 +17,13 @@ BND_SurfaceProxy::BND_SurfaceProxy() #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initSurfaceProxyBindings(py::module_& m){} -#else -namespace py = pybind11; -void initSurfaceProxyBindings(py::module& m) + +void initSurfaceProxyBindings(rh3dmpymodule& m) { py::class_(m, "SurfaceProxy") ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_surfaceproxy.h b/src/bindings/bnd_surfaceproxy.h index 10795c3f..41fb55c9 100644 --- a/src/bindings/bnd_surfaceproxy.h +++ b/src/bindings/bnd_surfaceproxy.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initSurfaceProxyBindings(py::module_& m); -#else -namespace py = pybind11; -void initSurfaceProxyBindings(py::module& m); -#endif - +void initSurfaceProxyBindings(rh3dmpymodule& m); #else void initSurfaceProxyBindings(void* m); #endif diff --git a/src/bindings/bnd_texture.cpp b/src/bindings/bnd_texture.cpp index 37428f77..3c1acfb4 100644 --- a/src/bindings/bnd_texture.cpp +++ b/src/bindings/bnd_texture.cpp @@ -78,12 +78,8 @@ void BND_Environment::SetTrackedPointer(ON_Environment* env, const ON_ModelCompo ////////////////////////////////////////////////////////////////////////////// #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initEnvironmentBindings(py::module_& m){} -#else -namespace py = pybind11; -void initEnvironmentBindings(py::module& m) + +void initEnvironmentBindings(rh3dmpymodule& m) { py::class_(m, "Environment") .def(py::init<>()) @@ -92,7 +88,7 @@ void initEnvironmentBindings(py::module& m) .def_property("BackgroundProjection", &BND_Environment::BackgroundProjection, &BND_Environment::SetBackgroundProjection) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_texture.h b/src/bindings/bnd_texture.h index 74ac3e07..5254a4f7 100644 --- a/src/bindings/bnd_texture.h +++ b/src/bindings/bnd_texture.h @@ -4,16 +4,8 @@ #include "bindings.h" #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initEnvironmentBindings(py::module_& m); -void initTextureBindings(py::module_& m); -#else -namespace py = pybind11; -void initEnvironmentBindings(py::module& m); -void initTextureBindings(py::module& m); -#endif - +void initEnvironmentBindings(rh3dmpymodule& m); +void initTextureBindings(rh3dmpymodule& m); #else void initEnvironmentBindings(void* m); void initTextureBindings(void* m); diff --git a/src/bindings/bnd_texture_mapping.cpp b/src/bindings/bnd_texture_mapping.cpp index 8edb8235..1344c81e 100644 --- a/src/bindings/bnd_texture_mapping.cpp +++ b/src/bindings/bnd_texture_mapping.cpp @@ -138,12 +138,8 @@ std::tuple BND_TextureMapping::Evaluate(const ON_3dPoint& P, co #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initTextureMappingBindings(py::module_& m){} -#else -namespace py = pybind11; -void initTextureMappingBindings(py::module& m) + +void initTextureMappingBindings(rh3dmpymodule& m) { py::class_(m, "TextureMapping") .def(py::init<>()) @@ -166,7 +162,7 @@ void initTextureMappingBindings(py::module& m) .def("Evaluate", &BND_TextureMapping::Evaluate, py::arg("p"), py::arg("n")) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_texture_mapping.h b/src/bindings/bnd_texture_mapping.h index 1b1d92bc..3a4b4249 100644 --- a/src/bindings/bnd_texture_mapping.h +++ b/src/bindings/bnd_texture_mapping.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initTextureMappingBindings(py::module_& m); -#else -namespace py = pybind11; -void initTextureMappingBindings(py::module& m); -#endif - +void initTextureMappingBindings(rh3dmpymodule& m); #else void initTextureMappingBindings(void* m); #endif diff --git a/src/bindings/bnd_viewport.cpp b/src/bindings/bnd_viewport.cpp index 7654b321..9d3bcb47 100644 --- a/src/bindings/bnd_viewport.cpp +++ b/src/bindings/bnd_viewport.cpp @@ -373,10 +373,8 @@ BND_UUID BND_Viewport::GetId() const #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -void initViewportBindings(py::module_& m){} -#else -void initViewportBindings(py::module& m) + +void initViewportBindings(rh3dmpymodule& m) { py::class_(m, "ViewportInfo") .def(py::init<>()) @@ -417,7 +415,6 @@ void initViewportBindings(py::module& m) ; } #endif -#endif #if defined(ON_WASM_COMPILE) using namespace emscripten; diff --git a/src/bindings/bnd_viewport.h b/src/bindings/bnd_viewport.h index 2491cfe8..84a48fce 100644 --- a/src/bindings/bnd_viewport.h +++ b/src/bindings/bnd_viewport.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initViewportBindings(py::module_& m); -#else -namespace py = pybind11; -void initViewportBindings(py::module& m); -#endif - +void initViewportBindings(rh3dmpymodule& m); #else void initViewportBindings(void* m); #endif diff --git a/src/bindings/bnd_xform.cpp b/src/bindings/bnd_xform.cpp index a0de7e72..ff3fafc6 100644 --- a/src/bindings/bnd_xform.cpp +++ b/src/bindings/bnd_xform.cpp @@ -115,12 +115,8 @@ BND_TUPLE BND_Transform::ToFloatArray(bool rowDominant) const } #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initXformBindings(py::module_& m){} -#else -namespace py = pybind11; -void initXformBindings(py::module& m) + +void initXformBindings(rh3dmpymodule& m) { py::class_(m, "Transform") .def(py::init(), py::arg("diagonalValue")) @@ -184,7 +180,7 @@ void initXformBindings(py::module& m) .value("Rigid", TransformRigidType::Rigid) ; } -#endif + #endif #if defined(ON_WASM_COMPILE) diff --git a/src/bindings/bnd_xform.h b/src/bindings/bnd_xform.h index 00b22401..4a901ce9 100644 --- a/src/bindings/bnd_xform.h +++ b/src/bindings/bnd_xform.h @@ -3,14 +3,7 @@ #pragma once #if defined(ON_PYTHON_COMPILE) -#if defined(NANOBIND) -namespace py = nanobind; -void initXformBindings(py::module_& m); -#else -namespace py = pybind11; -void initXformBindings(py::module& m); -#endif - +void initXformBindings(rh3dmpymodule& m); #else void initXformBindings(void* m); #endif