CoinVisualizer Class Reference

#include <RobotAPI/components/ArViz/Coin/Visualizer.h>

Public Member Functions

void addOrUpdateElements (CoinLayer *layer, data::LayerUpdate const &update)
 
void addOrUpdateInteraction (CoinLayerID const &layerID, std::string const &elementID, data::InteractionDescription const &interactionDesc, coin::ElementVisualization *visu)
 
CoinVisualizer_ApplyTiming apply (data::LayerUpdate const &update)
 
void clearCache ()
 
 CoinVisualizer ()
 
void emitLayersChanged (std::vector< CoinLayerID > const &layerIDs)
 
void emitLayerUpdated (CoinLayerID const &layerID, CoinLayer const &layer)
 
void exportToVRML (std::string const &exportFilePath)
 
CoinLayer & findOrAddLayer (CoinLayerID const &layerID)
 
std::vector< CoinLayerID > getLayerIDs ()
 
CoinVisualizer_UpdateTiming getTiming ()
 
void onManipulation (SoDragger *dragger, int eventType)
 
void onSelectEvent (SoPath *path, int eventType)
 
void onUpdateFailure (Ice::Exception const &ex)
 
void onUpdateSuccess (data::LayerUpdates const &updates)
 
void registerVisualizationTypes ()
 
template<typename ElementVisuT>
void registerVisualizerFor ()
 
void removeElementsIfNotUpdated (CoinLayer *layer)
 
void selectElement (int index)
 
void showLayer (CoinLayerID const &id, bool visible)
 
void startAsync (StorageInterfacePrx const &storage)
 
void stop ()
 
void update ()
 
 ~CoinVisualizer ()
 

Public Attributes

armarx::viz::Callback_StorageInterface_pullUpdatesSinceAndSendInteractionsPtr callback
 
IceUtil::Handle< CoinVisualizerWrapper > callbackData
 
std::vector< std::unique_ptr< ElementInteractionData > > elementInteractions
 
std::vector< std::unique_ptr< coin::ElementVisualizer > > elementVisualizers
 
std::vector< std::type_index > elementVisualizersTypes
 
std::vector< viz::data::InteractionFeedback > interactionFeedbackBuffer
 
CoinVisualizer_UpdateTiming lastTiming
 
CoinLayerMap layers
 
std::function< void(std::vector< CoinLayerID > const &)> layersChangedCallback
 
std::vector< std::function< void(CoinLayerID const &layerID, CoinLayer const &layer)> > layerUpdatedCallbacks
 A layer's data has changed.
 
SoTransformerManip * manipulator = nullptr
 
SoSeparator * manipulatorGroup = nullptr
 
data::LayerUpdates pulledUpdates
 
SoSeparator * root = nullptr
 
ElementInteractionData * selectedElement = nullptr
 
SoSelection * selection = nullptr
 
std::atomic< CoinVisualizerState > state {CoinVisualizerState::STOPPED}
 
std::mutex stateMutex
 
viz::StorageInterfacePrx stateStorage
 
viz::StorageInterfacePrx storage
 
std::mutex storageMutex
 
std::mutex timingMutex
 
std::atomic< CoinVisualizerUpdateResult > updateResult {CoinVisualizerUpdateResult::SUCCESS}
 

Constructor & Destructor Documentation

◆ CoinVisualizer()

◆ ~CoinVisualizer()

Member Function Documentation

◆ addOrUpdateElements()

void addOrUpdateElements ( CoinLayer * layer,
data::LayerUpdate const & update )

◆ addOrUpdateInteraction()

void addOrUpdateInteraction ( CoinLayerID const & layerID,
std::string const & elementID,
data::InteractionDescription const & interactionDesc,
coin::ElementVisualization * visu )

◆ apply()

CoinVisualizer_ApplyTiming apply ( data::LayerUpdate const & update)

◆ clearCache()

void clearCache ( )

◆ emitLayersChanged()

void emitLayersChanged ( std::vector< CoinLayerID > const & layerIDs)

◆ emitLayerUpdated()

void emitLayerUpdated ( CoinLayerID const & layerID,
CoinLayer const & layer )

◆ exportToVRML()

void exportToVRML ( std::string const & exportFilePath)

◆ findOrAddLayer()

CoinLayer & findOrAddLayer ( CoinLayerID const & layerID)

◆ getLayerIDs()

std::vector< CoinLayerID > getLayerIDs ( )

◆ getTiming()

◆ onManipulation()

void onManipulation ( SoDragger * dragger,
int eventType )

◆ onSelectEvent()

void onSelectEvent ( SoPath * path,
int eventType )

◆ onUpdateFailure()

void onUpdateFailure ( Ice::Exception const & ex)

◆ onUpdateSuccess()

void onUpdateSuccess ( data::LayerUpdates const & updates)

◆ registerVisualizationTypes()

void registerVisualizationTypes ( )

◆ registerVisualizerFor()

template<typename ElementVisuT>
void registerVisualizerFor ( )
inline

◆ removeElementsIfNotUpdated()

void removeElementsIfNotUpdated ( CoinLayer * layer)

◆ selectElement()

void selectElement ( int index)

◆ showLayer()

void showLayer ( CoinLayerID const & id,
bool visible )

◆ startAsync()

void startAsync ( StorageInterfacePrx const & storage)

◆ stop()

void stop ( )

◆ update()

void update ( )

Member Data Documentation

◆ callback

armarx::viz::Callback_StorageInterface_pullUpdatesSinceAndSendInteractionsPtr callback

◆ callbackData

◆ elementInteractions

std::vector<std::unique_ptr<ElementInteractionData> > elementInteractions

◆ elementVisualizers

std::vector<std::unique_ptr<coin::ElementVisualizer> > elementVisualizers

◆ elementVisualizersTypes

std::vector<std::type_index> elementVisualizersTypes

◆ interactionFeedbackBuffer

std::vector<viz::data::InteractionFeedback> interactionFeedbackBuffer

◆ lastTiming

◆ layers

CoinLayerMap layers

◆ layersChangedCallback

std::function<void(std::vector<CoinLayerID> const&)> layersChangedCallback

◆ layerUpdatedCallbacks

std::vector<std::function<void(CoinLayerID const& layerID, CoinLayer const& layer)> > layerUpdatedCallbacks

A layer's data has changed.

◆ manipulator

SoTransformerManip* manipulator = nullptr

◆ manipulatorGroup

SoSeparator* manipulatorGroup = nullptr

◆ pulledUpdates

data::LayerUpdates pulledUpdates

◆ root

SoSeparator* root = nullptr

◆ selectedElement

ElementInteractionData* selectedElement = nullptr

◆ selection

SoSelection* selection = nullptr

◆ state

◆ stateMutex

std::mutex stateMutex

◆ stateStorage

viz::StorageInterfacePrx stateStorage

◆ storage

viz::StorageInterfacePrx storage

◆ storageMutex

std::mutex storageMutex

◆ timingMutex

std::mutex timingMutex

◆ updateResult


The documentation for this class was generated from the following files: