Не подтверждена Коммит 24de05bf создал по автору Dealga McArdle's avatar Dealga McArdle Зафиксировано автором GitHub
Просмотр файлов

Remove unused imports (#4116)

* make them use the same code

* remove unused imports

* typo

* single param lookup can use get_param instead

* change get_params to get_param if it makes sense

* use similar names for arguments to similar functions

* offers more convenient way to get params from settings

* complete doc for get_params(dict, direct=True)

* use it in exception drawing
владелец de996f63
......@@ -25,7 +25,6 @@ import bgl
import gpu
from gpu_extras.batch import batch_for_shader
from sverchok.utils.context_managers import sv_preferences
from sverchok.data_structure import updateNode, node_id, enum_item_4
from sverchok.node_tree import SverchCustomTreeNode
from sverchok.ui import bgl_callback_nodeview as nvBGL
......@@ -192,14 +191,8 @@ class SvEasingNode(bpy.types.Node, SverchCustomTreeNode):
"""
adjust render location based on preference multiplier setting
"""
try:
with sv_preferences() as prefs:
multiplier = prefs.render_location_xy_multiplier
except:
multiplier = 1.0
# cache this.
self.location_theta = multiplier
from sverchok.settings import get_param
self.location_theta = get_param('render_location_xy_multiplier', 1.0)
def generate_graph_geom(self, config):
......
......@@ -18,7 +18,6 @@ from gpu_extras.batch import batch_for_shader
from mathutils import Vector, Matrix
from sverchok.node_tree import SverchCustomTreeNode
from sverchok.settings import get_params
from sverchok.data_structure import updateNode, node_id, throttle_and_update_node
from sverchok.ui import bgl_callback_nodeview as nvBGL2
......
......@@ -28,7 +28,6 @@ import bgl
import gpu
from gpu_extras.batch import batch_for_shader
from sverchok.utils.context_managers import sv_preferences
from sverchok.core.socket_data import SvGetSocketInfo
from sverchok.data_structure import updateNode, node_id
from sverchok.node_tree import SverchCustomTreeNode
......
......@@ -19,7 +19,6 @@ from gpu_extras.batch import batch_for_shader
from mathutils import Vector
from sverchok.utils.context_managers import sv_preferences
from sverchok.utils.sv_operator_mixins import SvGenericNodeLocator
from sverchok.node_tree import SverchCustomTreeNode
from sverchok.data_structure import updateNode, node_id
......
......@@ -20,7 +20,7 @@ if bpy.app.version >= (2, 91, 0):
else:
PYPATH = bpy.app.binary_path_python
def get_params(settings_and_fallbacks):
def get_params(prop_names_and_fallbacks, direct=False):
"""
This function returns an object which you can use the . op on.
example usage:
......@@ -28,23 +28,51 @@ def get_params(settings_and_fallbacks):
from sverchok.settings import get_params
props = get_params({'prop_name_1': 20, 'prop_name_2': 30})
# 20 = props.prop_name_1
# 30 = props.prop_name_2
# props.prop_name_1 20
# props.prop_name_2 30
example usage using direct=True
props = get_params({'prop_name_1': 20, 'prop_name_2': 30}, direct=True)
# props[0] 20
# props[1] 30
"""
from sverchok.utils.context_managers import sv_preferences
props = lambda: None
with sv_preferences() as prefs:
for k, v in settings_and_fallbacks.items():
for k, v in prop_names_and_fallbacks.items():
try:
value = getattr(prefs, k)
except:
print(f'returning a default for {k}')
value = v
setattr(props, k, value)
if direct:
return [getattr(props, k) for k in prop_names_and_fallbacks.keys()]
return props
def get_param(prop_name, fallback):
"""
for getting a single parameter from sv preferences
example usage:
from sverchok.settings import get_params
prop = get_param("render_scale", 1.0)
# prop = 1.0 if settings wasn't available, or else the current value
"""
from sverchok.utils.context_managers import sv_preferences
with sv_preferences() as prefs:
try:
value = getattr(prefs, prop_name)
except:
print(f'returning a default for {prop_name}')
value = fallback
return value
# getDpiFactor and getDpi are lifted from Animation Nodes :)
def get_dpi_factor():
......
......@@ -24,18 +24,15 @@ def exception_nodetree_id(ng):
def get_preferences():
""" obtain the dpi adjusted xy and scale factors """
from sverchok.settings import get_params
props = get_params({
'render_scale': 1.0,
'render_location_xy_multiplier': 1.0})
return props.render_scale, props.render_location_xy_multiplier
return get_params({'render_scale': 1.0, 'render_location_xy_multiplier': 1.0}, direct=True)
def adjust_position_and_dimensions(node, loc):
""" further adjustement is needed, not done yet in the code below Frames, nested
node param is used for this.
"""
x, y = loc
scale, multiplier = get_preferences()
x, y = loc
x, y = [x * multiplier, y * multiplier]
# maybe we do something independant of scale.
return x, y, scale
......
......@@ -20,7 +20,7 @@ import bpy
from bpy.props import (EnumProperty, BoolProperty)
from sverchok.data_structure import updateNode, throttle_and_update_node
from sverchok.settings import get_params
from sverchok.settings import get_param
from math import pi
......@@ -62,10 +62,8 @@ angle_remap_options = {
class SvAngleHelper():
def get_preferences(self):
props = get_params({
'auto_update_angle_values': False,
})
return props.auto_update_angle_values
return get_param('auto_update_angle_values', False)
def angle_conversion_factor(self, from_angle_units, to_angle_units):
if from_angle_units == to_angle_units:
......
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать