Beispiel #1
0
    def changeViewport(self, viewportName):
        if self.name == viewportName:
            return
        else:
            tool = self.glViewport.currentTool
            self.glViewport.close()

            if viewportName == "Top":
                self.glViewport = GLViewport(
                    self, ViewportType.TOP, None,
                    QtOpenGL.QGLFormat(QtOpenGL.QGL.SampleBuffers))
            elif viewportName == "Side":
                self.glViewport = GLViewport(
                    self, ViewportType.SIDE, None,
                    QtOpenGL.QGLFormat(QtOpenGL.QGL.SampleBuffers))
            elif viewportName == "Front":
                self.glViewport = GLViewport(
                    self, ViewportType.FRONT, None,
                    QtOpenGL.QGLFormat(QtOpenGL.QGL.SampleBuffers))
            elif viewportName == "Perspective":
                self.glViewport = GLViewport(
                    self, ViewportType.PERSPECTIVE, None,
                    QtOpenGL.QGLFormat(QtOpenGL.QGL.SampleBuffers))
            elif viewportName == "Decomposition":
                self.glViewport = DecompositionView(
                    self, self.viewportManager, ViewportType.DECOMPOSITION,
                    PrototypeManager(
                    ))  #self.getMainWindow().compositionView #
            elif viewportName == "Solution":
                self.solutionView = SolutionView(self.getMainWindow(),
                                                 self.viewportManager,
                                                 ViewportType.SOLUTION,
                                                 PrototypeManager(), True)
                self.glViewport = self.solutionView.solutionWidget

            self.setActions()
            for action in self.editGroup.actions():
                action.setChecked(False)
            self.splitterVertical.addWidget(self.glViewport)
            self.setName(self.glViewport.viewportType)
            self.glViewport.currentTool = tool
        if self.glViewport.viewportType != ViewportType.DECOMPOSITION:
            self.glViewport.makeCurrent()
Beispiel #2
0
 def generateRandom(self):
     ## first do as if File->New was selected
     self.new()
     ## then show randomProblemDialog
     #ui = Ui_randomProblemDialog()
     #dialog = QtDialog()
     ## create random problem
     (numpoints, ratio, size, rounding) = (10, 0.0, 100.0, 0.0)
     problem = randomproblem.random_triangular_problem_3D(numpoints, size, rounding, ratio)
     prototypeManager = PrototypeManager()
     prototypeManager.setProblem(problem)
     self.viewportManager.updateViewports()
Beispiel #3
0
    def execute(self, tool):
        """ Update a tool to a new tool
		
		Parameters:
			tool = new tool which the user has selected
		"""
        if self.viewportManager.displayViewport == DisplayViewport.ALL:
            for viewport in self.viewportManager.viewportList:
                viewport.glViewport.currentTool = tool
                for action in viewport.editGroup.actions():
                    action.setChecked(False)
        else:
            self.viewportManager.viewport.glViewport.currentTool = tool
            for action in self.viewportManager.viewport.editGroup.actions():
                action.setChecked(False)
        PrototypeManager().deselectObject()
        self.viewportManager.updateViewports()
Beispiel #4
0
    def createTriggers(self):
        # menu actions
        QtCore.QObject.connect(self.actionNew,QtCore.SIGNAL("triggered()"),self.new)
        QtCore.QObject.connect(self.actionQuit,QtCore.SIGNAL("triggered()"),self.close)
        QtCore.QObject.connect(self.actionSave,QtCore.SIGNAL("triggered()"),self.save)
        QtCore.QObject.connect(self.actionSave_As,QtCore.SIGNAL("triggered()"),self.saveAs)
        QtCore.QObject.connect(self.actionImport,QtCore.SIGNAL("triggered()"),self.importFile)
        QtCore.QObject.connect(self.actionOpen,QtCore.SIGNAL("triggered()"),self.load)

        QtCore.QObject.connect(self.actionCompositionView,QtCore.SIGNAL("triggered()"), self.showCompositionView)
        QtCore.QObject.connect(self.actionSolutionView,QtCore.SIGNAL("triggered()"), self.showSolutionView)
        QtCore.QObject.connect(self.actionPreferences,QtCore.SIGNAL("triggered()"), self.showPreferencesDlg)
        
        QtCore.QObject.connect(self.actionSelect,QtCore.SIGNAL("changed()"), self.selectTriggered)
        QtCore.QObject.connect(self.actionPlacePoint,QtCore.SIGNAL("changed()"), self.placePointTriggered)
        QtCore.QObject.connect(self.actionMove,QtCore.SIGNAL("changed()"), self.moveTriggered)
        QtCore.QObject.connect(self.actionConnect,QtCore.SIGNAL("changed()"), self.connectTriggered)
        QtCore.QObject.connect(self.actionDistanceConstraint,QtCore.SIGNAL("changed()"), self.distanceConstraintTriggered)    
        QtCore.QObject.connect(self.actionMinMaxView,QtCore.SIGNAL("triggered()"), self.viewportManager.minmaxView)
        

        QtCore.QObject.connect(self.actionSolve,QtCore.SIGNAL("triggered()"), PrototypeManager().solve)
        QtCore.QObject.connect(self.actionSolve,QtCore.SIGNAL("triggered()"), self.compositionView.createDecomposition)
        QtCore.QObject.connect(self.actionSolve,QtCore.SIGNAL("triggered()"), self.solutionView.createSolution)
        QtCore.QObject.connect(self.actionSolve,QtCore.SIGNAL("triggered()"), self.viewportManager.updateSolution)
        QtCore.QObject.connect(self.actionSolve,QtCore.SIGNAL("triggered()"), self.viewportManager.updateDecomposition)
        QtCore.QObject.connect(self.actionSolve,QtCore.SIGNAL("triggered()"), self.viewportManager.updateViewports)
        QtCore.QObject.connect(self.actionSolve,QtCore.SIGNAL("triggered()"), self.updateConstraintInfo)


        QtCore.QObject.connect(self.actionClusters,QtCore.SIGNAL("triggered()"), self.showClusters)
        QtCore.QObject.connect(self.actionDistance,QtCore.SIGNAL("changed()"), self.placeDistanceTriggered)
        QtCore.QObject.connect(self.actionAngleConstraint,QtCore.SIGNAL("changed()"), self.placeAngleConstraintTriggered)
        QtCore.QObject.connect(self.actionFixedConstraint,QtCore.SIGNAL("changed()"), self.placeFixedConstraintTriggered)
        # Rick 20090522
        QtCore.QObject.connect(self.actionGenerate,QtCore.SIGNAL("triggered()"),self.generateRandom)
Beispiel #5
0
 def showClusters(self):
     prtManager = PrototypeManager()
     prtManager.showClusters()
     self.viewportManager.updateViewports()
Beispiel #6
0
 def updateConstraintInfo(self):
     self.infoPanel.reset()
     updateTaskbarCommand = UpdateTextInTaskbarCommand(PrototypeManager(), self)
     updateTaskbarCommand.execute()
Beispiel #7
0
 def createSolutionView(self):
     self.solutionView = SolutionView(self, self.viewportManager, ViewportType.SOLUTION ,PrototypeManager())
Beispiel #8
0
 def createDecompositionView(self):
     self.compositionView = CompositionView(None, self.viewportManager, ViewportType.DECOMPOSITION ,PrototypeManager())    
Beispiel #9
0
 def __init__(self, mainWindow):
     Command.__init__(self)
     self.mainWindow = mainWindow
     self.prototypeManager = PrototypeManager()