Holds one operator and its parameters.
| 103 | |
| 104 | |
| 105 | class OperatorSpecEditMode: |
| 106 | """ |
| 107 | Holds one operator and its parameters. |
| 108 | """ |
| 109 | |
| 110 | def __init__( |
| 111 | self, |
| 112 | operator_name: str, |
| 113 | operator_parameters: dict, |
| 114 | select_mode: str, |
| 115 | selection, |
| 116 | *, |
| 117 | select_history: bool = False, |
| 118 | ): |
| 119 | """ |
| 120 | Constructs an OperatorSpecEditMode. Raises ValueError if selec_mode is invalid. |
| 121 | |
| 122 | :param operator_name: str - name of mesh operator from bpy.ops.mesh, e.g. "bevel" or "fill" |
| 123 | :param operator_parameters: dict - {name : val} dictionary containing operator parameters. |
| 124 | :param select_mode: str - mesh selection mode, must be either 'VERT', 'EDGE' or 'FACE' |
| 125 | :param selection: sequence - vertices/edges/faces indices to select, e.g. [0, 9, 10]. |
| 126 | :arg: select_history: bool - load selection into bmesh selection history. |
| 127 | """ |
| 128 | self.operator_name = operator_name |
| 129 | self.operator_parameters = operator_parameters |
| 130 | if select_mode not in {'VERT', 'EDGE', 'FACE'}: |
| 131 | raise ValueError("select_mode must be either {}, {} or {}".format('VERT', 'EDGE', 'FACE')) |
| 132 | self.select_mode = select_mode |
| 133 | self.selection = selection |
| 134 | self.select_history = select_history |
| 135 | |
| 136 | def __str__(self): |
| 137 | return "Operator: " + self.operator_name + " with parameters: " + str(self.operator_parameters) + \ |
| 138 | " in selection mode: " + self.select_mode + ", selecting " + str(self.selection) + \ |
| 139 | ("and loading bmesh selection history" if (self.select_history) else "") |
| 140 | |
| 141 | |
| 142 | class OperatorSpec: |