chiark / gitweb /
Added general help for plugin tab, added open plugin folder button, fixed scale to...
[cura.git] / Cura / gui / opengl.py
index 8a61d16e0ebbde3abfe2e2b68bfbaeda3bb10ff0..9a8db81d26600f8c7fcc3a585654e96a16297a68 100644 (file)
@@ -346,6 +346,43 @@ def DrawMesh(mesh):
        glDisableClientState(GL_VERTEX_ARRAY)\r
        glDisableClientState(GL_NORMAL_ARRAY);\r
 \r
+def DrawMeshSteep(mesh, angle):\r
+       cosAngle = math.sin(angle / 180.0 * math.pi)\r
+       glDisable(GL_LIGHTING)\r
+       glDepthFunc(GL_EQUAL)\r
+       for i in xrange(0, int(mesh.vertexCount), 3):\r
+               if mesh.normal[i][2] < -0.999999:\r
+                       if mesh.vertexes[i+0][2] > 0.01:\r
+                               glColor3f(0.5,0,0)\r
+                               glBegin(GL_TRIANGLES)\r
+                               glVertex3f(mesh.vertexes[i+0][0], mesh.vertexes[i+0][1], mesh.vertexes[i+0][2])\r
+                               glVertex3f(mesh.vertexes[i+1][0], mesh.vertexes[i+1][1], mesh.vertexes[i+1][2])\r
+                               glVertex3f(mesh.vertexes[i+2][0], mesh.vertexes[i+2][1], mesh.vertexes[i+2][2])\r
+                               glEnd()\r
+               elif mesh.normal[i][2] < -cosAngle:\r
+                       glColor3f(-mesh.normal[i][2],0,0)\r
+                       glBegin(GL_TRIANGLES)\r
+                       glVertex3f(mesh.vertexes[i+0][0], mesh.vertexes[i+0][1], mesh.vertexes[i+0][2])\r
+                       glVertex3f(mesh.vertexes[i+1][0], mesh.vertexes[i+1][1], mesh.vertexes[i+1][2])\r
+                       glVertex3f(mesh.vertexes[i+2][0], mesh.vertexes[i+2][1], mesh.vertexes[i+2][2])\r
+                       glEnd()\r
+               elif mesh.normal[i][2] > 0.999999:\r
+                       if mesh.vertexes[i+0][2] > 0.01:\r
+                               glColor3f(0.5,0,0)\r
+                               glBegin(GL_TRIANGLES)\r
+                               glVertex3f(mesh.vertexes[i+0][0], mesh.vertexes[i+0][1], mesh.vertexes[i+0][2])\r
+                               glVertex3f(mesh.vertexes[i+2][0], mesh.vertexes[i+2][1], mesh.vertexes[i+2][2])\r
+                               glVertex3f(mesh.vertexes[i+1][0], mesh.vertexes[i+1][1], mesh.vertexes[i+1][2])\r
+                               glEnd()\r
+               elif mesh.normal[i][2] > cosAngle:\r
+                       glColor3f(mesh.normal[i][2],0,0)\r
+                       glBegin(GL_TRIANGLES)\r
+                       glVertex3f(mesh.vertexes[i+0][0], mesh.vertexes[i+0][1], mesh.vertexes[i+0][2])\r
+                       glVertex3f(mesh.vertexes[i+2][0], mesh.vertexes[i+2][1], mesh.vertexes[i+2][2])\r
+                       glVertex3f(mesh.vertexes[i+1][0], mesh.vertexes[i+1][1], mesh.vertexes[i+1][2])\r
+                       glEnd()\r
+       glDepthFunc(GL_LESS)\r
+\r
 def DrawGCodeLayer(layer):\r
        filamentRadius = profile.getProfileSettingFloat('filament_diameter') / 2\r
        filamentArea = math.pi * filamentRadius * filamentRadius\r