Go to the documentation of this file.
26 #include <condition_variable>
34 #include <RobotAPI/interface/ArViz.h>
59 virtual public armarx::viz::StorageAndTopicInterface
83 void updateLayers(viz::data::LayerUpdateSeq
const& updates,
const Ice::Current&)
override;
87 const Ice::Current&)
override;
90 viz::data::LayerUpdates
92 viz::data::InteractionFeedbackSeq
const& interactions,
93 const Ice::Current&)
override;
94 std::string
startRecording(std::string
const& prefix,
const Ice::Current&)
override;
97 viz::data::RecordingBatch
103 void recordBatch(viz::data::RecordingBatch& batch);
108 std::string topicName =
"ArVizTopic";
109 int maxHistorySize = 1000;
110 std::filesystem::path historyPath =
"RobotAPI/ArVizStorage";
112 float componentWarnFrequency = 30;
116 std::mutex historyMutex;
118 std::vector<viz::data::TimestampedLayerUpdate> currentState;
119 std::vector<viz::data::TimestampedLayerUpdate> history;
121 bool firstBatch =
false;
126 std::vector<viz::data::InteractionFeedback> interactionBuffer;
128 std::mutex recordingMutex;
129 std::filesystem::path recordingPath;
130 std::vector<viz::data::TimestampedLayerUpdate> recordingInitialState;
131 std::vector<viz::data::RecordingBatch> recordingBuffer;
132 viz::data::Recording recordingMetaData;
133 std::condition_variable recordingCondition;
137 std::map<std::string, std::vector<armarx::DateTime>> updateHistoryForComponents;
viz::data::LayerUpdates pullUpdatesSinceAndSendInteractions(Ice::Long revision, viz::data::InteractionFeedbackSeq const &interactions, const Ice::Current &) override
void stopRecording(const Ice::Current &) override
void onExitComponent() override
armarx::ManagedIceObject::onExitComponent()
void updateLayers(viz::data::LayerUpdateSeq const &updates, const Ice::Current &) override
viz::data::RecordingsInfo getAllRecordings(const Ice::Current &) override
std::string startRecording(std::string const &prefix, const Ice::Current &) override
void onConnectComponent() override
armarx::ManagedIceObject::onConnectComponent()
std::string getDefaultName() const override
armarx::ManagedIceObject::getDefaultName()
Stores visualization elements drawn by ArViz clients.
void onDisconnectComponent() override
armarx::ManagedIceObject::onDisconnectComponent()
ReaderT::InputType & input
viz::data::CommitResult commitAndReceiveInteractions(viz::data::CommitInput const &input, const Ice::Current &) override
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
PropertyUser::createPropertyDefinitions()
Baseclass for all ArmarX ManagedIceObjects requiring properties.
void onInitComponent() override
armarx::ManagedIceObject::onInitComponent()
viz::data::RecordingBatch getRecordingBatch(const std::string &, Ice::Long, const Ice::Current &) override
This file offers overloads of toIce() and fromIce() functions for STL container types.
viz::data::LayerUpdates pullUpdatesSince(Ice::Long revision, const Ice::Current &) override