diff --git a/CMakeLists.txt b/CMakeLists.txt index 1883733bbb9302452b77318ccefce5d1b89afce9..10866526532bb2b29e149995a69d216229b7382f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -97,9 +97,7 @@ IF(NOT CLIENT_ONLY) # }}} # {{{ Set list of headers - SET (${PROJECT_NAME}_HEADERS - ${CMAKE_SOURCE_DIR}/include/gepetto/viewer/corba/server.hh - ${CMAKE_SOURCE_DIR}/include/gepetto/viewer/corba/fwd.hh + LIST(APPEND ${PROJECT_NAME}_HEADERS ${CMAKE_SOURCE_DIR}/include/gepetto/gui/omniorb/url.hh ) # }}} diff --git a/doc/Doxyfile.extra.in b/doc/Doxyfile.extra.in index 6bcde28abc701b502cd7194b531b09459bd669d6..4521bc43ad0e381806b91d482f45bd1dc90b5db6 100644 --- a/doc/Doxyfile.extra.in +++ b/doc/Doxyfile.extra.in @@ -1,13 +1,9 @@ -FILE_PATTERNS = *.idl *.hh *.py *.idl *.dox +FILE_PATTERNS = *.idl *.hh *.py *.idl INPUT = @CMAKE_SOURCE_DIR@/include \ @CMAKE_SOURCE_DIR@/idl \ @CMAKE_SOURCE_DIR@/plugins \ - @CMAKE_SOURCE_DIR@/pyplugins \ @CMAKE_SOURCE_DIR@/src/gepetto\ @CMAKE_SOURCE_DIR@/doc EXAMPLE_PATH = @CMAKE_SOURCE_DIR@/examples -LAYOUT_FILE = @CMAKE_SOURCE_DIR@/doc/layout.xml - -TAGFILES += @QT_TAGFILES@ diff --git a/doc/cmake.dox b/doc/cmake.dox deleted file mode 100644 index 1b9781e96c55766ec8528efd686698e141594263..0000000000000000000000000000000000000000 --- a/doc/cmake.dox +++ /dev/null @@ -1,70 +0,0 @@ -/** - -\defgroup gepetto_viewer_corba_cmake_macros CMake macros -\{ - -\brief - -Here are some details on how to build and install plugins with CMake. - -\par Get the macro. - -\code{.py} -# Tells pkg-config to read qtversion and cmake_plugin from pkg config file. -LIST(APPEND PKG_CONFIG_ADDITIONAL_VARIABLES qtversion cmake_plugin) - -ADD_REQUIRED_DEPENDENCY("gepetto-viewer-corba") - -# Variable GEPETTO_VIEWER_CORBA_QTVERSION contains something like 4.8.1 or 5.2.1 - -# Include macro GEPETTO_GUI_PLUGIN -INCLUDE(${GEPETTO_VIEWER_CORBA_PREFIX}/${GEPETTO_VIEWER_CORBA_CMAKE_PLUGIN}) -\endcode - -\par Declare a C++ plugin: - -\code{.py} -GEPETTO_GUI_PLUGIN(pluginskeleton - # Use this option only if you write a plugin within - # gepetto-viewer-corba package - # INSIDE_GEPETTO_VIEWER_CORBA - - # Whether to use Qt4 or Qt5 - ${QT4} - - # List of headers that need not to be moced. - HEADERS_NO_MOC - - # List of headers to be moced - HEADERS - plugin.hh - - # List of Qt forms - FORMS - - # List of Qt resources - RESOURCES - - # List of source files - SOURCES - plugin.cc - - # List of dependencies to be given to TARGET_LINK_LIBRARIES - LINK_DEPENDENCIES - - # List of dependencies to be given to PKG_CONFIG_USE_DEPENDENCY - PKG_CONFIG_DEPENDENCIES - ) -\endcode - -\par Declare a Python plugin: - -\code{.py} -# pythonfile refers to the path to .py file from a -# path of PYTHONPATH -GEPETTO_GUI_PYPLUGIN (pythonfile) -\endcode - -\} - -*/ diff --git a/doc/footer.html b/doc/footer.html deleted file mode 100644 index 5a2c5ccbaa9d02fb4215a4d188b8654b62cdef81..0000000000000000000000000000000000000000 --- a/doc/footer.html +++ /dev/null @@ -1,10 +0,0 @@ -<br><br> -<hr> -<center> - <img src="$relpath$pictures/footer.jpg" height="100" alt="footer"> - <br>hpp-corbaserver library documentation</br> -</center> -<hr> -</center> -</body> -</html> diff --git a/doc/header.html b/doc/header.html deleted file mode 100644 index 41c1d88fd7142431ffce46e7132ca3f3735ab8f0..0000000000000000000000000000000000000000 --- a/doc/header.html +++ /dev/null @@ -1,6 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>$title</title> -<link href="$relpath$tabs.css" rel="stylesheet" type="text/css"> -<link href="$relpath$doxygen.css" rel="stylesheet" type="text/css"> -</head><body> diff --git a/doc/main.hh b/doc/main.hh index db31f10b2a38a9db94f58bc8257ddadfbeedeff2..068709872252dc9da01d8734eca5bec25a0c50c9 100644 --- a/doc/main.hh +++ b/doc/main.hh @@ -1,80 +1,23 @@ /** -\mainpage Gepetto Viewer +\mainpage CORBA interface of Gepetto Viewer -This package provides a graphical user interface to visualize robots. There are -two compatible interfaces to interact with the interface. -\li the CORBA interface with Python and C++ clients. -\li the graphical user interface. +This package implements a CORBA interface to \ref gepetto_viewer_index_html "gepetto-viewer". +Refers to its doc for further details on the interface itself. -To start the interface, use -\code{bash} gepetto-gui \endcode +\par Basic usage -To get some help on the command line options, use -\code{bash} gepetto-gui --help \endcode - -To get command line completion for `gepetto-gui` command, see package -https://github.com/humanoid-path-planner/hpp-tools. - -\section gepetto_gui_corba CORBA interface - -The IDL interface of the server is defined by gepetto::corbaserver::GraphicalInterface. +The IDL interface of the viewer is defined by gepetto::corbaserver::GraphicalInterface. +To create a client to the interface, you may use the following code. \code{py} -from gepetto.corbaserver import Client -client = Client () -# open a new window -client.gui.createWindow ("w") +from gepetto.corbaserver import gui_client +# Create a client to the GUI, a window name "w" and a group node "w". +# dont_raise if the GUI is not available (in which case gui will be None). +gui = gui_client(windowName = "w", dont_raise=True) # refer to the idl interface to control gepetto-viewer. \endcode -\section gepetto_gui_ui Graphical user interface - -\par Configuration files - -The interface can be customized using a few setting files. -See gepetto::gui::Settings::readSettingFile for more details on configuration files. - -To generate a new configuration use: -\code{bash} gepetto-gui -c newConfigName -g \endcode - -To use the configuration *config*: -\code{bash} gepetto-gui -c newConfigName \endcode - -\par Extending the interface - -There are two ways of extending the interface: Python and C++. Python -plugins are easier to write than C++ plugins, but they do not offer -full control of the interface (yet). - -See the \ref pluginlist for some examples. -Building and installing plugins is made easy with \ref gepetto_viewer_corba_cmake_macros. - -- *Python plugins* - See the documentation of gepetto::gui::PythonWidget for instructions - and examples of Python plugin usage. - - The Python console is a good tool for debugging. The following variables - are accessible: - + \c mainWindow: gepetto::gui::MainWindow - + \c osg: the widget responsible for the first created window (class gepetto::gui::OSGWidget) - -- *C++ Plugin* - See documentation of gepetto::gui::PluginInterface, for details on how to write a plugin. - -\defgroup pluginlist List of available plugins - -This is the list of available plugins. See each plugin to know how to activate it. - -\defgroup plugin Plugin interfaces -\{ -Interface of C++ and Python plugins. - - \defgroup plugin_cpp C++ Plugin API - Descriptions of the available interfaces. - - \defgroup plugin_python Python plugin API - These slots are available for Python scripting in plugins. -\} +Extra features can be found in gepetto.corbaserver.tools. */ diff --git a/doc/pictures/archi.fig b/doc/pictures/archi.fig deleted file mode 100644 index 01444ae0d16de164c2200320091d36e7dbacaefc..0000000000000000000000000000000000000000 --- a/doc/pictures/archi.fig +++ /dev/null @@ -1,81 +0,0 @@ -#FIG 3.2 -Portrait -Center -Metric -Letter -100.00 -Single --2 -1200 2 -6 7105 319 10699 967 -3 2 1 1 0 7 50 -1 -1 4.000 0 1 0 3 - 3 1 1.00 56.20 112.40 - 7105 658 8135 396 9128 967 - 0.000 -1.000 0.000 -4 0 0 50 -1 0 12 0.0000 4 180 1740 8959 574 dynamic library loading\001 --6 -6 7535 4772 9456 5019 -2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2 - 3 1 1.00 56.20 112.40 - 7535 4991 9456 4991 -4 0 0 50 -1 0 12 0.0000 4 180 1815 7638 4907 compilation dependence\001 --6 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 1351 1818 2192 1818 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 1351 2064 2192 2064 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 - 2106 1724 2368 1923 2131 2136 -2 2 0 2 0 7 50 -1 -1 0.000 0 0 7 0 0 5 - 2397 4277 4293 4277 4293 4951 2397 4951 2397 4277 -2 2 0 2 0 7 50 -1 -1 0.000 0 0 7 0 0 5 - 2397 3176 4293 3176 4293 3851 2397 3851 2397 3176 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 2385 1687 4296 1687 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 3294 1687 3294 2493 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 2385 1950 3294 1950 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 2376 2221 3284 2221 -2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 5291 2493 7211 2493 7211 1369 5291 1369 5291 2493 -2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 3 - 3 1 1.00 56.20 112.40 - 4293 3497 6213 3497 6213 2504 -2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2 - 3 1 1.00 56.20 112.40 - 3343 2504 3343 3178 -2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2 - 3 1 1.00 56.20 112.40 - 3343 3843 3343 4265 -2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 2385 2493 4306 2493 4306 1369 2385 1369 2385 2493 -2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 - 1998 949 4734 949 4734 5052 1998 5052 1998 949 -2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 8826 2493 10746 2493 10746 1369 8826 1369 8826 2493 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 3 1 1.00 60.00 120.00 - 7212 1913 8824 1913 -2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 - 1835 769 7355 769 7355 5159 1835 5159 1835 769 -2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2 - 3 1 1.00 60.00 120.00 - 5295 1919 4305 1919 -2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 1 3 - 3 1 1.00 60.00 120.00 - 4295 4609 9885 4609 9885 2499 -4 1 0 50 -1 0 14 0.0000 4 150 1080 3324 4694 KineoWorks\001 -4 0 0 50 -1 0 12 0.0000 4 90 480 2507 1865 server\001 -4 0 0 50 -1 0 12 0.0000 4 135 420 2507 2399 client\001 -4 0 0 50 -1 0 12 0.0000 4 180 735 2507 2146 clientHpp\001 -4 0 0 50 -1 0 14 0.0000 4 150 1215 2092 1202 Corba module\001 -4 1 0 50 -1 0 14 0.0000 4 195 1200 6162 1622 Kpp Interface\001 -4 1 0 50 -1 0 14 0.0000 4 150 1380 3256 1622 Corba Interface\001 -4 1 0 50 -1 0 14 0.0000 4 195 990 3294 3579 HPP library\001 -4 1 0 50 -1 0 14 0.0000 4 150 1560 9776 1622 KineoPathPlanner\001 -4 0 0 50 -1 0 12 0.0000 4 135 1215 7476 1793 initializeModule\001 -4 0 0 50 -1 0 12 0.0000 4 135 450 1376 1997 Corba\001 -4 0 0 50 -1 0 14 0.0000 4 150 1065 5012 1092 KPP module\001 -4 0 0 50 -1 0 12 0.0000 4 135 1350 4806 3406 send notifications\001 diff --git a/doc/pictures/archi.pdf b/doc/pictures/archi.pdf deleted file mode 100644 index badaea5bf50bdaaa1d9a7a437b7f566db309cb12..0000000000000000000000000000000000000000 Binary files a/doc/pictures/archi.pdf and /dev/null differ diff --git a/doc/pictures/archi.png b/doc/pictures/archi.png deleted file mode 100644 index 582d75a0d0dd4aac8860c7408f8aebb95e659903..0000000000000000000000000000000000000000 Binary files a/doc/pictures/archi.png and /dev/null differ diff --git a/doc/pictures/footer.jpg b/doc/pictures/footer.jpg deleted file mode 100644 index 377681b20575b32c765e0ad9403723a0e3ea5c75..0000000000000000000000000000000000000000 Binary files a/doc/pictures/footer.jpg and /dev/null differ diff --git a/idl/gepetto/viewer/graphical-interface.idl b/idl/gepetto/viewer/graphical-interface.idl index 9755616fa0f016b3ed115c8c5dbfee696befad24..09f4fdcf9fce9fa43ad8d0188f015ec91eb3803f 100644 --- a/idl/gepetto/viewer/graphical-interface.idl +++ b/idl/gepetto/viewer/graphical-interface.idl @@ -21,7 +21,7 @@ typedef float Transform [7]; typedef float Vector2 [2]; typedef float Position [3]; typedef float Color [4]; -typedef unsigned long WindowID; +typedef string WindowID; typedef sequence <string> Names_t; /// Sequence of names typedef sequence<float> floatSeq; typedef sequence<Position> PositionSeq; @@ -46,35 +46,38 @@ typedef sequence<Transform> TransformSeq; /// \anchor idl_windows_and_scenes /// \{ - /// Create a new window. - /// \param input name : name of the new window. - /// return the ID of the newly create window. - unsigned long createWindow(in string name) raises (Error); - unsigned long getWindowID (in string name) raises (Error); + /// Create a new window if it does not already exists. + /// \param name : name of the new window. + /// return the value provided as input argument. + WindowID createWindow(in string name) raises (Error); + + /// \deprecated Line `windowId = gui.getWindowID(name)` can be replaced + /// by `windowId = name`. + WindowID getWindowID (in string name) raises (Error); /// change the background color1 - /// \param input windowId : ID of the window - /// \param input RGBAcolor : desired color - boolean setBackgroundColor1(in unsigned long windowId,in Color RGBAcolor); + /// \param wid : ID of the window + /// \param RGBAcolor : desired color + boolean setBackgroundColor1(in WindowID wid,in Color RGBAcolor); /// change the background color2 - /// \param input windowId : ID of the window - /// \param input RGBAcolor : desired color - boolean setBackgroundColor2(in unsigned long windowId,in Color RGBAcolor); + /// \param wid : ID of the window + /// \param RGBAcolor : desired color + boolean setBackgroundColor2(in WindowID wid,in Color RGBAcolor); /// Create a group node. - /// \param input sceneName : name of the group. + /// \param sceneName : name of the group. void createScene(in string sceneName) raises (Error); /// Create a group node and a GroudNode ("sceneName/floor") as child - /// \param input sceneName : name of the group + /// \param sceneName : name of the group void createSceneWithFloor(in string sceneName) raises (Error); /// Add groupNode sceneName to the WindowManager windowName so /// sceneName and all its children will be displayed in the window windowName. - /// \param input sceneName : name of the groupNode. - /// \param input windowId : ID of rhe window. - boolean addSceneToWindow(in string sceneName, in unsigned long windowId) raises (Error); + /// \param sceneName : name of the groupNode. + /// \param wid : ID of rhe window. + boolean addSceneToWindow(in string sceneName, in WindowID wid) raises (Error); /// \} @@ -83,122 +86,114 @@ typedef sequence<Transform> TransformSeq; /// \{ /// create a floor called floorName. - /// \param input floorName : name of the floor. + /// \param floorName : name of the floor. boolean addFloor(in string floorName) raises (Error); /// create a box called boxName. - /// \param input boxName : name of the box. - /// \param input boxSize1 : lenght of the box (x axis). - /// \param input boxSize2 : lenght of the box (y axis). - /// \param input boxSize3 : lenght of the box (z axis). - /// \param input RGBAcolor : Color of the box. + /// \param boxName : name of the box. + /// \param boxSize1 : lenght of the box (x axis). + /// \param boxSize2 : lenght of the box (y axis). + /// \param boxSize3 : lenght of the box (z axis). + /// \param RGBAcolor : Color of the box. boolean addBox(in string boxName, in float boxSize1, in float boxSize2, in float boxSize3, in Color RGBAcolor) raises (Error); /// create a box called CapsuleName. - /// \param input CapsuleName : name of the capsule. - /// \param input radius : radius of the capsule. - /// \param input height : lenght of the segment that generates the capsule. - /// \param input RGBAcolor : Color of the capsule. - boolean addCapsule(in string capsuleName, in float radius, in float height, in Color RGBAcolorid) raises (Error); + /// \param name : name of the capsule. + /// \param radius : radius of the capsule. + /// \param height : lenght of the segment that generates the capsule. + /// \param RGBAcolor : Color of the capsule. + boolean addCapsule(in string name, in float radius, in float height, in Color RGBAcolor) raises (Error); /// create a box called CapsuleName. - /// \param input CapsuleName : name of the arrow. - /// \param input radius : radius of the arrow - /// \param input length : lenght of the arrow - /// \param input RGBAcolor : Color of the capsule. - boolean addArrow(in string arrowName, in float radius, in float length, in Color RGBAcolorid) raises (Error); + /// \param name : name of the arrow. + /// \param radius : radius of the arrow + /// \param length : lenght of the arrow + /// \param RGBAcolor : Color of the capsule. + boolean addArrow(in string name, in float radius, in float length, in Color RGBAcolor) raises (Error); - boolean addRod(in string rodName, in Color RGBAcolorid, in float radius, in float totalLength,in short maxCapsule) raises (Error); + boolean addRod(in string rodName, in Color RGBAcolor, in float radius, in float totalLength,in short maxCapsule) raises (Error); /// resize the capsule CapsuleName. - /// \param input CapsuleName : name of the capsule. - /// \param input height : lenght of the segment that generates the capsule. + /// \param CapsuleName : name of the capsule. + /// \param height : lenght of the segment that generates the capsule. boolean resizeCapsule(in string capsuleName,in float height) raises (Error); boolean resizeArrow(in string capsuleName,in float radius, in float length) raises (Error); /// create a node to display a mesh (works for .dae, .obj and some other formats) - /// \param input meshName : name of the new meshNode. - /// \param input meshPath : full path to the mesh file. + /// \param meshName : name of the new meshNode. + /// \param meshPath : full path to the mesh file. boolean addMesh(in string meshName, in string meshPath) raises (Error); /// Remove light sources from mesh - /// \param input meshName : name of the new meshNode. + /// \param meshName : name of the new meshNode. void removeLightSources(in string meshName) raises (Error); - /// create a node to display a mesh (works for .dae, .obj and some other formats) - /// \param input meshName : name of the new meshNode. - /// \param input meshPath : full path to the mesh file. - boolean addCone(in string coneName, in float radius, in float height, in Color RGBAcolor) raises (Error); - - /// create a Cyllinder called cylinderName - /// \param input cylinderName : name of the cylinder. - /// \param input radius : radius of the cylinder. - /// \param input height : lenght of the cylinder. - /// \param input RGBAcolor : color of the cylinder. + /// create a Cone + boolean addCone(in string name, in float radius, in float height, in Color RGBAcolor) raises (Error); + + /// create a Cylinder boolean addCylinder(in string cylinderName, in float radius, in float height, in Color RGBAcolor) raises (Error); - /// create a sphere called sphereName - /// \param input sphereName : name of the sphere. - /// \param input radius : radius of the sphere. - /// \param input RGBAcolor : color of the sphere. + /// create a Sphere boolean addSphere(in string sphereName, in float radius, in Color RGBAcolor) raises (Error); - /// create a light called lightName - /// \param input lightName : name of the light. - /// \param input radius : radius of the bulb showing the light. - /// \param input RGBAcolor : color of the light. + /// create a light + /// \param lightName : name of the light. + /// \param wid : ID of the window. + /// \param radius : radius of the bulb showing the light. + /// \param RGBAcolor : color of the light. boolean addLight(in string lightName, in WindowID wid, in float radius, in Color RGBAcolor) raises (Error); /// create a line called lineName. - /// \param input lineName : name of the line. - /// \param input pos1 : position one extremity of the line. - /// \param input pos2 : position the other extremity of the line. - /// \param input RGBAcolor : color of the line. + /// \param lineName : name of the line. + /// \param pos1 : position one extremity of the line. + /// \param pos2 : position the other extremity of the line. + /// \param RGBAcolor : color of the line. boolean addLine(in string lineName, in Position pos1, in Position pos2, in Color RGBAcolor) raises (Error); /// change starting point position of a line. - /// \param input lineName : name of the line. - /// \param input pos1 : position of the first extremity of the line. + /// \param lineName : name of the line. + /// \param pos1 : position of the first extremity of the line. boolean setLineStartPoint(in string lineName, in Position pos1) raises (Error); /// change terminal point position of a line. - /// \param input lineName : name of the line. - /// \param input pos2 : position of the second extremity of the line. + /// \param lineName : name of the line. + /// \param pos2 : position of the second extremity of the line. boolean setLineEndPoint(in string lineName, in Position pos2) raises (Error); /// change extremity positions of a line. - /// \param input lineName : name of the line. - /// \param input pos1 : position one extremity of the line. - /// \param input pos2 : position of the second extremity of the line. + /// \param lineName : name of the line. + /// \param pos1 : position one extremity of the line. + /// \param pos2 : position of the second extremity of the line. boolean setLineExtremalPoints(in string lineName, in Position pos1, in Position pos2) raises (Error); /// create a curve called curveName. /// The curve is the graph of the piecewise linear interpolation between each consecutive pos. - /// \param input lineName : name of the line. - /// \param input pos : waypoints of the curve. - /// \param input RGBAcolor : color of the line. - boolean addCurve(in string curveName, in PositionSeq pos, in Color RGBAcolor) raises (Error); + /// \param name : name of the line. + /// \param pos : waypoints of the curve. + /// \param RGBAcolor : color of the line. + boolean addCurve(in string name, in PositionSeq pos, in Color RGBAcolor) raises (Error); /// set points of a curve called curveName. - /// \param input lineName : name of the line. - /// \param input pos : waypoints of the curve. - boolean setCurvePoints(in string curveName, in PositionSeq pos) raises (Error); + /// \param name : name of the line. + /// \param pos : waypoints of the curve. + boolean setCurvePoints(in string name, in PositionSeq pos) raises (Error); /// \param mode The list of possible GL modes is provided in /// gepetto::viewer::WindowsManager::setCurveMode. /// From the GL modes, remove "GL_" and put it lower case. - boolean setCurveMode (in string curveName, in string mode) raises (Error); + boolean setCurveMode (in string name, in string mode) raises (Error); boolean setCurvePointsSubset (in string curveName, in long first, in long count) raises (Error); boolean setCurveLineWidth (in string curveName, in float width) raises (Error); /// create a four vertices face called faceName. - /// \param input faceName : name of the face. - /// \param input pos1, pos2, pos3, pos4 : position of the vertices. - /// \param input RGBAcolor : color of the face. + /// \param faceName : name of the face. + /// \param pos1, pos2, pos3, pos4 : position of the vertices. + /// \param RGBAcolor : color of the face. boolean addSquareFace(in string faceName, in Position pos1, in Position pos2, in Position pos3, in Position pos4, in Color RGBAcolor) raises (Error); /// Set a texture to a face @@ -208,37 +203,37 @@ typedef sequence<Transform> TransformSeq; boolean setTexture (in string nodeName, in string filename) raises (Error); /// create a three vertices face called faceName. - /// \param input faceName : name of the face. - /// \param input pos1, pos2, pos3 : position of the vertices. - /// \param input RGBAcolor : color of the face. + /// \param faceName : name of the face. + /// \param pos1, pos2, pos3 : position of the vertices. + /// \param RGBAcolor : color of the face. boolean addTriangleFace(in string faceName, in Position pos1, in Position pos2, in Position pos3, in Color RGBAcolor) raises (Error); // Add a sphere with xyz axis // The colors are x=red, y=green, z=blue (xyz=RGB) - // \param input nodeName : name of the node - // \param input RGBAcolor : color of the sphere - // \param input radius : radius of the sphere - // \param input sizeAxis : size of the axis (proportionnaly to the sphere radius, size axis = 1 -> axis are radius*4 in length and radius/4 in radius) + // \param nodeName : name of the node + // \param RGBAcolor : color of the sphere + // \param radius : radius of the sphere + // \param sizeAxis : size of the axis (proportionnaly to the sphere radius, size axis = 1 -> axis are radius*4 in length and radius/4 in radius) boolean addXYZaxis(in string nodeName, in Color RGBAcolor,in float radius,in float sizeAxis) raises(Error); // Add an empty roadmap to the scene - // \param input nameCorba : name of the roadmap - // \param input RGBAcolorNode : color of the sphere - // \param input radius : radius of the sphere - // \param input sizeAxis :size of the axis (proportionnaly to the sphere radius, size axis = 1 -> axis are radius*4 in length and radius/4 in radius) - // \param input RGBAcolorEdge : color of the edges + // \param nameCorba : name of the roadmap + // \param RGBAcolorNode : color of the sphere + // \param radius : radius of the sphere + // \param sizeAxis :size of the axis (proportionnaly to the sphere radius, size axis = 1 -> axis are radius*4 in length and radius/4 in radius) + // \param RGBAcolorEdge : color of the edges boolean createRoadmap(in string nameCorba,in Color RGBAcolorNode, in float radius, in float sizeAxis, in Color RGBAcolorEdge) raises(Error); // Add an edge to the roadmap - // \param input nameRoadmap : name of the roadmap - // \param input posFrom : position of the beginning of the edge - // \param input posTo : position of the end of the edge (not oriented edge, order doesn't matter) + // \param nameRoadmap : name of the roadmap + // \param posFrom : position of the beginning of the edge + // \param posTo : position of the end of the edge (not oriented edge, order doesn't matter) boolean addEdgeToRoadmap(in string nameRoadmap, in Position posFrom, in Position posTo)raises(Error); // Add a node to the roadmap - // \param input nameRoadmap : name of the roadmap - // \param input configuration : configuration of the node + // \param nameRoadmap : name of the roadmap + // \param configuration : configuration of the node boolean addNodeToRoadmap(in string nameRoadmap, in Transform configuration)raises(Error); /// Create a node from an urdf file @@ -282,7 +277,7 @@ typedef sequence<Transform> TransformSeq; raises (Error); /// create a groupNode called groupName - /// \param input groupName : name of the group. + /// \param groupName : name of the group. boolean createGroup(in string groupName) raises (Error); /// \} @@ -300,15 +295,11 @@ typedef sequence<Transform> TransformSeq; /// are deleted recursively. void deleteNode (in string nodeName, in boolean all) raises (Error); - /// Print names of nodes on the SceneViewer-corbaserver terminal - /// and return them in an array - /// \return the list of node names contained in the scene + /// Returns the name of all the nodes. Names_t getNodeList() raises (Error); - /// Print names of a group nodes on the SceneViewer-corbaserver terminal - /// and return them in an array - /// \param input name : name of the new window. - /// \return the list of node names contained in the group + /// Returns the name of the Group nodes contained in a group + /// \param group : name of the group. Names_t getGroupNodeList(in string group) raises (Error); /// Get the list of group (i.e. scene) nodes @@ -318,13 +309,13 @@ typedef sequence<Transform> TransformSeq; Names_t getWindowList() raises (Error); /// set a node as child to a group node. - /// \param input nodeName : name of the child node. - /// \param input groupName : name of the mother node (=group node). + /// \param nodeName : name of the child node. + /// \param groupName : name of the mother node (=group node). boolean addToGroup(in string nodeName, in string groupName) raises (Error); /// remove the node from the child list of a group node. - /// \param input nodeName : name of the child node. - /// \param input groupName : name of the mother node (=group node). + /// \param nodeName : name of the child node. + /// \param groupName : name of the mother node (=group node). boolean removeFromGroup(in string nodeName, in string groupName) raises (Error); /// \} @@ -334,8 +325,8 @@ typedef sequence<Transform> TransformSeq; /// \{ /// Set a new configuration to a node. THIS CONFIGURATION WILL AFFECTIVE ONLY AFTER CALLING REFRESH FUNCTION!!! - /// \param input nodeName : name of the node. - /// \param input configuration : Float[7] new configuration. + /// \param nodeName : name of the node. + /// \param configuration : Float[7] new configuration. boolean applyConfiguration(in string nodeName, in Transform configuration) raises (Error); /// Same as \ref applyConfiguration on a list of node name and configuration. @@ -351,7 +342,7 @@ typedef sequence<Transform> TransformSeq; void setRefreshIsSynchronous (in boolean synchonous) raises (Error); /// Return the Position + Quaternion orientation of an object in the global frame - /// \param input nodeName : name of the node. + /// \param nodeName : name of the node. /// \return a length 7 array Transform getNodeGlobalTransform(in string nodeName) raises (Error); @@ -363,51 +354,51 @@ typedef sequence<Transform> TransformSeq; /// Add Landmark at the center of a node /// The colors are x=red, y=green, z=blue (xyz=RGB). - /// \param input nodeName : name of the node - /// \param input size : lenght of axises. + /// \param nodeName : name of the node + /// \param size : lenght of axises. boolean addLandmark(in string nodeName, in float size) raises (Error); /// delete Landmark of a node. - /// \param input nodeName : name of the node + /// \param nodeName : name of the node boolean deleteLandmark(in string nodeName) raises (Error); /// get the static transform of the node - /// \param input nodeName : name of the node + /// \param nodeName : name of the node Transform getStaticTransform(in string nodeName) raises (Error); /// set the static transform of the node - /// \param input nodeName : name of the node - /// \param input configuration : static configuration of the node + /// \param nodeName : name of the node + /// \param configuration : static configuration of the node boolean setStaticTransform(in string nodeName, in Transform configuration) raises (Error); /// 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". + /// \param nodeName : name of the node. + /// \param visibilityMode : visibility mode can be "ON", "OFF" or "ALWAYS_ON_TOP". boolean setVisibility(in string nodeName, in string visibilityMode) raises (Error); - /// Change the scale of a node. - /// \param input nodeName : name of the node. - /// \param input scale : new scale + /// Change the scale of a node. + /// \param nodeName : name of the node. + /// \param scale : new scale boolean setScale(in string nodeName, in Position scale) raises (Error); - /// Change the color of a node. - /// \param input nodeName : name of the node. - /// \param input color : new color + /// Change the color of a node. + /// \param nodeName : name of the node. + /// \param color : new color boolean setColor(in string nodeName, in Color scale) raises (Error); /// Change wireframe mode of a node. If this node is a group node, wireframe mode will be apply to all children. - /// \param input nodeName : name of the node. - /// \param input wireframeMode : wiredframe mode can be "FILL", "WIREFRAME" or "FILL_AND_WIREFRAME". + /// \param nodeName : name of the node. + /// \param wireframeMode : wiredframe mode can be "FILL", "WIREFRAME" or "FILL_AND_WIREFRAME". boolean setWireFrameMode(in string nodeName, in string wireFrameMode) raises (Error); /// Change lighting mode of a node. If this node is a group node, lighting mode will be apply to all children. - /// \param input nodeName : name of the node. - /// \param input lightingMode : lighting mode can be "ON" or "OFF". + /// \param nodeName : name of the node. + /// \param lightingMode : lighting mode can be "ON" or "OFF". boolean setLightingMode(in string nodeName, in string lightingMode) raises (Error); /// Change the highlight status - /// \param input nodeName : name of the node. - /// \param input state : 0 for off, 1 or 2 for other things. + /// \param nodeName : name of the node. + /// \param state : 0 for off, 1 or 2 for other things. boolean setHighlight (in string nodeName, in long state) raises (Error); Names_t getPropertyNames(in string nodeName) raises (Error); @@ -439,15 +430,15 @@ typedef sequence<Transform> TransformSeq; /// \name Export of scenes to images or to blender /// \anchor idl_export_of_scenes_to_images_or_to_blender - /// See \ref gepetto.gui.Plugin + /// See \ref gepetto.gui.blenderexport.Plugin /// \{ void captureFrame (in WindowID wid, in string imageFilename) raises (Error); /// Start capturing a window into image files. - /// \param windowId the ID of the window + /// \param wid the ID of the window /// \param filename, extension image files will be - /// '<filename>_<sequence_number>.<extension>' + /// `<filename>_<sequence_number>.<extension>` /// /// To make a movie from the sequence of images, you can run: /// \code{.sh} @@ -457,11 +448,11 @@ typedef sequence<Transform> TransformSeq; /// - \c libx264 is not installed by default. On ubuntu 12.04, /// it is part of the package \c libavcodec-extra-53. /// - \c yuv420p is required only to enable support for old media players. - boolean startCapture (in unsigned long windowId, in string filename, + boolean startCapture (in WindowID wid, in string filename, in string extension) raises (Error); /// Stop the running capture of a window. - boolean stopCapture (in unsigned long windowId) raises (Error); + boolean stopCapture (in WindowID wid) raises (Error); /// Configure the capture of node transformation in YAML format /// \param filename file where to write. @@ -486,7 +477,7 @@ typedef sequence<Transform> TransformSeq; boolean writeNodeFile (in string nodeName, in string filename) raises (Error); /// Write the nodes contained in the window to filename - boolean writeWindowFile (in unsigned long windowId, in string filename) raises (Error); + boolean writeWindowFile (in WindowID wid, in string filename) raises (Error); /// \} @@ -495,31 +486,31 @@ typedef sequence<Transform> TransformSeq; /// \{ /// Attach the camera to the Node nodeName in the WindowManager - /// pointed by windowId + /// pointed by wid /// If already attached, detach from the other node - /// \param input nodeName : name of the node - /// \param input windowId : ID of the window - boolean attachCameraToNode(in string nodeName, in unsigned long windowId) raises (Error); + /// \param nodeName : name of the node + /// \param wid : ID of the window + boolean attachCameraToNode(in string nodeName, in WindowID wid) raises (Error); - /// Detach the camera of WindowManager pointed by windowId + /// Detach the camera of WindowManager pointed by wid /// from any node - /// \param input windowId : ID of the window - boolean detachCamera(in unsigned long windowId) raises (Error); + /// \param wid : ID of the window + boolean detachCamera(in WindowID wid) raises (Error); /// get the matrix transform of the current position of the camera /// Camera frame convention (OpenSceneGraph): looking through the optic axis as a photographer, /// axis are: X -> right, Y -> up, Z -> behind /// It corresponds to Hartley and Zisserman's frame convention with a 180° rotation around the Y axis - /// \param input windowId : ID of the window - Transform getCameraTransform(in unsigned long windowId) raises (Error); + /// \param wid : ID of the window + Transform getCameraTransform(in WindowID wid) raises (Error); /// set the matrix transform of the current camera /// Camera frame convention (OpenSceneGraph): looking through the optic axis as a photographer, /// axis are: X -> right, Y -> up, Z -> behind /// It corresponds to Hartley and Zisserman's frame convention with a 180° rotation around the Y axis - /// \param input windowId : ID of the window - /// \param input configuration : the desired configuration of the camera - boolean setCameraTransform(in unsigned long windowId,in Transform configuration) raises (Error); + /// \param wid : ID of the window + /// \param configuration : the desired configuration of the camera + boolean setCameraTransform(in WindowID wid, in Transform configuration) raises (Error); // register a Node callback boolean registerNodeCallback (in NodeCallback cb) raises (Error); diff --git a/include/gepetto/viewer/corba/fwd.hh b/include/gepetto/viewer/corba/fwd.hh deleted file mode 100644 index 55fe502328e3b48c746d8ab2ba4c30482a44e90f..0000000000000000000000000000000000000000 --- a/include/gepetto/viewer/corba/fwd.hh +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (C) 2014 LAAS-CNRS. -// -// This file is part of the SceneViewer-corba. -// -// This software is provided "as is" without warranty of any kind, -// either expressed or implied, including but not limited to the -// implied warranties of fitness for a particular purpose. -// -// See the COPYING file for more information. - -#ifndef SCENEVIEWER_CORBASERVER_FWD_HH -# define SCENEVIEWER_CORBASERVER_FWD_HH - -//FIXME: should be replaced by CORBA base types forward declarations. -# include <omniORB4/CORBA.h> - -namespace gepetto { - namespace viewer { - namespace corba { - class Server; - - namespace impl - { - using CORBA::Boolean; - using CORBA::Double; - using CORBA::Short; - using CORBA::SystemException; - using CORBA::ULong; - using CORBA::UShort; - - class GraphicalInterface; - class Server; - } // end of namespace impl - } // end of namespace corba. - } // end of namespace viewer. -} // end of namespace gepetto. - -#endif //! SCENEVIEWER_CORBASERVER_FWD_HH diff --git a/plugins/omniorbserver/omniorbthread.cc b/plugins/omniorbserver/omniorbthread.cc index dcc2cb99c6cd9bbfdd9f516dd8217a719adf2f7a..99d7794ed9f60c6dd95360c0a0aca478c492b55b 100644 --- a/plugins/omniorbserver/omniorbthread.cc +++ b/plugins/omniorbserver/omniorbthread.cc @@ -16,7 +16,7 @@ #include "omniorbthread.hh" -#include <gepetto/viewer/corba/server.hh> +#include "../../src/server.hh" #include <QDebug> #include <gepetto/gui/mainwindow.hh> diff --git a/plugins/omniorbserver/omniorbthread.hh b/plugins/omniorbserver/omniorbthread.hh index 2259ad6cfc6888e7c02192b0255f4bf77b2279ea..4af713859100ac4a94024d0a29aa8488ab17c19e 100644 --- a/plugins/omniorbserver/omniorbthread.hh +++ b/plugins/omniorbserver/omniorbthread.hh @@ -25,7 +25,7 @@ #include <QElapsedTimer> #include "gepetto/gui/fwd.hh" -#include "gepetto/viewer/corba/fwd.hh" +#include "../../src/server.hh" class ViewerServerProcess : public QThread { diff --git a/plugins/omniorbserver/plugin.cc b/plugins/omniorbserver/plugin.cc index eb369462f6141d8cbd6d9e923250a90e4f6f8454..f92ffd7aef87bc9b408b0a24096122026a809439 100644 --- a/plugins/omniorbserver/plugin.cc +++ b/plugins/omniorbserver/plugin.cc @@ -18,12 +18,14 @@ #include <plugin.hh> +#include <omniORB4/CORBA.h> + #include <gepetto/gui/mainwindow.hh> #include <gepetto/gui/settings.hh> #include <gepetto/gui/safeapplication.hh> -#include <gepetto/viewer/corba/server.hh> #include <omniorbthread.hh> +#include "../../src/server.hh" using namespace gepetto::gui; diff --git a/src/conversions.hh b/src/conversions.hh index 82a4738f3d54ea4833c99bb4ce4729deeea8c2da..3e72a9ef876d7d3fc899acb860afc99da8fa218a 100644 --- a/src/conversions.hh +++ b/src/conversions.hh @@ -12,7 +12,12 @@ namespace gepetto { namespace viewer { namespace corba { namespace impl { - typedef GraphicalInterface::WindowID WindowID; + using CORBA::Boolean; + using CORBA::Double; + using CORBA::Short; + using CORBA::SystemException; + using CORBA::ULong; + using CORBA::UShort; template <typename Input, typename Output> void to (const Input& in, Output& out) { @@ -44,8 +49,8 @@ namespace gepetto { enum ArgType { STRING, STRING_LIST, OUT_STRING_LIST, COLOR, TRANSFORM, TRANSFORM_SEQ, POSITION, POSITION_SEQ, - FLOAT, SHORT, LONG, WINDOW_ID, BOOL, VOID, - GLMODE, VECTOR2 + FLOAT, SHORT, LONG, BOOL, VOID, + GLMODE, VECTOR2, WINDOW_ID = STRING }; template <int what> struct traits {}; @@ -138,13 +143,6 @@ namespace gepetto { static int op (const In_t& in) { return in; } static Ret_t ret (Out_t in) { return in; } }; - template <> struct traits<WINDOW_ID> { - typedef WindowsManager::WindowID Out_t; - typedef const WindowID In_t; - typedef WindowID Ret_t; - static Out_t op (In_t & in) { return in; } - static Ret_t ret (Out_t in) { return in; } - }; template <> struct traits<BOOL> { typedef bool In_t; typedef In_t Out_t; diff --git a/src/gepetto/corbaserver/client.py b/src/gepetto/corbaserver/client.py index 7a60631f906fd68515e24d73dd03310b88f3b077..2d0439a22cdc6c9082f218338e1add5661445e29 100644 --- a/src/gepetto/corbaserver/client.py +++ b/src/gepetto/corbaserver/client.py @@ -83,12 +83,7 @@ def gui_client(window_name = None, dont_raise = False, url = None, host = None, print("Check whether gepetto-gui is properly started.") return if window_name is not None: - if window_name in gui.getWindowList(): - window_id = gui.getWindowID(window_name) - else: - window_id = gui.createWindow(window_name) - #TODO Should we return the window ID ? - # I think it is useless at it is almost never used. + gui.createWindow(window_name) return gui def _initWithNameService (orb, urlNameService): diff --git a/src/gepetto/corbaserver/tools.py b/src/gepetto/corbaserver/tools.py index 1c84b319680941f0ca7e76b642f1bae2e795b222..986e4468f59ac2600eb083d0b4d8d99e470b04ae 100644 --- a/src/gepetto/corbaserver/tools.py +++ b/src/gepetto/corbaserver/tools.py @@ -162,6 +162,10 @@ class Vector6: ## - Vector6.linF ## - Vector6.angF ## \param groupName name of an **existing** group + ## \param angFactor the norm of the angular part of the vector is divided by + ## this value + ## \param linFactor the norm of the linear part of the vector is divided by + ## this value def __init__ (self, groupName, angFactor = pi, linFactor = 1.): self.name = groupName ## The Linear part diff --git a/src/graphical-interface.impl.cpp b/src/graphical-interface.impl.cpp index 7a316a4a5f63717fecaee29ab82e49153e09d287..f9517a21e5e942a1e6fa27656442fe90dee81657 100644 --- a/src/graphical-interface.impl.cpp +++ b/src/graphical-interface.impl.cpp @@ -57,27 +57,27 @@ namespace gepetto { #define WRITE_OP_ARGS_6(T0,T1,T2,T3,T4,T5) WRITE_OP_ARGS_5(T0,T1,T2,T3,T4), WRITE_OP_ARG(T5,5) #define BIND_TO_WINDOWS_MANAGER_0(Ret, Func ) \ - WRITE_RET_T(Ret) GraphicalInterface::Func ( ) throw (Error) \ + WRITE_RET_T(Ret) GraphicalInterface::Func ( ) \ { \ try { \ - WRITE_RET_OP(Ret)( windowsManager_->Func ( )); \ + WRITE_RET_OP(Ret)( windowsManager_->Func ( )); \ } catch (const std::exception& exc) { \ throw Error (exc.what ()); \ } \ } -#define BIND_TO_WINDOWS_MANAGER_1(Ret, Func, T0) \ - WRITE_RET_T(Ret) GraphicalInterface::Func (WRITE_INPUT_ARGS_1(T0)) throw (Error) \ +#define BIND_TO_WINDOWS_MANAGER_1(Ret, Func, T0) \ + WRITE_RET_T(Ret) GraphicalInterface::Func (WRITE_INPUT_ARGS_1(T0)) \ { \ try { \ - WRITE_RET_OP(Ret)( windowsManager_->Func ( WRITE_OP_ARGS_1(T0) )); \ + WRITE_RET_OP(Ret)( windowsManager_->Func ( WRITE_OP_ARGS_1(T0) )); \ } catch (const std::exception& exc) { \ throw Error (exc.what ()); \ } \ } #define BIND_TO_WINDOWS_MANAGER_2(Ret, Func, T0, T1) \ - WRITE_RET_T(Ret) GraphicalInterface::Func (WRITE_INPUT_ARGS_2(T0, T1)) throw (Error) \ + WRITE_RET_T(Ret) GraphicalInterface::Func (WRITE_INPUT_ARGS_2(T0, T1)) \ { \ try { \ WRITE_RET_OP(Ret)( windowsManager_->Func ( WRITE_OP_ARGS_2(T0, T1) ));\ @@ -86,8 +86,8 @@ namespace gepetto { } \ } -#define BIND_TO_WINDOWS_MANAGER_3(Ret, Func, T0, T1, T2) \ - WRITE_RET_T(Ret) GraphicalInterface::Func (WRITE_INPUT_ARGS_3(T0, T1, T2)) throw (Error) \ +#define BIND_TO_WINDOWS_MANAGER_3(Ret, Func, T0, T1, T2) \ + WRITE_RET_T(Ret) GraphicalInterface::Func (WRITE_INPUT_ARGS_3(T0, T1, T2)) \ { \ try { \ WRITE_RET_OP(Ret)( windowsManager_->Func ( WRITE_OP_ARGS_3(T0, T1, T2) ));\ @@ -96,8 +96,8 @@ namespace gepetto { } \ } -#define BIND_TO_WINDOWS_MANAGER_4(Ret, Func, T0, T1, T2, T3) \ - WRITE_RET_T(Ret) GraphicalInterface::Func (WRITE_INPUT_ARGS_4(T0, T1, T2, T3)) throw (Error) \ +#define BIND_TO_WINDOWS_MANAGER_4(Ret, Func, T0, T1, T2, T3) \ + WRITE_RET_T(Ret) GraphicalInterface::Func (WRITE_INPUT_ARGS_4(T0, T1, T2, T3)) \ { \ try { \ WRITE_RET_OP(Ret)( windowsManager_->Func ( WRITE_OP_ARGS_4(T0, T1, T2, T3) ));\ @@ -106,8 +106,8 @@ namespace gepetto { } \ } -#define BIND_TO_WINDOWS_MANAGER_5(Ret, Func, T0, T1, T2, T3, T4) \ - WRITE_RET_T(Ret) GraphicalInterface::Func (WRITE_INPUT_ARGS_5(T0, T1, T2, T3, T4)) throw (Error) \ +#define BIND_TO_WINDOWS_MANAGER_5(Ret, Func, T0, T1, T2, T3, T4) \ + WRITE_RET_T(Ret) GraphicalInterface::Func (WRITE_INPUT_ARGS_5(T0, T1, T2, T3, T4)) \ { \ try { \ WRITE_RET_OP(Ret)( windowsManager_->Func ( WRITE_OP_ARGS_5(T0, T1, T2, T3, T4) ));\ @@ -116,8 +116,8 @@ namespace gepetto { } \ } -#define BIND_TO_WINDOWS_MANAGER_6(Ret, Func, T0,T1,T2,T3,T4,T5) \ - WRITE_RET_T(Ret) GraphicalInterface::Func (WRITE_INPUT_ARGS_6(T0,T1,T2,T3,T4,T5)) throw (Error) \ +#define BIND_TO_WINDOWS_MANAGER_6(Ret, Func, T0,T1,T2,T3,T4,T5) \ + WRITE_RET_T(Ret) GraphicalInterface::Func (WRITE_INPUT_ARGS_6(T0,T1,T2,T3,T4,T5)) \ { \ try { \ WRITE_RET_OP(Ret)( windowsManager_->Func ( WRITE_OP_ARGS_6(T0,T1,T2,T3,T4,T5) ));\ @@ -315,7 +315,7 @@ namespace gepetto { BIND_TO_WINDOWS_MANAGER_2(VOID,callVoidProperty,STRING,STRING) // ------------- Callbacks -------------------- // - bool GraphicalInterface::registerNodeCallback (NodeCallback_ptr _cb) throw (Error) + bool GraphicalInterface::registerNodeCallback (NodeCallback_ptr _cb) { corbaserver::NodeCallback_var cb(corbaserver::NodeCallback::_duplicate(_cb)); new NodeCallback (qparent_, cb); diff --git a/src/graphical-interface.impl.hh b/src/graphical-interface.impl.hh index 393aae5494e0d6708ae18db8e755ed8abcb64427..6531ffdabce732ed80723d9e0859c9f761872c3c 100644 --- a/src/graphical-interface.impl.hh +++ b/src/graphical-interface.impl.hh @@ -11,7 +11,7 @@ #include <omniORB4/CORBA.h> -#include "gepetto/viewer/corba/server.hh" +#include "server.hh" #include "gepetto/viewer/corba/graphical-interface.hh" namespace gepetto { @@ -30,8 +30,6 @@ private: typedef gepetto::gui::WindowsManager::value_type value_type; public: - typedef CORBA::ULong WindowID; - /** \brief Default constructor */ @@ -42,148 +40,145 @@ public: qparent_ = parent; } - virtual Names_t* getNodeList() throw (Error); - virtual Names_t* getGroupNodeList(const char* group) throw (Error); - virtual Names_t* getSceneList() throw (Error); - virtual Names_t* getWindowList() throw (Error); + virtual Names_t* getNodeList(); + virtual Names_t* getGroupNodeList(const char* group); + virtual Names_t* getSceneList(); + virtual Names_t* getWindowList(); - virtual void refresh() throw (Error); - virtual void setRefreshIsSynchronous(bool synchronous) throw (Error); + virtual void refresh(); + virtual void setRefreshIsSynchronous(bool synchronous); - virtual WindowID createWindow(const char* windowNameCorba) throw (Error); - virtual WindowID getWindowID (const char* windowNameCorba) throw (Error); + virtual char* createWindow(const char* windowNameCorba); + virtual char* getWindowID (const char* windowNameCorba); - virtual void createScene(const char* sceneNameCorba) throw (Error); - virtual void createSceneWithFloor(const char* sceneNameCorba) throw (Error); - virtual bool addSceneToWindow(const char* sceneNameCorba, const WindowID windowId) throw (Error); + virtual void createScene(const char* sceneNameCorba); + virtual void createSceneWithFloor(const char* sceneNameCorba); + virtual bool addSceneToWindow(const char* sceneNameCorba, const char* windowId); - virtual bool attachCameraToNode(const char* nodeName, const WindowID windowId) throw (Error); - virtual bool detachCamera(const WindowID windowId) throw (Error); + virtual bool attachCameraToNode(const char* nodeName, const char* windowId); + virtual bool detachCamera(const char* windowId); - virtual bool nodeExists(const char* nodeName) throw (Error); + virtual bool nodeExists(const char* nodeName); - virtual bool addFloor(const char* floorName) throw (Error); + virtual bool addFloor(const char* floorName); - virtual bool addBox(const char* boxName, const float boxSize1, const float boxSize2, const float boxSize3, const Color color) throw (Error); + virtual bool addBox(const char* boxName, const float boxSize1, const float boxSize2, const float boxSize3, const Color color); - virtual bool addCapsule(const char* capsuleName, float radius, float height, const Color color) throw (Error); + virtual bool addCapsule(const char* capsuleName, float radius, float height, const Color color); - virtual bool addArrow (const char* arrowNameCorba, float radius, float length,const Color colorCorba) throw (Error); + virtual bool addArrow (const char* arrowNameCorba, float radius, float length,const Color colorCorba); - virtual bool addRod (const char* rodNameCorba, const Color colorCorba, const float radius, const float length,short maxCapsule) throw (Error); + virtual bool addRod (const char* rodNameCorba, const Color colorCorba, const float radius, const float length,short maxCapsule); - virtual bool resizeCapsule(const char* capsuleNameCorba, float newHeight) throw(Error); + virtual bool resizeCapsule(const char* capsuleNameCorba, float newHeight); - virtual bool resizeArrow(const char* arrowNameCorba ,float newRadius, float newLength) throw(Error); + virtual bool resizeArrow(const char* arrowNameCorba ,float newRadius, float newLength); - virtual bool addMesh(const char* meshNameCorba, const char* meshPathCorba) throw (Error); + virtual bool addMesh(const char* meshNameCorba, const char* meshPathCorba); - virtual void removeLightSources (const char* meshNameCorba) throw (Error); + virtual void removeLightSources (const char* meshNameCorba); - virtual bool addCone(const char* coneName, float radius, float height, const Color color) throw (Error); + virtual bool addCone(const char* coneName, float radius, float height, const Color color); - virtual bool addCylinder(const char* cylinderName, float radius, float height, const Color color) throw (Error); + virtual bool addCylinder(const char* cylinderName, float radius, float height, const Color color); - virtual bool addSphere(const char* sphereName, float radius, const Color color) throw (Error); + virtual bool addSphere(const char* sphereName, float radius, const Color color); - virtual bool addLight(const char* lightName, const WindowID windowId, float radius, const Color color) throw (Error); + virtual bool addLight(const char* lightName, const char* windowId, float radius, const Color color); - virtual bool addLine(const char* lineName, const value_type* pos1, const value_type* pos2, const Color color) throw (Error); - virtual bool setLineStartPoint(const char* lineName, const value_type* pos1) throw (Error); - virtual bool setLineEndPoint(const char* lineName, const value_type* pos1) throw (Error); - virtual bool setLineExtremalPoints(const char* lineName, const value_type* pos1, const value_type* pos2) throw (Error); + virtual bool addLine(const char* lineName, const value_type* pos1, const value_type* pos2, const Color color); + virtual bool setLineStartPoint(const char* lineName, const value_type* pos1); + virtual bool setLineEndPoint(const char* lineName, const value_type* pos1); + virtual bool setLineExtremalPoints(const char* lineName, const value_type* pos1, const value_type* pos2); - virtual bool addCurve(const char* curveName, const PositionSeq& pos, const Color color) throw (Error); - virtual bool setCurvePoints(const char* curveName, const PositionSeq& pos) throw (Error); + virtual bool addCurve(const char* curveName, const PositionSeq& pos, const Color color); + virtual bool setCurvePoints(const char* curveName, const PositionSeq& pos); - virtual bool setCurveMode(const char* curveName, const char* modeName) throw (Error); - virtual bool setCurvePointsSubset(const char* curveName, CORBA::Long first, CORBA::Long count) throw (Error); - virtual bool setCurveLineWidth(const char* curveName, const float width) throw (Error); + virtual bool setCurveMode(const char* curveName, const char* modeName); + virtual bool setCurvePointsSubset(const char* curveName, CORBA::Long first, CORBA::Long count); + virtual bool setCurveLineWidth(const char* curveName, const float width); - virtual bool addSquareFace(const char* faceName, const value_type* pos1, const value_type* pos2, const value_type* pos3, const value_type* pos4, const Color color) throw (Error); - virtual bool setTexture (const char* nodeName, const char* filename) throw (Error); - virtual bool addTriangleFace(const char* faceName, const value_type* pos1, const value_type* pos2, const value_type* pos3, const Color color) throw (Error); + virtual bool addSquareFace(const char* faceName, const value_type* pos1, const value_type* pos2, const value_type* pos3, const value_type* pos4, const Color color); + virtual bool setTexture (const char* nodeName, const char* filename); + virtual bool addTriangleFace(const char* faceName, const value_type* pos1, const value_type* pos2, const value_type* pos3, const Color color); - virtual bool addXYZaxis (const char* nodeNameCorba, const Color colorCorba, float radius, float sizeAxis) throw (Error); + virtual bool addXYZaxis (const char* nodeNameCorba, const Color colorCorba, float radius, float sizeAxis); - virtual bool createRoadmap(const char* nameCorba,const Color colorNodeCorba, float radius, float sizeAxis, const Color colorEdgeCorba) throw(Error); + virtual bool createRoadmap(const char* nameCorba,const Color colorNodeCorba, float radius, float sizeAxis, const Color colorEdgeCorba); - virtual bool addEdgeToRoadmap(const char* nameRoadmap, const value_type* posFrom, const value_type* posTo) throw(Error); + virtual bool addEdgeToRoadmap(const char* nameRoadmap, const value_type* posFrom, const value_type* posTo); - virtual bool addNodeToRoadmap(const char* nameRoadmap, const value_type* configuration) throw(Error); + virtual bool addNodeToRoadmap(const char* nameRoadmap, const value_type* configuration); - virtual bool addURDF(const char* urdfNameCorba, const char* urdfPathCorba) - throw (Error); + virtual bool addURDF(const char* urdfNameCorba, const char* urdfPathCorba); virtual bool addUrdfCollision (const char* urdfNameCorba, - const char* urdfPathCorba) - throw (Error); + const char* urdfPathCorba); virtual void addUrdfObjects (const char* urdfNameCorba, const char* urdfPathCorba, - bool visual) - throw (Error); - - virtual bool createGroup(const char* groupNameCorba) throw (Error); - virtual bool addToGroup(const char* nodeNameCorba, const char* groupNameCorba) throw (Error); - virtual bool removeFromGroup (const char* nodeNameCorba,const char* groupNameCorba) throw (Error); - - virtual bool applyConfiguration(const char* nodeNameCorba, const value_type* configuration) throw (Error); - virtual bool applyConfigurations(const Names_t& nodeNameCorba, const TransformSeq& configuration) throw (Error); - - virtual bool addLandmark(const char* nodeNameCorba, float size) throw (Error); - virtual bool deleteLandmark(const char* nodeNameCorba) throw (Error); - - virtual Transform_slice* getStaticTransform (const char* nodeName) throw (Error); - virtual bool setStaticTransform (const char* nodeName, const Transform transform) throw (Error); - - virtual bool setVisibility(const char* nodeNameCorba, const char* visibilityModeCorba) throw (Error); - virtual bool setScale(const char* nodeNameCorba, const value_type* scale)throw (Error); - virtual bool setColor(const char* nodeNameCorba, const Color color) throw (Error); - virtual bool setWireFrameMode(const char* nodeNameCorba, const char* wireFrameModeCorba) throw (Error); - virtual bool setLightingMode(const char* nodeNameCorba, const char* lightingModeCorba) throw (Error); - virtual bool setHighlight(const char* nodeNameCorba, ::CORBA::Long state) throw (Error); - - virtual void captureFrame (const WindowID windowId, const char* filename) throw (Error); - virtual bool startCapture (const WindowID windowId, const char* filename, - const char* extension) throw (Error); - virtual bool stopCapture (const WindowID windowId) throw (Error); - virtual bool setCaptureTransform (const char* filename, const Names_t& nodename) throw (Error); - virtual void captureTransformOnRefresh (bool autoCapture) throw (Error); - virtual void captureTransform () throw (Error); - virtual bool writeBlenderScript (const char* filename, const Names_t& nodeNames) throw (Error); - virtual bool writeNodeFile (const char* nodename, const char* filename) throw (Error); - virtual bool writeWindowFile (const WindowID windowId, const char* filename) throw (Error); - - virtual Transform_slice* getNodeGlobalTransform(const char* nodeName) throw (Error); - virtual void deleteNode (const char* nodeName, bool all) throw (Error); - virtual bool setBackgroundColor1(const WindowID windowId,const Color colorCorba) throw (Error); - virtual bool setBackgroundColor2(const WindowID windowId,const Color colorCorba) throw (Error); - virtual Transform_slice* getCameraTransform(const WindowID windowId) throw (Error); - virtual bool setCameraTransform(const WindowID windowId, const value_type *configurationCorba)throw (Error); + bool visual); + + virtual bool createGroup(const char* groupNameCorba); + virtual bool addToGroup(const char* nodeNameCorba, const char* groupNameCorba); + virtual bool removeFromGroup (const char* nodeNameCorba,const char* groupNameCorba); + + virtual bool applyConfiguration(const char* nodeNameCorba, const value_type* configuration); + virtual bool applyConfigurations(const Names_t& nodeNameCorba, const TransformSeq& configuration); + + virtual bool addLandmark(const char* nodeNameCorba, float size); + virtual bool deleteLandmark(const char* nodeNameCorba); + + virtual Transform_slice* getStaticTransform (const char* nodeName); + virtual bool setStaticTransform (const char* nodeName, const Transform transform); + + virtual bool setVisibility(const char* nodeNameCorba, const char* visibilityModeCorba); + virtual bool setScale(const char* nodeNameCorba, const value_type* scale); + virtual bool setColor(const char* nodeNameCorba, const Color color); + virtual bool setWireFrameMode(const char* nodeNameCorba, const char* wireFrameModeCorba); + virtual bool setLightingMode(const char* nodeNameCorba, const char* lightingModeCorba); + virtual bool setHighlight(const char* nodeNameCorba, ::CORBA::Long state); + + virtual void captureFrame (const char* windowId, const char* filename); + virtual bool startCapture (const char* windowId, const char* filename, + const char* extension); + virtual bool stopCapture (const char* windowId); + virtual bool setCaptureTransform (const char* filename, const Names_t& nodename); + virtual void captureTransformOnRefresh (bool autoCapture); + virtual void captureTransform (); + virtual bool writeBlenderScript (const char* filename, const Names_t& nodeNames); + virtual bool writeNodeFile (const char* nodename, const char* filename); + virtual bool writeWindowFile (const char* windowId, const char* filename); + + virtual Transform_slice* getNodeGlobalTransform(const char* nodeName); + virtual void deleteNode (const char* nodeName, bool all); + virtual bool setBackgroundColor1(const char* windowId,const Color colorCorba); + virtual bool setBackgroundColor2(const char* windowId,const Color colorCorba); + virtual Transform_slice* getCameraTransform(const char* windowId); + virtual bool setCameraTransform(const char* windowId, const value_type *configurationCorba); // ------------- Properties -------------------- // - virtual Names_t* getPropertyNames(const char* nodeName) throw (Error); - virtual Names_t* getPropertyTypes(const char* nodeName) throw (Error); - virtual char* getStringProperty(const char* nodeName, const char* propName) throw (Error); - virtual void setStringProperty(const char* nodeName, const char* propName, const char* value) throw (Error); - virtual Color_slice* getColorProperty(const char* nodeName, const char* propName) throw (Error); - virtual void setColorProperty(const char* nodeName, const char* propName, const Color value) throw (Error); - virtual Position_slice* getVector3Property(const char* nodeName, const char* propName) throw (Error); - virtual void setVector3Property(const char* nodeName, const char* propName, const Position value) throw (Error); - virtual Position_slice* getVector2Property(const char* nodeName, const char* propName) throw (Error); - virtual void setVector2Property(const char* nodeName, const char* propName, const Position value) throw (Error); - virtual float getFloatProperty(const char* nodeName, const char* propName) throw (Error); - virtual void setFloatProperty(const char* nodeName, const char* propName, float value) throw (Error); - virtual bool getBoolProperty(const char* nodeName, const char* propName) throw (Error); - virtual void setBoolProperty(const char* nodeName, const char* propName, bool value) throw (Error); - virtual CORBA::Long getIntProperty(const char* nodeName, const char* propName) throw (Error); - virtual void setIntProperty(const char* nodeName, const char* propName, CORBA::Long value) throw (Error); - virtual void callVoidProperty(const char* nodeName, const char* propName) throw (Error); + virtual Names_t* getPropertyNames(const char* nodeName); + virtual Names_t* getPropertyTypes(const char* nodeName); + virtual char* getStringProperty(const char* nodeName, const char* propName); + virtual void setStringProperty(const char* nodeName, const char* propName, const char* value); + virtual Color_slice* getColorProperty(const char* nodeName, const char* propName); + virtual void setColorProperty(const char* nodeName, const char* propName, const Color value); + virtual Position_slice* getVector3Property(const char* nodeName, const char* propName); + virtual void setVector3Property(const char* nodeName, const char* propName, const Position value); + virtual Position_slice* getVector2Property(const char* nodeName, const char* propName); + virtual void setVector2Property(const char* nodeName, const char* propName, const Position value); + virtual float getFloatProperty(const char* nodeName, const char* propName); + virtual void setFloatProperty(const char* nodeName, const char* propName, float value); + virtual bool getBoolProperty(const char* nodeName, const char* propName); + virtual void setBoolProperty(const char* nodeName, const char* propName, bool value); + virtual CORBA::Long getIntProperty(const char* nodeName, const char* propName); + virtual void setIntProperty(const char* nodeName, const char* propName, CORBA::Long value); + virtual void callVoidProperty(const char* nodeName, const char* propName); // ------------- Callbacks -------------------- // - bool registerNodeCallback (NodeCallback_ptr cb) throw (Error); + bool registerNodeCallback (NodeCallback_ptr cb); }; // end of class } /* namespace impl */ diff --git a/src/server-private.cc b/src/server-private.cc index ed69113d9c0bb7fd37e1255392f6f8ff07f0f4e8..7664b2d6b2a6406c69e2766f4cb220bc8abd44aa 100644 --- a/src/server-private.cc +++ b/src/server-private.cc @@ -8,12 +8,12 @@ // // See the COPYING file for more information. +#include "server-private.hh" + #include <iostream> #include <stdexcept> #include "graphical-interface.impl.hh" -#include "server-private.hh" -#include "gepetto/viewer/corba/fwd.hh" namespace gepetto { namespace viewer { @@ -33,7 +33,8 @@ namespace gepetto { Server::~Server () { - delete graphicalInterfaceServantid_; + //TODO for a reason I do not understand, this SEGV. + //delete graphicalInterfaceServantid_; } void @@ -44,7 +45,8 @@ namespace gepetto { void Server::deactivateAndDestroyServers() { - poa_->deactivate_object(*graphicalInterfaceServantid_); + //TODO for a reason I do not understand, this SEGV. + //poa_->deactivate_object(*graphicalInterfaceServantid_); } void Server::createContext () diff --git a/src/server-private.hh b/src/server-private.hh index 4859c11dd8beb301721695115a733285fe937d64..514b6c340d2f5721b388c338959e0f903b66f193 100644 --- a/src/server-private.hh +++ b/src/server-private.hh @@ -11,8 +11,9 @@ #ifndef SCENEVIEWER_CORBASERVER_SERVER_PRIVATE_HH # define SCENEVIEWER_CORBASERVER_SERVER_PRIVATE_HH +# include <omniORB4/CORBA.h> + # include "graphical-interface.impl.hh" -# include "gepetto/viewer/corba/fwd.hh" namespace gepetto { namespace viewer { diff --git a/src/server.cc b/src/server.cc index 83503818275b6711f3b4df89c9715c8cf2c35e37..f3dab8d3f7a83ef1bf5765005926c1f999cc2168 100644 --- a/src/server.cc +++ b/src/server.cc @@ -13,7 +13,7 @@ #include <iostream> #include <stdexcept> -#include "gepetto/viewer/corba/server.hh" +#include "server.hh" #include "server-private.hh" namespace gepetto { @@ -26,20 +26,6 @@ namespace gepetto { using CORBA::PolicyList; using omniORB::fatalException; - //namespace - //{ - /// \brief Forward logging messages to hpp logging mechanism. - /// If debug is disabled, CORBA logging will be disabled too. - /// - /// Tracing has to be enabled in your ``omniORB.cfg'' to use this - /// feature. - /// See ``omniORB configuration and API'' > ``Tracing options'' - /// section of omniORB manual for more information. - //void logFunction (const char* msg); - - //} // end of anonymous namespace. - - Server::Server(WindowsManagerPtr_t wm, int argc, const char *argv[], bool inMultiThread, bool useNameService) : windowsManager_ (wm) @@ -54,7 +40,6 @@ namespace gepetto { private_->qparent (parent); } - /// \brief Shutdown CORBA server Server::~Server() { private_->deactivateAndDestroyServers(); @@ -147,7 +132,6 @@ namespace gepetto { pman->activate(); } - /// \brief If CORBA requests are pending, process them int Server::processRequest (bool loop) { if (loop) diff --git a/include/gepetto/viewer/corba/server.hh b/src/server.hh similarity index 69% rename from include/gepetto/viewer/corba/server.hh rename to src/server.hh index bc97f8ec976540d88b70d8703c83c9935b7c15ed..94724fd14c21b0a2f6fa1d29aeeba0ebd92b9200 100644 --- a/include/gepetto/viewer/corba/server.hh +++ b/src/server.hh @@ -11,7 +11,7 @@ #ifndef SCENEVIEWER_CORBASERVER_SERVER_HH # define SCENEVIEWER_CORBASERVER_SERVER_HH -#include "gepetto/viewer/corba/fwd.hh" +#include <gepetto/viewer/corba/config.hh> #include <gepetto/gui/windows-manager.hh> class QObject; @@ -22,35 +22,26 @@ namespace gepetto { using gepetto::gui::WindowsManager; using gepetto::gui::WindowsManagerPtr_t; - /// Implementation of Hpp module Corba server. - - /// This class initializes the Corba server and starts the following Corba interface implementations. - /// \li hpp::Robot: to build a model::Device and to insert it in a core::ProblemSolver object, - /// \li hpp::Obstacle: to build obstacles and insert them in a core::ProblemSolver object, - /// \li hpp::Problem: to define a path planning problem and solve it. - - /// To use this object, call the constructor - - /// \code - /// int argc=1; - /// char *argv[1] = {"program"}; - /// core::ProblemSolverPtr_t problemSolver = new core::ProblemSolver; - /// Server server(problemSolver, argc, argv, isMultiThread); - /// \endcode - /// where \c isMultiThread specifies whether the server should process - /// requests using multi-thread policy of not. - - /// After starting a name server and configuring your Corba implementation, - /// start the servers. - /// \code - /// server.startCorbaServer(); - /// \endcode - /// Then, enter in the loop that handle the Corba requests - /// \code - /// server.processRequest(true); - /// \endcode - /// You can then send request to the servers. - class /*SCENEVIEWER_CORBASERVER_DLLAPI*/ Server + // Foward declarations + namespace impl + { + class Server; + class GraphicalInterface; + } // end of namespace impl + + /// Implementation of Gepetto Viewer Corba server. + /// + /// To use this object, call the constructor + /// \code + /// int argc=1; + /// char *argv[1] = {"program"}; + /// Server server(windowsManager, argc, argv); + /// server.startCorbaServer(); + /// // The next line will run indefinitely. + /// server.processRequest(true); + /// \endcode + /// You can then send request to the servers. + class GEPETTO_VIEWER_CORBA_DLLAPI Server { public: /// Constructor