Ejemplo n.º 1
0
    def __init__(self, fov, ratio, near):
        self.fov = fov
        self.near = near
        self.ratio = ratio
        self.drawmode = Scene.DRAW2D
        self.mousemode = Scene.NONE
        self.cursormode = Scene.PNTBZADD

        self.pdist = 0.025
        self.pdist2 = self.pdist * self.pdist

        self.root = Node()
        self.root3d = Node()

        self.camera = Camera()
        self.proj = Projection()

        self.curves = Curves()

        #
        # craete planes
        #

        self.load_from_file(u'../data/młotek.gpt')
        #        self.load_from_file(u'../data/głowica.gpt')
        #        self.load_from_file(u'../data/cut_test_10.gpt')

        #
        # Craete torus
        #
        self.torus = Torus()

        self.node = Node()

        tn = Node(self.torus)
        tn.rotate(3.1415926 / 2.0, 1, 0, 0)

        self.cursor = Cursor(Cross(self.pdist))

        self.node.add_child(tn)
        self.node.add_child(self.cursor)
        self.node.add_child(self.curves)

        #
        # Craete normal scene
        #
        self.proj.perspective(self.fov, self.ratio, self.near, 10000)
        self.camera.lookat(*STARTLOOK)
        col = Node(color=(1, 1, 1))

        self.root.add_child(self.proj)
        self.proj.add_child(self.camera)
        self.camera.add_child(col)
        col.add_child(self.node)

        #
        # Create 3d scene
        #
        self.cam_left = Camera()
        self.cam_right = Camera()
        self.p_left = Projection()
        self.p_right = Projection()
        self.t_left = Node()
        self.t_right = Node()

        self.root3d.add_child(self.t_left)
        self.root3d.add_child(self.t_right)

        self.cam_left.lookat(*STARTLOOK)
        self.cam_right.lookat(*STARTLOOK)

        self.p_left.perspective(self.fov, self.ratio, self.near, 10000)
        self.p_right.perspective(self.fov, self.ratio, self.near, 10000)

        self.color_left = Node(color=(1, 0, 0))
        self.color_right = Node(color=(0, 1, 0))

        self.t_left.add_child(self.p_left)
        self.t_right.add_child(self.p_right)

        self.p_left.add_child(self.cam_left)
        self.p_right.add_child(self.cam_right)

        self.cam_left.add_child(self.color_left)
        self.cam_right.add_child(self.color_right)

        self.color_left.add_child(self.node)
        self.color_right.add_child(self.node)

        self.node.translate(0, 0, -2)
Ejemplo n.º 2
0
	def new( self , pos , data = None ) :
		n = Node( Point() )
		n.translate(*pos)
		self.add_child( n )