def onFileSaveData(): obj = om.getActiveObject() if not obj: app.showErrorMessage('Please select an object', title='No object selected') return if isinstance(obj, otdfmodel.OtdfModelItem): mainWindow = app.getMainWindow() filename = QtGui.QFileDialog.getSaveFileName(mainWindow, "Save Data...", getDefaultDirectory(), 'OTDF (*.otdf)', 'OTDF (*.otdf)') if not os.path.splitext(filename)[1]: filename += '.otdf' storeDefaultDirectory(filename) otdfString = obj.parser.getUpdatedOtdf() otdfFile = open(filename, 'w') otdfFile.write(otdfString) otdfFile.close() elif hasattr(obj, 'polyData'): mainWindow = app.getMainWindow() fileFilters = "PLY (*.ply);;STL (*.stl);;VTP (*.vtp)"; filename = QtGui.QFileDialog.getSaveFileName(mainWindow, "Save Data...", getDefaultDirectory(), fileFilters, 'VTP (*.vtp)') if not filename: return if not os.path.splitext(filename)[1]: filename += '.vtp' polyData = io.writePolyData(obj.polyData, filename) else: app.showErrorMessage('Please select an object that contains geometry data or an OTDF object', title='Invalid object selected') return storeDefaultDirectory(filename)
def onIkStartup(ikServer, startSuccess): if startSuccess: app.getMainWindow().statusBar().showMessage( 'Planning server started.', 2000) else: app.showErrorMessage( 'Error detected while starting the matlab planning server. ' 'Please check the output console for more information.', title='Error starting matlab')
def onOpenGeometry(filename): polyData = io.readPolyData(filename) if not polyData or not polyData.GetNumberOfPoints(): app.showErrorMessage('Failed to read any data from file: %s' % filename, title='Reader error') return vis.showPolyData(polyData, os.path.basename(filename), parent='files')
def onFileSaveData(): obj = om.getActiveObject() if not obj: app.showErrorMessage("Please select an object", title="No object selected") return if isinstance(obj, otdfmodel.OtdfModelItem): mainWindow = app.getMainWindow() filename = QtGui.QFileDialog.getSaveFileName( mainWindow, "Save Data...", getDefaultDirectory(), "OTDF (*.otdf)", "OTDF (*.otdf)", ) if not os.path.splitext(filename)[1]: filename += ".otdf" storeDefaultDirectory(filename) otdfString = obj.parser.getUpdatedOtdf() otdfFile = open(filename, "w") otdfFile.write(otdfString) otdfFile.close() elif hasattr(obj, "polyData"): mainWindow = app.getMainWindow() fileFilters = "PLY (*.ply);;STL (*.stl);;VTP (*.vtp);;VTK (*.vtk)" defaultFilter = "VTP (*.vtp)" filename = QtGui.QFileDialog.getSaveFileName( mainWindow, "Save Data...", getDefaultDirectory(), fileFilters, defaultFilter, ) if not filename: return if not os.path.splitext(filename)[1]: filename += ".vtp" polyData = io.writePolyData(obj.polyData, filename) else: app.showErrorMessage( "Please select an object that contains geometry data or an OTDF object", title="Invalid object selected", ) return storeDefaultDirectory(filename)
def onOpenGeometry(filename): if filename.lower().endswith('wrl'): onOpenVrml(filename) return polyData = io.readPolyData(filename) if not polyData or not polyData.GetNumberOfPoints(): app.showErrorMessage('Failed to read any data from file: %s' % filename, title='Reader error') return vis.showPolyData(polyData, os.path.basename(filename), parent='files')
def ensureDirectoryIsWritable(self, dirname): if not os.path.isdir(dirname): try: os.makedirs(dirname) except OSError: app.showErrorMessage('Error creating directory: %s' % dirname) return False if not os.access(dirname, os.W_OK | os.X_OK): app.showErrorMessage('Directory is not writable: %s' % dirname) return False return True
def ensureDirectoryIsWritable(self, dirname): if not os.path.isdir(dirname): try: os.makedirs(dirname) except OSError: app.showErrorMessage("Error creating directory: %s" % dirname) return False if not os.access(dirname, os.W_OK | os.X_OK): app.showErrorMessage("Directory is not writable: %s" % dirname) return False return True
def onFileExportUrdf(): obj = om.getActiveObject() if not obj or not isinstance(obj, otdfmodel.OtdfModelItem): app.showErrorMessage('Please select an OTDF object', title='OTDF object not selected') return mainWindow = app.getMainWindow() filename = QtGui.QFileDialog.getSaveFileName(mainWindow, "Save Data...", getDefaultDirectory(), 'URDF (*.urdf)', 'URDF (*.urdf)') if not os.path.splitext(filename)[1]: filename += '.urdf' storeDefaultDirectory(filename) urdfString = obj.parser.getUrdfFromOtdf() urdfFile = open(filename, 'w') urdfFile.write(urdfString) urdfFile.close()
def onIkStartup(ikServer, startSuccess): if startSuccess: app.getMainWindow().statusBar().showMessage('Planning server started.', 2000) else: app.showErrorMessage('Error detected while starting the matlab planning server. ' 'Please check the output console for more information.', title='Error starting matlab')
def onOpenUrdf(filename): model = roboturdf.openUrdf(filename, app.getCurrentRenderView()) if not model: app.showErrorMessage('Failed to read urdf file: %s' % filename, title='Read urdf error')