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

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-05-06 07:54:20 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-05-06 08:04:04 +0300
commite452b07c647c9ec9e0f67d5d6a009293b0b9ef88 (patch)
tree4efc9840550517cf5c3ed7985d830e5736aab4ab /io_mesh_atomic
parent5535f596ba3cd1ac6e76ad09f15a0013b658887a (diff)
Update addons for changes to proportional edit mode
Diffstat (limited to 'io_mesh_atomic')
-rw-r--r--io_mesh_atomic/pdb_import.py94
1 files changed, 48 insertions, 46 deletions
diff --git a/io_mesh_atomic/pdb_import.py b/io_mesh_atomic/pdb_import.py
index 4f0bddd8..7d719cd8 100644
--- a/io_mesh_atomic/pdb_import.py
+++ b/io_mesh_atomic/pdb_import.py
@@ -386,8 +386,8 @@ def read_pdb_file_sticks(filepath_pdb, use_sticks_bonds, all_atoms):
if "CONECT" not in line:
break
- # Note 2019-03-16: in a PDB file the identifier for sticks is called
- # 'CONECT' and NOT 'CONNECT'! Please leave this as is, otherwise the
+ # Note 2019-03-16: in a PDB file the identifier for sticks is called
+ # 'CONECT' and NOT 'CONNECT'! Please leave this as is, otherwise the
# sticks are NOT correctly loaded.
# The strings of the atom numbers do have a clear position in the file
@@ -428,7 +428,7 @@ def read_pdb_file_sticks(filepath_pdb, use_sticks_bonds, all_atoms):
if number == 2 or number == 3:
basis_list = list(set(atom_list[1:]))
-
+
if len(basis_list) > 1:
basis1 = (all_atoms[atom1-1].location
- all_atoms[basis_list[0]-1].location)
@@ -530,7 +530,7 @@ def build_stick(radius, length, sectors, element_name):
cylinder.from_pydata(vertices, [], faces1)
cylinder.update()
new_cylinder = bpy.data.objects.new(element_name+"_sticks_cylinder", cylinder)
- # Attention: the linking will be done a few moments later, after this
+ # Attention: the linking will be done a few moments later, after this
# is done definition.
# Build the mesh, Cups
@@ -538,9 +538,9 @@ def build_stick(radius, length, sectors, element_name):
cups.from_pydata(vertices, [], faces2)
cups.update()
new_cups = bpy.data.objects.new(element_name+"_sticks_cup", cups)
- # Attention: the linking will be done a few moments later, after this
+ # Attention: the linking will be done a few moments later, after this
# is done definition.
-
+
return (new_cylinder, new_cups)
@@ -555,12 +555,12 @@ def rotate_object(rot_mat, obj):
orig_loc_mat = Matrix.Translation(orig_loc)
orig_rot_mat = orig_rot.to_matrix().to_4x4()
- orig_scale_mat = (Matrix.Scale(orig_scale[0],4,(1,0,0)) @
- Matrix.Scale(orig_scale[1],4,(0,1,0)) @
+ orig_scale_mat = (Matrix.Scale(orig_scale[0],4,(1,0,0)) @
+ Matrix.Scale(orig_scale[1],4,(0,1,0)) @
Matrix.Scale(orig_scale[2],4,(0,0,1)))
# Assemble the new matrix.
- obj.matrix_world = orig_loc_mat @ rot_mat @ orig_rot_mat @ orig_scale_mat
+ obj.matrix_world = orig_loc_mat @ rot_mat @ orig_rot_mat @ orig_scale_mat
# Function, which puts a camera and light source into the 3D scene
@@ -607,8 +607,8 @@ def camera_light_source(use_camera,
# camera position and view onto the object.
bpy.ops.object.select_all(action='DESELECT')
camera.select_set(True)
-
- # Rotate the camera around its axis 'object_camera_vec' by 90° such
+
+ # Rotate the camera around its axis 'object_camera_vec' by 90° such
# that we have a nice camera view onto the object.
matrix_rotation = Matrix.Rotation(90/360*2*pi, 4, object_camera_vec)
rotate_object(matrix_rotation, camera)
@@ -663,13 +663,13 @@ def draw_atoms_one_type(draw_all_atoms_type,
# the whole object is translated back to 'object_center_vec'.
atom_vertices.append(atom[2] - object_center_vec)
- # IMPORTANT: First, we create a collection of the element, which contains
+ # IMPORTANT: First, we create a collection of the element, which contains
# the atoms (balls + mesh) AND the sticks! The definition dealing with the
- # sticks will put the sticks inside this collection later on.
+ # sticks will put the sticks inside this collection later on.
coll_element_name = atom[0] # the element name
# Create the new collection and ...
coll_element = bpy.data.collections.new(coll_element_name)
- # ... link it to the collection, which contains all parts of the
+ # ... link it to the collection, which contains all parts of the
# molecule.
collection_molecule.children.link(coll_element)
@@ -678,7 +678,7 @@ def draw_atoms_one_type(draw_all_atoms_type,
coll_atom_name = atom[0] + "_atom"
# Create the new collection and ...
coll_atom = bpy.data.collections.new(coll_atom_name)
- # ... link it to the collection, which contains all parts of the
+ # ... link it to the collection, which contains all parts of the
# element (ball and mesh).
coll_element.children.link(coll_atom)
@@ -728,7 +728,7 @@ def draw_atoms_one_type(draw_all_atoms_type,
if atom[0] == "Vacancy":
ball.name = atom[0] + "_cube"
else:
- ball.name = atom[0] + "_ball"
+ ball.name = atom[0] + "_ball"
ball.active_material = atom[1]
ball.parent = new_atom_mesh
@@ -896,7 +896,7 @@ def draw_sticks_dupliverts(all_atoms,
coll_name = stick[0][1:] + "_sticks"
# Create the collection and ...
coll = bpy.data.collections.new(coll_name)
- # ... link it to the collection, which contains all parts of the
+ # ... link it to the collection, which contains all parts of the
# element. 'stick[0][1:]' contains the name of the element!
for coll_element_from_list in list_coll_elements:
if stick[0][1:] in coll_element_from_list.name:
@@ -913,16 +913,16 @@ def draw_sticks_dupliverts(all_atoms,
# Build the object.
# Get the cylinder from the 'build_stick' function.
- object_stick = build_stick(Stick_diameter,
- dl,
- Stick_sectors,
+ object_stick = build_stick(Stick_diameter,
+ dl,
+ Stick_sectors,
stick[0][1:])
# Link active object to the new collection
coll.objects.link(object_stick[0])
coll.objects.link(object_stick[1])
# Hide these objects because their appearance has no meaning. They are
- # just the representative objects. The cylinder and cups are visible at
+ # just the representative objects. The cylinder and cups are visible at
# the vertices of the mesh. Rememmber, this is a dupliverts construct!
object_stick[0].hide_set(True)
object_stick[1].hide_set(True)
@@ -931,7 +931,7 @@ def draw_sticks_dupliverts(all_atoms,
stick_cylinder.active_material = stick[3]
stick_cups = object_stick[1]
stick_cups.active_material = stick[3]
-
+
# Smooth the cylinders.
if use_sticks_smooth == True:
bpy.ops.object.select_all(action='DESELECT')
@@ -1075,21 +1075,23 @@ def draw_sticks_skin(all_atoms,
# This is somewhat a factor for the radius.
r_f = 4.0
# Apply operator 'skin_resize'.
- bpy.ops.transform.skin_resize(value=(Stick_diameter*r_f,
- Stick_diameter*r_f,
- Stick_diameter*r_f),
- constraint_axis=(False, False, False),
- orient_type='GLOBAL',
- mirror=False,
- proportional='DISABLED',
- proportional_edit_falloff='SMOOTH',
- proportional_size=1,
- snap=False,
- snap_target='CLOSEST',
- snap_point=(0, 0, 0),
- snap_align=False,
- snap_normal=(0, 0, 0),
- release_confirm=False)
+ bpy.ops.transform.skin_resize(
+ value=(
+ Stick_diameter * r_f,
+ Stick_diameter * r_f,
+ Stick_diameter * r_f,
+ ),
+ constraint_axis=(False, False, False),
+ orient_type='GLOBAL',
+ mirror=False,
+ use_proportional_edit=False,
+ snap=False,
+ snap_target='CLOSEST',
+ snap_point=(0, 0, 0),
+ snap_align=False,
+ snap_normal=(0, 0, 0),
+ release_confirm=False,
+ )
# Back to the OBJECT mode.
bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
@@ -1199,12 +1201,12 @@ def draw_sticks_normal(all_atoms,
coll_past = coll_all[0]
else:
coll_past = bpy.context.scene.collection
-
+
# Link the sticks with the collection of the molecule ...
coll_molecule.objects.link(sticks)
# ... and unlink them from the collection it has been before.
coll_past.objects.unlink(sticks)
-
+
return sticks
else:
# Here we use an empty ...
@@ -1225,7 +1227,7 @@ def draw_sticks_normal(all_atoms,
# ===========
# Create a collection that will contain all sticks + the empty and ...
coll = bpy.data.collections.new("Sticks")
- # ... link it to the collection, which contains all parts of the
+ # ... link it to the collection, which contains all parts of the
# molecule.
coll_molecule.children.link(coll)
# Now, create a collection that only contains the sticks and ...
@@ -1242,7 +1244,7 @@ def draw_sticks_normal(all_atoms,
# ... link the empty with the new collection ...
coll.objects.link(sticks_empty)
# ... and unlink it from the old collection where it has been before.
- coll_past.objects.unlink(sticks_empty)
+ coll_past.objects.unlink(sticks_empty)
# Note the collection where the cylinders were placed into, ...
coll_all = list_group_sub[0].users_collection
@@ -1250,12 +1252,12 @@ def draw_sticks_normal(all_atoms,
coll_past = coll_all[0]
else:
coll_past = bpy.context.scene.collection
-
+
for stick in list_group_sub:
# ... link each stick with the new collection ...
coll_cylinder.objects.link(stick)
# ... and unlink it from the old collection.
- coll_past.objects.unlink(stick)
+ coll_past.objects.unlink(stick)
return sticks_empty
@@ -1285,7 +1287,7 @@ def import_pdb(Ball_type,
use_camera,
use_light,
filepath_pdb):
-
+
# List of materials
atom_material_list = []
@@ -1361,7 +1363,7 @@ def import_pdb(Ball_type,
mat_P_BSDF.inputs['Metallic'].default_value = 0.1
mat_P_BSDF.inputs['Roughness'].default_value = 0.2
mat_P_BSDF.inputs['Transmission'].default_value = 0.97
- mat_P_BSDF.inputs['IOR'].default_value = 0.8
+ mat_P_BSDF.inputs['IOR'].default_value = 0.8
# The atom gets its properties.
atom.material = material
@@ -1455,7 +1457,7 @@ def import_pdb(Ball_type,
# ------------------------------------------------------------------------
# COLLECTION
- # Before we start to draw the atoms and sticks, we first create a
+ # Before we start to draw the atoms and sticks, we first create a
# collection for the molecule. All atoms (balls) and sticks (cylinders)
# are put into this collection.
coll_molecule_name = os.path.basename(filepath_pdb)