Skip to content

Commit ca1951b

Browse files
authored
Merge pull request #1066 from tpaviot/review/byref-enums
Fix dozains of class methods that use byreference enums
2 parents e8af62e + 3528374 commit ca1951b

File tree

333 files changed

+5975
-4958
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

333 files changed

+5975
-4958
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
ENUM_OUTPUT_TYPEMAPS(TopOpeBRepDS_Kind);
2+
ENUM_OUTPUT_TYPEMAPS(TopOpeBRepDS_Config);
3+
ENUM_OUTPUT_TYPEMAPS(TopAbs_Orientation);
4+
ENUM_OUTPUT_TYPEMAPS(TopAbs_ShapeEnum);
5+
ENUM_OUTPUT_TYPEMAPS(FairCurve_AnalysisCode);
6+
ENUM_OUTPUT_TYPEMAPS(GccEnt_Position);
7+
ENUM_OUTPUT_TYPEMAPS(IntCurveSurface_TransitionOnCurve);
8+
ENUM_OUTPUT_TYPEMAPS(IntImp_ConstIsoparametric);
9+
ENUM_OUTPUT_TYPEMAPS(Intf_PIType);
10+
ENUM_OUTPUT_TYPEMAPS(TopAbs_State);
11+
ENUM_OUTPUT_TYPEMAPS(CSLib_DerivativeStatus);
12+
ENUM_OUTPUT_TYPEMAPS(CSLib_NormalStatus);
13+
ENUM_OUTPUT_TYPEMAPS(MeshVS_EntityType);
14+
ENUM_OUTPUT_TYPEMAPS(BRepOffset_Status);
15+
ENUM_OUTPUT_TYPEMAPS(Graphic3d_NameOfMaterial);
16+
ENUM_OUTPUT_TYPEMAPS(GeomAbs_Shape);
17+
ENUM_OUTPUT_TYPEMAPS(Aspect_TypeOfLine);
18+
ENUM_OUTPUT_TYPEMAPS(PrsDim_KindOfSurface);
19+
ENUM_OUTPUT_TYPEMAPS(DsgPrs_ArrowSide);
20+
ENUM_OUTPUT_TYPEMAPS(V3d_TypeOfOrientation);
21+
ENUM_OUTPUT_TYPEMAPS(VrmlData_ErrorStatus);
22+
ENUM_OUTPUT_TYPEMAPS(XCAFDimTolObjects_DatumModifWithValue);
23+
ENUM_OUTPUT_TYPEMAPS(XCAFDimTolObjects_DimensionFormVariance);
24+
ENUM_OUTPUT_TYPEMAPS(XCAFDimTolObjects_DimensionGrade);
25+
ENUM_OUTPUT_TYPEMAPS(XCAFDimTolObjects_DatumTargetType);
26+
ENUM_OUTPUT_TYPEMAPS(XCAFDimTolObjects_DimensionQualifier);
27+
ENUM_OUTPUT_TYPEMAPS(XCAFDimTolObjects_DimensionType);
28+
ENUM_OUTPUT_TYPEMAPS(XCAFDimTolObjects_GeomToleranceTypeValue);
29+
ENUM_OUTPUT_TYPEMAPS(Interface_ParamType);
30+
ENUM_OUTPUT_TYPEMAPS(StepData_Logical);
31+
ENUM_OUTPUT_TYPEMAPS(Message_MetricType);
32+
ENUM_OUTPUT_TYPEMAPS(Quantity_NameOfColor);

src/SWIG_files/common/FunctionTransformers.i

Lines changed: 30 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ along with pythonOCC. If not, see <http://www.gnu.org/licenses/>.
2323
#include <TopoDS.hxx>
2424
%}
2525

26+
%include <typemaps.i>
27+
2628
/*
2729
Standard_Real & function transformation
2830
*/
@@ -104,60 +106,6 @@ Standard_Boolean & function transformation
104106
$1 = &temp;
105107
}
106108

