[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [713] trunk/py/scripts/addons: Add_Mesh Clean Up.
Brendon Murphy
meta.androcto1 at gmail.com
Mon Jun 7 11:22:56 CEST 2010
Revision: 713
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-extensions&revision=713
Author: meta-androcto
Date: 2010-06-07 11:22:56 +0200 (Mon, 07 Jun 2010)
Log Message:
-----------
Add_Mesh Clean Up. pt1.
Re-call function is removed.
Modified Paths:
--------------
contrib/py/scripts/addons/add_mesh_archimedean_solids.py
trunk/py/scripts/addons/add_mesh_3d_function_surface.py
trunk/py/scripts/addons/add_mesh_extras.py
trunk/py/scripts/addons/add_mesh_gears.py
trunk/py/scripts/addons/add_mesh_gemstones.py
trunk/py/scripts/addons/add_mesh_pipe_joint.py
trunk/py/scripts/addons/add_mesh_solid.py
trunk/py/scripts/addons/add_mesh_twisted_torus.py
Removed Paths:
-------------
repair_holding/add_edit_object_parameters.py
Modified: contrib/py/scripts/addons/add_mesh_archimedean_solids.py
===================================================================
--- contrib/py/scripts/addons/add_mesh_archimedean_solids.py 2010-06-07 05:50:15 UTC (rev 712)
+++ contrib/py/scripts/addons/add_mesh_archimedean_solids.py 2010-06-07 09:22:56 UTC (rev 713)
@@ -33,27 +33,6 @@
from mathutils import *
from bpy.props import *
-
-# Stores the values of a list of properties and the
-# operator id in a property group ('recall_op') inside the object.
-# Could (in theory) be used for non-objects.
-# Note: Replaces any existing property group with the same name!
-# ob ... Object to store the properties in.
-# op ... The operator that should be used.
-# op_args ... A dictionary with valid Blender
-# properties (operator arguments/parameters).
-def store_recall_properties(ob, op, op_args):
- if ob and op and op_args:
- recall_properties = {}
-
- # Add the operator identifier and op parameters to the properties.
- recall_properties['op'] = op.bl_idname
- recall_properties['args'] = op_args
-
- # Store new recall properties.
- ob['recall'] = recall_properties
-
-
# calculates the matrix for the new object
# depending on user pref
def align_matrix(context):
@@ -1193,12 +1172,6 @@
obj = create_mesh_object(context, verts, [], faces,
'TrTetrahedron', props.edit, self.align_matrix)
- # Store 'recall' properties in the object.
- recall_args_list = {
- 'edit': True,
- 'hexagon_side': props.hexagon_side,
- 'star_ngons': props.star_ngons}
- store_recall_properties(obj, self, recall_args_list)
return {'FINISHED'}
@@ -1244,13 +1217,6 @@
obj = create_mesh_object(context, verts, [], faces, name, props.edit, self.align_matrix)
- # Store 'recall' properties in the object.
- recall_args_list = {
- 'edit': True,
- 'octagon_side': props.octagon_side,
- 'star_ngons': props.star_ngons}
- store_recall_properties(obj, self, recall_args_list)
-
return {'FINISHED'}
def invoke(self, context, event):
@@ -1289,11 +1255,6 @@
obj = create_mesh_object(context, verts, [], faces,
'Rhombicuboctahedron', props.edit, self.align_matrix)
- # Store 'recall' properties in the object.
- recall_args_list = {
- 'edit': True,
- 'quad_size': props.quad_size}
- store_recall_properties(obj, self, recall_args_list)
return {'FINISHED'}
@@ -1339,13 +1300,6 @@
obj = create_mesh_object(context, verts, [], faces,
'TrOctahedron', props.edit, self.align_matrix)
- # Store 'recall' properties in the object.
- recall_args_list = {
- 'edit': True,
- 'hexagon_side': props.hexagon_side,
- 'star_ngons': props.star_ngons}
- store_recall_properties(obj, self, recall_args_list)
-
return {'FINISHED'}
def invoke(self, context, event):
@@ -1396,14 +1350,6 @@
obj = create_mesh_object(context, verts, [], faces,
'TrCuboctahedron', props.edit, self.align_matrix)
- # Store 'recall' properties in the object.
- recall_args_list = {
- 'edit': True,
- 'octagon_size': props.octagon_size,
- 'octagon_side': props.octagon_side,
- 'star_ngons': props.star_ngons}
- store_recall_properties(obj, self, recall_args_list)
-
return {'FINISHED'}
def invoke(self, context, event):
Deleted: repair_holding/add_edit_object_parameters.py
===================================================================
--- repair_holding/add_edit_object_parameters.py 2010-06-07 05:50:15 UTC (rev 712)
+++ repair_holding/add_edit_object_parameters.py 2010-06-07 09:22:56 UTC (rev 713)
@@ -1,262 +0,0 @@
-# ##### BEGIN GPL LICENSE BLOCK #####
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# ##### END GPL LICENSE BLOCK #####
-
-import bpy
-from mathutils import *
-from math import *
-from bpy.props import *
-
-bl_addon_info = {
- 'name': 'Edit Object Parameters (Search: Recall)',
- 'author': 'Buerbaum Martin (Pontiac)',
- 'version': '0.1.3',
- 'blender': (2, 5, 3),
- 'location': 'View3D > Tool Shelf > Edit Object Parameters',
- 'description': 'Re-call an object menu that was created' \
- ' with an Add Mesh operator. This operator must have stored'\
- ' the recall data though.',
- 'wiki_url': 'http://wiki.blender.org/index.php/Extensions:2.5/Py/' \
- 'Scripts/3D_interaction/Edit_Object_Parameters',
- 'category': 'Add Mesh'}
-
-
-__bpydoc__ = """
-Edit object parameters
-
-Recalls the "add mesh" object operator.
-
-Generic functions to re-create an object that was created
-with a "Add Mesh" operator.
-
-The "Add Mesh" operator has to store the "recall" information
-in the object properties for this to work.
-
-Usage:
-
-Select an "recall enabled" object and click the "Edit" button
-in the "Edit Object Parameters" panel of the Tool Shelf.
-
-Known issues:
-
-The recall doesn't take the rotation/scaling of the
-exiting object into account.
-i.e. The new object will be created as if it's created
-manually at the location of the exiting object.
-This also means that "align to view" may affect
-rotation of the new object.
-
-v0.1.3 - Display operator name and stored recall parameters.
-v0.1.2 - Changed the name of the operator(s) ('Edit object parameters')
- Added warning about mesh-deletion.
-v0.1.1 - Removed changes to 3D cursor.
- Removed removal of objects (Has to be handled in "Add Mesh" operator now.)
-v0.1 - Initial revision
-"""
-
-
-# Find operator by bl_idname.
-# Independent from the format of bl_idname.
-# <SPACE>_OT_xxxx and <space>.xxxx are supported.
-def get_operator_by_idname(bl_idname):
- list = bl_idname.split(".")
-
- # Check if splitting didn't work.
- if len(list) <= 1:
- # String format was NOT <space>.xxxx.
- list = bl_idname.split("_OT_")
-
- # Check if splitting didn't work.
- if len(list) <= 1:
- # String format was NOT <SPACE>_OT_xxxx.
- return None
-
- # Splitting by _OT_ worked.
- # Make space type lowercase
- list[0] = list[0].lower()
-
- space_type = getattr(bpy.ops, list[0], None)
- if not space_type:
- return None
-
- op = getattr(space_type, list[1], None)
- if not op:
- return None
-
- return op
-
-
-# Find operator class by bl_idname.
-# <SPACE>_OT_xxxx
-def get_operator_class_by_idname(bl_idname):
- type = getattr(bpy.types, bl_idname, None)
-
- if not type:
- return None
-
- return type
-
-
-class VIEW3D_OT_recall_object_operator(bpy.types.Operator):
- '''Recall object operator'''
- bl_idname = "view3d.recall_object_operator"
- bl_label = "Recall/re-execute operator for the selected object."
- bl_options = {'REGISTER'}
-
- def execute(self, context):
- scene = context.scene
- ob = scene.objects.active
-
- if (ob
- and len(context.selected_objects) == 1
- and ob == context.selected_objects[0]
- and ob.items()):
-
- if 'recall' in ob:
- recall_props = ob['recall'].convert_to_pyobject()
-
- # Check if an operator string was defined.
- if 'op' in recall_props:
- op_idname = recall_props['op']
- op_args = recall_props['args']
-
- print("Recalling operator: " + op_idname)
-
- # Find and recall operator
- op = get_operator_by_idname(op_idname)
- if op:
- # Prepare the stored data as arguments for the op.
- args = dict([(k[0], k[1]) for k in op_args.items()])
-
- # Execute the operator with the unpacked parameters.
- op(**args)
-
- else:
- print("No operator found for idname " + op_idname)
- return {'CANCELLED'}
-
- else:
- print("No operator prop found in recall data!")
- return {'CANCELLED'}
-
- else:
- print("No recall information found in object!")
- return {'CANCELLED'}
-
- return {'FINISHED'}
-
- return {'CANCELLED'}
-
-
-class VIEW3D_OT_edit_object_parameters(bpy.types.Panel):
- bl_space_type = "VIEW_3D"
- bl_region_type = "TOOLS"
- bl_context = "objectmode"
- bl_label = "Edit Object Parameters"
-
- def poll(self, context):
- scene = context.scene
- ob = scene.objects.active
-
- # Only show this panel if the object has "recall" data.
- if (ob
- and len(context.selected_objects) == 1
- and ob == context.selected_objects[0]
- and 'recall' in ob):
- return True
-
- return False
-
- def draw(self, context):
- layout = self.layout
- row = layout.row()
- row.operator("view3d.recall_object_operator",
- text="Edit")
-
- row = layout.row()
- row.label(text="Warning:",
- icon='INFO')
- row = layout.row()
- row.label(text="Manual changes to the mesh geometry will be lost!")
-
- scene = context.scene
- ob = scene.objects.active
-
- if ob:
- row = layout.row()
-
- recall_props = ob['recall']
- if 'op' in recall_props:
- op_idname = recall_props['op']
- op_args = recall_props['args']
-
- # Find and recall operator
- type = get_operator_class_by_idname(op_idname)
-
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list