mirror of https://gittea.dev/O/O.git
Delete AT_OPERATORS.PY
This commit is contained in:
parent
a87d3ed49b
commit
10e38c60ee
|
@ -1,219 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
# ---------------------------- Operators ------------------------
|
|
||||||
import bpy
|
|
||||||
import math
|
|
||||||
|
|
||||||
from mathutils import Vector
|
|
||||||
|
|
||||||
from . import cfg
|
|
||||||
from . import at_interface
|
|
||||||
from . at_calc_func import at_random_fill, fill_rotation
|
|
||||||
|
|
||||||
|
|
||||||
class OBJECT_OT_at_start(bpy.types.Operator):
|
|
||||||
"""Start and init the addon"""
|
|
||||||
bl_idname = 'scene.at_op'
|
|
||||||
bl_label = "Start array"
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def poll(cls, context):
|
|
||||||
return not context.scene.arraytools_prop.already_start
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
cfg.init_array_tool(context)
|
|
||||||
return {'FINISHED'}
|
|
||||||
|
|
||||||
|
|
||||||
class OBJECT_OT_at_done(bpy.types.Operator):
|
|
||||||
"""Apply the settings"""
|
|
||||||
bl_idname = 'scene.at_done'
|
|
||||||
bl_label = "Done !"
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
cfg.atools_objs.clear()
|
|
||||||
#cfg.at_mtx_list.clear()
|
|
||||||
array_col = bpy.data.collections.get(cfg.col_name)
|
|
||||||
cfg.col_name = "Array_collection"
|
|
||||||
context.scene.arraytools_prop.up_ui_reset()
|
|
||||||
context.scene.arraytools_prop.already_start = False
|
|
||||||
return {'FINISHED'}
|
|
||||||
|
|
||||||
|
|
||||||
class OBJECT_OT_at_cancel(bpy.types.Operator):
|
|
||||||
"""Cancel the settings"""
|
|
||||||
bl_idname = 'scene.at_cancel'
|
|
||||||
bl_label = "Cancel"
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
scn = context.scene
|
|
||||||
scn.arraytools_prop.at_del_all(True)
|
|
||||||
scn.arraytools_prop.up_ui_reset()
|
|
||||||
scn.arraytools_prop.already_start = False
|
|
||||||
cfg.col_name = "Array_collection"
|
|
||||||
return {'FINISHED'}
|
|
||||||
|
|
||||||
|
|
||||||
class OBJECT_OT_fill_tr(bpy.types.Operator):
|
|
||||||
"""Fill the random translation fields"""
|
|
||||||
bl_idname = 'scene.fill_tr'
|
|
||||||
bl_label = "Fill"
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
prop = context.scene.arraytools_prop
|
|
||||||
offset = prop.tr_offset
|
|
||||||
|
|
||||||
for i in range(3):
|
|
||||||
if offset[i] == 0.0:
|
|
||||||
prop.tr_min[i], prop.tr_max[i] = at_random_fill(-3.0, 3.0)
|
|
||||||
else:
|
|
||||||
prop.tr_min[i], prop.tr_max[i] = at_random_fill(-offset[i]/2, offset[i]/2)
|
|
||||||
return{'FINISHED'}
|
|
||||||
|
|
||||||
|
|
||||||
class OBJECT_OT_fill_sc(bpy.types.Operator):
|
|
||||||
"""Fill the random scale fields"""
|
|
||||||
bl_idname = 'scene.fill_sc'
|
|
||||||
bl_label = "Fill"
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
prop = context.scene.arraytools_prop
|
|
||||||
offset = prop.sc_offset
|
|
||||||
|
|
||||||
if 100 in [offset[0], offset[1], offset[2]]:
|
|
||||||
prop.sc_min_x, prop.sc_max_x = at_random_fill(40.0, 120.0)
|
|
||||||
prop.sc_min_y, prop.sc_max_y = at_random_fill(40.0, 120.0)
|
|
||||||
prop.sc_min_z, prop.sc_max_z = at_random_fill(40.0, 120.0)
|
|
||||||
else:
|
|
||||||
rand = [(100 - offset[i]) / 2 for i in range(3)]
|
|
||||||
print(rand)
|
|
||||||
prop.sc_min_x, prop.sc_max_x = at_random_fill(offset[0]-rand[0], offset[0]+rand[0])
|
|
||||||
prop.sc_min_y, prop.sc_max_y = at_random_fill(offset[1]-rand[1], offset[1]+rand[1])
|
|
||||||
prop.sc_min_z, prop.sc_max_z = at_random_fill(offset[2]-rand[2], offset[2]+rand[2])
|
|
||||||
if prop.sc_all:
|
|
||||||
prop.sc_min_x = prop.sc_min_y = prop.sc_min_z
|
|
||||||
prop.sc_max_x = prop.sc_max_y = prop.sc_max_z
|
|
||||||
return {'FINISHED'}
|
|
||||||
|
|
||||||
|
|
||||||
class OBJECT_OT_fill_rot(bpy.types.Operator):
|
|
||||||
"""Fill the random rotation fields"""
|
|
||||||
bl_idname = 'scene.fill_rot'
|
|
||||||
bl_label = "Fill"
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
fill_rotation(context)
|
|
||||||
return {'FINISHED'}
|
|
||||||
|
|
||||||
|
|
||||||
class OBJECT_OT_x360(bpy.types.Operator):
|
|
||||||
"""Quick 360 degrees on X axis"""
|
|
||||||
bl_idname = 'scene.x360'
|
|
||||||
bl_label = "360"
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
prop = context.scene.arraytools_prop
|
|
||||||
prop.tr_offset = Vector((0.0, 0.0, 0.0))
|
|
||||||
prop.rot_global = Vector((math.pi/180*360, 0.0, 0.0))
|
|
||||||
return{'FINISHED'}
|
|
||||||
|
|
||||||
|
|
||||||
class OBJECT_OT_y360(bpy.types.Operator):
|
|
||||||
"""Quick 360 degrees on Y axis"""
|
|
||||||
bl_idname = 'scene.y360'
|
|
||||||
bl_label = "360"
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
prop = context.scene.arraytools_prop
|
|
||||||
prop.tr_offset = Vector((0.0, 0.0, 0.0))
|
|
||||||
prop.rot_global = Vector((0.0, math.pi/180*360, 0.0))
|
|
||||||
return{'FINISHED'}
|
|
||||||
|
|
||||||
|
|
||||||
class OBJECT_OT_z360(bpy.types.Operator):
|
|
||||||
"""Quick 360 degrees on Z axis"""
|
|
||||||
bl_idname = 'scene.z360'
|
|
||||||
bl_label = "360"
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
prop = context.scene.arraytools_prop
|
|
||||||
prop.tr_offset = Vector((0.0, 0.0, 0.0))
|
|
||||||
prop.rot_global = Vector((0.0, 0.0, math.pi/180*360))
|
|
||||||
return{'FINISHED'}
|
|
||||||
|
|
||||||
|
|
||||||
class OBJECT_OT_reset_tr(bpy.types.Operator):
|
|
||||||
"""Reset the settings of random translation"""
|
|
||||||
bl_idname = 'scene.at_reset_tr'
|
|
||||||
bl_label = 'Reset'
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
prop = context.scene.arraytools_prop
|
|
||||||
prop.tr_min[0], prop.tr_min[1], prop.tr_min[2] = 0.0, 0.0, 0.0
|
|
||||||
prop.tr_max[0], prop.tr_max[1], prop.tr_max[2] = 0.0, 0.0, 0.0
|
|
||||||
|
|
||||||
# if operator is used many times
|
|
||||||
# get weird result != 0 with vector
|
|
||||||
# prop.tr_max = Vector((0.0, 0.0, 0.0))
|
|
||||||
return {'FINISHED'}
|
|
||||||
|
|
||||||
|
|
||||||
class OBJECT_OT_reset_sc(bpy.types.Operator):
|
|
||||||
"""Reset the settings of random scale"""
|
|
||||||
bl_idname = 'scene.at_reset_sc'
|
|
||||||
bl_label = 'Reset'
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
prop = context.scene.arraytools_prop
|
|
||||||
prop.sc_min_x, prop.sc_min_y, prop.sc_min_z = 100, 100, 100
|
|
||||||
prop.sc_max_x, prop.sc_max_y, prop.sc_max_z = 100, 100, 100
|
|
||||||
return{'FINISHED'}
|
|
||||||
|
|
||||||
|
|
||||||
class OBJECT_OT_reset_rot(bpy.types.Operator):
|
|
||||||
"""Reset the settings of random rotation"""
|
|
||||||
bl_idname = 'scene.at_reset_rot'
|
|
||||||
bl_label = 'Reset'
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
prop = context.scene.arraytools_prop
|
|
||||||
prop.rot_min[0], prop.rot_min[1], prop.rot_min[2] = 0.0, 0.0, 0.0
|
|
||||||
prop.rot_max[0], prop.rot_max[1], prop.rot_max[2] = 0.0, 0.0, 0.0
|
|
||||||
return{'FINISHED'}
|
|
||||||
|
|
||||||
|
|
||||||
class OBJECT_OT_reset_second(bpy.types.Operator):
|
|
||||||
"""Reset the settings of row options"""
|
|
||||||
bl_idname = 'scene.at_reset_second'
|
|
||||||
bl_label = 'Reset'
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
prop = context.scene.arraytools_prop
|
|
||||||
prop.tr_second = (0,0,0)
|
|
||||||
prop.sc_second = (100,100,100)
|
|
||||||
prop.rot_second = (0,0,0)
|
|
||||||
return {'FINISHED'}
|
|
||||||
|
|
||||||
|
|
||||||
class OBJECT_OT_error(bpy.types.Operator):
|
|
||||||
"""Draw a message box to display error"""
|
|
||||||
bl_idname = "info.at_error"
|
|
||||||
bl_label = "Message info"
|
|
||||||
|
|
||||||
info: bpy.props.StringProperty(
|
|
||||||
name = "Message",
|
|
||||||
description = "Display a message",
|
|
||||||
default = ''
|
|
||||||
)
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
self.report({'INFO'}, self.info)
|
|
||||||
print(self.info)
|
|
||||||
return {'FINISHED'}
|
|
||||||
|
|
||||||
def invoke(self, context, event):
|
|
||||||
return context.window_manager.invoke_props_dialog(self)
|
|
||||||
|
|
||||||
def draw(self, context):
|
|
||||||
layout = self.layout
|
|
||||||
layout.label(text=self.info)
|
|
||||||
layout.label(text="")
|
|
Loading…
Reference in New Issue