def centerObject(self, object_id): node = self.getController().getScene().findObject(object_id) if not node and object_id != 0: #Workaround for tool handles overlapping the selected object node = Selection.getSelectedObject(0) if node: op = SetTransformOperation(node, Vector()) op.push()
def setScaleZ(self, scale): obj = Selection.getSelectedObject(0) if obj: obj_scale = obj.getScale() if obj_scale.z != scale: obj_scale.setZ(scale) if not self._non_uniform_scale: obj_scale.setY(scale) obj_scale.setX(scale) operation = SetTransformOperation(obj, None, None, obj_scale) operation.push()
def setObjectDepth(self, depth): obj = Selection.getSelectedObject(0) if obj: obj_scale = obj.getScale() obj_depth = obj.getBoundingBox().depth / obj_scale.z target_scale = float(depth) / obj_depth if obj_scale.z != target_scale: obj_scale.setZ(target_scale) if not self._non_uniform_scale: obj_scale.setY(target_scale) obj_scale.setX(target_scale) operation = SetTransformOperation(obj, None, None, obj_scale) operation.push()
def setObjectHeight(self, height): obj = Selection.getSelectedObject(0) if obj: obj_scale = obj.getScale() obj_height = obj.getBoundingBox().height / obj_scale.y target_scale = float(height) / obj_height if obj_scale.y != target_scale: obj_scale.setY(target_scale) if not self._non_uniform_scale: obj_scale.setX(target_scale) obj_scale.setZ(target_scale) operation = SetTransformOperation(obj, None, None, obj_scale) operation.push()
def centerObject(self, object_id): node = self.getController().getScene().findObject(object_id) if node: op = SetTransformOperation(node, Vector()) op.push()