Salome HOME
Merge from rnv/geom_plugin_imp branch
authorvsr <vsr@opencascade.com>
Wed, 27 May 2015 14:07:21 +0000 (17:07 +0300)
committervsr <vsr@opencascade.com>
Wed, 27 May 2015 14:58:14 +0000 (17:58 +0300)
42 files changed:
1  2 
CMakeLists.txt
INSTALL
README
SalomeXTPLUGINConfig.cmake.in
XTPLUGIN_version.h.in
XTPlugin_version.h.in
doc/CMakeLists.txt
doc/salome/CMakeLists.txt
doc/salome/examples/CMakeLists.txt
doc/salome/examples/XTPlugindemo.py
doc/salome/gui/CMakeLists.txt
doc/salome/gui/XTPLUGIN/CMakeLists.txt
doc/salome/gui/XTPLUGIN/doxyfile.in
doc/salome/gui/XTPLUGIN/doxyfile_py.in
doc/salome/gui/XTPLUGIN/input/index.doc
doc/salome/gui/XTPLUGIN/input/xtplugin_import_page.doc
doc/salome/gui/XTPLUGIN/input/xtplugin_python_interface_page.doc
doc/salome/gui/XTPLUGIN/static/footer.html
idl/CMakeLists.txt
idl/XTPlugin.idl
resources/CMakeLists.txt
resources/SalomeApp.xml
resources/XTPlugin.xml
src/CMakeLists.txt
src/XTPluginBuilder.py
src/XTPlugin_Engine.cxx
src/XTPlugin_Engine.hxx
src/XTPlugin_GUI.cxx
src/XTPlugin_GUI.h
src/XTPlugin_IECallBack.cxx
src/XTPlugin_IECallBack.hxx
src/XTPlugin_IImport.hxx
src/XTPlugin_IOperations.cxx
src/XTPlugin_IOperations.hxx
src/XTPlugin_IOperations_i.cc
src/XTPlugin_IOperations_i.hh
src/XTPlugin_ImportDriver.cxx
src/XTPlugin_ImportDriver.hxx
src/XTPlugin_OperationsCreator.cxx
src/XTPlugin_OperationsCreator.hxx
src/XTPlugin_license.h.in
src/__init__.py

