from Cura.Qt.QtApplication import QtApplication from Cura.Scene.SceneNode import SceneNode from Cura.Scene.Camera import Camera from Cura.Scene.Platform import Platform from Cura.Math.Vector import Vector from Cura.Math.Matrix import Matrix from Cura.Resources import Resources import os.path class PrinterApplication(QtApplication): def __init__(self): super(PrinterApplication, self).__init__() def run(self): self._plugin_registry.loadPlugins({ "type": "Logger"}) self._plugin_registry.loadPlugins({ "type": "StorageDevice" }) self._plugin_registry.loadPlugins({ "type": "View" }) self._plugin_registry.loadPlugins({ "type": "MeshHandler" }) self._plugin_registry.loadPlugins({ "type": "Tool" }) self.getController().setActiveView("MeshView") root = self.getController().getScene().getRoot() platform = Platform(root) self.getRenderer().setLightPosition(Vector(0, 150, 150)) camera = Camera('3d', root) camera.translate(Vector(0, 150, 150)) proj = Matrix() proj.setPerspective(45, 640/480, 1, 500) camera.setProjectionMatrix(proj) camera.setPerspective(True) camera.lookAt(Vector(0, 0, 0), Vector(0, 1, 0)) camera = Camera('left', root) camera.translate(Vector(-150, 50, 0)) proj = Matrix() proj.setOrtho(-200, 200, -200, 200, 1, 500) camera.setProjectionMatrix(proj) camera.lookAt(Vector(0, 50, 0), Vector(0, 1, 0)) camera.setLocked(True) camera = Camera('top', root) camera.translate(Vector(0, 150, 0)) proj = Matrix() proj.setOrtho(-200, 200, -200, 200, 1, 500) camera.setProjectionMatrix(proj) camera.lookAt(Vector(0, 0, 0), Vector(0, 0, -1)) camera.setLocked(True) camera = Camera('front', root) camera.translate(Vector(0, 50, 150)) proj = Matrix() proj.setOrtho(-200, 200, -200, 200, 1, 500) camera.setProjectionMatrix(proj) camera.lookAt(Vector(0, 50, 0), Vector(0, 1, 0)) camera.setLocked(True) self.getController().getScene().setActiveCamera('3d') self.setMainQml(os.path.dirname(__file__) + "/Printer.qml") self.initializeEngine() if self._engine.rootObjects: self.exec_() def registerObjects(self, engine): pass