15#ifndef GPUDISPLAYGUICHANNEL_H
16#define GPUDISPLAYGUICHANNEL_H
18#define GPUSETTINGS_DISPLAY
19#define GPUSETTINGS_DISPLAYCONTROL
23#include <condition_variable>
35using GPUDisplayGUIValue = std::variant<int64_t, double, std::string, GPUDisplayMultiSliderValue>;
36static_assert(
sizeof(
GPUDisplayGUIValue) ==
sizeof(std::variant<int64_t, double, std::string>),
"GPUDisplayMultiSliderValue must not enlarge GPUDisplayGUIValue");
41 std::vector<std::pair<uint32_t, GPUDisplayGUIValue>>
values;
47 auto it = std::find_if(
values.begin(),
values.end(), [
element](
const auto&
v) { return v.first == element; });
49 it->second = std::move(
value);
72 GPUSettingsDisplayRenderer
mCfgR;
87 std::vector<std::pair<std::string, GPUDisplayGUIValue>>
choices;
102 std::vector<std::pair<std::string, GPUDisplayGUIValue>>
choices;
Timeframe settings Average distance in cm of events merged into Randomize distance around average distance of merged events Simulate correct bunch interactions instead of placing only the average number of events A value[n] sets TFlen for[n] collisions in Number of bunches per trainsort Number of bunch trains Instantaneous interaction rate Do not simulate border Total number of collisions to be placed in the interior of all time Do not select random but walk over array of events in stride steps h Event generator settings h configStandalone Use CPU for GPU Force usage of the specified GPU device no CPU fallback Continue processing after an error First event to Number of events to Number of iterations to Number of iterations to Number of initial iterations excluded from const char Directory with events to Events directory is and not inside events Show standalone event Run event generator maximum time bin of continuous for triggered for automatic continuous for automatic continuous triggered uint64_t
GLsizei const GLfloat * value
GLenum GLsizei GLsizei GLint * values
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
std::variant< int64_t, double, std::string, GPUDisplayMultiSliderValue > GPUDisplayGUIValue
std::function< Options()> dynamicOptions
std::function< GPUDisplayGUIValue(const Settings &)> get
std::vector< std::pair< std::string, GPUDisplayGUIValue > > choices
std::vector< Element > elements
std::vector< std::pair< std::string, GPUDisplayGUIValue > > choices
GPUSettingsDisplayHeavy mCfgH
GPUSettingsDisplayRenderer mCfgR
GPUSettingsDisplayLight mCfgL
std::function< void()> updatePosted
std::chrono::milliseconds replyTimeout
std::chrono::milliseconds infoTextTime
bool displayProcessingCurrentUpdate
bool displayWaitingForOptions
std::condition_variable stateUpdated
uint64_t optionsReadRevision
std::optional< Update > update
std::vector< Frame > layout
std::condition_variable optionsRead
std::optional< float > guiScale
void setValue(uint32_t element, GPUDisplayGUIValue value)
std::vector< int32_t > keys
std::vector< std::pair< uint32_t, GPUDisplayGUIValue > > values
void merge(const GPUDisplayGUIUpdate &other)
std::optional< int8_t > guiDarkMode
VectorOfTObjectPtrs other