Cleanup: fix typos in source code
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D5801
This commit is contained in:
parent
b1cec919ec
commit
d68dca98ce
|
@ -67,7 +67,7 @@ def unpack_face_list(list_of_tuples):
|
|||
"""
|
||||
Remove Doubles takes a list on Verts and a list of Faces and
|
||||
removes the doubles, much like Blender does in edit mode.
|
||||
It doesn't have the range function but it will round the corrdinates
|
||||
It doesn't have the range function but it will round the coordinates
|
||||
and remove verts that are very close together. The function
|
||||
is useful because you can perform a "Remove Doubles" with out
|
||||
having to enter Edit Mode. Having to enter edit mode has the
|
||||
|
@ -292,7 +292,7 @@ def Fill_Fan_Face(OFFSET, NUM, FACE_DOWN=0):
|
|||
Face = [NUM-1,0,1]
|
||||
TempFace = [0, 0, 0]
|
||||
A = 0
|
||||
#B = 1 unsed
|
||||
#B = 1 unused
|
||||
C = 2
|
||||
if NUM < 3:
|
||||
return None
|
||||
|
@ -1193,7 +1193,7 @@ def Create_12_Point(FLAT, HOLE_DIA, SHANK_DIA, HEIGHT,FLANGE_DIA):
|
|||
v_5Deg_Line.length *= 2 # extende out the line on a 5 deg angle
|
||||
|
||||
#We cross 2 lines. One from the origin to the 0 Deg point
|
||||
#and the second is from the orign extended out past the first line
|
||||
#and the second is from the origin extended out past the first line
|
||||
# This gives the cross point of the
|
||||
v_Cross = geometry.intersect_line_line_2d(v_0_Deg_Point,v_15Deg_Point,v_origin,v_5Deg_Line)
|
||||
dvec = vec2 - Vector([v_Cross.x,v_Cross.y,0.0])
|
||||
|
|
|
@ -26,7 +26,7 @@ def randomizeTexture(texture, level=1):
|
|||
|
||||
param: texture - bpy.data.texture to modify.
|
||||
level - designated tweaked settings to use
|
||||
-> Below 10 is a displacment texture
|
||||
-> Below 10 is a displacement texture
|
||||
-> Between 10 and 20 is a base material texture
|
||||
'''
|
||||
noises = ['BLENDER_ORIGINAL', 'ORIGINAL_PERLIN', 'IMPROVED_PERLIN',
|
||||
|
|
|
@ -84,7 +84,7 @@
|
|||
# Coded in IDLE, tested in Blender 2.59. NumPy Recommended.
|
||||
# Search for "@todo" to quickly find sections that need work.
|
||||
#
|
||||
# Remeber -
|
||||
# Remember -
|
||||
# Functional code comes before fast code. Once it works, then worry about
|
||||
# making it faster/more efficient.
|
||||
#
|
||||
|
@ -793,7 +793,7 @@ def generateRocks(context, scaleX, skewX, scaleY, skewY, scaleZ, skewZ,
|
|||
# sigma is the standard deviation of the values. The 95% interval is three
|
||||
# standard deviations, which is what we want most generated values to fall
|
||||
# in. Since it might be skewed we are going to use half the difference
|
||||
# betwee the mean and the furthest bound and scale the other side down
|
||||
# between the mean and the furthest bound and scale the other side down
|
||||
# post-number generation.
|
||||
if scaleX[0] != scaleX[1]:
|
||||
skewX = (skewX + 1) / 2
|
||||
|
@ -900,7 +900,7 @@ def generateRocks(context, scaleX, skewX, scaleY, skewY, scaleZ, skewZ,
|
|||
rock.modifiers.new(name="Smooth", type='SMOOTH')
|
||||
rock.modifiers[6].factor = gauss(smooth_fac, (smooth_fac ** 0.5) / 12)
|
||||
rock.modifiers[6].iterations = smooth_it
|
||||
# Make a call to random to keep things consistant:
|
||||
# Make a call to random to keep things consistent:
|
||||
else:
|
||||
gauss(0, 1)
|
||||
|
||||
|
@ -1021,7 +1021,7 @@ class OBJECT_OT_add_mesh_rock(bpy.types.Operator):
|
|||
min=-1.0, max=1.0, default=defaults[6])
|
||||
use_scale_dis: BoolProperty(
|
||||
name="Scale displace textures",
|
||||
description="Scale displacement textures with dimensions. May cause streched textures",
|
||||
description="Scale displacement textures with dimensions. May cause stretched textures",
|
||||
default=defaults[7])
|
||||
scale_fac: FloatVectorProperty(
|
||||
name="Scaling Factor",
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
# <pep8 compliant>
|
||||
|
||||
|
||||
# Converts a formated string to a float tuple:
|
||||
# Converts a formatted string to a float tuple:
|
||||
# IN - '(0.5, 0.2)' -> CONVERT -> OUT - (0.5, 0.2)
|
||||
def toTuple(stringIn):
|
||||
sTemp = str(stringIn)[1:len(str(stringIn)) - 1].split(', ')
|
||||
|
@ -31,7 +31,7 @@ def toTuple(stringIn):
|
|||
return tuple(fTemp)
|
||||
|
||||
|
||||
# Converts a formated string to a float tuple:
|
||||
# Converts a formatted string to a float tuple:
|
||||
# IN - '[0.5, 0.2]' -> CONVERT -> OUT - [0.5, 0.2]
|
||||
def toList(stringIn):
|
||||
sTemp = str(stringIn)[1:len(str(stringIn)) - 1].split(', ')
|
||||
|
@ -93,7 +93,7 @@ except:
|
|||
# from random import weibullvariate as weibull
|
||||
print("Rock Generator: Numpy not found. Using Python's random.")
|
||||
numpy = False
|
||||
# Artifically skews a normal (gaussian) distribution. This will not create
|
||||
# Artificially skews a normal (gaussian) distribution. This will not create
|
||||
# a continuous distribution curve but instead acts as a piecewise finction.
|
||||
# This linearly scales the output on one side to fit the bounds.
|
||||
#
|
||||
|
|
|
@ -17,7 +17,7 @@ Display a little warning label when exporting EXR, with Z Buffer enabled, but
|
|||
forgot to plug the Z input in the Compositor.
|
||||
|
||||
Might be a bit too specific, but found it nice to remember to plug the Z input
|
||||
if we explicitely specify for Z Buffers to be saved (because it's disabled by
|
||||
if we explicitly specify for Z Buffers to be saved (because it's disabled by
|
||||
default).
|
||||
|
||||
Find it on the Output panel, Render properties.
|
||||
|
|
|
@ -2542,7 +2542,7 @@ def handle_model_08():
|
|||
|
||||
|
||||
# ----------------------------------------------
|
||||
# Creaate SKU code for inventory
|
||||
# Create SKU code for inventory
|
||||
# ----------------------------------------------
|
||||
def createunitsku(self, cabinet):
|
||||
# ------------------
|
||||
|
|
|
@ -37,7 +37,7 @@ class Fillet(bpy.types.Operator):
|
|||
|
||||
radius: bpy.props.FloatProperty(name='Radius', description='Radius of the rounded corners', unit='LENGTH', min=0.0, default=0.1)
|
||||
chamfer_mode: bpy.props.BoolProperty(name='Chamfer', description='Cut off sharp without rounding', default=False)
|
||||
limit_half_way: bpy.props.BoolProperty(name='Limit Half Way', description='Limits the segements to half their length in order to prevent collisions', default=False)
|
||||
limit_half_way: bpy.props.BoolProperty(name='Limit Half Way', description='Limits the segments to half their length in order to prevent collisions', default=False)
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
|
|
|
@ -390,7 +390,7 @@ class BezierSpline:
|
|||
self.segments.append(BezierSegment(self.segments[-1].bezierPoint2, spline2.segments[0].bezierPoint1))
|
||||
for seg2 in spline2.segments: self.segments.append(seg2)
|
||||
|
||||
self.resolution += spline2.resolution # extra segment will usually be short -- impact on resolution negligable
|
||||
self.resolution += spline2.resolution # extra segment will usually be short -- impact on resolution negligible
|
||||
|
||||
self.isCyclic = False # is this ok?
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ bl_info = {
|
|||
'version': (1, 1),
|
||||
'blender': (2, 80, 0),
|
||||
'location': 'View3D > Context menu (W/RMB) > Remove Doubles',
|
||||
'description': 'Adds comand "Remove Doubles" for curves',
|
||||
'description': 'Adds command "Remove Doubles" for curves',
|
||||
'category': 'Add Curve'
|
||||
}
|
||||
|
||||
|
|
|
@ -43,9 +43,9 @@ def vector_len_from_coord(a, b):
|
|||
return (a.co - b.co).length
|
||||
|
||||
def point_from_dist_in_segment_3d(a, b, ratio):
|
||||
'''return the tuple coords of a point on 3D segment ab according to given ratio (some distance divided by total segment lenght)'''
|
||||
'''return the tuple coords of a point on 3D segment ab according to given ratio (some distance divided by total segment length)'''
|
||||
## ref:https://math.stackexchange.com/questions/175896/finding-a-point-along-a-line-a-certain-distance-away-from-another-point
|
||||
# ratio = dist / seglenght
|
||||
# ratio = dist / seglength
|
||||
return ( ((1 - ratio) * a[0] + (ratio*b[0])), ((1 - ratio) * a[1] + (ratio*b[1])), ((1 - ratio) * a[2] + (ratio*b[2])) )
|
||||
|
||||
def get_stroke_length(s):
|
||||
|
@ -144,7 +144,7 @@ class GP_OT_straightStroke(bpy.types.Operator):
|
|||
ct = 0
|
||||
for l in gpl:
|
||||
if l.lock or l.hide or not l.active_frame:
|
||||
# avoid locked, hided, empty layers
|
||||
# avoid locked, hidden, empty layers
|
||||
continue
|
||||
if gp.use_multiedit:
|
||||
target_frames = [f for f in l.frames if f.select]
|
||||
|
|
|
@ -103,7 +103,7 @@ class GreasePencilAddonPrefs(bpy.types.AddonPreferences):
|
|||
update=auto_rebind)
|
||||
|
||||
mouse_click : EnumProperty(
|
||||
name="Mouse button", description="click on right/left/middle mouse button in combination with a modifier to trigger alignement",
|
||||
name="Mouse button", description="click on right/left/middle mouse button in combination with a modifier to trigger alignment",
|
||||
default='MIDDLEMOUSE',
|
||||
items=(
|
||||
('RIGHTMOUSE', 'Right click', 'Use click on Right mouse button', 'MOUSE_RMB', 0),
|
||||
|
@ -163,7 +163,7 @@ class GreasePencilAddonPrefs(bpy.types.AddonPreferences):
|
|||
box.label(text="Deformer type can be changed during modal with 'M' key, this is for default behavior", icon='INFO')
|
||||
|
||||
box.prop(self, "auto_swap_deform_type")
|
||||
box.label(text="Once 'M' is hit, auto swap is desactivated to stay in your chosen mode", icon='INFO')
|
||||
box.label(text="Once 'M' is hit, auto swap is deactivated to stay in your chosen mode", icon='INFO')
|
||||
|
||||
## ROTATE CANVAS
|
||||
box = layout.box()
|
||||
|
|
|
@ -235,7 +235,7 @@ class RC_OT_RotateCanvas(bpy.types.Operator):
|
|||
self.pos_current = mathutils.Vector((event.mouse_region_x, event.mouse_region_y))
|
||||
|
||||
self.initial_pos = self.pos_current# for draw debug, else no need
|
||||
# Calculate inital vector
|
||||
# Calculate initial vector
|
||||
self.vector_initial = self.pos_current - self.center
|
||||
self.vector_initial.normalize()
|
||||
|
||||
|
|
|
@ -345,7 +345,7 @@ class GPTS_OT_time_scrub(bpy.types.Operator):
|
|||
for i in ui_key_pos:
|
||||
center = self.init_mouse_x + ((i-self.init_frame)*self.px_step)
|
||||
if self.keyframe_aspect == 'DIAMOND':
|
||||
# +1 on x is to correct pixel alignement
|
||||
# +1 on x is to correct pixel alignment
|
||||
shaped_key += [(center-keysize, my+upper),
|
||||
(center+1, my+keysize+upper),
|
||||
(center+keysize, my+upper),
|
||||
|
@ -552,7 +552,7 @@ class GPTS_timeline_settings(bpy.types.PropertyGroup):
|
|||
|
||||
rolling_mode: BoolProperty(
|
||||
name="Rolling Mode",
|
||||
description="Alternative Gap-less timeline. No time informations to quickly roll/flip over keys\nOverride normal and 'always snap' mode",
|
||||
description="Alternative Gap-less timeline. No time information to quickly roll/flip over keys\nOverride normal and 'always snap' mode",
|
||||
default=False)
|
||||
|
||||
use: BoolProperty(
|
||||
|
|
|
@ -1717,7 +1717,7 @@ class SceneCoat3D(PropertyGroup):
|
|||
)
|
||||
foundExchangeFolder: BoolProperty(
|
||||
name="found Exchange Folder",
|
||||
description="found Excahnge folder",
|
||||
description="found Exchange folder",
|
||||
default=False
|
||||
)
|
||||
delete_images: BoolProperty(
|
||||
|
|
|
@ -1037,7 +1037,7 @@ def join(uvedge_a, uvedge_b, size_limit=None, epsilon=1e-6):
|
|||
for uvedge in merged_uvedges:
|
||||
island_a.mesh.edges[uvedge.loop.edge].is_main_cut = False
|
||||
|
||||
# include all trasformed vertices as mine
|
||||
# include all transformed vertices as mine
|
||||
island_a.vertices.update({loop: phantoms[uvvertex] for loop, uvvertex in island_b.vertices.items()})
|
||||
|
||||
# re-link uvedges and uvfaces to their transformed locations
|
||||
|
|
|
@ -332,7 +332,7 @@ class IMPORT_OT_dxf(bpy.types.Operator):
|
|||
_set_recenter(self, self.recenter)
|
||||
dxf_indi: EnumProperty(
|
||||
name="DXF coordinate type",
|
||||
description="Indication for spherical or euclidian coordinates",
|
||||
description="Indication for spherical or euclidean coordinates",
|
||||
items=[('EUCLIDEAN', "Euclidean", "Coordinates in x/y"),
|
||||
('SPHERICAL', "Spherical", "Coordinates in lat/lon")],
|
||||
default='EUCLIDEAN',
|
||||
|
|
|
@ -34,7 +34,7 @@ import sys
|
|||
import os
|
||||
|
||||
# ----------------------------------------------
|
||||
# Add to Phyton path (once only)
|
||||
# Add to Python path (once only)
|
||||
# ----------------------------------------------
|
||||
path = sys.path
|
||||
flag = False
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#
|
||||
# ##### END GPL LICENSE BLOCK #####
|
||||
|
||||
# This ASE converion use code from Marcos A Ojeda http://generic.cx/
|
||||
# This ASE conversion uses code from Marcos A Ojeda http://generic.cx/
|
||||
#
|
||||
# With notes from
|
||||
# http://iamacamera.org/default.aspx?id=109 by Carl Camera and
|
||||
|
|
|
@ -42,7 +42,7 @@ Import-Export STL files (binary or ascii)
|
|||
Issues:
|
||||
|
||||
Import:
|
||||
- Does not handle endien
|
||||
- Does not handle endian
|
||||
"""
|
||||
|
||||
if "bpy" in locals():
|
||||
|
|
|
@ -26,7 +26,7 @@ Used as a blender script, it load all the stl files in the scene:
|
|||
blender --python stl_utils.py -- file1.stl file2.stl file3.stl ...
|
||||
"""
|
||||
|
||||
# TODO: endien
|
||||
# TODO: endian
|
||||
|
||||
|
||||
class ListDict(dict):
|
||||
|
|
|
@ -97,7 +97,7 @@ from .fbx_utils import (
|
|||
FBXExportSettingsMedia, FBXExportSettings, FBXExportData,
|
||||
)
|
||||
|
||||
# Units convertors!
|
||||
# Units converters!
|
||||
convert_sec_to_ktime = units_convertor("second", "ktime")
|
||||
convert_sec_to_ktime_iter = units_convertor_iter("second", "ktime")
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ from .fbx_utils import (
|
|||
# global singleton, assign on execution
|
||||
fbx_elem_nil = None
|
||||
|
||||
# Units convertors...
|
||||
# Units converters...
|
||||
convert_deg_to_rad_iter = units_convertor_iter("degree", "radian")
|
||||
|
||||
MAT_CONVERT_BONE = fbx_utils.MAT_CONVERT_BONE.inverted()
|
||||
|
|
|
@ -55,7 +55,7 @@ def get_sk_drivers(blender_armature):
|
|||
try:
|
||||
# Check if driver is valid.
|
||||
# Try/Except is no more a suffisant check, starting with version Blender 3.0,
|
||||
# Blender crashs when trying to resolve path on invalid driver
|
||||
# Blender crashes when trying to resolve path on invalid driver
|
||||
if not sk_c.is_valid:
|
||||
continue
|
||||
sk_name = child.data.shape_keys.path_resolve(get_target_object_path(sk_c.data_path)).name
|
||||
|
|
|
@ -26,7 +26,7 @@ from io_scene_gltf2.io.exp.gltf2_io_user_extensions import export_user_extension
|
|||
|
||||
|
||||
# blender_shader_sockets determine the texture and primary_socket determines
|
||||
# the textranform and UVMap. Ex: when combining an ORM texture, for
|
||||
# the textransform and UVMap. Ex: when combining an ORM texture, for
|
||||
# occlusion the primary_socket would be the occlusion socket, and
|
||||
# blender_shader_sockets would be the (O,R,M) sockets.
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ def clearcoat(mh, location, clearcoat_socket):
|
|||
)
|
||||
|
||||
|
||||
# [Texture] => [Seperate G] => [Roughness Factor] =>
|
||||
# [Texture] => [Separate G] => [Roughness Factor] =>
|
||||
def clearcoat_roughness(mh, location, roughness_socket):
|
||||
x, y = location
|
||||
try:
|
||||
|
|
|
@ -256,7 +256,7 @@ def write_file(filepath, objects, depsgraph, scene,
|
|||
):
|
||||
"""
|
||||
Basic write function. The context and options must be already set
|
||||
This can be accessed externaly
|
||||
This can be accessed externally
|
||||
eg.
|
||||
write( 'c:\\test\\foobar.obj', Blender.Object.GetSelected() ) # Using default options.
|
||||
"""
|
||||
|
|
|
@ -689,7 +689,7 @@ def create_mesh(new_objects,
|
|||
|
||||
me = bpy.data.meshes.new(dataname)
|
||||
|
||||
# make sure the list isnt too big
|
||||
# make sure the list isn't too big
|
||||
for material in materials:
|
||||
me.materials.append(material)
|
||||
|
||||
|
@ -730,7 +730,7 @@ def create_mesh(new_objects,
|
|||
me.loops.foreach_set("normal", loops_nor)
|
||||
|
||||
if verts_tex and me.polygons:
|
||||
# Some files Do not explicitely write the 'v' value when it's 0.0, see T68249...
|
||||
# Some files Do not explicitly write the 'v' value when it's 0.0, see T68249...
|
||||
verts_tex = [uv if len(uv) == 2 else uv + [0.0] for uv in verts_tex]
|
||||
me.uv_layers.new(do_init=False)
|
||||
loops_uv = tuple(uv for (_, _, face_vert_tex_indices, _, _, _, _) in faces
|
||||
|
|
|
@ -200,7 +200,7 @@ class MUV_OT_MirrorUV(bpy.types.Operator):
|
|||
eular = Euler(obj.rotation_euler)
|
||||
rotation_mat = eular.to_matrix()
|
||||
|
||||
# Get center location of all verticies.
|
||||
# Get center location of all vertices.
|
||||
center_location = Vector((0.0, 0.0, 0.0))
|
||||
for v in bm.verts:
|
||||
center_location += v.co
|
||||
|
@ -217,7 +217,7 @@ class MUV_OT_MirrorUV(bpy.types.Operator):
|
|||
def _get_local_vertices(self, _, bm):
|
||||
transformed = {}
|
||||
|
||||
# Get center location of all verticies.
|
||||
# Get center location of all vertices.
|
||||
center_location = Vector((0.0, 0.0, 0.0))
|
||||
for v in bm.verts:
|
||||
center_location += v.co
|
||||
|
|
|
@ -356,7 +356,7 @@ class MUV_OT_SelectUV_ZoomSelectedUV(bpy.types.Operator):
|
|||
return {'CANCELLED'}
|
||||
bpy.ops.view3d.view_selected(override_context, use_all_regions=False)
|
||||
|
||||
# Revert selection of verticies.
|
||||
# Revert selection of vertices.
|
||||
for v in sel_verts:
|
||||
v.select = True
|
||||
for obj in objs:
|
||||
|
|
|
@ -601,7 +601,7 @@ if mat:
|
|||
#if material:
|
||||
#maybe some test cases doesn't return a material, gotta take care of that
|
||||
#i cannot think of any case like that right now
|
||||
#maybe import linked when the database isnt sync
|
||||
#maybe import linked when the database isn't sync
|
||||
if context.mode == "EDIT_MESH":
|
||||
obj = context.object
|
||||
dd(material)
|
||||
|
|
|
@ -261,7 +261,7 @@ class AutoMirrorProps(PropertyGroup):
|
|||
|
||||
cut : BoolProperty(
|
||||
default= True,
|
||||
description="If enabeled, cut the mesh in two parts and mirror it. If not, just make a loopcut",
|
||||
description="If enabled, cut the mesh in two parts and mirror it. If not, just make a loopcut",
|
||||
)
|
||||
|
||||
clipping : BoolProperty(
|
||||
|
|
|
@ -300,7 +300,7 @@ class tissue_tessellate_prop(PropertyGroup):
|
|||
min=1,
|
||||
soft_max=5,
|
||||
description="Automatically repeat the Tessellation using the "
|
||||
+ "generated geometry as new base object.\nUsefull for "
|
||||
+ "generated geometry as new base object.\nUseful for "
|
||||
+ "for branching systems. Dangerous!",
|
||||
update = anim_tessellate_active
|
||||
)
|
||||
|
@ -1868,7 +1868,7 @@ class tessellate(Operator):
|
|||
min=1,
|
||||
soft_max=5,
|
||||
description="Automatically repeat the Tessellation using the "
|
||||
+ "generated geometry as new base object.\nUsefull for "
|
||||
+ "generated geometry as new base object.\nUseful for "
|
||||
+ "for branching systems. Dangerous!"
|
||||
)
|
||||
bool_combine : BoolProperty(
|
||||
|
|
|
@ -2061,7 +2061,7 @@ class NWPreviewNode(Operator, NWBase):
|
|||
for li_from, li_to in make_links:
|
||||
base_node_tree.links.new(li_from, li_to)
|
||||
|
||||
# Crate links through node groups until we reach the active node
|
||||
# Create links through node groups until we reach the active node
|
||||
tree = base_node_tree
|
||||
link_end = output_socket
|
||||
while tree.nodes.active != active:
|
||||
|
@ -3584,7 +3584,7 @@ class NWLinkActiveToSelected(Operator, NWBase):
|
|||
if node.label:
|
||||
dst_name = node.label
|
||||
valid = True # Initial value. Will be changed to False if names don't match.
|
||||
src_name = dst_name # If names not used - this asignment will keep valid = True.
|
||||
src_name = dst_name # If names not used - this assignment will keep valid = True.
|
||||
if use_node_name:
|
||||
# Set src_name to source node name or label
|
||||
src_name = active.name
|
||||
|
|
|
@ -27,7 +27,7 @@ class POWER_SEQUENCER_OT_fade_add(bpy.types.Operator):
|
|||
Fade options:
|
||||
|
||||
- In, Out, In and Out create a fade animation of the given duration from
|
||||
the start of the sequence, to the end of the sequence, or on boths sides
|
||||
the start of the sequence, to the end of the sequence, or on both sides
|
||||
- From playhead: the fade animation goes from the start of sequences under the playhead to the playhead
|
||||
- To playhead: the fade animation goes from the playhead to the end of sequences under the playhead
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ class POWER_SEQUENCER_OT_mouse_trim(bpy.types.Operator):
|
|||
*brief* Cut or Trim strips quickly with the mouse cursor
|
||||
|
||||
|
||||
Click somehwere in the Sequencer to insert a cut, click and drag to trim
|
||||
Click somewhere in the Sequencer to insert a cut, click and drag to trim
|
||||
With this function you can quickly cut and remove a section of strips while keeping or
|
||||
collapsing the remaining gap.
|
||||
Press <kbd>Ctrl</kbd> to snap to cuts.
|
||||
|
|
|
@ -32,7 +32,7 @@ bl_info = {
|
|||
"version": (1, 5, 1),
|
||||
"blender": (2, 90, 0),
|
||||
"location": "View3D > UI > PDT",
|
||||
"description": "Precision Drawing Tools for Acccurate Modelling",
|
||||
"description": "Precision Drawing Tools for Accurate Modelling",
|
||||
"warning": "",
|
||||
"doc_url": "https://github.com/Clockmender/Precision-Drawing-Tools/wiki",
|
||||
"category": "3D View",
|
||||
|
|
|
@ -465,7 +465,7 @@ def command_parse(context):
|
|||
mode_sel = 'SEL'
|
||||
|
||||
if mode == "a" and operation not in {"C", "P"}:
|
||||
# Place new Vetex, or Extrude Vertices by Absolute Coords.
|
||||
# Place new Vertex, or Extrude Vertices by Absolute Coords.
|
||||
if mode_sel == 'REL':
|
||||
pg.select = 'SEL'
|
||||
mode_sel = 'SEL'
|
||||
|
|
|
@ -90,7 +90,7 @@ def vector_build(context, pg, obj, operation, values, num_values):
|
|||
pg: PDT Parameters Group - our variables
|
||||
obj: The Active Object
|
||||
operation: The Operation e.g. Create New Vertex
|
||||
values: The paramters passed e.g. 1,4,3 for Cartesian Coordinates
|
||||
values: The parameters passed e.g. 1,4,3 for Cartesian Coordinates
|
||||
num_values: The number of values passed - determines the function
|
||||
|
||||
Returns:
|
||||
|
@ -320,7 +320,7 @@ def placement_arc_centre(context, operation):
|
|||
|
||||
|
||||
def placement_intersect(context, operation):
|
||||
"""Manipulates Geometry, or Objects by Convergance Intersection between 4 points, or 2 Edges.
|
||||
"""Manipulates Geometry, or Objects by Convergence Intersection between 4 points, or 2 Edges.
|
||||
|
||||
Args:
|
||||
context: Blender bpy.context instance.
|
||||
|
|
|
@ -45,8 +45,8 @@ class PDT_OT_PlacementAbs(Operator):
|
|||
Note:
|
||||
- Reads pg.operate from Operation Mode Selector as 'operation'
|
||||
- Reads pg.cartesian_coords scene variables to:
|
||||
-- set position of CUrsor (CU)
|
||||
-- set postion of Pivot Point (PP)
|
||||
-- set position of Cursor (CU)
|
||||
-- set position of Pivot Point (PP)
|
||||
-- MoVe geometry/objects (MV)
|
||||
-- Extrude Vertices (EV)
|
||||
-- Split Edges (SE)
|
||||
|
@ -534,7 +534,7 @@ class PDT_OT_PlacementInt(Operator):
|
|||
bl_options = {"REGISTER", "UNDO"}
|
||||
|
||||
def execute(self, context):
|
||||
"""Manipulates Geometry, or Objects by Convergance Intersection between 4 points, or 2 Edges.
|
||||
"""Manipulates Geometry, or Objects by Convergence Intersection between 4 points, or 2 Edges.
|
||||
|
||||
Note:
|
||||
- Reads pg.operation from Operation Mode Selector as 'operation'
|
||||
|
|
|
@ -51,7 +51,7 @@ def debug(msg, prefix=""):
|
|||
{prefix}{caller file name:line number}| {msg}
|
||||
|
||||
Args:
|
||||
msg: Incomming message to display
|
||||
msg: Incoming message to display
|
||||
prefix: Always Blank
|
||||
|
||||
Returns:
|
||||
|
@ -238,7 +238,7 @@ def view_coords(x_loc, y_loc, z_loc):
|
|||
z_loc: Z coordinate from vector
|
||||
|
||||
Returns:
|
||||
Vector adjusted to View's Inverted Tranformation Matrix.
|
||||
Vector adjusted to View's Inverted Transformation Matrix.
|
||||
"""
|
||||
|
||||
areas = [a for a in bpy.context.screen.areas if a.type == "VIEW_3D"]
|
||||
|
@ -256,7 +256,7 @@ def view_coords_i(x_loc, y_loc, z_loc):
|
|||
"""Converts Screen Oriented input Vector values to new World Vector.
|
||||
|
||||
Note:
|
||||
Converts View tranformation Matrix to Rotational Matrix
|
||||
Converts View transformation Matrix to Rotational Matrix
|
||||
|
||||
Args:
|
||||
x_loc: X coordinate from vector
|
||||
|
|
|
@ -412,7 +412,7 @@ class PDT_PT_PanelCommandLine(Panel):
|
|||
col = row.column()
|
||||
col.prop(pdt_pg, "select", text="Mode")
|
||||
row = layout.row()
|
||||
row.label(text="Comand Line, uses Plane & Mode Options")
|
||||
row.label(text="Command Line, uses Plane & Mode Options")
|
||||
row = layout.row()
|
||||
row.prop(pdt_pg, "command", text="")
|
||||
# Try Re-run
|
||||
|
|
|
@ -50,7 +50,7 @@ PDT_LAB_PLANE = "Plane"
|
|||
PDT_LAB_MODE = "Mode"
|
||||
PDT_LAB_OPERATION = "Operation"
|
||||
PDT_LAB_PERCENT = "Percent"
|
||||
PDT_LAB_INTERSECT = "Intersect" # "Convergance"
|
||||
PDT_LAB_INTERSECT = "Intersect" # "Convergence"
|
||||
PDT_LAB_ORDER = "Order"
|
||||
PDT_LAB_FLIPANGLE = "Flip Angle"
|
||||
PDT_LAB_FLIPPERCENT = "Flip %"
|
||||
|
@ -190,7 +190,7 @@ PDT_DES_PPSCALEFAC = "Scale Factors"
|
|||
PDT_DES_PPSIZE = "Pivot Size Factor"
|
||||
PDT_DES_PPWIDTH = "Pivot Line Width in Pixels"
|
||||
PDT_DES_PPTRANS = "Pivot Point Transparency"
|
||||
PDT_DES_PIVOTDIS = "Input Distance to Compare with Sytem Distance to set Scales"
|
||||
PDT_DES_PIVOTDIS = "Input Distance to Compare with System Distance to set Scales"
|
||||
PDT_DES_FILLETRAD = "Fillet Radius"
|
||||
PDT_DES_FILLETSEG = "Number of Fillet Segments"
|
||||
PDT_DES_FILLETPROF = "Fillet Profile"
|
||||
|
|
|
@ -227,7 +227,7 @@ def tangent_setup(context, pg, plane, obj_data, centre_0, centre_1, centre_2, ra
|
|||
a1, a2, a3 = set_mode(plane)
|
||||
mode = pg.tangent_mode
|
||||
if plane == "LO":
|
||||
# Translate world cordinates into view local (horiz, vert, depth)
|
||||
# Translate world coordinates into view local (horiz, vert, depth)
|
||||
#
|
||||
centre_0 = view_coords_i(centre_0[a1], centre_0[a2], centre_0[a3])
|
||||
centre_1 = view_coords_i(centre_1[a1], centre_1[a2], centre_1[a3])
|
||||
|
@ -399,11 +399,11 @@ def draw_tangents(tangent_vectors, obj_data):
|
|||
"""Add Edges Representing the Tangents.
|
||||
|
||||
Note:
|
||||
The length of the tanget_vectors determins whcih tangents will be
|
||||
The length of the tanget_vectors determines which tangents will be
|
||||
drawn, 3 gives Point Tangents, 4 gives Inner/Outer tangents
|
||||
|
||||
Args:
|
||||
tangent_vectors: A list of vectores representing the tangents
|
||||
tangent_vectors: A list of vectors representing the tangents
|
||||
obj_data: A list giving Object, Object Location and Object Bmesh
|
||||
|
||||
Returns:
|
||||
|
@ -490,7 +490,7 @@ class PDT_OT_TangentOperate(Operator):
|
|||
|
||||
Analyses distance between arc centres, or arc centre and tangent point
|
||||
to determine which mode is possible (Inner, Outer, or Point). If centres are
|
||||
both contianed within 1 inferred circle, Inner tangents are not possible.
|
||||
both contained within 1 inferred circle, Inner tangents are not possible.
|
||||
|
||||
Arcs of same radius will have no intersection for outer tangents so these
|
||||
are calculated differently.
|
||||
|
@ -557,7 +557,7 @@ class PDT_OT_TangentOperateSel(Operator):
|
|||
|
||||
Analyses distance between arc centres, or arc centre and tangent point
|
||||
to determine which mode is possible (Inner, Outer, or Point). If centres are
|
||||
both contianed within 1 inferred circle, Inner tangents are not possible.
|
||||
both contained within 1 inferred circle, Inner tangents are not possible.
|
||||
|
||||
Arcs of same radius will have no intersection for outer tangents so these
|
||||
are calculated differently.
|
||||
|
|
|
@ -32,13 +32,13 @@ from .shading import write_object_material_interior
|
|||
|
||||
def export_curves(file, ob, string_strip_hyphen, global_matrix, tab_write):
|
||||
"""write all curves based POV primitives to exported file """
|
||||
# name_orig = "OB" + ob.name # XXX Unused, check instanciation
|
||||
# name_orig = "OB" + ob.name # XXX Unused, check instantiation
|
||||
dataname_orig = "DATA" + ob.data.name
|
||||
|
||||
# name = string_strip_hyphen(bpy.path.clean_name(name_orig)) # XXX Unused, check instanciation
|
||||
# name = string_strip_hyphen(bpy.path.clean_name(name_orig)) # XXX Unused, check instantiation
|
||||
dataname = string_strip_hyphen(bpy.path.clean_name(dataname_orig))
|
||||
|
||||
# matrix = global_matrix @ ob.matrix_world # XXX Unused, check instanciation
|
||||
# matrix = global_matrix @ ob.matrix_world # XXX Unused, check instantiation
|
||||
bezier_sweep = False
|
||||
if ob.pov.curveshape == 'sphere_sweep':
|
||||
# TODO: Check radius ; shorten lines, may use tab_write() ? > fstrings since py 2.9
|
||||
|
@ -962,7 +962,7 @@ def export_curves(file, ob, string_strip_hyphen, global_matrix, tab_write):
|
|||
if ob.pov.curveshape in {'birail'}:
|
||||
splines = '%s1,%s2,%s3,%s4' % (dataname, dataname, dataname, dataname)
|
||||
tab_write('object {Coons(%s, %s, %s, "")\n' % (splines, ob.pov.res_u, ob.pov.res_v))
|
||||
# pov_mat_name = "Default_texture" # XXX! Unused, check instanciation
|
||||
# pov_mat_name = "Default_texture" # XXX! Unused, check instantiation
|
||||
if ob.active_material:
|
||||
# pov_mat_name = string_strip_hyphen(bpy.path.clean_name(ob.active_material.name))
|
||||
try:
|
||||
|
|
|
@ -605,7 +605,7 @@ def check_add_mesh_extra_objects():
|
|||
"""Test if Add mesh extra objects addon is activated
|
||||
|
||||
This addon is currently used to generate the proxy for POV parametric
|
||||
surface which is almost the same priciple as its Math xyz surface
|
||||
surface which is almost the same principle as its Math xyz surface
|
||||
"""
|
||||
if "add_mesh_extra_objects" in bpy.context.preferences.addons.keys():
|
||||
return True
|
||||
|
|
|
@ -32,7 +32,7 @@ from .scenography import export_smoke
|
|||
|
||||
|
||||
def matrix_as_pov_string(matrix):
|
||||
"""Translate some tranform matrix from Blender UI
|
||||
"""Translate some transform matrix from Blender UI
|
||||
to POV syntax and return that string """
|
||||
matrix_string = (
|
||||
"matrix <%.6f, %.6f, %.6f, %.6f, %.6f, %.6f, %.6f, %.6f, %.6f, %.6f, %.6f, %.6f>\n"
|
||||
|
@ -720,7 +720,7 @@ def export_meshes(
|
|||
if not ob.is_instancer:
|
||||
# except duplis which should be instances groups for now but all duplis later
|
||||
if ob.type == 'EMPTY':
|
||||
# XXX Should we only write this once and instanciate the same for every
|
||||
# XXX Should we only write this once and instantiate the same for every
|
||||
# empty in the final matrix writing, or even no marix and just a comment
|
||||
# with empty object transforms ?
|
||||
tab_write("\n//dummy sphere to represent Empty location\n")
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
# <pep8 compliant>
|
||||
|
||||
"""Wirte the POV file using this file's functions and some from other modules then render it."""
|
||||
"""Write the POV file using this file's functions and some from other modules then render it."""
|
||||
|
||||
import bpy
|
||||
import subprocess
|
||||
|
@ -285,7 +285,7 @@ def write_pov(filename, scene=None, info_callback=None):
|
|||
return name
|
||||
|
||||
def write_matrix(matrix):
|
||||
"""Translate some tranform matrix from Blender UI
|
||||
"""Translate some transform matrix from Blender UI
|
||||
to POV syntax and write to exported file """
|
||||
tab_write(
|
||||
"matrix <%.6f, %.6f, %.6f, %.6f, %.6f, %.6f, %.6f, %.6f, %.6f, %.6f, %.6f, %.6f>\n"
|
||||
|
|
|
@ -96,7 +96,7 @@ class RenderButtonsPanel:
|
|||
|
||||
|
||||
class RENDER_PT_POV_export_settings(RenderButtonsPanel, Panel):
|
||||
"""Use this class to define pov ini settingss buttons."""
|
||||
"""Use this class to define pov ini settings buttons."""
|
||||
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
bl_label = "Auto Start"
|
||||
|
|
|
@ -37,7 +37,7 @@ from bpy.props import (
|
|||
# *update this file to just cover 2.79 to 3.xx and ui it from a Blender internal to pov menu
|
||||
# *as well as update from older pov > switch to QMC when pov 3.8 is out ?
|
||||
# *filter if possible files built in pre 2.79 versions. tell user their file is too old and may
|
||||
# be salvaged from older vesion of this operator from within latest stable blender 2.79 version.
|
||||
# be salvaged from older version of this operator from within latest stable blender 2.79 version.
|
||||
# else if bpy.app.version[0] == 2 and bpy.app.version[1] <= 92 and and bpy.app.version[1] >= 79:
|
||||
# warn users to update blender to 3.xx for creating their newer files then try to salvage
|
||||
# using this script
|
||||
|
|
|
@ -208,7 +208,7 @@ class Rig(BaseSkinRig):
|
|||
self.bones.org,
|
||||
distance=(node.point - self.center).length,
|
||||
limit_mode='LIMITDIST_ONSURFACE', use_transform_limit=True,
|
||||
# Use custom space to accomodate scaling
|
||||
# Use custom space to accommodate scaling
|
||||
space='CUSTOM', space_object=self.obj, space_subtarget=self.bones.org,
|
||||
# Don't allow reordering this limit and subsequent offsets
|
||||
ensure_order=True,
|
||||
|
@ -223,7 +223,7 @@ class Rig(BaseSkinRig):
|
|||
node.control_bone, 'LIMIT_DISTANCE', self.bones.org,
|
||||
distance=(node.point - self.center).length,
|
||||
limit_mode='LIMITDIST_ONSURFACE', use_transform_limit=True,
|
||||
# Use custom space to accomodate scaling
|
||||
# Use custom space to accommodate scaling
|
||||
space='CUSTOM', space_object=self.obj, space_subtarget=self.bones.org,
|
||||
)
|
||||
|
||||
|
|
|
@ -162,7 +162,7 @@ class ControlBoneNode(MainMergeNode, BaseSkinNode):
|
|||
return -abs(self.layer - other.layer) - 100
|
||||
|
||||
def is_better_cluster(self, other):
|
||||
"""Check if the current bone is preferrable as master when choosing of same sized groups."""
|
||||
"""Check if the current bone is preferable as master when choosing of same sized groups."""
|
||||
|
||||
# Prefer bones that have strictly more parents
|
||||
my_parents = list(reversed(get_parent_rigs(self.rig.rigify_parent)))
|
||||
|
|
|
@ -110,7 +110,7 @@ class VIEW3D_stored_views_preferences(AddonPreferences):
|
|||
view_3d_update_rate : IntProperty(
|
||||
name="3D view update",
|
||||
description="Update rate of the 3D view redraw\n"
|
||||
"Increse the value if the UI feels sluggish",
|
||||
"Increase the value if the UI feels sluggish",
|
||||
min=1, max=10,
|
||||
default=1
|
||||
)
|
||||
|
|
|
@ -1314,7 +1314,7 @@ class VIEW3D_OT_stored_views_preferences(AddonPreferences):
|
|||
view_3d_update_rate: IntProperty(
|
||||
name="3D view update",
|
||||
description="Update rate of the 3D view redraw\n"
|
||||
"Increse the value if the UI feels sluggish",
|
||||
"Increase the value if the UI feels sluggish",
|
||||
min=1, max=10,
|
||||
default=1
|
||||
)
|
||||
|
|
|
@ -160,7 +160,7 @@ class UI_PT_i18n_update_translations_settings(Panel):
|
|||
|
||||
if not i18n_sett.is_init and bpy.ops.ui.i18n_updatetranslation_svn_init_settings.poll():
|
||||
# Cannot call the operator from here, this code might run while `pyrna_write_check()` returns False
|
||||
# (which prevents any operator call from Python), during initalization of Blender.
|
||||
# (which prevents any operator call from Python), during initialization of Blender.
|
||||
UI_OT_i18n_updatetranslation_svn_init_settings.execute_static(context, settings.settings)
|
||||
|
||||
if not i18n_sett.is_init:
|
||||
|
|
Loading…
Reference in New Issue