-
Notifications
You must be signed in to change notification settings - Fork 142
/
Copy pathop_texture_select.py
52 lines (37 loc) · 1.09 KB
/
op_texture_select.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import bpy
from . import op_bake
class op(bpy.types.Operator):
bl_idname = "uv.textools_texture_select"
bl_label = "Select Texture"
bl_description = "Select the texture and bake mode"
name : bpy.props.StringProperty(
name="image name",
default = ""
)
@classmethod
def poll(cls, context):
return True
def execute(self, context):
select_texture(self, context)
return {'FINISHED'}
def select_texture(self, context):
# Set bake mode
found_modes = []
for mode in op_bake.modes:
if mode in self.name:
found_modes.append(mode)
mode = max(found_modes, key=len)
print("Found mode: "+mode)
prop = bpy.context.scene.bl_rna.properties["TT_bake_mode"]
enum_values = [e.identifier for e in prop.enum_items]
# find matching enum
for key in enum_values:
if (mode+".bip") == key:
bpy.context.scene.TT_bake_mode = key
break
# Set background image
if self.name in bpy.data.images:
image = bpy.data.images[self.name]
for area in bpy.context.screen.areas:
if area.ui_type == 'UV':
area.spaces[0].image = image