@@ -128,44 +128,46 @@ FairCurve_Analysis & function transformation
128128}
129129
130130%typemap(out) TopoDS_Shape {
131- TopAbs_ShapeEnum shape_type = $1 .ShapeType ();
132131 PyObject *resultobj = 0 ;
133- switch (shape_type)
134- {
135- case TopAbs_COMPOUND:
136- resultobj = SWIG_NewPointerObj ((new TopoDS_Compound (static_cast < const TopoDS_Compound& >($1 ))),
137- SWIGTYPE_p_TopoDS_Compound, SWIG_POINTER_OWN | 0 );
138- break ;
139- case TopAbs_COMPSOLID:
140- resultobj = SWIG_NewPointerObj ((new TopoDS_CompSolid (static_cast < const TopoDS_CompSolid& >($1 ))),
141- SWIGTYPE_p_TopoDS_CompSolid, SWIG_POINTER_OWN | 0 );
142- break ;
143- case TopAbs_SOLID:
144- resultobj = SWIG_NewPointerObj ((new TopoDS_Solid (static_cast < const TopoDS_Solid& >($1 ))),
145- SWIGTYPE_p_TopoDS_Solid, SWIG_POINTER_OWN | 0 );
146- break ;
147- case TopAbs_SHELL:
148- resultobj = SWIG_NewPointerObj ((new TopoDS_Shell (static_cast < const TopoDS_Shell& >($1 ))),
149- SWIGTYPE_p_TopoDS_Shell, SWIG_POINTER_OWN | 0 );
150- break ;
151- case TopAbs_FACE:
152- resultobj = SWIG_NewPointerObj ((new TopoDS_Face (static_cast < const TopoDS_Face& >($1 ))),
153- SWIGTYPE_p_TopoDS_Face, SWIG_POINTER_OWN | 0 );
154- break ;
155- case TopAbs_WIRE:
156- resultobj = SWIG_NewPointerObj ((new TopoDS_Wire (static_cast < const TopoDS_Wire& >($1 ))),
157- SWIGTYPE_p_TopoDS_Wire, SWIG_POINTER_OWN | 0 );
158- break ;
159- case TopAbs_EDGE:
160- resultobj = SWIG_NewPointerObj ((new TopoDS_Edge (static_cast < const TopoDS_Edge& >($1 ))),
161- SWIGTYPE_p_TopoDS_Edge, SWIG_POINTER_OWN | 0 );
162- break ;
163- case TopAbs_VERTEX:
164- resultobj = SWIG_NewPointerObj ((new TopoDS_Vertex (static_cast < const TopoDS_Vertex& >($1 ))),
165- SWIGTYPE_p_TopoDS_Vertex, SWIG_POINTER_OWN | 0 );
166- break ;
167- default :
168- break ;
132+ if (!$1 .IsNull ()){
133+ TopAbs_ShapeEnum shape_type = $1 .ShapeType ();
134+ switch (shape_type)
135+ {
136+ case TopAbs_COMPOUND:
137+ resultobj = SWIG_NewPointerObj ((new TopoDS_Compound (static_cast < const TopoDS_Compound& >($1 ))),
138+ SWIGTYPE_p_TopoDS_Compound, SWIG_POINTER_OWN | 0 );
139+ break ;
140+ case TopAbs_COMPSOLID:
141+ resultobj = SWIG_NewPointerObj ((new TopoDS_CompSolid (static_cast < const TopoDS_CompSolid& >($1 ))),
142+ SWIGTYPE_p_TopoDS_CompSolid, SWIG_POINTER_OWN | 0 );
143+ break ;
144+ case TopAbs_SOLID:
145+ resultobj = SWIG_NewPointerObj ((new TopoDS_Solid (static_cast < const TopoDS_Solid& >($1 ))),
146+ SWIGTYPE_p_TopoDS_Solid, SWIG_POINTER_OWN | 0 );
147+ break ;
148+ case TopAbs_SHELL:
149+ resultobj = SWIG_NewPointerObj ((new TopoDS_Shell (static_cast < const TopoDS_Shell& >($1 ))),
150+ SWIGTYPE_p_TopoDS_Shell, SWIG_POINTER_OWN | 0 );
151+ break ;
152+ case TopAbs_FACE:
153+ resultobj = SWIG_NewPointerObj ((new TopoDS_Face (static_cast < const TopoDS_Face& >($1 ))),
154+ SWIGTYPE_p_TopoDS_Face, SWIG_POINTER_OWN | 0 );
155+ break ;
156+ case TopAbs_WIRE:
157+ resultobj = SWIG_NewPointerObj ((new TopoDS_Wire (static_cast < const TopoDS_Wire& >($1 ))),
158+ SWIGTYPE_p_TopoDS_Wire, SWIG_POINTER_OWN | 0 );
159+ break ;
160+ case TopAbs_EDGE:
161+ resultobj = SWIG_NewPointerObj ((new TopoDS_Edge (static_cast < const TopoDS_Edge& >($1 ))),
162+ SWIGTYPE_p_TopoDS_Edge, SWIG_POINTER_OWN | 0 );
163+ break ;
164+ case TopAbs_VERTEX:
165+ resultobj = SWIG_NewPointerObj ((new TopoDS_Vertex (static_cast < const TopoDS_Vertex& >($1 ))),
166+ SWIGTYPE_p_TopoDS_Vertex, SWIG_POINTER_OWN | 0 );
167+ break ;
168+ default :
169+ break ;
170+ }
169171 }
170172 return resultobj;
171173}
0 commit comments