self.toolbar.AddControl(self.layerSpin)
self.Bind(wx.EVT_SPINCTRL, self.OnLayerNrChange, self.layerSpin)
- self.OnViewChange()
-
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.toolbar, 0, flag=wx.EXPAND|wx.TOP|wx.LEFT|wx.RIGHT, border=1)
sizer.Add(self.glCanvas, 1, flag=wx.EXPAND)
self.scaleUniform = openglGui.glCheckbox(self.scaleForm, True, (1,8), None)
self.scaleForm.setHidden(True)
+ self.OnViewChange()
self.returnToModelViewAndUpdateModel()
self.matrix = numpy.matrix(numpy.array(profile.getObjectMatrix(), numpy.float64).reshape((3,3,)))
value = float(value)
except:
return
- scale = numpy.linalg.norm(self.matrix[axis].getA().flatten())
+ scale = numpy.linalg.norm(self.matrix[::,axis].getA().flatten())
scale = value / scale
if scale == 0:
return
if self.scaleUniform.getValue():
matrix = [[scale,0,0], [0, scale, 0], [0, 0, scale]]
else:
- matrix = [[1,0,0], [0, 1, 0], [0, 0, 1]]
+ matrix = [[1.0,0,0], [0, 1.0, 0], [0, 0, 1.0]]
matrix[axis][axis] = scale
self.matrix *= numpy.matrix(matrix, numpy.float64)
self.updateModelTransform()
self.updateModelTransform()
def OnRotateReset(self):
- x = numpy.linalg.norm(self.matrix[0].getA().flatten())
- y = numpy.linalg.norm(self.matrix[1].getA().flatten())
- z = numpy.linalg.norm(self.matrix[2].getA().flatten())
+ x = numpy.linalg.norm(self.matrix[::,0].getA().flatten())
+ y = numpy.linalg.norm(self.matrix[::,1].getA().flatten())
+ z = numpy.linalg.norm(self.matrix[::,2].getA().flatten())
self.matrix = numpy.matrix([[x,0,0],[0,y,0],[0,0,z]], numpy.float64)
for obj in self.objectList:
obj.steepDirty = True
self.updateModelTransform()
def OnScaleReset(self):
- x = 1/numpy.linalg.norm(self.matrix[0].getA().flatten())
- y = 1/numpy.linalg.norm(self.matrix[1].getA().flatten())
- z = 1/numpy.linalg.norm(self.matrix[2].getA().flatten())
+ x = 1/numpy.linalg.norm(self.matrix[::,0].getA().flatten())
+ y = 1/numpy.linalg.norm(self.matrix[::,1].getA().flatten())
+ z = 1/numpy.linalg.norm(self.matrix[::,2].getA().flatten())
self.matrix *= numpy.matrix([[x,0,0],[0,y,0],[0,0,z]], numpy.float64)
for obj in self.objectList:
obj.steepDirty = True
self.gcodeViewButton.Show(self.gcode is not None)
self.mixedViewButton.Show(self.gcode is not None)
self.layerSpin.Show(self.glCanvas.viewMode == "GCode" or self.glCanvas.viewMode == "Mixed")
+ self.printButton.setDisabled(self.gcode is None)
if self.gcode is not None:
self.layerSpin.SetRange(1, len(self.gcode.layerList) - 1)
self.toolbar.Realize()
self.objectsSize = self.objectsMaxV - self.objectsMinV
self.objectsBoundaryCircleSize = objectsBoundaryCircleSize
- scaleX = numpy.linalg.norm(self.matrix[0].getA().flatten())
- scaleY = numpy.linalg.norm(self.matrix[1].getA().flatten())
- scaleZ = numpy.linalg.norm(self.matrix[2].getA().flatten())
+ scaleX = numpy.linalg.norm(self.matrix[::,0].getA().flatten())
+ scaleY = numpy.linalg.norm(self.matrix[::,1].getA().flatten())
+ scaleZ = numpy.linalg.norm(self.matrix[::,2].getA().flatten())
self.scaleXctrl.setValue(round(scaleX, 2))
self.scaleYctrl.setValue(round(scaleY, 2))
self.scaleZctrl.setValue(round(scaleZ, 2))
scale = self._lineLineCrossingDistOnLine(p0, p1, numpy.array([0,0,0], numpy.float32), numpy.array(endPoint, numpy.float32)) / 15.0 / s
if not wx.GetKeyState(wx.WXK_SHIFT):
objMatrix = self.parent.getObjectMatrix()
- scaleX = numpy.linalg.norm(objMatrix[0].getA().flatten())
- scaleY = numpy.linalg.norm(objMatrix[1].getA().flatten())
- scaleZ = numpy.linalg.norm(objMatrix[2].getA().flatten())
+ scaleX = numpy.linalg.norm(objMatrix[::,0].getA().flatten())
+ scaleY = numpy.linalg.norm(objMatrix[::,1].getA().flatten())
+ scaleZ = numpy.linalg.norm(objMatrix[::,2].getA().flatten())
if self.node == 1 or not wx.GetKeyState(wx.WXK_CONTROL):
matrixScale = (scaleX + scaleY + scaleZ) / 3
elif self.node == 2:
if self.node == 4 and self.scale is not None:
sz *= self.scale
objMatrix = self.parent.getObjectMatrix()
- scaleX = numpy.linalg.norm(objMatrix[0].getA().flatten())
- scaleY = numpy.linalg.norm(objMatrix[1].getA().flatten())
- scaleZ = numpy.linalg.norm(objMatrix[2].getA().flatten())
+ scaleX = numpy.linalg.norm(objMatrix[::,0].getA().flatten())
+ scaleY = numpy.linalg.norm(objMatrix[::,1].getA().flatten())
+ scaleZ = numpy.linalg.norm(objMatrix[::,2].getA().flatten())
if self.scale is not None:
scaleX *= self.scale
scaleY *= self.scale