diff --cc CMakeLists.txt
index fe63d74d19f8cd5320d7ad7757511e7cfa739e6d,002310644dd77abec4bc6253edc1f481ec89ea78..472e49556095e1dcd9463f9b5f58a4c66da93ec4
@@@ -110,7 -155,7 +155,7 @@@ ENDIF(
  # Header configuration
  # ====================
  SALOME_XVERSION(${PROJECT_NAME})
--SALOME_CONFIGURE_FILE(XTPLUGIN_version.h.in XTPLUGIN_version.h)
++SALOME_CONFIGURE_FILE(XTPlugin_version.h.in XTPlugin_version.h INSTALL ${SALOME_INSTALL_HEADERS})
  
  # Configuration export
  # (here only the level 1 prerequisites are exposed)
diff --cc INSTALL
index 935c98cf1aaaee47cb83b1c4003c5ba5655f932e,935c98cf1aaaee47cb83b1c4003c5ba5655f932e..8f4e78c9425f3ca942c2cdd2ee64eeb15ea51994
+++ b/INSTALL
@@@ -2,7 -2,7 +2,7 @@@
  Installation Instructions
  *************************
  
--Copyright (C) 2014 Open CASCADE S.A.S.
++Copyright (C) 2014-2015 OPEN CASCADE
  
  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
@@@ -42,12 -42,12 +42,12 @@@ In order to build the plugin you have t
  
     - for csh:
  
--   % setenv XT_ROOT_DIR /path/to/the/XT-6.7.0
++   % setenv XT_ROOT_DIR /path/to/the/XT-6.9.0
     % setenv LD_LIBRARY_PATH ${XT_ROOT_DIR}/lib:${LD_LIBRARY_PATH}
  
     - for bash:
     
--   % export XT_ROOT_DIR=/path/to/the/XT-6.7.0
++   % export XT_ROOT_DIR=/path/to/the/XT-6.9.0
     % export LD_LIBRARY_PATH=${XT_ROOT_DIR}/lib:${LD_LIBRARY_PATH}
  
     Note, that OCCT Parasolid XDE product requires OCCT license library.
diff --cc README
index 1d19ff85d0a7b4576d215e1c8e4cb6bb12907606,1d19ff85d0a7b4576d215e1c8e4cb6bb12907606..701ae14eae8a5d6c4ace55b6d623e9c2898cf18d
--- 1/README
--- 2/README
+++ b/README
@@@ -2,7 -2,7 +2,7 @@@
  README
  ******
  
--Copyright (C) 2014 Open CASCADE S.A.S.
++Copyright (C) 2014-2015 OPEN CASCADE
  
  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
@@@ -57,12 -57,12 +57,12 @@@ Usag
  
     - for csh:
  
--   % setenv XT_ROOT_DIR /path/to/the/XT-6.7.0
++   % setenv XT_ROOT_DIR /path/to/the/XT-6.9.0
     % setenv LD_LIBRARY_PATH ${XT_ROOT_DIR}/lib:${LD_LIBRARY_PATH}
  
     - for bash:
  
--   % export XT_ROOT_DIR=/path/to/the/XT-6.7.0
++   % export XT_ROOT_DIR=/path/to/the/XT-6.9.0
     % export LD_LIBRARY_PATH=${XT_ROOT_DIR}/lib:${LD_LIBRARY_PATH}
  
     * OCCT Parasolid XDE product requires also an OCCT license library.
Simple merge
diff --cc XTPLUGIN_version.h.in
index 7def155343c1b27654c3e5aeca1f9f18db49cde7,9e13e50ae664cf4bb7c7148579ed2c541e3aa7a0..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,41 -1,41 +1,0 @@@
- // Copyright (C) 2014-2015  OPEN CASCADE
 -// Copyright (C) 2014  OPEN CASCADE
--//
--// This library is free software; you can redistribute it and/or
--// modify it under the terms of the GNU Lesser General Public
--// License as published by the Free Software Foundation; either
--// version 2.1 of the License, or (at your option) any later version.
--//
--// This library is distributed in the hope that it will be useful,
--// but WITHOUT ANY WARRANTY; without even the implied warranty of
--// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--// Lesser General Public License for more details.
--//
--// You should have received a copy of the GNU Lesser General Public
--// License along with this library; if not, write to the Free Software
--// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
--//
--// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
--//
--
--#if !defined(__XTPLUGIN_VERSION_H)
--#define __XTPLUGIN_VERSION_H
--
--/*!
--  Specify version of SALOME XTPLUGIN module, as follows
--
--  XTPLUGIN_VERSION_MAJOR       : (integer) number identifying major version
--  XTPLUGIN_VERSION_MINOR       : (integer) number identifying minor version
--  XTPLUGIN_VERSION_MAINTENANCE : (integer) number identifying maintenance version
--  XTPLUGIN_VERSION_STR         : (string)  complete version number "major.minor.maintenance"
--  XTPLUGIN_VERSION             : (hex)     complete version number (major << 16) + (minor << 8) + maintenance
--  XTPLUGIN_DEVELOPMENT         : (integer) indicates development version when set to 1
--*/
--
--#define XTPLUGIN_VERSION_MAJOR       @SALOMEXTPLUGIN_MAJOR_VERSION@
--#define XTPLUGIN_VERSION_MINOR       @SALOMEXTPLUGIN_MINOR_VERSION@
--#define XTPLUGIN_VERSION_MAINTENANCE @SALOMEXTPLUGIN_PATCH_VERSION@
--#define XTPLUGIN_VERSION_STR         "@SALOMEXTPLUGIN_VERSION@"
--#define XTPLUGIN_VERSION             @SALOMEXTPLUGIN_XVERSION@
--#define XTPLUGIN_DEVELOPMENT         @SALOMEXTPLUGIN_VERSION_DEV@
--
--#endif // __XTPLUGIN_VERSION_H
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7def155343c1b27654c3e5aeca1f9f18db49cde7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,41 @@@
++// Copyright (C) 2014-2015  OPEN CASCADE
++//
++// This library is free software; you can redistribute it and/or
++// modify it under the terms of the GNU Lesser General Public
++// License as published by the Free Software Foundation; either
++// version 2.1 of the License, or (at your option) any later version.
++//
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++// Lesser General Public License for more details.
++//
++// You should have received a copy of the GNU Lesser General Public
++// License along with this library; if not, write to the Free Software
++// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
++//
++// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
++//
++
++#if !defined(__XTPLUGIN_VERSION_H)
++#define __XTPLUGIN_VERSION_H
++
++/*!
++  Specify version of SALOME XTPLUGIN module, as follows
++
++  XTPLUGIN_VERSION_MAJOR       : (integer) number identifying major version
++  XTPLUGIN_VERSION_MINOR       : (integer) number identifying minor version
++  XTPLUGIN_VERSION_MAINTENANCE : (integer) number identifying maintenance version
++  XTPLUGIN_VERSION_STR         : (string)  complete version number "major.minor.maintenance"
++  XTPLUGIN_VERSION             : (hex)     complete version number (major << 16) + (minor << 8) + maintenance
++  XTPLUGIN_DEVELOPMENT         : (integer) indicates development version when set to 1
++*/
++
++#define XTPLUGIN_VERSION_MAJOR       @SALOMEXTPLUGIN_MAJOR_VERSION@
++#define XTPLUGIN_VERSION_MINOR       @SALOMEXTPLUGIN_MINOR_VERSION@
++#define XTPLUGIN_VERSION_MAINTENANCE @SALOMEXTPLUGIN_PATCH_VERSION@
++#define XTPLUGIN_VERSION_STR         "@SALOMEXTPLUGIN_VERSION@"
++#define XTPLUGIN_VERSION             @SALOMEXTPLUGIN_XVERSION@
++#define XTPLUGIN_DEVELOPMENT         @SALOMEXTPLUGIN_VERSION_DEV@
++
++#endif // __XTPLUGIN_VERSION_H
index 0000000000000000000000000000000000000000,7eb84fee166b15ce96326a433bb96f39398d16f0..0fd283bcfd1b8f89662b1626f1ae1db8899b344e
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,20 +1,20 @@@
 -# Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++# Copyright (C) 2014-2015  OPEN CASCADE
+ #
+ # This library is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+ # License as published by the Free Software Foundation; either
+ # version 2.1 of the License, or (at your option) any later version.
+ #
+ # This library is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ # Lesser General Public License for more details.
+ #
+ # You should have received a copy of the GNU Lesser General Public
+ # License along with this library; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ #
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ #
+ ADD_SUBDIRECTORY(salome)
index 0000000000000000000000000000000000000000,957d7ef945dd11a10b0ab5c6736e008953ea23ed..9965b8517ee33bb40b270d1a369d24940b8e7900
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,21 +1,21 @@@
 -# Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++# Copyright (C) 2014-2015  OPEN CASCADE
+ #
+ # This library is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+ # License as published by the Free Software Foundation; either
+ # version 2.1 of the License, or (at your option) any later version.
+ #
+ # This library is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ # Lesser General Public License for more details.
+ #
+ # You should have received a copy of the GNU Lesser General Public
+ # License along with this library; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ #
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ #
+ ADD_SUBDIRECTORY(examples)
 -ADD_SUBDIRECTORY(gui)
++ADD_SUBDIRECTORY(gui)
index 0000000000000000000000000000000000000000,bd1eaf90118491bad54d94e5f2678374dc9e670a..dd10956828cdf025a61ab288d7a9b3e4522e16f0
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,21 +1,21 @@@
 -# Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++# Copyright (C) 2014-2015  OPEN CASCADE
+ #
+ # This library is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+ # License as published by the Free Software Foundation; either
+ # version 2.1 of the License, or (at your option) any later version.
+ #
+ # This library is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ # Lesser General Public License for more details.
+ #
+ # You should have received a copy of the GNU Lesser General Public
+ # License along with this library; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ #
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ #
+ FILE(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.py")
+ INSTALL(FILES ${files} DESTINATION ${SALOME_INSTALL_DOC}/examples/XTPLUGIN)
index 0000000000000000000000000000000000000000,f223b4154a5dcfac8f5634c0f10a826ad8d6cb81..fd271259a4f88550c6cec6d2fce19189d09bb96d
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,27 +1,20 @@@
 -# Example of import file in XT format
+ # Import XT
+ import salome
+ salome.salome_init()
+ import GEOM
+ from salome.geom import geomBuilder
+ geompy = geomBuilder.New(salome.myStudy)
 -print "Test Import XT ..."
++# - path to the file
++xtFile = "/path/to/the/xt/file.x_t"
 -dir = "" # please define import directory here
 -if dir != "":   
 -    # File for Import testing
 -    fileImport = dir + "" # please define file name here
 -    if fileImport != dir:
 -        # import shape
 -        Shape1 = geompy.ImportXT(fileImport)
 -        geompy.addToStudy(Shape1, "ImportXT_1")
 -        # It is possible also to use next format of importing and publishing in study
 -        Shape2 = geompy.ImportXT(fileImport,"ImportXT_2")
 -        print "OK"
 -    else:
 -        print "please define file name in python file"
++if os.path.exists(xtFile):
++    # - import shape
++    shape = geompy.ImportXT(xtFile)
++
++    # - publish in study
++    geompy.addToStudy(shape, "ImportXT")
 -    print "please define import directory in python file"
+ else:
++    print "ERROR: File %s does not exist" % xtFile
index 0000000000000000000000000000000000000000,f1230721c71f8172f4dd815a040a588f0146c893..3b0fecec072249f0b307ddf532776cf349be90c4
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,20 +1,20 @@@
 -# Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++# Copyright (C) 2014-2015  OPEN CASCADE
+ #
+ # This library is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+ # License as published by the Free Software Foundation; either
+ # version 2.1 of the License, or (at your option) any later version.
+ #
+ # This library is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ # Lesser General Public License for more details.
+ #
+ # You should have received a copy of the GNU Lesser General Public
+ # License along with this library; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ #
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ #
+ ADD_SUBDIRECTORY(XTPLUGIN)
index 0000000000000000000000000000000000000000,aab2ca7d569a130d8fe4d770988c0f6265189198..2c992a8ad0f37694bcaac77f21f5c309b13381ff
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,45 +1,52 @@@
 -# Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++# Copyright (C) 2014-2015  OPEN CASCADE
+ #
+ # This library is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+ # License as published by the Free Software Foundation; either
+ # version 2.1 of the License, or (at your option) any later version.
+ #
+ # This library is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ # Lesser General Public License for more details.
+ #
+ # You should have received a copy of the GNU Lesser General Public
+ # License along with this library; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ #
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ #
+ SALOME_CONFIGURE_FILE(doxyfile.in doxyfile)
+ SALOME_CONFIGURE_FILE(doxyfile_py.in doxyfile_py)
+ SALOME_CONFIGURE_FILE(static/header.html.in ${CMAKE_CURRENT_BINARY_DIR}/static/header.html)
+ SALOME_CONFIGURE_FILE(static/header_py.html.in ${CMAKE_CURRENT_BINARY_DIR}/static/header_py.html)
++# Generate a temporary python file, needed for the generation of the documentation
++# of the plugin.
++SALOME_ACCUMULATE_ENVIRONMENT(GEOM_PluginsList NOCHECK XTPlugin)
++SET(_plugins_cmd_options ${GEOM_ROOT_DIR}/bin/salome/collect_geom_methods.py -d -o tmp/geomBuilder.py XTPlugin)
++SALOME_GENERATE_ENVIRONMENT_SCRIPT(_plugins_cmd env_script "${PYTHON_EXECUTABLE}" "${_plugins_cmd_options}")
++
+ SET(kernel_file "$ENV{KERNEL_ROOT_DIR}/bin/salome/prepare_generating_doc.py")
+ IF(WIN32)
+   STRING(REPLACE "/" "\\" kernel_file ${kernel_file})
+ ENDIF(WIN32)
+ ADD_CUSTOM_TARGET(usr_docs ${CMAKE_COMMAND} -E make_directory tmp
+   COMMAND ${PYTHON_EXECUTABLE} ${kernel_file} -o tmp/XTPluginBuilder.py ${CMAKE_SOURCE_DIR}/src/XTPluginBuilder.py
++  COMMAND ${_plugins_cmd}
+   COMMAND ${DOXYGEN_EXECUTABLE} doxyfile_py
+   COMMAND ${DOXYGEN_EXECUTABLE} doxyfile
+   COMMAND ${CMAKE_COMMAND} -E remove_directory tmp
+   VERBATIM
+   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ )
+ INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"${CMAKE_COMMAND}\" --build ${PROJECT_BINARY_DIR} --target usr_docs)")
+ INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/XTPLUGIN DESTINATION ${SALOME_INSTALL_DOC}/gui)
+ INSTALL(FILES images/head.png DESTINATION ${SALOME_INSTALL_DOC}/gui/XTPLUGIN)
+ INSTALL(FILES images/head.png DESTINATION ${SALOME_INSTALL_DOC}/gui/XTPLUGIN/xtpluginpy_doc)
+ SET(make_clean_files XTPLUGIN xtpluginpy_doc.tag)
+ SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${make_clean_files}")
index 0000000000000000000000000000000000000000,e4e9e35dbe82422a1d358ee5db14e4a1d03b4804..868181e32ce5faff938dc130853c0ae557375936
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,114 +1,114 @@@
 -# Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++# Copyright (C) 2014-2015  OPEN CASCADE