107-
/*
108-
FairCurve_Analysis & function transformation
109-
*/
110-
%typemap(argout) FairCurve_AnalysisCode &OutValue {
111-
PyObject *o, *o2, *o3;
112-
o = PyInt_FromLong(*$1);
113-
if ((!$result) || ($result == Py_None)) {
114-
$result = o;
115-
} else {
116-
if (!PyTuple_Check($result)) {
117-
PyObject *o2 = $result;
118-
$result = PyTuple_New(1);
119-
PyTuple_SetItem($result,0,o2);
120-
}
121-
o3 = PyTuple_New(1);
122-
PyTuple_SetItem(o3,0,o);
123-
o2 = $result;
124-
$result = PySequence_Concat(o2,o3);
125-
Py_DECREF(o2);
126-
Py_DECREF(o3);
127-
}
128-
}
129-
130-
%typemap(in,numinputs=0) FairCurve_AnalysisCode &OutValue(FairCurve_AnalysisCode temp) {
131-
$1 = &temp;
132-
}
133-
134-
/*
135-
TopAbs_Orientation & function transformation
136-
*/
137-
%typemap(argout) TopAbs_Orientation &OutValue {
138-
PyObject *o, *o2, *o3;
139-
o = PyInt_FromLong(*$1);
140-
if ((!$result) || ($result == Py_None)) {
141-
$result = o;
142-
} else {
143-
if (!PyTuple_Check($result)) {
144-
PyObject *o2 = $result;
145-
$result = PyTuple_New(1);
146-
PyTuple_SetItem($result,0,o2);
147-
}
148-
o3 = PyTuple_New(1);
149-
PyTuple_SetItem(o3,0,o);
150-
o2 = $result;
151-
$result = PySequence_Concat(o2,o3);
152-
Py_DECREF(o2);
153-
Py_DECREF(o3);
154-
}
155-
}
156-
157-
%typemap(in,numinputs=0) TopAbs_Orientation &OutValue(TopAbs_Orientation temp) {
158-
$1 = &temp;
159-
}
160-
161109
%typemap(out) TopoDS_Shape {
162110
TopoDS_Shape* sh = &$1;
163111
PyObject *resultobj = 0;
@@ -240,3 +188,31 @@ TopAbs_Orientation & function transformation
240188
}
241189
return resultobj;
242190
}
191+
192+
193+
%define ENUM_OUTPUT_TYPEMAPS(TYPE)
194+
195+
%typemap(in,numinputs=0) TYPE &OutValue(TYPE temp) {
196+
$1 = &temp;
197+
}
198+
199+
%typemap(argout) TYPE &OutValue {
200+
PyObject *o, *o2, *o3;
201+
o = PyInt_FromLong(*$1);
202+
if ((!$result) || ($result == Py_None)) {
203+
$result = o;
204+
} else {
205+
if (!PyTuple_Check($result)) {
206+
PyObject *o2 = $result;
207+
$result = PyTuple_New(1);
208+
PyTuple_SetItem($result,0,o2);
209+
}
210+
o3 = PyTuple_New(1);
211+
PyTuple_SetItem(o3,0,o);
212+
o2 = $result;
213+
$result = PySequence_Concat(o2,o3);
214+
Py_DECREF(o2);
215+
Py_DECREF(o3);
216+
}
217+
}
218+
%enddef

src/SWIG_files/wrapper/AIS.i

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_ais.html"
3131
%include ../common/CommonIncludes.i
3232
%include ../common/ExceptionCatcher.i
3333
%include ../common/FunctionTransformers.i
34+
%include ../common/EnumTemplates.i
3435
%include ../common/Operators.i
3536
%include ../common/OccHandle.i
3637

