Example #1
0
 def test_nonaa_cone_generate_contains(self):
     # Test arbitrarily aligned cone
     from lepton.domain import Cone
     cone = Cone((-20, 12.5, -2.1), (-30, -10.22, 5.602), 5.77)
     for i in range(20):
         x, y, z = cone.generate()
         self.failUnless((x, y, z) in cone, (x, y, z))
Example #2
0
	def test_nonaa_cone_generate_contains(self):
		# Test arbitrarily aligned cone
		from lepton.domain import Cone
		cone = Cone((-20, 12.5, -2.1), (-30, -10.22, 5.602), 5.77)
		for i in range(20):
			x, y, z = cone.generate()
			self.failUnless((x, y, z) in cone, (x, y ,z))
Example #3
0
    def test_hollow_cone_generate_contains(self):
        from lepton.domain import Cone
        cone = Cone((1, -2, -1), (1, -2, 3), 3, 1)
        for i in range(20):
            x, y, z = cone.generate()
            r = (z + 1) / 4.0
            dist = math.sqrt(abs(x - 1)**2 + abs(y + 2)**2)
            self.failUnless(r <= dist <= r * 3, (x, y, z, r))
            self.failUnless(-1 <= z <= 3, z)
            self.failUnless((x, y, z) in cone, (x, y, z))

        self.failUnless((1, -2, -1) in cone)
        self.failUnless((1, -3.5, 3) in cone)
        self.failUnless((2, -2, 1) in cone)
        self.failIf((-1, -2, -0.9) in cone)
        self.failIf((1, -2, 3) in cone)
        self.failIf((-100, 0, 1000) in cone)
        self.failIf((0, 0, 0) in cone)
Example #4
0
    def test_solid_cone_generate_contains(self):
        from lepton.domain import Cone
        cone = Cone((-2, 0, 4), (-2, 2, 4), 2)
        for i in range(20):
            x, y, z = cone.generate()
            dist = math.sqrt(abs(x + 2)**2 + abs(z - 4)**2)
            self.failUnless(dist <= y * 2, (x, y, z))
            self.failUnless(0 <= y <= 2, y)
            self.failUnless((x, y, z) in cone, (x, y, z))

        self.failUnless((-2, 0, 4) in cone)
        self.failUnless((-2, 1, 4) in cone)
        self.failUnless((-2.5, 0.5, 4) in cone)
        self.failUnless((-2, 1, 5) in cone)
        self.failIf((-2.1, 0, 4) in cone)
        self.failIf((-2, 2.1, 4) in cone)
        self.failIf((-100, 0, 1000) in cone)
        self.failIf((0, 0, 0) in cone)
Example #5
0
	def test_hollow_cone_generate_contains(self):
		from lepton.domain import Cone
		cone = Cone((1, -2, -1), (1, -2, 3), 3, 1)
		for i in range(20):
			x, y, z = cone.generate()
			r = (z + 1) / 4.0
			dist = math.sqrt(abs(x - 1)**2 + abs(y + 2)**2)
			self.failUnless(r <= dist <= r * 3 , (x, y, z, r))
			self.failUnless(-1 <= z <= 3, z)
			self.failUnless((x, y, z) in cone, (x, y ,z))

		self.failUnless((1, -2, -1) in cone)
		self.failUnless((1, -3.5, 3) in cone)
		self.failUnless((2, -2, 1) in cone)
		self.failIf((-1, -2, -0.9) in cone)
		self.failIf((1, -2, 3) in cone)
		self.failIf((-100, 0, 1000) in cone)
		self.failIf((0, 0, 0) in cone)
Example #6
0
	def test_solid_cone_generate_contains(self):
		from lepton.domain import Cone
		cone = Cone((-2, 0, 4), (-2, 2, 4), 2)
		for i in range(20):
			x, y, z = cone.generate()
			dist = math.sqrt(abs(x + 2)**2 + abs(z - 4)**2)
			self.failUnless(dist <= y * 2, (x, y, z))
			self.failUnless(0 <= y <= 2, y)
			self.failUnless((x, y, z) in cone, (x, y ,z))

		self.failUnless((-2, 0, 4) in cone)
		self.failUnless((-2, 1, 4) in cone)
		self.failUnless((-2.5, 0.5, 4) in cone)
		self.failUnless((-2, 1, 5) in cone)
		self.failIf((-2.1, 0, 4) in cone)
		self.failIf((-2, 2.1, 4) in cone)
		self.failIf((-100, 0, 1000) in cone)
		self.failIf((0, 0, 0) in cone)
Example #7
0
    def test_shell_cone_generate_contains(self):
        from lepton.domain import Cone
        cone = Cone((0, 0, 0), (-10, 0, 0), 3, 3)
        for i in range(20):
            x, y, z = cone.generate()
            r = -x * 3.0 / 10.0
            dist = math.sqrt(abs(y)**2 + abs(z)**2)
            self.assertAlmostEqual(dist, r, 4)
            self.failUnless(-10 <= x <= 0, z)
            self.failUnless((x, y, z) in cone, (x, y, z))

        self.failUnless((0, 0, 0) in cone)
        self.failUnless((-10, 3, 0) in cone)
        self.failUnless((-10, 0, 3) in cone)
        self.failUnless((-5, 0, 1.5) in cone)
        self.failIf((-10, 0, 0) in cone)
        self.failIf((0.1, 0, 0) in cone)
        self.failIf((-0.1, 0, 0) in cone)
        self.failIf((-100, 0, 1000) in cone)
Example #8
0
	def test_shell_cone_generate_contains(self):
		from lepton.domain import Cone
		cone = Cone((0, 0, 0), (-10, 0, 0), 3, 3)
		for i in range(20):
			x, y, z = cone.generate()
			r = -x * 3.0 / 10.0
			dist = math.sqrt(abs(y)**2 + abs(z)**2)
			self.assertAlmostEqual(dist, r, 4)
			self.failUnless(-10 <= x <= 0, z)
			self.failUnless((x, y, z) in cone, (x, y ,z))

		self.failUnless((0, 0, 0) in cone)
		self.failUnless((-10, 3, 0) in cone)
		self.failUnless((-10, 0, 3) in cone)
		self.failUnless((-5, 0, 1.5) in cone)
		self.failIf((-10, 0, 0) in cone)
		self.failIf((0.1, 0, 0) in cone)
		self.failIf((-0.1, 0, 0) in cone)
		self.failIf((-100, 0, 1000) in cone)