]> SALOME platform Git repositories - plugins/acisplugin.git/commitdiff
Salome HOME
Merge from rnv/geom_plugin_imp branch
authorvsr <vsr@opencascade.com>
Thu, 19 Mar 2015 15:40:31 +0000 (18:40 +0300)
committervsr <vsr@opencascade.com>
Thu, 19 Mar 2015 15:40:31 +0000 (18:40 +0300)
39 files changed:
1  2 
CMakeLists.txt
INSTALL
SalomeACISPLUGINConfig.cmake.in
doc/CMakeLists.txt
doc/salome/CMakeLists.txt
doc/salome/examples/CMakeLists.txt
doc/salome/gui/ACISPLUGIN/CMakeLists.txt
doc/salome/gui/ACISPLUGIN/doxyfile.in
doc/salome/gui/ACISPLUGIN/doxyfile_py.in
doc/salome/gui/ACISPLUGIN/static/footer.html
doc/salome/gui/CMakeLists.txt
idl/ACISPlugin.idl
idl/CMakeLists.txt
resources/ACISPlugin.xml
resources/CMakeLists.txt
resources/ImportExport
resources/SalomeApp.xml
src/ACISPluginBuilder.py
src/ACISPlugin_Engine.cxx
src/ACISPlugin_Engine.hxx
src/ACISPlugin_ExportDriver.cxx
src/ACISPlugin_ExportDriver.hxx
src/ACISPlugin_GUI.cxx
src/ACISPlugin_GUI.h
src/ACISPlugin_IECallBack.cxx
src/ACISPlugin_IECallBack.hxx
src/ACISPlugin_IExport.hxx
src/ACISPlugin_IImport.hxx
src/ACISPlugin_IOperations.cxx
src/ACISPlugin_IOperations.hxx
src/ACISPlugin_IOperations_i.cc
src/ACISPlugin_IOperations_i.hh
src/ACISPlugin_ImportDriver.cxx
src/ACISPlugin_ImportDriver.hxx
src/ACISPlugin_OperationsCreator.cxx
src/ACISPlugin_OperationsCreator.hxx
src/ACISPlugin_license.h.in
src/CMakeLists.txt
src/__init__.py

diff --cc CMakeLists.txt
Simple merge
diff --cc INSTALL
index 96ec4a9ce571f3e28d9094b99d1432b03861339f,8b33d27b80c5698f6275410f23e8a48b9d23873e..6d3de935dc00dce9fdd8055759a625c40ad573c5
+++ b/INSTALL
@@@ -2,7 -2,7 +2,7 @@@
  Installation Instructions
  *************************
  
- Copyright (C) 2014-2015 Open CASCADE S.A.S.
 -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
Simple merge
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..dc3f20883c0a153299e6a8e88587fb7f7b8c14f8
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)
index 0000000000000000000000000000000000000000,0943ad6378063126c1e75b2bce0d16953d08ffd5..2657c884da12b03bff25aa92511dd7aa280e3bce
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/ACISPLUGIN)
index 0000000000000000000000000000000000000000,743e277590acd36378d46f62dbfe2c9dce426f7b..c696421bf2f84423aaddc6c8dac141768ea5e300
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,45 +1,45 @@@
 -# 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)
