diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-01-26 17:59:57 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-01-26 17:59:57 +0300 |
commit | a9fa6efcde330570bd9837a1085a34ef4aac3222 (patch) | |
tree | f6a4a98683960ba3d05aefca91b12ead944c7b7d /add_mesh_ant_landscape.py | |
parent | 9700b00900b672355c76fd8795221d05ff2e0140 (diff) |
patch [#25632] Get rid of obsolete magic edit property
from Lawrence D'Oliveiro (ldo)
Diffstat (limited to 'add_mesh_ant_landscape.py')
-rw-r--r-- | add_mesh_ant_landscape.py | 86 |
1 files changed, 23 insertions, 63 deletions
diff --git a/add_mesh_ant_landscape.py b/add_mesh_ant_landscape.py index 6e220572..896f7fe2 100644 --- a/add_mesh_ant_landscape.py +++ b/add_mesh_ant_landscape.py @@ -19,8 +19,8 @@ bl_info = { "name": "ANT Landscape", "author": "Jimmy Hazevoet", - "version": (0,1,0), - "blender": (2, 5, 4), + "version": (0,1,1), + "blender": (2, 5, 6), "api": 32411, "location": "Add Mesh menu", "description": "Adds a landscape primitive", @@ -94,16 +94,10 @@ def align_matrix(context): # verts/edges/faces ... List of vertices/edges/faces for the # new mesh (as used in from_pydata). # name ... Name of the new mesh (& object). -# edit ... Replace existing mesh data. -# Note: Using "edit" will destroy/delete existing mesh data. -def create_mesh_object(context, verts, edges, faces, name, edit, align_matrix): +def create_mesh_object(context, verts, edges, faces, name, align_matrix): scene = context.scene obj_act = scene.objects.active - # Can't edit anything, unless we have an active obj. - if edit and not obj_act: - return None - # Create new mesh mesh = bpy.data.meshes.new(name) @@ -116,60 +110,34 @@ def create_mesh_object(context, verts, edges, faces, name, edit, align_matrix): # Deselect all objects. bpy.ops.object.select_all(action='DESELECT') - if edit: - # Replace geometry of existing object - - # Use the active obj and select it. - ob_new = obj_act - ob_new.select = True - - if obj_act.mode == 'OBJECT': - # Get existing mesh datablock. - old_mesh = ob_new.data - - # Set object data to nothing - ob_new.data = None - - # Clear users of existing mesh datablock. - old_mesh.user_clear() + # Always create new object + ob_new = bpy.data.objects.new(name, mesh) - # Remove old mesh datablock if no users are left. - if (old_mesh.users == 0): - bpy.data.meshes.remove(old_mesh) + # Link new object to the given scene and select it. + scene.objects.link(ob_new) + ob_new.select = True - # Assign new mesh datablock. - ob_new.data = mesh - - else: - # Create new object - ob_new = bpy.data.objects.new(name, mesh) - - # Link new object to the given scene and select it. - scene.objects.link(ob_new) - ob_new.select = True - - # Place the object at the 3D cursor location. - # apply viewRotaion - ob_new.matrix_world = align_matrix + # Place the object at the 3D cursor location. + # apply viewRotaion + ob_new.matrix_world = align_matrix if obj_act and obj_act.mode == 'EDIT': - if not edit: - # We are in EditMode, switch to ObjectMode. - bpy.ops.object.mode_set(mode='OBJECT') + # We are in EditMode, switch to ObjectMode. + bpy.ops.object.mode_set(mode='OBJECT') - # Select the active object as well. - obj_act.select = True + # Select the active object as well. + obj_act.select = True - # Apply location of new object. - scene.update() + # Apply location of new object. + scene.update() - # Join new object into the active. - bpy.ops.object.join() + # Join new object into the active. + bpy.ops.object.join() - # Switching back to EditMode. - bpy.ops.object.mode_set(mode='EDIT') + # Switching back to EditMode. + bpy.ops.object.mode_set(mode='EDIT') - ob_new = obj_act + ob_new = obj_act else: # We are in ObjectMode. @@ -521,12 +489,6 @@ class landscape_add(bpy.types.Operator): bl_options = {'REGISTER', 'UNDO'} bl_description = "Add landscape mesh" - # edit - Whether to add or update. - edit = BoolProperty(name="", - description="", - default=False, - options={'HIDDEN'}) - # align_matrix for the invoke align_matrix = Matrix() @@ -820,8 +782,6 @@ class landscape_add(bpy.types.Operator): # Execute def execute(self, context): - edit = self.edit - #mesh update if self.AutoUpdate != 0: @@ -869,7 +829,7 @@ class landscape_add(bpy.types.Operator): verts, faces = grid_gen( self.Subdivision, self.MeshSize, options ) # create mesh object - obj = create_mesh_object(context, verts, [], faces, "Landscape", edit, self.align_matrix) + obj = create_mesh_object(context, verts, [], faces, "Landscape", self.align_matrix) # sphere, remove doubles if self.SphereMesh !=0: |