From 1671f6f1aece8a41f5bc2c025aabc8d39ad08ebb Mon Sep 17 00:00:00 2001 From: vsr Date: Mon, 2 Dec 2013 14:29:07 +0000 Subject: [PATCH] Preparation of SALOME 7.3.0 --- README | 30 +- config_CentOS_5.5_64bit.xml | 76 +-- config_CentOS_6.3_64bit.xml | 76 +-- config_Debian_6.0_64bit.xml | 76 +-- config_Debian_7_64bit.xml | 76 +-- config_Fedora_18_64bit.xml | 76 +-- config_Mandriva_2010.0_64bit.xml | 76 +-- config_Ubuntu_13.04_64bit.xml | 76 +-- config_files/JOBMANAGER.sh | 12 +- config_files/common.sh | 5 +- config_files/patches/OCCT-6.5.5.patch | 897 -------------------------- 11 files changed, 289 insertions(+), 1187 deletions(-) delete mode 100644 config_files/patches/OCCT-6.5.5.patch diff --git a/README b/README index 44a596c..4e0c94c 100644 --- a/README +++ b/README @@ -123,13 +123,13 @@ source salome.csh where is KERNEL binaries directory, e.g. - KERNEL_7.2.0 for the 7.2.0 version. + KERNEL_7.3.0 for the 7.3.0 version. 2.2. Launching of SALOME After you set environment you can start SALOME. Go to the KERNEL - module's binaries directory (KERNEL_7.2.0/bin/salome for the version - 7.2.0) by using of 'cd' command and then type: + module's binaries directory (KERNEL_7.3.0/bin/salome for the version + 7.3.0) by using of 'cd' command and then type: runSalome [] @@ -328,7 +328,7 @@ In this scenario it is supposed that you have installed SALOME modules sources in the /home/user/salome directory. The name of each module sources directory depends on the version of the platform, for example, - KERNEL_SRC_7.2.0 for KERNEL module of SALOME version 7.2.0. + KERNEL_SRC_7.3.0 for KERNEL module of SALOME version 7.3.0. Compilation and installation should be performed according to the dependencies between modules: @@ -403,12 +403,12 @@ - create a configuration script by typing - ../KERNEL_SRC_7.2.0/build_configure + ../KERNEL_SRC_7.3.0/build_configure - run configure script which will check the environment and create Makefile files: - ../KERNEL_SRC_7.2.0/configure --prefix=/home/user/salome/KERNEL-7.2.0 + ../KERNEL_SRC_7.3.0/configure --prefix=/home/user/salome/KERNEL-7.3.0 Note, that --prefix option defines the directory where you want to install KERNEL module after 'make install' procedure. configure script @@ -423,17 +423,17 @@ make install After you have completed this scenario, KERNEL module is built and - installed into /home/user/salome/KERNEL-7.2.0 directory. + installed into /home/user/salome/KERNEL-7.3.0 directory. - modify your environment scripts: * for bash: - export KERNEL_ROOT_DIR=/home/user/salome/KERNEL-7.2.0 + export KERNEL_ROOT_DIR=/home/user/salome/KERNEL-7.3.0 * for csh: - setenv KERNEL_ROOT_DIR /home/user/salome/KERNEL-7.2.0 + setenv KERNEL_ROOT_DIR /home/user/salome/KERNEL-7.3.0 - then repeat this scenario for other modules you want to build taking into account the dependencies between modules (see dependencies table @@ -451,7 +451,7 @@ setenv MODULE_ROOT_DIR /home/user/salome/ - where is a MODULE-7.2.0 (see above). + where is a MODULE-7.3.0 (see above). 4.2. Automatic build procedure: build.csh and build.sh scripts @@ -530,7 +530,7 @@ - generate CMakeLists.txt files: - cd KERNEL_SRC_7.2.0 + cd KERNEL_SRC_7.3.0 ./build_cmake cd .. @@ -546,7 +546,7 @@ - run cmake - cmake -DCMAKE_INSTALL_PREFIX=/home/user/salome/KERNEL-7.2.0 ../KERNEL_SRC_7.2.0 + cmake -DCMAKE_INSTALL_PREFIX=/home/user/salome/KERNEL-7.3.0 ../KERNEL_SRC_7.3.0 Note, that -DCMAKE_INSTALL_PREFIX option defines the directory where you want to install KERNEL module after 'make install' procedure. You @@ -559,16 +559,16 @@ make install After you have completed this scenario, KERNEL module is built and - installed into /home/user/salome/KERNEL-7.2.0 directory. + installed into /home/user/salome/KERNEL-7.3.0 directory. - modify your environment scripts: * for bash: - export KERNEL_ROOT_DIR=/home/user/salome/KERNEL-7.2.0 + export KERNEL_ROOT_DIR=/home/user/salome/KERNEL-7.3.0 * for csh: - setenv KERNEL_ROOT_DIR /home/user/salome/KERNEL-7.2.0 + setenv KERNEL_ROOT_DIR /home/user/salome/KERNEL-7.3.0 ================================================================================ diff --git a/config_CentOS_5.5_64bit.xml b/config_CentOS_5.5_64bit.xml index 48bbe16..48b759c 100755 --- a/config_CentOS_5.5_64bit.xml +++ b/config_CentOS_5.5_64bit.xml @@ -1,11 +1,11 @@ - @@ -24,7 +24,7 @@ type="component" description="SALOME platform KERNEL module"> @@ -44,7 +44,7 @@ type="component" description="SALOME platform GEOM module"> @@ -83,7 +83,7 @@ type="component" description="SALOME platform PARAVIS module"> @@ -92,7 +92,7 @@ type="component" description="SALOME platform HEXABLOCK module"> @@ -101,7 +101,7 @@ type="component" description="SALOME platform HEXABLOCK meshing algorithm plugin"> @@ -110,7 +110,7 @@ type="component" description="SALOME platform NETGEN meshing algorithm plugin"> @@ -169,7 +169,7 @@ type="component" description="SALOME platform PYCALCULATOR module"> @@ -178,7 +178,7 @@ type="component" description="SALOME platform CALCULATOR module"> @@ -187,7 +187,7 @@ type="component" description="Example SALOME C++ module: Hello."> @@ -196,7 +196,7 @@ type="component" description="Example SALOME Python module: Hello."> @@ -205,7 +205,7 @@ type="component" description="Example from Salome tutorial."> @@ -214,7 +214,7 @@ type="component" description="Example from Salome tutorial."> @@ -223,7 +223,7 @@ type="component" description="Example from Salome tutorial."> @@ -232,7 +232,7 @@ type="component" description="LIGHT (no-CORBA-engine) SALOME module example"> @@ -241,7 +241,7 @@ type="component" description="LIGHT Python (no-CORBA-engine) SALOME module example"> @@ -250,7 +250,7 @@ type="component" description="SALOME-based module implement simple interface to calculate Sierpinsky fields"> @@ -259,7 +259,7 @@ type="component" description="SALOME-based module implement simple interface to calculate Sierpinsky fields"> @@ -268,7 +268,7 @@ type="component" description="Med Memory package"> @@ -277,7 +277,7 @@ type="component" description="Tool to supervise execution of complex interconnected scientific applications"> @@ -286,7 +286,7 @@ type="component" description="Component and module generator for SALOME"> @@ -296,7 +296,7 @@ type="component" description="Component and module generator for SALOME"> @@ -305,7 +305,7 @@ type="component" description="SALOME samples files"> @@ -314,7 +314,7 @@ type="component" description="Introduction to the developing of an application based on SALOME platform"> @@ -323,7 +323,7 @@ type="component" description="SALOME platform HOMARD module"> @@ -341,7 +341,7 @@ type="component" description="SALOME module generator"> @@ -350,7 +350,7 @@ type="component" description="SALOME module generator documentation"> @@ -359,7 +359,7 @@ type="component" description="SALOME documentation"> diff --git a/config_CentOS_6.3_64bit.xml b/config_CentOS_6.3_64bit.xml index a561080..038b09c 100755 --- a/config_CentOS_6.3_64bit.xml +++ b/config_CentOS_6.3_64bit.xml @@ -1,11 +1,11 @@ - @@ -24,7 +24,7 @@ type="component" description="SALOME platform KERNEL module"> @@ -44,7 +44,7 @@ type="component" description="SALOME platform GEOM module"> @@ -83,7 +83,7 @@ type="component" description="SALOME platform PARAVIS module"> @@ -92,7 +92,7 @@ type="component" description="SALOME platform HEXABLOCK module"> @@ -101,7 +101,7 @@ type="component" description="SALOME platform HEXABLOCK meshing algorithm plugin"> @@ -110,7 +110,7 @@ type="component" description="SALOME platform NETGEN meshing algorithm plugin"> @@ -169,7 +169,7 @@ type="component" description="SALOME platform PYCALCULATOR module"> @@ -178,7 +178,7 @@ type="component" description="SALOME platform CALCULATOR module"> @@ -187,7 +187,7 @@ type="component" description="Example SALOME C++ module: Hello."> @@ -196,7 +196,7 @@ type="component" description="Example SALOME Python module: Hello."> @@ -205,7 +205,7 @@ type="component" description="Example from Salome tutorial."> @@ -214,7 +214,7 @@ type="component" description="Example from Salome tutorial."> @@ -223,7 +223,7 @@ type="component" description="Example from Salome tutorial."> @@ -232,7 +232,7 @@ type="component" description="LIGHT (no-CORBA-engine) SALOME module example"> @@ -241,7 +241,7 @@ type="component" description="LIGHT Python (no-CORBA-engine) SALOME module example"> @@ -250,7 +250,7 @@ type="component" description="SALOME-based module implement simple interface to calculate Sierpinsky fields"> @@ -259,7 +259,7 @@ type="component" description="SALOME-based module implement simple interface to calculate Sierpinsky fields"> @@ -268,7 +268,7 @@ type="component" description="Med Memory package"> @@ -277,7 +277,7 @@ type="component" description="Tool to supervise execution of complex interconnected scientific applications"> @@ -286,7 +286,7 @@ type="component" description="Component and module generator for SALOME"> @@ -296,7 +296,7 @@ type="component" description="Component and module generator for SALOME"> @@ -305,7 +305,7 @@ type="component" description="SALOME samples files"> @@ -314,7 +314,7 @@ type="component" description="Introduction to the developing of an application based on SALOME platform"> @@ -323,7 +323,7 @@ type="component" description="SALOME platform HOMARD module"> @@ -341,7 +341,7 @@ type="component" description="SALOME module generator"> @@ -350,7 +350,7 @@ type="component" description="SALOME module generator documentation"> @@ -359,7 +359,7 @@ type="component" description="SALOME documentation"> diff --git a/config_Debian_6.0_64bit.xml b/config_Debian_6.0_64bit.xml index 63fafef..d58b7f0 100755 --- a/config_Debian_6.0_64bit.xml +++ b/config_Debian_6.0_64bit.xml @@ -1,11 +1,11 @@ - @@ -24,7 +24,7 @@ type="component" description="SALOME platform KERNEL module"> @@ -44,7 +44,7 @@ type="component" description="SALOME platform GEOM module"> @@ -83,7 +83,7 @@ type="component" description="SALOME platform PARAVIS module"> @@ -92,7 +92,7 @@ type="component" description="SALOME platform HEXABLOCK module"> @@ -101,7 +101,7 @@ type="component" description="SALOME platform HEXABLOCK meshing algorithm plugin"> @@ -110,7 +110,7 @@ type="component" description="SALOME platform NETGEN meshing algorithm plugin"> @@ -169,7 +169,7 @@ type="component" description="SALOME platform PYCALCULATOR module"> @@ -178,7 +178,7 @@ type="component" description="SALOME platform CALCULATOR module"> @@ -187,7 +187,7 @@ type="component" description="Example SALOME C++ module: Hello."> @@ -196,7 +196,7 @@ type="component" description="Example SALOME Python module: Hello."> @@ -205,7 +205,7 @@ type="component" description="Example from Salome tutorial."> @@ -214,7 +214,7 @@ type="component" description="Example from Salome tutorial."> @@ -223,7 +223,7 @@ type="component" description="Example from Salome tutorial."> @@ -232,7 +232,7 @@ type="component" description="LIGHT (no-CORBA-engine) SALOME module example"> @@ -241,7 +241,7 @@ type="component" description="LIGHT Python (no-CORBA-engine) SALOME module example"> @@ -250,7 +250,7 @@ type="component" description="SALOME-based module implement simple interface to calculate Sierpinsky fields"> @@ -259,7 +259,7 @@ type="component" description="SALOME-based module implement simple interface to calculate Sierpinsky fields"> @@ -268,7 +268,7 @@ type="component" description="Med Memory package"> @@ -277,7 +277,7 @@ type="component" description="Tool to supervise execution of complex interconnected scientific applications"> @@ -286,7 +286,7 @@ type="component" description="Component and module generator for SALOME"> @@ -296,7 +296,7 @@ type="component" description="Component and module generator for SALOME"> @@ -305,7 +305,7 @@ type="component" description="SALOME samples files"> @@ -314,7 +314,7 @@ type="component" description="Introduction to the developing of an application based on SALOME platform"> @@ -323,7 +323,7 @@ type="component" description="SALOME platform HOMARD module"> @@ -341,7 +341,7 @@ type="component" description="SALOME module generator"> @@ -350,7 +350,7 @@ type="component" description="SALOME module generator documentation"> @@ -359,7 +359,7 @@ type="component" description="SALOME documentation"> diff --git a/config_Debian_7_64bit.xml b/config_Debian_7_64bit.xml index eafffc2..448d114 100644 --- a/config_Debian_7_64bit.xml +++ b/config_Debian_7_64bit.xml @@ -1,11 +1,11 @@ - @@ -24,7 +24,7 @@ type="component" description="SALOME platform KERNEL module"> @@ -44,7 +44,7 @@ type="component" description="SALOME platform GEOM module"> @@ -83,7 +83,7 @@ type="component" description="SALOME platform PARAVIS module"> @@ -92,7 +92,7 @@ type="component" description="SALOME platform HEXABLOCK module"> @@ -101,7 +101,7 @@ type="component" description="SALOME platform HEXABLOCK meshing algorithm plugin"> @@ -110,7 +110,7 @@ type="component" description="SALOME platform NETGEN meshing algorithm plugin"> @@ -169,7 +169,7 @@ type="component" description="SALOME platform PYCALCULATOR module"> @@ -178,7 +178,7 @@ type="component" description="SALOME platform CALCULATOR module"> @@ -187,7 +187,7 @@ type="component" description="Example SALOME C++ module: Hello."> @@ -196,7 +196,7 @@ type="component" description="Example SALOME Python module: Hello."> @@ -205,7 +205,7 @@ type="component" description="Example from Salome tutorial."> @@ -214,7 +214,7 @@ type="component" description="Example from Salome tutorial."> @@ -223,7 +223,7 @@ type="component" description="Example from Salome tutorial."> @@ -232,7 +232,7 @@ type="component" description="LIGHT (no-CORBA-engine) SALOME module example"> @@ -241,7 +241,7 @@ type="component" description="LIGHT Python (no-CORBA-engine) SALOME module example"> @@ -250,7 +250,7 @@ type="component" description="SALOME-based module implement simple interface to calculate Sierpinsky fields"> @@ -259,7 +259,7 @@ type="component" description="SALOME-based module implement simple interface to calculate Sierpinsky fields"> @@ -268,7 +268,7 @@ type="component" description="Med Memory package"> @@ -277,7 +277,7 @@ type="component" description="Tool to supervise execution of complex interconnected scientific applications"> @@ -286,7 +286,7 @@ type="component" description="Component and module generator for SALOME"> @@ -296,7 +296,7 @@ type="component" description="Component and module generator for SALOME"> @@ -305,7 +305,7 @@ type="component" description="SALOME samples files"> @@ -314,7 +314,7 @@ type="component" description="Introduction to the developing of an application based on SALOME platform"> @@ -323,7 +323,7 @@ type="component" description="SALOME platform HOMARD module"> @@ -341,7 +341,7 @@ type="component" description="SALOME module generator"> @@ -350,7 +350,7 @@ type="component" description="SALOME module generator documentation"> @@ -359,7 +359,7 @@ type="component" description="SALOME documentation"> diff --git a/config_Fedora_18_64bit.xml b/config_Fedora_18_64bit.xml index 76f061c..c3fb378 100755 --- a/config_Fedora_18_64bit.xml +++ b/config_Fedora_18_64bit.xml @@ -1,11 +1,11 @@ - @@ -24,7 +24,7 @@ type="component" description="SALOME platform KERNEL module"> @@ -44,7 +44,7 @@ type="component" description="SALOME platform GEOM module"> @@ -83,7 +83,7 @@ type="component" description="SALOME platform PARAVIS module"> @@ -92,7 +92,7 @@ type="component" description="SALOME platform HEXABLOCK module"> @@ -101,7 +101,7 @@ type="component" description="SALOME platform HEXABLOCK meshing algorithm plugin"> @@ -110,7 +110,7 @@ type="component" description="SALOME platform NETGEN meshing algorithm plugin"> @@ -169,7 +169,7 @@ type="component" description="SALOME platform PYCALCULATOR module"> @@ -178,7 +178,7 @@ type="component" description="SALOME platform CALCULATOR module"> @@ -187,7 +187,7 @@ type="component" description="Example SALOME C++ module: Hello."> @@ -196,7 +196,7 @@ type="component" description="Example SALOME Python module: Hello."> @@ -205,7 +205,7 @@ type="component" description="Example from Salome tutorial."> @@ -214,7 +214,7 @@ type="component" description="Example from Salome tutorial."> @@ -223,7 +223,7 @@ type="component" description="Example from Salome tutorial."> @@ -232,7 +232,7 @@ type="component" description="LIGHT (no-CORBA-engine) SALOME module example"> @@ -241,7 +241,7 @@ type="component" description="LIGHT Python (no-CORBA-engine) SALOME module example"> @@ -250,7 +250,7 @@ type="component" description="SALOME-based module implement simple interface to calculate Sierpinsky fields"> @@ -259,7 +259,7 @@ type="component" description="SALOME-based module implement simple interface to calculate Sierpinsky fields"> @@ -268,7 +268,7 @@ type="component" description="Med Memory package"> @@ -277,7 +277,7 @@ type="component" description="Tool to supervise execution of complex interconnected scientific applications"> @@ -286,7 +286,7 @@ type="component" description="Component and module generator for SALOME"> @@ -296,7 +296,7 @@ type="component" description="Component and module generator for SALOME"> @@ -305,7 +305,7 @@ type="component" description="SALOME samples files"> @@ -314,7 +314,7 @@ type="component" description="Introduction to the developing of an application based on SALOME platform"> @@ -323,7 +323,7 @@ type="component" description="SALOME platform HOMARD module"> @@ -341,7 +341,7 @@ type="component" description="SALOME module generator"> @@ -350,7 +350,7 @@ type="component" description="SALOME module generator documentation"> @@ -359,7 +359,7 @@ type="component" description="SALOME documentation"> diff --git a/config_Mandriva_2010.0_64bit.xml b/config_Mandriva_2010.0_64bit.xml index 3e89a1c..b75c536 100755 --- a/config_Mandriva_2010.0_64bit.xml +++ b/config_Mandriva_2010.0_64bit.xml @@ -1,11 +1,11 @@ - @@ -24,7 +24,7 @@ type="component" description="SALOME platform KERNEL module"> @@ -44,7 +44,7 @@ type="component" description="SALOME platform GEOM module"> @@ -83,7 +83,7 @@ type="component" description="SALOME platform PARAVIS module"> @@ -92,7 +92,7 @@ type="component" description="SALOME platform HEXABLOCK module"> @@ -101,7 +101,7 @@ type="component" description="SALOME platform HEXABLOCK meshing algorithm plugin"> @@ -110,7 +110,7 @@ type="component" description="SALOME platform NETGEN meshing algorithm plugin"> @@ -169,7 +169,7 @@ type="component" description="SALOME platform PYCALCULATOR module"> @@ -178,7 +178,7 @@ type="component" description="SALOME platform CALCULATOR module"> @@ -187,7 +187,7 @@ type="component" description="Example SALOME C++ module: Hello."> @@ -196,7 +196,7 @@ type="component" description="Example SALOME Python module: Hello."> @@ -205,7 +205,7 @@ type="component" description="Example from Salome tutorial."> @@ -214,7 +214,7 @@ type="component" description="Example from Salome tutorial."> @@ -223,7 +223,7 @@ type="component" description="Example from Salome tutorial."> @@ -232,7 +232,7 @@ type="component" description="LIGHT (no-CORBA-engine) SALOME module example"> @@ -241,7 +241,7 @@ type="component" description="LIGHT Python (no-CORBA-engine) SALOME module example"> @@ -250,7 +250,7 @@ type="component" description="SALOME-based module implement simple interface to calculate Sierpinsky fields"> @@ -259,7 +259,7 @@ type="component" description="SALOME-based module implement simple interface to calculate Sierpinsky fields"> @@ -268,7 +268,7 @@ type="component" description="Med Memory package"> @@ -277,7 +277,7 @@ type="component" description="Tool to supervise execution of complex interconnected scientific applications"> @@ -286,7 +286,7 @@ type="component" description="Component and module generator for SALOME"> @@ -296,7 +296,7 @@ type="component" description="Component and module generator for SALOME"> @@ -305,7 +305,7 @@ type="component" description="SALOME samples files"> @@ -314,7 +314,7 @@ type="component" description="Introduction to the developing of an application based on SALOME platform"> @@ -323,7 +323,7 @@ type="component" description="SALOME platform HOMARD module"> @@ -341,7 +341,7 @@ type="component" description="SALOME module generator"> @@ -350,7 +350,7 @@ type="component" description="SALOME module generator documentation"> @@ -359,7 +359,7 @@ type="component" description="SALOME documentation"> diff --git a/config_Ubuntu_13.04_64bit.xml b/config_Ubuntu_13.04_64bit.xml index 15660cf..92fa8ac 100644 --- a/config_Ubuntu_13.04_64bit.xml +++ b/config_Ubuntu_13.04_64bit.xml @@ -1,11 +1,11 @@ - @@ -24,7 +24,7 @@ type="component" description="SALOME platform KERNEL module"> @@ -44,7 +44,7 @@ type="component" description="SALOME platform GEOM module"> @@ -83,7 +83,7 @@ type="component" description="SALOME platform PARAVIS module"> @@ -92,7 +92,7 @@ type="component" description="SALOME platform HEXABLOCK module"> @@ -101,7 +101,7 @@ type="component" description="SALOME platform HEXABLOCK meshing algorithm plugin"> @@ -110,7 +110,7 @@ type="component" description="SALOME platform NETGEN meshing algorithm plugin"> @@ -169,7 +169,7 @@ type="component" description="SALOME platform PYCALCULATOR module"> @@ -178,7 +178,7 @@ type="component" description="SALOME platform CALCULATOR module"> @@ -187,7 +187,7 @@ type="component" description="Example SALOME C++ module: Hello."> @@ -196,7 +196,7 @@ type="component" description="Example SALOME Python module: Hello."> @@ -205,7 +205,7 @@ type="component" description="Example from Salome tutorial."> @@ -214,7 +214,7 @@ type="component" description="Example from Salome tutorial."> @@ -223,7 +223,7 @@ type="component" description="Example from Salome tutorial."> @@ -232,7 +232,7 @@ type="component" description="LIGHT (no-CORBA-engine) SALOME module example"> @@ -241,7 +241,7 @@ type="component" description="LIGHT Python (no-CORBA-engine) SALOME module example"> @@ -250,7 +250,7 @@ type="component" description="SALOME-based module implement simple interface to calculate Sierpinsky fields"> @@ -259,7 +259,7 @@ type="component" description="SALOME-based module implement simple interface to calculate Sierpinsky fields"> @@ -268,7 +268,7 @@ type="component" description="Med Memory package"> @@ -277,7 +277,7 @@ type="component" description="Tool to supervise execution of complex interconnected scientific applications"> @@ -286,7 +286,7 @@ type="component" description="Component and module generator for SALOME"> @@ -296,7 +296,7 @@ type="component" description="Component and module generator for SALOME"> @@ -305,7 +305,7 @@ type="component" description="SALOME samples files"> @@ -314,7 +314,7 @@ type="component" description="Introduction to the developing of an application based on SALOME platform"> @@ -323,7 +323,7 @@ type="component" description="SALOME platform HOMARD module"> @@ -341,7 +341,7 @@ type="component" description="SALOME module generator"> @@ -350,7 +350,7 @@ type="component" description="SALOME module generator documentation"> @@ -359,7 +359,7 @@ type="component" description="SALOME documentation"> diff --git a/config_files/JOBMANAGER.sh b/config_files/JOBMANAGER.sh index 725e4d6..fe3e0f2 100755 --- a/config_files/JOBMANAGER.sh +++ b/config_files/JOBMANAGER.sh @@ -15,7 +15,7 @@ check_version(){ if [ -n "${JOBMANAGER_SRC_DIR}" ]; then check_salome_src_version JOBMANAGER_SRC_DIR - if [ "${ver}" = "${JOBMANAGER_VERSION}" ]; then + if [ "${ver}" = "${SALOME_VERSION}" ]; then return 0 fi fi @@ -61,7 +61,7 @@ install_source() make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src source ${INSTALL_WORK}/${SHRC} -check_jb tar xfz ${SOURCE_DIR}/JOBMANAGERsourcesV${JOBMANAGER_VERSION}.tar.gz -C ${INST_ROOT} +check_jb tar xfz ${SOURCE_DIR}/JOBMANAGERsourcesV${SALOME_VERSION}.tar.gz -C ${INST_ROOT} # to generate environment scripts try_preinstalled @@ -104,8 +104,8 @@ source ${INSTALL_WORK}/${SHRC} # create a module directory test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR} -check_jb tar xfz ${SOURCE_DIR}/JOBMANAGERbinariesV${JOBMANAGER_VERSION}.tar.gz -C ${PRODUCT_DIR} -check_jb tar xfz ${SRC_DIR}/JOBMANAGERsourcesV${JOBMANAGER_VERSION}.tar.gz -C ${INST_ROOT} +check_jb tar xfz ${SOURCE_DIR}/JOBMANAGERbinariesV${SALOME_VERSION}.tar.gz -C ${PRODUCT_DIR} +check_jb tar xfz ${SRC_DIR}/JOBMANAGERsourcesV${SALOME_VERSION}.tar.gz -C ${INST_ROOT} # modify all *.la files export JOBMANAGER_ROOT_DIR=${PRODUCT_DIR} @@ -130,8 +130,8 @@ REMOVE_SRC_TMP=$8; shift SINGLE_DIR=$9; if [ -n "${SINGLE_DIR}" ] ; then SINGLE_DIR=${SDIR_NAME}; fi -export PRODUCT="JOBMANAGER_${JOBMANAGER_VERSION}" -export PRODUCT_SRC="JOBMANAGER_SRC_${JOBMANAGER_VERSION}" +export PRODUCT="JOBMANAGER_${SALOME_VERSION}" +export PRODUCT_SRC="JOBMANAGER_SRC_${SALOME_VERSION}" export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}} export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT_SRC} ${PROCEDURE} diff --git a/config_files/common.sh b/config_files/common.sh index 00e801c..0ee0792 100755 --- a/config_files/common.sh +++ b/config_files/common.sh @@ -19,9 +19,8 @@ export CSHRC="salome.csh" ##################################################### # !WARNING! This is current SALOME version number #################################################### -export SALOME_VERSION="7.2.0" -export YACSGEN_VERSION="7.2.0" -export JOBMANAGER_VERSION="7.2.0" +export SALOME_VERSION="7.3.0" +export YACSGEN_VERSION=${SALOME_VERSION} # Name of the single directory for SALOME modules export SDIR_NAME="SALOME_${SALOME_VERSION}" diff --git a/config_files/patches/OCCT-6.5.5.patch b/config_files/patches/OCCT-6.5.5.patch deleted file mode 100644 index 87df7e5..0000000 --- a/config_files/patches/OCCT-6.5.5.patch +++ /dev/null @@ -1,897 +0,0 @@ -diff --git a/src/BOPTools/BOPTools_Tools3D_1.cxx b/src/BOPTools/BOPTools_Tools3D_1.cxx -index e235c47..9913925 100755 ---- a/src/BOPTools/BOPTools_Tools3D_1.cxx -+++ b/src/BOPTools/BOPTools_Tools3D_1.cxx -@@ -26,36 +26,73 @@ - #include - #include - #include -- - #include - #include - -+#include -+ - #include -+#include -+ - #include - #include - - #include - #include - -+#include -+#include -+ - #include - #include - - #include - #include - --#include -+ - #include - #include -+#include -+ - #include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include - - #include - --static Standard_Boolean CheckPointInside(BRepClass3d_SolidClassifier& aSolidClassifier, -- const gp_Pnt& aP3d, -- const Standard_Real aTolerance, -- const Handle(IntTools_Context)& theContext, -- TopAbs_State& aState, -- Standard_Boolean& bFoundInFacePoint); -+#include -+ -+ -+static -+ Standard_Boolean HasGeometry(const TopoDS_Shape& aS); -+ -+static -+ void Add(const TopoDS_Shape& aS, -+ TopTools_IndexedMapOfShape& myShapes, -+ Standard_Boolean& bHasGeometry); -+ -+static -+ Standard_Boolean CheckPointInside(BRepClass3d_SolidClassifier& aSolidClassifier, -+ const gp_Pnt& aP3d, -+ const Standard_Real aTolerance, -+ const Handle(IntTools_Context)& theContext, -+ TopAbs_State& aState, -+ Standard_Boolean& bFoundInFacePoint); -+static -+ Standard_Integer PntInFace(const TopoDS_Face& aF, -+ const Handle(IntTools_Context)& theContext, -+ gp_Pnt& theP, -+ gp_Pnt2d& theP2D); -+ - - //======================================================================= - //function : GetApproxNormalToFaceOnEdge -@@ -135,10 +172,8 @@ void BOPTools_Tools3D::GetApproxNormalToFaceOnEdge (const TopoDS_Edge& aE, - aFTol=aETol; - } - } -- //modified by NIZNHY-PKV Thu Mar 19 14:15:15 2009f - if( aETol > 1.e-5 || aFTol > 1.e-5 ) { - //if( aETol > 1.e-5 && aFTol > 1.e-5 ) { -- //modified by NIZNHY-PKV Thu Mar 19 14:15:24 2009t - //pkv/103/D7 - if(aTS!=GeomAbs_Sphere) { - gp_Vec2d transVec( aDP ); -@@ -627,25 +662,7 @@ void BOPTools_Tools3D::GetApproxNormalToFaceOnEdge (const TopoDS_Edge& aE, - } - - --#include --#include --#include --#include --#include --#include --#include --#include --#include --#include --#include -- --static -- Standard_Boolean HasGeometry(const TopoDS_Shape& aS); - --static -- void Add(const TopoDS_Shape& aS, -- TopTools_IndexedMapOfShape& myShapes, -- Standard_Boolean& bHasGeometry); - - //======================================================================= - //function : IsEmptyShape -@@ -975,7 +992,7 @@ Standard_Boolean BOPTools_Tools3D::ComputeFaceState(const TopoDS_Face& theFace, - return Standard_True; - } - --//modified by NIZNHY-PKV Thu Sep 22 10:55:14 2011f -+ - // =========================================================================================== - // function: CheckSameDomainFaceInside - // purpose: Check if distance between several points of theFace1 and -@@ -986,7 +1003,7 @@ Standard_Boolean BOPTools_Tools3D::CheckSameDomainFaceInside(const TopoDS_Face& - const Handle(IntTools_Context)& theContext) - { - Standard_Boolean bFoundON, bPointInFace; -- Standard_Integer nbpoints, i, j; -+ Standard_Integer nbpoints, i, j, iErr; - Standard_Real umin, umax, vmin, vmax, aTol, adeltau, adeltav, U, V, U2, V2, aD, aTolE; - gp_Pnt2d aP2D; - gp_Pnt aP3D; -@@ -1037,9 +1054,35 @@ Standard_Boolean BOPTools_Tools3D::CheckSameDomainFaceInside(const TopoDS_Face& - } - } - } -+ // -+ if (bFoundON) { -+ return bFoundON; -+ } -+ // -+ iErr=PntInFace(theFace1, theContext, aP3D, aP2D); -+ if (iErr) { -+ return bFoundON; -+ } -+ // -+ aProjector.Perform(aP3D); -+ if(aProjector.IsDone()) { -+ aD=aProjector.LowerDistance(); -+ if(aD > aTol) { -+ return bFoundON; -+ } -+ // -+ aProjector.LowerDistanceParameters(U2, V2); -+ aP2D.SetCoord(U2, V2); -+ // -+ bPointInFace=theContext->IsPointInFace(theFace2, aP2D); -+ if (bPointInFace) { -+ bFoundON = Standard_True; -+ } -+ } -+ // - return bFoundON; - } --//modified by NIZNHY-PKV Thu Sep 22 10:55:19 2011t -+ - - // =========================================================================================== - // function: CheckPointInside -@@ -1089,3 +1132,88 @@ Standard_Boolean CheckPointInside(BRepClass3d_SolidClassifier& aSolidClassifier, - - return bFoundValidPoint; - } -+ -+//======================================================================= -+//function : PntInFace -+//purpose : -+//======================================================================= -+Standard_Integer PntInFace(const TopoDS_Face& aF, -+ const Handle(IntTools_Context)& aCtx, -+ gp_Pnt& theP, -+ gp_Pnt2d& theP2D) -+{ -+ Standard_Boolean bIsDone, bHasFirstPoint, bHasSecondPoint; -+ Standard_Integer iErr, aIx, aNbDomains, i; -+ Standard_Real aUMin, aUMax, aVMin, aVMax; -+ Standard_Real aVx, aUx, aV1, aV2; -+ gp_Dir2d aD2D (0., 1.); -+ gp_Pnt2d aP2D; -+ gp_Pnt aPx; -+ Handle(Geom2d_Line) aL2D; -+ Handle(Geom_Surface) aS; -+ // -+ iErr=0; -+ // -+ aS=BRep_Tool::Surface(aF); -+ BRepTools::UVBounds(aF, aUMin, aUMax, aVMin, aVMax); -+ // -+ // 1 -+ aUx=IntTools_Tools::IntermediatePoint(aUMin, aUMax); -+ aP2D.SetCoord(aUx, 0.); -+ aL2D=new Geom2d_Line (aP2D, aD2D); -+ Geom2dAdaptor_Curve aHCur(aL2D); -+ // -+ Geom2dHatch_Hatcher& aHatcher=aCtx->Hatcher(aF); -+ aIx=aHatcher.AddHatching(aHCur) ; -+ // -+ // 2. -+ aHatcher.Trim(); -+ bIsDone=aHatcher.TrimDone(aIx); -+ if (!bIsDone) { -+ aHatcher.RemHatching(aIx); -+ iErr=3; -+ return iErr; -+ } -+ // -+ aHatcher.ComputeDomains(aIx); -+ bIsDone=aHatcher.IsDone(aIx); -+ if (!bIsDone) { -+ aHatcher.RemHatching(aIx); -+ iErr=4; -+ return iErr; -+ } -+ // -+ // 3. -+ aNbDomains=aHatcher.NbDomains(aIx); -+ for (i=1; i<=aNbDomains; ++i) { -+ const HatchGen_Domain& aDomain=aHatcher.Domain (aIx, i) ; -+ bHasFirstPoint=aDomain.HasFirstPoint(); -+ if (!bHasFirstPoint) { -+ iErr=5; -+ break; -+ } -+ // -+ aV1=aDomain.FirstPoint().Parameter(); -+ // -+ bHasSecondPoint=aDomain.HasSecondPoint(); -+ if (!bHasSecondPoint) { -+ aHatcher.RemHatching(aIx); -+ iErr=6; -+ break; -+ } -+ // -+ aV2=aDomain.SecondPoint().Parameter(); -+ aVx=IntTools_Tools::IntermediatePoint(aV1, aV2); -+ break; -+ } -+ // -+ if (!iErr) { -+ aS->D0(aUx, aVx, aPx); -+ // -+ theP2D.SetCoord(aUx, aVx); -+ theP=aPx; -+ // -+ } -+ aHatcher.RemHatching(aIx); -+ return iErr; -+} -diff --git a/src/BRepFill/BRepFill_Pipe.cxx b/src/BRepFill/BRepFill_Pipe.cxx -index 7eda5c1..63e3824 100755 ---- a/src/BRepFill/BRepFill_Pipe.cxx -+++ b/src/BRepFill/BRepFill_Pipe.cxx -@@ -823,13 +823,7 @@ TopoDS_Shape BRepFill_Pipe::ShareFaces - anExp.Init(myFaces->Value(ii, jj), TopAbs_EDGE); - - for (; anExp.More(); anExp.Next()) { -- if (aMapBndEdgeIndex.IsBound(anExp.Current())) { -- // This is not boundary edge. Remove it. -- aMapBndEdgeIndex.UnBind(anExp.Current()); -- } else { -- // Add boundary edge. -- aMapBndEdgeIndex.Bind(anExp.Current(), ii); -- } -+ aMapBndEdgeIndex.Bind(anExp.Current(), ii); - } - } - -diff --git a/src/BRepFill/BRepFill_Sweep.cxx b/src/BRepFill/BRepFill_Sweep.cxx -index f9ceeca..d1fbf4b 100755 ---- a/src/BRepFill/BRepFill_Sweep.cxx -+++ b/src/BRepFill/BRepFill_Sweep.cxx -@@ -2042,143 +2042,141 @@ BRepFill_Sweep::BRepFill_Sweep(const Handle(BRepFill_SectionLaw)& Section, - Standard_Boolean exuv, singu, singv; - Handle(Geom_Surface) S; - -- if (! vclose) { -- // (2.0) return preexisting Edges and vertices -- TopoDS_Edge E; -- if (! FirstShape.IsNull() && (IFirst==1)) { -- mySec->Init(FirstShape); -- for (isec=1; isec<=NbLaw; isec++) { -- E = mySec->CurrentEdge(); -- VEdge(isec, 1) = E; -- if (E.Orientation() == TopAbs_REVERSED) -- Vertex(isec+1, 1) = TopExp::FirstVertex(E); -- else -- Vertex(isec+1, 1) = TopExp::LastVertex(E); -- UpdateVertex(IFirst-1, isec+1, -- TabErr(isec, 1), Vi(1), Vertex(isec+1, 1)); -- } -- if (VEdge(1, 1).Orientation() == TopAbs_REVERSED) -- Vertex(1, 1) = TopExp::LastVertex(TopoDS::Edge(VEdge(1, 1))); -- else -- Vertex(1, 1) = TopExp::FirstVertex(TopoDS::Edge(VEdge(1, 1))); -- UpdateVertex(IFirst-1, 1, -- TabErr(1, 1), Vi(1), Vertex(1, 1)); -- } -- else { // Otherwise construct vertices -- Standard_Real u, v, aux; -- Standard_Boolean ureverse; -- for (isec=1; isec<=NbLaw+1; isec++) { -- // Return data -- if (isec >NbLaw) { -- S = TabS(NbLaw, 1); -- ureverse = UReverse(NbLaw, 1); -- exuv = ExchUV(NbLaw, 1); -- } -- else { -- S = TabS(isec, 1); -- ureverse = UReverse(isec, 1); -- exuv = ExchUV(isec, 1); -- } -- S->Bounds(UFirst, ULast, VFirst, VLast); -- -- // Choice of parameters -- if (ureverse) { -- if (exuv) { -- aux = VFirst; VFirst = VLast; VLast = aux; -- } -- else { -- aux = UFirst; UFirst = ULast; ULast = aux; -- } -- } -- if (isec!= NbLaw+1) { -- u = UFirst; -- v = VFirst; -- } -- else { -- if (exuv) { -- u = UFirst; -- v = VLast; -- } -- else { -- u = ULast; -- v = VFirst; -- } -- } -- -- // construction of vertices -- B.MakeVertex(TopoDS::Vertex(Vertex(isec, 1)), -- S->Value(u,v), -- mySec->VertexTol(isec-1,Vi(1))); -+ // (2.0) return preexisting Edges and vertices -+ TopoDS_Edge E; -+ if (! FirstShape.IsNull() && (IFirst==1)) { -+ mySec->Init(FirstShape); -+ for (isec=1; isec<=NbLaw; isec++) { -+ E = mySec->CurrentEdge(); -+ VEdge(isec, 1) = E; -+ if (E.Orientation() == TopAbs_REVERSED) -+ Vertex(isec+1, 1) = TopExp::FirstVertex(E); -+ else -+ Vertex(isec+1, 1) = TopExp::LastVertex(E); -+ UpdateVertex(IFirst-1, isec+1, -+ TabErr(isec, 1), Vi(1), Vertex(isec+1, 1)); -+ } -+ if (VEdge(1, 1).Orientation() == TopAbs_REVERSED) -+ Vertex(1, 1) = TopExp::LastVertex(TopoDS::Edge(VEdge(1, 1))); -+ else -+ Vertex(1, 1) = TopExp::FirstVertex(TopoDS::Edge(VEdge(1, 1))); -+ UpdateVertex(IFirst-1, 1, -+ TabErr(1, 1), Vi(1), Vertex(1, 1)); -+ } -+ else { // Otherwise construct vertices -+ Standard_Real u, v, aux; -+ Standard_Boolean ureverse; -+ for (isec=1; isec<=NbLaw+1; isec++) { -+ // Return data -+ if (isec >NbLaw) { -+ S = TabS(NbLaw, 1); -+ ureverse = UReverse(NbLaw, 1); -+ exuv = ExchUV(NbLaw, 1); - } -- } -+ else { -+ S = TabS(isec, 1); -+ ureverse = UReverse(isec, 1); -+ exuv = ExchUV(isec, 1); -+ } -+ S->Bounds(UFirst, ULast, VFirst, VLast); - -- if (! LastShape.IsNull() && (ILast==myLoc->NbLaw()+1) ) { -- mySec->Init(LastShape); -- for (isec=1; isec<=NbLaw; isec++) { -- E = mySec->CurrentEdge(); -- VEdge(isec, NbPath+1) = E; -- if (E.Orientation() == TopAbs_REVERSED) -- Vertex(isec+1, NbPath+1) = TopExp::FirstVertex(E); -- else -- Vertex(isec+1, NbPath+1) = TopExp::LastVertex(E); -- UpdateVertex(ILast-1, isec+1, TabErr(isec, NbPath), -- Vi(NbPath+1), Vertex(isec+1, NbPath+1)); -+ // Choice of parameters -+ if (ureverse) { -+ if (exuv) { -+ aux = VFirst; VFirst = VLast; VLast = aux; -+ } -+ else { -+ aux = UFirst; UFirst = ULast; ULast = aux; -+ } -+ } -+ if (isec!= NbLaw+1) { -+ u = UFirst; -+ v = VFirst; -+ } -+ else { -+ if (exuv) { -+ u = UFirst; -+ v = VLast; -+ } -+ else { -+ u = ULast; -+ v = VFirst; -+ } - } -- if (VEdge(1, NbPath+1).Orientation() == TopAbs_REVERSED) -- Vertex(1, NbPath+1) = -- TopExp::LastVertex(TopoDS::Edge(VEdge(1, NbPath+1))); -- else -- Vertex(1, NbPath+1) = -- TopExp::FirstVertex(TopoDS::Edge(VEdge(1, NbPath+1))); -- UpdateVertex(ILast-1, 1, -- TabErr(1, NbPath), Vi(NbPath+1), Vertex(1, NbPath+1 )); -- } -- else { -- Standard_Real u, v, aux; -- Standard_Boolean ureverse; -- for (isec=1; isec<=NbLaw+1; isec++) { -- // Return data -- if (isec >NbLaw) { -- S = TabS(NbLaw, NbPath); -- ureverse = UReverse(NbLaw, NbPath); -- exuv = ExchUV(NbLaw, NbPath); -- } -- else { -- S = TabS(isec, NbPath); -- ureverse = UReverse(isec, NbPath); -- exuv = ExchUV(isec, NbPath); -- } -- S->Bounds(UFirst, ULast, VFirst, VLast); - -- // Choice of parametres -- if (ureverse) { -- if (exuv) { -- aux = VFirst; VFirst = VLast; VLast = aux; -- } -- else { -- aux = UFirst; UFirst = ULast; ULast = aux; -- } -- } -- if (isec == NbLaw+1) { -- u = ULast; -- v = VLast; -- } -- else { -- if (exuv) { -- u = ULast; -- v = VFirst; -- } -- else { -- u = UFirst; -- v = VLast; -- } -- } -+ // construction of vertices -+ B.MakeVertex(TopoDS::Vertex(Vertex(isec, 1)), -+ S->Value(u,v), -+ mySec->VertexTol(isec-1,Vi(1))); -+ } -+ } - -- // construction of vertex -- B.MakeVertex(TopoDS::Vertex(Vertex(isec, NbPath+1)), -- S->Value(u,v), -- mySec->VertexTol(isec-1, Vi(NbPath+1))); -+ if (! LastShape.IsNull() && (ILast==myLoc->NbLaw()+1) ) { -+ mySec->Init(LastShape); -+ for (isec=1; isec<=NbLaw; isec++) { -+ E = mySec->CurrentEdge(); -+ VEdge(isec, NbPath+1) = E; -+ if (E.Orientation() == TopAbs_REVERSED) -+ Vertex(isec+1, NbPath+1) = TopExp::FirstVertex(E); -+ else -+ Vertex(isec+1, NbPath+1) = TopExp::LastVertex(E); -+ UpdateVertex(ILast-1, isec+1, TabErr(isec, NbPath), -+ Vi(NbPath+1), Vertex(isec+1, NbPath+1)); -+ } -+ if (VEdge(1, NbPath+1).Orientation() == TopAbs_REVERSED) -+ Vertex(1, NbPath+1) = -+ TopExp::LastVertex(TopoDS::Edge(VEdge(1, NbPath+1))); -+ else -+ Vertex(1, NbPath+1) = -+ TopExp::FirstVertex(TopoDS::Edge(VEdge(1, NbPath+1))); -+ UpdateVertex(ILast-1, 1, -+ TabErr(1, NbPath), Vi(NbPath+1), Vertex(1, NbPath+1 )); -+ } -+ else { -+ Standard_Real u, v, aux; -+ Standard_Boolean ureverse; -+ for (isec=1; isec<=NbLaw+1; isec++) { -+ // Return data -+ if (isec >NbLaw) { -+ S = TabS(NbLaw, NbPath); -+ ureverse = UReverse(NbLaw, NbPath); -+ exuv = ExchUV(NbLaw, NbPath); - } -+ else { -+ S = TabS(isec, NbPath); -+ ureverse = UReverse(isec, NbPath); -+ exuv = ExchUV(isec, NbPath); -+ } -+ S->Bounds(UFirst, ULast, VFirst, VLast); -+ -+ // Choice of parametres -+ if (ureverse) { -+ if (exuv) { -+ aux = VFirst; VFirst = VLast; VLast = aux; -+ } -+ else { -+ aux = UFirst; UFirst = ULast; ULast = aux; -+ } -+ } -+ if (isec == NbLaw+1) { -+ u = ULast; -+ v = VLast; -+ } -+ else { -+ if (exuv) { -+ u = ULast; -+ v = VFirst; -+ } -+ else { -+ u = UFirst; -+ v = VLast; -+ } -+ } -+ -+ // construction of vertex -+ B.MakeVertex(TopoDS::Vertex(Vertex(isec, NbPath+1)), -+ S->Value(u,v), -+ mySec->VertexTol(isec-1, Vi(NbPath+1))); - } - } - -diff --git a/src/Draft/Draft_Modification.cxx b/src/Draft/Draft_Modification.cxx -index e72fe8d..6033694 100755 ---- a/src/Draft/Draft_Modification.cxx -+++ b/src/Draft/Draft_Modification.cxx -@@ -58,6 +58,7 @@ - #include - - #include -+#include - - //======================================================================= - //function : Draft_Modification -@@ -422,23 +423,34 @@ Standard_Boolean Draft_Modification::NewCurve2d(const TopoDS_Edge& E, - (typs == STANDARD_TYPE(Geom_ConicalSurface)); - - if ( JeRecadre) { -- gp_Pnt2d PF,PL; -- BRep_Tool::UVPoints(E,F,PF,PL); -- gp_Pnt2d NewPF = C->Value(Fp); -- gp_Vec2d vectra(2.*M_PI,0.); -- -- if (NewPF.Translated(vectra).SquareDistance(PF) -- < NewPF.SquareDistance(PF)) { -- C->Translate(vectra); -- -+ Standard_Boolean bTranslate; -+ Standard_Real aD2, aT1, aT2; -+ gp_Pnt2d PF, NewPF, aP2DT; -+ gp_Vec2d aV2DT, vectra(2.*M_PI,0.); -+ Handle(Geom2d_Curve) aC2DE; -+ // -+ aC2DE=BRep_Tool::CurveOnSurface(E, F, aT1, aT2); -+ // -+ PF=aC2DE->Value(0.5*(aT1+aT2)); -+ // -+ NewPF=C->Value(0.5*(Fp+Lp)); -+ // -+ aD2=NewPF.SquareDistance(PF); -+ // -+ bTranslate=Standard_False; -+ if (NewPF.Translated(vectra).SquareDistance(PF) < aD2) { -+ aV2DT=vectra; -+ bTranslate=!bTranslate; //True - } -- else if (NewPF.Translated(-vectra).SquareDistance(PF) -- < NewPF.SquareDistance(PF)) { -- C->Translate(-vectra); -- -+ else if (NewPF.Translated(-vectra).SquareDistance(PF) < aD2) { -+ aV2DT=-vectra; -+ bTranslate=!bTranslate; //True -+ } -+ // -+ if (bTranslate) { -+ C->Translate(aV2DT); - } - } -- - return Standard_True; - } - -diff --git a/src/IntTools/IntTools_LineConstructor.cxx b/src/IntTools/IntTools_LineConstructor.cxx -index b88f063..984530e 100755 ---- a/src/IntTools/IntTools_LineConstructor.cxx -+++ b/src/IntTools/IntTools_LineConstructor.cxx -@@ -735,6 +735,7 @@ void IntTools_LineConstructor::TreatCircle(const Handle(IntPatch_Line)& aLine, - return; - } - //---------------------------------------- -+ Standard_Boolean bFound; - Standard_Integer aNbVtx, aNbVtxWas, i; - Standard_Real aTolPC, aT, aT1, aT2, aTmid, aTwoPI, aTolPC1; - Standard_Real aU1, aV1, aU2, aV2; -@@ -747,6 +748,7 @@ void IntTools_LineConstructor::TreatCircle(const Handle(IntPatch_Line)& aLine, - aTwoPI=M_PI+M_PI; - aTolPC=Precision::PConfusion(); - aNbVtxWas=GeomInt_LineTool::NbVertex(aLine); -+ - aNbVtx=aNbVtxWas+2; - //-------------------------------------2 - aTS1=myHS1->GetType(); -@@ -761,7 +763,7 @@ void IntTools_LineConstructor::TreatCircle(const Handle(IntPatch_Line)& aLine, - pVtx=new IntTools_RealWithFlag [aNbVtx]; - // - pVtx[0].SetValue(0.); -- pVtx[1].SetValue(2.*M_PI); -+ pVtx[1].SetValue(aTwoPI); - // - for(i=1; i<=aNbVtxWas; ++i) { - aT=GeomInt_LineTool::Vertex(aLine, i).ParameterOnLine(); -@@ -775,6 +777,27 @@ void IntTools_LineConstructor::TreatCircle(const Handle(IntPatch_Line)& aLine, - // - RejectDuplicates(aNbVtx, pVtx, aTolPC); - // -+ if ((aType==IntPatch_Circle || aType==IntPatch_Ellipse)&& aNbVtx>2) { // zz -+ bFound=Standard_False; -+ for(i=1; i<=aNbVtxWas; ++i) { -+ aT=GeomInt_LineTool::Vertex(aLine, i).ParameterOnLine(); -+ if (fabs(aT) < aTolPC1 || fabs(aT-aTwoPI) < aTolPC1) { -+ bFound=!bFound; -+ break; -+ } -+ } -+ if (!bFound) { -+ aT=pVtx[1].Value()+aTwoPI; -+ pVtx[aNbVtx-1].SetValue(aT); -+ // -+ for(i=0; i 8) || ((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 5))) -+ Tcl_Write(errChannel, Tcl_GetStringResult(Interp), -1); -+#else - Tcl_Write(errChannel, Interp->result, -1); -+#endif - Tcl_Write(errChannel, "\n", 1); - } - Tcl_AddErrorInfo(Interp, -@@ -1055,7 +1059,11 @@ Standard_Boolean Init_Appli() - mainWindow = - Tk_MainWindow(interp) ; - if (mainWindow == NULL) { -+#if ((TCL_MAJOR_VERSION > 8) || ((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 5))) -+ fprintf(stderr, "%s\n", Tcl_GetStringResult(interp)); -+#else - fprintf(stderr, "%s\n", interp->result); -+#endif - exit(1); - } - Tk_Name(mainWindow) = -@@ -2061,7 +2069,11 @@ static DWORD WINAPI tkLoop(VOID) - Standard_Integer res = Tk_Init (interp); - if (res != TCL_OK) - { -+#if ((TCL_MAJOR_VERSION > 8) || ((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 5))) -+ cout << "tkLoop: error in Tk initialization. Tcl reported: " << Tcl_GetStringResult(interp) << endl; -+#else - cout << "tkLoop: error in Tk initialization. Tcl reported: " << interp->result << endl; -+#endif - } - } - catch (Standard_Failure) -@@ -2072,7 +2084,11 @@ static DWORD WINAPI tkLoop(VOID) - mainWindow = Tk_MainWindow (interp); - if (mainWindow == NULL) - { -+#if ((TCL_MAJOR_VERSION > 8) || ((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 5))) -+ fprintf (stderr, "%s\n", Tcl_GetStringResult(interp)); -+#else - fprintf (stderr, "%s\n", interp->result); -+#endif - cout << "tkLoop: Tk_MainWindow() returned NULL. Exiting...\n"; - Tcl_Exit (0); - } -- 2.39.2