+ #
+ # This library is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+ # License as published by the Free Software Foundation; either
+ # version 2.1 of the License, or (at your option) any later version.
+ #
+ # This library is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ # Lesser General Public License for more details.
+ #
+ # You should have received a copy of the GNU Lesser General Public
+ # License along with this library; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ #
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ #
+ #---------------------------------------------------------------------------
+ # Project related configuration options
+ #---------------------------------------------------------------------------
+ PROJECT_NAME      = "SALOME XTPLUGIN User's Guide"
+ OUTPUT_DIRECTORY  = XTPLUGIN
+ CREATE_SUBDIRS          = NO
+ OUTPUT_LANGUAGE   = English
+ TAB_SIZE          = 5
+ #---------------------------------------------------------------------------
+ # configuration options related to warning and progress messages
+ #---------------------------------------------------------------------------
+ QUIET             = NO
+ WARNINGS          = YES
+ #---------------------------------------------------------------------------
+ #Input related options
+ #---------------------------------------------------------------------------
+ INPUT             = @CMAKE_CURRENT_SOURCE_DIR@/input
+ FILE_PATTERNS     = *.doc
+ EXCLUDE           = 
+ IMAGE_PATH        = @CMAKE_CURRENT_SOURCE_DIR@/images
+ EXAMPLE_PATH      = @CMAKE_SOURCE_DIR@/doc/salome/examples 
+ #---------------------------------------------------------------------------
+ #HTML related options
+ #---------------------------------------------------------------------------
+ GENERATE_HTML     = YES
+ HTML_OUTPUT       = .
+ HTML_HEADER       = @CMAKE_CURRENT_BINARY_DIR@/static/header.html
+ HTML_FOOTER       = @CMAKE_CURRENT_SOURCE_DIR@/static/footer.html
+ HTML_EXTRA_STYLESHEET   = @CMAKE_CURRENT_SOURCE_DIR@/static/salome_extra.css
+ TOC_EXPAND        = YES
+ DISABLE_INDEX     = NO
+ GENERATE_TREEVIEW = YES
+ TREEVIEW_WIDTH    = 300
+ #---------------------------------------------------------------------------
+ # Configuration options related to the dot tool...
+ #---------------------------------------------------------------------------
+ CLASS_DIAGRAMS         = NO
+ HIDE_UNDOC_RELATIONS   = NO
+ HAVE_DOT               = NO
+ CLASS_GRAPH            = NO
+ COLLABORATION_GRAPH    = NO
+ GROUP_GRAPHS           = NO
+ UML_LOOK               = NO
+ TEMPLATE_RELATIONS     = NO
+ INCLUDE_GRAPH          = NO
+ INCLUDED_BY_GRAPH      = NO
+ CALL_GRAPH             = NO
+ GRAPHICAL_HIERARCHY    = NO
+ DIRECTORY_GRAPH        = NO
+ DOT_IMAGE_FORMAT       = jpg
+ DOT_FONTNAME           = Arial
+ DOT_PATH               =.
+ DOTFILE_DIRS           =.
+ MAX_DOT_GRAPH_WIDTH    = 1024
+ MAX_DOT_GRAPH_HEIGHT   = 1200
+ MAX_DOT_GRAPH_DEPTH    = 0
+ DOT_TRANSPARENT        = NO
+ DOT_MULTI_TARGETS      = NO
+ GENERATE_LEGEND        = NO
+ DOT_CLEANUP            = YES
+ #---------------------------------------------------------------------------
+ #SORT related options
+ #---------------------------------------------------------------------------
+ SORT_GROUP_NAMES = NO
+ #---------------------------------------------------------------------------
+ #LaTeX related option
+ #---------------------------------------------------------------------------
+ GENERATE_LATEX    = NO
+ EXTRA_PACKAGES    = amsmath
+ #---------------------------------------------------------------------------
+ #RTF related options
+ #---------------------------------------------------------------------------
+ GENERATE_RTF      = NO
+ #---------------------------------------------------------------------------
+ #External reference options
+ #---------------------------------------------------------------------------
+ TAGFILES          = xtpluginpy_doc.tag=../XTPLUGIN/xtpluginpy_doc
+ SEARCHENGINE      = YES
+ #---------------------------------------------------------------------------
+ #Custom commands
+ #---------------------------------------------------------------------------
+ ALIASES += tui_script{1}="\include \1 <a href=\"../../examples/XTPLUGIN/\1\">Download this script</a>"
index 0000000000000000000000000000000000000000,8d6157f32df6f4953e93569028ee28ec340390f0..5dfead6f1a3100cdbe28d9010e716b53c4fec8d0
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,160 +1,160 @@@
 -# Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++# Copyright (C) 2014-2015  OPEN CASCADE
+ #
+ # This library is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+ # License as published by the Free Software Foundation; either
+ # version 2.1 of the License, or (at your option) any later version.
+ #
+ # This library is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ # Lesser General Public License for more details.
+ #
+ # You should have received a copy of the GNU Lesser General Public
+ # License along with this library; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ #
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ #
+ #---------------------------------------------------------------------------
+ # Project related configuration options
+ #---------------------------------------------------------------------------
+ PROJECT_NAME           = "SALOME XTPLUGIN User's Guide"
+ OUTPUT_DIRECTORY       = XTPLUGIN
+ CREATE_SUBDIRS               = NO
+ OUTPUT_LANGUAGE        = English
+ USE_WINDOWS_ENCODING   = NO
+ BRIEF_MEMBER_DESC      = YES
+ REPEAT_BRIEF           = YES
+ ALWAYS_DETAILED_SEC    = YES
+ INLINE_INHERITED_MEMB  = YES
+ FULL_PATH_NAMES        = NO
+ SHORT_NAMES            = NO
+ JAVADOC_AUTOBRIEF      = YES
+ MULTILINE_CPP_IS_BRIEF = NO
+ DETAILS_AT_TOP         = NO
+ INHERIT_DOCS           = YES
+ SEPARATE_MEMBER_PAGES  = NO
+ TAB_SIZE               = 5
+ OPTIMIZE_OUTPUT_FOR_C  = YES
+ OPTIMIZE_OUTPUT_JAVA   = YES
+ BUILTIN_STL_SUPPORT    = NO
+ DISTRIBUTE_GROUP_DOC   = NO
+ SUBGROUPING            = YES
+ #---------------------------------------------------------------------------
+ # Build related options
+ #---------------------------------------------------------------------------
+ EXTRACT_ALL            = YES
+ EXTRACT_PRIVATE        = YES
+ EXTRACT_STATIC         = NO
+ EXTRACT_LOCAL_CLASSES  = YES
+ EXTRACT_LOCAL_METHODS  = NO
+ HIDE_UNDOC_MEMBERS     = NO
+ HIDE_UNDOC_CLASSES     = NO
+ HIDE_FRIEND_COMPOUNDS  = NO
+ HIDE_IN_BODY_DOCS      = NO
+ INTERNAL_DOCS          = YES
+ CASE_SENSE_NAMES       = YES
+ HIDE_SCOPE_NAMES       = YES
+ SHOW_INCLUDE_FILES     = YES
+ INLINE_INFO            = YES
+ SORT_MEMBER_DOCS       = NO
+ SORT_BRIEF_DOCS        = NO
+ SORT_BY_SCOPE_NAME     = NO
+ GENERATE_TODOLIST      = YES
+ GENERATE_TESTLIST      = YES
+ GENERATE_BUGLIST       = YES
+ GENERATE_DEPRECATEDLIST= YES
+ MAX_INITIALIZER_LINES  = 25
+ SHOW_USED_FILES        = NO
+ SHOW_DIRECTORIES       = NO
+ #---------------------------------------------------------------------------
+ # configuration options related to source browsing
+ #---------------------------------------------------------------------------
+ SOURCE_BROWSER         = NO
+ INLINE_SOURCES         = NO
+ STRIP_CODE_COMMENTS    = YES
+ REFERENCED_BY_RELATION = NO
+ REFERENCES_RELATION    = YES
+ USE_HTAGS              = NO
+ VERBATIM_HEADERS       = YES
+ #---------------------------------------------------------------------------
+ # configuration options related to warning and progress messages
+ #---------------------------------------------------------------------------
+ QUIET                  = NO
+ WARNINGS               = YES
+ WARN_IF_UNDOCUMENTED   = YES
+ WARN_IF_DOC_ERROR      = YES
+ WARN_NO_PARAMDOC       = NO
+ EXCLUDE_SYMLINKS       = NO
+ EXAMPLE_RECURSIVE      = NO
+ #---------------------------------------------------------------------------
+ #Input related options
+ #---------------------------------------------------------------------------
+ INPUT             = tmp @CMAKE_SOURCE_DIR@/idl/XTPlugin_Gen.idl
+ FILE_PATTERNS     = 
+ IMAGE_PATH        = @CMAKE_CURRENT_SOURCE_DIR@/images
+ RECURSIVE         = NO
+ EXAMPLE_PATH      = @CMAKE_SOURCE_DIR@/src/
+ #---------------------------------------------------------------------------
+ #HTML related options
+ #---------------------------------------------------------------------------
+ GENERATE_HTML     = YES
+ HTML_OUTPUT       = xtpluginpy_doc
+ HTML_HEADER       = @CMAKE_CURRENT_BINARY_DIR@/static/header_py.html
+ HTML_FOOTER       = @CMAKE_CURRENT_SOURCE_DIR@/static/footer.html
+ HTML_EXTRA_STYLESHEET   = @CMAKE_CURRENT_SOURCE_DIR@/static/salome_extra.css
+ TOC_EXPAND        = YES
+ DISABLE_INDEX     = NO
+ GENERATE_TREEVIEW = YES
+ TREEVIEW_WIDTH    = 300
+ #---------------------------------------------------------------------------
+ #LaTeX related option
+ #---------------------------------------------------------------------------
+ GENERATE_LATEX    = NO
+ #---------------------------------------------------------------------------
+ #RTF related options
+ #---------------------------------------------------------------------------
+ GENERATE_RTF      = NO
+ #---------------------------------------------------------------------------
+ # Configuration options related to the dot tool               
+ #---------------------------------------------------------------------------
+ CLASS_DIAGRAMS         = NO
+ HIDE_UNDOC_RELATIONS   = NO
+ HAVE_DOT               = YES
+ CLASS_GRAPH            = YES
+ COLLABORATION_GRAPH    = NO
+ GROUP_GRAPHS           = NO
+ UML_LOOK               = NO
+ TEMPLATE_RELATIONS     = YES
+ INCLUDE_GRAPH          = YES
+ INCLUDED_BY_GRAPH      = YES
+ CALL_GRAPH             = NO
+ GRAPHICAL_HIERARCHY    = YES
+ DIRECTORY_GRAPH        = YES
+ DOT_IMAGE_FORMAT       = png
+ DOT_FONTNAME           = Arial
+ DOT_PATH               = 
+ DOTFILE_DIRS           = 
+ MAX_DOT_GRAPH_WIDTH    = 1024
+ MAX_DOT_GRAPH_HEIGHT   = 1024
+ MAX_DOT_GRAPH_DEPTH    = 1000
+ DOT_TRANSPARENT        = NO
+ DOT_MULTI_TARGETS      = NO
+ GENERATE_LEGEND        = NO
+ DOT_CLEANUP            = YES
+ #---------------------------------------------------------------------------
+ #External reference options
+ #---------------------------------------------------------------------------
+ GENERATE_TAGFILE  = xtpluginpy_doc.tag
+ SEARCHENGINE      = YES
index 0000000000000000000000000000000000000000,0b3054712acbcfd9b1903fe1e5ffb603c05096e6..f3908235268aacf5e416face690fba2a558284e3
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,16 +1,15 @@@
 -\b Parasolid interface to be used as plugin for SALOME Geometry 
 -module. 
 -It is destined for:
 -- Importing CAD models stored in Parasolid format ( *.x_t and *.xt files ) into 
 -SALOME study;
