def append_collada(self, component=None): """ Append Collada objects to the scene :param component: component in which the objects are located :return: list of the imported Blender objects """ if not component: component = self._blender_filename if component.endswith('.dae'): filepath = os.path.abspath(component) # external blend file else: filepath = os.path.join(MORSE_COMPONENTS, self._category, component + '.dae') if not os.path.exists(filepath): logger.error("Collada file %s for external asset import can" \ "not be found.\nEither provide an absolute path, or" \ "a path relative to MORSE assets directory (typically"\ "$PREFIX/share/morse/data)" % filepath) return # Save a list of objects names before importing Collada objects_names = [obj.name for obj in bpymorse.get_objects()] # Import Collada from filepath bpymorse.collada_import(filepath=filepath) # Get a list of the imported objects imported_objects = [obj for obj in bpymorse.get_objects() \ if obj.name not in objects_names] return imported_objects
def append_collada(self, component=None): """ Append Collada objects to the scene :param component: component in which the objects are located :return: list of the imported Blender objects """ if not component: component = self._blender_filename if component.endswith(".dae"): filepath = os.path.abspath(component) # external blend file else: filepath = os.path.join(MORSE_COMPONENTS, self._category, component + ".dae") if not os.path.exists(filepath): logger.error( "Collada file %s for external asset import can" "not be found.\nEither provide an absolute path, or" "a path relative to MORSE assets directory (typically" "$PREFIX/share/morse/data)" % (filepath) ) return # Save a list of objects names before importing Collada objects_names = [obj.name for obj in bpymorse.get_objects()] # Import Collada from filepath bpymorse.collada_import(filepath=filepath) # Get a list of the imported objects imported_objects = [obj for obj in bpymorse.get_objects() if obj.name not in objects_names] return imported_objects