home *** CD-ROM | disk | FTP | other *** search
/ Hackers Magazine 57 / CdHackersMagazineNr57.iso / Software / Multimedia / k3d-setup-0.7.11.0.exe / share / k3d / scripts / snap_test.py < prev    next >
Encoding:
Python Source  |  2008-01-23  |  1.6 KB  |  46 lines

  1. #python
  2.  
  3. import k3d
  4. import sys
  5.  
  6. doc = Document
  7. doc.start_change_set()
  8. try:
  9.     floor = doc.new_node("PolyCube")
  10.     floor.name = "Floor"
  11.     floor.width = 10
  12.     floor.height = 10
  13.     floor.depth = 2
  14.  
  15.     floor_instance = doc.new_node("MeshInstance")
  16.     floor_instance.name = "Floor Instance"
  17.     floor_instance.gl_painter = doc.get_node("GL Default Painter")
  18.     floor_instance.ri_painter = doc.get_node("RenderMan Default Painter")
  19.     doc.set_dependency(floor_instance.get_property("input_mesh"), floor.get_property("output_mesh"))
  20.  
  21.     k3d.dynamic_cast(floor_instance, "isnappable").add_snap_target("-x", k3d.point3(-5, 0, 0))
  22.     k3d.dynamic_cast(floor_instance, "isnappable").add_snap_target("+x", k3d.point3(5, 0, 0))
  23.     k3d.dynamic_cast(floor_instance, "isnappable").add_snap_target("-y", k3d.point3(0, -5, 0))
  24.     k3d.dynamic_cast(floor_instance, "isnappable").add_snap_target("+y", k3d.point3(0, 5, 0))
  25.     k3d.dynamic_cast(floor_instance, "isnappable").add_snap_target("-z", k3d.point3(0, 0, -1))
  26.     k3d.dynamic_cast(floor_instance, "isnappable").add_snap_target("+z", k3d.point3(0, 0, 1))
  27.  
  28.     chair = doc.new_node("PolyCube")
  29.     chair.name = "Chair"
  30.  
  31.     chair_instance = doc.new_node("MeshInstance")
  32.     chair_instance.name = "Chair Instance"
  33.     chair_instance.gl_painter = doc.get_node("GL Default Painter")
  34.     chair_instance.ri_painter = doc.get_node("RenderMan Default Painter")
  35.     doc.set_dependency(chair_instance.get_property("input_mesh"), chair.get_property("output_mesh"))
  36.  
  37.     k3d.dynamic_cast(chair_instance, "isnappable").add_snap_source("bottom", k3d.point3(0, 0, -2.5))
  38.  
  39.     doc.finish_change_set("Create Snap Cube")
  40.  
  41. except:
  42.     doc.cancel_change_set()
  43.     raise
  44.  
  45. sys.stdout.flush()
  46.