%include pad_shapes.h %include pad.h %rename(Get) operator PAD*; %{ #include %} %extend PAD { %pythoncode %{ # SetPadName() is the old name for PAD::SetName() # define it for compatibility def SetPadName(self, aName): return self.SetName(aName) # GetPadName() is the old name for PAD::GetName() # define it for compatibility def GetPadName(self): return self.GetName() # AddPrimitive() is the old name for D_PAD::AddPrimitivePoly(), # PAD::AddPrimitiveSegment(), PAD::AddPrimitiveCircle(), # PAD::AddPrimitiveArc(), PAD::AddPrimitiveCurve() # define it for compatibility def AddPrimitive(self, *args): if len(args) == 2: return self.AddPrimitivePoly(*args) elif len(args) == 3: if type(args[1] in [wxPoint,wxSize]): return self.AddPrimitiveSegment(*args) else: return self.AddPrimitiveCircle(*args) elif len(args) == 4: return self.AddPrimitiveArc(*args) elif len(args) == 5: return self.AddPrimitiveCurve(*args) else: raise TypeError("Arguments not recognized.") # GetCustomShapeAsPolygon() is the old accessor to get custom shapes def GetCustomShapeAsPolygon(self, layer=UNDEFINED_LAYER): polygon_set = SHAPE_POLY_SET() self.MergePrimitivesAsPolygon(polygon_set, layer) return polygon_set %} }