fix rebase conflict

This commit is contained in:
Bruno Perdigão
2024-09-13 12:35:50 -03:00
parent c340f496f2
commit bc884c9dc4
4 changed files with 18 additions and 10 deletions
@@ -302,7 +302,6 @@ class PolylineDecorator:
is_installed = False is_installed = False
handlers = [] handlers = []
event = None event = None
input_type = None input_type = None
input_ui = None input_ui = None
angle_snap_mat = None angle_snap_mat = None
@@ -311,6 +310,7 @@ class PolylineDecorator:
instructions = None instructions = None
snap_info = None snap_info = None
@classmethod @classmethod
def install(cls, context): def install(cls, context):
if cls.is_installed: if cls.is_installed:
@@ -321,6 +321,7 @@ class PolylineDecorator:
cls.handlers.append(SpaceView3D.draw_handler_add(handler, (context,), "WINDOW", "POST_VIEW")) cls.handlers.append(SpaceView3D.draw_handler_add(handler, (context,), "WINDOW", "POST_VIEW"))
cls.is_installed = True cls.is_installed = True
@classmethod @classmethod
def uninstall(cls): def uninstall(cls):
for handler in cls.handlers: for handler in cls.handlers:
@@ -330,25 +331,30 @@ class PolylineDecorator:
pass pass
cls.is_installed = False cls.is_installed = False
@classmethod @classmethod
def update(cls, event, tool_state, input_ui, snapping_point): def update(cls, event, tool_state, input_ui, snapping_point):
cls.event = event cls.event = event
cls.tool_state = tool_state cls.tool_state = tool_state
cls.input_ui = input_ui cls.input_ui = input_ui
@classmethod @classmethod
def set_input_ui(cls, input_ui): def set_input_ui(cls, input_ui):
cls.input_ui = input_ui cls.input_ui = input_ui
@classmethod @classmethod
def set_angle_axis_line(cls, start, end): def set_angle_axis_line(cls, start, end):
cls.axis_start = start cls.axis_start = start
cls.axis_end = end cls.axis_end = end
# @classmethod # @classmethod
# def set_axis_rectangle(cls, corners): # def set_axis_rectangle(cls, corners):
# cls.axis_rectangle = [*corners] # cls.axis_rectangle = [*corners]
@classmethod @classmethod
def set_tool_state(cls, tool_state): def set_tool_state(cls, tool_state):
cls.tool_state = tool_state cls.tool_state = tool_state
@@ -331,6 +331,14 @@ class PolylineOperator:
tool.Snap.remove_last_polyline_point() tool.Snap.remove_last_polyline_point()
tool.Blender.update_viewport() tool.Blender.update_viewport()
def modal(self, context, event):
PolylineDecorator.update(event, self.tool_state, self.input_ui, self.snapping_points[0])
tool.Blender.update_viewport()
if event.type in {"MIDDLEMOUSE", "WHEELUPMOUSE", "WHEELDOWNMOUSE"}:
return {"PASS_THROUGH"}
def invoke(self, context, event): def invoke(self, context, event):
PolylineDecorator.install(context) PolylineDecorator.install(context)
tool.Snap.clear_snapping_point() tool.Snap.clear_snapping_point()
@@ -347,7 +355,5 @@ class PolylineOperator:
self.snapping_points = tool.Snap.select_snapping_points(context, event, self.tool_state, detected_snaps) self.snapping_points = tool.Snap.select_snapping_points(context, event, self.tool_state, detected_snaps)
tool.Polyline.calculate_distance_and_angle(context, self.input_ui, self.tool_state) tool.Polyline.calculate_distance_and_angle(context, self.input_ui, self.tool_state)
PolylineDecorator.update(event, self.tool_state, self.input_ui, self.snapping_points[0])
tool.Blender.update_viewport() tool.Blender.update_viewport()
context.window_manager.modal_handler_add(self) context.window_manager.modal_handler_add(self)
# return {"RUNNING_MODAL"}
+1 -4
View File
@@ -297,8 +297,6 @@ class DrawPolylineWall(bpy.types.Operator, PolylineOperator):
def __init__(self): def __init__(self):
super().__init__() super().__init__()
# TODO This is creating a hack in generate function from DumbWallGenerator
# Come up with a better solution
def create_walls_from_polyline(self, context): def create_walls_from_polyline(self, context):
props = context.scene.BIMModelProperties props = context.scene.BIMModelProperties
relating_type_id = props.relating_type_id relating_type_id = props.relating_type_id
@@ -324,8 +322,7 @@ class DrawPolylineWall(bpy.types.Operator, PolylineOperator):
DumbWallJoiner().join_V(wall1["obj"], wall2["obj"]) DumbWallJoiner().join_V(wall1["obj"], wall2["obj"])
def modal(self, context, event): def modal(self, context, event):
if event.type in {"MIDDLEMOUSE", "WHEELUPMOUSE", "WHEELDOWNMOUSE"}: super().modal(context, event)
return {"PASS_THROUGH"}
self.handle_instructions(context) self.handle_instructions(context)
@@ -2294,8 +2294,8 @@ if bpy.app.version >= (4, 1, 0):
class MeasureTool(bpy.types.Operator, PolylineOperator): class MeasureTool(bpy.types.Operator, PolylineOperator):
bl_idname = "bim.measure_tool" bl_idname = "bim.measure_tool"
bl_options = {"REGISTER", "UNDO"}
bl_label = "Measure Tool" bl_label = "Measure Tool"
bl_options = {"REGISTER", "UNDO"}
@classmethod @classmethod
def poll(cls, context): def poll(cls, context):
@@ -2317,8 +2317,7 @@ class MeasureTool(bpy.types.Operator, PolylineOperator):
""" """
def modal(self, context, event): def modal(self, context, event):
if event.type in {"MIDDLEMOUSE", "WHEELUPMOUSE", "WHEELDOWNMOUSE"}: super().modal(context, event)
return {"PASS_THROUGH"}
self.handle_instructions(context) self.handle_instructions(context)