+ 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/ACISPluginBuilder.py ${CMAKE_SOURCE_DIR}/src/ACISPluginBuilder.py
+   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}/ACISPLUGIN DESTINATION ${SALOME_INSTALL_DOC}/gui)
+ INSTALL(FILES images/head.png DESTINATION ${SALOME_INSTALL_DOC}/gui/ACISPLUGIN)
+ INSTALL(FILES images/head.png DESTINATION ${SALOME_INSTALL_DOC}/gui/ACISPLUGIN/acispluginpy_doc)
+ SET(make_clean_files ACISPLUGIN acispluginpy_doc.tag)
+ SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${make_clean_files}")
index 0000000000000000000000000000000000000000,b46013d8f3dd096160beb7c22707af29bfe5ceea..bff5c3ab13b9d5cf9a72a49e319ab15dfcde7b90
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 ACISPLUGIN User's Guide"
+ OUTPUT_DIRECTORY  = ACISPLUGIN
+ 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          = acispluginpy_doc.tag=../ACISPLUGIN/acispluginpy_doc
+ SEARCHENGINE      = YES
+ #---------------------------------------------------------------------------
+ #Custom commands
+ #---------------------------------------------------------------------------
+ ALIASES += tui_script{1}="\include \1 <a href=\"../../examples/ACISPLUGIN/\1\">Download this script</a>"
index 0000000000000000000000000000000000000000,f542a25c58d82d01cf78bf1ea785732a70836f04..e3fae4490a7189a767c47fa174b0eb518e9f5643
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 ACISPLUGIN User's Guide"
+ OUTPUT_DIRECTORY       = ACISPLUGIN
+ 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/ACISPlugin_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       = acispluginpy_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  = acispluginpy_doc.tag
+ SEARCHENGINE      = YES
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,1a2a012441a2819a7e535a212f6c8a7be09f7dc0..1f591b53a52cb3f9191a355a4969e9a62e015c7d
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(ACISPLUGIN)
index 0000000000000000000000000000000000000000,be59e1cb36dfb2a7ecf27f4ae227ac9ab1147c8b..7a96a37e346da7df0ed8c35274f25d426a6f86d3
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 __ACISPlugin_IDL__
+ #define __ACISPlugin_IDL__
+ #include "GEOM_Gen.idl"
+ module ACISPlugin
+ {
+   /*!
+    *  \brief Interface for ACISPlugin modeling functions.
+    */
+   interface IACISOperations : GEOM::GEOM_IOperations
+   {
+     /*!
+      *  \brief Export the given shape into a file with given name in ACIS format.
+      *
+      *  \param theObject Shape to be stored in the file.
+      *  \param theFileName Name of the file to store the given shape in.
+      */
+     void ExportACIS( in GEOM::GEOM_Object theObject, 
+                      in string            theFileName );
+       
+     /*!
+      *  \brief Import a shape from the ACIS file.
+      *
+      *  \param theFileName The file, containing the shape.
+      *  \return List of GEOM_Objects, containing the created shape and propagation groups.
+      */              
+     GEOM::ListOfGO ImportACIS( in string theFileName );
+   };
+ };
+ #endif // __ACISPlugin_IDL__
index 0000000000000000000000000000000000000000,f3d62b40185941282e11f49153c32a648964557f..c93b2ec748f7393d5f142d5233656c505f8d9060
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(SalomeIDLACISPlugin_IDLSOURCES
+   ACISPlugin.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(SalomeIDLACISPlugin "${SalomeIDLACISPlugin_IDLSOURCES}" "${IDL_INCLUDE_DIRS}" "${IDL_LINK_FLAGS}")
+ ADD_DEPENDENCIES(SalomeIDLACISPlugin ${GEOM_SalomeIDLGEOM})
+ INSTALL(TARGETS SalomeIDLACISPlugin EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
index 0000000000000000000000000000000000000000,e23fe28d611bcec4ce2342ee6c827542bcd1fb1a..4d6dcc3c1f762fdcbe070dad47943504d04e6e52
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,43 +1,43 @@@
 -  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="ACISPlugin"
+                server-lib="ACISPluginEngine"
+                gui-lib="ACISPluginGUI">
+     <actions>
+       <action label="Import_ACIS"
+               menu="FILE/IMPORT:10/IMPORTACIS"
+               status-bar="IMPORTACIS">
+       </action>
+       <action label="Export_ACIS"
+               menu="FILE/EXPORT:10/EXPORTACIS"
+               status-bar="EXPORTACIS">
+       </action>
+     </actions>
+   </geom-plugin>
+ </geom-plugins>
Simple merge
diff --cc resources/ImportExport
index 10fa21b4bdc4951cd3b751ba505c04bd1f3b3f22,10fa21b4bdc4951cd3b751ba505c04bd1f3b3f22..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,6 -1,6 +1,0 @@@
--Import: ACIS
--Export: ACIS
--
--ACIS.Import: ACISImport
--ACIS.Export: ACISExport
--ACIS.Pattern: ACIS Files ( *.sat )
index 0000000000000000000000000000000000000000,0c841e3036ef4159019a3fa233b3363fbdd42efc..c2d06d030d1b946e07ea13c98fc9f1f9f91f848c
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="ACISPlugin" value="${ACISPLUGIN_ROOT_DIR}/share/salome/resources/acisplugin"/>
+   </section>
+   <section name="GEOM">
+     <!-- Default GEOM module plugins -->
+     <parameter name="plugins" value="ACISPlugin"/>
+   </section>
+   <section name="geom_help" >
+     <parameter name="Plug-ins/ACIS plugin User's Guide" value="${ACISPLUGIN_ROOT_DIR}/share/doc/salome/gui/ACISPLUGIN/index.html"/>
+   </section>
+ </document>
index 0000000000000000000000000000000000000000,1fcd6f36c5cac79161e2c5ecb3420d77673d1a7b..273bdb84cc3795ff8e9b92debc60619b5e5470ee
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,89 +1,89 @@@
 -# 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 ACISPlugin import IACISOperations
+ # Engine Library Name
+ __libraryName__ = "ACISPluginEngine"
+ def GetACISPluginOperations(self):
+     anOp = self.GetPluginOperations(self.myStudyId, __libraryName__)
+     return anOp._narrow(IACISOperations)
+ ## Export the given shape into a file with given name in ACIS format.
+ #  @param theObject Shape to be stored in the file.
+ #  @param theFileName Name of the file to store the given shape in.
+ def ExportACIS(self, theObject, theFileName):
+     """
+     Export the given shape into a file with given name in ACIS format.
+     Parameters: 
+         theObject Shape to be stored in the file.
+         theFileName Name of the file to store the given shape in.
+     """
+     anOp = GetACISPluginOperations(self)
+     anOp.ExportACIS(theObject, theFileName)
+     if anOp.IsDone() == 0:
+         raise RuntimeError,  "Export : " + anOp.GetErrorCode()
+         pass
+     pass
+ ## Import a shape from the ACIS 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 ImportACIS(self, theFileName, theName=None):
+     """
+     Import a shape from the ACIS 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 = GetACISPluginOperations(self)
+     aListObj = anOp.ImportACIS(theFileName)
+     RaiseIfFailed("ImportACIS", anOp)
+     aNbObj = len(aListObj)
+     if aNbObj > 0:
+         self._autoPublish(aListObj[0], theName, "imported")
+     if aNbObj == 1:
+         return aListObj[0]
+     return aListObj
index 0000000000000000000000000000000000000000,74c3999125cac771416e9e63dce44ac9edb5870d..a13771f406c8e3bf997119269011b3959e9c0c35
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 "ACISPlugin_Engine.hxx"
+ #include "ACISPlugin_OperationsCreator.hxx"
+ extern "C"
+ {
+   ACISPLUGINENGINE_EXPORT
+   GEOM_GenericOperationsCreator* GetOperationsCreator()
+   {
+     return new ACISPlugin_OperationsCreator();
+   }
+ }
index 0000000000000000000000000000000000000000,b91f47ced197c551c4e3798fca241de7e64de566..c93a0ebedf65d7de1c9aa450cc524929144598e3
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 _ACISPLUGIN_ENGINE_HXX_
+ #define _ACISPLUGIN_ENGINE_HXX_
+ #ifdef WIN32
+  #if defined ACISPLUGINENGINE_EXPORTS || defined ACISPluginEngine_EXPORTS
+    #define ACISPLUGINENGINE_EXPORT __declspec( dllexport )
+  #else
+    #define ACISPLUGINENGINE_EXPORT __declspec( dllimport )
+  #endif 
+ #else
+    #define ACISPLUGINENGINE_EXPORT
+ #endif
+ #endif
index 0000000000000000000000000000000000000000,3a669321c464185b9b2aa2c51c1f2eb994401dc5..57807a756a2ed3a9dff5833d8a6ac6c3dffb5730
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,132 +1,132 @@@
 -// 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 "ACISPlugin_ExportDriver.hxx"
+ #include "ACISPlugin_IExport.hxx"
+ // KERNEL includes
+ #include <Basics_Utils.hxx>
+ #include <utilities.h>
+ // GEOM includes
+ #include <GEOM_Function.hxx>
+ // OOCT includes
+ #include <IFSelect_ReturnStatus.hxx>
+ #include <SatControl_Writer.hxx>
+ #include <TCollection_AsciiString.hxx>
+ #include <TopoDS_Shape.hxx>
+ #ifdef ACIS_HASLICENSE
+ #include "ACISPlugin_license.h"
+ #include <OCCLicense_Activate.hxx>
+ #include <Standard_LicenseError.hxx>
+ #endif // ACIS_HASLICENSE
+ //=======================================================================
+ //function : GetID
+ //purpose  :
+ //=======================================================================
+ const Standard_GUID& ACISPlugin_ExportDriver::GetID()
+ {
+   static Standard_GUID aGUID("4a0b4b3f-e3c7-4a7a-91c3-1f004baa0813");
+   return aGUID;
+ }
+ //=======================================================================
+ //function : ACISPlugin_ExportDriver
+ //purpose  :
+ //=======================================================================
+ ACISPlugin_ExportDriver::ACISPlugin_ExportDriver()
+ {
+ }
+ //=======================================================================
+ //function : Execute
+ //purpose  :
+ //=======================================================================
+ Standard_Integer ACISPlugin_ExportDriver::Execute( TFunction_Logbook& log ) const
+ {
+ #ifdef ACIS_HASLICENSE
+     try {
+       OCCLicense_Activate("SAT-W-"OCC_VERSION_STRING, ACIS_WRITE_LICENSE);
+     }
+     catch (Standard_LicenseError) {
+       return 1;
+     }
+ #endif // ACIS_HASLICENSE
+   if (Label().IsNull()) return 0;
+   Handle(GEOM_Function) aFunction = GEOM_Function::GetFunction( Label() );
+   ACISPlugin_IExport aData (aFunction);
+   // retrieve the being exported shape
+   TopoDS_Shape aShape;
+   Handle(GEOM_Function) aRefFunction = aData.GetOriginal();
+   if( aRefFunction.IsNull() ) return 0;
+   aShape = aRefFunction->GetValue();
+   if( aShape.IsNull() ) return 0;
+   // set the result of function to be used by next operations
+   aFunction->SetValue( aShape );
+   TCollection_AsciiString aFileName = aData.GetFileName();
+   MESSAGE("Export ACIS into file " << aFileName.ToCString());
+   // Set "C" numeric locale to save numbers correctly
+   Kernel_Utils::Localizer loc;
+   SatControl_Writer aWriter;
+   IFSelect_ReturnStatus status;
+   status = aWriter.TransferShape( aShape );
+   if ( status == IFSelect_RetDone )
+     status = aWriter.WriteFile( aFileName.ToCString() ) ;
+   if ( status == IFSelect_RetDone )
+     return 1;
+   else
+     return 0;
+ }
+ //=======================================================================
+ //function : MustExecute
+ //purpose  :
+ //=======================================================================
+ Standard_Boolean ACISPlugin_ExportDriver::MustExecute( const TFunction_Logbook& ) const
+ {
+   return Standard_True;
+ }
+ //================================================================================
+ /*!
+  * \brief Returns a name of creation operation and names and values of creation parameters
+  */
+ //================================================================================
+ bool ACISPlugin_ExportDriver::
+ GetCreationInformation( std::string&             theOperationName,
+                         std::vector<GEOM_Param>& theParams )
+ {
+   return false;
+ }
+ IMPLEMENT_STANDARD_HANDLE( ACISPlugin_ExportDriver,GEOM_BaseDriver );
+ IMPLEMENT_STANDARD_RTTIEXT( ACISPlugin_ExportDriver,GEOM_BaseDriver );
index 0000000000000000000000000000000000000000,8a6aefae8fcf04b151dec028e1c676eb69d1db92..7f102798eae2d25468572b4badbd577be4517e6f
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,48 +1,48 @@@
 -// 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 _ACISPlugin_ExportDriver_HXX
+ #define _ACISPlugin_ExportDriver_HXX
+ // GEOM includes
+ #include <GEOM_BaseDriver.hxx>
+ // OCCT includes
+ #include <TFunction_Logbook.hxx>
+ DEFINE_STANDARD_HANDLE( ACISPlugin_ExportDriver, GEOM_BaseDriver );
+ class ACISPlugin_ExportDriver : public GEOM_BaseDriver
+ {
+ public:
+   ACISPlugin_ExportDriver();
+   ~ACISPlugin_ExportDriver() {};
+   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& heOperationName,
+                                                       std::vector<GEOM_Param>& params );
+ DEFINE_STANDARD_RTTI( ACISPlugin_ExportDriver )
+ };
+ #endif // _ACISPlugin_ExportDriver_HXX
index 0000000000000000000000000000000000000000,3faed45bace67a0a6c4429874922f6bf9c3008c9..f36893c4d1353ebffc628a1d739391d0a92c6cba
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,284 +1,284 @@@
 -// 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 "ACISPlugin_GUI.h"
+ #include "ACISPlugin_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(ACISPlugin)
+ //=======================================================================
+ // function : ACISPlugin_GUI()
+ // purpose  : Constructor
+ //=======================================================================
+ ACISPlugin_GUI::ACISPlugin_GUI( GeometryGUI* parent ) : GEOMPluginGUI( parent )
+ {
+ }
+ //=======================================================================
+ // function : ~ACISPlugin_GUI
+ // purpose  : Destructor
+ //=======================================================================
+ ACISPlugin_GUI::~ACISPlugin_GUI()
+ {
+ }
+ //=======================================================================
+ // function : OnGUIEvent()
+ // purpose  : 
+ //=======================================================================
+ bool ACISPlugin_GUI::OnGUIEvent( int theCommandID, SUIT_Desktop* parent )
+ {
+   QString cmd;
+   switch ( theCommandID ) {
+   case 1:
+     cmd = "Export_ACIS";
+   case 2:
+     cmd = "Import_ACIS";
+   default:
+     break;
+   }
+   return OnGUIEvent( cmd, parent );
+ }
+ //=======================================================================
+ // function : OnGUIEvent()
+ // purpose  :
+ //=======================================================================
+ bool ACISPlugin_GUI::OnGUIEvent( const QString& theCommandID, SUIT_Desktop* parent )
+ {
+   bool result = false;
+   if ( theCommandID == "Export_ACIS" )
+   {
+     result = exportACIS( parent );
+   }
+   else if ( theCommandID == "Import_ACIS" )
+   {
+     result = importACIS( parent );
+   }
+   else
+   {
+     getGeometryGUI()->getApp()->putInfo( tr("GEOM_PRP_COMMAND").arg( theCommandID ) );
+   }
+   return result;
+ }
+ //=======================================================================
+ // function : importACIS
+ // purpose  :
+ //=======================================================================
+ bool ACISPlugin_GUI::importACIS( 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(), "ACISPluginEngine" );
+   ACISPlugin::IACISOperations_var acisOp = ACISPlugin::IACISOperations::_narrow( op );
+   if ( CORBA::is_nil( acisOp ) ) return false;
+   QStringList fileNames = app->getOpenFileNames( SUIT_FileDlg::getLastVisitedPath().isEmpty() ? QDir::currentPath() : QString(""),
+                                                  tr( "ACIS_FILES" ),
+                                                  tr( "IMPORT_TITLE" ),
+                                                  parent );
+   if ( fileNames.count() > 0 )
+   {
+     QStringList entryList;
+     QStringList errors;
+     SUIT_MessageBox::StandardButton acisAnswer = SUIT_MessageBox::NoButton;
+     foreach( QString fileName, fileNames )
+     {
+       SUIT_OverrideCursor wc;
+       GEOM_Operation transaction( app, acisOp.in() );
+       try
+       {
+         app->putInfo( tr( "GEOM_PRP_LOADING" ).arg( fileName ) );
+         transaction.start();
+         if ( acisAnswer != SUIT_MessageBox::YesToAll && acisAnswer != SUIT_MessageBox::NoToAll ) {
+           SUIT_MessageBox::StandardButtons btns = SUIT_MessageBox::Yes | SUIT_MessageBox::No;
+           btns = btns | SUIT_MessageBox::YesToAll | SUIT_MessageBox::NoToAll;
+           acisAnswer = SUIT_MessageBox::question( app->desktop(),
+                                                   "Question",
+                                                   tr("GEOM_PUBLISH_NAMED_SHAPES"),
+                                                   btns | SUIT_MessageBox::Cancel,
+                                                   SUIT_MessageBox::No );
+           if ( acisAnswer == SUIT_MessageBox::Cancel ) {
+             acisOp->SetErrorCode(OK);
+             return true; // cancel (break) import operation
+           }
+         }
+         GEOM::ListOfGO_var result = acisOp->ImportACIS( fileName.toUtf8().constData() );
+         if ( result->length() > 0 && acisOp->IsDone() ) {
+           GEOM::GEOM_Object_var main = result[0];
+           QString publishName = GEOMBase::GetDefaultName( SUIT_Tools::file( fileName, true ) );
+           main.in()->SetName( publishName.toStdString().c_str() );
+           SALOMEDS::SObject_var so = GeometryGUI::GetGeomGen()->PublishInStudy( dsStudy,
+                                                                 SALOMEDS::SObject::_nil(),
+                                                                 main.in(),
+                                                                 publishName.toUtf8().constData() );
+           if ( acisAnswer == SUIT_MessageBox::Yes || acisAnswer == SUIT_MessageBox::YesToAll )
+             GeometryGUI::GetGeomGen()->PublishNamedShapesInStudy( dsStudy, main.in() );
+           entryList.append( so->GetID() );
+           transaction.commit();
+         }
+         else
+         {
+           transaction.abort();
+           errors.append( QString( "%1 : %2" ).arg( fileName ).arg( acisOp->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;
+ }
+ //=======================================================================
+ // function : exportACIS
+ // purpose  :
+ //=======================================================================
+ bool ACISPlugin_GUI::exportACIS( 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(), "ACISPluginEngine" );
+   ACISPlugin::IACISOperations_var acisOp = ACISPlugin::IACISOperations::_narrow( op );
+   if ( CORBA::is_nil( acisOp ) ) return false;
+   LightApp_SelectionMgr* sm = app->selectionMgr();
+   if ( !sm ) return false;
+   SALOME_ListIO selectedObjects;
+   sm->selectedObjects( selectedObjects );
+   bool ok = false;
+   SALOME_ListIteratorOfListIO it( selectedObjects );
+   for ( ; it.More(); it.Next() )
+   {
+     Handle(SALOME_InteractiveObject) io = it.Value();
+     GEOM::GEOM_Object_var obj = GEOMBase::ConvertIOinGEOMObject( io );
+     if ( CORBA::is_nil( obj ) ) continue;
+     QString fileName = app->getFileName( false,
+                                          QString( io->getName() ),
+                                          tr( "ACIS_FILES" ),
+                                          tr( "EXPORT_TITLE" ),
+                                          parent );
+     if ( fileName.isEmpty() )
+       return false;
+     SUIT_OverrideCursor wc;
+     GEOM_Operation transaction( app, acisOp.in() );
+     try
+     {
+       app->putInfo( tr( "GEOM_PRP_EXPORT" ).arg( fileName ) );
+       transaction.start();
+       acisOp->ExportACIS( obj, fileName.toUtf8().constData() );
+       if ( acisOp->IsDone() )
+       {
+         transaction.commit();
+       }
+       else
+       {
+         transaction.abort();
+         SUIT_MessageBox::critical( parent,
+                                    tr( "GEOM_ERROR" ),
+                                    tr( "GEOM_PRP_ABORT" ) + "\n" + tr( acisOp->GetErrorCode() ) );
+         return false;
+       }
+     }
+     catch ( const SALOME::SALOME_Exception& e )
+     {
+       transaction.abort();
+       return false;
+     }
+     ok = true;
+   }
+   if ( !ok )
+   {
+     SUIT_MessageBox::warning( parent,
+                               tr( "WRN_WARNING" ),
+                               tr( "GEOM_WRN_NO_APPROPRIATE_SELECTION" ) );
+   }
+   return ok;
+ }
+ //=====================================================================================
+ // EXPORTED METHODS
+ //=====================================================================================
+ extern "C"
+ {
+ #ifdef WIN32
+     __declspec( dllexport )
+ #endif
+   GEOMGUI* GetLibGUI( GeometryGUI* parent )
+   {
+     return new ACISPlugin_GUI( parent );
+   }
+ }
index 0000000000000000000000000000000000000000,15a66093b4daddab7355098f8324fd96901efa1d..37f265ce55fcbb71a72aa3357bb81552ddc81be2
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,40 +1,40 @@@
 -// 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 ACISPlugin_GUI_H
+ #define ACISPlugin_GUI_H
+ #include <GEOMPluginGUI.h>
+ class ACISPlugin_GUI: public GEOMPluginGUI
+ {
+   Q_OBJECT
+ public:
+   ACISPlugin_GUI( GeometryGUI* parent );
+   ~ACISPlugin_GUI();
+   bool OnGUIEvent( int commandId, SUIT_Desktop* );
+   bool OnGUIEvent( const QString&, SUIT_Desktop* );
+ private:
+   bool importACIS( SUIT_Desktop* );
+   bool exportACIS( SUIT_Desktop* );
+ };
+ #endif // ACISPlugin_GUI_H
index 0000000000000000000000000000000000000000,d6793fb3b919efc187e29d3130aad2229af2b39c..966b0cd848b40fa24118e310af460db738eeb683
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,71 +1,71 @@@
 -// 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 "ACISPlugin_IECallBack.hxx"
+ #include "ACISPlugin_IOperations.hxx"
+ #include "ACISPlugin_OperationsCreator.hxx"
+ //=============================================================================
+ /*!
+  *  constructor
+  */
+ //=============================================================================
+ ACISPlugin_IECallBack::ACISPlugin_IECallBack()
+ {
+ }
+ //=============================================================================
+ /*!
+  *  destructor
+  */
+ //=============================================================================
+ ACISPlugin_IECallBack::~ACISPlugin_IECallBack()
+ {
+ }
+ //=============================================================================
+ /*!
+  *  Export
+  */
+ //=============================================================================
+ bool ACISPlugin_IECallBack::Export( int theDocId,
+                                     const Handle(GEOM_Object) theOriginal,
+                                     const TCollection_AsciiString& theFileName,
+                                     const TCollection_AsciiString& theFormatName )
+ {
+   ACISPlugin_IOperations* aPluginOperations = ACISPlugin_OperationsCreator::get( GetEngine(), theDocId );
+   aPluginOperations->ExportACIS( theOriginal, theFileName );
+   return true;
+ }
+ //=============================================================================
+ /*!
+  *  Import
+  */
+ //=============================================================================
+ Handle(TColStd_HSequenceOfTransient)
+ ACISPlugin_IECallBack::Import( int theDocId,
+                                const TCollection_AsciiString& theFormatName,
+                                const TCollection_AsciiString& theFileName )
+ {
+   ACISPlugin_IOperations* aPluginOperations = ACISPlugin_OperationsCreator::get( GetEngine(), theDocId );
+   return aPluginOperations->ImportACIS( theFileName );
+ }
index 0000000000000000000000000000000000000000,3edb110f551d5e1d7b3286da7c4f915bad0ef9dc..d1c665f16a65348ffc1abcd1d2e5d12ed468fcfb
mode 000000,100644..100644
--- /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
+ //
+ #ifndef _ACISPlugin_IECallBack_HXX_
+ #define _ACISPlugin_IECallBack_HXX_
+ // internal includes
+ #include "ACISPlugin_IOperations.hxx"
+ // GEOM includes
+ #include <GEOM_Object.hxx>
+ #include <GEOMImpl_IECallBack.hxx>
+ // OCC includes
+ #include <TCollection_AsciiString.hxx>
+ class ACISPLUGINENGINE_EXPORT ACISPlugin_IECallBack : public GEOMImpl_IECallBack
+ {
+ public:
+   ACISPlugin_IECallBack();
+   ~ACISPlugin_IECallBack();
+   
+   bool Export( int theDocId,
+                const Handle(GEOM_Object) theOriginal,
+                const TCollection_AsciiString& theFileName,
+                const TCollection_AsciiString& theFormatName );
+   Handle(TColStd_HSequenceOfTransient) Import( int theDocId,
+                                                const TCollection_AsciiString& theFormatName,
+                                                const TCollection_AsciiString& theFileName );
+ };
+ #endif
index 0000000000000000000000000000000000000000,6bdc0af65c273d826aaaab3063a7d46ea81333ee..e623252efa257aae462816570111e35f896284c7
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,48 +1,48 @@@
 -// 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 _ACISPlugin_IExport_HXX_
+ #define _ACISPlugin_IExport_HXX_
+ #include "GEOM_Function.hxx"
+ #define EXPORTACIS_ARG_ORIGINAL   1
+ #define EXPORTACIS_ARG_FILENAME   2
+ class ACISPlugin_IExport
+ {
+ public:
+   ACISPlugin_IExport( Handle(GEOM_Function) theFunction )
+     : _func(theFunction) {}
+   void SetOriginal( Handle( GEOM_Function ) theOriginal)
+     { _func->SetReference( EXPORTACIS_ARG_ORIGINAL, theOriginal ); }
+   Handle( GEOM_Function ) GetOriginal()
+     { return _func->GetReference( EXPORTACIS_ARG_ORIGINAL ); }
+   void SetFileName( const TCollection_AsciiString& theFileName )
+     { _func->SetString( EXPORTACIS_ARG_FILENAME, theFileName ); }
+   TCollection_AsciiString GetFileName()
+     { return _func->GetString( EXPORTACIS_ARG_FILENAME ); }
+   
+ private:
+   Handle(GEOM_Function) _func;
+ };
+ #endif // _ACISPlugin_IExport_HXX_
index 0000000000000000000000000000000000000000,79c4d770fb94eefde2d7bcace639a87ebf37463c..b8e55a727afe9f7dc6009085fcecf237af0439d1
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 _ACISPlugin_IImport_HXX_
+ #define _ACISPlugin_IImport_HXX_
+ #include "GEOM_Function.hxx"
+ #define IMPORTACIS_ARG_FILENAME 1
+ class ACISPlugin_IImport
+ {
+ public:
+   ACISPlugin_IImport( Handle(GEOM_Function) theFunction)
+     : _func(theFunction) {}
+   void SetFileName( const TCollection_AsciiString& theFileName )
+     { _func->SetString( IMPORTACIS_ARG_FILENAME, theFileName ); }
+   TCollection_AsciiString GetFileName()
+     { return _func->GetString( IMPORTACIS_ARG_FILENAME ); }
+   
+ private:
+   Handle(GEOM_Function) _func;
+ };
+ #endif // _ACISPlugin_IImport_HXX_
index 0000000000000000000000000000000000000000,d107a03516a6cc54c9b29bde53a91d6d5d97b074..7c30f9dea9d0a8b9f2d7a526b7369e6fde5961cc
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,165 +1,165 @@@
 -// 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 "ACISPlugin_IOperations.hxx"
+ #include "ACISPlugin_ExportDriver.hxx"
+ #include "ACISPlugin_ImportDriver.hxx"
+ #include "ACISPlugin_IExport.hxx"
+ #include "ACISPlugin_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
+  */
+ //=============================================================================
+ ACISPlugin_IOperations::ACISPlugin_IOperations( GEOM_Engine* theEngine, int theDocID )
+ : GEOMImpl_IBaseIEOperations( theEngine, theDocID )
+ {
+   MESSAGE( "ACISPlugin_IOperations::ACISPlugin_IOperations" );
+ }
+ //=============================================================================
+ /*!
+  *  Destructor
+  */
+ //=============================================================================
+ ACISPlugin_IOperations::~ACISPlugin_IOperations()
+ {
+   MESSAGE( "ACISPlugin_IOperations::~ACISPlugin_IOperations" );
+ }
+ //=============================================================================
+ /*!
+  *  ExportACIS
+  *  Export a shape to ACIS format
+  *  \param theOriginal The shape to export
+  *  \param theFileName The name of the file to exported
+  */
+ //=============================================================================
+ void ACISPlugin_IOperations::ExportACIS( const Handle(GEOM_Object)      theOriginal,
+                                          const TCollection_AsciiString& theFileName )
+ {
+   SetErrorCode(KO);
+   if( theOriginal.IsNull() ) return;
+   Handle(GEOM_Function) aRefFunction = theOriginal->GetLastFunction();
+   if( aRefFunction.IsNull() ) return;  //There is no function which creates an object to be exported
+   //Add a new result object
+   Handle(GEOM_Object) result = GetEngine()->AddObject( GetDocID(), GEOM_IMPORT);
+   //Add an Export function
+   Handle(GEOM_Function) aFunction = result->AddFunction( ACISPlugin_ExportDriver::GetID(), EXPORT_SHAPE );
+   if( aFunction.IsNull() ) return;
+   //Check if the function is set correctly
+   if( aFunction->GetDriverGUID() != ACISPlugin_ExportDriver::GetID() ) return;
+   //Set parameters
+   ACISPlugin_IExport aCI( aFunction );
+   aCI.SetOriginal( aRefFunction );
+   aCI.SetFileName( theFileName );
+   //Perform the Export
+   try {
+     OCC_CATCH_SIGNALS;
+     if( !GetSolver()->ComputeFunction( aFunction ) ) {
+       SetErrorCode( "Not enough space on disk, or you haven't permissions to write this directory" );
+       return;
+     }
+   }
+   catch( Standard_Failure ) {
+     Handle(Standard_Failure) aFail = Standard_Failure::Caught();
+     SetErrorCode( aFail->GetMessageString() );
+     return;
+   }
+   //Make a Python command
+   GEOM::TPythonDump(aFunction) << "geompy.ExportACIS(" << theOriginal << ", \""
+     << theFileName.ToCString() << "\" )";
+   SetErrorCode(OK);
+ }
+ //=============================================================================
+ /*!
+  *  ImportACIS
+  *  Import a shape from ACIS 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)
+ ACISPlugin_IOperations::ImportACIS( 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( ACISPlugin_ImportDriver::GetID(), IMPORT_SHAPE);
+   if (aFunction.IsNull()) return NULL;
+   //Check if the function is set correctly
+   if (aFunction->GetDriverGUID() != ACISPlugin_ImportDriver::GetID()) return NULL;
+   //Set parameters
+   ACISPlugin_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.ImportACIS(\"" << theFileName.ToCString() << "\" )";
+   SetErrorCode(OK);
+   return aSeq;
+ }
index 0000000000000000000000000000000000000000,6e17f9dd1cfc5a38057c1a08b049eb0787a0ea97..3eae73ad09e25a466b399279719556667361ba7f
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
+ //
+ // File : ACISPlugin_IOperations.hxx
+ #ifndef _ACISPlugin_IOperations_HXX_
+ #define _ACISPlugin_IOperations_HXX_
+ // internal includes
+ #include "ACISPlugin_Engine.hxx"
+ // GEOM includes
+ #include <GEOMImpl_IBaseIEOperations.hxx>
+ class ACISPLUGINENGINE_EXPORT ACISPlugin_IOperations: public GEOMImpl_IBaseIEOperations
+ {
+ public:
+   ACISPlugin_IOperations( GEOM_Engine*, int );
+   ~ACISPlugin_IOperations();
+   void ExportACIS( const Handle(GEOM_Object),
+                    const TCollection_AsciiString& );
+   Handle(TColStd_HSequenceOfTransient) ImportACIS( const TCollection_AsciiString& );
+ };
+ #endif
index 0000000000000000000000000000000000000000,80ac137e1aef6ab7a4abf74bbab52bae484bec3d..089636fbb088e0a2f019903017cae97e24682835
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,109 +1,109 @@@
 -// 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 "ACISPlugin_IOperations_i.hh"
+ #include "ACISPlugin_IOperations.hxx"
+ #include <ACISPLUGIN_version.h>
+ // KERNEL includes
+ #include <utilities.h>
+ //=============================================================================
+ /*!
+  *   constructor:
+  */
+ //=============================================================================
+ ACISPlugin_IOperations_i::ACISPlugin_IOperations_i( PortableServer::POA_ptr   thePOA,
+                                                     GEOM::GEOM_Gen_ptr        theEngine,
+                                                     ::ACISPlugin_IOperations* theImpl )
+ :GEOM_IOperations_i( thePOA, theEngine, theImpl )
+ {
+   MESSAGE( "ACISPlugin_Operations_i::ACISPlugin_Operations_i" );
+ }
+ //=============================================================================
+ /*!
+  *  destructor
+  */
+ //=============================================================================
+ ACISPlugin_IOperations_i::~ACISPlugin_IOperations_i()
+ {
+   MESSAGE( "ACISPlugin_Operations_i::~ACISPlugin_Operations_i" );
+ }
+ //=============================================================================
+ /*!
+  *  ExportACIS
+  *  Export a shape to ACIS format
+  *  \param theOriginal The shape to export
+  *  \param theFileName The name of the exported file
+  */
+ //=============================================================================
+ void ACISPlugin_IOperations_i::ExportACIS( GEOM::GEOM_Object_ptr theOriginal,
+                                            const char*           theFileName )
+ {
+   // duplicate the original shape
+   GEOM::GEOM_Object_var aGEOMObject = GEOM::GEOM_Object::_duplicate( theOriginal );
+   //Set a not done flag
+   GetOperations()->SetNotDone();
+   //Get the reference shape
+   Handle(GEOM_Object) anOriginal = GetObjectImpl( theOriginal );
+   if (anOriginal.IsNull()) return;
+   //Export the shape to the file
+   GetOperations()->ExportACIS( anOriginal, theFileName );
+ }
+ //=============================================================================
+ /*!
+  *  ImportACIS
+  *  Import a shape from ACIS format
+  *  \param theFileName The name of the file to import
+  *  \return List of GEOM_Objects, containing the created shape and propagation groups.
+  */
+ //=============================================================================
+ GEOM::ListOfGO* ACISPlugin_IOperations_i::ImportACIS( 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()->ImportACIS( 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();
+ }
+ ACISPlugin_IOperations* ACISPlugin_IOperations_i::GetOperations()
+ {
+   return (ACISPlugin_IOperations*)GetImpl();
+ }
index 0000000000000000000000000000000000000000,717eace2c88de55d532d5f3dddeeb119ce9b215b..8f6274c5c4462da776d7c5414ae339a1ba09b3b5
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,52 +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
+ //
+ #ifndef _ACISPlugin_IOperations_i_HeaderFile
+ #define _ACISPlugin_IOperations_i_HeaderFile
+ // idl includes
+ #include <SALOMEconfig.h>
+ #include CORBA_SERVER_HEADER( GEOM_Gen )
+ #include CORBA_SERVER_HEADER( ACISPlugin )
+ // internal includes
+ #include "ACISPlugin_Engine.hxx"
+ // GEOM includes
+ #include <GEOM_IOperations_i.hh>
+ class ACISPlugin_IOperations;
+ class ACISPLUGINENGINE_EXPORT ACISPlugin_IOperations_i :
+       public virtual POA_ACISPlugin::IACISOperations,
+       public virtual GEOM_IOperations_i
+ {
+ public:
+   ACISPlugin_IOperations_i( PortableServer::POA_ptr thePOA,
+                             GEOM::GEOM_Gen_ptr theEngine,
+                             ACISPlugin_IOperations* theImpl );
+   ~ACISPlugin_IOperations_i();
+   void            ExportACIS( GEOM::GEOM_Object_ptr, const char* );
+   GEOM::ListOfGO* ImportACIS( const char* );
+   ACISPlugin_IOperations* GetOperations();
+ };
+ #endif // _ACISPlugin_IOperations_i_HeaderFile
index 0000000000000000000000000000000000000000,efa8ee935a91f4ba581bc37487ef5137d72da011..d23aad49717379722b42ed031f21cd7975bd436a
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,206 +1,206 @@@
 -// 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 "ACISPlugin_ImportDriver.hxx"
+ #include "ACISPlugin_IImport.hxx"
+ // KERNEL includes
+ #include <Basics_Utils.hxx>
+ #include <utilities.h>
+ // GEOM includes
+ #include <GEOM_Function.hxx>
+ #include <GEOMImpl_Types.hxx>
+ // OOCT includes
+ #include <AcisAttr_AttribGenName.hxx>
+ #include <AcisEnt_Attrib.hxx>
+ #include <IFSelect_ReturnStatus.hxx>
+ #include <Interface_InterfaceModel.hxx>
+ #include <SatControl_Reader.hxx>
+ #include <TCollection_AsciiString.hxx>
+ #include <TDataStd_Name.hxx>
+ #include <TDF_Label.hxx>
+ #include <TNaming_Builder.hxx>
+ #include <TopoDS_Shape.hxx>
+ #include <TransferBRep.hxx>
+ #include <Transfer_Binder.hxx>
+ #include <Transfer_TransientProcess.hxx>
+ #include <XSControl_TransferReader.hxx>
+ #include <XSControl_WorkSession.hxx>
+ #include <StdFail_NotDone.hxx>
+ #ifdef ACIS_HASLICENSE
+ #include "ACISPlugin_license.h"
+ #include <OCCLicense_Activate.hxx>
+ #include <Standard_LicenseError.hxx>
+ #endif // ACIS_HASLICENSE
+ //=======================================================================
+ //function : GetID
+ //purpose  :
+ //=======================================================================
+ const Standard_GUID& ACISPlugin_ImportDriver::GetID()
+ {
+   static Standard_GUID aGUID("4e2fea67-84bc-44fe-9a32-ac52a246154c");
+   return aGUID;
+ }
+ //=======================================================================
+ //function : ACISPlugin_ImportDriver
+ //purpose  :
+ //=======================================================================
+ ACISPlugin_ImportDriver::ACISPlugin_ImportDriver()
+ {
+ }
+ //=======================================================================
+ //function : Execute
+ //purpose  :
+ //=======================================================================
+ Standard_Integer ACISPlugin_ImportDriver::Execute( TFunction_Logbook& log ) const
+ {
+   if( Label().IsNull() ) return 0;
+   Handle(GEOM_Function) aFunction = GEOM_Function::GetFunction( Label() );
+   ACISPlugin_IImport aData( aFunction );
+   TCollection_AsciiString aFileName = aData.GetFileName().ToCString();
+   MESSAGE("Import ACIS from file " << aFileName);
+   TopoDS_Shape aResShape;
+ #ifdef ACIS_HASLICENSE
+   try {
+     OCCLicense_Activate( "SAT-R-"OCC_VERSION_STRING, ACIS_READ_LICENSE);
+   }
+   catch (Standard_LicenseError) {
+     return aResShape;
+   }
+ #endif // ACIS_HASLICENSE
+   // Set "C" numeric locale to save numbers correctly
+   Kernel_Utils::Localizer loc;
+   SatControl_Reader aReader;
+   IFSelect_ReturnStatus status = aReader.ReadFile( aFileName.ToCString() );
+   if (status == IFSelect_RetDone) {
+     aReader.TransferRoots();
+     aResShape = aReader.OneShape();
+     Handle(Interface_InterfaceModel) Model = aReader.WS()->Model();
+     Handle(XSControl_TransferReader) TR = aReader.WS()->TransferReader();
+     if( !TR.IsNull() ) {
+       Handle(Transfer_TransientProcess) TP = TR->TransientProcess();
+       Standard_Integer nb = Model->NbEntities();
+       for (Standard_Integer i = 1; i <= nb; i ++) {
+         Handle(AcisEnt_Attrib) attr = Handle(AcisEnt_Attrib)::DownCast ( Model->Value(i) );
+         if ( attr.IsNull() ) continue; //not only Entity Label (f.18) but Name Property also
+         TCollection_AsciiString aName;
+         if( attr->IsKind(STANDARD_TYPE(AcisAttr_AttribGenName)) ) {
+           Handle(AcisAttr_AttribGenName) attrname = Handle(AcisAttr_AttribGenName)::DownCast ( attr );
+           aName = attrname->myNameAttr;
+         }
+         else continue; // no name assigned
+         // find target entity
+         Handle(AcisEnt_Entity) ent;
+         do {
+           ent = attr->myEntity;
+           attr = Handle(AcisEnt_Attrib)::DownCast ( ent );
+         } while ( ! attr.IsNull() );
+         if ( ent.IsNull() ) continue; // strange - no normal entity found ?
+         // find target shape
+         Handle(Transfer_Binder) binder = TP->Find ( ent );
+         if( binder.IsNull() ) continue;
+           TopoDS_Shape S = TransferBRep::ShapeResult (binder);
+           if( S.IsNull() ) continue;
+         // create label and set shape
+         TDF_Label L;
+         TDF_TagSource aTag;
+         L = aTag.NewChild(aFunction->GetNamingEntry());
+         TNaming_Builder tnBuild(L);
+         tnBuild.Generated(S);
+         // set a name
+         TCollection_ExtendedString str(aName);
+         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 ACISPlugin_ImportDriver::MustExecute( const TFunction_Logbook& ) const
+ {
+   return Standard_True;
+ }
+ //================================================================================
+ /*!
+  * \brief Returns a name of creation operation and names and values of creation parameters
+  */
+ //================================================================================
+ bool ACISPlugin_ImportDriver::
+ GetCreationInformation( std::string&             theOperationName,
+                         std::vector<GEOM_Param>& theParams )
+ {
+   if( Label().IsNull() ) return 0;
+   Handle(GEOM_Function) function = GEOM_Function::GetFunction( Label() );
+   ACISPlugin_IImport aCI( function );
+   Standard_Integer aType = function->GetType();
+   theOperationName = "ImportACIS";
+   switch ( aType ) {
+   case IMPORT_SHAPE:
+     AddParam( theParams, "File name", aCI.GetFileName() );
+     break;
+   default:
+     return false;
+   }
+   return true;
+ }
+ IMPLEMENT_STANDARD_HANDLE( ACISPlugin_ImportDriver, GEOM_BaseDriver );
+ IMPLEMENT_STANDARD_RTTIEXT( ACISPlugin_ImportDriver, GEOM_BaseDriver );
index 0000000000000000000000000000000000000000,c2441408ba28e78b23691f8ce23f335d809ae954..e0e0aef7827554427044f9537be020959e4fbe9b
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 _ACISPlugin_ImportDriver_HXX
+ #define _ACISPlugin_ImportDriver_HXX
+ // GEOM includes
+ #include <GEOM_BaseDriver.hxx>
+ // OCCT includes
+ #ifndef _TFunction_Logbook_HeaderFile
+ #include <TFunction_Logbook.hxx>
+ #endif
+ DEFINE_STANDARD_HANDLE( ACISPlugin_ImportDriver, GEOM_BaseDriver );
+ class ACISPlugin_ImportDriver : public GEOM_BaseDriver
+ {
+ public:
+   ACISPlugin_ImportDriver();
+   ~ACISPlugin_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( ACISPlugin_ImportDriver )
+ };
+ #endif // _ACISPlugin_ImportDriver_HXX
index 0000000000000000000000000000000000000000,faab5d7f869dd1367b4fc038d69f248790c9a04b..ce458f1a73e72dda76427b1a3aba193ad6f1b1bc
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,71 +1,71 @@@
 -// 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 "ACISPlugin_OperationsCreator.hxx"
+ #include "ACISPlugin_IOperations_i.hh"
+ #include "ACISPlugin_ExportDriver.hxx"
+ #include "ACISPlugin_ImportDriver.hxx"
+ #include "ACISPlugin_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, ACISPlugin_IOperations*> ACISPlugin_OperationsCreator::_mapOfOperations;
+ ACISPlugin_OperationsCreator::ACISPlugin_OperationsCreator()
+ {
+   // Register drivers
+   TFunction_DriverTable::Get()->AddDriver( ACISPlugin_ExportDriver::GetID(),
+                                            new ACISPlugin_ExportDriver() );
+   TFunction_DriverTable::Get()->AddDriver( ACISPlugin_ImportDriver::GetID(),
+                                            new ACISPlugin_ImportDriver() );
+   // Register callback
+   ACISPlugin_IECallBack* callback = new ACISPlugin_IECallBack();
+   GEOMImpl_IECallBack::Register( "ACIS", callback );
+ }
+ ACISPlugin_OperationsCreator::~ACISPlugin_OperationsCreator()
+ {
+ }
+ GEOM_IOperations_i* ACISPlugin_OperationsCreator::Create( PortableServer::POA_ptr thePOA,
+                                                           int                     theStudyId,
+                                                           GEOM::GEOM_Gen_ptr      theEngine,
+                                                           ::GEOMImpl_Gen*         theGenImpl )
+ {
+   Unexpect aCatch( SALOME_SalomeException );
+   MESSAGE( "ACISPlugin_OperationsCreator::Create" );
+   return new ACISPlugin_IOperations_i( thePOA, theEngine, get( theGenImpl, theStudyId ) );
+ }
+ ACISPlugin_IOperations* ACISPlugin_OperationsCreator::get( ::GEOMImpl_Gen* theGenImpl,
+                                                            int             theStudyId )
+ {
+   if (_mapOfOperations.find( theStudyId ) == _mapOfOperations.end() )
+     _mapOfOperations[theStudyId] = new ACISPlugin_IOperations( theGenImpl, theStudyId );
+   return _mapOfOperations[theStudyId];
+ }
index 0000000000000000000000000000000000000000,7440cf6ad3fa63231035a74a8322a18ed289d59c..1ebd386e0bc29767558062e6c5b4e149c58e55d1
mode 000000,100644..100644
--- /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_ACISPlugin_OperationsCreator_HXX_
+ #define _GEOM_ACISPlugin_OperationsCreator_HXX_
+ // internal includes
+ #include "ACISPlugin_Engine.hxx"
+ // GEOM includes
+ #include "GEOM_Gen_i.hh"
+ // C++ includes
+ #include <map>
+ class ACISPlugin_IOperations;
+ //=====================================================================
+ // Operations creator
+ //=====================================================================
+ class ACISPLUGINENGINE_EXPORT ACISPlugin_OperationsCreator : public GEOM_GenericOperationsCreator
+ {
+ public:
+   ACISPlugin_OperationsCreator();
+   ~ACISPlugin_OperationsCreator();
+   GEOM_IOperations_i* Create( PortableServer::POA_ptr thePOA,
+                               int                     theStudyId,
+                               GEOM::GEOM_Gen_ptr      theEngine,
+                               ::GEOMImpl_Gen*         theGenImpl );
+ private:
+   static ACISPlugin_IOperations* get( ::GEOMImpl_Gen* theGenImpl,
+                                       int             theStudyId );
+   static std::map <int, ACISPlugin_IOperations*>  _mapOfOperations;
+   friend class ACISPlugin_IECallBack;
+ };
+ #endif
index 0000000000000000000000000000000000000000,e41270c829e2d6ab8f0c03b670d6fbfa65b21a78..04a30bc9fa0e07842d03100c1ed1e97fe1dff806
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,26 +1,26 @@@
 -// 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(__ACISPLUGIN_LICENSE_H)
+ #define __ACISPLUGIN_LICENSE_H
+ #define ACIS_READ_LICENSE  "@ACIS_READ_LICENSE@"
+ #define ACIS_WRITE_LICENSE "@ACIS_WRITE_LICENSE@"
+ #endif // __ACISPLUGIN_LICENSE_H
Simple merge
diff --cc src/__init__.py
index 0000000000000000000000000000000000000000,11efe78354a9292987e112b4e49daf771c10af3a..081dabaa0d21a60d3f6ed551ba6dd05933bf9b89
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,23 +1,22 @@@
 -#  -*- coding: iso-8859-1 -*-
 -# 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
+ #
+ #  ACISPLUGIN : binding of C++ implementation with Python
+ #  File   : __init__.py
+ #