Exemple #1
0
    def test_tetra_bcoord (self):
        tetra = [   CrankBase.VecFloat3.init (2, 3, 0),
                    CrankBase.VecFloat3.init (0, 1, 1),
                    CrankBase.VecFloat3.init (3, 1, 2),
                    CrankBase.VecFloat3.init (1, 2, 3)  ]

        pt = CrankBase.VecFloat3.init (2, 2, 2)
        bcoord = CrankShape.tetra_bcoord (tetra, pt)
        self.assertFloat (bcoord.x,  0.2667)
        self.assertFloat (bcoord.y, -0.0667)
        self.assertFloat (bcoord.z,  0.3333)
        self.assertFloat (bcoord.w,  0.4667)

        pt = CrankBase.VecFloat3.init (1, 1, 3)
        bcoord = CrankShape.tetra_bcoord (tetra, pt)
        self.assertFloat (bcoord.x, -0.3333)
        self.assertFloat (bcoord.y,  0.3333)
        self.assertFloat (bcoord.z,  0.3333)
        self.assertFloat (bcoord.w,  0.6667)