import math\r
import threading\r
import re\r
+import time\r
\r
from wx import glcanvas\r
import wx\r
def updateModelTransform(self, f=0):\r
if self.triangleMesh == None:\r
return\r
- for face in self.triangleMesh.faces:\r
- face.normal = None\r
scale = 1.0\r
rotate = 0.0\r
try:\r
self.triangleMesh.vertexes[i].x = self.triangleMesh.origonalVertexes[i].x * mat00 + self.triangleMesh.origonalVertexes[i].y * mat01\r
self.triangleMesh.vertexes[i].y = self.triangleMesh.origonalVertexes[i].x * mat10 + self.triangleMesh.origonalVertexes[i].y * mat11\r
self.triangleMesh.vertexes[i].z = self.triangleMesh.origonalVertexes[i].z * scaleZ\r
+\r
+ for face in self.triangleMesh.faces:\r
+ v1 = self.triangleMesh.vertexes[face.vertexIndexes[0]]\r
+ v2 = self.triangleMesh.vertexes[face.vertexIndexes[1]]\r
+ v3 = self.triangleMesh.vertexes[face.vertexIndexes[2]]\r
+ face.normal = (v2 - v1).cross(v3 - v1)\r
+ face.normal.normalize()\r
+\r
self.moveModel()\r
\r
def moveModel(self):\r
v1 = self.parent.triangleMesh.vertexes[face.vertexIndexes[0]]\r
v2 = self.parent.triangleMesh.vertexes[face.vertexIndexes[1]]\r
v3 = self.parent.triangleMesh.vertexes[face.vertexIndexes[2]]\r
- if face.normal == None:\r
- face.normal = (v2 - v1).cross(v3 - v1)\r
- face.normal.normalize()\r
glNormal3f(face.normal.x, face.normal.y, face.normal.z)\r
glVertex3f(v1.x, v1.y, v1.z)\r
glVertex3f(v2.x, v2.y, v2.z)\r