|This article is a stub. You can help the wiki by|
See CompositeViewer Support for the main article about this subject.
What is it
"Step View" - because it constructs eye and target positions/directions in a series of explicit configurable steps.
flightgear/src/Viewer/sview.cxx) already knows how to parse some of the standard XML view specifications, so that it can clone views.
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.