+ /*!
+ \mainpage Introduction to XTPLUGIN
 -To manage parameters of the XTPLUGIN use \subpage xtplugin_import_page.
++The \b XTPLUGIN implements \b Parasolid interface as a plugin for SALOME Geometry module.
 -Also all XTPLUGIN functionalities are accessible via
++It can be used for importing CAD models stored in Parasolid format ( *.x_t and *.xt files ) into 
++SALOME study.
++To use functionality of the XTPLUGIN refer to \subpage xtplugin_import_page.
++
++Also all functionalities of the XTPLUGIN are accessible via
+ \subpage xtplugin_python_interface_page "XTPLUGIN Python interface".
+ */
index 0000000000000000000000000000000000000000,d0e754d14d0423c1425601af17e18b207895d636..6991a2da2785b8b53345a0a6f114f344a9d49ca7
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,23 +1,23 @@@
 -For using XTPLUGIN functionalities in SALOME:
+ /*!
+ \page xtplugin_import_page Import XT
 -  Browse and select the file and click "Open" button. New object (shape) 
 -  will appears in the SALOME object browser.
++To use XTPLUGIN functionalities in SALOME:
+ - Run SALOME and activate Geometry module.
+ - Import the XT file from menu <b>File/Import/XT</b>.
+   \image html import_xt.png
+   
 -  \note It is possible to re-open from the initial file a previously imported shape if 
 -  the file has been changed on disk. For this, select <b>Reload From Disk</b> 
 -  in the context menu of the imported shape. The reloaded shape will have the same 
 -  representation parameters as before this operation.
++  Browse and select the file and press "Open" button. New object (shape) 
++  will appear in the SALOME object browser.
++  \note It is possible to re-load a previously imported shape from the initial file if 
++  the file has been changed on disk. For this, select <b>Reload From Disk</b> item
++  in the Object browser's context menu of the imported shape. The reloaded shape will
++  have the same representation parameters as before this operation.
+   \image html reopen_xt.png
+ */
index 0000000000000000000000000000000000000000,a00567eb5a65b3da0afa470e22d48becc21612d7..0768a93b0c7534b940b6fe013c09ef0be81d6e6f
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,19 +1,19 @@@
 -Python package XTPluginBuilder defines several classes, destined for 
 -import CAD models in Parasolid format (*.x_t and *.xt files).
+ /*!
+ \page xtplugin_python_interface_page Python Interface
 -import CAD models:
++Python package XTPluginBuilder defines a function that allows
++importing CAD models in Parasolid format (*.x_t and *.xt files).
+ XTPLUGIN dynamically adds several methods to the geomBuilder.
+ Below you can see an example of usage of the XTPluginBuilder package for 
 -<h2>Example of import CAD model stored in Parasolid format (*.x_t and *.xt files) with XTPLUGIN:</h2>
++importing CAD models:
+ \anchor example_XTPlugin
++<h2>Example of importing of CAD model stored in Parasolid format (*.x_t and *.xt files) with XTPLUGIN:</h2>
+ \tui_script{XTPlugindemo.py}
+ */
index 0000000000000000000000000000000000000000,e21ab0ce443f1fd677742df7549edff2f623a795..a9dd3c180bc809df60b7baa78e1a225c91a6813f
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,13 +1,13 @@@
 -      Copyright &copy; 2014  CEA/DEN, EDF R&amp;D, OPEN CASCADE<br>
+ <!-- HTML footer for doxygen 1.8.3.1-->
+ <!--BEGIN GENERATE_TREEVIEW-->
+ <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+   <ul>
+     $navpath
+     <li class="footer">
++      Copyright &copy; 2014-2015  OPEN CASCADE<br>
+     </li>
+   </ul>
+ </div>
+ <!--END GENERATE_TREEVIEW-->
+ </body>
+ </html>
index 0000000000000000000000000000000000000000,121bda3b15eee5258554a64c922f916d720b1a39..001cd368a1fee2ca60871693010ebb6c63b24d22
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,49 +1,49 @@@
 -# Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++# Copyright (C) 2014-2015  OPEN CASCADE
