diff --git a/idl/Graphics/corbaserver/graphicalinterface.idl b/idl/Graphics/corbaserver/graphicalinterface.idl index dfe1d98bac5a7847371b525a299301774277b023..6341ac546fc1660196aba6ec5741e023bff4de3a 100644 --- a/idl/Graphics/corbaserver/graphicalinterface.idl +++ b/idl/Graphics/corbaserver/graphicalinterface.idl @@ -143,6 +143,15 @@ typedef double Color [4]; /// \param input configuration : Double[7] new configuration. boolean applyConfiguration(in string nodeName, in Transform configuration) ; + /// Add Landmark at the center of a node (x=blue, y=green, z=red). + /// \param input nodeName : name of the node + /// \param input size : lenght of axises. + boolean addLandmark(in string nodeName, in float size) ; + + /// delete Landmark of a node. + /// \param input nodeName : name of the node + boolean deleteLandmark(in string nodeName) ; + /// Change the visibility of a node. If this node is a group node, visibility mode will be apply to all children. /// \param input nodeName : name of the node. /// \param input visibilityMode : visibility mode can be "ON", "OFF" or "ALWAYS_ON_TOP". diff --git a/src/GraphicalInterface.impl.cpp b/src/GraphicalInterface.impl.cpp index a68263362e4ac48dc177f7cd480b1b4556adbc08..474b04979abe3f2daf645dd6a3fa2215dbda79aa 100644 --- a/src/GraphicalInterface.impl.cpp +++ b/src/GraphicalInterface.impl.cpp @@ -551,6 +551,29 @@ bool GraphicalInterface::applyConfiguration(const char* nodeNameCorba, const dou } } +bool GraphicalInterface::addLandmark(const char* nodeNameCorba, float size) +{ + const std::string nodeName(nodeNameCorba); + if (nodes_.find(nodeName) == nodes_.end()) { + std::cout << "Node \"" << nodeName << "\" doesn't exist." << std::endl; + return false; + } + nodes_[nodeName]->addLandmark(size); + return true; +} + + +bool GraphicalInterface::deleteLandmark(const char* nodeNameCorba) +{ + const std::string nodeName(nodeNameCorba); + if (nodes_.find(nodeName) == nodes_.end()) { + std::cout << "Node \"" << nodeName << "\" doesn't exist." << std::endl; + return false; + } + nodes_[nodeName]->deleteLandmark(); + return true; +} + bool GraphicalInterface::setVisibility(const char* nodeNameCorba, const char* visibilityModeCorba) { const std::string nodeName(nodeNameCorba); diff --git a/src/GraphicalInterface.impl.hh b/src/GraphicalInterface.impl.hh index 58e52233b4192c8c0297a73f52d78e68c4b80120..2d127b2bfc50ce5f2ee7afdd3a5d1d9012f002ba 100644 --- a/src/GraphicalInterface.impl.hh +++ b/src/GraphicalInterface.impl.hh @@ -117,6 +117,9 @@ public: virtual bool applyConfiguration(const char* nodeNameCorba, const double* configuration) ; + virtual bool addLandmark(const char* nodeNameCorba, float size); + virtual bool deleteLandmark(const char* nodeNameCorba); + virtual bool setVisibility(const char* nodeNameCorba, const char* visibilityModeCorba) ; virtual bool setWireFrameMode(const char* nodeNameCorba, const char* wireFrameModeCorba) ; virtual bool setLightingMode(const char* nodeNameCorba, const char* lightingModeCorba) ;