SET(SUBDIRS_COMMON
HOMARD
HOMARD_I
- SalomeSessionless
HOMARDGUI
HOMARD_SWIG
FrontTrack
//Pour le _CAST
#include "SALOMEDS_Study.hxx"
#include "HOMARDGUI_Utils.h"
-#include "HOMARD_Component_Generator.hxx"
using namespace std;
//=======================================================================
HOMARD::HOMARD_Gen_var HOMARDGUI::InitHOMARDGen(SalomeApp_Application* app)
{
- SALOME_NamingService_Abstract *ns = SalomeApp_Application::namingService();
Engines::EngineComponent_var comp;
- if (ns->IsTrueNS())
- {
- comp = app->lcc()->FindOrLoad_Component( "FactoryServer","HOMARD" );
- }
- else
- {
- comp = RetrieveHOMARDInstance();
- CORBA::Object_var comp2 = CORBA::Object::_narrow(comp);
- KERNEL::RegisterCompo("HOMARD",comp2);
- }
+ comp = app->lcc()->FindOrLoad_Component( "FactoryServer","HOMARD" );
HOMARD::HOMARD_Gen_var clr = HOMARD::HOMARD_Gen::_narrow(comp);
ASSERT(!CORBA::is_nil(clr));
return clr;
# header files / no moc processing
SET(HOMARDEngine_HEADERS
HOMARD_Cas_i.hxx
- HOMARD_Component_Generator.hxx
HOMARD_Hypothesis_i.hxx
HOMARD_Iteration_i.hxx
HOMARD_Zone_i.hxx
# sources / static
SET(HOMARDEngine_SOURCES
HOMARD_Cas_i.cxx
- HOMARD_Component_Generator.cxx
HOMARD_Hypothesis_i.cxx
HOMARD_Iteration_i.cxx
HOMARD_Gen_i.cxx
+++ /dev/null
-// Copyright (C) 2021 CEA/DEN, EDF R&D, 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 "HOMARD_Component_Generator.hxx"
-
-#include "SALOME_Container_i.hxx"
-#include "SALOME_KernelServices.hxx"
-
-#include <cstring>
-
-static Engines::EngineComponent_var _unique_compo;
-
-Engines::EngineComponent_var RetrieveHOMARDInstance()
-{
- constexpr char COMPO_NAME[]="HOMARD";
- if (CORBA::is_nil(_unique_compo))
- {
- CORBA::ORB_var orb;
- {
- int argc(0);
- orb = CORBA::ORB_init(argc, nullptr);
- }
- CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");
- PortableServer::POA_var poa = PortableServer::POA::_narrow(obj);
- PortableServer::POAManager_var pman = poa->the_POAManager();
- CORBA::PolicyList policies;
- policies.length(0);
- auto *cont(KERNEL::getContainerSA());
- PortableServer::ObjectId *conId(cont->getCORBAId());
- //
- pman->activate();
- //
- HOMARD_Gen_i_No_Session *servant = new HOMARD_Gen_i_No_Session(orb, poa, conId, "HOMARD_inst_2", COMPO_NAME);
- PortableServer::ObjectId *zeId = servant->getId();
- CORBA::Object_var zeRef = poa->id_to_reference(*zeId);
- KERNEL::RegisterCompo(COMPO_NAME,zeRef);
- _unique_compo = Engines::EngineComponent::_narrow(zeRef);
- }
- return _unique_compo;
-}
+++ /dev/null
-// Copyright (C) 2021 CEA/DEN, EDF R&D, 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
-//
-
-#pragma once
-
-#include "HOMARD_Gen_i_No_Session.hxx"
-
-#include "SALOMEconfig.h"
-
-#include CORBA_SERVER_HEADER(HOMARD_Gen)
-
-HOMARDENGINE_EXPORT Engines::EngineComponent_var RetrieveHOMARDInstance();
+++ /dev/null
-# Copyright (C) 2021 CEA/DEN, EDF R&D
-#
-# 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(${SWIG_USE_FILE})
-
-include_directories(
- ${KERNEL_INCLUDE_DIRS}
- ${PROJECT_SOURCE_DIR}/src/HOMARD_I
- ${PROJECT_SOURCE_DIR}/src/HOMARD
- ${PROJECT_SOURCE_DIR}/src/FrontTrack
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${PROJECT_BINARY_DIR}/idl
-)
-
-SET(_bin_SCRIPTS HOMARD_SalomeSessionless.py )
-
-SALOME_INSTALL_SCRIPTS("${_bin_SCRIPTS}" ${SALOME_INSTALL_PYTHON} DEF_PERMS)
-
-SET(HOMARDHelper_HEADERS HOMARDHelper.h HOMARDHelper.i)
-SET(HOMARDHelper_SOURCES HOMARDHelper.cxx ${HOMARDHelper_HEADERS})
-SET_SOURCE_FILES_PROPERTIES(HOMARDHelper.i PROPERTIES CPLUSPLUS ON)
-SET_SOURCE_FILES_PROPERTIES(HOMARDHelper.i PROPERTIES SWIG_FLAGS "-py3")
-SET_SOURCE_FILES_PROPERTIES(HOMARDHelper_wrap.cpp PROPERTIES COMPILE_FLAGS "-DHAVE_CONFIG_H")
-SET(_swig_SCRIPTS ${CMAKE_CURRENT_BINARY_DIR}/HOMARDHelper.py )
-IF(${CMAKE_VERSION} VERSION_LESS "3.8.0")
- SWIG_ADD_MODULE(HOMARDHelper python ${HOMARDHelper_SOURCES})
-ELSE()
- SWIG_ADD_LIBRARY(HOMARDHelper LANGUAGE python SOURCES ${HOMARDHelper_SOURCES})
-ENDIF()
-SWIG_LINK_LIBRARIES(HOMARDHelper ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} HOMARDEngine )
-install(TARGETS _HOMARDHelper DESTINATION ${SALOME_INSTALL_LIBS})
-install(FILES ${HOMARDHelper_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
-SALOME_INSTALL_SCRIPTS("${_swig_SCRIPTS}" ${SALOME_INSTALL_BINS} EXTRA_DPYS "${SWIG_MODULE_HOMARDHelper_REAL_NAME}")
+++ /dev/null
-// Copyright (C) 2021 CEA/DEN, EDF R&D
-//
-// 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 "HOMARDHelper.h"
-
-#include "HOMARD_Gen_i_No_Session.hxx"
-#include "SALOME_Container_i.hxx"
-#include "SALOME_KernelServices.hxx"
-
-#include <cstring>
-
-std::string BuildHOMARDInstanceInternal()
-{
- CORBA::ORB_var orb;
- { int argc(0); orb = CORBA::ORB_init(argc,nullptr); }
- CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");
- PortableServer::POA_var poa = PortableServer::POA::_narrow(obj);
- PortableServer::POAManager_var pman = poa->the_POAManager();
- auto *cont(KERNEL::getContainerSA());
- PortableServer::ObjectId *conId(cont->getCORBAId());
- //
- pman->activate();
- //
- HOMARD_Gen_i_No_Session *servant = new HOMARD_Gen_i_No_Session(orb,poa,conId,"HOMARD_inst_2","HOMARD");
- PortableServer::ObjectId *zeId = servant->getId();
- CORBA::Object_var zeRef = poa->id_to_reference(*zeId);
- CORBA::String_var ior = orb->object_to_string(zeRef);
- return std::string(ior.in());
-}
+++ /dev/null
-// Copyright (C) 2021 CEA/DEN, EDF R&D
-//
-// 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
-//
-
-#pragma once
-
-#include <string>
-
-std::string BuildHOMARDInstanceInternal();
+++ /dev/null
-// Copyright (C) 2021 CEA/DEN, EDF R&D
-//
-// 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
-//
-
-%module HOMARDHelper
-
-%include "std_string.i"
-
-%{
-#include "HOMARDHelper.h"
-%}
-
-%inline
-{
- std::string BuildHOMARDInstance()
- {
- return BuildHOMARDInstanceInternal();
- }
-}
+++ /dev/null
-# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2021 CEA/DEN, EDF R&D
-#
-# 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
-#
-
-def buildInstance(orb):
- import HOMARDHelper
- homard_ior = HOMARDHelper.BuildHOMARDInstance()
- import HOMARD
- import CORBA
- orb=CORBA.ORB_init([''])
- homardInst = orb.string_to_object(homard_ior)
- return homardInst, orb