Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArystanbek Dyussenov <arystan.d@gmail.com>2010-09-04 22:49:07 +0400
committerArystanbek Dyussenov <arystan.d@gmail.com>2010-09-04 22:49:07 +0400
commit90b464d3728d9ed8ec26fdf59058d236b99dbcd9 (patch)
treee88cab4fb1358e962b19f658064ca8c9f8d29f5b /release/scripts/templates
parent08d02dd04d836976b25793bb1d4c6a86b3f924c7 (diff)
parentb0b787ef38f9947b3176642556f5282eb3518f69 (diff)
COLLADA branch: merge from trunk -r 28015:31610.soc-2009-chingachgook
Diffstat (limited to 'release/scripts/templates')
-rw-r--r--release/scripts/templates/gamelogic.py4
-rw-r--r--release/scripts/templates/operator.py17
-rw-r--r--release/scripts/templates/operator_modal.py3
-rw-r--r--release/scripts/templates/operator_modal_draw.py21
-rw-r--r--release/scripts/templates/operator_modal_view3d.py53
-rw-r--r--release/scripts/templates/operator_simple.py5
-rw-r--r--release/scripts/templates/operator_uv.py20
-rw-r--r--release/scripts/templates/panel_simple.py2
8 files changed, 83 insertions, 42 deletions
diff --git a/release/scripts/templates/gamelogic.py b/release/scripts/templates/gamelogic.py
index b4eac81b492..21a901c091b 100644
--- a/release/scripts/templates/gamelogic.py
+++ b/release/scripts/templates/gamelogic.py
@@ -6,8 +6,8 @@
# for keyboard event comparison
# import GameKeys
-# support for Vector(), Matrix() types and advanced functions like ScaleMatrix(...) and RotationMatrix(...)
-# import Mathutils
+# support for Vector(), Matrix() types and advanced functions like Matrix.Scale(...) and Matrix.Rotation(...)
+# import mathutils
# for functions like getWindowWidth(), getWindowHeight()
# import Rasterizer
diff --git a/release/scripts/templates/operator.py b/release/scripts/templates/operator.py
index 23d75607ba3..5a525784b51 100644
--- a/release/scripts/templates/operator.py
+++ b/release/scripts/templates/operator.py
@@ -1,7 +1,6 @@
-
import bpy
-def write_some_data(context, path, use_some_setting):
+def write_some_data(context, filepath, use_some_setting):
print("running write_some_data...")
pass
@@ -16,7 +15,7 @@ class ExportSomeData(bpy.types.Operator):
# to the class instance from the operator settings before calling.
# TODO, add better example props
- path = StringProperty(name="File Path", description="File path used for exporting the PLY file", maxlen= 1024, default= "")
+ filepath = StringProperty(name="File Path", description="File path used for exporting the PLY file", maxlen= 1024, default= "")
use_setting = BoolProperty(name="Example Boolean", description="Example Tooltip", default= True)
type = bpy.props.EnumProperty(items=(('OPT_A', "First Option", "Description one"), ('OPT_B', "Second Option", "Description two.")),
@@ -24,16 +23,17 @@ class ExportSomeData(bpy.types.Operator):
description="Choose between two items",
default='OPT_A')
- def poll(self, context):
+ @classmethod
+ def poll(cls, context):
return context.active_object != None
def execute(self, context):
# # Bug, currently isnt working
- #if not self.is_property_set("path"):
+ #if not self.is_property_set("filepath"):
# raise Exception("filename not set")
- write_some_data(self.properties.path, context, self.properties.use_setting)
+ write_some_data(self.properties.filepath, context, self.properties.use_setting)
return {'FINISHED'}
@@ -55,12 +55,9 @@ class ExportSomeData(bpy.types.Operator):
return self.execute(context)
-
-bpy.types.register(ExportSomeData)
-
# Only needed if you want to add into a dynamic menu
menu_func = lambda self, context: self.layout.operator("export.some_data", text="Example Exporter...")
bpy.types.INFO_MT_file_export.append(menu_func)
if __name__ == "__main__":
- bpy.ops.export.some_data('INVOKE_DEFAULT', path="/tmp/test.ply")
+ bpy.ops.export.some_data('INVOKE_DEFAULT', filepath="/tmp/test.ply")
diff --git a/release/scripts/templates/operator_modal.py b/release/scripts/templates/operator_modal.py
index b2839efabe4..0c5db47674b 100644
--- a/release/scripts/templates/operator_modal.py
+++ b/release/scripts/templates/operator_modal.py
@@ -1,3 +1,4 @@
+import bpy
from bpy.props import *
class ModalOperator(bpy.types.Operator):
@@ -33,7 +34,5 @@ class ModalOperator(bpy.types.Operator):
return {'CANCELLED'}
-bpy.types.register(ModalOperator)
-
if __name__ == "__main__":
bpy.ops.object.modal_operator()
diff --git a/release/scripts/templates/operator_modal_draw.py b/release/scripts/templates/operator_modal_draw.py
index 3c7c4409f50..56ffb95f555 100644
--- a/release/scripts/templates/operator_modal_draw.py
+++ b/release/scripts/templates/operator_modal_draw.py
@@ -1,13 +1,16 @@
+import bpy
import bgl
import blf
def draw_callback_px(self, context):
print("mouse points", len(self.mouse_path))
+ font_id = 0 # XXX, need to find out how best to get this.
+
# draw some text
- blf.position(15, 30, 0)
- blf.size(20, 72)
- blf.draw("Hello Word " + str(len(self.mouse_path)))
+ blf.position(font_id, 15, 30, 0)
+ blf.size(font_id, 20, 72)
+ blf.draw(font_id, "Hello Word " + str(len(self.mouse_path)))
# 50% alpha, 2 pixel width line
bgl.glEnable(bgl.GL_BLEND)
@@ -61,15 +64,3 @@ class ModalDrawOperator(bpy.types.Operator):
else:
self.report({'WARNING'}, "View3D not found, cannot run operator")
return {'CANCELLED'}
-
-
-def register():
- bpy.types.register(ModalDrawOperator)
-
-
-def unregister():
- bpy.types.unregister(ModalDrawOperator)
-
-
-if __name__ == "__main__":
- register()
diff --git a/release/scripts/templates/operator_modal_view3d.py b/release/scripts/templates/operator_modal_view3d.py
new file mode 100644
index 00000000000..9b49fd947ad
--- /dev/null
+++ b/release/scripts/templates/operator_modal_view3d.py
@@ -0,0 +1,53 @@
+import bpy
+from mathutils import Vector
+from bpy.props import FloatVectorProperty
+
+class ViewOperator(bpy.types.Operator):
+ '''Translate the view using mouse events.'''
+ bl_idname = "view3d.modal_operator"
+ bl_label = "Simple View Operator"
+
+ offset = FloatVectorProperty(name="Offset", size=3)
+
+
+ def execute(self, context):
+ v3d = context.space_data
+ rv3d = v3d.region_3d
+
+ rv3d.view_location = self._initial_location + Vector(self.properties.offset)
+
+ def modal(self, context, event):
+ v3d = context.space_data
+ rv3d = v3d.region_3d
+
+ if event.type == 'MOUSEMOVE':
+ self.properties.offset = (self._initial_mouse - Vector((event.mouse_x, event.mouse_y, 0.0))) * 0.02
+ self.execute(context)
+
+ elif event.type == 'LEFTMOUSE':
+ return {'FINISHED'}
+
+ elif event.type in ('RIGHTMOUSE', 'ESC'):
+ rv3d.view_location = self._initial_location
+ return {'CANCELLED'}
+
+ return {'RUNNING_MODAL'}
+
+ def invoke(self, context, event):
+
+ if context.space_data.type == 'VIEW_3D':
+ v3d = context.space_data
+ rv3d = v3d.region_3d
+
+ context.manager.add_modal_handler(self)
+
+ if rv3d.view_perspective == 'CAMERA':
+ rv3d.view_perspective = 'PERSP'
+
+ self._initial_mouse = Vector((event.mouse_x, event.mouse_y, 0.0))
+ self._initial_location = rv3d.view_location.copy()
+
+ return {'RUNNING_MODAL'}
+ else:
+ self.report({'WARNING'}, "Active space must be a View3d")
+ return {'CANCELLED'}
diff --git a/release/scripts/templates/operator_simple.py b/release/scripts/templates/operator_simple.py
index c62d3720d96..853bfa666eb 100644
--- a/release/scripts/templates/operator_simple.py
+++ b/release/scripts/templates/operator_simple.py
@@ -1,3 +1,4 @@
+import bpy
def main(context):
for ob in context.scene.objects:
@@ -8,14 +9,14 @@ class SimpleOperator(bpy.types.Operator):
bl_idname = "object.simple_operator"
bl_label = "Simple Object Operator"
- def poll(self, context):
+ @classmethod
+ def poll(cls, context):
return context.active_object != None
def execute(self, context):
main(context)
return {'FINISHED'}
-bpy.types.register(SimpleOperator)
if __name__ == "__main__":
bpy.ops.object.simple_operator()
diff --git a/release/scripts/templates/operator_uv.py b/release/scripts/templates/operator_uv.py
index 36d8333d49d..305496e31ce 100644
--- a/release/scripts/templates/operator_uv.py
+++ b/release/scripts/templates/operator_uv.py
@@ -1,3 +1,4 @@
+import bpy
def main(context):
obj = context.active_object
@@ -8,27 +9,29 @@ def main(context):
bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
- if not mesh.active_uv_texture:
- bpy.ops.mesh.uv_texture_add()
+ if not mesh.uv_textures:
+ uvtex = bpy.ops.mesh.uv_texture_add()
# adjust UVs
- for i, uv in enumerate(mesh.active_uv_texture.data):
+ for i, uv in enumerate(uvtex.data):
uvs = uv.uv1, uv.uv2, uv.uv3, uv.uv4
- for j, v_idx in enumerate(mesh.faces[i].verts):
- if uv.uv_selected[j]:
+ for j, v_idx in enumerate(mesh.faces[i].vertices):
+ if uv.select_uv[j]:
# apply the location of the vertex as a UV
- uvs[j][:] = mesh.verts[v_idx].co.xy
+ uvs[j][:] = mesh.vertices[v_idx].co.xy
if is_editmode:
bpy.ops.object.mode_set(mode='EDIT', toggle=False)
+
class UvOperator(bpy.types.Operator):
- ''''''
+ '''UV Operator description'''
bl_idname = "uv.simple_operator"
bl_label = "Simple UV Operator"
- def poll(self, context):
+ @classmethod
+ def poll(cls, context):
obj = context.active_object
return (obj and obj.type == 'MESH')
@@ -36,7 +39,6 @@ class UvOperator(bpy.types.Operator):
main(context)
return {'FINISHED'}
-bpy.types.register(UvOperator)
if __name__ == "__main__":
bpy.ops.uv.simple_operator()
diff --git a/release/scripts/templates/panel_simple.py b/release/scripts/templates/panel_simple.py
index aac4b6e715e..7c73e58a3e5 100644
--- a/release/scripts/templates/panel_simple.py
+++ b/release/scripts/templates/panel_simple.py
@@ -18,5 +18,3 @@ class OBJECT_PT_hello(bpy.types.Panel):
row.label(text="Active object is: " + obj.name)
row = layout.row()
row.prop(obj, "name")
-
-bpy.types.register(OBJECT_PT_hello)