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

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-01-16 03:17:45 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-01-16 03:17:45 +0400
commit769ab3eed81e8b14dff46af7ca28e2b70a7aac41 (patch)
tree5c8949a5fddfc7a287375c2d0913cdf2150feff7
parent97d62f018397d279f6f1654c76d1e6b414c9d343 (diff)
code cleanup:
- cycles ui used 'cscene' for scene.cycles and scene.cycles_curves - style cleanup
-rw-r--r--build_files/buildbot/master.cfg12
-rw-r--r--build_files/buildbot/slave_rsync.py2
-rw-r--r--build_files/cmake/cmake_static_check_clang_array.py2
-rw-r--r--build_files/cmake/cmake_static_check_cppcheck.py2
-rw-r--r--build_files/cmake/cmake_static_check_smatch.py3
-rw-r--r--build_files/cmake/cmake_static_check_sparse.py2
-rw-r--r--build_files/cmake/cmake_static_check_splint.py2
-rwxr-xr-xbuild_files/cmake/project_info.py1
-rw-r--r--build_files/cmake/project_source_info.py4
-rw-r--r--doc/python_api/examples/bpy.props.5.py12
-rw-r--r--doc/python_api/examples/bpy.types.UIList.py2
-rw-r--r--doc/python_api/rst_from_bmesh_opdefines.py50
-rw-r--r--doc/python_api/sphinx_doc_gen.py6
-rw-r--r--intern/cycles/blender/addon/__init__.py4
-rw-r--r--intern/cycles/blender/addon/engine.py2
-rw-r--r--intern/cycles/blender/addon/osl.py17
-rw-r--r--intern/cycles/blender/addon/properties.py8
-rw-r--r--intern/cycles/blender/addon/ui.py248
-rw-r--r--source/blender/editors/interface/interface_regions.c2
-rw-r--r--source/blender/editors/transform/transform.h2
-rw-r--r--source/tests/bl_load_addons.py1
-rw-r--r--source/tests/bl_rst_completeness.py6
-rw-r--r--source/tests/rst_to_doctree_mini.py2
23 files changed, 207 insertions, 185 deletions
diff --git a/build_files/buildbot/master.cfg b/build_files/buildbot/master.cfg
index 9d0839bd0d7..3cfea2a3abd 100644
--- a/build_files/buildbot/master.cfg
+++ b/build_files/buildbot/master.cfg
@@ -28,8 +28,8 @@ c['slavePortnum'] = 9989
from buildbot.changes.svnpoller import SVNPoller
c['change_source'] = SVNPoller(
- 'https://svn.blender.org/svnroot/bf-blender/trunk/',
- pollinterval=1200)
+ 'https://svn.blender.org/svnroot/bf-blender/trunk/',
+ pollinterval=1200)
# BUILDERS
#
@@ -74,9 +74,11 @@ def svn_step(branch=''):
else:
return SVN(baseURL='https://svn.blender.org/svnroot/bf-blender/%%BRANCH%%/blender', mode='update', defaultBranch='trunk', workdir='blender')
+
def lib_svn_step(dir):
return SVN(name='lib svn', baseURL='https://svn.blender.org/svnroot/bf-blender/%%BRANCH%%/lib/' + dir, mode='update', defaultBranch='trunk', workdir='lib/' + dir)
+
def rsync_step(id, branch, rsync_script):
return ShellCommand(name='rsync', command=['python', rsync_script, id, branch], description='uploading', descriptionDone='uploaded', workdir='install')
@@ -155,9 +157,9 @@ for i in range(0, schedule_cycle):
print(names)
c['schedulers'].append(timed.Nightly(name='nightly' + str(i),
- builderNames=names,
- hour=3+i,
- minute=0))
+ builderNames=names,
+ hour=3 + i,
+ minute=0))
# STATUS TARGETS
#
diff --git a/build_files/buildbot/slave_rsync.py b/build_files/buildbot/slave_rsync.py
index aea1b65e333..6936232a495 100644
--- a/build_files/buildbot/slave_rsync.py
+++ b/build_files/buildbot/slave_rsync.py
@@ -41,5 +41,3 @@ print(command)
ret = os.system(command)
sys.exit(ret)
-
-
diff --git a/build_files/cmake/cmake_static_check_clang_array.py b/build_files/cmake/cmake_static_check_clang_array.py
index 7f45cc6aadc..448454c2177 100644
--- a/build_files/cmake/cmake_static_check_clang_array.py
+++ b/build_files/cmake/cmake_static_check_clang_array.py
@@ -50,7 +50,7 @@ def main():
check_commands = []
for c, inc_dirs, defs in source_info:
cmd = ([CHECKER_BIN] +
- CHECKER_ARGS +
+ CHECKER_ARGS +
[c] +
[("-I%s" % i) for i in inc_dirs] +
[("-D%s" % d) for d in defs]
diff --git a/build_files/cmake/cmake_static_check_cppcheck.py b/build_files/cmake/cmake_static_check_cppcheck.py
index d79145f8586..2f7ffa5c240 100644
--- a/build_files/cmake/cmake_static_check_cppcheck.py
+++ b/build_files/cmake/cmake_static_check_cppcheck.py
@@ -56,7 +56,7 @@ def main():
check_commands = []
for c, inc_dirs, defs in source_info:
cmd = ([CHECKER_BIN] +
- CHECKER_ARGS +
+ CHECKER_ARGS +
[c] +
[("-I%s" % i) for i in inc_dirs] +
[("-D%s" % d) for d in defs]
diff --git a/build_files/cmake/cmake_static_check_smatch.py b/build_files/cmake/cmake_static_check_smatch.py
index 7535f1cc55a..2cf07b093fb 100644
--- a/build_files/cmake/cmake_static_check_smatch.py
+++ b/build_files/cmake/cmake_static_check_smatch.py
@@ -41,6 +41,7 @@ import os
USE_QUIET = (os.environ.get("QUIET", None) is not None)
+
def main():
source_info = project_source_info.build_info(use_cxx=False, ignore_prefix_list=CHECKER_IGNORE_PREFIX)
@@ -48,7 +49,7 @@ def main():
for c, inc_dirs, defs in source_info:
cmd = ([CHECKER_BIN] +
- CHECKER_ARGS +
+ CHECKER_ARGS +
[c] +
[("-I%s" % i) for i in inc_dirs] +
[("-D%s" % d) for d in defs]
diff --git a/build_files/cmake/cmake_static_check_sparse.py b/build_files/cmake/cmake_static_check_sparse.py
index 06bef1a1327..8a3fb477239 100644
--- a/build_files/cmake/cmake_static_check_sparse.py
+++ b/build_files/cmake/cmake_static_check_sparse.py
@@ -47,7 +47,7 @@ def main():
for c, inc_dirs, defs in source_info:
cmd = ([CHECKER_BIN] +
- CHECKER_ARGS +
+ CHECKER_ARGS +
[c] +
[("-I%s" % i) for i in inc_dirs] +
[("-D%s" % d) for d in defs]
diff --git a/build_files/cmake/cmake_static_check_splint.py b/build_files/cmake/cmake_static_check_splint.py
index 5b1207543f5..6ad03f2bdca 100644
--- a/build_files/cmake/cmake_static_check_splint.py
+++ b/build_files/cmake/cmake_static_check_splint.py
@@ -79,7 +79,7 @@ def main():
check_commands = []
for c, inc_dirs, defs in source_info:
cmd = ([CHECKER_BIN] +
- CHECKER_ARGS +
+ CHECKER_ARGS +
[c] +
[("-I%s" % i) for i in inc_dirs] +
[("-D%s" % d) for d in defs]
diff --git a/build_files/cmake/project_info.py b/build_files/cmake/project_info.py
index e73b94a7051..99c6ad09ce5 100755
--- a/build_files/cmake/project_info.py
+++ b/build_files/cmake/project_info.py
@@ -150,7 +150,6 @@ def cmake_advanced_info():
os.system(cmd)
return join(CMAKE_DIR, ".cproject")
-
includes = []
defines = []
diff --git a/build_files/cmake/project_source_info.py b/build_files/cmake/project_source_info.py
index 69d09b05ac7..1adc4689eae 100644
--- a/build_files/cmake/project_source_info.py
+++ b/build_files/cmake/project_source_info.py
@@ -89,12 +89,12 @@ def makefile_log():
if make_exe_basename.startswith("make"):
print("running 'make' with --dry-run ...")
process = subprocess.Popen([make_exe, "--always-make", "--dry-run", "--keep-going", "VERBOSE=1"],
- stdout=subprocess.PIPE,
+ stdout=subprocess.PIPE,
)
elif make_exe_basename.startswith("ninja"):
print("running 'ninja' with -t commands ...")
process = subprocess.Popen([make_exe, "-t", "commands"],
- stdout=subprocess.PIPE,
+ stdout=subprocess.PIPE,
)
while process.poll():
diff --git a/doc/python_api/examples/bpy.props.5.py b/doc/python_api/examples/bpy.props.5.py
index e49d0f2a0a0..1f61e33c30f 100644
--- a/doc/python_api/examples/bpy.props.5.py
+++ b/doc/python_api/examples/bpy.props.5.py
@@ -16,6 +16,7 @@ import bpy
def get_float(self):
return self["testprop"]
+
def set_float(self, value):
self["testprop"] = value
@@ -36,6 +37,7 @@ bpy.types.Scene.test_date = bpy.props.StringProperty(get=get_date)
def get_array(self):
return (True, self["somebool"])
+
def set_array(self, values):
self["somebool"] = values[0] and values[1]
@@ -51,10 +53,12 @@ test_items = [
("YELLOW", "Red", "", 4),
]
+
def get_enum(self):
import random
return random.randint(1, 4)
+
def set_enum(self, value):
print("setting value", value)
@@ -66,16 +70,16 @@ bpy.types.Scene.test_enum = bpy.props.EnumProperty(items=test_items, get=get_enu
scene = bpy.context.scene
scene.test_float = 12.34
-print (scene.test_float)
+print(scene.test_float)
scene.test_array = (True, False)
-print ([x for x in scene.test_array])
+print([x for x in scene.test_array])
#scene.test_date = "blah" # this would fail, property is read-only
-print (scene.test_date)
+print(scene.test_date)
scene.test_enum = 'BLUE'
-print (scene.test_enum)
+print(scene.test_enum)
# >>> 12.34000015258789
diff --git a/doc/python_api/examples/bpy.types.UIList.py b/doc/python_api/examples/bpy.types.UIList.py
index f2017e3883d..a37bbff726a 100644
--- a/doc/python_api/examples/bpy.types.UIList.py
+++ b/doc/python_api/examples/bpy.types.UIList.py
@@ -86,4 +86,4 @@ def unregister():
if __name__ == "__main__":
- register() \ No newline at end of file
+ register()
diff --git a/doc/python_api/rst_from_bmesh_opdefines.py b/doc/python_api/rst_from_bmesh_opdefines.py
index c1b6643389d..3776ef7ce56 100644
--- a/doc/python_api/rst_from_bmesh_opdefines.py
+++ b/doc/python_api/rst_from_bmesh_opdefines.py
@@ -65,10 +65,10 @@ def main():
fsrc = open(FILE_OP_DEFINES_C, 'r', encoding="utf-8")
blocks = []
-
+
is_block = False
is_comment = False # /* global comments only */
-
+
comment_ctx = None
block_ctx = None
@@ -82,7 +82,7 @@ def main():
elif l.strip().startswith("/*"):
is_comment = True
comment_ctx = []
-
+
if is_block:
if l.strip().startswith("//"):
pass
@@ -93,11 +93,11 @@ def main():
l = l[:cpp_comment]
block_ctx.append(l)
-
+
if l.strip() == "};":
is_block = False
comment_ctx = None
-
+
if is_comment:
c_comment_start = l.find("/*")
if c_comment_start != -1:
@@ -113,7 +113,6 @@ def main():
fsrc.close()
del fsrc
-
# namespace hack
vars = (
"BMO_OP_SLOT_ELEMENT_BUF",
@@ -124,7 +123,7 @@ def main():
"BMO_OP_SLOT_VEC",
"BMO_OP_SLOT_PTR",
"BMO_OP_SLOT_MAPPING",
-
+
"BMO_OP_SLOT_SUBTYPE_MAP_ELEM",
"BMO_OP_SLOT_SUBTYPE_MAP_BOOL",
"BMO_OP_SLOT_SUBTYPE_MAP_INT",
@@ -157,23 +156,23 @@ def main():
for comment, b in blocks:
# magic, translate into python
b[0] = b[0].replace("static BMOpDefine ", "")
-
+
for i, l in enumerate(b):
l = l.strip()
l = l.replace("{", "(")
l = l.replace("}", ")")
-
+
if l.startswith("/*"):
l = l.replace("/*", "'''own <")
else:
l = l.replace("/*", "'''inline <")
l = l.replace("*/", ">''',")
-
+
# exec func. eg: bmo_rotate_edges_exec,
if l.startswith("bmo_") and l.endswith("_exec,"):
l = "None,"
b[i] = l
-
+
#for l in b:
# print(l)
@@ -182,7 +181,7 @@ def main():
"__file__": "generated",
"__name__": "__main__",
}
-
+
global_namespace.update(vars_dict)
text_a, text_b = text.split("=", 1)
@@ -191,7 +190,6 @@ def main():
# print(global_namespace["result"])
blocks_py.append((comment, global_namespace["result"]))
-
# ---------------------
# Now convert into rst.
fout = open(OUT_RST, 'w', encoding="utf-8")
@@ -217,7 +215,7 @@ def main():
args_out_index[:] = [i for (i, a) in enumerate(args_out) if type(a) == tuple]
fw(".. function:: %s(bm, %s)\n\n" % (b[0], ", ".join([args_in[i][0] for i in args_in_index])))
-
+
# -- wash the comment
comment_washed = []
for i, l in enumerate(comment):
@@ -236,7 +234,6 @@ def main():
fw("\n")
# -- done
-
# get the args
def get_args_wash(args, args_index, is_ret):
args_wash = []
@@ -268,7 +265,7 @@ def main():
comment_next = comment_next[8:-1] # strip inline <...>
else:
comment_next = ""
-
+
comment = ""
if comment_prev:
comment += comment_prev.strip()
@@ -304,18 +301,21 @@ def main():
elif tp == BMO_OP_SLOT_ELEMENT_BUF:
assert(tp_sub is not None)
-
+
ls = []
- if tp_sub & BM_VERT: ls.append(":class:`bmesh.types.BMVert`")
- if tp_sub & BM_EDGE: ls.append(":class:`bmesh.types.BMEdge`")
- if tp_sub & BM_FACE: ls.append(":class:`bmesh.types.BMFace`")
+ if tp_sub & BM_VERT:
+ ls.append(":class:`bmesh.types.BMVert`")
+ if tp_sub & BM_EDGE:
+ ls.append(":class:`bmesh.types.BMEdge`")
+ if tp_sub & BM_FACE:
+ ls.append(":class:`bmesh.types.BMFace`")
assert(ls) # must be at least one
if tp_sub & BMO_OP_SLOT_SUBTYPE_ELEM_IS_SINGLE:
tp_str = "/".join(ls)
else:
tp_str = ("list of (%s)" % ", ".join(ls))
-
+
del ls
elif tp == BMO_OP_SLOT_MAPPING:
if tp_sub & BMO_OP_SLOT_SUBTYPE_MAP_EMPTY:
@@ -356,21 +356,21 @@ def main():
fw(" :arg %s: %s\n" % (name, comment))
fw(" :type %s: %s\n" % (name, tp))
-
+
if args_out_wash:
fw(" :return:\n\n")
-
+
for (name, tp, comment) in args_out_wash:
assert(name.endswith(".out"))
name = name[:-4]
fw(" - ``%s``: %s\n\n" % (name, comment))
fw(" **type** %s\n" % tp)
-
+
fw("\n")
fw(" :rtype: dict with string keys\n")
fw("\n\n")
-
+
fout.close()
del fout
print(OUT_RST)
diff --git a/doc/python_api/sphinx_doc_gen.py b/doc/python_api/sphinx_doc_gen.py
index af6ddac937e..7457ae02d6c 100644
--- a/doc/python_api/sphinx_doc_gen.py
+++ b/doc/python_api/sphinx_doc_gen.py
@@ -612,10 +612,10 @@ def pyfunc2sphinx(ident, fw, identifier, py_func, is_class=True):
'''
function or class method to sphinx
'''
-
+
if type(py_func) == type(bpy.types.Space.draw_handler_add):
return
-
+
arg_str = inspect.formatargspec(*inspect.getargspec(py_func))
if not is_class:
@@ -984,6 +984,7 @@ context_type_map = {
"world": ("World", False),
}
+
def pycontext2sphinx(basepath):
# Only use once. very irregular
@@ -1011,7 +1012,6 @@ def pycontext2sphinx(basepath):
"sequencer_context_dir",
)
-
unique = set()
blend_cdll = ctypes.CDLL("")
for ctx_str in context_strings:
diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py
index 39871bc2289..36fb5c0418d 100644
--- a/intern/cycles/blender/addon/__init__.py
+++ b/intern/cycles/blender/addon/__init__.py
@@ -34,6 +34,7 @@ import bpy
from . import engine
+
class CyclesRender(bpy.types.RenderEngine):
bl_idname = 'CYCLES'
bl_label = "Cycles Render"
@@ -68,7 +69,7 @@ class CyclesRender(bpy.types.RenderEngine):
def view_update(self, context):
if not self.session:
engine.create(self, context.blend_data, context.scene,
- context.region, context.space_data, context.region_data)
+ context.region, context.space_data, context.region_data)
engine.update(self, context.blend_data, context.scene)
def view_draw(self, context):
@@ -104,4 +105,3 @@ def unregister():
properties.unregister()
presets.unregister()
bpy.utils.unregister_module(__name__)
-
diff --git a/intern/cycles/blender/addon/engine.py b/intern/cycles/blender/addon/engine.py
index 9641128d994..ef700ba26f1 100644
--- a/intern/cycles/blender/addon/engine.py
+++ b/intern/cycles/blender/addon/engine.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
+
def init():
import bpy
import _cycles
@@ -89,4 +90,3 @@ def available_devices():
def with_osl():
import _cycles
return _cycles.with_osl
-
diff --git a/intern/cycles/blender/addon/osl.py b/intern/cycles/blender/addon/osl.py
index 79ce3df20c3..0a67edac1e3 100644
--- a/intern/cycles/blender/addon/osl.py
+++ b/intern/cycles/blender/addon/osl.py
@@ -18,10 +18,13 @@
# <pep8 compliant>
-import bpy, _cycles, os, tempfile
+import bpy
+import _cycles
+
-# compile .osl file with given filepath to temporary .oso file
def osl_compile(input_path, report):
+ """compile .osl file with given filepath to temporary .oso file"""
+ import tempfile
output_file = tempfile.NamedTemporaryFile(mode='w', suffix=".oso", delete=False)
output_path = output_file.name
output_file.close()
@@ -33,9 +36,12 @@ def osl_compile(input_path, report):
return ok, output_path
-# compile and update shader script node
+
def update_script_node(node, report):
- import os, shutil
+ """compile and update shader script node"""
+ import os
+ import shutil
+ import tempfile
if node.mode == 'EXTERNAL':
# compile external script file
@@ -103,7 +109,7 @@ def update_script_node(node, report):
report({'ERROR'}, "Can't read OSO bytecode to store in node at %r" % oso_path)
ok = False
-
+
else:
report({'WARNING'}, "No text or file specified in node, nothing to compile")
return
@@ -125,4 +131,3 @@ def update_script_node(node, report):
pass
return ok
-
diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py
index 9dfacf19c81..18a829a9ef0 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -96,7 +96,7 @@ enum_curves_interpolation = (
('CARDINAL', "Cardinal interpolation", "Use cardinal interpolation between segments"),
('BSPLINE', "B-spline interpolation", "Use b-spline interpolation between segments"),
)
-
+
enum_tile_order = (
('CENTER', "Center", "Render from center to the edges"),
('RIGHT_TO_LEFT', "Right to Left", "Render from right to left"),
@@ -105,6 +105,7 @@ enum_tile_order = (
('BOTTOM_TO_TOP', "Bottom to Top", "Render from bottom to top"),
)
+
class CyclesRenderSettings(bpy.types.PropertyGroup):
@classmethod
def register(cls):
@@ -620,6 +621,7 @@ class CyclesMeshSettings(bpy.types.PropertyGroup):
del bpy.types.Curve.cycles
del bpy.types.MetaBall.cycles
+
class CyclesCurveRenderSettings(bpy.types.PropertyGroup):
@classmethod
def register(cls):
@@ -706,7 +708,7 @@ class CyclesCurveRenderSettings(bpy.types.PropertyGroup):
name="Use Cycles Hair Rendering",
description="Activate Cycles hair rendering for particle system",
default=True,
- )
+ )
cls.segments = IntProperty(
name="Segments",
description="Number of segments between path keys (note that this combines with the 'draw step' value)",
@@ -742,6 +744,7 @@ class CyclesCurveRenderSettings(bpy.types.PropertyGroup):
def unregister(cls):
del bpy.types.Scene.cycles_curves
+
class CyclesCurveSettings(bpy.types.PropertyGroup):
@classmethod
def register(cls):
@@ -778,6 +781,7 @@ class CyclesCurveSettings(bpy.types.PropertyGroup):
def unregister(cls):
del bpy.types.ParticleSettings.cycles
+
def register():
bpy.utils.register_class(CyclesRenderSettings)
bpy.utils.register_class(CyclesCameraSettings)
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py
index 9767bd70f46..6b79404e9ab 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -946,91 +946,98 @@ class CyclesParticle_PT_textures(CyclesButtonsPanel, Panel):
slot = part.texture_slots[part.active_texture_index]
layout.template_ID(slot, "texture", new="texture.new")
+
class CyclesRender_PT_CurveRendering(CyclesButtonsPanel, Panel):
bl_label = "Cycles Hair Rendering"
bl_context = "particle"
-
+
@classmethod
def poll(cls, context):
+ scene = context.scene
+ cscene = scene.cycles
psys = context.particle_system
device_type = context.user_preferences.system.compute_device_type
- experimental = context.scene.cycles.feature_set == 'EXPERIMENTAL' and (context.scene.cycles.device == 'CPU' or device_type == 'NONE')
+ experimental = ((cscene.feature_set == 'EXPERIMENTAL') and (cscene.device == 'CPU' or device_type == 'NONE'))
return CyclesButtonsPanel.poll(context) and experimental and psys
-
+
def draw_header(self, context):
- cscene = context.scene.cycles_curves
- self.layout.prop(cscene, "use_curves", text="")
-
+ ccscene = context.scene.cycles_curves
+ self.layout.prop(ccscene, "use_curves", text="")
+
def draw(self, context):
layout = self.layout
-
+
scene = context.scene
- cscene = scene.cycles_curves
-
- layout.active = cscene.use_curves
-
- layout.prop(cscene, "preset", text="Mode")
-
- if cscene.preset == 'CUSTOM':
- layout.prop(cscene, "primitive", text="Primitive")
-
- if cscene.primitive == 'TRIANGLES':
- layout.prop(cscene, "triangle_method", text="Method")
- if cscene.triangle_method == 'TESSELLATED_TRIANGLES':
- layout.prop(cscene, "resolution", text="Resolution")
- layout.prop(cscene, "use_smooth", text="Smooth")
- elif cscene.primitive == 'LINE_SEGMENTS':
- layout.prop(cscene, "use_backfacing", text="Check back-faces")
-
+ ccscene = scene.cycles_curves
+
+ layout.active = ccscene.use_curves
+
+ layout.prop(ccscene, "preset", text="Mode")
+
+ if ccscene.preset == 'CUSTOM':
+ layout.prop(ccscene, "primitive", text="Primitive")
+
+ if ccscene.primitive == 'TRIANGLES':
+ layout.prop(ccscene, "triangle_method", text="Method")
+ if ccscene.triangle_method == 'TESSELLATED_TRIANGLES':
+ layout.prop(ccscene, "resolution", text="Resolution")
+ layout.prop(ccscene, "use_smooth", text="Smooth")
+ elif ccscene.primitive == 'LINE_SEGMENTS':
+ layout.prop(ccscene, "use_backfacing", text="Check back-faces")
+
row = layout.row()
- row.prop(cscene, "use_encasing", text="Exclude encasing")
+ row.prop(ccscene, "use_encasing", text="Exclude encasing")
sub = row.row()
- sub.active = cscene.use_encasing
- sub.prop(cscene, "encasing_ratio", text="Ratio for encasing")
-
- layout.prop(cscene, "line_method", text="Method")
- layout.prop(cscene, "use_tangent_normal", text="Use tangent normal as default")
- layout.prop(cscene, "use_tangent_normal_geometry", text="Use tangent normal geometry")
- layout.prop(cscene, "use_tangent_normal_correction", text="Correct tangent normal for slope")
- layout.prop(cscene, "interpolation", text="Interpolation")
-
+ sub.active = ccscene.use_encasing
+ sub.prop(ccscene, "encasing_ratio", text="Ratio for encasing")
+
+ layout.prop(ccscene, "line_method", text="Method")
+ layout.prop(ccscene, "use_tangent_normal", text="Use tangent normal as default")
+ layout.prop(ccscene, "use_tangent_normal_geometry", text="Use tangent normal geometry")
+ layout.prop(ccscene, "use_tangent_normal_correction", text="Correct tangent normal for slope")
+ layout.prop(ccscene, "interpolation", text="Interpolation")
+
row = layout.row()
- row.prop(cscene, "segments", text="Segments")
- row.prop(cscene, "normalmix", text="Ray Mix")
- elif cscene.primitive == 'CURVE_SEGMENTS' or cscene.primitive == 'CURVE_RIBBONS':
- layout.prop(cscene, "subdivisions", text="Curve subdivisions")
- layout.prop(cscene, "use_backfacing", text="Check back-faces")
-
- layout.prop(cscene, "interpolation", text="Interpolation")
+ row.prop(ccscene, "segments", text="Segments")
+ row.prop(ccscene, "normalmix", text="Ray Mix")
+ elif ccscene.primitive in {'CURVE_SEGMENTS', 'CURVE_RIBBONS'}:
+ layout.prop(ccscene, "subdivisions", text="Curve subdivisions")
+ layout.prop(ccscene, "use_backfacing", text="Check back-faces")
+
+ layout.prop(ccscene, "interpolation", text="Interpolation")
row = layout.row()
- row.prop(cscene, "segments", text="Segments")
-
+ row.prop(ccscene, "segments", text="Segments")
+
row = layout.row()
- row.prop(cscene, "use_cache", text="Export cache with children")
- if cscene.use_cache:
- row.prop(cscene, "use_parents", text="Include parents")
-
+ row.prop(ccscene, "use_cache", text="Export cache with children")
+ if ccscene.use_cache:
+ row.prop(ccscene, "use_parents", text="Include parents")
+
+
class CyclesParticle_PT_CurveSettings(CyclesButtonsPanel, Panel):
bl_label = "Cycles Hair Settings"
bl_context = "particle"
-
+
@classmethod
def poll(cls, context):
- use_curves = context.scene.cycles_curves.use_curves and context.particle_system
+ scene = context.scene
+ cscene = scene.cycles
+ ccscene = scene.cycles_curves
+ use_curves = ccscene.use_curves and context.particle_system
device_type = context.user_preferences.system.compute_device_type
- experimental = context.scene.cycles.feature_set == 'EXPERIMENTAL' and (context.scene.cycles.device == 'CPU' or device_type == 'NONE')
+ experimental = cscene.feature_set == 'EXPERIMENTAL' and (cscene.device == 'CPU' or device_type == 'NONE')
return CyclesButtonsPanel.poll(context) and experimental and use_curves
def draw(self, context):
layout = self.layout
-
+
psys = context.particle_settings
cpsys = psys.cycles
-
+
row = layout.row()
row.prop(cpsys, "shape", text="Shape")
row.prop(cpsys, "use_closetip", text="Close tip")
-
+
layout.label(text="Width multiplier:")
row = layout.row()
row.prop(cpsys, "root_width", text="Root")
@@ -1097,74 +1104,75 @@ def draw_pause(self, context):
def get_panels():
+ types = bpy.types
return (
- bpy.types.RENDER_PT_render,
- bpy.types.RENDER_PT_output,
- bpy.types.RENDER_PT_encoding,
- bpy.types.RENDER_PT_dimensions,
- bpy.types.RENDER_PT_stamp,
- bpy.types.SCENE_PT_scene,
- bpy.types.SCENE_PT_audio,
- bpy.types.SCENE_PT_unit,
- bpy.types.SCENE_PT_keying_sets,
- bpy.types.SCENE_PT_keying_set_paths,
- bpy.types.SCENE_PT_physics,
- bpy.types.WORLD_PT_context_world,
- bpy.types.DATA_PT_context_mesh,
- bpy.types.DATA_PT_context_camera,
- bpy.types.DATA_PT_context_lamp,
- bpy.types.DATA_PT_context_speaker,
- bpy.types.DATA_PT_texture_space,
- bpy.types.DATA_PT_curve_texture_space,
- bpy.types.DATA_PT_mball_texture_space,
- bpy.types.DATA_PT_vertex_groups,
- bpy.types.DATA_PT_shape_keys,
- bpy.types.DATA_PT_uv_texture,
- bpy.types.DATA_PT_vertex_colors,
- bpy.types.DATA_PT_camera,
- bpy.types.DATA_PT_camera_display,
- bpy.types.DATA_PT_lens,
- bpy.types.DATA_PT_speaker,
- bpy.types.DATA_PT_distance,
- bpy.types.DATA_PT_cone,
- bpy.types.DATA_PT_customdata,
- bpy.types.DATA_PT_custom_props_mesh,
- bpy.types.DATA_PT_custom_props_camera,
- bpy.types.DATA_PT_custom_props_lamp,
- bpy.types.DATA_PT_custom_props_speaker,
- bpy.types.TEXTURE_PT_clouds,
- bpy.types.TEXTURE_PT_wood,
- bpy.types.TEXTURE_PT_marble,
- bpy.types.TEXTURE_PT_magic,
- bpy.types.TEXTURE_PT_blend,
- bpy.types.TEXTURE_PT_stucci,
- bpy.types.TEXTURE_PT_image,
- bpy.types.TEXTURE_PT_image_sampling,
- bpy.types.TEXTURE_PT_image_mapping,
- bpy.types.TEXTURE_PT_musgrave,
- bpy.types.TEXTURE_PT_voronoi,
- bpy.types.TEXTURE_PT_distortednoise,
- bpy.types.TEXTURE_PT_voxeldata,
- bpy.types.TEXTURE_PT_pointdensity,
- bpy.types.TEXTURE_PT_pointdensity_turbulence,
- bpy.types.TEXTURE_PT_mapping,
- bpy.types.TEXTURE_PT_influence,
- bpy.types.TEXTURE_PT_colors,
- bpy.types.PARTICLE_PT_context_particles,
- bpy.types.PARTICLE_PT_emission,
- bpy.types.PARTICLE_PT_hair_dynamics,
- bpy.types.PARTICLE_PT_cache,
- bpy.types.PARTICLE_PT_velocity,
- bpy.types.PARTICLE_PT_rotation,
- bpy.types.PARTICLE_PT_physics,
- bpy.types.PARTICLE_PT_boidbrain,
- bpy.types.PARTICLE_PT_render,
- bpy.types.PARTICLE_PT_draw,
- bpy.types.PARTICLE_PT_children,
- bpy.types.PARTICLE_PT_field_weights,
- bpy.types.PARTICLE_PT_force_fields,
- bpy.types.PARTICLE_PT_vertexgroups,
- bpy.types.PARTICLE_PT_custom_props,
+ types.RENDER_PT_render,
+ types.RENDER_PT_output,
+ types.RENDER_PT_encoding,
+ types.RENDER_PT_dimensions,
+ types.RENDER_PT_stamp,
+ types.SCENE_PT_scene,
+ types.SCENE_PT_audio,
+ types.SCENE_PT_unit,
+ types.SCENE_PT_keying_sets,
+ types.SCENE_PT_keying_set_paths,
+ types.SCENE_PT_physics,
+ types.WORLD_PT_context_world,
+ types.DATA_PT_context_mesh,
+ types.DATA_PT_context_camera,
+ types.DATA_PT_context_lamp,
+ types.DATA_PT_context_speaker,
+ types.DATA_PT_texture_space,
+ types.DATA_PT_curve_texture_space,
+ types.DATA_PT_mball_texture_space,
+ types.DATA_PT_vertex_groups,
+ types.DATA_PT_shape_keys,
+ types.DATA_PT_uv_texture,
+ types.DATA_PT_vertex_colors,
+ types.DATA_PT_camera,
+ types.DATA_PT_camera_display,
+ types.DATA_PT_lens,
+ types.DATA_PT_speaker,
+ types.DATA_PT_distance,
+ types.DATA_PT_cone,
+ types.DATA_PT_customdata,
+ types.DATA_PT_custom_props_mesh,
+ types.DATA_PT_custom_props_camera,
+ types.DATA_PT_custom_props_lamp,
+ types.DATA_PT_custom_props_speaker,
+ types.TEXTURE_PT_clouds,
+ types.TEXTURE_PT_wood,
+ types.TEXTURE_PT_marble,
+ types.TEXTURE_PT_magic,
+ types.TEXTURE_PT_blend,
+ types.TEXTURE_PT_stucci,
+ types.TEXTURE_PT_image,
+ types.TEXTURE_PT_image_sampling,
+ types.TEXTURE_PT_image_mapping,
+ types.TEXTURE_PT_musgrave,
+ types.TEXTURE_PT_voronoi,
+ types.TEXTURE_PT_distortednoise,
+ types.TEXTURE_PT_voxeldata,
+ types.TEXTURE_PT_pointdensity,
+ types.TEXTURE_PT_pointdensity_turbulence,
+ types.TEXTURE_PT_mapping,
+ types.TEXTURE_PT_influence,
+ types.TEXTURE_PT_colors,
+ types.PARTICLE_PT_context_particles,
+ types.PARTICLE_PT_emission,
+ types.PARTICLE_PT_hair_dynamics,
+ types.PARTICLE_PT_cache,
+ types.PARTICLE_PT_velocity,
+ types.PARTICLE_PT_rotation,
+ types.PARTICLE_PT_physics,
+ types.PARTICLE_PT_boidbrain,
+ types.PARTICLE_PT_render,
+ types.PARTICLE_PT_draw,
+ types.PARTICLE_PT_children,
+ types.PARTICLE_PT_field_weights,
+ types.PARTICLE_PT_force_fields,
+ types.PARTICLE_PT_vertexgroups,
+ types.PARTICLE_PT_custom_props,
)
diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c
index ca5e2a1926c..e846fc3f078 100644
--- a/source/blender/editors/interface/interface_regions.c
+++ b/source/blender/editors/interface/interface_regions.c
@@ -651,7 +651,7 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
ofsx = 0; //(but->block->panel) ? but->block->panel->ofsx : 0;
ofsy = 0; //(but->block->panel) ? but->block->panel->ofsy : 0;
- rect_fl.xmin = (but->rect.xmin + but->rect.xmax) * 0.5f + ofsx - TIP_BORDER_X;
+ rect_fl.xmin = BLI_rctf_cent_x(&but->rect) + ofsx - TIP_BORDER_X;
rect_fl.xmax = rect_fl.xmin + fontw + TIP_BORDER_X;
rect_fl.ymax = but->rect.ymin + ofsy - TIP_BORDER_Y;
rect_fl.ymin = rect_fl.ymax - fonth - TIP_BORDER_Y;
diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h
index 28264a44bcf..083d7b94738 100644
--- a/source/blender/editors/transform/transform.h
+++ b/source/blender/editors/transform/transform.h
@@ -108,7 +108,7 @@ typedef struct TransCon {
void (*applyVec)(struct TransInfo *t, struct TransData *td, const float in[3], float out[3], float pvec[3]);
/* Apply function pointer for linear vectorial transformation */
/* The last three parameters are pointers to the in/out/printable vectors */
- void (*applySize)(struct TransInfo *t, struct TransData *td, float [3][3]);
+ void (*applySize)(struct TransInfo *t, struct TransData *td, float smat[3][3]);
/* Apply function pointer for size transformation */
void (*applyRot)(struct TransInfo *t, struct TransData *td, float vec[3], float *angle);
/* Apply function pointer for rotation transformation */
diff --git a/source/tests/bl_load_addons.py b/source/tests/bl_load_addons.py
index fab2e2ead11..1ed76a1bc02 100644
--- a/source/tests/bl_load_addons.py
+++ b/source/tests/bl_load_addons.py
@@ -26,6 +26,7 @@ import addon_utils
import sys
import imp
+
def disable_addons():
# first disable all
addons = bpy.context.user_preferences.addons
diff --git a/source/tests/bl_rst_completeness.py b/source/tests/bl_rst_completeness.py
index e9e2779bda8..6e67f8d908d 100644
--- a/source/tests/bl_rst_completeness.py
+++ b/source/tests/bl_rst_completeness.py
@@ -56,6 +56,7 @@ modules = (
("gpu.rst", "gpu", False),
)
+
def is_directive_pydata(filepath, directive):
if directive.type in {"function", "method", "class", "attribute", "data"}:
return True
@@ -113,7 +114,6 @@ def module_validate(filepath, mod, mod_name, doctree, partial_ok):
print(directive_to_str(filepath, directive_child), end=" ")
print("rst contains non existing class member %r" % attr_id)
-
# MODULE member missing from RST ???
doctree_dict = directive_members_dict(filepath, doctree)
for attr in dir(mod):
@@ -136,7 +136,7 @@ def module_validate(filepath, mod, mod_name, doctree, partial_ok):
def main():
-
+
if bge is None:
print("Skipping BGE modules!")
@@ -151,7 +151,7 @@ def main():
doctree = rst_to_doctree_mini.parse_rst_py(filepath)
__import__(modname)
mod = sys.modules[modname]
-
+
module_validate(filepath, mod, modname, doctree, partial_ok)
diff --git a/source/tests/rst_to_doctree_mini.py b/source/tests/rst_to_doctree_mini.py
index 181037299cf..cb7b0291296 100644
--- a/source/tests/rst_to_doctree_mini.py
+++ b/source/tests/rst_to_doctree_mini.py
@@ -45,7 +45,7 @@ def parse_rst_py(filepath):
# -->
# ("foo", "bar")
re_prefix = re.compile(r"^\.\.\s([a-zA-Z09\-]+)::\s*(.*)\s*$")
-
+
tree = collections.defaultdict(list)
indent_map = {}
indent_prev = 0