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