diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-11-15 06:58:01 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-11-15 06:58:01 +0400 |
commit | 747f06d3d23e75bee048bd9957fbe44897ad0ad6 (patch) | |
tree | 941441f52349d4a1ba4a3ca016c429b5c84c7701 | |
parent | 3442c16c09b31a23f45b23be72e6eb5ba02c7bbf (diff) |
set cycles scripts as pep8 & make some minor changes.
also update sphinx doc generator.
-rw-r--r-- | doc/python_api/sphinx_doc_gen.py | 3 | ||||
-rw-r--r-- | intern/cycles/blender/addon/__init__.py | 12 | ||||
-rw-r--r-- | intern/cycles/blender/addon/engine.py | 15 | ||||
-rw-r--r-- | intern/cycles/blender/addon/enums.py | 39 | ||||
-rw-r--r-- | intern/cycles/blender/addon/presets.py | 10 | ||||
-rw-r--r-- | intern/cycles/blender/addon/properties.py | 18 | ||||
-rw-r--r-- | intern/cycles/blender/addon/ui.py | 69 | ||||
-rw-r--r-- | intern/cycles/blender/addon/xml.py | 10 |
8 files changed, 126 insertions, 50 deletions
diff --git a/doc/python_api/sphinx_doc_gen.py b/doc/python_api/sphinx_doc_gen.py index 36e092f85b7..9cbd6824bbb 100644 --- a/doc/python_api/sphinx_doc_gen.py +++ b/doc/python_api/sphinx_doc_gen.py @@ -589,6 +589,7 @@ def pycontext2sphinx(BASEPATH): "active_base": ("ObjectBase", False), "active_bone": ("Bone", False), "active_object": ("Object", False), + "active_operator": ("Operator", False), "active_pose_bone": ("PoseBone", False), "armature": ("Armature", False), "bone": ("Bone", False), @@ -597,6 +598,7 @@ def pycontext2sphinx(BASEPATH): "cloth": ("ClothModifier", False), "collision": ("CollisionModifier", False), "curve": ("Curve", False), + "dynamic_paint": ("DynamicPaintModifier", False), "edit_bone": ("EditBone", False), "edit_image": ("Image", False), "edit_object": ("Object", False), @@ -635,6 +637,7 @@ def pycontext2sphinx(BASEPATH): "speaker": ("Speaker", False), "texture": ("Texture", False), "texture_slot": ("MaterialTextureSlot", False), + "texture_user": ("ID", False), "vertex_paint_object": ("Object", False), "visible_bases": ("ObjectBase", True), "visible_bones": ("Object", True), diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py index f5ea39b7e3c..ccb04eea0a8 100644 --- a/intern/cycles/blender/addon/__init__.py +++ b/intern/cycles/blender/addon/__init__.py @@ -16,10 +16,12 @@ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # +# <pep8 compliant> + bl_info = { "name": "Cycles Render Engine", "author": "", - "version": (0,0), + "version": (0, 0), "blender": (2, 6, 0), "api": 41670, "location": "Info header, render engine menu", @@ -38,6 +40,7 @@ from cycles import xml from cycles import engine from cycles import presets + class CyclesRender(bpy.types.RenderEngine): bl_idname = 'CYCLES' bl_label = "Cycles" @@ -46,7 +49,7 @@ class CyclesRender(bpy.types.RenderEngine): def __init__(self): engine.init() self.session = None - + def __del__(self): engine.free(self) @@ -64,7 +67,7 @@ class CyclesRender(bpy.types.RenderEngine): # # def preview_render(self): # pass - + # viewport render def view_update(self, context): if not self.session: @@ -75,6 +78,7 @@ class CyclesRender(bpy.types.RenderEngine): def view_draw(self, context): engine.draw(self, context.region, context.space_data, context.region_data) + def register(): properties.register() ui.register() @@ -82,10 +86,10 @@ def register(): presets.register() bpy.utils.register_module(__name__) + def unregister(): xml.unregister() ui.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 d0f0d395810..a32a9e91499 100644 --- a/intern/cycles/blender/addon/engine.py +++ b/intern/cycles/blender/addon/engine.py @@ -16,8 +16,11 @@ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # +# <pep8 compliant> + import bpy + def init(): import bcycles import os.path @@ -27,7 +30,8 @@ def init(): bcycles.init(path, user_path) -def create(engine, data, scene, region = 0, v3d = 0, rv3d = 0): + +def create(engine, data, scene, region=0, v3d=0, rv3d=0): import bcycles data = data.as_pointer() @@ -41,18 +45,21 @@ def create(engine, data, scene, region = 0, v3d = 0, rv3d = 0): engine.session = bcycles.create(engine.as_pointer(), data, scene, region, v3d, rv3d) + def free(engine): - if "session" in dir(engine): + if hasattr(engine, "session"): if engine.session: import bcycles bcycles.free(engine.session) del engine.session + def render(engine): import bcycles if "session" in dir(engine): bcycles.render(engine.session) + def update(engine, data, scene): import bcycles if scene.render.use_border: @@ -61,6 +68,7 @@ def update(engine, data, scene): else: bcycles.sync(engine.session) + def draw(engine, region, v3d, rv3d): import bcycles v3d = v3d.as_pointer() @@ -69,11 +77,12 @@ def draw(engine, region, v3d, rv3d): # draw render image bcycles.draw(engine.session, v3d, rv3d) + def available_devices(): import bcycles return bcycles.available_devices() + def with_osl(): import bcycles return bcycles.with_osl() - diff --git a/intern/cycles/blender/addon/enums.py b/intern/cycles/blender/addon/enums.py index 4aef2553050..463fdc19534 100644 --- a/intern/cycles/blender/addon/enums.py +++ b/intern/cycles/blender/addon/enums.py @@ -16,8 +16,11 @@ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # +# <pep8 compliant> + from cycles import engine + def get_gpu_device(): available_devices = engine.available_devices() cuda = 'cuda' in available_devices @@ -28,32 +31,36 @@ def get_gpu_device(): gpu_string = "CUDA GPU" else: gpu_string = "OpenCL GPU" - + return gpu_string devices = ( -("CPU", "CPU", "Processor"), -("GPU", get_gpu_device(), "Graphics card")) + ("CPU", "CPU", "Processor"), + ("GPU", get_gpu_device(), "Graphics card"), + ) gpu_type = ( -("CUDA", "CUDA", "NVidia only"), -("OPENCL", "OpenCL (incomplete)", "")) + ("CUDA", "CUDA", "NVidia only"), + ("OPENCL", "OpenCL (incomplete)", ""), + ) shading_systems = ( -("GPU_COMPATIBLE", "GPU Compatible", "Restricted shading system compatible with GPU rendering"), -("OSL", "Open Shading Language", "Open Shading Language shading system that only runs on the CPU")) + ("GPU_COMPATIBLE", "GPU Compatible", "Restricted shading system compatible with GPU rendering"), + ("OSL", "Open Shading Language", "Open Shading Language shading system that only runs on the CPU"), + ) displacement_methods = ( -("BUMP", "Bump", "Bump mapping to simulate the appearance of displacement"), -("TRUE", "True", "Use true displacement only, requires fine subdivision"), -("BOTH", "Both", "Combination of displacement and bump mapping")) + ("BUMP", "Bump", "Bump mapping to simulate the appearance of displacement"), + ("TRUE", "True", "Use true displacement only, requires fine subdivision"), + ("BOTH", "Both", "Combination of displacement and bump mapping"), + ) bvh_types = ( -("DYNAMIC_BVH", "Dynamic BVH", "Objects can be individually updated, at the cost of slower render time"), -("STATIC_BVH", "Static BVH", "Any object modification requires a complete BVH rebuild, but renders faster")) + ("DYNAMIC_BVH", "Dynamic BVH", "Objects can be individually updated, at the cost of slower render time"), + ("STATIC_BVH", "Static BVH", "Any object modification requires a complete BVH rebuild, but renders faster"), + ) filter_types = ( -("BOX", "Box", "Box filter"), -("GAUSSIAN", "Gaussian", "Gaussian filter")) - - + ("BOX", "Box", "Box filter"), + ("GAUSSIAN", "Gaussian", "Gaussian filter"), + ) diff --git a/intern/cycles/blender/addon/presets.py b/intern/cycles/blender/addon/presets.py index e5243b633be..e2836b2cc21 100644 --- a/intern/cycles/blender/addon/presets.py +++ b/intern/cycles/blender/addon/presets.py @@ -16,9 +16,12 @@ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # +# <pep8 compliant> + from bl_operators.presets import AddPresetBase from bpy.types import Operator + class AddPresetIntegrator(AddPresetBase, Operator): '''Add an Integrator Preset''' bl_idname = "render.cycles_integrator_preset_add" @@ -41,13 +44,14 @@ class AddPresetIntegrator(AddPresetBase, Operator): ] preset_subdir = "cycles/integrator" - + + def register(): pass + def unregister(): pass - + if __name__ == "__main__": register() - diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index bcd3f7d1eac..0c7deb01ed8 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -16,6 +16,8 @@ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # +# <pep8 compliant> + import bpy from bpy.props import * @@ -23,6 +25,7 @@ import math from cycles import enums + class CyclesRenderSettings(bpy.types.PropertyGroup): @classmethod def register(cls): @@ -30,7 +33,7 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): cls.device = EnumProperty(name="Device", description="Device to use for rendering", items=enums.devices, default="CPU") - + cls.gpu_type = EnumProperty(name="GPU Type", description="Processing system to use on the GPU", items=enums.gpu_type, default="CUDA") @@ -101,6 +104,7 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): def unregister(cls): del bpy.types.Scene.cycles + class CyclesCameraSettings(bpy.types.PropertyGroup): @classmethod def register(cls): @@ -112,11 +116,12 @@ class CyclesCameraSettings(bpy.types.PropertyGroup): default=0, min=0, max=100) cls.aperture_rotation = FloatProperty(name="Aperture Rotation", description="Rotation of blades in aperture", default=0, soft_min=-math.pi, soft_max=math.pi, subtype='ANGLE') - + @classmethod def unregister(cls): del bpy.types.Camera.cycles + class CyclesMaterialSettings(bpy.types.PropertyGroup): @classmethod def register(cls): @@ -128,6 +133,7 @@ class CyclesMaterialSettings(bpy.types.PropertyGroup): def unregister(cls): del bpy.types.Material.cycles + class CyclesLampSettings(bpy.types.PropertyGroup): @classmethod def register(cls): @@ -138,6 +144,7 @@ class CyclesLampSettings(bpy.types.PropertyGroup): def unregister(cls): del bpy.types.Lamp.cycles + class CyclesWorldSettings(bpy.types.PropertyGroup): @classmethod def register(cls): @@ -147,6 +154,7 @@ class CyclesWorldSettings(bpy.types.PropertyGroup): def unregister(cls): del bpy.types.World.cycles + class CyclesVisibilitySettings(bpy.types.PropertyGroup): @classmethod def register(cls): @@ -162,6 +170,7 @@ class CyclesVisibilitySettings(bpy.types.PropertyGroup): def unregister(cls): del bpy.types.Object.cycles_visibility + class CyclesMeshSettings(bpy.types.PropertyGroup): @classmethod def register(cls): @@ -181,6 +190,7 @@ class CyclesMeshSettings(bpy.types.PropertyGroup): del bpy.types.Curve.cycles del bpy.types.MetaBall.cycles + def register(): bpy.utils.register_class(CyclesRenderSettings) bpy.utils.register_class(CyclesCameraSettings) @@ -189,7 +199,8 @@ def register(): bpy.utils.register_class(CyclesWorldSettings) bpy.utils.register_class(CyclesVisibilitySettings) bpy.utils.register_class(CyclesMeshSettings) - + + def unregister(): bpy.utils.unregister_class(CyclesRenderSettings) bpy.utils.unregister_class(CyclesCameraSettings) @@ -198,4 +209,3 @@ def unregister(): bpy.utils.unregister_class(CyclesWorldSettings) bpy.utils.unregister_class(CyclesMeshSettings) bpy.utils.unregister_class(CyclesVisibilitySettings) - diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 7c7d4c81b89..6cebe3d24e4 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -16,6 +16,8 @@ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # +# <pep8 compliant> + import bpy from bpy.types import Panel, Menu @@ -23,6 +25,7 @@ from bpy.types import Panel, Menu from cycles import enums from cycles import engine + class CYCLES_MT_integrator_presets(Menu): bl_label = "Integrator Presets" preset_subdir = "cycles/integrator" @@ -30,16 +33,18 @@ class CYCLES_MT_integrator_presets(Menu): COMPAT_ENGINES = {'CYCLES'} draw = Menu.draw_preset + class CyclesButtonsPanel(): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" bl_context = "render" - + @classmethod def poll(cls, context): rd = context.scene.render return rd.engine == 'CYCLES' + class CyclesRender_PT_integrator(CyclesButtonsPanel, Panel): bl_label = "Integrator" bl_options = {'DEFAULT_CLOSED'} @@ -49,7 +54,7 @@ class CyclesRender_PT_integrator(CyclesButtonsPanel, Panel): scene = context.scene cscene = scene.cycles - + row = layout.row(align=True) row.menu("CYCLES_MT_integrator_presets", text=bpy.types.CYCLES_MT_integrator_presets.bl_label) row.operator("render.cycles_integrator_preset_add", text="", icon="ZOOMIN") @@ -87,7 +92,8 @@ class CyclesRender_PT_integrator(CyclesButtonsPanel, Panel): #row = col.row() #row.prop(cscene, "blur_caustics") #row.active = not cscene.no_caustics - + + class CyclesRender_PT_film(CyclesButtonsPanel, Panel): bl_label = "Film" @@ -99,7 +105,7 @@ class CyclesRender_PT_film(CyclesButtonsPanel, Panel): split = layout.split() - col = split.column(); + col = split.column() col.prop(cscene, "film_exposure") col.prop(cscene, "film_transparent") @@ -109,6 +115,7 @@ class CyclesRender_PT_film(CyclesButtonsPanel, Panel): if cscene.filter_type != 'BOX': sub.prop(cscene, "filter_width", text="Width") + class CyclesRender_PT_performance(CyclesButtonsPanel, Panel): bl_label = "Performance" bl_options = {'DEFAULT_CLOSED'} @@ -142,6 +149,7 @@ class CyclesRender_PT_performance(CyclesButtonsPanel, Panel): sub.prop(cscene, "debug_bvh_type", text="") sub.prop(cscene, "debug_use_spatial_splits") + class CyclesRender_PT_layers(CyclesButtonsPanel, Panel): bl_label = "Layers" bl_options = {'DEFAULT_CLOSED'} @@ -178,6 +186,7 @@ class CyclesRender_PT_layers(CyclesButtonsPanel, Panel): layout.prop(rl, "material_override", text="Material") + class Cycles_PT_post_processing(CyclesButtonsPanel, Panel): bl_label = "Post Processing" bl_options = {'DEFAULT_CLOSED'} @@ -196,6 +205,7 @@ class Cycles_PT_post_processing(CyclesButtonsPanel, Panel): col = split.column() col.prop(rd, "dither_intensity", text="Dither", slider=True) + class CyclesCamera_PT_dof(CyclesButtonsPanel, Panel): bl_label = "Depth of Field" bl_context = "data" @@ -229,6 +239,7 @@ class CyclesCamera_PT_dof(CyclesButtonsPanel, Panel): sub.prop(ccam, "aperture_blades", text="Blades") sub.prop(ccam, "aperture_rotation", text="Rotation") + class Cycles_PT_context_material(CyclesButtonsPanel, Panel): bl_label = "Surface" bl_context = "material" @@ -277,6 +288,7 @@ class Cycles_PT_context_material(CyclesButtonsPanel, Panel): split.template_ID(space, "pin_id") split.separator() + class Cycles_PT_mesh_displacement(CyclesButtonsPanel, Panel): bl_label = "Displacement" bl_context = "data" @@ -300,8 +312,9 @@ class Cycles_PT_mesh_displacement(CyclesButtonsPanel, Panel): cdata = mball.cycles layout.prop(cdata, "displacement_method", text="Method") - layout.prop(cdata, "use_subdivision"); - layout.prop(cdata, "dicing_rate"); + layout.prop(cdata, "use_subdivision") + layout.prop(cdata, "dicing_rate") + class CyclesObject_PT_ray_visibility(CyclesButtonsPanel, Panel): bl_label = "Ray Visibility" @@ -311,7 +324,7 @@ class CyclesObject_PT_ray_visibility(CyclesButtonsPanel, Panel): @classmethod def poll(cls, context): ob = context.object - return CyclesButtonsPanel.poll(context) and ob and ob.type in ('MESH', 'CURVE', 'CURVE', 'SURFACE', 'FONT', 'META') # todo: 'LAMP' + return CyclesButtonsPanel.poll(context) and ob and ob.type in ('MESH', 'CURVE', 'CURVE', 'SURFACE', 'FONT', 'META') # todo: 'LAMP' def draw(self, context): layout = self.layout @@ -330,6 +343,7 @@ class CyclesObject_PT_ray_visibility(CyclesButtonsPanel, Panel): col.prop(visibility, "transmission") col.prop(visibility, "shadow") + def find_node(material, nodetype): if material and material.node_tree: ntree = material.node_tree @@ -337,16 +351,18 @@ def find_node(material, nodetype): for node in ntree.nodes: if hasattr(node, 'type') and node.type == nodetype: return node - + return None + def find_node_input(node, name): for input in node.inputs: if input.name == name: return input - + return None + def panel_node_draw(layout, id, output_type, input_name): if not id.node_tree: layout.prop(id, "use_nodes", icon='NODETREE') @@ -359,10 +375,11 @@ def panel_node_draw(layout, id, output_type, input_name): layout.label(text="No output node.") else: input = find_node_input(node, input_name) - layout.template_node_view(ntree, node, input); - + layout.template_node_view(ntree, node, input) + return True + class CyclesLamp_PT_lamp(CyclesButtonsPanel, Panel): bl_label = "Lamp" bl_context = "data" @@ -401,7 +418,8 @@ class CyclesLamp_PT_lamp(CyclesButtonsPanel, Panel): layout.label(text="Not supported, interpreted as point lamp.") elif lamp.type == 'HEMI': layout.label(text="Not supported, interpreted as sun lamp.") - + + class CyclesLamp_PT_nodes(CyclesButtonsPanel, Panel): bl_label = "Nodes" bl_context = "data" @@ -417,6 +435,7 @@ class CyclesLamp_PT_nodes(CyclesButtonsPanel, Panel): if not panel_node_draw(layout, lamp, 'OUTPUT_LAMP', 'Surface'): layout.prop(lamp, "color") + class CyclesWorld_PT_surface(CyclesButtonsPanel, Panel): bl_label = "Surface" bl_context = "world" @@ -432,6 +451,7 @@ class CyclesWorld_PT_surface(CyclesButtonsPanel, Panel): if not panel_node_draw(layout, world, 'OUTPUT_WORLD', 'Surface'): layout.prop(world, "horizon_color", text="Color") + class CyclesWorld_PT_volume(CyclesButtonsPanel, Panel): bl_label = "Volume" bl_context = "world" @@ -440,7 +460,7 @@ class CyclesWorld_PT_volume(CyclesButtonsPanel, Panel): @classmethod def poll(cls, context): world = context.world - return False # world and world.node_tree and CyclesButtonsPanel.poll(context) + return False # world and world.node_tree and CyclesButtonsPanel.poll(context) def draw(self, context): layout = self.layout @@ -449,6 +469,7 @@ class CyclesWorld_PT_volume(CyclesButtonsPanel, Panel): world = context.world panel_node_draw(layout, world, 'OUTPUT_WORLD', 'Volume') + class CyclesMaterial_PT_surface(CyclesButtonsPanel, Panel): bl_label = "Surface" bl_context = "material" @@ -464,6 +485,7 @@ class CyclesMaterial_PT_surface(CyclesButtonsPanel, Panel): if not panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Surface'): layout.prop(mat, "diffuse_color") + class CyclesMaterial_PT_volume(CyclesButtonsPanel, Panel): bl_label = "Volume" bl_context = "material" @@ -472,7 +494,7 @@ class CyclesMaterial_PT_volume(CyclesButtonsPanel, Panel): @classmethod def poll(cls, context): mat = context.material - return False #mat and mat.node_tree and CyclesButtonsPanel.poll(context) + return False # mat and mat.node_tree and CyclesButtonsPanel.poll(context) def draw(self, context): layout = self.layout @@ -485,6 +507,7 @@ class CyclesMaterial_PT_volume(CyclesButtonsPanel, Panel): layout.prop(cmat, "homogeneous_volume") + class CyclesMaterial_PT_displacement(CyclesButtonsPanel, Panel): bl_label = "Displacement" bl_context = "material" @@ -500,6 +523,7 @@ class CyclesMaterial_PT_displacement(CyclesButtonsPanel, Panel): mat = context.material panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Displacement') + class CyclesMaterial_PT_settings(CyclesButtonsPanel, Panel): bl_label = "Settings" bl_context = "material" @@ -523,6 +547,7 @@ class CyclesMaterial_PT_settings(CyclesButtonsPanel, Panel): col = split.column() col.prop(cmat, "sample_as_light") + class CyclesTexture_PT_context(CyclesButtonsPanel, Panel): bl_label = "" bl_context = "texture" @@ -535,7 +560,7 @@ class CyclesTexture_PT_context(CyclesButtonsPanel, Panel): tex = context.texture space = context.space_data pin_id = space.pin_id - use_pin_id = space.use_pin_id; + use_pin_id = space.use_pin_id user = context.texture_user node = context.texture_node @@ -555,7 +580,7 @@ class CyclesTexture_PT_context(CyclesButtonsPanel, Panel): col.template_ID(space, "pin_id") elif user: col.template_ID(user, "texture", new="texture.new") - + if tex: row = split.row() row.prop(tex, "use_nodes", icon="NODETREE", text="") @@ -566,6 +591,7 @@ class CyclesTexture_PT_context(CyclesButtonsPanel, Panel): split.label(text="Type:") split.prop(tex, "type", text="") + class CyclesTexture_PT_nodes(CyclesButtonsPanel, Panel): bl_label = "Nodes" bl_context = "texture" @@ -581,6 +607,7 @@ class CyclesTexture_PT_nodes(CyclesButtonsPanel, Panel): tex = context.texture panel_node_draw(layout, tex, 'OUTPUT_TEXTURE', 'Color') + class CyclesTexture_PT_node(CyclesButtonsPanel, Panel): bl_label = "Node" bl_context = "texture" @@ -597,6 +624,7 @@ class CyclesTexture_PT_node(CyclesButtonsPanel, Panel): ntree = node.id_data layout.template_node_view(ntree, node, None) + class CyclesTexture_PT_mapping(CyclesButtonsPanel, Panel): bl_label = "Mapping" bl_context = "texture" @@ -628,6 +656,7 @@ class CyclesTexture_PT_mapping(CyclesButtonsPanel, Panel): row.prop(mapping, "mapping_y", text="") row.prop(mapping, "mapping_z", text="") + class CyclesTexture_PT_colors(CyclesButtonsPanel, Panel): bl_label = "Color" bl_context = "texture" @@ -668,6 +697,7 @@ class CyclesTexture_PT_colors(CyclesButtonsPanel, Panel): if mapping.use_color_ramp: layout.template_color_ramp(mapping, "color_ramp", expand=True) + def draw_device(self, context): scene = context.scene layout = self.layout @@ -686,6 +716,7 @@ def draw_device(self, context): if cscene.device == 'CPU' and engine.with_osl(): layout.prop(cscene, "shading_system") + def draw_pause(self, context): layout = self.layout scene = context.scene @@ -697,6 +728,7 @@ def draw_pause(self, context): cscene = scene.cycles layout.prop(cscene, "preview_pause", icon="PAUSE", text="") + def get_panels(): return [ bpy.types.RENDER_PT_render, @@ -752,17 +784,18 @@ def get_panels(): bpy.types.PARTICLE_PT_vertexgroups, bpy.types.PARTICLE_PT_custom_props] + def register(): bpy.types.RENDER_PT_render.append(draw_device) bpy.types.VIEW3D_HT_header.append(draw_pause) for panel in get_panels(): panel.COMPAT_ENGINES.add('CYCLES') - + + def unregister(): bpy.types.RENDER_PT_render.remove(draw_device) bpy.types.VIEW3D_HT_header.remove(draw_pause) for panel in get_panels(): panel.COMPAT_ENGINES.remove('CYCLES') - diff --git a/intern/cycles/blender/addon/xml.py b/intern/cycles/blender/addon/xml.py index 3713da09235..e64023f046b 100644 --- a/intern/cycles/blender/addon/xml.py +++ b/intern/cycles/blender/addon/xml.py @@ -16,6 +16,8 @@ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # +# <pep8 compliant> + # XML exporter for generating test files, not intended for end users import os @@ -24,6 +26,7 @@ from bpy_extras.io_utils import ExportHelper import xml.etree.ElementTree as etree import xml.dom.minidom as dom + def strip(root): root.text = None root.tail = None @@ -31,6 +34,7 @@ def strip(root): for elem in root: strip(elem) + def write(node, fname): strip(node) @@ -40,6 +44,7 @@ def write(node, fname): f = open(fname, "w") f.write(s) + class ExportCyclesXML(bpy.types.Operator, ExportHelper): '''''' bl_idname = "export_mesh.cycles_xml" @@ -82,18 +87,19 @@ class ExportCyclesXML(bpy.types.Operator, ExportHelper): verts += " " node = etree.Element('mesh', attrib={'nverts': nverts, 'verts': verts, 'P': P}) - + # write to file write(node, filepath) return {'FINISHED'} + def register(): pass + def unregister(): pass if __name__ == "__main__": register() - |