From: abd Date: Wed, 14 Jun 2006 08:34:14 +0000 (+0000) Subject: Merging from BR_DEBUG_3_2_0b1 X-Git-Tag: LAST_STABLE_VERSION_21_09_2006_ON_3_2_0~30 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=a6c120d5d8587e4e26d7016d1c61ab4e71ac4a2e;p=modules%2Fgeom.git Merging from BR_DEBUG_3_2_0b1 --- diff --git a/INSTALL b/INSTALL index 3af14c9a2..71869d64e 100644 --- a/INSTALL +++ b/INSTALL @@ -1,4 +1 @@ -This is the version 3.2.0a1 of GEOM -Compatible with : - - KERNEL 3.2.0a1 - - GUI 3.2.0a1 +SALOME2 : GEOM module diff --git a/Makefile.in b/Makefile.in index 81a995749..8c29352c3 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,3 +1,22 @@ +# Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# +# 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 +# # -* Makefile *- # # Author : Patrick GOLDBRONN (CEA) @@ -9,18 +28,19 @@ top_srcdir=@top_srcdir@ top_builddir=. srcdir=@srcdir@ -VPATH=.:@srcdir@:@top_srcdir@/bin:@top_srcdir@/resources:./bin:@top_srcdir@/idl +VPATH=.:@srcdir@:@top_srcdir@/bin:./bin/salome:./resources:@top_srcdir@/resources:./bin:@top_srcdir@/idl @COMMENCE@ -SUBDIRS = idl src doc +SUBDIRS = idl src doc adm_local RESOURCES_FILES = \ GEOM_en.xml \ GEOM_fr.xml \ GEOM.config \ GEOMCatalog.xml \ +SalomeApp.xml \ GEOMDS_Resources \ ImportExport \ ShHealing \ @@ -181,14 +201,22 @@ BIN_SCRIPT= \ VERSION # copy header files in common directory -ifeq ($(HAVE_SSTREAM),yes) - include_list=include/salome/SALOMEconfig.h -else - include_list=include/salome/SALOMEconfig.h include/salome/sstream + +include_list = include/salome/SALOMEconfig.h \ + include/salome/GEOM_version.h + +ifneq ($(HAVE_SSTREAM),yes) + include_list += include/salome/sstream endif inc: idl $(include_list) +bin: bin/salome/VERSION + +bin/salome/VERSION : bin/VERSION + -$(RM) $@ + $(LN_S) ../../$< $@ + include/salome/SALOMEconfig.h: salome_adm/unix/SALOMEconfig.ref -$(RM) $@ $(LN_S) ../../$< $@ @@ -206,6 +234,10 @@ include/salome/sstream: salome_adm/unix/sstream -$(RM) $@ $(LN_S) ../../$< $@ +include/salome/GEOM_version.h: GEOM_version.h + -$(RM) $@ + $(LN_S) ../../$< $@ + depend: depend_idl depend_idl: diff --git a/build_configure b/build_configure index 6fdce3389..7e516789c 100755 --- a/build_configure +++ b/build_configure @@ -25,6 +25,13 @@ fi # echo "failed : KERNEL_SRC variable is not correct !" # exit #fi +######################################################################## +# Test if the GUI_ROOT_DIR is set correctly +if test ! -d "${GUI_ROOT_DIR}"; then + echo "failed : GUI_ROOT_DIR variable is not correct !" + exit +fi + ######################################################################## # find_in - utility function # @@ -124,9 +131,9 @@ echo " ./salome_adm/unix/SALOMEconfig.h \\" >> configure.in_tmp1 echo " ./salome_adm/unix/F77config.h \\" >> configure.in_tmp1 echo " ./salome_adm/unix/sstream \\" >> configure.in_tmp1 echo " ./salome_adm/unix/depend \\" >> configure.in_tmp1 -echo " ./adm_local/unix/make_omniorb \\" >> configure.in_tmp1 +echo " ./adm_local/unix/make_omniorb:${ABS_CONF_DIR}/adm_local/unix/make_omniorb.in \\" >> configure.in_tmp1 echo " ./salome_adm/unix/envScript \\" >> configure.in_tmp1 -echo " ./adm_local/unix/make_commence \\" >> configure.in_tmp1 +echo " ./adm_local/unix/make_commence:${ABS_CONF_DIR}/adm_local/unix/make_commence.in \\" >> configure.in_tmp1 echo " ./salome_adm/unix/make_conclude \\" >> configure.in_tmp1 echo " ./salome_adm/unix/make_module \\" >> configure.in_tmp1 @@ -202,7 +209,8 @@ else echo -n "Creating 'configure' script ... " fi -aclocal --acdir=adm_local/unix/config_files -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files +aclocal -I adm_local/unix/config_files -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \ + -I ${GUI_ROOT_DIR}/adm_local/unix/config_files if autoconf then echo "done" diff --git a/configure.in.base b/configure.in.base index cab0113ce..1a444a104 100644 --- a/configure.in.base +++ b/configure.in.base @@ -23,8 +23,10 @@ AC_CANONICAL_HOST PACKAGE=salome AC_SUBST(PACKAGE) -VERSION=0.0.1 +VERSION=3.2.0 +XVERSION=0x030200 AC_SUBST(VERSION) +AC_SUBST(XVERSION) dnl dnl Initialize source and build root directories @@ -258,6 +260,26 @@ echo CHECK_HTML_GENERATORS +echo +echo --------------------------------------------- +echo Testing GUI +echo --------------------------------------------- +echo + +CHECK_SALOME_GUI + +echo +echo --------------------------------------------- +echo Testing full GUI +echo --------------------------------------------- +echo + +CHECK_CORBA_IN_GUI +if test "x${CORBA_IN_GUI}" != "xyes"; then + echo "failed : For configure GEOM module necessary full GUI !" + exit +fi + echo echo --------------------------------------------- echo Testing Kernel @@ -303,7 +325,7 @@ else fi # make other build directories -for rep in salome_adm adm_local doc bin/salome include/salome lib/salome share/salome/resources idl +for rep in salome_adm adm_local doc bin/salome include/salome lib${LIB_LOCATION_SUFFIX}/salome share/salome/resources idl do # if test ! -d $rep ; then # eval mkdir $rep diff --git a/idl/GEOM_Gen.idl b/idl/GEOM_Gen.idl index 28c2ad4ae..d5d18f0fa 100644 --- a/idl/GEOM_Gen.idl +++ b/idl/GEOM_Gen.idl @@ -15,7 +15,7 @@ // 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/ +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // // File : GEOM_Gen.idl // Author : Sergey RUIN @@ -264,6 +264,18 @@ module GEOM GEOM_Object MakePointOnCurve (in GEOM_Object theRefCurve, in double theParameter); + + /*! + * Create a vector, corresponding to tangent to the given parameter on the given curve. + * \param theRefCurve The referenced curve. + * \param theParameter Value of parameter on the referenced curve.This value should be have value + * \between 0. and 1.. Value of 0. corresponds first parameter of curve value 1. corresponds + * \last parameter of curve. + * \return New GEOM_Object, containing the created point. + */ + GEOM_Object MakeTangentOnCurve (in GEOM_Object theRefCurve, + in double theParameter); + /*! * Create a vector with the given components. * \param theDX X component of the vector. @@ -344,6 +356,20 @@ module GEOM GEOM_Object MakeMarker (in double theOX , in double theOY , in double theOZ, in double theXDX, in double theXDY, in double theXDZ, in double theYDX, in double theYDY, in double theYDZ); + + /*! + * Create a tangent plane to specified face in the point with specified parameters. + * Values of parameters should be between 0. and 1.0 + * \param theFace - face for which tangent plane shuold be built. + * \param theParameterU - value of parameter by U + * \param theParameterV - value of parameter Vthe + * \param theTrimSize - defines sizes of created face + * \return New GEOM_Object, containing the face built on tangent plane. + */ + GEOM_Object MakeTangentPlaneOnFace(in GEOM_Object theFace, + in double theParameterU, + in double theParameterV, + in double theTrimSize); }; interface GEOM_ITransformOperations : GEOM_IOperations @@ -781,6 +807,41 @@ module GEOM in long theMinDeg, in long theMaxDeg, in double theTol2D, in double theTol3D, in long theNbIter); + + /*! + * Create a shell or solid passing through set of sections.Sections should be wires,edges or vertices. + * \param theSeqSections - set of specified sections. + * \param theModeSolid - mode defining building solid or shell + * \param thePreci - precision 3D used for smoothing by default 1.e-6 + * \param theRuled - mode defining type of the result surfaces (ruled or smoothed). + * \return New GEOM_Object, containing the created shell or solid. + */ + GEOM_Object MakeThruSections(in ListOfGO theSeqSections, + in boolean theModeSolid, + in double thePreci, + in boolean theRuled); + + /*! + * Create a shape by extrusion of the profile shape along + * the path shape. The path shape can be a wire or an edge. + * the several profiles can be specified in the several locations of path. + * \param theSeqBases - list of Bases shape to be extruded. + * \param theLocations - list of locations on the path corresponding + * specified list of the Bases shapes. Number of locations + * should be equal to number of bases or list of locations can be empty. + * \param thePath - Path shape to extrude the base shape along it. + * \param theWithContact - the mode defining that the section is translated to be in + * contact with the spine. + * \param - WithCorrection - defining that the section is rotated to be + * orthogonal to the spine tangent in the correspondent point + * \return New GEOM_Object, containing the created pipe. + */ + GEOM_Object MakePipeWithDifferentSections (in ListOfGO theSeqBases, + in ListOfGO theLocations, + in GEOM_Object thePath, + in boolean theWithContact , + in boolean theWithCorrection ); + }; /*! @@ -893,6 +954,35 @@ module GEOM GEOM_Object GetSubShape (in GEOM_Object theMainShape, in long theID); + /*! + * Get global index of \a theSubShape in \a theMainShape. + * \param theMainShape Main shape. + * \param theSubShape Sub-shape of the main shape. + * \return global index of \a theSubShape in \a theMainShape. + */ + long GetSubShapeIndex (in GEOM_Object theMainShape, in GEOM_Object theSubShape); + + /*! + * Get index of \a theSubShape in \a theMainShape, unique among sub-shapes of the same type. + * Together with method GetShapeTypeString() it can be used + * to generate automatic names for sub-shapes, when publishing them in a study. + * \param theMainShape Main shape. + * \param theSubShape Sub-shape of the main shape. + * \return index of \a theSubShape in a list of all sub-shapes of \a theMainShape of the same type. + */ + long GetTopologyIndex (in GEOM_Object theMainShape, in GEOM_Object theSubShape); + + /*! + * \brief Get name of type of \a theShape. + * + * Use wide type notation, taking into consideration both topology and geometry of the shape. + * Together with method GetTopologyIndex() it can be used + * to generate automatic names for sub-shapes, when publishing them in a study. + * \param theShape The shape to get a type of. + * \return String, containing a type name of \a theShape. + */ + string GetShapeTypeString (in GEOM_Object theShape); + /*! * Count number of faces in the given shape. * \param theShape Shape to count faces in. @@ -1378,7 +1468,7 @@ module GEOM * \param theDirFace2 Second direction face global index. * \param theNbTimes Quantity of transformations to be done. * \note Global index of sub-shape can be obtained, using method - * GEOM_ILocalOperations.GetSubShapeIndex(). + * GEOM_IShapesOperations.GetSubShapeIndex(). * \return New GEOM_Object, containing the result shape. */ GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock, @@ -1602,7 +1692,8 @@ module GEOM * \param theShape Shape, to perform fillet on. * \param theR Fillet radius. * \param theEdges Global indices of edges to perform fillet on. - * \note Global index of sub-shape can be obtained, using method GetSubShapeIndex(). + * \note Global index of sub-shape can be obtained, using method + * GEOM_IShapesOperations.GetSubShapeIndex(). * \return New GEOM_Object, containing the result shape. */ GEOM_Object MakeFilletEdges (in GEOM_Object theShape, @@ -1614,7 +1705,8 @@ module GEOM * \param theShape Shape, to perform fillet on. * \param theR Fillet radius. * \param theFaces Global indices of faces to perform fillet on. - * \note Global index of sub-shape can be obtained, using method GetSubShapeIndex(). + * \note Global index of sub-shape can be obtained, using method + * GEOM_IShapesOperations.GetSubShapeIndex(). * \return New GEOM_Object, containing the result shape. */ GEOM_Object MakeFilletFaces (in GEOM_Object theShape, @@ -1637,7 +1729,8 @@ module GEOM * \param theD1 Chamfer size along \a theFace1. * \param theD2 Chamfer size along \a theFace2. * \param theFace1,theFace2 Global indices of two faces of \a theShape. - * \note Global index of sub-shape can be obtained, using method GetSubShapeIndex(). + * \note Global index of sub-shape can be obtained, using method + * GEOM_IShapesOperations.GetSubShapeIndex(). * \return New GEOM_Object, containing the result shape. */ GEOM_Object MakeChamferEdge (in GEOM_Object theShape, @@ -1653,7 +1746,8 @@ module GEOM * will be get along face, which is nearer to \a theFaces beginning. * \param theD2 Chamfer size along another of two faces, connected to the edge. * \param theFaces Sequence of global indices of faces of \a theShape. - * \note Global index of sub-shape can be obtained, using method GetSubShapeIndex(). + * \note Global index of sub-shape can be obtained, using method + * GEOM_IShapesOperations.GetSubShapeIndex(). * \return New GEOM_Object, containing the result shape. */ GEOM_Object MakeChamferFaces (in GEOM_Object theShape, @@ -1676,10 +1770,8 @@ module GEOM in double theMeshDeflection); /*! - * Get global index of \a theSubShape in \a theShape. - * \param theShape Main shape. - * \param theSubShape Sub-shape of the main shape. - * \return global index of \a theSubShape in \a theShape. + * Duplicates GEOM_IShapesOperations.GetSubShapeIndex(). + * Present here only for compatibility. */ long GetSubShapeIndex (in GEOM_Object theShape, in GEOM_Object theSubShape); }; @@ -1972,7 +2064,7 @@ module GEOM * Adds a sub object with ID theSubShapeId to the group * \param theGroup is a GEOM group to which the new sub shape is added * \param theSubShapeId is a sub shape ID in the main object. - * \note Use method ILocalOperations.GetSubShapeIndex() to get an ID by the sub shape + * \note Use method GEOM_IShapesOperations.GetSubShapeIndex() to get an ID by the sub shape */ void AddObject (in GEOM_Object theGroup, in long theSubShapeId); @@ -1980,7 +2072,7 @@ module GEOM * Removes a sub object with ID \a theSubShapeId from the group * \param theGroup is a GEOM group from which the sub shape is removed. * \param theSubShapeId is a sub shape ID in the main object. - * \note Use method ILocalOperations.GetSubShapeIndex() to get an ID by the sub shape + * \note Use method GEOM_IShapesOperations.GetSubShapeIndex() to get an ID by the sub shape */ void RemoveObject (in GEOM_Object theGroup, in long theSubShapeId); diff --git a/idl/GEOM_Superv.idl b/idl/GEOM_Superv.idl index 4f2c94f36..5056a4d0a 100644 --- a/idl/GEOM_Superv.idl +++ b/idl/GEOM_Superv.idl @@ -15,7 +15,7 @@ // 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // // // @@ -72,6 +72,10 @@ module GEOM in double theZ) ; GEOM_Object MakePointOnCurve (in GEOM_Object theRefCurve, in double theParameter) ; + + GEOM_Object MakeTangentOnCurve (in GEOM_Object theRefCurve, + in double theParameter); + GEOM_Object MakeVectorDXDYDZ (in double theDX, in double theDY, in double theDZ) ; @@ -92,6 +96,20 @@ module GEOM in double theXDX, in double theXDY, in double theXDZ, in double theYDX, in double theYDY, in double theYDZ) ; + /*! + * Create a tangent plane to specified face in the point with specified parameters. + * Values of parameters should be between 0. and 1.0 + * \param theFace - face for which tangent plane shuold be built. + * \param theParameterU - value of parameter by U + * \param theParameterV - value of parameter Vthe + * \param theTrimSize - defines sizes of created face + * \return New GEOM_Object, containing the face built on tangent plane. + */ + GEOM_Object MakeTangentPlaneOnFace(in GEOM_Object theFace, + in double theParameterU, + in double theParameterV, + in double theTrimSize); + //-----------------------------------------------------------// // Primitives Construction : 3DPrimOperations // //-----------------------------------------------------------// @@ -148,7 +166,17 @@ module GEOM in long theMinDeg, in long theMaxDeg, in double theTol2D, in double theTol3D, in long theNbIter) ; + GEOM_Object MakeThruSections(in ListOfGO theSeqSections, + in boolean theModeSolid, + in double thePreci, + in boolean theRuled); + GEOM_Object MakePipeWithDifferentSections (in ListOfGO theSeqBases, + in ListOfGO theLocations, + in GEOM_Object thePath, + in boolean theWithContact , + in boolean theWithCorrection ); + //-----------------------------------------------------------// // BooleanOperations // //-----------------------------------------------------------// diff --git a/idl/Makefile.in b/idl/Makefile.in index 72f11d7c6..8d13e3185 100644 --- a/idl/Makefile.in +++ b/idl/Makefile.in @@ -1,3 +1,22 @@ +# Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# +# 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 +# # # generate dependencies for idl file : # @@ -16,6 +35,8 @@ IDL_FILES = \ PY_CLIENT_IDL = $(IDL_FILES) +LIB_LOCATION_SUFFIX=@LIB_LOCATION_SUFFIX@ + # we copy all idl file in $(top_builddir)/idl inc: $(top_builddir)/idl/salome $(IDL_FILES:%=$(top_builddir)/idl/salome/%) @@ -29,7 +50,7 @@ $(IDL_FILES:%=$(top_builddir)/idl/salome/%):$(IDL_FILES:%=$(top_srcdir)/idl/%) lib: pyidl -PYTHON_BUILD_SITE=$(top_builddir)/lib/python$(PYTHON_VERSION)/site-packages/@PACKAGE@ +PYTHON_BUILD_SITE=$(top_builddir)/lib$(LIB_LOCATION_SUFFIX)/python$(PYTHON_VERSION)/site-packages/@PACKAGE@ pyidl: $(PYTHON_BUILD_SITE) $(IDL_FILES:%.idl=$(PYTHON_BUILD_SITE)/%_idl.py) diff --git a/resources/ImportExport b/resources/ImportExport index 15bf9c78c..ffe691c1e 100644 --- a/resources/ImportExport +++ b/resources/ImportExport @@ -1,5 +1,5 @@ Import: BREP|IGES|STEP -Export: BREP|IGES|STEP +Export: BREP|IGES|IGES_5_3|STEP BREP.Import: libBREPImport BREP.Export: libBREPExport @@ -8,6 +8,10 @@ BREP.Pattern: BREP Files ( *.brep ) IGES.Import: libIGESImport IGES.Export: libIGESExport IGES.Pattern: IGES Files ( *.iges *.igs ) +IGES.ExportPattern: IGES 5.1 Files ( *.iges *.igs ) + +IGES_5_3.Export: libIGESExport.so +IGES_5_3.Pattern: IGES 5.3 Files ( *.iges *.igs ) STEP.Import: libSTEPImport STEP.Export: libSTEPExport