Re-usable visualization panels #6412
Unanswered
Renaud-Marteleur
asked this question in
Community Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello NASA,
With my team, we are trying to use OpenMCT to display data produced by numerical simulations of satellites. We have various simulators (i.e. programs) that can be executed to produce simulations (i.e. running processes). Those simulations will produce logs and samplings that will be stored by another component, in a database. That component is able to:
We were able to write the OpenMCT plugins to do all that. In particular, the object tree is now populated with the following hierarchy:
This is working fine and I have to mention that OpenMCT is a great tool !
Now the "issue" we face is that: the user of OpenMCT can develop a visualization panel of his own, thanks to the composition of widgets, by using layouts. When he/she does, that panel is bound to the data sources that were attached to it. It means that, if the running simulation is stopped, and the same simulator is executed again (i.e. same program, new process), the data created by this new simulation will have different identifiers (we generate a new UUID for each simulation, and for each sampling) than during the previous run, and the visualization panel won't display those new data.
We would like the user to be able to develop its visualization panel once and use it several times.
Example. The data
Let's imagine that the user created a visualization panel displaying all the data from "simulator_001 >> simulation_001 >> spl_001" . How to allow him/her to re-use that panel with the same sampling but from "simulator_001 >> simulation_002"?
The thing is, OpenMCT does not work with "samplings" (that are "folders"), but with "fields" (that are "data"). Therefore, a visualization panel have no knowledge of which sampling it is displaying, it is just aware of a list of fields.
Our idea is to add a drop down list in the plot widgets, containing the list of all the samplings. When the user selects a sampling from the list, the content of the plot changes: the previous streams of data are removed and replaced by all the fields that compose the selected sampling.
(an even better version of this would be to only show the samplings that come from the simulator that generated the data currently displayed in the plot. But again, the plot is not aware of the fact that the data it is displaying come from a common simulator. After all, it would be possible to put several streams of data in a plot, coming from different simulators)
Do you think this is possible? Is it the right approach? Would you have any advice?
In particular, it seems complex to be able to change the definition the current panel/plot, from the MctPlot code (i.e. where we would have to add the drop down list).
A big thank you, for the tool, for having read this message until the end, and for any help/hint you may provide.
Beta Was this translation helpful? Give feedback.
All reactions