mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-16 21:42:19 +00:00
Moving decorators colors from scene to addon props #3033
This commit is contained in:
@@ -268,7 +268,7 @@ class BaseDecorator:
|
|||||||
|
|
||||||
region = context.region
|
region = context.region
|
||||||
region3d = context.region_data
|
region3d = context.region_data
|
||||||
color = context.scene.DocProperties.decorations_colour
|
color = context.preferences.addons["blenderbim"].preferences.decorations_colour
|
||||||
|
|
||||||
fmt = GPUVertFormat()
|
fmt = GPUVertFormat()
|
||||||
fmt.attr_add(id="pos", comp_type="F32", len=3, fetch_mode="FLOAT")
|
fmt.attr_add(id="pos", comp_type="F32", len=3, fetch_mode="FLOAT")
|
||||||
@@ -341,7 +341,7 @@ class BaseDecorator:
|
|||||||
|
|
||||||
dpi = context.preferences.system.dpi
|
dpi = context.preferences.system.dpi
|
||||||
|
|
||||||
color = context.scene.DocProperties.decorations_colour
|
color = context.preferences.addons["blenderbim"].preferences.decorations_colour
|
||||||
|
|
||||||
ang = -Vector((1, 0)).angle_signed(text_dir)
|
ang = -Vector((1, 0)).angle_signed(text_dir)
|
||||||
cos = math.cos(ang)
|
cos = math.cos(ang)
|
||||||
@@ -1910,8 +1910,8 @@ class CutDecorator:
|
|||||||
cls.installed = None
|
cls.installed = None
|
||||||
|
|
||||||
def __call__(self, context):
|
def __call__(self, context):
|
||||||
self.model_props = context.scene.BIMModelProperties
|
self.addon_prefs = context.preferences.addons["blenderbim"].preferences
|
||||||
selected_elements_color = self.model_props.decorator_color_selected
|
selected_elements_color = self.addon_prefs.decorator_color_selected
|
||||||
|
|
||||||
all_vertices = []
|
all_vertices = []
|
||||||
all_edges = []
|
all_edges = []
|
||||||
|
|||||||
@@ -312,9 +312,6 @@ class DocProperties(PropertyGroup):
|
|||||||
ifc_files: CollectionProperty(name="IFCs", type=StrProperty)
|
ifc_files: CollectionProperty(name="IFCs", type=StrProperty)
|
||||||
drawing_styles: CollectionProperty(name="Drawing Styles", type=DrawingStyle)
|
drawing_styles: CollectionProperty(name="Drawing Styles", type=DrawingStyle)
|
||||||
should_draw_decorations: BoolProperty(name="Should Draw Decorations", update=toggleDecorations)
|
should_draw_decorations: BoolProperty(name="Should Draw Decorations", update=toggleDecorations)
|
||||||
decorations_colour: FloatVectorProperty(
|
|
||||||
name="Decorations Colour", subtype="COLOR", default=(1, 1, 1, 1), min=0.0, max=1.0, size=4
|
|
||||||
)
|
|
||||||
sheets_dir: StringProperty(default=os.path.join("sheets") + os.path.sep, name="Default Sheets Directory")
|
sheets_dir: StringProperty(default=os.path.join("sheets") + os.path.sep, name="Default Sheets Directory")
|
||||||
layouts_dir: StringProperty(default=os.path.join("layouts") + os.path.sep, name="Default Layouts Directory")
|
layouts_dir: StringProperty(default=os.path.join("layouts") + os.path.sep, name="Default Layouts Directory")
|
||||||
titleblocks_dir: StringProperty(
|
titleblocks_dir: StringProperty(
|
||||||
|
|||||||
@@ -82,14 +82,14 @@ class ProfileDecorator:
|
|||||||
bmesh.ops.triangulate(traingulated_bm, faces=traingulated_bm.faces)
|
bmesh.ops.triangulate(traingulated_bm, faces=traingulated_bm.faces)
|
||||||
|
|
||||||
face_indices = [[v.index for v in f.verts] for f in traingulated_bm.faces]
|
face_indices = [[v.index for v in f.verts] for f in traingulated_bm.faces]
|
||||||
faces_color = transparent_color(self.model_props.decorator_color_special)
|
faces_color = transparent_color(self.addon_prefs.decorator_color_special)
|
||||||
self.draw_batch("TRIS", vertices_coords, faces_color, face_indices)
|
self.draw_batch("TRIS", vertices_coords, faces_color, face_indices)
|
||||||
|
|
||||||
def __call__(self, context, get_custom_bmesh=None, draw_faces=False, exit_edit_mode_callback=None):
|
def __call__(self, context, get_custom_bmesh=None, draw_faces=False, exit_edit_mode_callback=None):
|
||||||
self.model_props = context.scene.BIMModelProperties
|
self.addon_prefs = context.preferences.addons["blenderbim"].preferences
|
||||||
selected_elements_color = self.model_props.decorator_color_selected
|
selected_elements_color = self.addon_prefs.decorator_color_selected
|
||||||
unselected_elements_color = self.model_props.decorator_color_unselected
|
unselected_elements_color = self.addon_prefs.decorator_color_unselected
|
||||||
special_elements_color = self.model_props.decorator_color_special
|
special_elements_color = self.addon_prefs.decorator_color_special
|
||||||
|
|
||||||
obj = context.active_object
|
obj = context.active_object
|
||||||
|
|
||||||
@@ -214,8 +214,8 @@ class ProfileDecorator:
|
|||||||
|
|
||||||
self.draw_batch("POINTS", unselected_vertices, transparent_color(unselected_elements_color, 0.5))
|
self.draw_batch("POINTS", unselected_vertices, transparent_color(unselected_elements_color, 0.5))
|
||||||
self.draw_batch("POINTS", error_vertices, ERROR_ELEMENTS_COLOR)
|
self.draw_batch("POINTS", error_vertices, ERROR_ELEMENTS_COLOR)
|
||||||
self.draw_batch("POINTS", special_vertices, self.model_props.decorator_color_special)
|
self.draw_batch("POINTS", special_vertices, special_elements_color)
|
||||||
self.draw_batch("POINTS", selected_vertices, self.model_props.decorator_color_selected)
|
self.draw_batch("POINTS", selected_vertices, selected_elements_color)
|
||||||
|
|
||||||
# Draw arcs
|
# Draw arcs
|
||||||
arc_centroids = []
|
arc_centroids = []
|
||||||
|
|||||||
@@ -793,10 +793,10 @@ class DecorationsHandler:
|
|||||||
batch.draw(shader)
|
batch.draw(shader)
|
||||||
|
|
||||||
def __call__(self, context):
|
def __call__(self, context):
|
||||||
self.model_props = context.scene.BIMModelProperties
|
self.addon_prefs = context.preferences.addons["blenderbim"].preferences
|
||||||
selected_elements_color = self.model_props.decorator_color_selected
|
selected_elements_color = self.addon_prefs.decorator_color_selected
|
||||||
unselected_elements_color = self.model_props.decorator_color_unselected
|
unselected_elements_color = self.addon_prefs.decorator_color_unselected
|
||||||
special_elements_color = self.model_props.decorator_color_special
|
special_elements_color = self.addon_prefs.decorator_color_special
|
||||||
|
|
||||||
def transparent_color(color, alpha=0.1):
|
def transparent_color(color, alpha=0.1):
|
||||||
color = [i for i in color]
|
color = [i for i in color]
|
||||||
|
|||||||
@@ -141,33 +141,6 @@ class BIMModelProperties(PropertyGroup):
|
|||||||
type_class: bpy.props.EnumProperty(items=get_type_class, name="IFC Class", update=update_type_class)
|
type_class: bpy.props.EnumProperty(items=get_type_class, name="IFC Class", update=update_type_class)
|
||||||
type_predefined_type: bpy.props.EnumProperty(items=get_type_predefined_type, name="Predefined Type", default=None)
|
type_predefined_type: bpy.props.EnumProperty(items=get_type_predefined_type, name="Predefined Type", default=None)
|
||||||
type_name: bpy.props.StringProperty(name="Name", default="TYPEX")
|
type_name: bpy.props.StringProperty(name="Name", default="TYPEX")
|
||||||
decorator_color_selected: bpy.props.FloatVectorProperty(
|
|
||||||
name="Selected Elements Color",
|
|
||||||
subtype="COLOR",
|
|
||||||
default=(0.545, 0.863, 0, 1), # green
|
|
||||||
min=0.0,
|
|
||||||
max=1.0,
|
|
||||||
size=4,
|
|
||||||
description="Color of selected verts/edges (used in profile editing mode)",
|
|
||||||
)
|
|
||||||
decorator_color_unselected: bpy.props.FloatVectorProperty(
|
|
||||||
name="Not Selected Elements Color",
|
|
||||||
subtype="COLOR",
|
|
||||||
default=(1, 1, 1, 1), # green
|
|
||||||
min=0.0,
|
|
||||||
max=1.0,
|
|
||||||
size=4,
|
|
||||||
description="Color of not selected verts/edges (used in profile editing mode)",
|
|
||||||
)
|
|
||||||
decorator_color_special: bpy.props.FloatVectorProperty(
|
|
||||||
name="Special Elements Color",
|
|
||||||
subtype="COLOR",
|
|
||||||
default=(0.157, 0.565, 1, 1), # blue
|
|
||||||
min=0.0,
|
|
||||||
max=1.0,
|
|
||||||
size=4,
|
|
||||||
description="Color of special selected verts/edges (openings, preview verts/edges in roof editing, verts with arcs/circles in profile editing)",
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class BIMArrayProperties(PropertyGroup):
|
class BIMArrayProperties(PropertyGroup):
|
||||||
|
|||||||
@@ -120,6 +120,36 @@ class BIM_ADDON_preferences(bpy.types.AddonPreferences):
|
|||||||
name="Should Make A Cha-Ching Sound When Project Costs Updates", default=False
|
name="Should Make A Cha-Ching Sound When Project Costs Updates", default=False
|
||||||
)
|
)
|
||||||
lock_grids_on_import: BoolProperty(name="Should Lock Grids By Default", default=True)
|
lock_grids_on_import: BoolProperty(name="Should Lock Grids By Default", default=True)
|
||||||
|
decorations_colour: bpy.props.FloatVectorProperty(
|
||||||
|
name="Decorations Colour", subtype="COLOR", default=(1, 1, 1, 1), min=0.0, max=1.0, size=4
|
||||||
|
)
|
||||||
|
decorator_color_selected: bpy.props.FloatVectorProperty(
|
||||||
|
name="Selected Elements Color",
|
||||||
|
subtype="COLOR",
|
||||||
|
default=(0.545, 0.863, 0, 1), # green
|
||||||
|
min=0.0,
|
||||||
|
max=1.0,
|
||||||
|
size=4,
|
||||||
|
description="Color of selected verts/edges (used in profile editing mode)",
|
||||||
|
)
|
||||||
|
decorator_color_unselected: bpy.props.FloatVectorProperty(
|
||||||
|
name="Not Selected Elements Color",
|
||||||
|
subtype="COLOR",
|
||||||
|
default=(1, 1, 1, 1), # white
|
||||||
|
min=0.0,
|
||||||
|
max=1.0,
|
||||||
|
size=4,
|
||||||
|
description="Color of not selected verts/edges (used in profile editing mode)",
|
||||||
|
)
|
||||||
|
decorator_color_special: bpy.props.FloatVectorProperty(
|
||||||
|
name="Special Elements Color",
|
||||||
|
subtype="COLOR",
|
||||||
|
default=(0.157, 0.565, 1, 1), # blue
|
||||||
|
min=0.0,
|
||||||
|
max=1.0,
|
||||||
|
size=4,
|
||||||
|
description="Color of special selected verts/edges (openings, preview verts/edges in roof editing, verts with arcs/circles in profile editing)",
|
||||||
|
)
|
||||||
|
|
||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
layout = self.layout
|
layout = self.layout
|
||||||
@@ -172,13 +202,13 @@ class BIM_ADDON_preferences(bpy.types.AddonPreferences):
|
|||||||
row.prop(context.scene.BIMModelProperties, "occurrence_name_function")
|
row.prop(context.scene.BIMModelProperties, "occurrence_name_function")
|
||||||
|
|
||||||
row = self.layout.row()
|
row = self.layout.row()
|
||||||
row.prop(context.scene.DocProperties, "decorations_colour")
|
row.prop(self, "decorations_colour")
|
||||||
row = self.layout.row()
|
row = self.layout.row()
|
||||||
row.prop(context.scene.BIMModelProperties, "decorator_color_selected")
|
row.prop(self, "decorator_color_selected")
|
||||||
row = self.layout.row()
|
row = self.layout.row()
|
||||||
row.prop(context.scene.BIMModelProperties, "decorator_color_unselected")
|
row.prop(self, "decorator_color_unselected")
|
||||||
row = self.layout.row()
|
row = self.layout.row()
|
||||||
row.prop(context.scene.BIMModelProperties, "decorator_color_special")
|
row.prop(self, "decorator_color_special")
|
||||||
|
|
||||||
row = self.layout.row(align=True)
|
row = self.layout.row(align=True)
|
||||||
row.prop(context.scene.BIMProperties, "schema_dir")
|
row.prop(context.scene.BIMProperties, "schema_dir")
|
||||||
|
|||||||
Reference in New Issue
Block a user