def merge_component(self, cmp: Component) -> None: """ :return: """ for pad in cmp.get_pads(): self.merge_aw_nets(pad) self.add_component(cmp)
def remove_component(self, cmp: Component) -> None: for pad in cmp.get_pads(): self.remove_aw_nets(pad, suppress_presence_error=False) self.__index.remove(pad) self.__index.remove(cmp) self.__components.remove(cmp) self.components_generation += 1
def add_component(self, cmp: Component) -> None: """ :param cmp: :return: """ self.__components.add(cmp) cmp._project = self.__project self.__index.insert(cmp) for pad in cmp.get_pads(): self.__index.insert(pad) self.components_generation += 1