def testCheckUV(self): a = pyngl.Obj() self.assertTrue(a.load(sourcedir + 'Triangle1.obj')) uv = a.getUVList() self.assertTrue(uv[0] == pyngl.Vec3(1.00000, 0.00000, 0.000000)) self.assertTrue(uv[1] == pyngl.Vec3(0.5000, 1.0000, 0.000000)) self.assertTrue(uv[2] == pyngl.Vec3(0.004399, 0.008916, 0.00000))
def testVec3xMat3(self): t1 = pyngl.Mat3() t1.rotateX(45.0) test = pyngl.Vec3(2, 1, 2) test = test * t1 result = pyngl.Vec3(2, -0.707107, 2.12132) self.assertTrue(test == result)
def testCheckVerts(self): a = pyngl.Obj() self.assertTrue(a.load(sourcedir + 'Triangle1.obj')) verts = a.getVertexList() self.assertTrue(verts[0] == pyngl.Vec3(2.0, 0.0, 0.0)) self.assertTrue(verts[1] == pyngl.Vec3(0.0, 4.0, 0.0)) self.assertTrue(verts[2] == pyngl.Vec3(-2.0, 0.0, 0.0))
def testCheckNormals(self): a = pyngl.Obj() self.assertTrue(a.load(sourcedir + 'Triangle1.obj')) normal = a.getNormalList() self.assertTrue(normal[0] == pyngl.Vec3(0.0, 0.0, 1.0)) self.assertTrue(normal[1] == pyngl.Vec3(0.0, 0.0, 1.0)) self.assertTrue(normal[2] == pyngl.Vec3(0.0, 0.0, 1.0))
def testLookAt(self): lookNGL = pyngl.lookAt(pyngl.Vec3(2.0, 2.0, 2.0), pyngl.Vec3(0, 0, 0), pyngl.Vec3(0, 1.0, 0)) lookGLM = glm.lookAt(glm.vec3(2.0, 2.0, 2.0), glm.vec3(0.0, 0.0, 0.0), glm.vec3(0.0, 1.0, 0.0)) self.assertTrue(self.glmToNGL(lookGLM) == lookNGL)
def testSaveVertsUV(self): a = pyngl.Obj() a.addVertex(pyngl.Vec3(2.00000, 0.00000, 0.000000)) a.addVertex(pyngl.Vec3(0.0000, 4.0000, 0.000000)) a.addVertex(pyngl.Vec3(-2.00000, 0.000000, 0.00000)) a.addUV(pyngl.Vec2(1.0, 0.0)) a.addUV(pyngl.Vec2(0.5, 1.0)) a.addUV(pyngl.Vec2(0.004399, 0.008916)) f = pyngl.Face() f.m_vert.push_back(0) f.m_vert.push_back(1) f.m_vert.push_back(2) f.m_uv.push_back(0) f.m_uv.push_back(1) f.m_uv.push_back(2) a.addFace(f) a.save('faceUV.obj') b = pyngl.Obj('faceUV.obj') face = b.getFaceList() self.assertEqual(face[0].m_vert[0], 0) self.assertEqual(face[0].m_vert[1], 1) self.assertEqual(face[0].m_vert[2], 2) verts = b.getVertexList() self.assertTrue(verts[0] == pyngl.Vec3(2.0, 0.0, 0.0)) self.assertTrue(verts[1] == pyngl.Vec3(0.0, 4.0, 0.0)) self.assertTrue(verts[2] == pyngl.Vec3(-2.0, 0.0, 0.0)) uv = b.getUVList() self.assertTrue(uv[0] == pyngl.Vec3(1.0, 0.0, 0.0)) self.assertTrue(uv[1] == pyngl.Vec3(0.5, 1.0, 0.0)) self.assertTrue(uv[2] == pyngl.Vec3(0.004399, 0.008916, 0.0)) os.remove('faceUV.obj')
def testAddUV3(self): a = pyngl.Obj() v = 0.0 for i in range(0, 20): a.addUV(pyngl.Vec3(v, v, v)) v = v + 1.0 uv = a.getUVList() v = 0.0 for i in range(0, 20): self.assertTrue(uv[i] == pyngl.Vec3(v, v, v)) v += 1.0
def testAddNormal(self): a = pyngl.Obj() v = 0.0 for i in range(0, 20): a.addNormal(pyngl.Vec3(v, v, v)) v = v + 1.0 norm = a.getNormalList() v = 0.0 for i in range(0, 20): self.assertTrue(norm[i] == pyngl.Vec3(v, v, v)) v += 1.0
def testAddVertex(self): a = pyngl.Obj() v = 0.0 for i in range(0, 20): a.addVertex(pyngl.Vec3(v, v, v)) v = v + 1.0 verts = a.getVertexList() v = 0.0 for i in range(0, 20): self.assertTrue(verts[i] == pyngl.Vec3(v, v, v)) v += 1.0
def testBuildObj(self): a = self.buildObj() face = a.getFaceList() self.assertEqual(face[0].m_vert[0], 0) self.assertEqual(face[0].m_vert[1], 1) self.assertEqual(face[0].m_vert[2], 2) self.assertEqual(face[0].m_norm[0], 0) self.assertEqual(face[0].m_norm[1], 1) self.assertEqual(face[0].m_norm[2], 2) self.assertEqual(face[0].m_uv[0], 0) self.assertEqual(face[0].m_uv[1], 1) self.assertEqual(face[0].m_uv[2], 2) verts = a.getVertexList() self.assertTrue(verts[0] == pyngl.Vec3(2.00000, 0.00000, 0.000000)) self.assertTrue(verts[1] == pyngl.Vec3(0.0000, 4.0000, 0.000000)) self.assertTrue(verts[2] == pyngl.Vec3(-2.00000, 0.000000, 0.000000)) norm = a.getNormalList() self.assertTrue(norm[0] == pyngl.Vec3(0.0, 0.0, 1.0)) self.assertTrue(norm[1] == pyngl.Vec3(0.0, 0.0, 1.0)) self.assertTrue(norm[2] == pyngl.Vec3(0.0, 0.0, 1.0)) uv = a.getUVList() self.assertTrue(uv[0] == pyngl.Vec3(1.0, 0.0, 0.0)) self.assertTrue(uv[1] == pyngl.Vec3(0.5, 1.0, 0.0)) self.assertTrue(uv[2] == pyngl.Vec3(0.004399, 0.008916, 0.0))
def testSaveVertsOnly(self): a = pyngl.Obj() a.addVertex(pyngl.Vec3(2.00000, 0.00000, 0.000000)) a.addVertex(pyngl.Vec3(0.0000, 4.0000, 0.000000)) a.addVertex(pyngl.Vec3(-2.00000, 0.000000, 0.00000)) f = pyngl.Face() f.m_vert.push_back(0) f.m_vert.push_back(1) f.m_vert.push_back(2) a.addFace(f) a.save('faceOnly.obj') b = pyngl.Obj('faceOnly.obj') face = b.getFaceList() self.assertEqual(face[0].m_vert[0], 0) self.assertEqual(face[0].m_vert[1], 1) self.assertEqual(face[0].m_vert[2], 2) verts = b.getVertexList() self.assertTrue(verts[0] == pyngl.Vec3(2.0, 0.0, 0.0)) self.assertTrue(verts[1] == pyngl.Vec3(0.0, 4.0, 0.0)) self.assertTrue(verts[2] == pyngl.Vec3(-2.0, 0.0, 0.0)) os.remove('faceOnly.obj')
def buildObj(self): a = pyngl.Obj() a.addVertex(pyngl.Vec3(2.00000, 0.00000, 0.000000)) a.addVertex(pyngl.Vec3(0.0000, 4.0000, 0.000000)) a.addVertex(pyngl.Vec3(-2.00000, 0.000000, 0.000000)) a.addUV(pyngl.Vec2(1.000000, 0.000000)) a.addUV(pyngl.Vec2(0.500000, 1.000000)) a.addUV(pyngl.Vec2(0.004399, 0.008916)) a.addNormal(pyngl.Vec3(0.000000, 0.000000, 1.000000)) a.addNormal(pyngl.Vec3(0.000000, 0.000000, 1.000000)) a.addNormal(pyngl.Vec3(0.000000, 0.000000, 1.000000)) f = pyngl.Face() # f 1/1/1 2/2/2 3/3/3 f.m_vert.push_back(0) f.m_vert.push_back(1) f.m_vert.push_back(2) f.m_uv.push_back(0) f.m_uv.push_back(1) f.m_uv.push_back(2) f.m_norm.push_back(0) f.m_norm.push_back(1) f.m_norm.push_back(2) a.addFace(f) return a
def testCopyCtor(self): a = pyngl.Obj() a.addVertex(pyngl.Vec3(2.00000, 0.00000, 0.000000)) a.addVertex(pyngl.Vec3(0.0000, 4.0000, 0.000000)) a.addVertex(pyngl.Vec3(-2.00000, 0.000000, 0.00000)) a.addNormal(pyngl.Vec3(0.0, 0.0, 1.0)) a.addNormal(pyngl.Vec3(0.0, 0.0, 1.0)) a.addNormal(pyngl.Vec3(0.0, 0.0, 1.0)) a.addUV(pyngl.Vec2(1.0, 0.0)) a.addUV(pyngl.Vec2(0.5, 1.0)) a.addUV(pyngl.Vec2(0.004399, 0.008916)) f = pyngl.Face() f.m_vert.push_back(0) f.m_vert.push_back(1) f.m_vert.push_back(2) f.m_norm.push_back(0) f.m_norm.push_back(1) f.m_norm.push_back(2) f.m_uv.push_back(0) f.m_uv.push_back(1) f.m_uv.push_back(2) a.addFace(f) b = a face = b.getFaceList() self.assertEqual(face[0].m_vert[0], 0) self.assertEqual(face[0].m_vert[1], 1) self.assertEqual(face[0].m_vert[2], 2) verts = b.getVertexList() self.assertTrue(verts[0] == pyngl.Vec3(2.0, 0.0, 0.0)) self.assertTrue(verts[1] == pyngl.Vec3(0.0, 4.0, 0.0)) self.assertTrue(verts[2] == pyngl.Vec3(-2.0, 0.0, 0.0)) norm = b.getNormalList() self.assertTrue(norm[0] == pyngl.Vec3(0.0, 0.0, 1.0)) self.assertTrue(norm[1] == pyngl.Vec3(0.0, 0.0, 1.0)) self.assertTrue(norm[2] == pyngl.Vec3(0.0, 0.0, 1.0)) uv = b.getUVList() self.assertTrue(uv[0] == pyngl.Vec3(1.0, 0.0, 0.0)) self.assertTrue(uv[1] == pyngl.Vec3(0.5, 1.0, 0.0)) self.assertTrue(uv[2] == pyngl.Vec3(0.004399, 0.008916, 0.0))
def saveVertsNormal(self): a = pyngl.Obj() a.addVertex(pyngl.Vec3(2.00000, 0.00000, 0.000000)) a.addVertex(pyngl.Vec3(0.0000, 4.0000, 0.000000)) a.addVertex(pyngl.Vec3(-2.00000, 0.000000, 0.00000)) a.addNormal(pyngl.Vec3(0.0, 0.0, 1.0)) a.addNormal(pyngl.Vec3(0.0, 0.0, 1.0)) a.addNormal(pyngl.Vec3(0.0, 0.0, 1.0)) f = pyngl.Face() f.m_vert.push_back(0) f.m_vert.push_back(1) f.m_vert.push_back(2) f.m_norm.push_back(0) f.m_norm.push_back(1) f.m_norm.push_back(2) a.addFace(f) a.save('faceVertNormal.obj') b = pyngl.Obj('faceVertNormal.obj') face = b.getFaceList() self.assertEqual(face[0].m_vert[0], 0) self.assertEqual(face[0].m_vert[1], 1) self.assertEqual(face[0].m_vert[2], 2) verts = b.getVertexList() self.assertTrue(verts[0] == pyngl.Vec3(2.0, 0.0, 0.0)) self.assertTrue(verts[1] == pyngl.Vec3(0.0, 4.0, 0.0)) self.assertTrue(verts[2] == pyngl.Vec3(-2.0, 0.0, 0.0)) norm = b.getUVList() self.assertTrue(norm[0] == pyngl.Vec3(0.0, 0.0, 1.0)) self.assertTrue(norm[1] == pyngl.Vec3(0.0, 0.0, 1.0)) self.assertTrue(norm[2] == pyngl.Vec3(0.0, 0.0, 1.0)) os.remove('faceVertNormal.obj')
def testCalcNormal2(self): result = pyngl.calcNormal(pyngl.Vec4(-1.0, -1.0, 0.0, 0.0), pyngl.Vec4(0.0, 0.0, 0.0, 0.0), pyngl.Vec4(1.0, -1.0, 0.0, 0.0)) self.assertEqual(result, pyngl.Vec3(0.0, 0.0, 1.0))