コード例 #1
0
ファイル: meshView.py プロジェクト: ctralie/G-RFLCT
 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
コード例 #2
0
 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()
コード例 #3
0
ファイル: testGMDS.py プロジェクト: ctralie/G-RFLCT
 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)
コード例 #4
0
	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
コード例 #5
0
 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()