Add RegisterOperation for type -> operation mapping
This commit is contained in:
parent
6dcd0d8c28
commit
f6b0b68c9e
7 changed files with 183 additions and 4 deletions
|
|
@ -63,6 +63,39 @@ namespace MatterHackers.MatterControl.DesignTools.Operations
|
|||
return resultsA;
|
||||
}
|
||||
|
||||
public static void WrapWith(this IObject3D originalItem, IObject3D wrapper, BedConfig sceneContext)
|
||||
{
|
||||
originalItem.Parent.Children.Modify(list =>
|
||||
{
|
||||
list.Remove(originalItem);
|
||||
|
||||
wrapper.Matrix = originalItem.Matrix;
|
||||
|
||||
originalItem.Matrix = Matrix4X4.Identity;
|
||||
wrapper.Children.Add(originalItem);
|
||||
|
||||
list.Add(wrapper);
|
||||
});
|
||||
|
||||
sceneContext.Scene.SelectedItem = wrapper;
|
||||
}
|
||||
|
||||
public static void Unwrap(this IObject3D item, BedConfig sceneContext)
|
||||
{
|
||||
foreach (var child in item.Children)
|
||||
{
|
||||
child.Matrix *= item.Matrix;
|
||||
}
|
||||
|
||||
item.Parent.Children.Modify(list =>
|
||||
{
|
||||
list.Remove(item);
|
||||
list.AddRange(item.Children);
|
||||
});
|
||||
|
||||
sceneContext.Scene.SelectedItem = null;
|
||||
}
|
||||
|
||||
public static Vector3 GetCenter(this IObject3D item)
|
||||
{
|
||||
return item.GetAxisAlignedBoundingBox(Matrix4X4.Identity).Center;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue