def METHOD_NAME(self, scene):
    """
    Import scene from iGSDF class
    :param scene: iGSDFScene instance
    :return: pybullet body ids from scene.load function
    """
    self.pb_id_to_sem_id_map = {}
    assert isinstance(
        scene, InteractiveIndoorScene
    ), "import_ig_scene can only be called with InteractiveIndoorScene"
    if not self.use_pb_renderer:
        scene.set_ignore_visual_shape(True)
        # skip loading visual shape if not using pybullet visualizer
    new_object_ids = scene.load()
    self.objects += new_object_ids
    # after the above statement, the doors has been loaded and they now have some pybullet id.
    # run through the door object dictionary in igibson_interactive_scene in order to get thFse ids
    # door_ids = []
    start_label = 375
    i = 0
    for body_id, visual_mesh_to_material, link_name_to_vm in zip(
            new_object_ids, scene.visual_mesh_to_material, scene.link_name_to_vm
    ):
        use_pbr = True
        use_pbr_mapping = True
        shadow_caster = True
        physical_object = scene.objects_by_id[body_id]
        if scene.scene_source == "IG":
            if physical_object.category in ["walls", "floors", "ceilings"]:
                use_pbr = False
                use_pbr_mapping = False
            if physical_object.category == "ceilings":
                shadow_caster = False
        if physical_object.name.startswith("door"):  # in self.door_list:
            class_id = start_label + i
            self.pb_id_to_sem_id_map[body_id] = class_id
            i += 1
        else:
            class_id = self.class_name_to_class_id.get(physical_object.category, SemanticClass.SCENE_OBJS)
        """
        if body_id in door_labels:
            class_id = door_labels[body_id]
        else:
            class_id = self.class_name_to_class_id.get(physical_object.category, SemanticClass.SCENE_OBJS)
        """
        self.load_articulated_object_in_renderer(
            body_id,
            class_id=class_id,
            visual_mesh_to_material=visual_mesh_to_material,
            link_name_to_vm=link_name_to_vm,
            use_pbr=use_pbr,
            use_pbr_mapping=use_pbr_mapping,
            shadow_caster=shadow_caster,
            physical_object=physical_object,
        )
    self.scene = scene
    # Load the states of all the objects in the scene.
    for obj in scene.get_objects():
        if isinstance(obj, ObjectMultiplexer):
            for sub_obj in obj._multiplexed_objects:
                if isinstance(sub_obj, ObjectGrouper):
                    for group_sub_obj in sub_obj.objects:
                        for state in group_sub_obj.states.values():
                            state.initialize(self)
                else:
                    for state in sub_obj.states.values():
                        state.initialize(self)
        elif isinstance(obj, StatefulObject):
            for state in obj.states.values():
                state.initialize(self)
    return new_object_ids