def new_blank_object_manager(self): object_manager = ObjectManager( fp_name="", default_clearance=UnitNumber(DEFAULT_DEFAULT_CLEARANCE_MILS, 'mil'), default_mask=UnitNumber(DEFAULT_DEFAULT_MASK_MILS, 'mil')) CenterPoint.new(object_manager) return object_manager
def from_dict(dictionary): object_manager = ObjectManager( dictionary['fp_name'], UnitNumber.from_dict(dictionary['default_clearance']), UnitNumber.from_dict(dictionary['default_mask']), ) object_manager._all_points = set(dictionary['all_points']) object_manager._point_lru = dictionary['all_points'] object_manager._next_point_idx = dictionary['next_point_idx'] object_manager._point_coords = { int(point): tuple(pc) for point, pc in dictionary['point_coords'].iteritems() } # Create the actual primitives. This requires a topological sort, which # can be done more efficiently than this but there's no good reason to. primitive_dicts = dictionary['primitives'] object_manager.primitives = [None] * len(primitive_dicts) while not all(primitive for primitive in object_manager.primitives): for primitive_dict in primitive_dicts: if not all(object_manager.primitives[i] for i in primitive_dict.get('deps', [])): continue # At this point, we have a primitive that's ready to be created. primitive_cls = PRIMITIVE_TYPES[ primitive_dict['primitive_type'] ] primitive = primitive_cls.from_dict( object_manager, primitive_dict['primitive_dict'] ) object_manager.primitives[primitive_dict['index']] = primitive object_manager.draw_primitives = [ object_manager.primitives[idx] for idx in dictionary['draw_primitives'] ] object_manager.constraining_primitives = [ object_manager.primitives[idx] for idx in dictionary['constraining_primitives'] ] object_manager.suppressed_primitives = set( object_manager.primitives[idx] for idx in dictionary['suppressed_primitives'] ) object_manager.update_points() object_manager.update_parent_map() return object_manager
def val(self): assert self.valid() text = self.get_text() if text == '': return None else: return UnitNumber.from_str(text)
def val(self): assert self.valid() text = self.get_text() if text == "": return None else: return UnitNumber.from_str(text)
def valid(self): text = self.get_text() if text == '': return self._allow_empty try: val = UnitNumber.from_str(text) except ValueError: return False return val.value >= 0 or self._allow_neg
def valid(self): text = self.get_text() if text == "": return self._allow_empty try: val = UnitNumber.from_str(text) except ValueError: return False return val.value >= 0 or self._allow_neg
def fparea_cursor_motion(self, _, x, y, coord_label): x = UnitNumber(x, "iu").to(self._default_units) y = UnitNumber(y, "iu").to(self._default_units) coord_label.set_text("({:.3f}, {:.3f})".format(x, y))