def insert_gp(wll):
     pos = self.mapToGlobal(QPoint(0, 0))
     name = get_text(pos=pos, suggestion=self.guiScene.available_name_like(f"GP{wll}"),
                     input_valid_callback=valid_name)
     code = f's.new_shackle(name="{name}", kind = "GP{wll}")'
     pin_name = name + '_pin'
     code += f'\ns.new_geometriccontact("{name}" + "_connection", "{pin_name}", "{sheave.name}", inside=True)'
     self.guiRunCodeCallback(code, guiEventType.MODEL_STRUCTURE_CHANGED)
 def insert_gp(wll):
     pos = self.mapToGlobal(QPoint(0, 0))
     name = get_text(pos=pos, suggestion=self.guiScene.available_name_like(f"GP{wll}"),
                     input_valid_callback=valid_name)
     code = f's.new_shackle(name="{name}", kind = "GP{wll}")'
     self.guiRunCodeCallback(code, guiEventType.MODEL_STRUCTURE_CHANGED)
 def create_sling():
     pos = self.mapToGlobal(QPoint(0, 0))
     name = get_text(pos=pos, suggestion=self.guiScene.available_name_like("sling"),
                     input_valid_callback=valid_name)
     sling_code = f's.new_sling("{name}", length=1)'
     self.guiRunCodeCallback(sling_code, guiEventType.MODEL_STRUCTURE_CHANGED)
 def create_cable():
     pos = self.mapToGlobal(QPoint(0,0))
     name = get_text(pos = pos, suggestion=self.guiScene.available_name_like("cable"), input_valid_callback=valid_name)
     cable_code = f's.new_cable("{name}", endA="{poi_and_sheave[0].name}", endB = "{poi_and_sheave[-1].name}"{sheaves})'
     self.guiRunCodeCallback(cable_code, guiEventType.MODEL_STRUCTURE_CHANGED)
 def geometric_contact2():
     pos = self.mapToGlobal(QPoint(0,0))
     name = get_text(pos = pos, suggestion=self.guiScene.available_name_like("contact"), input_valid_callback=valid_name)
     pin_hole_codep1p0 = f's.new_geometriccontact("{name}", "{p1.name}", "{p0.name}")'
     self.guiRunCodeCallback(pin_hole_codep1p0, guiEventType.MODEL_STRUCTURE_CHANGED)