StepView: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(stub based on: https://sourceforge.net/p/flightgear/mailman/message/37163870/)
 
Line 8: Line 8:
specifications, so that it can clone views.
specifications, so that it can clone views.


== The Future ==
== Internals ==
we could make things into a top-level
we could make things into a top-level
subsystem. Though Sview is not the default view subsystem and so in
subsystem. Though Sview is not the default view subsystem and so in

Revision as of 21:48, 28 November 2020

This article is a stub. You can help the wiki by expanding it.

What is it

"Step View" - because it constructs eye and target positions/directions in a series of explicit configurable steps.

sview.cxx already knows how to parse some of the standard XML view specifications, so that it can clone views.

Internals

we could make things into a top-level subsystem. Though Sview is not the default view subsystem and so in some ways it's nice to keep it under control of the main view subsystem.

However before we get too far down into these details... the code in src/Viewer/sview.* currently mixes two things that it might be good to split up first. First there's the step view system itself which manages eye and target positions/directions, and second we have the creation and management of extra view windows (and potentially canvas elements) with their own graphics context and compositor instance etc.

The reason they are bundled together at the moment is that splitting them up might require that we expose some of the details of how step views are created, which is necessarily a little involved - see the various base and derived classes such as SviewStep and derived classes such as SviewStepMove, SviewStepNearestTower etc.

Whether or not we can keep the details hidden, might depend ultimately on the UI for creating views that we want to present to the user.[1]

References

References