home *** CD-ROM | disk | FTP | other *** search
/ PCNET 2006 October - Disc 2 / PCNET_CD_2006_10_2.iso / apps / k3d-all-in-one-setup-0.5.14.0.exe / k3d-setup-0.5.14.0.exe / share / scripts / create_blobby.py < prev    next >
Encoding:
Python Source  |  2006-01-24  |  1.0 KB  |  45 lines

  1. #python
  2.  
  3. import k3d
  4.  
  5. doc = Document
  6. doc.start_change_set()
  7. try:
  8.     frozen_mesh = doc.new_node("FrozenMesh")
  9.     frozen_mesh.name = "Blobby"
  10.  
  11.     mesh = frozen_mesh.new_mesh()
  12.     positions = ((-.5, .5, 0), (.5, .5, 0), (.5, -.5, 0), (-.5, -.5, 0))
  13.     for position in positions:
  14.         mesh.new_point(position)
  15.  
  16.     blobby = mesh.new_blobby()
  17.  
  18.     ellipsoids = []
  19.     for point in mesh.points:
  20.         ellipsoids.append(blobby.new_ellipsoid(point))
  21.  
  22.     blobby.root = blobby.new_add(ellipsoids)
  23.  
  24.     mesh_instance = doc.new_node("MeshInstance")
  25.     mesh_instance.name = "Blobby Instance"
  26.  
  27.     scale = doc.new_node("Scale")
  28.     scale.name = "Blobby Scale"
  29.     scale.x = 5.0
  30.     scale.y = 5.0
  31.     scale.z = 5.0
  32.  
  33. #    mesh_instance.scale = (5, 5, 5)
  34.     doc.set_dependency(mesh_instance.get_property("input_mesh"), frozen_mesh.get_property("output_mesh"))
  35.     doc.set_dependency(mesh_instance.get_property("input_matrix"), scale.get_property("output_matrix"))
  36.  
  37.     doc.finish_change_set("Create Test Blobby")
  38.  
  39.     k3d.ui.message("Note: not all RenderMan engines can render blobby geometry!")
  40.  
  41. except:
  42.     doc.cancel_change_set()
  43.     raise
  44.  
  45.