CadQuery / CadQuery/OCP

Solution to functions that tries modifying immutable arguments passed by reference

Ouverte
#167 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
C++
Étoiles
197
Forks
47
Merge moyen
2 j 2 h
PR mergées (30 j)
6

Description

Hello,

Have you found any solution for handling functions that return values via output parameters passed by reference, especially when those parameters are of immutable types?

This becomes a problem with important functions like [BRep_Tool::CurveOnSurface](https://dev.opencascade.org/doc/occt-7.2.0/refman/html/class_b_rep___tool.html#aeaa70c29f0a30d827fd8a36116d74b91). In such cases, the function modifies the arguments passed by reference (e.g., to return the first and last parameters of the Geom2d_Curve), but when these are immutable types in the binding language, we can’t retrieve the modified values.

This effectively blocks access to important return data.

Some relevant references:

[pybind11 FAQ – Limitations involving reference arguments](https://pybind11.readthedocs.io/en/stable/faq.html#limitations-involving-reference-arguments)

[pyOCCT developer notes – Reference arguments](https://pyocct.readthedocs.io/en/latest/dev.html#reference-arguments)

Would appreciate any guidance or workarounds!

Thanks in advance.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par BRep_Tool::CurveOnSurface et examinez la FAQ pybind11 liée ainsi que les notes des développeurs de pyOCCT sur les arguments de référence. Déterminez l’étendue nécessaire au niveau du binding pour exposer les premier et dernier paramètres modifiés de la courbe, puis vérifiez que les appelants peuvent récupérer ces valeurs.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp, python
Domaine
api
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.