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)
def new( self , pos , data = None ) : n = Node( Point() ) n.translate(*pos) self.add_child( n )