Example #1
0
    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.append(0)
        f.m_vert.append(1)
        f.m_vert.append(2)
        f.m_uv.append(0)
        f.m_uv.append(1)
        f.m_uv.append(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')
Example #2
0
 def testAddUV2(self):
     a = pyngl.Obj()
     v = 0.0
     for i in range(0, 20):
         a.addUV(pyngl.Vec2(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, 0))
         v += 1.0
Example #3
0
    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.append(0)
        f.m_vert.append(1)
        f.m_vert.append(2)
        f.m_norm.append(0)
        f.m_norm.append(1)
        f.m_norm.append(2)
        f.m_uv.append(0)
        f.m_uv.append(1)
        f.m_uv.append(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))
Example #4
0
 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.append(0)
     f.m_vert.append(1)
     f.m_vert.append(2)
     f.m_uv.append(0)
     f.m_uv.append(1)
     f.m_uv.append(2)
     f.m_norm.append(0)
     f.m_norm.append(1)
     f.m_norm.append(2)
     a.addFace(f)
     return a
Example #5
0
 def testMinusEqual(self):
     a = pyngl.Vec2(1.0, 2.0)
     b = pyngl.Vec2(2.0, 3.0)
     a -= b
     self.assertAlmostEquals(a.m_x, -1.0, delta=0.001)
     self.assertAlmostEquals(a.m_y, -1.0, delta=0.001)
Example #6
0
 def testMultiplyFloat(self):
     a = pyngl.Vec2(1.0, 2.0)
     b = a * 2.0
     self.assertAlmostEquals(b.m_x, 2.0, delta=0.001)
     self.assertAlmostEquals(b.m_y, 4.0, delta=0.001)
Example #7
0
 def testAddEqual(self):
     a = pyngl.Vec2(1.0, 2.0)
     b = pyngl.Vec2(2.0, 3.0)
     a += b
     self.assertAlmostEquals(a.m_x, 3.0, delta=0.001)
     self.assertAlmostEquals(a.m_y, 5.0, delta=0.001)
Example #8
0
 def testMinus(self):
     a = pyngl.Vec2(1.0, 2.0)
     b = pyngl.Vec2(2.0, 3.0)
     c = a - b
     self.assertAlmostEquals(c.m_x, -1.0, delta=0.001)
     self.assertAlmostEquals(c.m_y, -1.0, delta=0.001)
Example #9
0
 def testdefaultCtor(self):
     test = pyngl.Vec2()
     result = pyngl.Vec2(0.0, 0.0)
     self.assertEqual(test, result)
Example #10
0
 def testAdd(self):
     a = pyngl.Vec2(1.0, 2.0)
     b = pyngl.Vec2(2.0, 3.0)
     c = a + b
     self.assertAlmostEquals(c.m_x, 3.0, delta=0.001)
     self.assertAlmostEquals(c.m_y, 5.0, delta=0.001)
Example #11
0
 def testDivideEqualVec(self):
     a = pyngl.Vec2(1.0, 2.0)
     b = pyngl.Vec2(2.0, 2.0)
     a /= b
     self.assertAlmostEquals(a.m_x, 0.5, delta=0.001)
     self.assertAlmostEquals(a.m_y, 1.0, delta=0.001)
Example #12
0
 def testDivideVec(self):
     a = pyngl.Vec2(1.0, 2.0)
     b = pyngl.Vec2(2.0, 2.0)
     c = a / b
     self.assertAlmostEquals(c.m_x, 0.5, delta=0.001)
     self.assertAlmostEquals(c.m_y, 1.0, delta=0.001)
Example #13
0
 def testLength(self):
     a = pyngl.Vec2(22.0, 1.0)
     self.assertAlmostEqual(a.length(), 22.022, delta=0.001)
Example #14
0
 def testLengthSquared(self):
     a = pyngl.Vec2(22.0, 1.0)
     self.assertAlmostEqual(a.lengthSquared(), 485.0, delta=0.001)
Example #15
0
 def testNormalize(self):
     test = pyngl.Vec2(22.3, 0.5)
     test.normalize()
     result = pyngl.Vec2(0.9997, 0.0224)
     self.assertTrue(test == result)
     self.assertEqual(test, result)
Example #16
0
 def testNull(self):
     test = pyngl.Vec2(1, 2)
     test.null()
     self.assertTrue(test == pyngl.Vec2.zero())
Example #17
0
 def testDotProduct(self):
     a = pyngl.Vec2(1.0, 2.0)
     b = pyngl.Vec2(4.0, 5.0)
     self.assertEqual(a.dot(b), 14.0)
Example #18
0
 def testMultiplyEqualFloat(self):
     a = pyngl.Vec2(1.0, 2.0)
     a *= 2.0
     self.assertAlmostEquals(a.m_x, 2.0, delta=0.001)
     self.assertAlmostEquals(a.m_y, 4.0, delta=0.001)
Example #19
0
 def testDivideEqualFloat(self):
     a = pyngl.Vec2(1.0, 2.0)
     a /= 2.0
     self.assertAlmostEquals(a.m_x, 0.5, delta=0.001)
     self.assertAlmostEquals(a.m_y, 1.0, delta=0.001)
Example #20
0
 def testVec2xMat2(self) :
   t1=pyngl.Mat2()
   test=pyngl.Vec2(2,1)
   test=test*t1;
   result=pyngl.Vec2(2,1)
   self.assertTrue(test==result)
Example #21
0
 def testAssignOperator(self):
     test = pyngl.Vec2(1.0, 2.0)
     copy = test
     result = pyngl.Vec2(1.0, 2.0)
     self.assertEqual(test, result)
Example #22
0
 def testSubscipt(self):
     test = pyngl.Vec2(1, 2)
     self.assertAlmostEqual(test[0], 1.0)
     self.assertAlmostEqual(test[1], 2.0)
Example #23
0
 def testSizeof(self):
     test = pyngl.Vec2()
     self.assertTrue(test.sizeof() == 2 * ctypes.sizeof(ctypes.c_float))
Example #24
0
 def testFloatCtor(self):
     test = pyngl.Vec2(1.0, 2.0)
     result = pyngl.Vec2(1.0, 2.0)
     self.assertEqual(test, result)
Example #25
0
 def testDivideFloat(self):
     a = pyngl.Vec2(1.0, 2.0)
     b = a / 2.0
     self.assertAlmostEquals(b.m_x, 0.5, delta=0.001)
     self.assertAlmostEquals(b.m_y, 1.0, delta=0.001)