Go to the documentation of this file.
5 #include <RobotAPI/interface/ArViz/Component.h>
7 #include <Inventor/manips/SoTransformerManip.h>
8 #include <Inventor/nodes/SoSelection.h>
9 #include <Inventor/nodes/SoSeparator.h>
11 #include <IceUtil/Shared.h>
27 std::unique_ptr<coin::ElementVisualization>
visu;
32 return left.
data->id < right.
data->id;
72 id = std::move(other.id);
75 elements = std::move(other.elements);
87 if (iter !=
elements.end() && iter->data->id ==
id)
107 return left.
id < right.
id;
121 if (iter !=
data.end() && iter->id ==
id)
172 std::vector<CoinVisualizer_ApplyTiming>
applies;
219 template <
typename ElementVisuT>
236 data::InteractionDescription
const& interactionDesc,
258 armarx::viz::Callback_StorageInterface_pullUpdatesSinceAndSendInteractionsPtr
callback;
ElementInteractionData * selectedElement
IceUtil::Time removeElements
CoinLayer & findOrAddLayer(CoinLayerID const &layerID)
IceUtil::Time waitDuration
CoinLayer * findLayer(CoinLayerID const &id)
std::vector< CoinLayerElement > elements
data::LayerUpdates pulledUpdates
std::atomic< CoinVisualizerState > state
void selectElement(int index)
void operator=(CoinLayer const &)=delete
std::vector< std::unique_ptr< coin::ElementVisualizer > > elementVisualizers
void showLayer(CoinLayerID const &id, bool visible)
void onSelectEvent(SoPath *path, int eventType)
coin::ElementVisualization * visu
void startAsync(StorageInterfacePrx const &storage)
viz::StorageInterfacePrx stateStorage
SoTransformerManip * manipulator
std::vector< std::function< void(CoinLayerID const &layerID, CoinLayer const &layer)> > layerUpdatedCallbacks
A layer's data has changed.
std::vector< CoinLayerID > getLayerIDs()
void onUpdateFailure(Ice::Exception const &ex)
void emitLayerUpdated(CoinLayerID const &layerID, CoinLayer const &layer)
void removeElementsIfNotUpdated(CoinLayer *layer)
void onManipulation(SoDragger *dragger, int eventType)
armarx::viz::Callback_StorageInterface_pullUpdatesSinceAndSendInteractionsPtr callback
IceUtil::Time updateElements
void add(CoinVisualizer_ApplyTiming const &other)
CoinLayer(CoinLayer &&other)
auto lowerBound(std::string const &id)
viz::data::InteractionDescription interaction
IceUtil::Handle< CoinVisualizerWrapper > callbackData
std::vector< CoinLayer > data
IceUtil::Time layersChanged
void registerVisualizationTypes()
void addOrUpdateInteraction(CoinLayerID const &layerID, std::string const &elementID, data::InteractionDescription const &interactionDesc, coin::ElementVisualization *visu)
CoinLayer const * findLayer(CoinLayerID const &id) const
void emitLayersChanged(std::vector< CoinLayerID > const &layerIDs)
bool isElementIdLess(CoinLayerElement const &left, CoinLayerElement const &right)
void exportToVRML(std::string const &exportFilePath)
void addOrUpdateElements(CoinLayer *layer, data::LayerUpdate const &update)
CoinVisualizer_ApplyTiming applyTotal
std::unique_ptr< coin::ElementVisualization > visu
armarx::core::time::DateTime Time
CoinVisualizer_UpdateTiming lastTiming
CoinVisualizer_UpdateTiming getTiming()
viz::StorageInterfacePrx storage
CoinVisualizer_ApplyTiming apply(data::LayerUpdate const &update)
void onUpdateSuccess(data::LayerUpdates const &updates)
std::vector< CoinVisualizer_ApplyTiming > applies
CoinLayerElement * findElement(std::string const &id)
std::vector< std::unique_ptr< ElementInteractionData > > elementInteractions
bool isCoinLayerIdLess(CoinLayer const &left, CoinLayer const &right)
std::atomic< CoinVisualizerUpdateResult > updateResult
void registerVisualizerFor()
CoinLayer(CoinLayerID const &id, SoSeparator *node)
CoinLayerElement const * findElement(std::string const &id) const
std::function< void(std::vector< CoinLayerID > const &)> layersChangedCallback
CoinVisualizerUpdateResult
std::vector< std::type_index > elementVisualizersTypes
auto lowerBound(CoinLayerID const &id)
This file is part of ArmarX.
std::pair< std::string, std::string > CoinLayerID
std::vector< viz::data::InteractionFeedback > interactionFeedbackBuffer
SoSeparator * manipulatorGroup