adds id editor

This commit is contained in:
Michel Fedde 2024-02-01 00:48:05 +01:00
parent 28ab2072e5
commit 40a7e4b8ba
16 changed files with 367 additions and 18 deletions

View file

@ -0,0 +1,49 @@
import bpy
from ..types.colors import get_color
from .. types.sources import get_source
class BakeToIDInfoPanel(bpy.types.Panel):
bl_idname = "PANEL.BAKE_TO_ID_MAP_PT_SETTINGS_INFO"
bl_parent_id = "PANEL.BAKE_TO_ID_MAP_PT_SETTINGS"
bl_label = "Infos"
bl_space_type = "VIEW_3D"
bl_region_type = "UI"
bl_category = "Tool"
def draw(self, context):
layout = self.layout
props = context.scene.bake_to_id_props
source = get_source(props.source)
if props.selection_mode != 'SINGLE':
layout.label(text="Selected Object-Count: " + str(len(context.selected_objects)))
if props.selection_mode == 'SINGLE':
layout.label(text="ID-Total: " + str(source.estimate_ids([context.active_object])))
if props.selection_mode == 'MULTIPLE_SEPARATE':
total = 0
count = 0
for obj in context.selected_objects:
if (obj.type != 'MESH'):
continue
total += source.estimate_ids([obj])
count += 1
layout.label(text="Estimated ID-Total: " + str(total))
try:
layout.label(text="Estimated ID-Average: " + str(total / count))
except ZeroDivisionError:
layout.label(text="Estimated ID-Average: 0")
if props.selection_mode == 'MULTIPLE_COMBINED':
layout.label(text="ID-Total: " + str(source.estimate_ids(context.selected_objects)))
color = get_color(props.colors)
layout.label(text="Colors available: " + str(color.get_count(props)))