rootChildrenfield = controller.getRoot().getField('children') supervisorTranslation = controller.getFromDef('SUPERVISOR').getField( 'translation') supervisorRotation = controller.getFromDef('SUPERVISOR').getField('rotation') viewpointPosition = controller.getFromDef('VIEWPOINT').getField('position') viewpointOrientation = controller.getFromDef('VIEWPOINT').getField( 'orientation') cameraNear = controller.getFromDef('CAMERA').getField('near') if options.singleShot: node = controller.getFromDef('OBJECTS') if node is None: sys.exit('No node "OBJECTS" found.') take_original_screenshot(camera, '.' + os.sep + 'images') take_screenshot(camera, 'objects', '.' + os.sep + 'images', os.path.dirname(controller.getWorldPath()), node.getTypeName(), None) elif options.appearance: with open('appearances.json') as json_data: data = json.load(json_data) appearanceFolder = os.path.join(os.environ['WEBOTS_HOME'], 'projects') appearanceFolder = os.path.join(appearanceFolder, 'appearances') appearanceFolder = os.path.join(appearanceFolder, 'protos') for rootPath, dirNames, fileNames in os.walk(appearanceFolder): for fileName in fnmatch.filter(fileNames, '*.proto'): protoName = fileName.split('.')[0] protoPath = rootPath + os.sep + protoName protoPath = protoPath.replace(os.environ['WEBOTS_HOME'], '') nodeString = 'Transform { translation 0 1 0 rotation 0 0 1 0.262 children [ ' nodeString += 'Shape { appearance %s { ' % protoName if protoName in data:
shutil.rmtree('.' + os.sep + 'images') # Get required fields rootChildrenfield = controller.getRoot().getField('children') supervisorTranslation = controller.getFromDef('SUPERVISOR').getField('translation') supervisorRotation = controller.getFromDef('SUPERVISOR').getField('rotation') viewpointPosition = controller.getFromDef('VIEWPOINT').getField('position') viewpointOrientation = controller.getFromDef('VIEWPOINT').getField('orientation') cameraNear = controller.getFromDef('CAMERA').getField('near') if options.singleShot: node = controller.getFromDef('OBJECTS') if node is None: sys.exit('No node "OBJECTS" found.') take_original_screenshot(camera, '.' + os.sep + 'images') take_screenshot(camera, 'objects', '.' + os.sep + 'images', os.path.dirname(controller.getWorldPath()), node.getTypeName(), None) elif options.appearance: with open('appearances.json') as json_data: data = json.load(json_data) appearanceFolder = os.path.join(os.environ['WEBOTS_HOME'], 'projects') appearanceFolder = os.path.join(appearanceFolder, 'appearances') appearanceFolder = os.path.join(appearanceFolder, 'protos') for rootPath, dirNames, fileNames in os.walk(appearanceFolder): for fileName in fnmatch.filter(fileNames, '*.proto'): protoName = fileName.split('.')[0] if protoName not in data: print('Skipping "%s" PROTO.' % protoName) continue process_appearances(controller, data[protoName]) else: