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