diff options
Diffstat (limited to 'Scripts/Fold/Editor/FoldEditorWindow.cs')
| -rwxr-xr-x | Scripts/Fold/Editor/FoldEditorWindow.cs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Scripts/Fold/Editor/FoldEditorWindow.cs b/Scripts/Fold/Editor/FoldEditorWindow.cs index b174b54..e2a94e1 100755 --- a/Scripts/Fold/Editor/FoldEditorWindow.cs +++ b/Scripts/Fold/Editor/FoldEditorWindow.cs @@ -210,6 +210,7 @@ public class FoldEditorWindow : EditorWindow menu.AddItem(new GUIContent("Axis Align"), false, () => AddOperation(new AxisAlignOp())); menu.AddSeparator(""); menu.AddItem(new GUIContent("Scale"), false, () => AddOperation(new ScaleOp())); + menu.AddItem(new GUIContent("Translate"), false, () => AddOperation(new TranslateOp())); menu.AddItem(new GUIContent("Norm Conversion"), false, () => AddOperation(new NormConversionOp())); menu.AddItem(new GUIContent("Seal"), false, () => AddOperation(new SealOp())); menu.AddSeparator(""); @@ -272,6 +273,7 @@ public class FoldEditorWindow : EditorWindow FoldPipelineBuilder.Opcodes.PlaneToHemiOctahedron => new PlaneToHemiOctahedronOp(slot), FoldPipelineBuilder.Opcodes.HemiOctahedronToPlane => new HemiOctahedronToPlaneOp(slot), FoldPipelineBuilder.Opcodes.Scale => new ScaleOp(slot), + FoldPipelineBuilder.Opcodes.Translate => new TranslateOp(slot), FoldPipelineBuilder.Opcodes.PointAlign => new PointAlignOp(slot), FoldPipelineBuilder.Opcodes.AxisAlign => new AxisAlignOp(slot), FoldPipelineBuilder.Opcodes.NormConversion => new NormConversionOp(slot), @@ -395,6 +397,27 @@ public class ScaleOp : DeformOperation } [System.Serializable] +public class TranslateOp : DeformOperation +{ + public Vector3 offset = Vector3.zero; + public float t = 1f; + + public TranslateOp() { } + public TranslateOp(FoldSlot slot) { offset = slot.vec0; t = slot.float0; } + + public override string GetDisplayName() => "Translate"; + + public override void DrawParameters() + { + offset = EditorGUILayout.Vector3Field("Offset", offset); + t = EditorGUILayout.Slider("Interpolation (t)", t, 0f, 1f); + } + + public override void ApplyTo(FoldPipelineBuilder builder) => + builder.Translate(offset, t); +} + +[System.Serializable] public class HemiOctahedronToPlaneOp : DeformOperation { public Vector3 p = Vector3.zero; |
