def OnLoadMesh(self, evt): dlg = wx.FileDialog( self, "Choose a file", ".", "", "OBJ files (*.obj)|*.obj|OFF files (*.off)|*.off|TOFF files (*.toff)|*.toff", wx.OPEN) if dlg.ShowModal() == wx.ID_OK: filename = dlg.GetFilename() dirname = dlg.GetDirectory() filepath = os.path.join(dirname, filename) print dirname self.glcanvas.mesh = LaplacianMesh() print "Loading mesh %s..." % filename self.glcanvas.mesh.loadFile(filepath) self.glcanvas.meshCentroid = self.glcanvas.mesh.getCentroid() self.glcanvas.meshPrincipalAxes = self.glcanvas.mesh.getPrincipalAxes( ) print "Finished loading mesh\n %s" % self.glcanvas.mesh print self.glcanvas.mesh self.glcanvas.bbox = self.glcanvas.mesh.getBBox() print "Mesh BBox: %s\n" % self.glcanvas.bbox self.glcanvas.camera.centerOnBBox(self.glcanvas.bbox, theta=-math.pi / 2, phi=math.pi / 2) self.glcanvas.Refresh() dlg.Destroy() return
def LoadMesh(self): self.mesh = LaplacianMesh() self.mesh.loadFile(self.filepath) print "Finished loading mesh\n %s" % self.mesh print self.mesh self.bbox = self.mesh.getBBox() self.camera.centerOnBBox(self.bbox, theta=-math.pi / 2, phi=math.pi / 2) self.zCenter = (self.bbox.zmax + self.bbox.zmin) / 2.0 self.Refresh()
def loadMesh(self, filepath): print "Loading mesh %s..." % filepath mesh = LaplacianMesh() mesh.loadFile(filepath) print "Finished loading mesh 1\n %s" % mesh #Now try to load in the distance matrix fileName, fileExtension = os.path.splitext(filepath) matfile = sio.loadmat("%s.mat" % fileName) D = np.array([]) if 'D' in matfile: D = matfile['D'] else: print "ERROR: No distance matrix found for mesh %s" % filepath return (mesh, D)
def OnLoadMesh2(self, evt): print "Mesh 2 menu" dlg = wx.FileDialog(self, "Choose a file", ".", "", "OBJ files (*.obj)|*.obj|OFF files (*.off)|*.off", wx.OPEN) if dlg.ShowModal() == wx.ID_OK: filename = dlg.GetFilename() dirname = dlg.GetDirectory() filepath = os.path.join(dirname, filename) print dirname self.glcanvas.mesh2 = LaplacianMesh() print "Loading mesh %s..."%filename self.glcanvas.mesh2.loadFile(filepath) print "Finished loading mesh 2\n %s"%self.glcanvas.mesh2 print self.glcanvas.mesh2 print "Mesh BBox: %s\n"%self.glcanvas.mesh2.getBBox() self.glcanvas.bbox.Union(self.glcanvas.mesh2.getBBox()) self.glcanvas.Refresh() dlg.Destroy() return
def startButtonHandler(self, evt): print "Starting Face capture..." if not self.setText: self.titleText.SetLabelText("Capturing Face...") self.setText = True #os.popen3("SingleFace.exe") #Captures the face process = subprocess.Popen("SingleFace", shell=True, stdout=subprocess.PIPE) process.wait() print "FINISHED CAPTURE" extractMeshFiles() #Convert the captured data to a triangulated mesh self.userMesh = LaplacianMesh() self.userMesh.loadFile("out.off") self.bbox = self.userMesh.getBBox() self.camera.centerOnBBox(self.bbox, theta=-math.pi / 2, phi=math.pi / 2) self.GUIState = STATE_SHOWPOINTS self.GUISubstate = SHOWPOINTS_ZOOMIN self.zoom = 0 self.setText = False self.repaint()