35#include <MemoryX/gui-plugins/PriorMemoryEditor/ui_PriorMemoryEditorPlugin.h>
38#include <VirtualRobot/SceneObject.h>
39#include <VirtualRobot/Visualization/CoinVisualization/CoinVisualization.h>
40#include <VirtualRobot/Visualization/VisualizationFactory.h>
44#include <MemoryX/interface/components/PriorKnowledgeInterface.h>
53#include <Inventor/Qt/SoQt.h>
54#include <Inventor/Qt/viewers/SoQtExaminerViewer.h>
55#include <Inventor/nodes/SoEventCallback.h>
56#include <Inventor/nodes/SoMatrixTransform.h>
57#include <Inventor/nodes/SoNode.h>
58#include <Inventor/nodes/SoSeparator.h>
59#include <Inventor/sensors/SoTimerSensor.h>
75 Q_PLUGIN_METADATA(IID
"ArmarXGuiInterface/1.00")
145 return "MemoryX.PriorMemoryEditor";
151 return QIcon(
"://icons/database.svg");
157 return QIcon(
"://icons/database.svg");
197 Ui::PriorMemoryEditorPlugin
ui;
218 std::recursive_mutex mutexEntities;
220 CommonStorageInterfacePrx databasePrx;
221 PriorKnowledgeInterfacePrx memoryPrx;
222 PersistentObjectClassSegmentBasePrx classesSegmentPrx;
226 void doEditClass(
bool isNew);
228 VirtualRobot::ManipulationObjectPtr loadManipulationObjectFile(
const std::string& xmlFName);
229 VirtualRobot::ManipulationObjectPtr
230 createManipulationObjectFromIvFiles(
const std::string& objName,
231 const std::string& ivFnameVis,
232 const std::string& ivFNameCollision);
235 const std::string& xmlFName);
237 const VirtualRobot::ManipulationObjectPtr mo);
239 const std::string& visuFName,
240 const std::string& collisionFName);
242 void findIVTextures(
const std::string& ivFName, NameList& textures);
245 std::string getSelectedClassId();
246 std::string getSelectedClassName();
248 std::string getFilesDBName();
250 void showObjectClassModel(
const std::string& objectId,
251 VirtualRobot::SceneObject::VisualizationType visuType);
253 void refreshControls();
255 void setCurrentCollection(
const std::string& collNS);
256 void refreshCollectionList();
258 QPointer<PriorEditorConfigDialog> dialog;
259 QPointer<CollectionCreateDialog> collCreateDialog;
261 std::string settings_priorMemory;
262 std::string settings_mongoHost;
263 std::string settings_mongoUser;
264 std::string settings_mongoPass;
265 std::string settings_robotStateComponentProxyName;
void onInitComponent() override
Pure virtual hook for the subclass.
void treeItemDoubleClicked(QTreeWidgetItem *item, int column)
void objectChanged(QString objectId, bool isNew)
void onDisconnectComponent() override
Hook for subclass.
void createVisualization(const ::memoryx::ObjectClassPtr obj)
void loadSettings(QSettings *settings) override
Implement to load the settings that are part of the GUI configuration.
void saveSettings(QSettings *settings) override
Implement to save the settings as part of the GUI configuration.
SoNode * getScene() override
Reimplementing this function and returning a SoNode* will show this SoNode in the 3DViewerWidget,...
Ui::PriorMemoryEditorPlugin ui
void showObjectClassColl()
QPointer< QDialog > getConfigDialog(QWidget *parent=0) override
getConfigDialog returns a pointer to the a configuration widget of this controller.
void onConnectComponent() override
Pure virtual hook for the subclass.
std::map< std::string, ObjectClassPtr > ObjectEntryMap
void configured() override
This function must be implemented by the user, if he supplies a config dialog.
static QIcon GetWidgetCategoryIcon()
ObjectEntryMap currentObjectClasses
void treeCurrentItemChanged(QTreeWidgetItem *cur, QTreeWidgetItem *prev)
void updateObject(const memoryx::ObjectClassPtr obj, bool force=false)
static QString GetWidgetName()
void onExitComponent() override
Hook for subclass.
virtual ~PriorEditorController()
static QIcon GetWidgetIcon()
void showObjectClassVisu()
void clearVisualization()
PriorMemoryEditorPlugin()
::IceInternal::ProxyHandle<::IceProxy::armarx::RobotStateComponentInterface > RobotStateComponentInterfacePrx
IceInternal::Handle< ObjectClass > ObjectClassPtr
std::shared_ptr< PriorEditorController > PriorEditorControllerPtr
std::shared_ptr< GridFileManager > GridFileManagerPtr