def create_camera(document): camera_view = k3d.plugin.create("ViewMatrix", document) camera_view.position = k3d.translate3(k3d.vector3(-10, -15, 10)) camera_view.look = k3d.identity3() camera_view.up = k3d.translate3(k3d.vector3(0, 0, 20)) camera = k3d.plugin.create("Camera", document) k3d.property.connect(document, camera_view.get_property("output_matrix"), camera.get_property("input_matrix")) return camera
def create_camera(document): camera_view = document.new_node("ViewMatrix") camera_view.position = k3d.translate3(k3d.vector3(-10, -15, 10)) camera_view.look = k3d.identity3() camera_view.up = k3d.translate3(k3d.vector3(0, 0, 20)) camera = document.new_node("Camera") document.set_dependency(camera.get_property("input_matrix"), camera_view.get_property("output_matrix")) return camera
mesh = setup.source.create_mesh() primitive = mesh.primitives().create("test") array_types = [ "k3d::bool_t", "k3d::color", "k3d::double_t", "k3d::imaterial*", "k3d::inode*", "k3d::int16_t", "k3d::int32_t", "k3d::int64_t", "k3d::int8_t", "k3d::matrix4", "k3d::normal3", "k3d::point2", "k3d::point3", "k3d::point4", "k3d::string_t", "k3d::texture3", "k3d::uint16_t", "k3d::uint32_t", "k3d::uint64_t", "k3d::uint8_t", "k3d::vector2", "k3d::vector3", "k3d::uint_t" ] array_values = [ True, k3d.color(1, 2, 3), 1.0, None, None, 1, 2, 3, 4, k3d.identity3(), k3d.normal3(1, 2, 3), k3d.point2(1, 2), k3d.point3(1, 2, 3), k3d.point4(1, 2, 3, 4), "A String", k3d.texture3(1, 2, 3), 1, 2, 3, 4, k3d.vector2(1, 2), k3d.vector3(1, 2, 3), 7 ] structure = primitive.structure().create("generic") attributes = primitive.attributes().create("generic") for i in range(len(array_types)): type = array_types[i] value = array_values[i]
for i in (k3d.translate3(center[0], center[1], center[2]) * k3d.scale3(1)).column_major_list(): blobby.floats().append(i) # Add a segment to the blobby ... blobby.primitives().append(k3d.blobby.primitive_type.SEGMENT) blobby.primitive_first_floats().append(len(blobby.floats())) blobby.primitive_float_counts().append(23) blobby.floats().append(-1) blobby.floats().append(0) blobby.floats().append(0) blobby.floats().append(1) blobby.floats().append(0) blobby.floats().append(0) blobby.floats().append(1) for i in k3d.identity3().column_major_list(): blobby.floats().append(i) # Assign colors to each ellipsoid and segment ... Cs.assign([ k3d.color(1, 0, 0), k3d.color(0, 1, 0), k3d.color(0, 0, 1), k3d.color(1, 1, 0), k3d.color(1, 1, 1) ]) # Add the ellipsoids and segment together to produce a surface ... blobby.operators().append(k3d.blobby.operator_type.ADD) blobby.operator_first_operands().append(len(blobby.operands())) blobby.operator_operand_counts().append(6)
#python import k3d import sys import testing document = k3d.new_document() source = document.new_node("FrozenMesh") mesh = source.create_mesh() primitive = mesh.primitives().create("test") array_types = [ "k3d::bool_t", "k3d::color", "k3d::double_t", "k3d::imaterial*", "k3d::inode*", "k3d::int16_t", "k3d::int32_t", "k3d::int64_t", "k3d::int8_t", "k3d::matrix4", "k3d::normal3", "k3d::point2", "k3d::point3", "k3d::point4", "k3d::string_t", "k3d::texture3", "k3d::uint16_t", "k3d::uint32_t", "k3d::uint64_t", "k3d::uint8_t", "k3d::vector2", "k3d::vector3", "k3d::uint_t" ] array_values = [ True, k3d.color(1, 2, 3), 1.0, None, None, 1, 2, 3, 4, k3d.identity3(), k3d.normal3(1, 2, 3), k3d.point2(1, 2), k3d.point3(1, 2, 3), k3d.point4(1, 2, 3, 4), "A String", k3d.texture3(1, 2, 3), 1, 2, 3, 4, k3d.vector2(1, 2), k3d.vector3(1, 2, 3), 7 ] attributes = primitive.attributes().create("uniform") for i in range(len(array_types)): type = array_types[i] value = array_values[i] named_array = primitive.structure().create(type, type) named_array.append(value) named_array.append(value) attribute_array = attributes.create(type, type) attribute_array.append(value) attribute_array.append(value) attribute_array.append(value) print repr(mesh) sys.stdout.flush()
#python import k3d context.output = k3d.identity3()
for center in ellipsoids: blobby.primitives().append(k3d.blobby.primitive_type.ELLIPSOID) blobby.primitive_first_floats().append(len(blobby.floats())) blobby.primitive_float_counts().append(16) for i in (k3d.translate3(center[0], center[1], center[2]) * k3d.scale3(1)).column_major_values(): blobby.floats().append(i) # Add a segment to the blobby ... blobby.primitives().append(k3d.blobby.primitive_type.SEGMENT) blobby.primitive_first_floats().append(len(blobby.floats())) blobby.primitive_float_counts().append(23) blobby.floats().append(-1) blobby.floats().append(0) blobby.floats().append(0) blobby.floats().append(1) blobby.floats().append(0) blobby.floats().append(0) blobby.floats().append(1) for i in k3d.identity3().column_major_values(): blobby.floats().append(i) # Assign colors to each ellipsoid and segment ... Cs.assign([k3d.color(1, 0, 0), k3d.color(0, 1, 0), k3d.color(0, 0, 1), k3d.color(1, 1, 0), k3d.color(1, 1, 1)]) # Add the ellipsoids and segment together to produce a surface ... blobby.operators().append(k3d.blobby.operator_type.ADD) blobby.operator_first_operands().append(len(blobby.operands())) blobby.operator_operand_counts().append(6) blobby.operands().assign([5, 0, 1, 2, 3, 4])
#python import k3d import sys import testing setup = testing.setup_mesh_writer_test(["FrozenMesh", "K3DMeshWriter"], "K3DMeshReader", "mesh.serialization.k3d") mesh = setup.source.create_mesh() primitive = mesh.primitives().create("test") array_types = [ "k3d::bool_t", "k3d::color", "k3d::double_t", "k3d::imaterial*", "k3d::inode*", "k3d::int16_t", "k3d::int32_t", "k3d::int64_t", "k3d::int8_t", "k3d::matrix4", "k3d::normal3", "k3d::point2", "k3d::point3", "k3d::point4", "k3d::string_t", "k3d::texture3", "k3d::uint16_t", "k3d::uint32_t", "k3d::uint64_t", "k3d::uint8_t", "k3d::vector2", "k3d::vector3", "k3d::uint_t" ] array_values = [ True, k3d.color(1, 2, 3), 1.0, None, None, 1, 2, 3, 4, k3d.identity3(), k3d.normal3(1, 2, 3), k3d.point2(1, 2), k3d.point3(1, 2, 3), k3d.point4(1, 2, 3, 4), "A String", k3d.texture3(1, 2, 3), 1, 2, 3, 4, k3d.vector2(1, 2), k3d.vector3(1, 2, 3), 7 ] structure = primitive.structure().create("generic") attributes = primitive.attributes().create("generic") for i in range(len(array_types)): type = array_types[i] value = array_values[i] structure_array = structure.create(type, type) structure_array.append(value) structure_array.append(value) structure_array.append(value) attribute_array = attributes.create(type, type) attribute_array.append(value) attribute_array.append(value) attribute_array.append(value)
for i in (k3d.translate3(center[0], center[1], center[2]) * k3d.scale3(1)).column_major_values(): blobby.floats().append(i) # Add a segment to the blobby ... blobby.primitives().append(k3d.blobby.primitive_type.SEGMENT) blobby.primitive_first_floats().append(len(blobby.floats())) blobby.primitive_float_counts().append(23) blobby.floats().append(-1) blobby.floats().append(0) blobby.floats().append(0) blobby.floats().append(1) blobby.floats().append(0) blobby.floats().append(0) blobby.floats().append(1) for i in k3d.identity3().column_major_values(): blobby.floats().append(i) # Assign colors to each ellipsoid and segment ... Cs.assign([ k3d.color(1, 0, 0), k3d.color(0, 1, 0), k3d.color(0, 0, 1), k3d.color(1, 1, 0), k3d.color(1, 1, 1) ]) # Add the ellipsoids and segment together to produce a surface ... blobby.operators().append(k3d.blobby.operator_type.ADD) blobby.operator_first_operands().append(len(blobby.operands())) blobby.operator_operand_counts().append(6)
#python import k3d Output = k3d.identity3()