+ #
+ # This library is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+ # License as published by the Free Software Foundation; either
+ # version 2.1 of the License, or (at your option) any later version.
+ #
+ # This library is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ # Lesser General Public License for more details.
+ #
+ # You should have received a copy of the GNU Lesser General Public
+ # License along with this library; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ #
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ #
+ INCLUDE(UseOmniORB)
+ INCLUDE_DIRECTORIES(
+   ${KERNEL_INCLUDE_DIRS}
+   ${GEOM_INCLUDE_DIRS}
+   ${OMNIORB_INCLUDE_DIR}
+   ${CMAKE_CURRENT_BINARY_DIR}
+ )
+ IF(WIN32)
+   ADD_DEFINITIONS(-DNOGDI)
+ ENDIF(WIN32)
+ SET(SalomeIDLXTPlugin_IDLSOURCES
+   XTPlugin.idl
+ )
+ SET(IDL_INCLUDE_DIRS
+   ${KERNEL_ROOT_DIR}/idl/salome
+   ${GEOM_ROOT_DIR}/idl/salome
+   ${CMAKE_CURRENT_SOURCE_DIR}
+ )
+ SET(IDL_LINK_FLAGS
+   ${KERNEL_SalomeIDLKernel}
+   ${GEOM_SalomeIDLGEOM}
+ )
+ OMNIORB_ADD_MODULE(SalomeIDLXTPlugin "${SalomeIDLXTPlugin_IDLSOURCES}" "${IDL_INCLUDE_DIRS}" "${IDL_LINK_FLAGS}")
+ ADD_DEPENDENCIES(SalomeIDLXTPlugin ${GEOM_SalomeIDLGEOM})
+ INSTALL(TARGETS SalomeIDLXTPlugin EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
index 0000000000000000000000000000000000000000,05e8e9715b1ce6aad1bfdc1667f8d1decb783ccb..8749783c4c9cbd53433c911f608388209dfa8f2f
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,42 +1,42 @@@
 -// Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ #ifndef __XTPlugin_IDL__
+ #define __XTPlugin_IDL__
+ #include "GEOM_Gen.idl"
+ module XTPlugin
+ {
+   /*!
+    *  \brief Interface for XTPlugin modeling functions.
+    */
+   interface IXTOperations : GEOM::GEOM_IOperations
+   {
+     /*!
+      *  \brief Import a shape from the XT file.
+      *
+      *  \param theFileName The file, containing the shape.
+      *  \return List of GEOM_Objects, containing the created shape and propagation groups.
+      */              
+     GEOM::ListOfGO ImportXT( in string theFileName );
+   };
+ };
+ #endif // __XTPlugin_IDL__
Simple merge
index 0000000000000000000000000000000000000000,067fe643d8005f51a93de5eb0a2c375439861dd3..2187f1f317492d12e5ee446e7cde1ea0578b7333
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,32 +1,32 @@@
 -  Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
+ <!--
++  Copyright (C) 2014-2015  OPEN CASCADE
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License.
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+   You should have received a copy of the GNU Lesser General Public
+   License along with this library; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+   See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ -->
+ <document>
+   <section name="resources">
+     <parameter name="XTPlugin" value="${XTPLUGIN_ROOT_DIR}/share/salome/resources/xtplugin"/>
+   </section>
+   <section name="GEOM">
+     <!-- Default GEOM module plugins -->
+     <parameter name="plugins" value="XTPlugin"/>
+   </section>
+   <section name="geom_help" >
+     <parameter name="Plug-ins/XT plugin User's Guide" value="${XTPLUGIN_ROOT_DIR}/share/doc/salome/gui/XTPLUGIN/index.html"/>
+   </section>
+ </document>
index 0000000000000000000000000000000000000000,652294afa4a6316e799f50266b4c0f26698953d4..61ebe17d9a148229fda8bfeafd924c5383114d6e
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,39 +1,39 @@@
 -  Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
+ <?xml version='1.0' encoding='us-ascii'?>
+ <!DOCTYPE meshers PUBLIC "" "desktop.dtd">
+ <!--
++  Copyright (C) 2014-2015  OPEN CASCADE
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+   You should have received a copy of the GNU Lesser General Public
+   License along with this library; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+   See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ -->
+ <!--  GUI customization for GEOM component  -->
+ <geom-plugins>
+   <geom-plugin name="XTPlugin"
+                server-lib="XTPluginEngine"
+                gui-lib="XTPluginGUI">
+     <actions>
+       <action label="Import_XT"
+               menu="FILE/IMPORT:10/IMPORTXT"
+               status-bar="IMPORTXT">
+       </action>
+     </actions>
+   </geom-plugin>
+ </geom-plugins>
Simple merge
index 0000000000000000000000000000000000000000,7c4ae02b49976574729719efde5185019f3383cc..8f93690693d00e33a8181170a722bce635848953
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,70 +1,78 @@@
 -# Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
+ #  -*- coding: iso-8859-1 -*-
++# Copyright (C) 2014-2015  OPEN CASCADE
+ #
+ # This library is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+ # License as published by the Free Software Foundation; either
+ # version 2.1 of the License, or (at your option) any later version.
+ #
+ # This library is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ # Lesser General Public License for more details.
+ #
+ # You should have received a copy of the GNU Lesser General Public
+ # License along with this library; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ #
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ #
+ from XTPlugin import IXTOperations
+ # Engine Library Name
+ __libraryName__ = "XTPluginEngine"
++## Get XT plugin operations interface
++#  @return an instance of XT plugin operations interface
+ def GetXTPluginOperations(self):
++    """
++    Get XT plugin operations interface.
++
++    Returns:
++        An instance of XT plugin operations interface
++    """
+     anOp = self.GetPluginOperations(self.myStudyId, __libraryName__)
+     return anOp._narrow(IXTOperations)
+ ## Import a shape from the XT file
+ #  @param theFileName The file, containing the shape.
+ #  @param theName Object name; when specified, this parameter is used
+ #         for result publication in the study. Otherwise, if automatic
+ #         publication is switched on, default value is used for result name.
+ #
+ #  @return New GEOM.GEOM_Object, containing the imported shape.
+ #          If material names are imported it returns the list of
+ #          objects. The first one is the imported object followed by
+ #          material groups.
+ #  @note Auto publishing is allowed for the shape itself. Imported
+ #        material groups are not automatically published.
+ def ImportXT(self, theFileName, theName=None):
+     """
+     Import a shape from the XT file
+     Parameters: 
+         theFileName The file, containing the shape.
+         theName Object name; when specified, this parameter is used
+                 for result publication in the study. Otherwise, if automatic
+                 publication is switched on, default value is used for result name.
+     Returns:
+         New GEOM.GEOM_Object, containing the imported shape.
+         If material names are imported it returns the list of
+         objects. The first one is the imported object followed by
+         material groups.
+     Note:
+         Auto publishing is allowed for the shape itself. Imported
+         material groups are not automatically published.
+     """
+     from salome.geom.geomBuilder import RaiseIfFailed
+     anOp = GetXTPluginOperations(self)
+     aListObj = anOp.ImportXT(theFileName)
+     RaiseIfFailed("ImportXT", anOp)
+     aNbObj = len(aListObj)
+     if aNbObj > 0:
+         self._autoPublish(aListObj[0], theName, "imported")
+     if aNbObj == 1:
+         return aListObj[0]
+     return aListObj
index 0000000000000000000000000000000000000000,3fac07cb60ef9d2f262095ef6e1560b82b5b0d3f..2999b7771c978beef20cd424317d974e3b4d55aa
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,31 +1,31 @@@
 -// Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ // internal includes
+ #include "XTPlugin_Engine.hxx"
+ #include "XTPlugin_OperationsCreator.hxx"
+ extern "C"
+ {
+   XTPLUGINENGINE_EXPORT
+   GEOM_GenericOperationsCreator* GetOperationsCreator()
+   {
+     return new XTPlugin_OperationsCreator();
+   }
+ }
index 0000000000000000000000000000000000000000,005bdeb93c405802da23642402a1b33931a2c699..a7021d079dee23f4d1582310d600afb52b1ef6b8
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,33 +1,33 @@@
 -// Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ #ifndef _XTPLUGIN_ENGINE_HXX_
+ #define _XTPLUGIN_ENGINE_HXX_
+ #ifdef WIN32
+  #if defined XTPLUGINENGINE_EXPORTS || defined XTPluginEngine_EXPORTS
+    #define XTPLUGINENGINE_EXPORT __declspec( dllexport )
+  #else
+    #define XTPLUGINENGINE_EXPORT __declspec( dllimport )
+  #endif 
+ #else
+    #define XTPLUGINENGINE_EXPORT
+ #endif
+ #endif
index 0000000000000000000000000000000000000000,2e9d98f7ad35acac46edf49a7f92d6aac7effa5e..11057cfa4bb3919a32131c5c1b7c9ab46bf78d3b
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,181 +1,181 @@@
 -// Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ // internal includes
+ #include "XTPlugin_GUI.h"
+ #include "XTPlugin_IOperations_i.hh"
+ // GUI includes
+ #include <SUIT_Desktop.h>
+ #include <SUIT_FileDlg.h>
+ #include <SUIT_MessageBox.h>
+ #include <SUIT_OverrideCursor.h>
+ #include <SUIT_Tools.h>
+ #include <LightApp_SelectionMgr.h>
+ #include <SalomeApp_Application.h>
+ #include <SalomeApp_Study.h>
+ #include <SALOME_ListIO.hxx>
+ // GEOM includes
+ #include "GeometryGUI.h"
+ #include "GEOM_Operation.h"
+ #include "GEOMBase.h"
+ #include "GEOM_Displayer.h"
+ #include <SALOMEconfig.h>
+ #include CORBA_SERVER_HEADER(XTPlugin)
+ //=======================================================================
+ // function : XTPlugin_GUI()
+ // purpose  : Constructor
+ //=======================================================================
+ XTPlugin_GUI::XTPlugin_GUI( GeometryGUI* parent ) : GEOMPluginGUI( parent )
+ {
+ }
+ //=======================================================================
+ // function : ~XTPlugin_GUI
+ // purpose  : Destructor
+ //=======================================================================
+ XTPlugin_GUI::~XTPlugin_GUI()
+ {
+ }
+ //=======================================================================
+ // function : OnGUIEvent()
+ // purpose  : 
+ //=======================================================================
+ bool XTPlugin_GUI::OnGUIEvent( int theCommandID, SUIT_Desktop* parent )
+ {
+   QString cmd;
+   switch ( theCommandID ) {
+   case 1:
+     cmd = "Import_XT";
+   default:
+     break;
+   }
+   return OnGUIEvent( cmd, parent );
+ }
+ //=======================================================================
+ // function : OnGUIEvent()
+ // purpose  :
+ //=======================================================================
+ bool XTPlugin_GUI::OnGUIEvent( const QString& theCommandID, SUIT_Desktop* parent )
+ {
+   bool result = false;
+   if ( theCommandID == "Import_XT" )
+   {
+     result = importXT( parent );
+   }
+   else
+   {
+     getGeometryGUI()->getApp()->putInfo( tr("GEOM_PRP_COMMAND").arg( theCommandID ) );
+   }
+   return result;
+ }
+ //=======================================================================
+ // function : importXT
+ // purpose  :
+ //=======================================================================
+ bool XTPlugin_GUI::importXT( SUIT_Desktop* parent )
+ {
+   SalomeApp_Application* app = getGeometryGUI()->getApp();
+   if ( !app ) return false;
+   SalomeApp_Study* study = dynamic_cast<SalomeApp_Study*> ( app->activeStudy() );
+   if ( !study ) return false;
+   SALOMEDS::Study_var dsStudy = GeometryGUI::ClientStudyToStudy( study->studyDS() );
+   GEOM::GEOM_IOperations_var op = GeometryGUI::GetGeomGen()->GetPluginOperations( dsStudy->StudyId(), "XTPluginEngine" );
+   XTPlugin::IXTOperations_var xtOp = XTPlugin::IXTOperations::_narrow( op );
+   if ( CORBA::is_nil( xtOp ) ) return false;
+   QStringList fileNames = app->getOpenFileNames( SUIT_FileDlg::getLastVisitedPath().isEmpty() ? QDir::currentPath() : QString(""),
+                                                  tr( "XT_FILES" ),
+                                                  tr( "IMPORT_TITLE" ),
+                                                  parent );
+   if ( fileNames.count() > 0 )
+   {
+     QStringList entryList;
+     QStringList errors;
+     foreach( QString fileName, fileNames )
+     {
+       SUIT_OverrideCursor wc;
+       GEOM_Operation transaction( app, xtOp.in() );
+       try
+       {
+         app->putInfo( tr( "GEOM_PRP_LOADING" ).arg( fileName ) );
+         transaction.start();
+         GEOM::ListOfGO_var result = xtOp->ImportXT( fileName.toUtf8().constData() );
+         if ( result->length() > 0 && xtOp->IsDone() )
+         {
+           GEOM::GEOM_Object_var main = result[0];
+           QString publishName = GEOMBase::GetDefaultName( SUIT_Tools::file( fileName, true ) );
+           SALOMEDS::SObject_var so = GeometryGUI::GetGeomGen()->PublishInStudy( dsStudy,
+                                                   SALOMEDS::SObject::_nil(),
+                                                   main.in(),
+                                                   publishName.toUtf8().constData() );
+           entryList.append( so->GetID() );
+           transaction.commit();
+           GEOM_Displayer( study ).Display( main.in() );
+        }
+        else
+        {
+          transaction.abort();
+          errors.append( QString( "%1 : %2" ).arg( fileName ).arg( xtOp->GetErrorCode() ) );
+        }
+      }
+      catch( const SALOME::SALOME_Exception& e )
+      {
+        transaction.abort();
+      }
+    }
+    getGeometryGUI()->updateObjBrowser( true );
+    app->browseObjects( entryList );
+    if ( errors.count() > 0 )
+    {
+      SUIT_MessageBox::critical( parent,
+                                 tr( "GEOM_ERROR" ),
+                                 tr( "GEOM_IMPORT_ERRORS" ) + "\n" + errors.join( "\n" ) );
+    }
+   }
+   return fileNames.count() > 0;
+ }
+ //=====================================================================================
+ // EXPORTED METHODS
+ //=====================================================================================
+ extern "C"
+ {
+ #ifdef WIN32
+     __declspec( dllexport )
+ #endif
+   GEOMGUI* GetLibGUI( GeometryGUI* parent )
+   {
+     return new XTPlugin_GUI( parent );
+   }
+ }
index 0000000000000000000000000000000000000000,123134530cdb8ab56abdde336f81095ab5709d3d..1ef3e0973dbfd99358c631e15aa5ad8d883e137d
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,39 +1,39 @@@
 -// Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ #ifndef XTPlugin_GUI_H
+ #define XTPlugin_GUI_H
+ #include <GEOMPluginGUI.h>
+ class XTPlugin_GUI: public GEOMPluginGUI
+ {
+   Q_OBJECT
+ public:
+   XTPlugin_GUI( GeometryGUI* parent );
+   ~XTPlugin_GUI();
+   bool OnGUIEvent( int commandId, SUIT_Desktop* );
+   bool OnGUIEvent( const QString&, SUIT_Desktop* );
+ private:
+   bool importXT( SUIT_Desktop* );
+ };
+ #endif // XTPlugin_GUI_H
index 0000000000000000000000000000000000000000,c78201324ce69f92a72645a8a11c6c13a03d3e1c..5088796575dc3c65884241b88b883b095a09621b
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,56 +1,56 @@@
 -// Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ // internal includes
+ #include "XTPlugin_IECallBack.hxx"
+ #include "XTPlugin_IOperations.hxx"
+ #include "XTPlugin_OperationsCreator.hxx"
+ //=============================================================================
+ /*!
+  *  constructor
+  */
+ //=============================================================================
+ XTPlugin_IECallBack::XTPlugin_IECallBack()
+ {
+ }
+ //=============================================================================
+ /*!
+  *  destructor
+  */
+ //=============================================================================
+ XTPlugin_IECallBack::~XTPlugin_IECallBack()
+ {
+ }
+ //=============================================================================
+ /*!
+  *  Import
+  */
+ //=============================================================================
+ Handle(TColStd_HSequenceOfTransient)
+ XTPlugin_IECallBack::Import( int theDocId,
+                              const TCollection_AsciiString& theFormatName,
+                              const TCollection_AsciiString& theFileName )
+ {
+   XTPlugin_IOperations* aPluginOperations = XTPlugin_OperationsCreator::get( GetEngine(), theDocId );
+   return aPluginOperations->ImportXT( theFileName );
+ }
index 0000000000000000000000000000000000000000,975e7e1e5c96869d587c6e9c1a45da5917455736..6ef4e71facbc6a08d3854b368ce06e3eedd560df
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,44 +1,44 @@@
 -// Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ #ifndef _XTPlugin_IECallBack_HXX_
+ #define _XTPlugin_IECallBack_HXX_
+ // internal includes
+ #include "XTPlugin_IOperations.hxx"
+ // GEOM includes
+ #include <GEOM_Object.hxx>
+ #include <GEOMImpl_IECallBack.hxx>
+ // OCC includes
+ #include <TCollection_AsciiString.hxx>
+ class XTPLUGINENGINE_EXPORT XTPlugin_IECallBack : public GEOMImpl_IECallBack
+ {
+ public:
+   XTPlugin_IECallBack();
+   ~XTPlugin_IECallBack();
+   Handle(TColStd_HSequenceOfTransient) Import( int theDocId,
+                                                const TCollection_AsciiString& theFormatName,
+                                                const TCollection_AsciiString& theFileName );
+ };
+ #endif
index 0000000000000000000000000000000000000000,9a4453c95d1bfe0ccb4ef463ff225bec7b5b20e1..a3e2286c0c2c4c079fa632a59199249375498903
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,42 +1,42 @@@
 -// Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ #ifndef _XTPlugin_IImport_HXX_
+ #define _XTPlugin_IImport_HXX_
+ #include "GEOM_Function.hxx"
+ #define IMPORTXT_ARG_FILENAME 1
+ class XTPlugin_IImport
+ {
+ public:
+   XTPlugin_IImport( Handle(GEOM_Function) theFunction)
+     : _func(theFunction) {}
+   void SetFileName( const TCollection_AsciiString& theFileName )
+     { _func->SetString( IMPORTXT_ARG_FILENAME, theFileName ); }
+   TCollection_AsciiString GetFileName()
+     { return _func->GetString( IMPORTXT_ARG_FILENAME ); }
+   
+ private:
+   Handle(GEOM_Function) _func;
+ };
+ #endif // _XTPlugin_IImport_HXX_
index 0000000000000000000000000000000000000000,411be1f930e801017938a09aef336aeac883530c..b7bc97f7b38f9680f8c2b4ce6160cd90a42d7dc4
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,110 +1,110 @@@
 -// Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ // internal includes
+ #include "XTPlugin_IOperations.hxx"
+ #include "XTPlugin_ImportDriver.hxx"
+ #include "XTPlugin_IImport.hxx"
+ // KERNEL includes
+ #include <utilities.h>
+ // GEOM includes
+ #include <GEOM_PythonDump.hxx>
+ #include <GEOMImpl_Types.hxx>
+ #include <Standard_ErrorHandler.hxx> // CAREFUL ! position of this file is critic : see Lucien PIGNOLONI / OCC
+ //=============================================================================
+ /*!
+  *  Constructor
+  */
+ //=============================================================================
+ XTPlugin_IOperations::XTPlugin_IOperations( GEOM_Engine* theEngine, int theDocID )
+ : GEOMImpl_IBaseIEOperations( theEngine, theDocID )
+ {
+   MESSAGE( "XTPlugin_IOperations::XTPlugin_IOperations" );
+ }
+ //=============================================================================
+ /*!
+  *  Destructor
+  */
+ //=============================================================================
+ XTPlugin_IOperations::~XTPlugin_IOperations()
+ {
+   MESSAGE( "XTPlugin_IOperations::~XTPlugin_IOperations" );
+ }
+ //=============================================================================
+ /*!
+  *  ImportXT
+  *  Import a shape from XT format
+  *  \param theFileName The name of the file to import
+  *  \return List of GEOM_Objects, containing the created shape and propagation groups.
+  */
+ //=============================================================================
+ Handle(TColStd_HSequenceOfTransient)
+ XTPlugin_IOperations::ImportXT( const TCollection_AsciiString& theFileName )
+ {
+   SetErrorCode(KO);
+   if( theFileName.IsEmpty() ) return NULL;
+   //Add a new result object
+   Handle(GEOM_Object) anImported = GetEngine()->AddObject( GetDocID(), GEOM_IMPORT );
+   //Add an Import function
+   Handle(GEOM_Function) aFunction =
+     anImported->AddFunction( XTPlugin_ImportDriver::GetID(), IMPORT_SHAPE);
+   if (aFunction.IsNull()) return NULL;
+   //Check if the function is set correctly
+   if (aFunction->GetDriverGUID() != XTPlugin_ImportDriver::GetID()) return NULL;
+   //Set parameters
+   XTPlugin_IImport aCI( aFunction );
+   aCI.SetFileName( theFileName );
+   //Perform the Import
+   Handle(TColStd_HSequenceOfTransient) aSeq = new TColStd_HSequenceOfTransient;
+   try {
+     OCC_CATCH_SIGNALS;
+     if( !GetSolver()->ComputeFunction( aFunction ) ) {
+       SetErrorCode( "Import driver failed" );
+       return NULL;
+     }
+     aSeq->Append(anImported);
+     // Greate material groups.
+     //MakeMaterialGroups( anImported, aSeq );
+   }
+   catch( Standard_Failure ) {
+     Handle(Standard_Failure) aFail = Standard_Failure::Caught();
+     SetErrorCode( aFail->GetMessageString() );
+     return NULL;
+   }
+   //Make a Python command
+   GEOM::TPythonDump pd (aFunction);
+   pd << aSeq << " = geompy.ImportXT(\"" << theFileName.ToCString() << "\" )";
+   SetErrorCode(OK);
+   return aSeq;
+ }
index 0000000000000000000000000000000000000000,d259c99d00cb26fbb1831badc1337842c39d6180..cb7bdfded145b0ff8b4e33ca6fef0367dca9819e
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,39 +1,39 @@@
 -// Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ // File : XTPlugin_IOperations.hxx
+ #ifndef _XTPlugin_IOperations_HXX_
+ #define _XTPlugin_IOperations_HXX_
+ // internal includes
+ #include "XTPlugin_Engine.hxx"
+ // GEOM includes
+ #include <GEOMImpl_IBaseIEOperations.hxx>
+ class XTPLUGINENGINE_EXPORT XTPlugin_IOperations: public GEOMImpl_IBaseIEOperations
+ {
+ public:
+   XTPlugin_IOperations( GEOM_Engine*, int );
+   ~XTPlugin_IOperations();
+   Handle(TColStd_HSequenceOfTransient) ImportXT( const TCollection_AsciiString& );
+ };
+ #endif
index 0000000000000000000000000000000000000000,47dcac8f989cfb7bb85652fef4066400dda882e0..964e2e7a00a84eab65e1708b0559cc933591c46f
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,84 +1,84 @@@
 -// Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ // internal includes
+ #include "XTPlugin_IOperations_i.hh"
+ #include "XTPlugin_IOperations.hxx"
 -#include <XTPLUGIN_version.h>
++#include "XTPlugin_version.h"
+ // KERNEL includes
+ #include <utilities.h>
+ //=============================================================================
+ /*!
+  *   constructor:
+  */
+ //=============================================================================
+ XTPlugin_IOperations_i::XTPlugin_IOperations_i( PortableServer::POA_ptr thePOA,
+                                                 GEOM::GEOM_Gen_ptr      theEngine,
+                                                 ::XTPlugin_IOperations* theImpl )
+ :GEOM_IOperations_i( thePOA, theEngine, theImpl )
+ {
+   MESSAGE( "XTPlugin_Operations_i::XTPlugin_Operations_i" );
+ }
+ //=============================================================================
+ /*!
+  *  destructor
+  */
+ //=============================================================================
+ XTPlugin_IOperations_i::~XTPlugin_IOperations_i()
+ {
+   MESSAGE( "XTPlugin_Operations_i::~XTPlugin_Operations_i" );
+ }
+ //=============================================================================
+ /*!
+  *  ImportXT
+  *  Import a shape from XT format
+  *  \param theFileName The name of the file to import
+  *  \return List of GEOM_Objects, containing the created shape and propagation groups.
+  */
+ //=============================================================================
+ GEOM::ListOfGO* XTPlugin_IOperations_i::ImportXT( const char* theFileName )
+ {
+   GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
+   //Set a not done flag
+   GetOperations()->SetNotDone();
+   //Import the shape from the file
+   Handle(TColStd_HSequenceOfTransient) aHSeq = GetOperations()->ImportXT( theFileName );
+   if( !GetOperations()->IsDone() || aHSeq.IsNull() )
+     return aSeq._retn();
+   // Copy created objects.
+   Standard_Integer aLength = aHSeq->Length();
+   aSeq->length( aLength );
+   for( Standard_Integer i = 1; i <= aLength; i++ )
+     aSeq[i-1] = GetObject( Handle(GEOM_Object)::DownCast( aHSeq->Value(i) ) );
+   return aSeq._retn();
+ }
+ XTPlugin_IOperations* XTPlugin_IOperations_i::GetOperations()
+ {
+   return (XTPlugin_IOperations*)GetImpl();
+ }
index 0000000000000000000000000000000000000000,5fea3b909f716b0ed0adadb9b9df892eb1228439..c998040bf49a599b43393815bededc58c92ae9a6
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,51 +1,51 @@@
 -// Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ #ifndef _XTPlugin_IOperations_i_HeaderFile
+ #define _XTPlugin_IOperations_i_HeaderFile
+ // idl includes
+ #include <SALOMEconfig.h>
+ #include CORBA_SERVER_HEADER( GEOM_Gen )
+ #include CORBA_SERVER_HEADER( XTPlugin )
+ // internal includes
+ #include "XTPlugin_Engine.hxx"
+ // GEOM includes
+ #include <GEOM_IOperations_i.hh>
+ class XTPlugin_IOperations;
+ class XTPLUGINENGINE_EXPORT XTPlugin_IOperations_i :
+       public virtual POA_XTPlugin::IXTOperations,
+       public virtual GEOM_IOperations_i
+ {
+ public:
+   XTPlugin_IOperations_i( PortableServer::POA_ptr thePOA,
+                           GEOM::GEOM_Gen_ptr      theEngine,
+                           XTPlugin_IOperations*   theImpl );
+   ~XTPlugin_IOperations_i();
+   GEOM::ListOfGO* ImportXT( const char* );
+   XTPlugin_IOperations* GetOperations();
+ };
+ #endif // _XTPlugin_IOperations_i_HeaderFile
index 0000000000000000000000000000000000000000,32f2febcc6d712a821e60df4ea7585735672eb12..dbdb02d563b1bf3c20bb4c7767989f6ac4f292e2
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,265 +1,265 @@@
 -// Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ // internal includes
+ #include "XTPlugin_ImportDriver.hxx"
+ #include "XTPlugin_IImport.hxx"
+ #include "XTPlugin_Engine.hxx"
+ // KERNEL includes
+ #include <Basics_Utils.hxx>
+ #include <utilities.h>
+ // GEOM includes
+ #include <GEOM_Function.hxx>
+ #include <GEOMImpl_Types.hxx>
+ // OOCT includes
+ #include <IFSelect_ReturnStatus.hxx>
+ #include <TCollection_AsciiString.hxx>
+ #include <TDF_Label.hxx>
+ #include <TDataStd_Name.hxx>
+ #include <TNaming_Builder.hxx>
+ #include <TopoDS_Shape.hxx>
+ #include <TopoDS_Iterator.hxx>
+ #include <TransferBRep.hxx>
+ #include <Transfer_Binder.hxx>
+ #include <Transfer_TransientProcess.hxx>
+ #include <XtAttributes_AttribGroup.hxx>
+ #include <XtAttributes_Attribute.hxx>
+ #include <XtAttributes_CharValues.hxx>
+ #include <XSControl_TransferReader.hxx>
+ #include <XSControl_WorkSession.hxx>
+ #include <XtControl_Reader.hxx>
+ #include <XtData_HArray1OfObject.hxx>
+ #include <XtData_Model.hxx>
+ #include <XtData_Object.hxx>
+ #include <XtGeom_Curve.hxx>
+ #include <XtGeom_Point.hxx>
+ #include <XtGeom_Surface.hxx>
+ #include <XtTopoDS_Topology.hxx>
+ #include <StdFail_NotDone.hxx>
+ #ifdef XT_HASLICENSE
+ #include "XTPlugin_license.h"
+ #include <OCCLicense_Activate.hxx>
+ #include <Standard_LicenseError.hxx>
+ #endif // XT_HASLICENSE
+ //=======================================================================
+ //function : GetID
+ //purpose  :
+ //=======================================================================
+ const Standard_GUID& XTPlugin_ImportDriver::GetID()
+ {
+   static Standard_GUID aGUID("81cc16bb-486f-4ec7-87b2-960b4aed557f");
+   return aGUID;
+ }
+ //=======================================================================
+ //function : XTPlugin_ImportDriver
+ //purpose  :
+ //=======================================================================
+ XTPlugin_ImportDriver::XTPlugin_ImportDriver()
+ {
+ }
+ //=======================================================================
+ //function : Execute
+ //purpose  :
+ //=======================================================================
+ Standard_Integer XTPlugin_ImportDriver::Execute( TFunction_Logbook& log ) const
+ {
+   if( Label().IsNull() ) return 0;
+   Handle(GEOM_Function) aFunction = GEOM_Function::GetFunction( Label() );
+   XTPlugin_IImport aData( aFunction );
+   TCollection_AsciiString aFileName = aData.GetFileName().ToCString();
+   MESSAGE("Import XT from file " << aFileName);
+   TopoDS_Shape aResShape;
+ #ifdef XT_HASLICENSE
+   try {
+     OCCLicense_Activate( "XT-R-"OCC_VERSION_STRING, XT_READ_LICENSE);
+   }
+   catch (Standard_LicenseError) {
+     return aResShape;
+   }
+ #endif // XT_HASLICENSE
+   // Set "C" numeric locale to save numbers correctly
+   Kernel_Utils::Localizer loc;
+   XtControl_Reader aReader;
+   IFSelect_ReturnStatus status = aReader.ReadFile(aFileName.ToCString());
+   if (status == IFSelect_RetDone) {
+     aReader.TransferRoots();
+       aResShape = aReader.OneShape();
+     // ATTENTION: this is a workaround for mantis issue 0020442 remark 0010776
+     // It should be removed after patching OCCT for bug OCC22436
+     // (fix for OCCT is expected in service pack next to OCCT6.3sp12)
+     if (aResShape.ShapeType() == TopAbs_COMPOUND) {
+       int nbSub1 = 0;
+       TopoDS_Shape currShape;
+       TopoDS_Iterator It (aResShape, Standard_True, Standard_True);
+       for (; It.More(); It.Next()) {
+         nbSub1++;
+         currShape = It.Value();
+       }
+       if (nbSub1 == 1)
+         aResShape = currShape;
+     }
+     Handle(XtData_Model) aModel = Handle(XtData_Model)::DownCast( aReader.WS()->Model() );
+     Handle(XSControl_TransferReader) TR = aReader.WS()->TransferReader();
+     if (!TR.IsNull()) {
+       Handle(Transfer_TransientProcess) TP = TR->TransientProcess();
+       Standard_Integer nb = aModel->NbEntities();
+       for (Standard_Integer i = 1; i <= nb; i ++) {
+         Handle(XtData_Object) XtOb = Handle(XtData_Object)::DownCast ( aModel->Value(i) );
+         if (XtOb.IsNull()) continue;
+         Handle(XtAttributes_AttribGroup) XtAG;
+         Standard_Boolean MayBeName = Standard_False;
+         if (XtOb->IsKind(STANDARD_TYPE(XtTopoDS_Topology))) {
+           Handle(XtTopoDS_Topology) XtT = Handle(XtTopoDS_Topology)::DownCast(XtOb);
+           XtAG = XtT->AttributesGroups();
+           MayBeName = Standard_True;
+         }
+         else if (XtOb->IsKind(STANDARD_TYPE(XtGeom_Surface))) {
+           Handle(XtGeom_Surface) XtGS = Handle(XtGeom_Surface)::DownCast(XtOb);
+           XtAG = XtGS->AttributesGroups();
+           MayBeName = Standard_True;
+         }
+         else if (XtOb->IsKind(STANDARD_TYPE(XtGeom_Curve))) {
+           Handle(XtGeom_Curve) XtGC = Handle(XtGeom_Curve)::DownCast(XtOb);
+           XtAG = XtGC->AttributesGroups();
+           MayBeName = Standard_True;
+         }
+         else if (XtOb->IsKind(STANDARD_TYPE(XtGeom_Point))) {
+           Handle(XtGeom_Point) XtGP = Handle(XtGeom_Point)::DownCast(XtOb);
+           XtAG = XtGP->AttributesGroups();
+           MayBeName = Standard_True;
+         }
+         if (MayBeName) {
+           TCollection_AsciiString string;
+           Standard_Boolean IsName = Standard_False;
+           Handle(XtAttributes_Attribute) XtA = Handle(XtAttributes_Attribute)::DownCast(XtAG);
+           if (!XtA.IsNull()) {
+             Handle(XtAttributes_AttribDef) XtAD = XtA->Definition();
+             while (!XtAD.IsNull()) {
+               if (XtAD->TypeID()==8017) {
+                 const Handle(XtData_HArray1OfObject) &HAFV = XtA->Fields();
+                 const Standard_Integer NbFV = HAFV->Length();
+                 for (Standard_Integer j=1; j<=NbFV; j++) {
+                   const Handle(XtData_Object) &FV = HAFV->Value(j);
+                   if(!FV.IsNull() && FV->IsKind(STANDARD_TYPE(XtAttributes_CharValues))) {
+                     string = Handle(XtAttributes_CharValues)::DownCast(FV)->Values();
+                     IsName = Standard_True;
+                   }
+                 }
+               }
+               XtAD = XtAD->Next();
+             }
+           }
+           if (IsName) {
+             // find target shape
+             Handle(Transfer_Binder) binder = TP->Find ( XtOb );
+             if ( binder.IsNull() ) continue;
+             TopoDS_Shape S = TransferBRep::ShapeResult (binder);
+             if ( S.IsNull() ) continue;
+             TDF_Label L;
+             TDF_TagSource aTag;
+             L = aTag.NewChild(aFunction->GetNamingEntry());
+             TNaming_Builder tnBuild(L);
+             tnBuild.Generated(S);
+             // set a name to the document
+             string.LeftAdjust();
+             string.RightAdjust();
+             TCollection_ExtendedString str ( string );
+             TDataStd_Name::Set ( L, str );
+           }
+         }
+       }
+     }
+   }
+   else {
+     TCollection_AsciiString anError = "Wrong format of the imported file. Can't import file.";
+     StdFail_NotDone::Raise( anError.ToCString() );
+     aResShape.Nullify();
+   }
+   if( aResShape.IsNull() ) return 0;
+   aFunction->SetValue( aResShape );
+   log.SetTouched( Label() );
+   return 1;
+ }
+ //=======================================================================
+ //function : MustExecute
+ //purpose  :
+ //=======================================================================
+ Standard_Boolean XTPlugin_ImportDriver::MustExecute( const TFunction_Logbook& ) const
+ {
+   return Standard_True;
+ }
+ //================================================================================
+ /*!
+  * \brief Returns a name of creation operation and names and values of creation parameters
+  */
+ //================================================================================
+ bool XTPlugin_ImportDriver::
+ GetCreationInformation( std::string&             theOperationName,
+                         std::vector<GEOM_Param>& theParams )
+ {
+   if( Label().IsNull() ) return 0;
+   Handle(GEOM_Function) function = GEOM_Function::GetFunction( Label() );
+   XTPlugin_IImport aCI( function );
+   Standard_Integer aType = function->GetType();
+   theOperationName = "ImportXT";
+   switch ( aType ) {
+   case IMPORT_SHAPE:
+     AddParam( theParams, "File name", aCI.GetFileName() );
+     break;
+   default:
+     return false;
+   }
+   return true;
+ }
+ IMPLEMENT_STANDARD_HANDLE( XTPlugin_ImportDriver, GEOM_BaseDriver );
+ IMPLEMENT_STANDARD_RTTIEXT( XTPlugin_ImportDriver, GEOM_BaseDriver );
index 0000000000000000000000000000000000000000,6ec1dd22830d04c35475574d946f8e59fc861abe..82873f7f717c1d05eef59aa4d54a437aa5f52816
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,50 +1,50 @@@
 -// Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ #ifndef _XTPlugin_ImportDriver_HXX
+ #define _XTPlugin_ImportDriver_HXX
+ // GEOM includes
+ #include <GEOM_BaseDriver.hxx>
+ // OCCT includes
+ #ifndef _TFunction_Logbook_HeaderFile
+ #include <TFunction_Logbook.hxx>
+ #endif
+ DEFINE_STANDARD_HANDLE( XTPlugin_ImportDriver, GEOM_BaseDriver );
+ class XTPlugin_ImportDriver : public GEOM_BaseDriver
+ {
+ public:
+   XTPlugin_ImportDriver();
+   ~XTPlugin_ImportDriver() {};
+   static const Standard_GUID& GetID();
+   virtual Standard_Integer    Execute( TFunction_Logbook& log ) const;
+   Standard_Boolean            MustExecute( const TFunction_Logbook& ) const;
+   virtual void                Validate( TFunction_Logbook& ) const {}
+  
+   virtual bool                GetCreationInformation( std::string& theOperationName,
+                                                       std::vector<GEOM_Param>& params );
+ DEFINE_STANDARD_RTTI( XTPlugin_ImportDriver )
+ };
+ #endif // _XTPlugin_ImportDriver_HXX
index 0000000000000000000000000000000000000000,a419d735f5222c076862b5b316eaf8d8547017d6..df240483a56c835da6bd49a1766d8abe13cf438a
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,68 +1,68 @@@
 -// Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ // internal includes
+ #include "XTPlugin_OperationsCreator.hxx"
+ #include "XTPlugin_IOperations_i.hh"
+ #include "XTPlugin_ImportDriver.hxx"
+ #include "XTPlugin_IECallBack.hxx"
+ // KERNEL includes
+ #include <Utils_ExceptHandlers.hxx>
+ #include <utilities.h>
+ // GEOM includes
+ #include <GEOMImpl_IECallBack.hxx>
+ // OCCT includes
+ #include <TFunction_DriverTable.hxx>
+ std::map <int, XTPlugin_IOperations*> XTPlugin_OperationsCreator::_mapOfOperations;
+ XTPlugin_OperationsCreator::XTPlugin_OperationsCreator()
+ {
+   // Register drivers
+   TFunction_DriverTable::Get()->AddDriver( XTPlugin_ImportDriver::GetID(),
+                                            new XTPlugin_ImportDriver() );
+   // Register callback
+   XTPlugin_IECallBack* callback = new XTPlugin_IECallBack();
+   GEOMImpl_IECallBack::Register( "XT", callback );
+ }
+ XTPlugin_OperationsCreator::~XTPlugin_OperationsCreator()
+ {
+ }
+ GEOM_IOperations_i* XTPlugin_OperationsCreator::Create( PortableServer::POA_ptr thePOA,
+                                                         int                     theStudyId,
+                                                         GEOM::GEOM_Gen_ptr      theEngine,
+                                                         ::GEOMImpl_Gen*         theGenImpl )
+ {
+   Unexpect aCatch( SALOME_SalomeException );
+   MESSAGE( "XTPlugin_OperationsCreator::Create" );
+   return new XTPlugin_IOperations_i( thePOA, theEngine, get( theGenImpl, theStudyId ) );
+ }
+ XTPlugin_IOperations* XTPlugin_OperationsCreator::get( ::GEOMImpl_Gen* theGenImpl,
+                                                        int             theStudyId )
+ {
+   if (_mapOfOperations.find( theStudyId ) == _mapOfOperations.end() )
+     _mapOfOperations[theStudyId] = new XTPlugin_IOperations( theGenImpl, theStudyId );
+   return _mapOfOperations[theStudyId];
+ }
index 0000000000000000000000000000000000000000,f89be10bdfd117ca9d3a105d0ea62c1cdc41b125..c5f329dd726cc4c178cc30f6117be725df2c5231
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,57 +1,57 @@@
 -// Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ #ifndef _GEOM_XTPlugin_OperationsCreator_HXX_
+ #define _GEOM_XTPlugin_OperationsCreator_HXX_
+ // internal includes
+ #include "XTPlugin_Engine.hxx"
+ // GEOM includes
+ #include "GEOM_Gen_i.hh"
+ // C++ includes
+ #include <map>
+ class XTPlugin_IOperations;
+ //=====================================================================
+ // Operations creator
+ //=====================================================================
+ class XTPLUGINENGINE_EXPORT XTPlugin_OperationsCreator : public GEOM_GenericOperationsCreator
+ {
+ public:
+   XTPlugin_OperationsCreator();
+   ~XTPlugin_OperationsCreator();
+   GEOM_IOperations_i* Create( PortableServer::POA_ptr thePOA,
+                               int                     theStudyId,
+                               GEOM::GEOM_Gen_ptr      theEngine,
+                               ::GEOMImpl_Gen*         theGenImpl );
+ private:
+   static XTPlugin_IOperations* get( ::GEOMImpl_Gen* theGenImpl,
+                                     int             theStudyId );
+   static std::map <int, XTPlugin_IOperations*> _mapOfOperations;
+   friend class XTPlugin_IECallBack;
+ };
+ #endif
index 0000000000000000000000000000000000000000,12c7089db5490be4a61576643b8a8cb7d37de758..de18bbe5a0f342f2b5b526d99e65d0efcbdcdf3d
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,25 +1,25 @@@
 -// Copyright (C) 2014  OPEN CASCADE
++// Copyright (C) 2014-2015  OPEN CASCADE
+ //
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU Lesser General Public
+ // License as published by the Free Software Foundation; either
+ // version 2.1 of the License, or (at your option) any later version.
+ //
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ // Lesser General Public License for more details.
+ //
+ // You should have received a copy of the GNU Lesser General Public
+ // License along with this library; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ //
+ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ //
+ #if !defined(__XTPLUGIN_LICENSE_H)
+ #define __XTPLUGIN_LICENSE_H
+ #define XT_READ_LICENSE  "@XT_READ_LICENSE@"
+ #endif // __XTPLUGIN_LICENSE_H
diff --cc src/__init__.py
index 0000000000000000000000000000000000000000,7fc622d59af3ac024bea40eb43c39763b022d0e7..c8478a0fbe750781931c3e76da12e9d37e4df39b
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,23 +1,23 @@@
 -# Copyright (C) 2014  CEA/DEN, EDF R&D, OPEN CASCADE
+ #  -*- coding: iso-8859-1 -*-
++# Copyright (C) 2014-2015  OPEN CASCADE
+ #
+ # This library is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+ # License as published by the Free Software Foundation; either
+ # version 2.1 of the License, or (at your option) any later version.
+ #
+ # This library is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ # Lesser General Public License for more details.
+ #
+ # You should have received a copy of the GNU Lesser General Public
+ # License along with this library; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ #
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+ #
+ #  XTPLUGIN : binding of C++ implementation with Python
+ #  File   : __init__.py
+ #