Fix #104999: Node Wrangler: Principled Textures Setup emissive texture
[blender-addons.git] / space_view3d_stored_views / properties.py
blob991cf7f12f34687b6e7b3938621a7fa1da875992
1 # SPDX-FileCopyrightText: 2017-2022 Blender Foundation
3 # SPDX-License-Identifier: GPL-2.0-or-later
5 # authors: nfloyd, Francesco Siddi
6 import bpy
7 from bpy.types import PropertyGroup
8 from bpy.props import (
9 BoolProperty,
10 BoolVectorProperty,
11 CollectionProperty,
12 FloatProperty,
13 FloatVectorProperty,
14 EnumProperty,
15 IntProperty,
16 IntVectorProperty,
17 PointerProperty,
18 StringProperty,
22 class POVData(PropertyGroup):
23 distance : FloatProperty()
24 location : FloatVectorProperty(
25 subtype='TRANSLATION'
27 rotation : FloatVectorProperty(
28 subtype='QUATERNION',
29 size=4
31 name : StringProperty()
32 perspective : EnumProperty(
33 items=[('PERSP', '', ''),
34 ('ORTHO', '', ''),
35 ('CAMERA', '', '')]
37 lens : FloatProperty()
38 clip_start : FloatProperty()
39 clip_end : FloatProperty()
40 lock_cursor : BoolProperty()
41 cursor_location : FloatVectorProperty()
42 perspective_matrix_md5 = StringProperty()
43 camera_name : StringProperty()
44 camera_type : StringProperty()
45 lock_object_name : StringProperty()
48 class LayersData(PropertyGroup):
49 view_layers : BoolVectorProperty(size=20)
50 scene_layers : BoolVectorProperty(size=20)
51 lock_camera_and_layers : BoolProperty()
52 name : StringProperty()
55 class DisplayData(PropertyGroup):
56 name = StringProperty()
57 viewport_shade = EnumProperty(
58 items=[('BOUNDBOX', 'BOUNDBOX', 'BOUNDBOX'),
59 ('WIREFRAME', 'WIREFRAME', 'WIREFRAME'),
60 ('SOLID', 'SOLID', 'SOLID'),
61 ('TEXTURED', 'TEXTURED', 'TEXTURED'),
62 ('MATERIAL', 'MATERIAL', 'MATERIAL'),
63 ('RENDERED', 'RENDERED', 'RENDERED')]
65 show_only_render : BoolProperty()
66 show_outline_selected : BoolProperty()
67 show_all_objects_origin : BoolProperty()
68 show_relationship_lines : BoolProperty()
69 show_floor : BoolProperty()
70 show_axis_x : BoolProperty()
71 show_axis_y : BoolProperty()
72 show_axis_z : BoolProperty()
73 grid_lines : IntProperty()
74 grid_scale : FloatProperty()
75 grid_subdivisions : IntProperty()
76 material_mode : StringProperty()
77 show_textured_solid : BoolProperty()
78 quad_view : BoolProperty()
79 lock_rotation : BoolProperty()
80 show_sync_view : BoolProperty()
81 use_box_clip : BoolProperty()
84 class ViewData(PropertyGroup):
85 pov : PointerProperty(
86 type=POVData
88 layers : PointerProperty(
89 type=LayersData
91 display : PointerProperty(
92 type=DisplayData
94 name : StringProperty()
97 class StoredViewsData(PropertyGroup):
98 pov_list : CollectionProperty(
99 type=POVData
101 layers_list : CollectionProperty(
102 type=LayersData
104 display_list : CollectionProperty(
105 type=DisplayData
107 view_list : CollectionProperty(
108 type=ViewData
110 mode : EnumProperty(
111 name="Mode",
112 items=[('VIEW', "View", "3D View settings"),
113 ('POV', "POV", "POV settings"),
114 ('LAYERS', "Layers", "Layers settings"),
115 ('DISPLAY', "Display", "Display settings")],
116 default='VIEW'
118 current_indices : IntVectorProperty(
119 size=4,
120 default=[-1, -1, -1, -1]
122 view_modified : BoolProperty(
123 default=False
127 classes = (
128 POVData,
129 LayersData,
130 DisplayData,
131 ViewData,
132 StoredViewsData,
135 def register():
136 for cls in classes:
137 bpy.utils.register_class(cls)
139 def unregister():
140 for cls in classes:
141 bpy.utils.unregister_class(cls)