def refresh(self): self.glviewportManager.clearViews() if len(self.active) == 0: self.glviewportManager.addView(self.emptyVisProgram) else: for k in sorted(self.active.keys()): item = self.active[k] if item.program is not None: item.program.view.w, item.program.view.h = (640, 480) self.glviewportManager.addView(item.program) else: #new view self.glviewportManager.addView(item.plugin) item.program = self.glviewportManager.views[-1] if self.autoFitCameraButton.isChecked(): vis.autoFitViewport(item.program.view, [self.world, item.obj]) else: copyCamera(self.emptyVisProgram.view.camera, item.program.view.camera) if len(self.glviewportManager.views ) >= self.maxGridItems.value()**2: break if self.glviewportManager.broadcast: #locking cameras self.lockCameras() self.glviewportManager.animationDuration = 0 for (k, item) in self.active.items(): obj = item.obj if isinstance(obj, (Trajectory, MultiPath)): self.glviewportManager.animationDuration = max( self.glviewportManager.animationDuration, obj.duration()) print("klampt_browser: Setting animation duration to", self.glviewportManager.animationDuration) self.glviewportManager.refresh()
def onAutoFitCamera(self): if self.autoFitCameraButton.isChecked(): for (k, item) in self.active.items(): vis.autoFitViewport(item.program.view, [self.world, item.obj])