Sprout from V3_2_0_AMA 2006-09-14 18:16:46 UTC salome 'add: construction géométrie Cabri'
Delete:
Makefile.in
adm_local/unix/config_files/README
adm_local/unix/config_files/check_msg2qm.m4
adm_local/unix/config_files/check_pal.m4
adm_local/unix/config_files/check_visu.m4
adm_local/unix/make_commence.in
adm_local/unix/make_omniorb.in
bin/VERSION
build_configure
configure.in.base
doc/Makefile.in
doc/patchEficasV1_10.diff
idl/EFICAS_Gen.idl
idl/Makefile.in
resources/EFICASCatalog.xml
resources/EFICAS_en.xml
resources/SalomeApp.xml
resources/eficas.png
resources/eficashomard.png
resources/eficaster.png
resources/eficasternovice.png
resources/moins.png
resources/plus.png
resources/select1.png
src/CONFIG/Makefile.in
src/CONFIG/eficasConfig.py
src/EFICAS/EFICAS.py
src/EFICAS/Makefile.in
src/EFICASGUI/EFICASGUI.py
src/EFICASGUI/EFICAS_icons.po
src/EFICASGUI/EFICAS_msg_en.po
src/EFICASGUI/Makefile.in
src/EFICASGUI/SelectMainShapeDiag_ui.ui
src/EFICASGUI/eficasSalome.py
src/EFICASGUI/eficas_etude.py
src/Makefile.in
src/STUDY/EficasStudy.py
src/STUDY/Makefile.in
+++ /dev/null
-# -* Makefile *-
-#
-# Author : Patrick GOLDBRONN (CEA)
-# Date : 28/06/2001
-#
-
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=.
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/bin:@top_srcdir@/resources:./bin:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-SUBDIRS = idl src
-
-RESOURCES_FILES = \
-EFICASCatalog.xml \
-EFICAS_en.xml \
-eficashomard.png \
-eficas.png \
-eficaster.png \
-eficasternovice.png \
-moins.png \
-plus.png \
-select1.png \
-SalomeApp.xml
-
-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
-endif
-
-inc: idl $(include_list)
-
-include/salome/SALOMEconfig.h: salome_adm/unix/SALOMEconfig.ref
- -$(RM) $@
- $(LN_S) ../../$< $@
-
-# test if SALOMEconfig.h has changed (contents)
-salome_adm/unix/SALOMEconfig.ref: salome_adm/unix/SALOMEconfig.h
- @if ! [ -a $@ ]; then \
- cp -p $< $@; \
- fi; \
- if ! cmp $< $@; then \
- cp -p $< $@; \
- fi; \
-
-include/salome/sstream: salome_adm/unix/sstream
- -$(RM) $@
- $(LN_S) ../../$< $@
-
-depend: depend_idl
-
-depend_idl:
- (cd idl ; $(MAKE) $@) || exit 1
-
-# doc is already build : if you want to had documents, go manually to doc and run 'make doc'
-#doc:
-# (cd doc && $(MAKE) $@) || exit 1
-
-install-end:
-# finish libtool install
-# @$(LT) --mode=finish $(libdir)
-
-install-include: $(include_list)
- $(INSTALL) -d $(includedir)
- @for f in X $(include_list); do \
- if test $$f != X; then \
- ($(INSTALL_DATA) $$f $(includedir)/. || exit 1); \
- fi; \
- done
-
-# install script in $(bindir) :
-install-bin: $(BIN_SCRIPT)
- $(INSTALL) -d $(bindir)
- if test $(BIN_SCRIPT)X != X; then \
- $(INSTALL_PROGRAM) $^ $(bindir); \
- fi
-
-uninstall: uninstall-idl
-
-uninstall-idl:
- $(RM) $(idldir)/*.idl
-
-distclean: distclean-other
-
-distclean-other:
- -$(RM) salome_adm/unix/*~ salome_adm/unix/*% salome_adm/unix/*.bak salome_adm/unix/*.new salome_adm/unix/*.old
- -$(RM) salome_adm/unix/make_*
- -$(RM) salome_adm/unix/depend salome_adm/unix/SALOMEconfig.h
- -$(RM) config.cache config.log config.status
-
-@MODULE@
-
-install: install-bin install-include install-end
-
+++ /dev/null
-this file is needed by cvs to create the directory
\ No newline at end of file
+++ /dev/null
-# Check availability of Qt's msg2qm tool binary distribution
-#
-# Author : Jerome Roy (CEA, 2003)
-#
-
-AC_DEFUN([CHECK_MSG2QM],[
-AC_CHECKING(for msg2qm)
-
-msg2qm_ok=no
-
-AC_ARG_WITH(msg2qm,
- [ --with-msg2qm=root_directory_path_of_MSG2QM_installation],
- MSG2QM_DIR="$withval",MSG2QM_DIR="")
-
-if test "x$MSG2QM_DIR" == "x" ; then
- # no --with-MSG2QM-dir option used
- if test "x$MSG2QM_ROOT" != "x" ; then
- # MSG2QM_ROOT environment variable defined
- MSG2QM_DIR=$MSG2QM_ROOT
- else
- # search MSG2QM binaries in PATH variable
- AC_PATH_PROG(TEMP, msg2qm)
- if test "x$TEMP" != "x" ; then
- MSG2QM_DIR=`dirname $TEMP`
- fi
- fi
-fi
-
-# look for msg2qm in ${MSG2QM_DIR} directory
-if test -f ${MSG2QM_DIR}/msg2qm ; then
- msg2qm_ok=yes
- MSG2QM="${MSG2QM_DIR}/msg2qm"
- AC_MSG_RESULT(Using MSG2QM executable in ${MSG2QM_DIR})
-else
- # if not found, look for msg2qm in ${MSG2QM_DIR}/bin directory
- if test -f ${MSG2QM_DIR}/bin/msg2qm ; then
- msg2qm_ok=yes
- MSG2QM="${MSG2QM_DIR}/bin/msg2qm"
- AC_MSG_RESULT(Using MSG2QM executable in ${MSG2QM_DIR}/bin)
- fi
-fi
-
-if test "$msg2qm_ok" == "no"; then
- # At last, let's have a look in SALOME (until V2.2.X)
- SALOME_MSG2QM=${KERNEL_ROOT_DIR}/bin/salome/msg2qm
- if test -f $SALOME_MSG2QM ; then
- msg2qm_ok=yes
- MSG2QM=${SALOME_MSG2QM}
- AC_MSG_RESULT(Using MSG2QM executable provided with SALOME KERNEL)
- else
- AC_MSG_WARN("Cannot find MSG2QM executable in SALOME")
- fi
-fi
-
-AC_SUBST(MSG2QM)
-AC_MSG_RESULT(for MSG2QM: $msg2qm_ok)
-
-])dnl
-
+++ /dev/null
-# Check availability of Salome's PAL binary distribution
-#
-# Author : Guillaume Boulant (CSSI - 03/08/2005)
-#
-
-AC_DEFUN([CHECK_PAL],[
-
-AC_CHECKING(for Pal)
-
-pal_ok=no
-
-AC_ARG_WITH(pal,
- [ --with-pal=DIR root directory path of PAL build or installation],
- PAL_DIR="$withval",PAL_DIR="")
-
-if test "x$PAL_DIR" = "x" ; then
-
-# no --with-pal-dir option used
-
- if test "x$PAL_ROOT_DIR" != "x" ; then
-
- # PAL_ROOT_DIR environment variable defined
- PAL_DIR=$PAL_ROOT_DIR
-
- else
- AC_MSG_WARN("PAL_ROOT_DIR is not defined")
- fi
-fi
-
-if test -f ${PAL_DIR}/bin/salome/runAppli ; then
- pal_ok=yes
- AC_MSG_RESULT(Using Pal module distribution in ${PAL_DIR})
-
- if test "x$PAL_ROOT_DIR" = "x" ; then
- PAL_ROOT_DIR=${PAL_DIR}
- fi
- if test "x$PAL_SITE_DIR" = "x" ; then
- PAL_SITE_DIR=${PAL_ROOT_DIR}
- fi
- AC_SUBST(PAL_ROOT_DIR)
- AC_SUBST(PAL_SITE_DIR)
-
-else
- AC_MSG_WARN("Cannot find compiled Pal module distribution")
-fi
-
-AC_MSG_RESULT(for Pal: $pal_ok)
-
-])dnl
-
+++ /dev/null
-# Check availability of Salome's VISU binary distribution
-#
-# Author : Jerome Roy (CEA, 2003)
-#
-
-AC_DEFUN([CHECK_VISU],[
-
-AC_CHECKING(for Visu)
-
-Visu_ok=no
-
-AC_ARG_WITH(visu,
- [ --with-visu=DIR root directory path of VISU build or installation],
- VISU_DIR="$withval",VISU_DIR="")
-
-if test "x$VISU_DIR" = "x" ; then
-
-# no --with-visu-dir option used
-
- if test "x$VISU_ROOT_DIR" != "x" ; then
-
- # VISU_ROOT_DIR environment variable defined
- VISU_DIR=$VISU_ROOT_DIR
-
- else
-
- # search Visu binaries in PATH variable
- AC_PATH_PROG(TEMP, runSalome)
- if test "x$TEMP" != "x" ; then
- VISU_BIN_DIR=`dirname $TEMP`
- VISU_DIR=`dirname $VISU_BIN_DIR`
- fi
-
- fi
-#
-fi
-
-if test -f ${VISU_DIR}/bin/salome/visu.py ; then
- Visu_ok=yes
- AC_MSG_RESULT(Using Visu module distribution in ${VISU_DIR})
-
- if test "x$VISU_ROOT_DIR" = "x" ; then
- VISU_ROOT_DIR=${VISU_DIR}
- fi
- if test "x$VISU_SITE_DIR" = "x" ; then
- VISU_SITE_DIR=${VISU_ROOT_DIR}
- fi
- AC_SUBST(VISU_ROOT_DIR)
- AC_SUBST(VISU_SITE_DIR)
-
-else
- AC_MSG_WARN("Cannot find compiled Visu module distribution")
-fi
-
-AC_MSG_RESULT(for Visu: $Visu_ok)
-
-])dnl
-
+++ /dev/null
-# common directories to put headerfiles
-inc_builddir=$(top_builddir)/include/salome
-
-@SET_MAKE@
-SHELL=/bin/sh
-
-# header missing
-
-HAVE_SSTREAM=@HAVE_SSTREAM@
-
-
-LIBS=@LIBS@
-LDFLAGS=@LDFLAGS@ -L$(top_builddir)/lib/salome -Xlinker -rpath-link -Xlinker -L$(top_builddir)/lib/salome
-# add libstdc++ to link c++ library with libtool !
-LDFLAGS+= -lstdc++
-
-# CPP
-
-CPP=@CPP@
-CXXCPP=@CXXCPP@
-CPPFLAGS=@CPPFLAGS@ -I$(inc_builddir) -I$(srcdir) -I.
-
-# C
-
-CC = @CC@
-CFLAGS = @CFLAGS@
-C_DEPEND_FLAG = @C_DEPEND_FLAG@
-
-# C++
-
-#CXX = @CXX@
-#CXXFLAGS = @CXXFLAGS@
-#CXX_DEPEND_FLAG = @CXX_DEPEND_FLAG@
-
-# PYTHON
-
-PYTHON = @PYTHON@
-PYTHONHOME = @PYTHONHOME@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-PYTHON_VERSION = @PYTHON_VERSION@
-PYTHON_SITE = @PYTHON_SITE@
-PYTHON_SITE_INSTALL = @PYTHON_SITE_INSTALL@
-
-# QT
-
-QT_ROOT = @QT_ROOT@
-QT_INCLUDES = @QT_INCLUDES@
-QT_MT_INCLUDES = @QT_INCLUDES@ -DQT_THREAD_SUPPORT
-QT_LIBS = @QT_LIBS@
-QT_MT_LIBS = @QT_MT_LIBS@
-
-MOC = @MOC@
-UIC = @UIC@
-
-# msg2qm
-MSG2QM = @MSG2QM@
-
-# SIP
-SIP = @SIP@
-SIP_INCLUDES = @SIP_INCLUDES@
-SIP_LIBS = @SIP_LIBS@
-
-# PYQT
-PYQT_SIPS = @PYQT_SIPS@
-PYQT_LIBS = @PYQT_LIBS@
-
-# openGL
-OGL_INCLUDES=@OGL_INCLUDES@
-OGL_LIBS=@OGL_LIBS@
-
-# VTK
-VTK_INCLUDES=@VTK_INCLUDES@
-VTK_LIBS=@VTK_LIBS@
-
-# OpenCasCade
-
-OCC_INCLUDES=@CAS_CPPFLAGS@
-OCC_CXXFLAGS=@CAS_CXXFLAGS@
-
-OCC_KERNEL_LIBS=@CAS_KERNEL@
-OCC_OCAF_LIBS=@CAS_OCAF@
-OCC_VIEWER_LIBS=@CAS_VIEWER@
-OCC_MODELER_LIBS=@CAS_MODELER@
-OCC_DATAEXCHANGE_LIBS=@CAS_DATAEXCHANGE@
-OCC_LIBS=@CAS_LDFLAGS@
-
-# Swig C++ Python
-
-SWIG = @SWIG@
-SWIG_FLAGS = @SWIG_FLAGS@ -I$(inc_builddir) -I$(srcdir) -I.
-
-# OMNIORB
-
-OMNIORB_ROOT = @OMNIORB_ROOT@
-OMNIORB_INCLUDES = @OMNIORB_INCLUDES@
-OMNIORB_LIBS = @OMNIORB_LIBS@
-OMNIORB_CXXFLAGS = @OMNIORB_CXXFLAGS@
-
-OMNIORB_IDL = @OMNIORB_IDL@
-OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@
-OMNIORB_IDLPYFLAGS = @OMNIORB_IDLPYFLAGS@ -I$(top_srcdir)/idl -I$(top_builddir)/idl -I$(KERNEL_ROOT_DIR)/idl/salome
-
-OMNIORB_IDL_CLN_H = @OMNIORB_IDL_CLN_H@
-OMNIORB_IDL_CLN_CXX = @OMNIORB_IDL_CLN_CXX@
-OMNIORB_IDL_CLN_OBJ = @OMNIORB_IDL_CLN_OBJ@
-
-OMNIORB_IDL_SRV_H = @OMNIORB_IDL_SRV_H@
-OMNIORB_IDL_SRV_CXX = @OMNIORB_IDL_SRV_CXX@
-OMNIORB_IDL_SRV_OBJ = @OMNIORB_IDL_SRV_OBJ@
-
-# Default ORB
-
-CORBA_ROOT = @CORBA_ROOT@
-CORBA_INCLUDES = @CORBA_INCLUDES@
-CORBA_LIBS = @CORBA_LIBS@
-CORBA_CXXFLAGS = @CORBA_CXXFLAGS@
-
-IDLCXXFLAGS = -bcxx @IDLCXXFLAGS@ -I$(top_srcdir)/idl -I$(top_builddir)/idl -I$(KERNEL_ROOT_DIR)/idl/salome
-IDLPYFLAGS = @IDLPYFLAGS@
-
-IDL = @IDL@
-
-IDL_CLN_H = @IDL_CLN_H@
-IDL_CLN_CXX = @IDL_CLN_CXX@
-IDL_CLN_OBJ = @IDL_CLN_OBJ@
-
-IDL_SRV_H = @IDL_SRV_H@
-IDL_SRV_CXX = @IDL_SRV_CXX@
-IDL_SRV_OBJ = @IDL_SRV_OBJ@
-
-CPPFLAGS+= $(CORBA_INCLUDES)
-CXXFLAGS+= $(CORBA_CXXFLAGS)
-
-# add corba libs when link salome application !
-#LDFLAGS+= $(CORBA_LIBS)
-LIBS+=$(CORBA_LIBS)
-
-## Shared libraries
-LT_STATIC_EXEC=@LT_STATIC_EXEC@
-DYNAMIC_DIRS=@DYNAMIC_DIRS@
-LT_LIB=libtool
-LT=$(top_builddir)/libtool
-LT_COMPILE=$(LT) --mode=compile $(CC)
-LT_LINK_LIB=$(LT_LIB) --mode=link $(CC) -rpath $(libdir)
-LT_LINK_EXE=$(LT) --mode=link $(CC) $(LT_STATIC_EXEC) -dlopen self -rpath $(bindir) $(DYNAMIC_DIRS)
-LT_RUN=$(LT) --mode=execute
-LT_INSTALL_PROG=$(LT) --mode=install $(INSTALL_PROGRAM)
-LT_INSTALL_LIB=$(LT) --mode=install $(INSTALL_DATA)
-LT_UNINSTALL=$(LT) --mode=uninstall $(RM)
-
-INSTALL=@INSTALL@
-INSTALL_PROGRAM=@INSTALL_PROGRAM@
-INSTALL_DATA=@INSTALL_DATA@
-
-# create a symbolic link (or a copie ?)
-LN_S=@LN_S@
-
-## Installation points
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-bindir=@bindir@/salome
-libdir=@libdir@/salome
-# warning : if user give this path in configure we could have salome/salome :-(
-includedir=@includedir@/salome
-datadir=@datadir@/salome
-idldir=$(prefix)/idl/salome
-sharedpydir=@libdir@/python$(PYTHON_VERSION)/site-packages/salome/shared_modules
-
-docdir=$(datadir)/doc
-
-#
-# begin of package rules
-#
-
-.PHONY: all lib bin inc resources tests install uninstall dep depend depend_idl cleandep mostlyclean clean distclean
-
-.SUFFIXES: .cxx .cc .c .f .o .lo .idl .py .i .ui .po .qm
-
-all:
- $(MAKE) inc
- $(MAKE) depend_idl
- $(MAKE) depend
- $(MAKE) lib
- $(MAKE) bin
- $(MAKE) resources
-
-#
-# add target to build administrative files
-#
-
-Makefile: $(top_builddir)/config.status $(srcdir)/Makefile.in
- cd $(top_builddir) ; ./config.status
-
-$(top_builddir)/config.status: $(top_srcdir)/configure
- cd $(top_builddir) ; ./config.status --recheck
-
-# VPATH contain $(srcdir), so make configure is good in top_srcdir and we must add target configure otherwise :-)
-ifneq ($(top_srcdir),$(srcdir))
-configure: $(top_srcdir)/configure
-endif
-
-$(top_srcdir)/configure: $(top_srcdir)/configure.in $(top_srcdir)/aclocal.m4
- cd $(top_srcdir) ; autoconf
-
-$(top_srcdir)/configure.in: $(top_srcdir)/configure.in.base
- cd $(top_srcdir) && ./build_configure
-
-ACLOCAL_SRC = \
-ac_cxx_bool.m4 check_corba.m4 \
-ac_cxx_depend_flag.m4 check_hdf5.m4 enable_pthreads.m4 \
-ac_cxx_mutable.m4 check_mico.m4 libtool.m4 \
-ac_cxx_namespaces.m4 check_omniorb.m4 pyembed.m4 \
-ac_cxx_partial_specialization.m4 python.m4 \
-ac_cxx_typename.m4 check_pthreads.m4 check_cas.m4 \
-ac_cc_warnings.m4 check_boost.m4 check_swig.m4
-
-
-ACLOCAL_GUI = \
-check_vtk.m4 check_opengl.m4 check_qt.m4 \
-check_GUI.m4 check_corba_in_GUI.m4
-
-$(top_srcdir)/aclocal.m4: $(ACLOCAL_SRC:%=@KERNEL_ROOT_DIR@/salome_adm/unix/config_files/%) \
- $(ACLOCAL_GUI:%=@GUI_ROOT_DIR@/adm_local/unix/config_files/%)
- cd $(top_srcdir) ; 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
+++ /dev/null
-#=======================================================================
-# Begin specific part to omniorb
-# (include from file adm/unix/make_omniorb generated by
-# adm/unix/make_omniorb.in)
-#=======================================================================
-# -* Makefile *-
-#
-# Author : Patrick GOLDBRONN (CEA)
-# Date : 29/06/2001
-# $Header: /home/salome/PlateFormePAL/Bases_CVS_EDF/Modules_EDF/ASTER_SRC/adm_local/unix/make_omniorb.in,v 1.1.1.1 2003/09/23 17:30:26 salome Exp $
-#
-
-# Client and server object are the same with omniorb
-# There are one header file and one source file generate
-
-#IDLOBJ=$(IDLSRC:%.idl=%$(IDL_CLN_OBJ))
-
-# dependancies between idl and it's generated files
-%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${KERNEL_ROOT_DIR}/idl/salome/%.idl
- $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $<
-
-%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${top_srcdir}/idl/%.idl
- $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $<
-
-# dependncies between idl files
-depend_idl: .depidl
-
-# we use cpp to generate dependencies between idl files.
-# we change cpp output to keep only idl file and transform it to get a suitable rule
-.depidl: $(IDL_FILES)
- @touch $@
- @for dep in $? dummy; do \
- if [ $$dep != "dummy" ]; then \
- echo Building dependencies for $$dep; \
- basedep=`basename $$dep .idl`; \
- header="$$basedep"$(IDL_CLN_H); \
- sed '\%^'"$$header"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@; \
- $(CPP) $(C_DEPEND_FLAG) -I$(srcdir) $$dep 2>/dev/null | \
- sed `echo "s%$$basedep\\.idl%$$header:%g"` | \
- sed 's% $(srcdir)/% %g' | \
- sed 's% $(top_srcdir)/% %g' | \
- sed 's% $(top_builddir)/% %g' | \
- sed 's%^.*:\.o: *%%' | sed 's%^ *\\ *%%'| sed 's%^ *\(.*\):%\1:%' | \
- sed 's/\.idl/$(IDL_CLN_H)/' >>$@; \
- echo '' >>$@; \
- fi; \
- done ;
-
--include .depidl
-
-#=======================================================================
-# End specific part to omniorb
-#=======================================================================
+++ /dev/null
-THIS IS SALOME 2 RNTL - TESTPQT VERSION: 1.1a
+++ /dev/null
-#!/bin/bash
-
-#
-# Tool for updating list of .in file for the SALOME project
-# and regenerating configure script
-#
-# Author : Marc Tajchman - CEA
-# Date : 10/10/2002
-# $Header $
-#
-
-ORIG_DIR=`pwd`
-CONF_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"`
-
-########################################################################
-# Test if the KERNEL_ROOT_DIR is set correctly
-
-if test ! -d "${KERNEL_ROOT_DIR}"; then
- echo "failed : KERNEL_ROOT_DIR variable is not correct !"
- exit
-fi
-
-if test ! -d "${GUI_ROOT_DIR}"; then
- echo "failed : GUI_ROOT_DIR variable is not correct !"
- exit
-fi
-
-# Test if the KERNEL_SRC is set correctly
-
-#if test ! -d "${KERNEL_SRC}"; then
-# echo "failed : KERNEL_SRC variable is not correct !"
-# exit
-#fi
-########################################################################
-# find_in - utility function
-#
-# usage :
-# find_in directory filename
-#
-# Finds files following the *.in pattern, recursively in the
-# directory (first argument).
-# Results are appended into the file (second argument)
-#
-# Difference from the standard unix find is that files are tested
-# before directories
-#
-
-find_in()
-{
- local i
- local f=$2
-
-# if the first argument is not a directory, returns
-
- if [ ! -d "$1" ] ; then
- return
- fi
-
-# dont look in the CVS directories
-
- case $1 in
- */CVS) return ;;
- *) ;;
- esac
-
-# for each regular file contained in the directory
-# test if it's a .in file
-
- for i in "$1"/*
- do
- if [ -f "$i" ] ; then
- case $i in
- *.in) echo " "$i" \\" >> $f;;
- *) ;;
- esac
- fi
- done
-
-# for each subdirectory of the first argument, proceeds recursively
-
- for i in "$1"/*
- do
- if [ -d "$i" ] ; then
- find_in "$i" "$f"
- fi
- done
-}
-
-
-#######################################################################
-# Generate list of .in files (Makefile.in, config.h.in, etc)
-# appending it in file configure.in
-
-cd ${CONF_DIR}
-ABS_CONF_DIR=`pwd`
-
-#
-# Common part of the configure.in file
-#
-chmod u+w configure.in.base
-if ! \cp -f configure.in.base configure.in_tmp1
-then
- echo
- echo "error : can't create files in" ${CONF_DIR}
- echo "aborting ..."
- chmod u-w configure.in.base
- exit
-fi
-chmod u-w configure.in.base
-
-if [ -e "${CONF_DIR}/salome_adm" ] ; then
- \rm -f ${CONF_DIR}/salome_adm
-fi
-
-# make a link allowing AC_OUTPUT to find the salome_adm/.../*.in files
-echo "" >> configure.in_tmp1
-echo 'ln -fs ${KERNEL_ROOT_DIR}/salome_adm ${ROOT_SRCDIR}' >> configure.in_tmp1
-
-echo "" >> configure.in_tmp1
-echo "AC_OUTPUT([ \\" >> configure.in_tmp1
-
-#
-# List of .in files in the adm/unix directory
-# These files MUST be on top of AC_OUTPUT list so we
-# put them "manually"
-#
-
-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 " ./salome_adm/unix/make_omniorb \\" >> configure.in_tmp1
-echo " ./adm_local/unix/make_omniorb \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/envScript \\" >> configure.in_tmp1
-#echo " ./salome_adm/unix/make_commence \\" >> configure.in_tmp1
-echo " ./adm_local/unix/make_commence \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/make_conclude \\" >> configure.in_tmp1
-#echo " ./adm_local/unix/make_conclude \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/make_module \\" >> configure.in_tmp1
-
-\rm -f configure.in_tmp2
-touch configure.in_tmp2
-find_in . configure.in_tmp2
-
-sed -e '/^ .\/salome_adm/d' \
- -e '/configure.in/d' \
- -e '/^ .\/adm_local/d' \
- -e 's/.in / /' \
- configure.in_tmp2 >> configure.in_tmp1
-
-echo "])" >> configure.in_tmp1
-
-# delete the link created for AC_OUTPUT
-echo "" >> configure.in_tmp1
-#echo 'rm -f ${ROOT_SRCDIR}/salome_adm' >> configure.in_tmp1
-\mv configure.in_tmp1 configure.in_new
-\rm -f configure.in_tmp2
-
-
-########################################################################
-# Create new (or replace old) configure.in file
-# Print a message if the file is write protected
-#
-
-echo
-if test ! -f configure.in
-then
- echo -n "Creating new file 'configure.in' ... "
- if \mv configure.in_new configure.in >& /dev/null
- then
- echo "done"
- else
- echo "error, check your file permissions"
- fi
-else
- echo -n "Updating 'configure.in' file ... "
- if ! \cp configure.in configure.in_old >& /dev/null
- then
- echo
- echo
- echo "Can't backup previous configure.in"
- echo -n "Continue (you will not be able to revert) - (Y/N) ? "
- read R
- case "x$R" in
- xn*) exit;;
- xN*) exit;;
- esac
- echo
- echo -n " "
- fi
- if \cp configure.in_new configure.in >& /dev/null
- then
- echo "done"
- else
- echo
- echo "error, can't update previous configure.in"
- fi
-fi
-
-########################################################################
-# Use autoconf to rebuild the configure script
-#
-
-if test -f configure
-then
- echo -n "Updating 'configure' script ... "
-else
- echo -n "Creating 'configure' script ... "
-fi
-
-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"
-else
- echo "failed (check file permissions and/or user quotas ...)"
-fi
-
-cd ${ORIG_DIR}
-
-echo
+++ /dev/null
-#
-# PLEASE DO NOT MODIFY configure.in FILE
-#
-# ALL CHANGES WILL BE DISCARDED BY THE NEXT
-# build_configure COMMAND
-#
-# CHANGES MUST BE MADE IN configure.in.base FILE
-#
-#
-# Author : Marc Tajchman (CEA)
-# Date : 28/06/2001
-# Modified by : Patrick GOLDBRONN (CEA)
-# Modified by : Marc Tajchman (CEA)
-#
-# Created from configure.in.base
-#
-
-AC_INIT(src)
-AC_CONFIG_AUX_DIR(${KERNEL_ROOT_DIR}/salome_adm/unix/config_files)
-AC_CANONICAL_HOST
-
-PACKAGE=salome
-AC_SUBST(PACKAGE)
-
-VERSION=0.0.1
-AC_SUBST(VERSION)
-
-dnl
-dnl Initialize source and build root directories
-dnl
-
-ROOT_BUILDDIR=`pwd`
-ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
-cd $ROOT_SRCDIR
-ROOT_SRCDIR=`pwd`
-cd $ROOT_BUILDDIR
-
-AC_SUBST(ROOT_SRCDIR)
-AC_SUBST(ROOT_BUILDDIR)
-
-echo
-echo Source root directory : $ROOT_SRCDIR
-echo Build root directory : $ROOT_BUILDDIR
-echo
-echo
-
-if test -z "$AR"; then
- AC_CHECK_PROGS(AR,ar xar,:,$PATH)
-fi
-AC_SUBST(AR)
-
-dnl Export the AR macro so that it will be placed in the libtool file
-dnl correctly.
-export AR
-
-echo
-echo ---------------------------------------------
-echo testing make
-echo ---------------------------------------------
-echo
-
-AC_PROG_MAKE_SET
-AC_PROG_INSTALL
-dnl
-dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques !
-
-AC_ENABLE_DEBUG(yes)
-AC_DISABLE_PRODUCTION
-
-echo ---------------------------------------------
-echo testing libtool
-echo ---------------------------------------------
-
-dnl first, we set static to no!
-dnl if we want it, use --enable-static
-AC_ENABLE_STATIC(no)
-
-AC_LIBTOOL_DLOPEN
-AC_PROG_LIBTOOL
-
-dnl Fix up the INSTALL macro if it s a relative path. We want the
-dnl full-path to the binary instead.
-case "$INSTALL" in
- *install-sh*)
- INSTALL='\${KERNEL_ROOT_DIR}'/salome_adm/unix/config_files/install-sh
- ;;
-esac
-
-echo
-echo ---------------------------------------------
-echo testing python
-echo ---------------------------------------------
-echo
-
-CHECK_PYTHON
-
-echo
-echo ---------------------------------------------
-echo testing omniORB
-echo ---------------------------------------------
-echo
-
-CHECK_OMNIORB
-
-echo
-echo ---------------------------------------------
-echo default ORB : omniORB
-echo ---------------------------------------------
-echo
-
-DEFAULT_ORB=omniORB
-CHECK_CORBA
-
-AC_SUBST_FILE(CORBA)
-corba=make_$ORB
-CORBA=adm_local/unix/$corba
-
-
-echo
-echo ---------------------------------------------
-echo Testing pyqt
-echo ---------------------------------------------
-echo
-
-CHECK_PYQT
-
-echo
-echo ---------------------------------------------
-echo Testing Kernel
-echo ---------------------------------------------
-echo
-
-CHECK_KERNEL
-
-echo
-echo ---------------------------------------------
-echo Testing GUI
-echo ---------------------------------------------
-echo
-
-CHECK_SALOME_GUI
-
-echo
-echo ---------------------------------------------
-echo testing msg2qm
-echo ---------------------------------------------
-echo
-
-CHECK_MSG2QM
-
-echo
-echo ---------------------------------------------
-echo Testing Pal
-echo ---------------------------------------------
-echo
-
-CHECK_PAL
-
-echo
-echo ---------------------------------------------
-echo Testing Visu
-echo ---------------------------------------------
-echo
-
-CHECK_VISU
-echo
-echo ---------------------------------------------
-echo Summary
-echo ---------------------------------------------
-echo
-
-echo Configure
-variables="python_ok threads_ok OpenGL_ok qt_ok omniORB_ok Kernel_ok SalomeGUI_ok msg2qm_ok"
-
-for var in $variables
-do
- printf " %10s : " `echo \$var | sed -e "s,_ok,,"`
- eval echo \$$var
-done
-
-echo
-echo "Default ORB : $DEFAULT_ORB"
-echo
-
-echo
-echo ---------------------------------------------
-echo RunTime Dependencies
-echo ---------------------------------------------
-echo
-variables="Visu_ok pal_ok"
-
-for var in $variables
-do
- printf " %10s : " `echo \$var | sed -e "s,_ok,,"`
- eval echo \$$var
-done
-
-
-
-dnl generals files which could be included in every makefile
-
-AC_SUBST_FILE(COMMENCE) COMMENCE=adm_local/unix/make_commence
-AC_SUBST_FILE(CONCLUDE) CONCLUDE=salome_adm/unix/make_conclude
-AC_SUBST_FILE(MODULE) MODULE=salome_adm/unix/make_module
-
-dnl les dependences
-AC_SUBST_FILE(DEPEND) DEPEND=salome_adm/unix/depend
-
-dnl We don t need to say when we re entering directories if we re using
-dnl GNU make becuase make does it for us.
-if test "X$GMAKE" = "Xyes"; then
- AC_SUBST(SETX) SETX=":"
-else
- AC_SUBST(SETX) SETX="set -x"
-fi
-
-# make other build directories
-for rep in salome_adm adm_local doc bin/salome include/salome lib/salome share/salome/resources share/salome/doc idl
-do
-# if test ! -d $rep ; then
-# eval mkdir $rep
-# fi
- $INSTALL -d $rep
-done
-
-echo
-echo ---------------------------------------------
-echo copying resource files, shell scripts, and
-echo xml files
-echo ---------------------------------------------
-echo
-
-
-dnl copy resources directories
-
-#for i in `find $ROOT_SRCDIR -name 'resources' -print`
-#do
-# local_res=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"`
-# local_res_dir=`echo $local_res | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
-# mkdir -p $local_res_dir
-# cd $local_res_dir
-# ln -fs $i
-# echo $local_res
-# cd $ROOT_BUILDDIR
-#done
-
-dnl copy shells and utilities contained in the bin directory
-dnl excluding .in files (treated in AC-OUTPUT below) and CVS
-dnl directory
-
-cd bin
-for i in $ROOT_SRCDIR/bin/*
-do
- local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"`
- case "$local_bin" in
- *.in | *~) ;;
- ./bin/CVS) ;;
- *) ln -fs $i; echo $local_bin ;;
- esac
-done
-cd $ROOT_BUILDDIR
-
-AC_SUBST_FILE(ENVSCRIPT) ENVSCRIPT=salome_adm/unix/envScript
-
-dnl copy xml files to the build tree (lib directory)
-dnl pourquoi ????
-
-#cd lib
-#for i in `find $ROOT_SRCDIR -name "*.xml" -print`
-#do
-# ln -fs $i
-# echo `echo $i | sed -e "s,$ROOT_SRCDIR,.,"`
-#done
-#cd $ROOT_BUILDDIR
-
-
-echo
-echo ---------------------------------------------
-echo generating Makefiles and configure files
-echo ---------------------------------------------
-echo
-
-AC_OUTPUT_COMMANDS([ \
- chmod +x ./bin/* \
-])
-
-## do not delete this line
+++ /dev/null
-
-# -* Makefile *-
-#
-# Author : Patrick GOLDBRONN (CEA)
-# Date : 30/11/2001
-#
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=..
-srcdir=@srcdir@
-VPATH=.:@srcdir@
-
-SUBDIRS=
-
-doc:
- @@SETX@; for d in $(SUBDIRS); do \
- (cd $$d && $(MAKE) $@) || exit 1; \
- done
-clean:
- @@SETX@; for d in $(SUBDIRS); do \
- (cd $$d && $(MAKE) $@) || exit 1; \
- done
-
-distclean: clean
- @@SETX@; for d in $(SUBDIRS); do \
- (cd $$d && $(MAKE) $@) || exit 1; \
- done
-
-install:
- @@SETX@; for d in $(SUBDIRS); do \
- (cd $$d && $(MAKE) $@) || exit 1; \
- done
+++ /dev/null
-diff -Naur EficasV1_10AsterSTA8.orig/Editeur/panelsSalome.py EficasV1_10AsterSTA8/Editeur/panelsSalome.py
---- EficasV1_10AsterSTA8.orig/Editeur/panelsSalome.py 2006-06-20 16:41:50.000000000 +0200
-+++ EficasV1_10AsterSTA8/Editeur/panelsSalome.py 2006-07-18 17:44:45.000000000 +0200
-@@ -100,12 +100,20 @@
- try:
- valeur,validite,commentaire=self.get_valeur()
- #print 'add_valeur_plusieurs_base', name
-- #print 'valeur = %s, validite = %s,commentaire = %s'%( valeur,validite,commentaire )
-+ #print 'valeur = %s, validite = %s,commentaire = %s'%( valeur,validite,commentaire )
- if not valeur: # sélection dans salome
- #print 'CS_pbruno selection SALOME'
- strSelection = ''
-
-- selection, msg = self.parent.appli.selectGroupFromSalome()
-+ genea = self.node.item.get_genealogie()
-+ kwType = None
-+ for e in genea:
-+ if "GROUP_NO" in e:
-+ kwType = "GROUP_NO"
-+ if "GROUP_MA" in e:
-+ kwType = "GROUP_MA"
-+
-+ selection, msg = self.parent.appli.selectGroupFromSalome( kwType )
-
- #print 'CS_pbruno selection SALOME selection ->',selection
- #print 'CS_pbruno selection SALOME msg ->',msg
+++ /dev/null
-#ifndef __EFICAS_GEN__
-#define __EFICAS_GEN__
-
-#include "SALOME_Component.idl"
-#include "SALOMEDS.idl"
-#include "SALOME_Exception.idl"
-
-module EFICAS_ORB
-{
- interface EFICAS_Gen : Engines::Component, SALOMEDS::Driver
- {
- };
-};
-
-#endif
-
+++ /dev/null
-#
-# generate dependencies for idl file :
-#
-
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=..
-srcdir=@srcdir@
-VPATH=.:$(srcdir):${KERNEL_ROOT_DIR}/idl/salome
-
-@COMMENCE@
-
-IDL_FILES = EFICAS_Gen.idl
-
-PY_CLIENT_IDL = $(IDL_FILES)
-
-# we copy all idl file in $(top_builddir)/idl
-inc: $(IDL_FILES:%=$(top_builddir)/idl/%)
-
-$(IDL_FILES:%=$(top_builddir)/idl/%):$(top_builddir)/idl/%:%
- #$(CP) $< $@
- cp -f $< $@
-
-lib: pyidl
-
-PYTHON_BUILD_SITE=$(top_builddir)/lib/python$(PYTHON_VERSION)/site-packages/@PACKAGE@
-
-pyidl: $(PYTHON_BUILD_SITE) $(IDL_FILES:%.idl=$(PYTHON_BUILD_SITE)/%_idl.py)
-
-$(PYTHON_BUILD_SITE):
- $(INSTALL) -d $@
-
-$(PYTHON_BUILD_SITE)/%_idl.py: %.idl
- $(OMNIORB_IDL) $(OMNIORB_IDLPYFLAGS) -C$(PYTHON_BUILD_SITE) $<
-
-# install python client (generated from idl file
-install: install-pyidl install-idl
-
-# create directory $(idldir) and copy idl files into it
-install-idl: $(IDL_FILES)
- $(INSTALL) -d $(idldir)
- cp -p $^ $(idldir)
-
-install-pyidl: $(IDL_FILES)
- $(INSTALL) -d $(PYTHON_SITE_INSTALL)
- @for file in $^ dummy; do \
- if [ $$file != "dummy" ]; then \
- $(OMNIORB_IDL) $(OMNIORB_IDLPYFLAGS) -C$(PYTHON_SITE_INSTALL) $$file ; \
- fi ; \
- done ;
-
-
-cleandep:
- -$(RM) .dep*
-
-distclean:
- -$(RM) *.py
- -$(RM) $(IDL_FILES:%=$(top_builddir)/idl/%)
- -$(RM) Makefile
-
+++ /dev/null
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML component catalog -->
-<begin-catalog>
-
-<!-- Path prefix information -->
-
-<path-prefix-list>
-</path-prefix-list>
-
-<!-- Component list -->
-<component-list>
- <component>
- <!-- Component identification -->
- <component-name>EFICAS</component-name>
- <component-username>EFICAS GUI</component-username>
- <component-type>Data</component-type>
- <component-author>P.RASCLE</component-author>
- <component-version> 1.0</component-version>
- <component-comment>EDF - RD</component-comment>
- <component-multistudy>1</component-multistudy>
- <component-icone>eficas.png</component-icone>
- <constraint>'linux' ~ OS</constraint>
- </component>
-</component-list>
-</begin-catalog>
+++ /dev/null
-<?xml version='1.0' encoding='us-ascii'?>
-<!DOCTYPE application PUBLIC "" "desktop.dtd">
-
-<!-- GUI customization for EFICAS component -->
-
-<application
- title="EFICAS component"
- date="9/12/2001"
- author="Paul RASCLE"
- appId="EFICAS" >
-
- <desktop>
-
- <!-- ### MENUBAR ### -->
-
- <menubar>
- <menu-item label-id="EFICAS" item-id="90" pos-id="3">
- <popup-item item-id="941" label-id="Eficas pour Code_Aster" icon-id="eficaster.png" tooltip-id="Editer un jeu de commande ASTER avec Eficas" accel-id="" toggle-id="" execute-action=""/>
- <popup-item item-id="946" label-id="Eficas pour Homard" icon-id="eficashomard.png" tooltip-id="Editer un jeu de commande HOMARD avec Eficas" accel-id="" toggle-id="" execute-action=""/>
- </menu-item>
- </menubar>
-
- <!-- ### TOOLBAR ### -->
-
- <toolbar label-id="Eficas">
- <toolbutton-item item-id="4041" label-id="Eficas pour Code_Aster" icon-id="eficaster.png" tooltip-id="Editer un jeu de commande ASTER avec Eficas" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="4046" label-id="Eficas pour Homard" icon-id="eficashomard.png" tooltip-id="Editer un jeu de commande HOMARD avec Eficas" accel-id="" toggle-id="" execute-action=""/>
- </toolbar>
-
- <!-- ### POPUP MENU ### -->
- <popupmenu label-id="" context-id="" parent-id="ObjectBrowser" object-id="73">
- <popup-item item-id="9042" pos-id="" label-id="Ouvrir avec Eficas" icon-id="" tooltip-id="Editer avec Eficas" execute-action=""/>
- </popupmenu>
-
- </desktop>
-</application>
+++ /dev/null
-<document>
- <section name="EFICAS">
- <!-- Major module parameters -->
- <parameter name="name" value="Eficas"/>
- <parameter name="icon" value="eficas.png"/>
- <parameter name="library" value="SalomePyQtGUI"/>
- </section>
- <section name="resources">
- <!-- Module resources -->
- <parameter name="EFICAS" value="${EFICAS_ROOT_DIR}/share/salome/resources"/>
- </section>
-</document>
+++ /dev/null
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl:$(top_builddir)/idl:${KERNEL_ROOT_DIR}/idl/salome
-
-@COMMENCE@
-
-EXPORT_PYSCRIPTS = \
-eficasConfig.py
-
-
-# Executables targets
-
-@CONCLUDE@
-
+++ /dev/null
-import os
-
-
-
-
-# répertoire du logiciel Eficas
-eficasPath = ''
-if os.environ.has_key( "EFICAS_ROOT"):
- eficasPath = os.environ["EFICAS_ROOT"]
-
-
-
-
-
-
-
-
-
+++ /dev/null
-import EFICAS_ORB__POA
-
-import SALOMEDS__POA
-
-import SALOME_ComponentPy
-
-
-
-
-
-class SALOME_DriverPy_i(SALOMEDS__POA.Driver):
- """
- Python implementation of generic SALOMEDS driver.
- Should be inherited by any Python module's engine
- to provide persistence mechanism.
- """
- def __init__ (self, componentDataType):
- print "SALOME_DriverPy.__init__: ",componentDataType
- self._ComponentDataType = componentDataType
-
- def IORToLocalPersistentID(self, theSObject, IORString, isMultiFile, isASCII):
- return theSObject.GetID()
-
- def LocalPersistentIDToIOR(self, theSObject, PersistentID, isMultiFile, isASCII):
- return ""
-
- def ComponentDataType(self):
- return self._ComponentDataType
-
- def Save(self, theComponent, theURL, isMultiFile):
- return 'Rien'
-
- def SaveASCII(self, theComponent, theURL, isMultiFile):
- return self.Save(theComponent, theURL, isMultiFile)
-
- def Load(self, theComponent, theStream, theURL, isMultiFile):
- return 1
-
- def LoadASCII(self, theComponent, theStream, theURL, isMultiFile):
- return self.Load(theComponent, theStream, theURL, isMultiFile)
-
- def Close(self, theComponent):
- pass
-
- def CanPublishInStudy(self, theIOR):
- return 0
-
- def PublishInStudy(self, theStudy, theSObject, theObject, theName):
- return None
-
- def CanCopy(self, theObject):
- return 0
-
-
-
-class EFICAS(EFICAS_ORB__POA.EFICAS_Gen,
- SALOME_ComponentPy.SALOME_ComponentPy_i,
- SALOME_DriverPy_i ):
- """
- Pour etre un composant SALOME cette classe Python
- doit avoir le nom du composant et heriter de la
- classe EFICAS_Gen issue de la compilation de l'idl
- par omniidl et de la classe SALOME_ComponentPy_i
- qui porte les services generaux d'un composant SALOME
- """
- def __init__ (self, orb, poa, contID, containerName, instanceName,
- interfaceName):
- print "EFICAS.__init__: ",containerName,' ',instanceName
- SALOME_ComponentPy.SALOME_ComponentPy_i.__init__(self, orb, poa,
- contID, containerName,instanceName, interfaceName, 0 )
- SALOME_DriverPy_i.__init__( self, 'OTHER' )
- # On stocke dans l'attribut _naming_service, une reference sur
- # le Naming Service CORBA
- self._naming_service=SALOME_ComponentPy.SALOME_NamingServicePy_i(self._orb)
-
-
-
\ No newline at end of file
+++ /dev/null
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl:$(top_builddir)/idl:${KERNEL_ROOT_DIR}/idl/salome
-
-@COMMENCE@
-
-EXPORT_PYSCRIPTS = \
-EFICAS.py
-
-# Libraries targets
-
-LIB_SERVER_IDL =
-LIB_CLIENT_IDL =
-
-# Executables targets
-
-@CONCLUDE@
-
+++ /dev/null
-"""
- Interface PyQt
-"""
-import qt
-import libSALOME_Swig
-import SalomePyQt
-
-# Variable globale pour stocker le Workspace de Salome
-
-WORKSPACE=None
-currentStudyId=None
-desktop=None
-
-# -----------------------------------------------------------------------------
-
-import notifqt
-#import Tkinter
-#root.withdraw()
-
-def g():
- print "lastWindowClosed()"
- import Tkinter
- root=Tkinter.Tk()
- root.destroy()
-
-qt.QObject.connect(qt.qApp,qt.SIGNAL("lastWindowClosed()"),g)
-
-# -----------------------------------------------------------------------------
-
-import salome
-
-sg=salome.sg
-sgPyQt=SalomePyQt.SalomePyQt()
-
-
-import studyManager
-
-print "EFicasGUI :: :::::::::::::::::::::::::::::::::::::::::::::::::::::"
-
-
-
-# -----------------------------------------------------------------------------
-#Cette méthode est obsolète en V3
-#En V2, si on n'implémente pas cette méthode, le composant fonctionne
-#correctement. Un message "Attribute Error" apparait dans la trace.
-def setWorkSpace(workSpace):
- print "EficasGUI --- setWorkSpace"
- global WORKSPACE
- print workSpace
- WORKSPACE=workSpace
- print "WORKSPACE: ",WORKSPACE
- # le desktop
- desktop=sgPyQt.getDesktop()
-
- # creation d'une message box
- #qt.QMessageBox.information(d,"titre","message")
-
- # recuperation du workspace
- ws=sgPyQt.getMainFrame()
- print ws
-
-# -----------------------------------------------------------------------------
-
-def OnGUIEvent(commandID) :
- print "EficasGUI :: OnGUIEvent :::::::::::::::::::::::::::::::::commandID = ",commandID
- if dict_command.has_key(commandID):
- print "OnGUIEvent :::::::::: commande associée : ",commandID
- dict_command[commandID]()
- else:
- print "Pas de commande associée a : ",commandID
-
-# -----------------------------------------------------------------------------
-
-def setSettings():
- """
- Cette méthode permet les initialisations. On définit en particulier
- l'identifiant de l'étude courante.
- """
- # le desktop
- desktop=sgPyQt.getDesktop()
- global currentStudyId
- currentStudyId = sgPyQt.getStudyId()
- print "setSettings: currentStudyId = " + str(currentStudyId)
- # _CS_gbo_ Voir si on peut utiliser directement sgPyQt.getStudyId()
- # dans salomedsgui?
-
- studyManager.palStudy.setCurrentStudyID( currentStudyId ) #CS_pbruno
-
-def activate():
- """
- Cette méthode permet l'activation du module, s'il a été chargé mais pas encore
- activé dans une étude précédente.
-
- Portage V3.
- """
- print "--------EFICASGUI:: activate"
- setSettings()
-
-
-# -----------------------------------------------------------------------------
-
-def activeStudyChanged(ID):
- # le desktop
- desktop=sgPyQt.getDesktop()
- global currentStudyId
- # ne marche pas car sg est supposé résider dans une etude
- # studyId=sg.getActiveStudyId()
- currentStudyId=ID
- print "_CS_GBO_ : EFICASGUI.activeStudyChanged : currentStudyId = ", currentStudyId
- print "_CS_GBO_ : EFICASGUI.activeStudyChanged : sgPyQt.getStudyId() = ", sgPyQt.getStudyId()
-
- studyManager.palStudy.setCurrentStudyID( currentStudyId ) #CS_pbruno
-
-
-def definePopup(theContext, theObject, theParent):
- print "EFICASGUI --- definePopup"
- theContext= ""
- theObject = "100"
- theParent = "ObjectBrowser"
- a=salome.sg.getAllSelected()
- print a
-
- selectedEntry = a[0]
- aType, aValue = studyManager.palStudy.getTypeAndValue( selectedEntry )
-
- if aType == studyManager.FICHIER_EFICAS_ASTER or aType == studyManager.FICHIER_EFICAS_HOMARD:
- theObject="73"
-
- return (theContext, theObject, theParent)
-
-
-def customPopup(popup, theContext, theObject, theParent):
- print "EFICASGUI --- customPopup"
- popup.removeItem(99000)
- popup.removeItem(99001)
- popup.removeItem(99002)
- popup.removeItem(99003)
-
-
-# -----------------------------------------------------------------------------
-
-import eficasSalome
-
-def runEficas():
- print "-------------------------EFICASGUI::runEficas-------------------------"
- print currentStudyId
- #eficasSalome.runEficas("ASTER",studyId=currentStudyId)
- #ws = sgPyQt.getMainFrame()
- #desktop=sgPyQt.getDesktop()
- eficasSalome.runEficas( "ASTER" )
-
-
-def runEficaspourHomard():
- print "runEficas"
- #eficasSalome.runEficas("HOMARD")
- desktop=sgPyQt.getDesktop()
- eficasSalome.runEficas( "HOMARD" )
-
-
-
-def runEficasHomard():
- print "runEficas"
- #eficasSalome.runEficas("HOMARD")
- #desktop=sgPyQt.getDesktop()
- eficasSalome.runEficas( "HOMARD" )
-
-
-
-def runEficasFichier():
- """
- Lancement d'eficas pour ASTER
- si un fichier est sélectionné, il est ouvert dans eficas
- """
- print "runEficasFichier"
- fileName = None
- code = None
- a=salome.sg.getAllSelected()
- if len(a) == 1:
- #studyManager.palStudy.setCurrentStudyID( currentStudyId )
- #boo,attr=aGuiDS.getExternalFileAttribute("FICHIER_EFICAS_ASTER",a[0])
- selectedEntry = a[0]
-
- aType, aValue = studyManager.palStudy.getTypeAndValue( selectedEntry )
- if aType == studyManager.FICHIER_EFICAS_ASTER:
- fileName = aValue
- code = "ASTER"
- elif aType == studyManager.FICHIER_EFICAS_HOMARD:
- fileName = aValue
- code = "HOMARD"
- else:
- code = "ASTER"
-
- if code:
- #eficasSalome.runEficas(code,attr,studyId=currentStudyId)
- #desktop=sgPyQt.getDesktop()
- eficasSalome.runEficas( code, fileName )
-
-
-
-
-# Partie applicative
-
-dict_command={
- 941:runEficasFichier,# runEficas,
- 946:runEficaspourHomard,
- 4041:runEficasFichier, #runEficas,
- 4046:runEficaspourHomard,
- 9042:runEficasFichier,
- }
-
-
-
-
+++ /dev/null
-# This is a Qt message file in .po format. Each msgid starts with
-# a scope. This scope should *NOT* be translated - eg. "Foo::Bar"
-# would be translated to "Pub", not "Foo::Pub".
-msgid ""
-msgstr ""
-"Project-Id-Version: PROJECT VERSION\n"
-"POT-Creation-Date: 2002-05-28 10:57:43 AM CEST\n"
-"PO-Revision-Date: YYYY-MM-DD\n"
-"Last-Translator: FULLNAME <EMAIL@ADDRESS>\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-
+++ /dev/null
-# This is a Qt message file in .po format. Each msgid starts with
-# a scope. This scope should *NOT* be translated - eg. "Foo::Bar"
-# would be translated to "Pub", not "Foo::Pub".
-msgid ""
-msgstr ""
-"Project-Id-Version: PROJECT VERSION\n"
-"POT-Creation-Date: 2002-05-28 10:57:43 AM CEST\n"
-"PO-Revision-Date: YYYY-MM-DD\n"
-"Last-Translator: FULLNAME <EMAIL@ADDRESS>\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-
+++ /dev/null
-#==============================================================================
-# File : Makefile.in
-# Created : dim déc 9 18:35:11 CET 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
-#==============================================================================
-
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl:$(top_builddir)/idl:${KERNEL_ROOT_DIR}/idl/salome
-
-
-@COMMENCE@
-
-# header files
-EXPORT_HEADERS=
-
-
-# Libraries targets
-
-LIB =
-LIB_SRC =
-
-LIB_CLIENT_IDL =
-
-LIB_SERVER_IDL =
-
-# .po files to transform in .qm
-PO_FILES = EFICAS_msg_en.po EFICAS_icons.po
-
-EXPORT_PYSCRIPTS = \
-cabri.py\
-SelectMainShapeDiag_ui.py\
-EFICASGUI.py \
-eficasSalome.py \
-
-
-# _CS_gbo_151104 Ajout pour compatibilité ascendante entre versions de Eficas
-EXPORT_PYSCRIPTS+=eficas_etude.py
-
-# On utilise le pyuic trouvé par le configure plutôt que celui se trouvant dans l'environnement
-PYUIC = pyuic
-%.py:%.ui
- $(PYUIC) $< -o $@
-
-
-@CONCLUDE@
+++ /dev/null
-<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
-<class>SelectMainShapeDiag</class>
-<widget class="QDialog">
- <property name="name">
- <cstring>SelectMainShapeDiag</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>373</width>
- <height>260</height>
- </rect>
- </property>
- <property name="caption">
- <string>SALOME - Main Shape Selection</string>
- </property>
- <property name="sizeGripEnabled">
- <bool>true</bool>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>textLabel2</cstring>
- </property>
- <property name="text">
- <string>Select the main shape you want to work on</string>
- </property>
- </widget>
- <widget class="QListBox">
- <item>
- <property name="text">
- <string>New Item</string>
- </property>
- </item>
- <property name="name">
- <cstring>lbMainShapes</cstring>
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout1</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QPushButton">
- <property name="name">
- <cstring>buttonHelp</cstring>
- </property>
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="accel">
- <string>F1</string>
- </property>
- <property name="autoDefault">
- <bool>true</bool>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>Horizontal Spacing2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QPushButton">
- <property name="name">
- <cstring>buttonOk</cstring>
- </property>
- <property name="text">
- <string>&OK</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- <property name="autoDefault">
- <bool>true</bool>
- </property>
- <property name="default">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>buttonCancel</cstring>
- </property>
- <property name="text">
- <string>&Cancel</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- <property name="autoDefault">
- <bool>true</bool>
- </property>
- </widget>
- </hbox>
- </widget>
- </vbox>
-</widget>
-<connections>
- <connection>
- <sender>buttonOk</sender>
- <signal>clicked()</signal>
- <receiver>SelectMainShapeDiag</receiver>
- <slot>accept()</slot>
- </connection>
- <connection>
- <sender>buttonCancel</sender>
- <signal>clicked()</signal>
- <receiver>SelectMainShapeDiag</receiver>
- <slot>reject()</slot>
- </connection>
-</connections>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
+++ /dev/null
-from Logger import ExtLogger
-
-import qt
-import notifqt
-# -----------------------------------------------------------------------------
-import sys, os, re
-
-
-
-"""
-# Remplacement de la fonction exit standard par une fonction
-# qui n'interrompt pas l'execution
-
-sys._exit=sys.exit
-
-def exit(ier):
- print "appel de exit: ",ier
-
-
-# Fin remplacement
-"""
-
-
-import eficasConfig
-
-sys.path[:0]=[os.path.join( eficasConfig.eficasPath,'Aster'),
- os.path.join( eficasConfig.eficasPath,'Homard'),
- os.path.join( eficasConfig.eficasPath,'Editeur'),
- eficasConfig.eficasPath,
- ]
-
-
-import Tkinter
-
-
-# mode de lancement Eficas
-ASTER = "ASTER"
-HOMARD = "HOMARD"
-
-
-import Editeur
-from Editeur import eficas
-from Editeur import splash
-
-import salome
-import meshGui
-import studyManager
-
-#from qxembed import QXEmbed
-
-import SalomePyQt
-
-from SelectMainShapeDiag_ui import SelectMainShapeDiag
-
-
-
-# message utilisateur
-msgWarning = "Attention"
-msgMainShapeSelection = "On travaille sur la géométrie principale : "
-msgSubShapeBadMainShape = "La sélection géométrique SALOME ne correspond pas à une sous-géométrie de la géométrie principale : "
-msgMeshGroupBadMainShape = "Le groupe de maillage sélectionné dans SALOME ne référence pas la bonne géométrie principale : "
-msgIncompleteSelection = "Tous les éléments de la sélection SALOME n'ont pu étre ajoutée"
-msgUnAuthorizedSelecion = "Sélection SALOME non authorisé. Autorisé : sous-géométrie, groupe de maille"
-msgErrorAddJdcInSalome = "Erreur dans l'export du fichier de commande dans l'arbre d'étude Salome"
-msgErrorDisplayShape = "Erreur dans l'affichage de la forme géométrique sélectionnée"
-msgErrorNeedSubShape = "Sélection d'un élément sous géométrique seulement"
-
-
-msgErrorGroupMaSelection = "Sélection GROUP_MA ne peut pas prendre un point ou un noeud"
-msgWarningGroupNoSelection = "Attention, GROUP_NO devrait prendre un point ou un noeud"
-
-
-
-# couleur pour visualisation des géometrie CS_CBO
-COLORS = ( studyManager.RED,
- studyManager.GREEN,
- studyManager.BLUE,
- studyManager.SANDY,
- studyManager.ORANGE,
- studyManager.PURPLE,
- studyManager.DARK_RED,
- studyManager.DARK_GREEN,
- studyManager.DARK_BLUE,
- studyManager.YELLOW,
- studyManager.PINK,
- studyManager.CYAN )
-
-LEN_COLORS = len( COLORS )
-
-
-
-class SelectMainShapeDiagImpl( SelectMainShapeDiag ):
- def __init__( self, mainShapeEntries, parent = None,name = None,modal = 1,fl = 0 ):
- SelectMainShapeDiag.__init__( self,parent,name,modal,fl )
-
- self.mainShapes = {} # ( entry, value )
- for entry in mainShapeEntries:
- name = studyManager.palStudy.getName( entry )
- self.mainShapes[entry] = name
-
- self.lbMainShapes.clear()
- for entry,name in self.mainShapes.items():
- self.lbMainShapes.insertItem( name )
- self.lbMainShapes.setCurrentItem( 0 )
-
-
- def getUserSelection( self ):
- mainShapeEntry = None
-
- item = self.lbMainShapes.selectedItem()
- mainShapeName = str( item.text() )
-
- for entry, name in self.mainShapes.items():
- if mainShapeName == name:
- mainShapeEntry = entry
- break
-
- return mainShapeEntry
-
-
-
-#class MyEficas( Tkinter.Toplevel, eficas.EFICAS, QXEmbed ):
-class MyEficas( Tkinter.Toplevel, eficas.EFICAS ):
- """
- Classe de lancement du logiciel EFICAS dans SALOME.
- Cette classe spécialise le logiciel Eficas par l'ajout de:
- a)la création de groupes de mailles dans le composant SMESH de SALOME
- b)la visualisation d'éléments géométrique dans le coposant GEOM de SALOME par sélection dans EFICAS
- """
- def __init__( self, parent, code = None, fichier = None, module = studyManager.SEficas ):
- """
- Constructeur.
-
- @type parent:
- @param parent: widget Qt parent
-
-
- @type code: string
- @param code: catalogue à lancer ( ASTER, HOMARD ). optionnel ( défaut = ASTER ).
-
- @type fichier: string
- @param fichier: chemin absolu du fichier eficas à ouvrir à dès le lancement. optionnel
- """
- #QXEmbed.__init__( self, parent, "", qt.Qt.WDestructiveClose | qt.Qt.WStyle_Customize | qt.Qt.WStyle_StaysOnTop )
- Tkinter.Toplevel.__init__( self )
-
- if Editeur.__dict__.has_key( 'session' ):
- print 'CS_pbruno has_key session'
- from Editeur import session
- eficasArg = []
- eficasArg += sys.argv
- if fichier:
- eficasArg += [ fichier ]
- session.parse( eficasArg )
-
-
- #---------------------------- initialisation EFICAS -----------------
- splash.init_splash( self, code = code, titre = "Lancement d'EFICAS pour %s" %code )
- splash._splash.configure( text="Chargement d'EFICAS en cours.\n Veuillez patienter ..." )
- # différence eficas 1.7 et 1.8
-
-
- eficas.EFICAS.__init__( self, self, code = code )
-
-
- #----------------------------------------------------------------------
-
-
- """
- #------ embarcation dans une fenêtre qt pour mise au premier plan ---
- #embedded = QXEmbed( parent, "", qt.Qt.WDestructiveClose | qt.Qt.WStyle_Customize | qt.Qt.WStyle_StaysOnTop )
- embedded = QXEmbed( parent, "" )
- #embedded.initialize()
- embedded.show()
- embedded.embedTk( self.winfo_id() )
- size = embedded.sizeHint()
- print 'CS_pbruno size (%s, %s )'%( size.width(), size.height () )
- embedded.resize( size.width(), size.height () )
- embedded.setWFlags( qt.Qt.WDestructiveClose | qt.Qt.WStyle_Customize | qt.Qt.WStyle_StaysOnTop )
- #----------------------------------------------------------------------
- """
-
- #--------------- spécialisation EFICAS dans SALOME -------------------
- self.parent = parent
- self.salome = True #active les parties de code spécifique dans Salome( pour le logiciel Eficas )
- self.module = module #indique sous quel module dans l'arbre d'étude ajouter le JDC.
-
-
- # donnée pour la création de groupe de maille
- self.mainShapeNames = {} #dictionnaire pour gérer les multiples fichiers possibles ouverts par
- self.mainShapeEntries = {} #eficas ( clé = identifiant du JDC ), une mainshape par fichier ouvert.
- self.subShapes = {} #dictionnaire des sous-géométrie de la géométrie principale ( clé = entry, valeur = name )
- #----------------------------------------------------------------------
-
-
- self.icolor = 0 # compteur pour mémoriser la couleur courante
-
-
- def quit(self):
- global appli
- self.destroy()
- appli = None
-
-
- def __studySync( self ):
- """
- IMPORTANT( à appeler préalablement à chaque appel du gestionnaire d'étude ) : spécifique au lancement de Eficas dans Salome,
- permet au gestionnaire d'étude ( studyManager.palStudy ) de pointer sur la bonne étude.
-
- Un retour à False indique qu'il n'y a aucune étude active, dans ce cas ne faire aucune opération avec le gestionnaire d'étude(
- gros plantage sinon )
- """
- activeStudyId = salome.sg.getActiveStudyId()
- #print 50*'='
- #print 'activeStudyId->',activeStudyId
- #print 'salome.myStudyId->',salome.myStudyId
- #print 50*'='
-
- if activeStudyId == 0: # pas d'étude active
- return False
-
- if activeStudyId != salome.myStudyId:
- studyManager.palStudy.setCurrentStudyID( activeStudyId )
-
- return True
-
-
- def __selectMainShape( self, groupeMaNamesIn, groupeNoNamesIn ):
- """
- Sélection intéractive de la main shape
- """
- groupeMaNamesOut, groupeNoNamesOut = [], []
- selectedMainShape = None
- mainShapes = {}
- mainShapeEntries = []
-
- # liste des main shape possibles
- for groups in ( groupeMaNamesIn, groupeNoNamesIn ):
- for subShapeName in groups:
- entries = studyManager.palStudy.getEntriesFromName( studyManager.SGeom, subShapeName )
- for entry in entries:
- mainShapeEntry = studyManager.palStudy.getMainShapeEntry( entry )
- if mainShapeEntry != entry:
- mainShapes[ subShapeName ] = mainShapeEntry
- mainShapeEntries += [ mainShapeEntry ]
-
- if mainShapes:
- diag = SelectMainShapeDiagImpl( mainShapeEntries, self.parent )
-
- if diag.exec_loop() == qt.QDialog.Accepted:
- selectedMainShape = diag.getUserSelection()
- print 'main shape user selection ->',selectedMainShape
-
- # filtre sur la main shape sélectionnée
- for name in groupeMaNamesIn:
- try:
- if mainShapes[ name ] == selectedMainShape:
- groupeMaNamesOut += [ name ]
- except:
- pass
-
- for name in groupeNoNamesIn:
- try:
- if mainShapes[ name ] == selectedMainShape:
- groupeNoNamesOut += [ name ]
- except:
- pass
-
- return groupeMaNamesOut, groupeNoNamesOut
-
-
-
- def __selectShape( self, jdcID, selectedEntry, kwType = None ):
- """
- sélection sous-géométrie dans Salome:
- -test1) si c'est un élément sous-géométrique .
- -test2) si appartient à la géométrie principale.
-
- met à jours la liste self.subShapes si test ok
- """
- name, msgError = '',''
-
- selectedMainShapeEntry = studyManager.palStudy.getMainShapeEntry( selectedEntry )
-
- if selectedMainShapeEntry and selectedMainShapeEntry != selectedEntry: #ok test1)
-
- tGeo = studyManager.palStudy.getRealShapeType( selectedEntry )
- if kwType == "GROUP_NO" and tGeo != studyManager.VERTEX:
- msgError = msgWarningGroupNoSelection
- elif kwType == "GROUP_MA" and tGeo == studyManager.VERTEX:
- name, msgError = '', msgErrorGroupMaSelection
- return name, msgError
-
- if not self.mainShapeEntries.has_key( jdcID ):
- self.mainShapeEntries[ jdcID ] = selectedMainShapeEntry
- name = studyManager.palStudy.getName( selectedMainShapeEntry )
- msgError = msgMainShapeSelection + name
- if selectedMainShapeEntry == self.mainShapeEntries[ jdcID ]:
- name = studyManager.palStudy.getName( selectedEntry )
- self.subShapes[ selectedEntry ] = name
- else:
- if not self.mainShapeNames.has_key( jdcID ):
- self.mainShapeNames[ jdcID ] = studyManager.palStudy.getName( self.mainShapeEntries[ jdcID ] )
- msgError = msgSubShapeBadMainShape + self.mainShapeNames[ jdcID ]
- else:
- name, msgError = '', msgErrorNeedSubShape
-
- return name, msgError
-
-
-
- def __selectMeshGroup( self, jdcID, selectedEntry, kwType = None ):
- """
- sélection groupe de maille dans Salome:
- -test 1) si c'est un groupe de maille
- -test 2) si le maillage fait référence à la géométrie principale
- """
- name, msgError = '',''
-
- selectedMeshEntry = studyManager.palStudy.getMesh( selectedEntry )
-
- if selectedMeshEntry: # ok test 1)
- tGroup = studyManager.palStudy.getGroupType( selectedEntry )
- if kwType == "GROUP_NO" and tGroup != studyManager.NodeGroups:
- msgError = msgWarningGroupNoSelection
- elif kwType == "GROUP_MA" and tGroup == studyManager.NodeGroups:
- name, msgError = '', msgErrorGroupMaSelection
- return name, msgError
-
- selectedMainShapeEntry = studyManager.palStudy.getShapeFromMesh( selectedMeshEntry )
-
- if selectedMainShapeEntry: #test 2)
- if not self.mainShapeEntries.has_key( jdcID ):
- self.mainShapeEntries[ jdcID ] = selectedMainShapeEntry
- name = studyManager.palStudy.getName( selectedMainShapeEntry )
- msgError = msgMainShapeSelection + name
- if selectedMainShapeEntry == self.mainShapeEntries[ jdcID ]:
- name = studyManager.palStudy.getName( selectedEntry ) #ok test 2)
- else:
- if not self.mainShapeNames.has_key( jdcID ):
- self.mainShapeNames[ jdcID ] = studyManager.palStudy.getName(
- self.mainShapeEntries[ jdcID ] )
- msgError = msgMeshGroupBadMainShape + self.mainShapeNames[ jdcID ]
- else:
- # on authorise quand même les groupes de maillage ne faisant
- # pas référence à une géométrie principale (dixit CS_CBO )
- name = studyManager.palStudy.getName( selectedEntry )
-
- return name, msgError
-
-
-
-
- def __updateSubShapes( self, jdcID, groupeNames ):
- """
- mise à jours de la liste self.subShapes à partir de la liste des noms de groupe fourni en entré
- """
- for name in groupeNames:
- entries = studyManager.palStudy.getEntriesFromName( studyManager.SGeom, name )
- for entry in entries:
- if not self.subShapes.has_key( entry ):
- ok, msgError = self.__selectShape( jdcID, entry ) # filtre
- if ok:
- self.subShapes[ entry ] = name
-
- def __getAllGroupeMa(self, item ):
- """
- Récupère tous les GROUPE_MA dans le JDC courant
- """
- groupMa = ()
- try:
- itemName = item.get_nom()
- #print 'CS_pbruno itemName',itemName
- if 'GROUP_MA' in itemName:
- itemValue = item.get_valeur()
- if type( itemValue ) == str:
- groupMa += ( itemValue , )
- elif type( itemValue ) == tuple:
- groupMa += itemValue
- else:
- children = item._GetSubList()
- for child in children:
- groupMa += self.__getAllGroupeMa( child )
- except:
- pass
- return groupMa
-
-
- def __getAllGroupeNo(self, item ):
- """
- Récupère tous les GROUPE_NO dans le JDC courant
- """
- groupNo = ()
- try:
- itemName = item.get_nom()
- if 'GROUP_NO' in itemName:
- itemValue = item.get_valeur()
- if type( itemValue ) == str:
- groupNo += ( itemValue , )
- elif type( itemValue ) == tuple:
- groupNo += itemValue
- else:
- children = item._GetSubList()
- for child in children:
- groupNo += self.__getAllGroupeNo( child )
- except:
- pass
- return groupNo
-
-
- #----------------------- LISTE DES NOUVEAUX CAS D'UTILISATIONS -----------
- def selectGroupFromSalome( self, kwType ):
- """
- Sélection d'élément(s) d'une géométrie ( sub-shape ) ou d'élément(s) de maillage ( groupe de maille) à partir de l'arbre salome
- retourne ( la liste des noms des groupes, message d'erreur )
-
- Note: Appelé par EFICAS lorsqu'on clique sur le bouton ajouter à la liste du panel AFF_CHAR_MECA
- """
- names, msg = [], ''
- try:
- atLeastOneStudy = self.__studySync()
- if not atLeastOneStudy:
- return names, msg
- # récupère toutes les sélections de l'utilsateur dans l'arbre Salome
- entries = salome.sg.getAllSelected()
- print 'CS_pbruno entries->',entries
- nbEntries = len( entries )
- if nbEntries >= 1:
- print 'CS_pbruno len( entries ) >= 1:'
-# jdcID = self.bureau.nb.getcurselection()
- jdcID = self.bureau.JDCDisplay_courant
- for entry in entries:
- if studyManager.palStudy.isMeshGroup( entry ): #sélection d'un groupe de maille
- name, msg = self.__selectMeshGroup( jdcID, entry, kwType )
- elif studyManager.palStudy.isShape( entry ): #sélection d'une sous-géométrie
- name, msg = self.__selectShape( jdcID, entry, kwType )
- else:
- name, msg = '', msgUnAuthorizedSelecion
- if name:
- names.append( name )
-
- if names and len( names ) < nbEntries:
- msg = msgIncompleteSelection
- salome.sg.EraseAll()
- except:
- logger.debug(50*'=')
- print 'CS_pbruno selectGroupFromSalome names = ',names
- return names, msg
-
-
- def addJdcInSalome( self, jdcPath ):
- """
- Ajoute le Jeu De Commande ASTER ou HOMARD dans l'arbre d'étude Salome dans la rubrique EFICAS
- """
- ok, msgError = False, msgErrorAddJdcInSalome
- try:
- atLeastOneStudy = self.__studySync()
- if not atLeastOneStudy:
- return ok, msgError
-
- fileType = { 'ASTER': studyManager.FICHIER_EFICAS_ASTER,
- 'HOMARD': studyManager.FICHIER_EFICAS_HOMARD }
-
- folderName = { 'ASTER': 'AsterFiles',
- 'HOMARD': 'HomardFiles' }
-
- moduleEntry = studyManager.palStudy.addComponent(self.module)
- itemName = re.split("/",jdcPath)[-1]
-
- fatherEntry = studyManager.palStudy.addItem(
- moduleEntry,
- itemName = folderName[self.bureau.code],
- itemIcon = "ICON_COMM_FOLDER",
- itemType = studyManager.ASTER_FILE_FOLDER,
- bDoublonCheck = True )
-
- commEntry = studyManager.palStudy.addItem( fatherEntry ,
- itemName = itemName,
- itemType = fileType[ self.bureau.code ],
- itemValue = jdcPath,
- itemComment = str( jdcPath ),
- itemIcon = "ICON_COMM_FILE",
- bDoublonCheck = True )
- studyManager.palStudy.refresh()
- print 'addJdcInSalome commEntry->', commEntry
- if commEntry:
- ok, msgError = True, ''
- except:
- logger.debug(50*'=')
- return ok, msgError
-
-
- def createOrUpdateMesh( self ):
- """
- Ouverture d'une boite de dialogue : Creation de groupes de mailles dans un maillage existant ou un nouveau maillage.
- Note: Appelé par EFICAS à la sauvegarde du JDC.
- """
- try:
- atLeastOneStudy = self.__studySync()
- if not atLeastOneStudy:
- return
-
-# jdcID = self.bureau.nb.getcurselection()
- jdcID = self.bureau.JDCDisplay_courant
-
- groupeMaNames = self.__getAllGroupeMa( self.bureau.JDCDisplay_courant.tree.item )
- groupeNoNames = self.__getAllGroupeNo( self.bureau.JDCDisplay_courant.tree.item )
-
- # on elimine les doublons de la liste
- groupeMaNames = dict.fromkeys(groupeMaNames).keys()
- groupeNoNames = dict.fromkeys(groupeNoNames).keys()
-
- print 'CS_pbruno createOrUpdateMesh groupeMaNames', groupeMaNames
- print 'CS_pbruno createOrUpdateMesh groupeNoNames', groupeNoNames
-
- # mise à jours de la liste des sous-géométrie ( self.subShapes )
- if not self.mainShapeEntries.has_key( jdcID ):
- # l'utilisateur n'a sélectionné aucune sous-géométrie et donc pas de géométrie principale
- groupeMaNames, groupeNoNames = self.__selectMainShape( groupeMaNames, groupeNoNames )
-
- if groupeMaNames or groupeNoNames:
- print 'CS_pbruno createOrUpdateMesh groupeMaNames', groupeMaNames
- print 'CS_pbruno createOrUpdateMesh groupeNoNames', groupeNoNames
- self.__updateSubShapes( jdcID, groupeMaNames + groupeNoNames )
-
- # recupération des identifiants( entries ) associés aux noms des groupes
- groupeMaEntries = []
- groupeNoEntries = []
-
- for entry, name in self.subShapes.items():
- if name in groupeMaNames:
- groupeMaEntries.append( entry )
- if name in groupeNoNames:
- groupeNoEntries.append( entry )
-
- if groupeMaEntries or groupeNoEntries:
- diag = meshGui.MeshUpdateDialogImpl(
- self.mainShapeEntries[jdcID],
- groupeMaEntries,
- groupeNoEntries,
- studyManager.palStudy,
- self.parent )
- diag.show()
-
- self.subShapes.clear()
- self.mainShapeNames.clear()
- self.mainShapeEntries.clear()
- except:
- logger.debug(50*'=')
-
-
- def displayShape( self, shapeName ):
- """
- visualisation géométrie de nom shapeName dans salome
- """
- ok, msgError = False, ''
- try:
- atLeastOneStudy = self.__studySync()
- if not atLeastOneStudy:
- return ok, msgError
-
-
- #salome.sg.EraseAll()
- print 'displayShapestrGeomShape shapeName -> ', shapeName
- current_color = COLORS[ self.icolor % LEN_COLORS ]
- ok = studyManager.palStudy.displayShapeByName( shapeName, current_color )
- self.icolor = self.icolor + 1
-
- if not ok:
- msgError = msgErrorDisplayShape
- except:
- logger.debug(50*'=')
- return ok, msgError
-
-
- def creeConfigTxt(self,fichier,dico):
- """
- sauvegarde = asksaveasfilename(title="fichier config.txt",
- defaultextension='.txt',
- initialdir = fichier)
- f=open(sauvegarde,'w+')
- for unite in dico.keys():
- print unite
- type=dico[unite][0]
- fic=dico[unite][1:]
- ligne="fort."+str(unite)+" "+type+" "+fic
- f.write(ligne)
- f.close()
- self.rangeInStudy(sauvegarde)
- print "==============================="
- print "fin crreConfigTxt"
- """
- pass #CS_pbruno à implémenter
-
-
- def buildCabriGeom( self, name, **param ):
- """
- visualisation dans GEOM d'une géométrie CABRI
- """
- import cabri
- qt.QApplication.setOverrideCursor( qt.QCursor.waitCursor )
- cabri.tetra( name, **param )
- qt.QApplication.restoreOverrideCursor()
-
-
-
-
-#-------------------------------------------------------------------------------------------------------
-# Point d'entré lancement EFICAS
-#
-def runEficas( code="ASTER", fichier=None, module = studyManager.SEficas ):
- global appli
- if not appli: #une seul instance possible!
- appli = MyEficas( SalomePyQt.SalomePyQt().getDesktop(), code = code, fichier = fichier, module = module )
-
-
-
-# pour compatibilité
-def runHomard( code="HOMARD", fichier=None ):
- global appli
- if not appli: #une seul instance possible!
- appli = MyEficas( SalomePyQt.SalomePyQt().getDesktop(), code = code, fichier = fichier )
-
-
-
-
-"""
-def runAster(parent = SalomePyQt.SalomePyQt().getDesktop(), palStudyManager = studyManager.palStudy, code="ASTER", fichier=None ) :
- global appli
- if not appli: #une seul instance possible!
- appli = MyEficas( parent, palStudyManager, code = code, fichier = fichier )
-"""
-
-
-
-# Init globale du module
-root = Tkinter.Tk()
-root.withdraw()
-
-
-appli = None
-
-
-
-logger=ExtLogger( "eficasSalome.py" )
-
-
-
-
+++ /dev/null
-# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-# CE FICHIER EST CREE UNIQUEMENT POUR ASSURER LA COMPATIBILITE
-# ASCENDANTE DES VERSIONS DE EFICAS. NE PAS EDITER, MODIFIER eficasEtude.
-# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-# En version 1.5 et 1.6 de Eficas, l'implémentation du couplage avec
-# SALOME comprend l'import d'un fichier nommé eficas_etude. En version
-# préparatoire de la version 1.7, cette implémentation comprend l'import
-# d'un fichier eficasEtude. A terme, seul le fichier eficasEtude restera.
-# _CS_gbo_151104
-
-import eficasEtude
+++ /dev/null
-#==============================================================================
-# File : Makefile.in
-# Created : ven déc 7 13:32:20 CET 2001
-# Author : Paul RASCLE, EDF
-# Project : SALOME
-# Copyright : EDF 2001
-# $Header: /home/salome/PlateFormePAL/Bases_CVS_EDF/Modules_EDF/EFICAS_SRC/src/Makefile.in,v 1.5 2005/10/19 14:05:41 salome Exp $
-#==============================================================================
-
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=..
-srcdir=@srcdir@
-VPATH=.:@srcdir@
-
-@COMMENCE@
-
-SUBDIRS = EFICAS EFICASGUI CONFIG
-
-@MODULE@
+++ /dev/null
-# -*- coding: iso-8859-1 -*-
-import salomedsgui
-import salome
-
-import SALOMEDS
-import GEOM
-import SMESH
-
-from Logger import Logger
-logger=Logger( "EficasStudy" )
-
-
-#Nom des composants SALOME dans l'arbre d'étude
-SMesh = "Mesh"
-SGeom = "Geometry"
-SVisu = "Post-Pro"
-SAster = "Aster"
-
-
-class SalomeStudy( salomedsgui.guiDS ):
- """
- Classe de manipulation de l'arbre d'étude Salome. Cette classe permet à
- l'utilisateur de manipuler les objets de 'arbre d'étude via leurs
- identifiants( entry ).
-
- Attention : Par défaut les opérations réalisée par cette classe portent sur
- une étude courante ( positionnée dans le constructeur ou par la méthode
- setCurrentStudyID() )
- """
- def __init__( self, studyID = salome.myStudyId ):
- salomedsgui.guiDS.__init__( self )
- self.setCurrentStudy( studyID)
-
- # spécifique méthode __getMeshType() :
- self.groupOp = None
- self.geomEngine = None
-
- # spécifique méthode createMesh() :
- self.smeshEngine = None
-
-
-
- # --------------------------------------------------------------------------
- # fonctions de manipulation générale ( porte sur toute l'arbre d'étude )
- def __getCORBAObject( self, entry ):
- """
- Retourne l'objet CORBA correspondant son identifiant ( entry ) dans
- l'arbre d'étude.
-
- @type entry : string
- @param entry : objet Corba
-
- @rtype : objet CORBA
- @return : l'objet CORBA, None si erreur.
- """
- object = None
- try:
- mySO = self._myStudy.FindObjectID( entry )
- if mySO:
- object = mySO.GetObject()
-
- if not object: # l'objet n'a pas encore chargé
- path = self._myStudy.GetObjectPath( mySO )# recherche du nom du composant
- componentName = ( path.split('/')[1] ).strip()
-
- if componentName == SMesh:
- strContainer, strComponentName = "FactoryServer", "SMESH"
- elif componentName == SGeom:
- strContainer, strComponentName = "FactoryServer", "GEOM"
- elif componentName == SVisu:
- strContainer, strComponentName = "FactoryServer", "VISU"
- elif componentName == SAster:
- strContainer, strComponentName = "FactoryServerPy", "ASTER"
- else :
- logger.debug('>>>>CS_Pbruno StudyTree.__getCORBAObject chargement du composant %s non implémenté ' %componentName)
- raise 'Erreur'
-
- myComponent = salome.lcc.FindOrLoadComponent( strContainer, strComponentName )
- SCom = self._myStudy.FindComponent( strComponentName )
- self._myBuilder.LoadWith( SCom , myComponent )
- object = mySO.GetObject()
- except:
- import sys
- type = sys.exc_info()[0]
- value = sys.exc_info()[1]
- logger.debug( '>>>>CS_Pbruno StudyTree.__getCORBAObject erreur recupération objet corba ( entry = %s ) ' %entry)
- logger.debug( 'type = %s , value = %s '%( type, value ) )
- object = None
-
- return object
-
-
- def __getEntry( self, corbaObject ):
- """
- Retourne l'identifiant ( entry ) ds l'arbre d'étude de l'objet CORBA
- passé en paramètre.
-
- @type corbaObject : objet Corba
- @param corbaObject : objet Corba
-
- @rtype : string
- @return : identifiant ( entry ), None si erreur.
- """
- entry = None
- currentStudy = self._myStudy
-
- if corbaObject:
- ior = salome.orb.object_to_string( corbaObject )
- if ior:
- sObject = currentStudy.FindObjectIOR( ior )
- entry = sObject.GetID()
- return entry
-
-
-
- def setCurrentStudyID( self, studyID):
- """
- Fixe l'étude courante sur laquel vont opérer toutes les fonctions
- de la classe.
- """
- self._father = None
- self._component = None
- self._myStudy = self._myStudyManager.GetStudyByID( studyID)
- self._myBuilder = self._myStudy.NewBuilder( )
-
- salome.myStudy = self._myStudy
- salome.myStudyId = studyID
- salome.myStudyName = self._myStudy._get_Name()
-
- def refresh( self ):
- """
- Rafraichissement de l'arbre d'étude
- """
- salome.sg.updateObjBrowser(0)
-
- def setName( self, entry, name ):
- """
- Fixe le nom( la valeur de l'attribut 'AttributeName' ) d'un objet de l'arbre d'étude
- désigné par son identifiant( entry )
-
- @type entry: string
- @param entry: identifiant de l'objet dans l'arbre d'étude
-
- @type name: string
- @param name: nom à attribuer
-
- @rtype : boolean
- @return : True si Ok, False sinon, None si erreur
- """
- result = False
- try:
- SObject = self._myStudy.FindObjectID( entry )
- A1 = self._myBuilder.FindOrCreateAttribute( SObject, "AttributeName" )
- AName = A1._narrow(SALOMEDS.AttributeName)
- AName.SetValue( name )
- result = True
- except:
- import sys
- type = sys.exc_info()[0]
- value = sys.exc_info()[1]
- logger.debug( '>>>>CS_Pbruno StudyTree.setName ( entry = %s, name = %s )' %( entry, name ) )
- logger.debug( 'type = %s , value = %s '%( type, value ) )
- result = None
-
- return result
-
- def hasName( self, componentName, objectName ):
- """
- Vérifie si dans l'arbre d'étude le commposant de nom componentName
- possède un objet de nom objectName.
-
- @type componentName: string
- @param componentName: nom du composant Salome
-
- @type objectName: string
- @param objectName: nom de l'objet
-
- @rtype : boolean
- @return : True si Ok, False sinon, None si erreur
- """
- result = False
- try:
- nom = {
- SMesh: "SMESH",
- SGeom: "GEOM",
- SVisu: "VISU",
- SAster: "ASTER"
- }
- componentName = nom[ componentName ]
- SObjects = self._myStudy.FindObjectByName( objectName, componentName )
- if len( SObjects ) > 0:
- result = True
- except:
- import sys
- type = sys.exc_info()[0]
- value = sys.exc_info()[1]
- logger.debug( '>>>>CS_Pbruno StudyTree.setName ( entry = %s, name = %s )' %( entry, name ) )
- logger.debug( 'type = %s , value = %s '%( type, value ) )
- result = None
-
- return result
-
-
-
-
-
- # --------------------------------------------------------------------------
- # fonctions de manipulation des objets géométriques dans l'arbre d'étude
- # ( éléments contenu dans la sous-rubrique "Geometry' )
- def isMainShape( self, entry ):
- """
- Teste si l'objet désigné par l'identifiant ( entry ) passé en argument
- est bien un objet géométrique principal.
-
- @type entry: string
- @param entry: identifiant de l'objet
-
- @rtype: boolean
- @return: True si Ok, False sinon
- """
- result = False
- try:
- anObject = self.__getCORBAObject( entry )
- shape = anObject._narrow( GEOM.GEOM_Object )
- if shape.IsMainShape():
- result = True
- except:
- import sys
- type = sys.exc_info()[0]
- value = sys.exc_info()[1]
- logger.debug( '>>>>CS_Pbruno StudyTree.isMainShape( entry = %s ) ' %entry )
- logger.debug( 'type = %s , value = %s '%( type, value ) )
- result = False
- return result
-
-
- def getMainShapeEntry( self, entry ):
- """
- Retourne l'identifiant de l'objet géométrique principal du sous-objet géométrique désigné par
- l'identifiant ( entry ) passé en paramètre.
-
- @type entry: string
- @param entry: identifiant du sous-objet géométrique
-
- @rtype : string
- @return : identifiant de l'objet géométrique principal, None si erreur.
- """
- result = None
- try :
- if self.isMainShape( entry ):
- result = entry
- else:
- anObject = self.__getCORBAObject( entry )
- shape = anObject._narrow( GEOM.GEOM_Object )
- objMain = shape.GetMainShape()
- result = self.__getEntry( objMain )
- except :
- import sys
- type = sys.exc_info()[0]
- value = sys.exc_info()[1]
- print '>>>>CS_Pbruno StudyTree.getMainShapeEntry( entry = %s ) ' %entry
- print 'type = %s , value = %s '%( type, value )
- result = None
-
- return result
-
- def sameMainShape( self, shapeEntry1, shapeEntry2 ):
- """
- Détermine si les objets géometriques fournis en argument sont les
- sous-objets d'une même géométrie principale
-
- @type shapeEntry1: string
- @param shapeEntry1: identifiant dans l'arbre d'étude d'un objet géométrique
-
- @type shapeEntry2: string
- @param shapeEntry2: identifiant dans l'arbre d'étude d'un objet géométrique
-
- @rtype : boolean
- @return : True si même objet principal, False sinon, None si erreur.
- """
- result = None
- try :
- mainShape1 = self.getMainShapeEntry( shapeEntry1 )
- if mainShape1:
- mainShape2 = self.getMainShapeEntry( shapeEntry2 )
- if mainShape2:
- result = mainShape1 == mainShape2
- except :
- import sys
- type = sys.exc_info()[0]
- value = sys.exc_info()[1]
- print '>>>>CS_Pbruno StudyTree.sameMainShape( shapeEntry1 = %s , shapeEntry2 = %s )'%( shapeEntry1, shapeEntry2 )
- print 'type = %s , value = %s '%( type, value )
- result = None
-
- return result
-
-
- # --------------------------------------------------------------------------
- # fonctions de manipulation des objets maillages dans l'arbre d'étude
- # ( éléments contenu dans la sous-rubrique 'Mesh' )
- def __getMeshType( self, shapeEntry ):
- """
- Determination du type de maille en fonction de la géométrie pour les conditions aux limites.
-
- @type shapeEntry : string
- @param shapeEntry : identifiant de l'objet géométrique
-
- @rtype: SMESH::ElementType ( voir SMESH_Mesh.idl )
- @return: type de maillage, None si erreur.
- """
- result = None
-
- try:
- anObject = self.__getCORBAObject( shapeEntry )
- shape = anObject._narrow( GEOM.GEOM_Object )
-
- if shape: #Ok, c'est bien un objet géométrique
- tgeo = str( shape.GetShapeType() )
-
- meshTypeStr = {
- "VERTEX" : SMESH.NODE,
- "EDGE": SMESH.EDGE,
- "FACE": SMESH.FACE,
- "SOLID": SMESH.VOLUME,
- "COMPOUND" : None
- }
- result = meshTypeStr[ tgeo]
- if result == None:
- if not self.geomEngine:
- self.geomEngine = salome.lcc.FindOrLoadComponent( "FactoryServer", "GEOM" )
- if not self.GroupOp:
- self.GroupOp = self.geomEngine.GetIGroupOperations( salome.myStudyId )
-
- tgeo = self.GroupOp.GetType( shape )
- meshTypeInt = { #Voir le dictionnnaire ShapeType dans geompy.py pour les correspondances type - numero.
- 7: SMESH.NODE,
- 6: SMESH.EDGE,
- 4: SMESH.FACE,
- 2: SMESH.VOLUME
- }
- if meshTypeInt.has_key( int( tgeo ) ):
- result = meshTypeInt[ tgeo]
- except:
- import sys
- type = sys.exc_info()[0]
- value = sys.exc_info()[1]
- logger.debug( '>>>>CS_Pbruno StudyTree.__getMeshType( shapeEntry = %s ) ' %shapeEntry )
- logger.debug( 'type = %s , value = %s '%( type, value ))
- result = None
-
- return result
-
- def getAllMeshReferencingMainShape( self, mainShapeEntry ):
- """
- Retourne une liste de tous les maillages construits à partir de l'objet
- principal géométrique passé en argument
-
- @type mainShapeEntry : string
- @param mainShapeEntry : identifiant( entry ) de l'objet principal géométrique
-
- @rtype: list
- @return: liste des identifiants( entry ) des maillages, liste vide si aucun , None si erreur.
- """
- result = []
-
- try:
- if self.isMainShape( mainShapeEntry ):
- mainShapeSO = salome.IDToSObject( mainShapeEntry )
- SObjectList = self._myStudy.FindDependances( mainShapeSO )
- print '#### mainShapeSO=%s , SObjectList = %s'%( mainShapeSO, SObjectList )
- if SObjectList: #Ok, il y a des objet référençant la mainShape
- for SObject in SObjectList: # Recherche du type de chacun des objets
- SFatherComponent = SObject.GetFatherComponent()
- print '#### SFatherComponent = %s'%SFatherComponent
- if SFatherComponent.GetName() == SMesh: #Ok, l'objet est un objet du composant 'Mesh'
- SFather = SObject.GetFather()
- print '#### SFather= %s'%SFather
- ##CorbaObject = SFather.GetObject()
- FatherEntry = SFather.GetID()
- CorbaObject = self.__getCORBAObject( FatherEntry )
- print '#### CorbaObject = %s'%CorbaObject
- MeshObject = CorbaObject ._narrow( SMESH.SMESH_Mesh )
- print '#### MeshObject = %s'%MeshObject
- if MeshObject : #Ok, l'objet est un objet 'maillage'
- MeshObjectEntry = self.__getEntry( MeshObject )
- print '#### MeshObjectEntry = %s'%MeshObjectEntry
- if MeshObjectEntry:
- result.append( MeshObjectEntry ) # On l'ajoute ds la liste résultat!
- else: # c'est pas une mainShape !
- result = None
- except :
- import sys
- type = sys.exc_info()[0]
- value = sys.exc_info()[1]
- logger.debug( '>>>>CS_Pbruno StudyTree.getAllMeshReferencingMainShape( mainShapeEntry = %s ) ' %mainShapeEntry )
- logger.debug( 'type = %s , value = %s '%( type, value ))
- result = None
-
- return result
-
-
-
- def updateMesh( self, meshEntry, groupeMaEntries, groupeNoEntries ):
- """
- Met à jours d'un objet maillage à partir d'une liste de sous-objet géométrique.
- L'opération consiste à créer des groupes dans le maillage correspondant
- aux sous-objets géométrique de la liste.
-
- CS_pbruno Attention: ajoute des groupes sans vérifier si auparavant ils ont déjà été crées
-
- @type meshEntry : string
- @param meshEntry : identifiant du maillage
-
- @type groupeMaEntries : liste de string
- @param groupeMaEntries : liste contenant les identifiants ( entry ) des sous-objets géométriques
- sur lesquel on veut construire des groupes de face.
-
- @type groupeNoEntries : liste de string
- @param groupeNoEntries : liste contenant les identifiants ( entry ) des sous-objets géométriques
- sur lesquel on veut construire des groupes de noeuds.
-
- @rtype: bool
- @return: True si update OK, False en cas d'erreur
- """
- result = False
- try:
- #print 'CS_pbruno updateMesh( self, meshEntry=%s, groupeMaEntries=%s )'%( meshEntry, groupeMaEntries )
- corbaObject = self.__getCORBAObject( meshEntry )
- mesh = corbaObject._narrow( SMESH.SMESH_Mesh )
-
- if mesh: # Ok, c'est bien un maillage
- shapeName = ""
- meshType = None
-
- #création groupes de noeud
- for shapeEntry in groupeNoEntries:
- anObject = self.__getCORBAObject( shapeEntry )
- shape = anObject._narrow( GEOM.GEOM_Object )
- if shape: #Ok, c'est bien un objet géométrique
- shapeName = self.getNameAttribute( shapeEntry )
- mesh.CreateGroupFromGEOM( SMESH.NODE, shapeName, shape )
- else:
- pass # CS_pbruno au choix: 1)une seule erreur arrète l'intégralité de l'opération
- #return False # 2)ou on continue et essaye les suivants ( choix actuel
-
- #création groupes de face
- for shapeEntry in groupeMaEntries:
- meshType = self.__getMeshType( shapeEntry )
- if meshType:
- anObject = self.__getCORBAObject( shapeEntry )
- shape = anObject._narrow( GEOM.GEOM_Object )
- if shape: #Ok, c'est bien un objet géométrique
- shapeName = self.getNameAttribute( shapeEntry )
- mesh.CreateGroupFromGEOM( meshType, shapeName, shape )
- else:
- pass #CS_pbruno au choix: 1)une seule erreur arrète l'intégralité de l'opération
- #return False # 2)ou on continue et essaye les suivants ( choix actuel )
- else:
- pass #CS_pbruno au choix: 1)une seule erreur arrète l'intégralité de l'opération
- #return False # 2)ou on continue et essaye les suivants ( choix actuel )
-
- result = True
-
- except:
- import sys
- type = sys.exc_info()[0]
- value = sys.exc_info()[1]
- logger.debug( '>>>>CS_Pbruno StudyTree.updateMesh( meshEntry= %s, groupeMaEntries = %s )' %( meshEntry, groupeMaEntries))
- logger.debug( 'type = %s , value = %s '%( type, value ))
- result = None
- return result
-
-
-
-
-
-
- def createMesh( self, newMeshName, mainShapeEntry, groupeMaEntries, groupeNoEntries ):
- """
- Création d'un objet maillage à partir d'un objet géométrique principal
- Les groupes dans le maillage sont crée à partir des sous-objets géométriques
- contenu dans la liste fourni en paramètre d'entré.
-
- @type newMeshName : string
- @param newMeshName : nom du nouveau maillage
-
- @type mainShapeEntry : string
- @param mainShapeEntry : identifiant de l'objet géométrique principal
-
- @type groupeMaEntries : liste de string
- @param groupeMaEntries : liste contenant les identifiants ( entry ) des sous-objets géométriques
- sur lesquel on veut construire des groupes de face.
-
- @type groupeNoEntries : liste de string
- @param groupeNoEntries : liste contenant les identifiants ( entry ) des sous-objets géométriques
- sur lesquel on veut construire des groupes de noeuds.
-
- @rtype: string
- @return: identifiant( entry ) dans l'arbre d'étude du nouveau maillage, None en cas d'erreur.
- """
- result = False
- try:
- #print 'CS_pbruno createMesh( self, newMeshName=%s, mainShapeEntry=%s, groupeMaEntries=%s )'%( newMeshName, mainShapeEntry, groupeMaEntries )
- newMesh = None
- anObject = self.__getCORBAObject( mainShapeEntry )
- shape = anObject._narrow( GEOM.GEOM_Object )
- if shape:
- # Création du nouveau maillage
- if not self.smeshEngine:
- self.smeshEngine = salome.lcc.FindOrLoadComponent( "FactoryServer", "SMESH" )
- self.smeshEngine.SetCurrentStudy( salome.myStudy )
- newMesh = self.smeshEngine.CreateMesh( shape )
- newMeshEntry = self.__getEntry( newMesh )
- if newMeshEntry:
- ok = self.setName( newMeshEntry, newMeshName )
- if ok:
- result = self.updateMesh( newMeshEntry, groupeMaEntries, groupeNoEntries )
- except:
- import sys
- type = sys.exc_info()[0]
- value = sys.exc_info()[1]
- logger.debug( '>>>>CS_Pbruno StudyTree.createMesh( self, newMeshName=%s, mainShapeEntry=%s, groupeMaEntries=%s )'%( newMeshName, mainShapeEntry, groupeMaEntries))
- logger.debug( 'type = %s , value = %s '%( type, value ))
- result = None
- return result
-
-
-
-
-
-
-
-
-
-# --------------------------------------------------------------------------
-# INIT
-study = SalomeStudy()
-
+++ /dev/null
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl:$(top_builddir)/idl:${KERNEL_ROOT_DIR}/idl/salome
-
-@COMMENCE@
-
-EXPORT_PYSCRIPTS = \
-EficasStudy.py
-
-# Libraries targets
-
-LIB_SERVER_IDL =
-LIB_CLIENT_IDL =
-
-# Executables targets
-
-@CONCLUDE@
-