Ejemplo n.º 1
0
	def __init__(self, parent, projectPlannerWindow):
		attribList = (glcanvas.WX_GL_RGBA, glcanvas.WX_GL_DOUBLEBUFFER, glcanvas.WX_GL_DEPTH_SIZE, 24, glcanvas.WX_GL_STENCIL_SIZE, 8)
		glcanvas.GLCanvas.__init__(self, parent, attribList = attribList)
		self.parent = projectPlannerWindow
		self.context = glcanvas.GLContext(self)
		wx.EVT_PAINT(self, self.OnPaint)
		wx.EVT_SIZE(self, self.OnSize)
		wx.EVT_ERASE_BACKGROUND(self, self.OnEraseBackground)
		wx.EVT_LEFT_DOWN(self, self.OnMouseLeftDown)
		wx.EVT_MOTION(self, self.OnMouseMotion)
		wx.EVT_MOUSEWHEEL(self, self.OnMouseWheel)
		self.yaw = 30
		self.pitch = 60
		self.zoom = self.parent.machineSize[0] / 2 + 10
		self.offsetX = 0
		self.offsetY = 0
		self.view3D = False
		self.allowDrag = False

		self.objColor = profile.getPreferenceColour('model_colour')
Ejemplo n.º 2
0
	def __init__(self, parent, projectPlannerWindow):
		attribList = (glcanvas.WX_GL_RGBA, glcanvas.WX_GL_DOUBLEBUFFER, glcanvas.WX_GL_DEPTH_SIZE, 24, glcanvas.WX_GL_STENCIL_SIZE, 8)
		glcanvas.GLCanvas.__init__(self, parent, attribList = attribList)
		self.parent = projectPlannerWindow
		self.context = glcanvas.GLContext(self)
		wx.EVT_PAINT(self, self.OnPaint)
		wx.EVT_SIZE(self, self.OnSize)
		wx.EVT_ERASE_BACKGROUND(self, self.OnEraseBackground)
		wx.EVT_LEFT_DOWN(self, self.OnMouseLeftDown)
		wx.EVT_MOTION(self, self.OnMouseMotion)
		wx.EVT_MOUSEWHEEL(self, self.OnMouseWheel)
		self.yaw = 30
		self.pitch = 60
		self.offsetX = 0
		self.offsetY = 0
		self.view3D = self.parent.alwaysAutoPlace
		if self.view3D:
			self.zoom = 300
		else:
			self.zoom = self.parent.machineSize[0] / 2 + 10
		self.allowDrag = False

		self.objColor = profile.getPreferenceColour('model_colour')
Ejemplo n.º 3
0
 def updateProfileToControls(self):
     self.objColor[0] = profile.getPreferenceColour('model_colour')
     self.objColor[1] = profile.getPreferenceColour('model_colour2')
     self.objColor[2] = profile.getPreferenceColour('model_colour3')
     self.objColor[3] = profile.getPreferenceColour('model_colour3')
Ejemplo n.º 4
0
def saveSceneStream(s, filename, objects):
	xml = StringIO.StringIO()
	xml.write('<?xml version="1.0" encoding="utf-8"?>\n')
	xml.write('<amf unit="millimeter" version="1.1">\n')
	n = 0
	for obj in objects:
		n += 1
		xml.write('  <object id="%d">\n' % (n))
		xml.write('    <mesh>\n')
		xml.write('      <vertices>\n')
		vertexList, meshList = obj.getVertexIndexList()
		for v in vertexList:
			xml.write('        <vertex>\n')
			xml.write('          <coordinates>\n')
			xml.write('            <x>%f</x>\n' % (v[0]))
			xml.write('            <y>%f</y>\n' % (v[1]))
			xml.write('            <z>%f</z>\n' % (v[2]))
			xml.write('          </coordinates>\n')
			xml.write('        </vertex>\n')
		xml.write('      </vertices>\n')

		matID = 1
		for m in meshList:
			xml.write('      <volume materialid="%i">\n' % (matID))
			for idx in xrange(0, len(m), 3):
				xml.write('        <triangle>\n')
				xml.write('          <v1>%i</v1>\n' % (m[idx]))
				xml.write('          <v2>%i</v2>\n' % (m[idx+1]))
				xml.write('          <v3>%i</v3>\n' % (m[idx+2]))
				xml.write('        </triangle>\n')
			xml.write('      </volume>\n')
			matID += 1
		xml.write('    </mesh>\n')
		xml.write('  </object>\n')

	n += 1
	xml.write('  <constellation id="%d">\n' % (n))
	for idx in xrange(1, n):
		xml.write('    <instance objectid="%d">\n' % (idx))
		xml.write('      <deltax>0</deltax>\n')
		xml.write('      <deltay>0</deltay>\n')
		xml.write('      <deltaz>0</deltaz>\n')
		xml.write('      <rx>0</rx>\n')
		xml.write('      <ry>0</ry>\n')
		xml.write('      <rz>0</rz>\n')
		xml.write('    </instance>\n')
	xml.write('  </constellation>\n')
	for n in xrange(0, 4):
		xml.write('  <material id="%i">\n' % (n + 1))
		xml.write('    <metadata type="Name">Material %i</metadata>\n' % (n + 1))
		if n == 0:
			col = profile.getPreferenceColour('model_colour')
		else:
			col = profile.getPreferenceColour('model_colour%i' % (n + 1))
		xml.write('    <color><r>%.2f</r><g>%.2f</g><b>%.2f</b></color>\n' % (col[0], col[1], col[2]))
		xml.write('  </material>\n')
	xml.write('</amf>\n')

	zfile = zipfile.ZipFile(s, "w", zipfile.ZIP_DEFLATED)
	zfile.writestr(os.path.basename(filename), xml.getvalue())
	zfile.close()
	xml.close()
Ejemplo n.º 5
0
	def updateProfileToControls(self):
		self.objColor[0] = profile.getPreferenceColour('model_colour')
		self.objColor[1] = profile.getPreferenceColour('model_colour2')
		self.objColor[2] = profile.getPreferenceColour('model_colour3')
		self.objColor[3] = profile.getPreferenceColour('model_colour3')