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

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaurice Raybaud <mauriceraybaud@hotmail.fr>2021-05-26 02:34:50 +0300
committerMaurice Raybaud <mauriceraybaud@hotmail.fr>2021-05-26 02:34:50 +0300
commitfad5186bb6880aadbb0cd9d983035c7890801aa7 (patch)
tree60e57ddcefbf423cde567e296e9128ace77e6ed3 /render_povray/scripting_properties.py
parent051d4f7d5951924015d7c2e6bddeb28fac229f1c (diff)
Formatting and fixes
* Moved: some existing functions into new separate files to improve code readability (detailed in __init__.py docstring) * Remove: max_intersections deprecated in pov 3.8 * Add: Validate utf-8 characters with specific API function at session's first script init * Add : Icons to some text fields and inviting labels * Change default camera normal perturbation value to non zero since its use is first driven by a boolean toggle * Change: lists (vectors and indices) are now exported in one line by default for better manual scene overview and debugging * Change: a couple of tooltips corrections * Change : renamed many variables and functions to snake_case according to recommanded style guides * Fix : Heightfield primitive (forward slashes were expected for displacement texture path) * Fix : Text nippet insertion operator * Fix : added console print tip to check executable path on failure to process * Fix : tweaked finished render say command for Linux * Fix : interface of some shader nodes broken since 2.8 api changes * Fix : export hair particles
Diffstat (limited to 'render_povray/scripting_properties.py')
-rwxr-xr-xrender_povray/scripting_properties.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/render_povray/scripting_properties.py b/render_povray/scripting_properties.py
new file mode 100755
index 00000000..3e743da3
--- /dev/null
+++ b/render_povray/scripting_properties.py
@@ -0,0 +1,57 @@
+# ##### BEGIN GPL LICENSE BLOCK #####
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+# <pep8 compliant>
+import bpy
+
+"""Declare pov native file syntax properties controllable in UI hooks and text blocks"""
+
+from bpy.utils import register_class, unregister_class
+from bpy.types import PropertyGroup
+from bpy.props import EnumProperty, PointerProperty
+
+###############################################################################
+# Text POV properties.
+###############################################################################
+
+
+class RenderPovSettingsText(PropertyGroup):
+
+ """Declare text properties to use UI as an IDE or render text snippets to POV."""
+
+ custom_code: EnumProperty(
+ name="Custom Code",
+ description="rendered source: Both adds text at the " "top of the exported POV file",
+ items=(("3dview", "View", ""), ("text", "Text", ""), ("both", "Both", "")),
+ default="text",
+ )
+
+
+classes = (RenderPovSettingsText,)
+
+
+def register():
+ for cls in classes:
+ register_class(cls)
+ bpy.types.Text.pov = PointerProperty(type=RenderPovSettingsText)
+
+
+def unregister():
+ del bpy.types.Text.pov
+ for cls in reversed(classes):
+ unregister_class(cls)