Vixen
02b45cc4
csharp
public interface IGizmoTarget

Something the gizmo can move: a transform it can read and write.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

An interface rather than an entity, so that the gizmo's whole of its arithmetic is testable with no world, no renderer and no device — which is what makes "does dragging X by fifteen pixels move it the right distance" a unit test rather than a screenshot somebody looks at.

⚠ Whoever supplies the targets owns the undo entry, and Record is where that is written down. It used to be a hook on the viewport plus a type test beside it, which meant the viewport held a list of the exceptions to its own rule and a third kind of target was a third exception. A target knows what document it came out of and what its edit is called; nothing else does.

Fields and properties (4)

  • Vector3 Position

    Where it is, in world space.

  • Quaternion Rotation

    How it is turned, in world space.

  • Vector3 Scale

    How big it is, in its parent's space.

  • Matrix4x4 ParentToWorld

    Its parent's local-to-world matrix, or the identity for a root.

Methods (1)

Used by (11)

  • EntityGizmoTargetVixen.Editor.SceneView
  • GizmoDragVixen.Editor.SceneView
  • MeshGizmoTargetVixen.Editor.SceneView
  • PaneVixen.Editor.SceneView.Tests
  • ProxyShapeGizmoTargetVixen.Editor.AssetEditors
  • ProxyShapeViewVixen.Editor.AssetEditors
  • SceneViewportVixen.Editor.SceneView
  • StubTargetVixen.Editor.SceneView.Tests
  • TransformGizmoVixen.Editor.SceneView
  • TransformTargetsCommandVixen.Editor.SceneView
  • ViewportLayoutVixen.Editor.SceneView