Skip to content

Commit 5d2dfc6

Browse files
committed
ShapeEditor: gizmo now use snap settings
1 parent 53a1eb9 commit 5d2dfc6

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

hide/comp/ShapeEditor.hx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ class ShapeEditor extends Component {
161161
initialRelPos.load(interactives[selectedShapeIdx].getTransform());
162162

163163
gizmo.setTransform(interactives[selectedShapeIdx].getAbsPos());
164+
gizmo.snap = scene.editor.gizmoSnap;
164165
}
165166

166167
gizmo.onMove = function(position: h3d.Vector, rotation: h3d.Quat, scale: h3d.Vector) {
@@ -326,8 +327,8 @@ class ShapeEditor extends Component {
326327
var e = new Element('
327328
<label>Center</label>
328329
<div class="inlined vector"><input type="number" id="x" value="${center.x}"/><input type="number" id="y" value="${center.y}"/><input type="number" id="z" value="${center.z}"/></div>
329-
<label>Rotation (Radians)</label>
330-
<div class="inlined vector"><input type="number" id="rotation-x" value="${rotation.x}"/><input type="number" id="rotation-y" value="${rotation.y}"/><input type="number" id="rotation-z" value="${rotation.z}"/></div>
330+
<label>Rotation (Degrees)</label>
331+
<div class="inlined vector rotation"><input type="number" id="rotation-x" value="${rotation.x * 180 / Math.PI}"/><input type="number" id="rotation-y" value="${rotation.y * 180 / Math.PI}"/><input type="number" id="rotation-z" value="${rotation.z * 180 / Math.PI}"/></div>
331332
<label>Size</label>
332333
<div class="inlined"><input type="number" min="0" id="size-x" value="$x"/><input type="number" min="0" id="size-y" value="$y"/><input type="number" min="0" id="size-z" value="$z"/></div>
333334
');
@@ -348,8 +349,8 @@ class ShapeEditor extends Component {
348349
var e = new Element('
349350
<label>Center</label>
350351
<div class="inlined vector"><input type="number" id="x" value="${center.x}"/><input type="number" id="y" value="${center.y}"/><input type="number" id="z" value="${center.z}"/></div>
351-
<label>Rotation (Radians)</label>
352-
<div class="inlined vector"><input type="number" id="rotation-x" value="${rotation.x}"/><input type="number" id="rotation-y" value="${rotation.y}"/><input type="number" id="rotation-z" value="${rotation.z}"/></div>
352+
<label>Rotation (Degrees)</label>
353+
<div class="inlined vector rotation"><input type="number" id="rotation-x" value="${rotation.x * 180 / Math.PI}"/><input type="number" id="rotation-y" value="${rotation.y * 180 / Math.PI}"/><input type="number" id="rotation-z" value="${rotation.z * 180 / Math.PI}"/></div>
353354
<label>Radius</label>
354355
<div><input type="number" min="0" id="radius" value="$radius"/></div>
355356
<label>Height</label>
@@ -484,6 +485,8 @@ class ShapeEditor extends Component {
484485
var vec = new h3d.Vector(Std.parseFloat(new Element(inputs[idx]).val()),
485486
Std.parseFloat(new Element(inputs[idx + 1]).val()),
486487
Std.parseFloat(new Element(inputs[idx + 2]).val()));
488+
if (input.parent().hasClass("rotation"))
489+
vec *= Math.PI / 180;
487490
params.push(vec);
488491
idx += 3;
489492
}

hide/view/Model.hx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2172,6 +2172,12 @@ class Model extends FileView {
21722172
toolsDefs.push({id: "showViewportOverlays", title : "Viewport Overlays", icon : "eye", type : Toggle((v) -> { sceneEditor.updateViewportOverlays(); }) });
21732173
toolsDefs.push({id: "viewportoverlays-menu", title : "", icon: "", type : Popup((e) -> new hide.comp.SceneEditor.ViewportOverlaysPopup(e, sceneEditor))});
21742174

2175+
toolsDefs.push({id: "", title : "", icon : "", type : Separator});
2176+
2177+
toolsDefs.push({id: "toggleSnap", title : "Snap Toggle", icon: "magnet", type : Toggle((v) -> {sceneEditor.snapToggle = v; sceneEditor.updateGrid();})});
2178+
toolsDefs.push({id: "snap-menu", title : "", icon: "", type : Popup((e) -> new hide.comp.SceneEditor.SnapSettingsPopup(e, sceneEditor))});
2179+
2180+
21752181
//toolsDefs.push({id: "iconVisibility", title : "Toggle 3d icons visibility", icon : "image", type : Toggle((v) -> { hide.Ide.inst.show3DIcons = v; }), defaultValue: true });
21762182
//toolsDefs.push({id: "iconVisibility-menu", title : "", icon: "", type : Popup((e) -> new hide.comp.SceneEditor.IconVisibilityPopup(null, e, sceneEditor))});
21772183
tools.makeToolbar(toolsDefs);

0 commit comments

Comments
 (0)