Vixen
feb85697
csharp
public interface IViewportPane

What a scene-view tool or mode is handed of the pane whose input it was offered.

Read the guide page for this →

Remarks

Doc 50 § P4 (#1303), and it is a list read off the consumers rather than designed. Doc 36 § Part 5 struck an IToolContext because SceneViewport was a 1,600-line concrete class and "narrowing it is worth doing when a consumer can say which members matter". The consumers are the five IViewportInputs that exist — BlockoutMode, TerrainMode, FoliageMode, WaterMode and the out-of-tree sample plugin's tool — and these are every member any of them touches.

⚠ Narrowing what a tool is handed, not what a pane is. The pane still has its bookmarks, its selection, its editing state and its gizmo; the application that owns the pane reaches them as before. What changed is that a plugin's tool can no longer reach them, so a new member here is a decision a reviewer sees rather than a public property it happened to find.

Fields and properties (4)

  • Viewport Control

    The control the scene is drawn in — what turns an event's coordinates into render pixels.

  • EditorCamera Camera

    Where the camera is looking.

  • ISceneProbe? Surfaces

    What a ray hits in the scene this pane shows, or while nothing answers.

  • Action<GizmoDraw>? Cursor

    The tool's own cursor, drawn every frame over the scene, or for none.

Methods (4)

  • Ray Ray(Vector2 point)

    The ray under a point in this pane.

  • GizmoHandle Hover(Vector2 point)

    Records which gizmo handle the pointer is over.

  • SubObject HoverElement(Vector2 point)

    Works out which mesh element the pointer is over, and remembers it.

  • bool RefreshTargets()

    Rebuilds what the gizmo is holding, now rather than on the next frame.

Used by (13)

  • BlockoutModeVixen.Editor.Blockout
  • DeclaredContributionsVixen.Editor.App
  • FoliageModeVixen.Editor.Terrain
  • IViewportInputVixen.Editor.SceneView
  • ModeInputVixen.Editor.App
  • OwnerVixen.Editor.SceneView.Tests
  • PlayInputVixen.Editor.App
  • SceneOverlayVixen.Editor.SceneView
  • SceneViewportVixen.Editor.SceneView
  • TerrainModeVixen.Editor.Terrain
  • ViewportInputTestsVixen.Editor.SceneView.Tests
  • WaterModeVixen.Editor.Water
  • WaterProfileHandlesVixen.Editor.Water