@@ -2099,13 +2100,13 @@ Parameters
20992100
aDrawer: Prs3d_Drawer
21002101
TheTypeOfAttributes: AIS_TypeOfAttribute
21012102
aCol: Quantity_NameOfColor
2102-
aTyp: Aspect_TypeOfLine
21032103
21042104
Returns
21052105
-------
21062106
aWidth: float
2107+
aTyp: Aspect_TypeOfLine
21072108
") GetLineAtt;
2108-
static void GetLineAtt(const opencascade::handle<Prs3d_Drawer> & aDrawer, const AIS_TypeOfAttribute TheTypeOfAttributes, Quantity_NameOfColor & aCol, Standard_Real &OutValue, Aspect_TypeOfLine & aTyp);
2109+
static void GetLineAtt(const opencascade::handle<Prs3d_Drawer> & aDrawer, const AIS_TypeOfAttribute TheTypeOfAttributes, Quantity_NameOfColor & aCol, Standard_Real &OutValue, Aspect_TypeOfLine &OutValue);
21092110

21102111
/****************** GetLineColor ******************/
21112112
/**** md5 signature: eba7d0fb34c3645d05f21c7b3545cd3c ****/

src/SWIG_files/wrapper/AIS.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,7 @@ class AIS_GraphicTool:
488488
@staticmethod
489489
def GetInteriorColor(aDrawer: Prs3d_Drawer, aColor: Quantity_Color) -> None: ...
490490
@staticmethod
491-
def GetLineAtt(aDrawer: Prs3d_Drawer, TheTypeOfAttributes: AIS_TypeOfAttribute, aCol: Quantity_NameOfColor, aTyp: Aspect_TypeOfLine) -> float: ...
491+
def GetLineAtt(aDrawer: Prs3d_Drawer, TheTypeOfAttributes: AIS_TypeOfAttribute, aCol: Quantity_NameOfColor) -> Tuple[float, Aspect_TypeOfLine]: ...
492492
@overload
493493
@staticmethod
494494
def GetLineColor(aDrawer: Prs3d_Drawer, TheTypeOfAttributes: AIS_TypeOfAttribute) -> Quantity_NameOfColor: ...

src/SWIG_files/wrapper/Adaptor2d.i

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_adaptor2d.html"
3131
%include ../common/CommonIncludes.i
3232
%include ../common/ExceptionCatcher.i
3333
%include ../common/FunctionTransformers.i
34+
%include ../common/EnumTemplates.i
3435
%include ../common/Operators.i
3536
%include ../common/OccHandle.i
3637

src/SWIG_files/wrapper/Adaptor3d.i

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_adaptor3d.html"
3131
%include ../common/CommonIncludes.i
3232
%include ../common/ExceptionCatcher.i
3333
%include ../common/FunctionTransformers.i
34+
%include ../common/EnumTemplates.i
3435
%include ../common/Operators.i
3536
%include ../common/OccHandle.i
3637

src/SWIG_files/wrapper/AdvApp2Var.i

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_advapp2var.html"
3131
%include ../common/CommonIncludes.i
3232
%include ../common/ExceptionCatcher.i
3333
%include ../common/FunctionTransformers.i
34+
%include ../common/EnumTemplates.i
3435
%include ../common/Operators.i
3536
%include ../common/OccHandle.i
3637

src/SWIG_files/wrapper/AdvApprox.i

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_advapprox.html"
3131
%include ../common/CommonIncludes.i
3232
%include ../common/ExceptionCatcher.i
3333
%include ../common/FunctionTransformers.i
34+
%include ../common/EnumTemplates.i
3435
%include ../common/Operators.i
3536
%include ../common/OccHandle.i
3637

src/SWIG_files/wrapper/AppBlend.i

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_appblend.html"
3131
%include ../common/CommonIncludes.i
3232
%include ../common/ExceptionCatcher.i
3333
%include ../common/FunctionTransformers.i
34+
%include ../common/EnumTemplates.i
3435
%include ../common/Operators.i
3536
%include ../common/OccHandle.i
3637

src/SWIG_files/wrapper/AppCont.i

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_appcont.html"
3131
%include ../common/CommonIncludes.i
3232
%include ../common/ExceptionCatcher.i
3333
%include ../common/FunctionTransformers.i
34+
%include ../common/EnumTemplates.i
3435
%include ../common/Operators.i
3536
%include ../common/OccHandle.i
3637

0 commit comments

Comments
 (0)