From bc7ead6b6d1be996b52896d9448f8da0cdf4bd63 Mon Sep 17 00:00:00 2001 From: apo Date: Wed, 25 Apr 2007 10:43:43 +0000 Subject: [PATCH] Merge with BR_Dev_For_4_0 (initial version) --- src/VISU_I/Makefile.am | 171 +++ src/VISU_I/Makefile.in | 1148 +++++++++++++++-- src/VISU_I/VISUConfig.cc | 12 +- src/VISU_I/VISUConfig.hh | 52 +- src/VISU_I/VISU_ColoredPrs3d_i.cc | 55 +- src/VISU_I/VISU_ColoredPrs3d_i.hh | 17 +- src/VISU_I/VISU_CorbaMedConvertor.cxx | 1106 +++++++++++----- src/VISU_I/VISU_CorbaMedConvertor.hxx | 29 +- src/VISU_I/VISU_CutLines_i.cc | 123 +- src/VISU_I/VISU_CutLines_i.hh | 19 +- src/VISU_I/VISU_CutPlanes_i.cc | 15 +- src/VISU_I/VISU_CutPlanes_i.hh | 14 +- src/VISU_I/VISU_DeformedShape_i.cc | 22 +- src/VISU_I/VISU_DeformedShape_i.hh | 10 +- src/VISU_I/VISU_DumpPython.cc | 157 ++- src/VISU_I/VISU_GaussPoints_i.hh | 7 +- src/VISU_I/VISU_Gen_i.cc | 115 +- src/VISU_I/VISU_Gen_i.hh | 1 - src/VISU_I/VISU_I.hxx | 47 + src/VISU_I/VISU_IsoSurfaces_i.cc | 34 +- src/VISU_I/VISU_IsoSurfaces_i.hh | 10 +- src/VISU_I/VISU_Mesh_i.cc | 9 + src/VISU_I/VISU_Mesh_i.hh | 2 +- src/VISU_I/VISU_Plot3D_i.cc | 10 + src/VISU_I/VISU_Plot3D_i.hh | 14 +- src/VISU_I/VISU_Prs3d_i.cc | 77 +- src/VISU_I/VISU_Prs3d_i.hh | 2 +- src/VISU_I/VISU_PrsMerger_i.cc | 580 +++++++++ src/VISU_I/VISU_PrsMerger_i.hh | 221 ++++ src/VISU_I/VISU_Result_i.cc | 396 ++++-- src/VISU_I/VISU_Result_i.hh | 10 +- src/VISU_I/VISU_ScalarMapOnDeformedShape_i.cc | 193 +-- src/VISU_I/VISU_ScalarMapOnDeformedShape_i.hh | 73 +- src/VISU_I/VISU_ScalarMap_i.cc | 103 ++ src/VISU_I/VISU_ScalarMap_i.hh | 44 +- src/VISU_I/VISU_StreamLines_i.cc | 15 +- src/VISU_I/VISU_StreamLines_i.hh | 14 +- src/VISU_I/VISU_Table_i.cc | 20 +- src/VISU_I/VISU_Table_i.hh | 7 +- src/VISU_I/VISU_TimeAnimation.cxx | 1110 ++++++++++++---- src/VISU_I/VISU_TimeAnimation.h | 58 +- src/VISU_I/VISU_Vectors_i.cc | 11 + src/VISU_I/VISU_Vectors_i.hh | 14 +- src/VISU_I/VISU_ViewManager_i.hh | 4 +- src/VISU_I/VISU_View_i.cc | 48 +- src/VISU_I/VISU_View_i.hh | 23 +- 46 files changed, 5092 insertions(+), 1130 deletions(-) create mode 100644 src/VISU_I/Makefile.am create mode 100755 src/VISU_I/VISU_I.hxx create mode 100644 src/VISU_I/VISU_PrsMerger_i.cc create mode 100644 src/VISU_I/VISU_PrsMerger_i.hh diff --git a/src/VISU_I/Makefile.am b/src/VISU_I/Makefile.am new file mode 100644 index 00000000..2425131f --- /dev/null +++ b/src/VISU_I/Makefile.am @@ -0,0 +1,171 @@ +# Copyright (C) 2003 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 +# +# File : Makefile.am +# Author : Alexey Petrov +# Module : VISU + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +# Libraries targets +lib_LTLIBRARIES= libVISUEngineImpl.la + +salomeinclude_HEADERS = \ + VISU_I.hxx \ + VISUConfig.hh \ + VISU_Gen_i.hh \ + VISU_Result_i.hh \ + VISU_PrsObject_i.hh \ + VISU_Table_i.hh \ + VISU_Prs3d_i.hh \ + VISU_Mesh_i.hh \ + VISU_ColoredPrs3d_i.hh \ + VISU_ScalarMap_i.hh \ + VISU_IsoSurfaces_i.hh \ + VISU_DeformedShape_i.hh \ + VISU_Plot3D_i.hh \ + VISU_CutPlanes_i.hh \ + VISU_CutLines_i.hh \ + VISU_Vectors_i.hh \ + VISU_StreamLines_i.hh \ + VISU_GaussPoints_i.hh \ + VISU_ViewManager_i.hh \ + VISU_View_i.hh \ + VISU_TimeAnimation.h \ + VISU_ScalarMapOnDeformedShape_i.hh \ + VISU_ColoredPrs3dFactory.hh \ + SALOME_GenericObjPointer.hh + +libVISUEngineImpl_la_SOURCES = \ + VISU_Result_i.cc \ + VISUConfig.cc \ + VISU_PrsObject_i.cc \ + VISU_Prs3d_i.cc \ + VISU_ColoredPrs3d_i.cc \ + VISU_ScalarMap_i.cc \ + VISU_GaussPoints_i.cc \ + VISU_IsoSurfaces_i.cc \ + VISU_DeformedShape_i.cc \ + VISU_Plot3D_i.cc \ + VISU_CutPlanes_i.cc \ + VISU_CutLines_i.cc \ + VISU_Vectors_i.cc \ + VISU_StreamLines_i.cc \ + VISU_ScalarMapOnDeformedShape_i.cc \ + VISU_ColoredPrs3dCache_i.cc \ + VISU_ColoredPrs3dHolder_i.cc \ + VISU_ColoredPrs3dFactory.cc \ + VISU_Mesh_i.cc \ + VISU_ViewManager_i.cc \ + VISU_TimeAnimation.cxx \ + VISU_View_i.cc \ + VISU_Table_i.cc \ + VISU_Gen_i.cc \ + VISU_CorbaMedConvertor.cxx \ + VISU_DumpPython.cc \ + SALOME_GenericObjPointer.cc + +MOC_FILES = VISU_TimeAnimation_moc.cxx +nodist_libVISUEngineImpl_la_SOURCES= $(MOC_FILES) + +# additionnal information to compil and link file +libVISUEngineImpl_la_CPPFLAGS= \ + -ftemplate-depth-32 \ + $(QT_INCLUDES) \ + $(PYTHON_INCLUDES) \ + @CAS_CPPFLAGS@ @CAS_CXXFLAGS@ \ + $(VTK_INCLUDES) \ + $(HDF5_INCLUDES) \ + $(QWT_INCLUDES) \ + $(BOOST_CPPFLAGS)\ + $(KERNEL_CXXFLAGS) \ + $(MED_CXXFLAGS) \ + $(GUI_CXXFLAGS) \ + $(CORBA_CXXFLAGS) $(CORBA_INCLUDES) \ + -I$(srcdir)/../CONVERTOR -I$(srcdir)/../PIPELINE -I$(srcdir)/../OBJECT -I$(srcdir)/../VVTK -I$(srcdir)/../GUITOOLS \ + -I$(top_builddir)/idl \ + -I$(top_builddir)/salome_adm/unix + +libVISUEngineImpl_la_LDFLAGS= \ + $(PYTHON_LIBS) \ + $(QT_MT_LIBS) \ + $(VTK_LIBS) \ + $(QWT_LIBS) \ + @BOOST_LIBS@ \ + $(KERNEL_LDFLAGS) \ + $(GUI_LDFLAGS) \ + $(MED_LDFLAGS) \ + ../../idl/libSalomeIDLVISU.la + +libVISUEngineImpl_la_LIBADD= -lboost_signals@BOOST_LIBSUFFIX@ -lboost_thread@BOOST_LIBSUFFIX@ \ + -lSalomeHDFPersist \ + -lSalomeGenericObj \ + -lSalomeContainer \ + -lSalomeNS \ + -lTOOLSDS \ + -lOpUtil \ + -lEvent \ + -lSalomeApp \ + -lSalomeSession \ + -lVTKViewer \ + -lSVTK \ + -lSPlot2d \ + ../CONVERTOR/libVisuConvertor.la \ + ../PIPELINE/libVisuPipeLine.la \ + ../OBJECT/libVisuObject.la \ + ../VVTK/libVVTK.la \ + ../GUITOOLS/libVISUGUITOOLS.la + +# Executables targets +bin_PROGRAMS = VISU_I +dist_VISU_I_SOURCES=VISU_I.cxx +VISU_I_CPPFLAGS=$(libVISUEngineImpl_la_CPPFLAGS) +VISU_I_LDADD=$(libVISUEngineImpl_la_LIBADD) $(libVISUEngineImpl_la_LDFLAGS) \ + $(KERNEL_LDFLAGS) \ + -lSALOMEBasics \ + -lSalomeCatalog \ + -lwith_loggerTraceCollector \ + -lSalomeLifeCycleCORBA \ + -lRegistry \ + -lSalomeNotification \ + -lSALOMELocalTrace \ + -lSalomeResourcesManager \ + -lSalomeDSClient \ + -lSalomeObject \ + -lqtx \ + -lsuit \ + -lstd \ + -lCAM \ + -lLightApp \ + -lObjBrowser \ + -lSalomePrs \ + -lPyInterp \ + -lPythonConsole \ + -lLogWindow \ + -lToolsGUI \ + -lGLViewer \ + -lOCCViewer \ + -lSUPERVGraph \ + -lSOCC \ + -lPlot2d \ + -lMEDWrapper \ + -lMEDWrapperBase \ + -lMEDWrapper_V2_2 \ + -lMEDWrapper_V2_1 \ + -lmed_V2_1 diff --git a/src/VISU_I/Makefile.in b/src/VISU_I/Makefile.in index f05f455f..f8521922 100644 --- a/src/VISU_I/Makefile.in +++ b/src/VISU_I/Makefile.in @@ -1,3 +1,19 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + # Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS # @@ -17,73 +33,415 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# File : Makefile.in +# File : Makefile.am # Author : Alexey Petrov # Module : VISU -top_srcdir=@top_srcdir@ -top_builddir=../.. -srcdir=@srcdir@ -VPATH=.:@srcdir@:@top_srcdir@/idl -BOOST_LIBSUFFIX=@BOOST_LIBSUFFIX@ +# +# ============================================================ +# This file defines the common definitions used in several +# Makefile. This file must be included, if needed, by the file +# Makefile.am. +# ============================================================ +# -@COMMENCE@ -# Libraries targets -LIB = libVISUEngineImpl.la -LIB_SRC = \ - VISU_Result_i.cc \ - VISUConfig.cc \ - VISU_PrsObject_i.cc \ - VISU_Prs3d_i.cc \ - VISU_ColoredPrs3d_i.cc \ - VISU_ScalarMap_i.cc \ - VISU_GaussPoints_i.cc \ - VISU_IsoSurfaces_i.cc \ - VISU_DeformedShape_i.cc \ - VISU_Plot3D_i.cc \ - VISU_CutPlanes_i.cc \ - VISU_CutLines_i.cc \ - VISU_Vectors_i.cc \ - VISU_StreamLines_i.cc \ - VISU_ScalarMapOnDeformedShape_i.cc \ - VISU_ColoredPrs3dCache_i.cc \ - VISU_ColoredPrs3dHolder_i.cc \ - VISU_ColoredPrs3dFactory.cc \ - VISU_Mesh_i.cc \ - VISU_ViewManager_i.cc \ - VISU_TimeAnimation.cxx \ - VISU_View_i.cc \ - VISU_Table_i.cc \ - VISU_Gen_i.cc \ - VISU_CorbaMedConvertor.cxx \ - VISU_DumpPython.cc \ - SALOME_GenericObjPointer.cc +SOURCES = $(libVISUEngineImpl_la_SOURCES) $(nodist_libVISUEngineImpl_la_SOURCES) $(dist_VISU_I_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +target_triplet = @target@ +DIST_COMMON = $(salomeinclude_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in \ + $(top_srcdir)/adm_local/unix/make_common_starter.am +bin_PROGRAMS = VISU_I$(EXEEXT) +subdir = ./src/VISU_I +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/salome_adm/unix/config_files/ac_cxx_depend_flag.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/ac_cxx_namespaces.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/ac_cxx_option.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/ac_cxx_use_std_iostream.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/ac_linker_options.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/acx_pthread.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_Kernel.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_boost.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_cas.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_corba.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_hdf5.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_htmlgen.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_mpich.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_omniorb.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_opengl.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_qt.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_swig.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/enable_pthreads.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/production.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/python.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(salomeincludedir)" +libLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(lib_LTLIBRARIES) +libVISUEngineImpl_la_DEPENDENCIES = ../CONVERTOR/libVisuConvertor.la \ + ../PIPELINE/libVisuPipeLine.la ../OBJECT/libVisuObject.la \ + ../VVTK/libVVTK.la ../GUITOOLS/libVISUGUITOOLS.la +am_libVISUEngineImpl_la_OBJECTS = \ + libVISUEngineImpl_la-VISU_Result_i.lo \ + libVISUEngineImpl_la-VISUConfig.lo \ + libVISUEngineImpl_la-VISU_PrsObject_i.lo \ + libVISUEngineImpl_la-VISU_Prs3d_i.lo \ + libVISUEngineImpl_la-VISU_ColoredPrs3d_i.lo \ + libVISUEngineImpl_la-VISU_ScalarMap_i.lo \ + libVISUEngineImpl_la-VISU_GaussPoints_i.lo \ + libVISUEngineImpl_la-VISU_IsoSurfaces_i.lo \ + libVISUEngineImpl_la-VISU_DeformedShape_i.lo \ + libVISUEngineImpl_la-VISU_Plot3D_i.lo \ + libVISUEngineImpl_la-VISU_CutPlanes_i.lo \ + libVISUEngineImpl_la-VISU_CutLines_i.lo \ + libVISUEngineImpl_la-VISU_Vectors_i.lo \ + libVISUEngineImpl_la-VISU_StreamLines_i.lo \ + libVISUEngineImpl_la-VISU_ScalarMapOnDeformedShape_i.lo \ + libVISUEngineImpl_la-VISU_ColoredPrs3dCache_i.lo \ + libVISUEngineImpl_la-VISU_ColoredPrs3dHolder_i.lo \ + libVISUEngineImpl_la-VISU_ColoredPrs3dFactory.lo \ + libVISUEngineImpl_la-VISU_Mesh_i.lo \ + libVISUEngineImpl_la-VISU_ViewManager_i.lo \ + libVISUEngineImpl_la-VISU_TimeAnimation.lo \ + libVISUEngineImpl_la-VISU_View_i.lo \ + libVISUEngineImpl_la-VISU_Table_i.lo \ + libVISUEngineImpl_la-VISU_Gen_i.lo \ + libVISUEngineImpl_la-VISU_CorbaMedConvertor.lo \ + libVISUEngineImpl_la-VISU_DumpPython.lo \ + libVISUEngineImpl_la-SALOME_GenericObjPointer.lo +am__objects_1 = libVISUEngineImpl_la-VISU_TimeAnimation_moc.lo +nodist_libVISUEngineImpl_la_OBJECTS = $(am__objects_1) +libVISUEngineImpl_la_OBJECTS = $(am_libVISUEngineImpl_la_OBJECTS) \ + $(nodist_libVISUEngineImpl_la_OBJECTS) +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +dist_VISU_I_OBJECTS = VISU_I-VISU_I.$(OBJEXT) +VISU_I_OBJECTS = $(dist_VISU_I_OBJECTS) +am__DEPENDENCIES_1 = ../CONVERTOR/libVisuConvertor.la \ + ../PIPELINE/libVisuPipeLine.la ../OBJECT/libVisuObject.la \ + ../VVTK/libVVTK.la ../GUITOOLS/libVISUGUITOOLS.la +am__DEPENDENCIES_2 = +am__DEPENDENCIES_3 = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) \ + $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) \ + $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) \ + $(am__DEPENDENCIES_2) ../../idl/libSalomeIDLVISU.la +VISU_I_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_3) \ + $(am__DEPENDENCIES_2) +DEFAULT_INCLUDES = -I. -I$(srcdir) +depcomp = $(SHELL) $(top_srcdir)/salome_adm/unix/config_files/depcomp +am__depfiles_maybe = depfiles +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libVISUEngineImpl_la_SOURCES) \ + $(nodist_libVISUEngineImpl_la_SOURCES) $(dist_VISU_I_SOURCES) +DIST_SOURCES = $(libVISUEngineImpl_la_SOURCES) $(dist_VISU_I_SOURCES) +salomeincludeHEADERS_INSTALL = $(INSTALL_HEADER) +HEADERS = $(salomeinclude_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ +BOOST_LIBS = @BOOST_LIBS@ +BOOST_LIBSUFFIX = @BOOST_LIBSUFFIX@ +BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@ +CAS_CPPFLAGS = @CAS_CPPFLAGS@ +CAS_CXXFLAGS = @CAS_CXXFLAGS@ +CAS_DATAEXCHANGE = @CAS_DATAEXCHANGE@ +CAS_KERNEL = @CAS_KERNEL@ +CAS_LDFLAGS = @CAS_LDFLAGS@ +CAS_LDPATH = @CAS_LDPATH@ +CAS_MATH = @CAS_MATH@ +CAS_MODELER = @CAS_MODELER@ +CAS_OCAF = @CAS_OCAF@ +CAS_OCAFVIS = @CAS_OCAFVIS@ +CAS_STDPLUGIN = @CAS_STDPLUGIN@ +CAS_TKTopAlgo = @CAS_TKTopAlgo@ +CAS_VIEWER = @CAS_VIEWER@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CORBA_CXXFLAGS = @CORBA_CXXFLAGS@ +CORBA_INCLUDES = @CORBA_INCLUDES@ +CORBA_IN_GUI = @CORBA_IN_GUI@ +CORBA_LIBS = @CORBA_LIBS@ +CORBA_ROOT = @CORBA_ROOT@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CXX_DEPEND_FLAG = @CXX_DEPEND_FLAG@ +CYGPATH_W = @CYGPATH_W@ +C_DEPEND_FLAG = @C_DEPEND_FLAG@ +DEFS = @DEFS@ +DEPCC = @DEPCC@ +DEPCXX = @DEPCXX@ +DEPCXXFLAGS = @DEPCXXFLAGS@ +DEPDIR = @DEPDIR@ +DOT = @DOT@ +DOXYGEN = @DOXYGEN@ +DOXYGEN_WITH_PYTHON = @DOXYGEN_WITH_PYTHON@ +DOXYGEN_WITH_STL = @DOXYGEN_WITH_STL@ +DVIPS = @DVIPS@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GUI_CXXFLAGS = @GUI_CXXFLAGS@ +GUI_LDFLAGS = @GUI_LDFLAGS@ +GUI_ROOT_DIR = @GUI_ROOT_DIR@ +HAVE_SSTREAM = @HAVE_SSTREAM@ +HDF5_INCLUDES = @HDF5_INCLUDES@ +HDF5_LIBS = @HDF5_LIBS@ +HDF5_MT_LIBS = @HDF5_MT_LIBS@ +IDL = @IDL@ +IDLCXXFLAGS = @IDLCXXFLAGS@ +IDLPYFLAGS = @IDLPYFLAGS@ +IDL_CLN_CXX = @IDL_CLN_CXX@ +IDL_CLN_H = @IDL_CLN_H@ +IDL_CLN_OBJ = @IDL_CLN_OBJ@ +IDL_SRV_CXX = @IDL_SRV_CXX@ +IDL_SRV_H = @IDL_SRV_H@ +IDL_SRV_OBJ = @IDL_SRV_OBJ@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KERNEL_CXXFLAGS = @KERNEL_CXXFLAGS@ +KERNEL_LDFLAGS = @KERNEL_LDFLAGS@ +KERNEL_ROOT_DIR = @KERNEL_ROOT_DIR@ +KERNEL_SITE_DIR = @KERNEL_SITE_DIR@ +LATEX = @LATEX@ +LDEXPDYNFLAGS = @LDEXPDYNFLAGS@ +LDFLAGS = @LDFLAGS@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_LOCATION_SUFFIX = @LIB_LOCATION_SUFFIX@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MACHINE = @MACHINE@ +MAKEINFO = @MAKEINFO@ +MED_CXXFLAGS = @MED_CXXFLAGS@ +MED_LDFLAGS = @MED_LDFLAGS@ +MED_ROOT_DIR = @MED_ROOT_DIR@ +MOC = @MOC@ +MODULE_NAME = @MODULE_NAME@ +MSG2QM = @MSG2QM@ +OBJEXT = @OBJEXT@ +OGL_INCLUDES = @OGL_INCLUDES@ +OGL_LIBS = @OGL_LIBS@ +OMNIORB_CXXFLAGS = @OMNIORB_CXXFLAGS@ +OMNIORB_IDL = @OMNIORB_IDL@ +OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@ +OMNIORB_IDLPYFLAGS = @OMNIORB_IDLPYFLAGS@ +OMNIORB_IDL_CLN_CXX = @OMNIORB_IDL_CLN_CXX@ +OMNIORB_IDL_CLN_H = @OMNIORB_IDL_CLN_H@ +OMNIORB_IDL_CLN_OBJ = @OMNIORB_IDL_CLN_OBJ@ +OMNIORB_IDL_SRV_CXX = @OMNIORB_IDL_SRV_CXX@ +OMNIORB_IDL_SRV_H = @OMNIORB_IDL_SRV_H@ +OMNIORB_IDL_SRV_OBJ = @OMNIORB_IDL_SRV_OBJ@ +OMNIORB_IDL_TIE_CXX = @OMNIORB_IDL_TIE_CXX@ +OMNIORB_IDL_TIE_H = @OMNIORB_IDL_TIE_H@ +OMNIORB_INCLUDES = @OMNIORB_INCLUDES@ +OMNIORB_LIBS = @OMNIORB_LIBS@ +OMNIORB_ROOT = @OMNIORB_ROOT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +PYTHON = @PYTHON@ +PYTHONHOME = @PYTHONHOME@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_INCLUDES = @PYTHON_INCLUDES@ +PYTHON_LIBS = @PYTHON_LIBS@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_SITE = @PYTHON_SITE@ +PYTHON_SITE_EXEC = @PYTHON_SITE_EXEC@ +PYTHON_SITE_INSTALL = @PYTHON_SITE_INSTALL@ +PYTHON_SITE_PACKAGE = @PYTHON_SITE_PACKAGE@ +PYTHON_VERSION = @PYTHON_VERSION@ +QTDIR = @QTDIR@ +QT_INCLUDES = @QT_INCLUDES@ +QT_LIBS = @QT_LIBS@ +QT_MT_INCLUDES = @QT_MT_INCLUDES@ +QT_MT_LIBS = @QT_MT_LIBS@ +QT_ROOT = @QT_ROOT@ +QT_VERS = @QT_VERS@ +QWT_INCLUDES = @QWT_INCLUDES@ +QWT_LIBS = @QWT_LIBS@ +RANLIB = @RANLIB@ +ROOT_BUILDDIR = @ROOT_BUILDDIR@ +ROOT_SRCDIR = @ROOT_SRCDIR@ +RST2HTML = @RST2HTML@ +RST2HTML_IS_OK_FALSE = @RST2HTML_IS_OK_FALSE@ +RST2HTML_IS_OK_TRUE = @RST2HTML_IS_OK_TRUE@ +SETX = @SETX@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STDLIB = @STDLIB@ +STRIP = @STRIP@ +SWIG = @SWIG@ +SWIG_FLAGS = @SWIG_FLAGS@ +TEMP = @TEMP@ +UIC = @UIC@ +VERSION = @VERSION@ +VTKPY_MODULES = @VTKPY_MODULES@ +VTK_INCLUDES = @VTK_INCLUDES@ +VTK_LIBS = @VTK_LIBS@ +XVERSION = @XVERSION@ +YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +acx_pthread_config = @acx_pthread_config@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = $(prefix)/bin/@PACKAGE@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = $(prefix)/lib@LIB_LOCATION_SUFFIX@/@PACKAGE@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ -LIB_MOC = \ - VISU_TimeAnimation.h +# Standard directory for installation +salomeincludedir = $(includedir)/@PACKAGE@ +purebindir = $(prefix)/bin +salomescriptdir = $(bindir) -LIB_SERVER_IDL = \ - MED.idl \ - VISU_Gen.idl \ - SALOME_Component.idl \ - SALOME_Exception.idl \ - SALOME_GenericObj.idl +# Tests environment folders +testsenvirondir = $(prefix)/Tests/environ +testsenvironcshdir = $(prefix)/Tests/environ/csh -LIB_CLIENT_IDL = \ - SALOMEDS.idl \ - SALOMEDS_Attributes.idl \ - SALOME_Comm.idl +# Directory for installing idl files +salomeidldir = $(prefix)/idl/@PACKAGE@ -# Executables targets -BIN = VISU_I -BIN_SRC = +# Directory for installing resource files +salomeresdir = $(prefix)/share/@PACKAGE@/resources/@MODULE_NAME@ -BIN_CLIENT_IDL = -BIN_SERVER_IDL = +# Directories for installing admin files +admlocaldir = $(prefix)/adm_local +admlocalunixdir = $(admlocaldir)/unix +admlocalm4dir = $(admlocaldir)/unix/config_files -EXPORT_HEADERS = \ +# Shared modules installation directory +sharedpkgpythondir = $(pkgpythondir)/shared_modules + +# Documentation directory +docdir = $(datadir)/doc/@PACKAGE@ +EXTRA_DIST = $(MOC_FILES:%_moc.cxx=%.h) $(nodist_salomeres_DATA:%.qm=%.po) + +# Libraries targets +lib_LTLIBRARIES = libVISUEngineImpl.la +salomeinclude_HEADERS = \ + VISU_I.hxx \ VISUConfig.hh \ VISU_Gen_i.hh \ VISU_Result_i.hh \ @@ -108,31 +466,68 @@ EXPORT_HEADERS = \ VISU_ColoredPrs3dFactory.hh \ SALOME_GenericObjPointer.hh +libVISUEngineImpl_la_SOURCES = \ + VISU_Result_i.cc \ + VISUConfig.cc \ + VISU_PrsObject_i.cc \ + VISU_Prs3d_i.cc \ + VISU_ColoredPrs3d_i.cc \ + VISU_ScalarMap_i.cc \ + VISU_GaussPoints_i.cc \ + VISU_IsoSurfaces_i.cc \ + VISU_DeformedShape_i.cc \ + VISU_Plot3D_i.cc \ + VISU_CutPlanes_i.cc \ + VISU_CutLines_i.cc \ + VISU_Vectors_i.cc \ + VISU_StreamLines_i.cc \ + VISU_ScalarMapOnDeformedShape_i.cc \ + VISU_ColoredPrs3dCache_i.cc \ + VISU_ColoredPrs3dHolder_i.cc \ + VISU_ColoredPrs3dFactory.cc \ + VISU_Mesh_i.cc \ + VISU_ViewManager_i.cc \ + VISU_TimeAnimation.cxx \ + VISU_View_i.cc \ + VISU_Table_i.cc \ + VISU_Gen_i.cc \ + VISU_CorbaMedConvertor.cxx \ + VISU_DumpPython.cc \ + SALOME_GenericObjPointer.cc + +MOC_FILES = VISU_TimeAnimation_moc.cxx +nodist_libVISUEngineImpl_la_SOURCES = $(MOC_FILES) + # additionnal information to compil and link file -CPPFLAGS += \ +libVISUEngineImpl_la_CPPFLAGS = \ -ftemplate-depth-32 \ $(QT_INCLUDES) \ $(PYTHON_INCLUDES) \ - $(OCC_INCLUDES) \ + @CAS_CPPFLAGS@ @CAS_CXXFLAGS@ \ $(VTK_INCLUDES) \ $(HDF5_INCLUDES) \ $(QWT_INCLUDES) \ $(BOOST_CPPFLAGS)\ $(KERNEL_CXXFLAGS) \ $(MED_CXXFLAGS) \ - $(GUI_CXXFLAGS) + $(GUI_CXXFLAGS) \ + $(CORBA_CXXFLAGS) $(CORBA_INCLUDES) \ + -I$(srcdir)/../CONVERTOR -I$(srcdir)/../PIPELINE -I$(srcdir)/../OBJECT -I$(srcdir)/../VVTK -I$(srcdir)/../GUITOOLS \ + -I$(top_builddir)/idl \ + -I$(top_builddir)/salome_adm/unix -LDFLAGS += \ +libVISUEngineImpl_la_LDFLAGS = \ $(PYTHON_LIBS) \ $(QT_MT_LIBS) \ $(VTK_LIBS) \ $(QWT_LIBS) \ - $(BOOST_LIBS) \ + @BOOST_LIBS@ \ $(KERNEL_LDFLAGS) \ $(GUI_LDFLAGS) \ - $(MED_LDFLAGS) + $(MED_LDFLAGS) \ + ../../idl/libSalomeIDLVISU.la -LIBS+= -lboost_signals${BOOST_LIBSUFFIX} \ +libVISUEngineImpl_la_LIBADD = -lboost_signals@BOOST_LIBSUFFIX@ -lboost_thread@BOOST_LIBSUFFIX@ \ -lSalomeHDFPersist \ -lSalomeGenericObj \ -lSalomeContainer \ @@ -145,13 +540,15 @@ LIBS+= -lboost_signals${BOOST_LIBSUFFIX} \ -lVTKViewer \ -lSVTK \ -lSPlot2d \ - -lVisuConvertor \ - -lVisuPipeLine \ - -lVisuObject \ - -lVVTK \ - -lVISUGUITOOLS + ../CONVERTOR/libVisuConvertor.la \ + ../PIPELINE/libVisuPipeLine.la \ + ../OBJECT/libVisuObject.la \ + ../VVTK/libVVTK.la \ + ../GUITOOLS/libVISUGUITOOLS.la -LDFLAGSFORBIN=$(LDFLAGS) $(LIBS) \ +dist_VISU_I_SOURCES = VISU_I.cxx +VISU_I_CPPFLAGS = $(libVISUEngineImpl_la_CPPFLAGS) +VISU_I_LDADD = $(libVISUEngineImpl_la_LIBADD) $(libVISUEngineImpl_la_LDFLAGS) \ $(KERNEL_LDFLAGS) \ -lSALOMEBasics \ -lSalomeCatalog \ @@ -178,7 +575,6 @@ LDFLAGSFORBIN=$(LDFLAGS) $(LIBS) \ -lOCCViewer \ -lSUPERVGraph \ -lSOCC \ - -lVVTK \ -lPlot2d \ -lMEDWrapper \ -lMEDWrapperBase \ @@ -186,9 +582,613 @@ LDFLAGSFORBIN=$(LDFLAGS) $(LIBS) \ -lMEDWrapper_V2_1 \ -lmed_V2_1 -# additional file to be cleaned -MOSTLYCLEAN = -CLEAN = -DISTCLEAN = +all: all-am + +.SUFFIXES: +.SUFFIXES: .cc .cxx .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/adm_local/unix/make_common_starter.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ./src/VISU_I/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu ./src/VISU_I/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + else :; fi; \ + done + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libVISUEngineImpl.la: $(libVISUEngineImpl_la_OBJECTS) $(libVISUEngineImpl_la_DEPENDENCIES) + $(CXXLINK) -rpath $(libdir) $(libVISUEngineImpl_la_LDFLAGS) $(libVISUEngineImpl_la_OBJECTS) $(libVISUEngineImpl_la_LIBADD) $(LIBS) +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +VISU_I$(EXEEXT): $(VISU_I_OBJECTS) $(VISU_I_DEPENDENCIES) + @rm -f VISU_I$(EXEEXT) + $(CXXLINK) $(VISU_I_LDFLAGS) $(VISU_I_OBJECTS) $(VISU_I_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/VISU_I-VISU_I.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-SALOME_GenericObjPointer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISUConfig.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3dCache_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3dFactory.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3dHolder_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3d_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_CorbaMedConvertor.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_CutLines_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_CutPlanes_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_DeformedShape_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_DumpPython.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_GaussPoints_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_Gen_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_IsoSurfaces_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_Mesh_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_Plot3D_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_Prs3d_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_PrsObject_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_Result_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_ScalarMapOnDeformedShape_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_ScalarMap_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_StreamLines_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_Table_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_TimeAnimation.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_TimeAnimation_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_Vectors_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_ViewManager_i.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISUEngineImpl_la-VISU_View_i.Plo@am__quote@ + +.cc.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cc.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cc.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +libVISUEngineImpl_la-VISU_Result_i.lo: VISU_Result_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_Result_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_Result_i.Tpo" -c -o libVISUEngineImpl_la-VISU_Result_i.lo `test -f 'VISU_Result_i.cc' || echo '$(srcdir)/'`VISU_Result_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_Result_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_Result_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_Result_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_Result_i.cc' object='libVISUEngineImpl_la-VISU_Result_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_Result_i.lo `test -f 'VISU_Result_i.cc' || echo '$(srcdir)/'`VISU_Result_i.cc + +libVISUEngineImpl_la-VISUConfig.lo: VISUConfig.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISUConfig.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISUConfig.Tpo" -c -o libVISUEngineImpl_la-VISUConfig.lo `test -f 'VISUConfig.cc' || echo '$(srcdir)/'`VISUConfig.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISUConfig.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISUConfig.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISUConfig.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISUConfig.cc' object='libVISUEngineImpl_la-VISUConfig.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISUConfig.lo `test -f 'VISUConfig.cc' || echo '$(srcdir)/'`VISUConfig.cc + +libVISUEngineImpl_la-VISU_PrsObject_i.lo: VISU_PrsObject_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_PrsObject_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_PrsObject_i.Tpo" -c -o libVISUEngineImpl_la-VISU_PrsObject_i.lo `test -f 'VISU_PrsObject_i.cc' || echo '$(srcdir)/'`VISU_PrsObject_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_PrsObject_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_PrsObject_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_PrsObject_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_PrsObject_i.cc' object='libVISUEngineImpl_la-VISU_PrsObject_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_PrsObject_i.lo `test -f 'VISU_PrsObject_i.cc' || echo '$(srcdir)/'`VISU_PrsObject_i.cc + +libVISUEngineImpl_la-VISU_Prs3d_i.lo: VISU_Prs3d_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_Prs3d_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_Prs3d_i.Tpo" -c -o libVISUEngineImpl_la-VISU_Prs3d_i.lo `test -f 'VISU_Prs3d_i.cc' || echo '$(srcdir)/'`VISU_Prs3d_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_Prs3d_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_Prs3d_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_Prs3d_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_Prs3d_i.cc' object='libVISUEngineImpl_la-VISU_Prs3d_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_Prs3d_i.lo `test -f 'VISU_Prs3d_i.cc' || echo '$(srcdir)/'`VISU_Prs3d_i.cc + +libVISUEngineImpl_la-VISU_ColoredPrs3d_i.lo: VISU_ColoredPrs3d_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_ColoredPrs3d_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3d_i.Tpo" -c -o libVISUEngineImpl_la-VISU_ColoredPrs3d_i.lo `test -f 'VISU_ColoredPrs3d_i.cc' || echo '$(srcdir)/'`VISU_ColoredPrs3d_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3d_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3d_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3d_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_ColoredPrs3d_i.cc' object='libVISUEngineImpl_la-VISU_ColoredPrs3d_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_ColoredPrs3d_i.lo `test -f 'VISU_ColoredPrs3d_i.cc' || echo '$(srcdir)/'`VISU_ColoredPrs3d_i.cc + +libVISUEngineImpl_la-VISU_ScalarMap_i.lo: VISU_ScalarMap_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_ScalarMap_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_ScalarMap_i.Tpo" -c -o libVISUEngineImpl_la-VISU_ScalarMap_i.lo `test -f 'VISU_ScalarMap_i.cc' || echo '$(srcdir)/'`VISU_ScalarMap_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_ScalarMap_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_ScalarMap_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_ScalarMap_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_ScalarMap_i.cc' object='libVISUEngineImpl_la-VISU_ScalarMap_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_ScalarMap_i.lo `test -f 'VISU_ScalarMap_i.cc' || echo '$(srcdir)/'`VISU_ScalarMap_i.cc + +libVISUEngineImpl_la-VISU_GaussPoints_i.lo: VISU_GaussPoints_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_GaussPoints_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_GaussPoints_i.Tpo" -c -o libVISUEngineImpl_la-VISU_GaussPoints_i.lo `test -f 'VISU_GaussPoints_i.cc' || echo '$(srcdir)/'`VISU_GaussPoints_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_GaussPoints_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_GaussPoints_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_GaussPoints_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_GaussPoints_i.cc' object='libVISUEngineImpl_la-VISU_GaussPoints_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_GaussPoints_i.lo `test -f 'VISU_GaussPoints_i.cc' || echo '$(srcdir)/'`VISU_GaussPoints_i.cc + +libVISUEngineImpl_la-VISU_IsoSurfaces_i.lo: VISU_IsoSurfaces_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_IsoSurfaces_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_IsoSurfaces_i.Tpo" -c -o libVISUEngineImpl_la-VISU_IsoSurfaces_i.lo `test -f 'VISU_IsoSurfaces_i.cc' || echo '$(srcdir)/'`VISU_IsoSurfaces_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_IsoSurfaces_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_IsoSurfaces_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_IsoSurfaces_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_IsoSurfaces_i.cc' object='libVISUEngineImpl_la-VISU_IsoSurfaces_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_IsoSurfaces_i.lo `test -f 'VISU_IsoSurfaces_i.cc' || echo '$(srcdir)/'`VISU_IsoSurfaces_i.cc + +libVISUEngineImpl_la-VISU_DeformedShape_i.lo: VISU_DeformedShape_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_DeformedShape_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_DeformedShape_i.Tpo" -c -o libVISUEngineImpl_la-VISU_DeformedShape_i.lo `test -f 'VISU_DeformedShape_i.cc' || echo '$(srcdir)/'`VISU_DeformedShape_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_DeformedShape_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_DeformedShape_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_DeformedShape_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_DeformedShape_i.cc' object='libVISUEngineImpl_la-VISU_DeformedShape_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_DeformedShape_i.lo `test -f 'VISU_DeformedShape_i.cc' || echo '$(srcdir)/'`VISU_DeformedShape_i.cc + +libVISUEngineImpl_la-VISU_Plot3D_i.lo: VISU_Plot3D_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_Plot3D_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_Plot3D_i.Tpo" -c -o libVISUEngineImpl_la-VISU_Plot3D_i.lo `test -f 'VISU_Plot3D_i.cc' || echo '$(srcdir)/'`VISU_Plot3D_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_Plot3D_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_Plot3D_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_Plot3D_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_Plot3D_i.cc' object='libVISUEngineImpl_la-VISU_Plot3D_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_Plot3D_i.lo `test -f 'VISU_Plot3D_i.cc' || echo '$(srcdir)/'`VISU_Plot3D_i.cc + +libVISUEngineImpl_la-VISU_CutPlanes_i.lo: VISU_CutPlanes_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_CutPlanes_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_CutPlanes_i.Tpo" -c -o libVISUEngineImpl_la-VISU_CutPlanes_i.lo `test -f 'VISU_CutPlanes_i.cc' || echo '$(srcdir)/'`VISU_CutPlanes_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_CutPlanes_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_CutPlanes_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_CutPlanes_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_CutPlanes_i.cc' object='libVISUEngineImpl_la-VISU_CutPlanes_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_CutPlanes_i.lo `test -f 'VISU_CutPlanes_i.cc' || echo '$(srcdir)/'`VISU_CutPlanes_i.cc + +libVISUEngineImpl_la-VISU_CutLines_i.lo: VISU_CutLines_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_CutLines_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_CutLines_i.Tpo" -c -o libVISUEngineImpl_la-VISU_CutLines_i.lo `test -f 'VISU_CutLines_i.cc' || echo '$(srcdir)/'`VISU_CutLines_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_CutLines_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_CutLines_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_CutLines_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_CutLines_i.cc' object='libVISUEngineImpl_la-VISU_CutLines_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_CutLines_i.lo `test -f 'VISU_CutLines_i.cc' || echo '$(srcdir)/'`VISU_CutLines_i.cc + +libVISUEngineImpl_la-VISU_Vectors_i.lo: VISU_Vectors_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_Vectors_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_Vectors_i.Tpo" -c -o libVISUEngineImpl_la-VISU_Vectors_i.lo `test -f 'VISU_Vectors_i.cc' || echo '$(srcdir)/'`VISU_Vectors_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_Vectors_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_Vectors_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_Vectors_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_Vectors_i.cc' object='libVISUEngineImpl_la-VISU_Vectors_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_Vectors_i.lo `test -f 'VISU_Vectors_i.cc' || echo '$(srcdir)/'`VISU_Vectors_i.cc + +libVISUEngineImpl_la-VISU_StreamLines_i.lo: VISU_StreamLines_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_StreamLines_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_StreamLines_i.Tpo" -c -o libVISUEngineImpl_la-VISU_StreamLines_i.lo `test -f 'VISU_StreamLines_i.cc' || echo '$(srcdir)/'`VISU_StreamLines_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_StreamLines_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_StreamLines_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_StreamLines_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_StreamLines_i.cc' object='libVISUEngineImpl_la-VISU_StreamLines_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_StreamLines_i.lo `test -f 'VISU_StreamLines_i.cc' || echo '$(srcdir)/'`VISU_StreamLines_i.cc + +libVISUEngineImpl_la-VISU_ScalarMapOnDeformedShape_i.lo: VISU_ScalarMapOnDeformedShape_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_ScalarMapOnDeformedShape_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_ScalarMapOnDeformedShape_i.Tpo" -c -o libVISUEngineImpl_la-VISU_ScalarMapOnDeformedShape_i.lo `test -f 'VISU_ScalarMapOnDeformedShape_i.cc' || echo '$(srcdir)/'`VISU_ScalarMapOnDeformedShape_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_ScalarMapOnDeformedShape_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_ScalarMapOnDeformedShape_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_ScalarMapOnDeformedShape_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_ScalarMapOnDeformedShape_i.cc' object='libVISUEngineImpl_la-VISU_ScalarMapOnDeformedShape_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_ScalarMapOnDeformedShape_i.lo `test -f 'VISU_ScalarMapOnDeformedShape_i.cc' || echo '$(srcdir)/'`VISU_ScalarMapOnDeformedShape_i.cc + +libVISUEngineImpl_la-VISU_ColoredPrs3dCache_i.lo: VISU_ColoredPrs3dCache_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_ColoredPrs3dCache_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3dCache_i.Tpo" -c -o libVISUEngineImpl_la-VISU_ColoredPrs3dCache_i.lo `test -f 'VISU_ColoredPrs3dCache_i.cc' || echo '$(srcdir)/'`VISU_ColoredPrs3dCache_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3dCache_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3dCache_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3dCache_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_ColoredPrs3dCache_i.cc' object='libVISUEngineImpl_la-VISU_ColoredPrs3dCache_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_ColoredPrs3dCache_i.lo `test -f 'VISU_ColoredPrs3dCache_i.cc' || echo '$(srcdir)/'`VISU_ColoredPrs3dCache_i.cc + +libVISUEngineImpl_la-VISU_ColoredPrs3dHolder_i.lo: VISU_ColoredPrs3dHolder_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_ColoredPrs3dHolder_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3dHolder_i.Tpo" -c -o libVISUEngineImpl_la-VISU_ColoredPrs3dHolder_i.lo `test -f 'VISU_ColoredPrs3dHolder_i.cc' || echo '$(srcdir)/'`VISU_ColoredPrs3dHolder_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3dHolder_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3dHolder_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3dHolder_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_ColoredPrs3dHolder_i.cc' object='libVISUEngineImpl_la-VISU_ColoredPrs3dHolder_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_ColoredPrs3dHolder_i.lo `test -f 'VISU_ColoredPrs3dHolder_i.cc' || echo '$(srcdir)/'`VISU_ColoredPrs3dHolder_i.cc + +libVISUEngineImpl_la-VISU_ColoredPrs3dFactory.lo: VISU_ColoredPrs3dFactory.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_ColoredPrs3dFactory.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3dFactory.Tpo" -c -o libVISUEngineImpl_la-VISU_ColoredPrs3dFactory.lo `test -f 'VISU_ColoredPrs3dFactory.cc' || echo '$(srcdir)/'`VISU_ColoredPrs3dFactory.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3dFactory.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3dFactory.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_ColoredPrs3dFactory.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_ColoredPrs3dFactory.cc' object='libVISUEngineImpl_la-VISU_ColoredPrs3dFactory.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_ColoredPrs3dFactory.lo `test -f 'VISU_ColoredPrs3dFactory.cc' || echo '$(srcdir)/'`VISU_ColoredPrs3dFactory.cc + +libVISUEngineImpl_la-VISU_Mesh_i.lo: VISU_Mesh_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_Mesh_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_Mesh_i.Tpo" -c -o libVISUEngineImpl_la-VISU_Mesh_i.lo `test -f 'VISU_Mesh_i.cc' || echo '$(srcdir)/'`VISU_Mesh_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_Mesh_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_Mesh_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_Mesh_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_Mesh_i.cc' object='libVISUEngineImpl_la-VISU_Mesh_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_Mesh_i.lo `test -f 'VISU_Mesh_i.cc' || echo '$(srcdir)/'`VISU_Mesh_i.cc + +libVISUEngineImpl_la-VISU_ViewManager_i.lo: VISU_ViewManager_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_ViewManager_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_ViewManager_i.Tpo" -c -o libVISUEngineImpl_la-VISU_ViewManager_i.lo `test -f 'VISU_ViewManager_i.cc' || echo '$(srcdir)/'`VISU_ViewManager_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_ViewManager_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_ViewManager_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_ViewManager_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_ViewManager_i.cc' object='libVISUEngineImpl_la-VISU_ViewManager_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_ViewManager_i.lo `test -f 'VISU_ViewManager_i.cc' || echo '$(srcdir)/'`VISU_ViewManager_i.cc + +libVISUEngineImpl_la-VISU_TimeAnimation.lo: VISU_TimeAnimation.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_TimeAnimation.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_TimeAnimation.Tpo" -c -o libVISUEngineImpl_la-VISU_TimeAnimation.lo `test -f 'VISU_TimeAnimation.cxx' || echo '$(srcdir)/'`VISU_TimeAnimation.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_TimeAnimation.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_TimeAnimation.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_TimeAnimation.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_TimeAnimation.cxx' object='libVISUEngineImpl_la-VISU_TimeAnimation.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_TimeAnimation.lo `test -f 'VISU_TimeAnimation.cxx' || echo '$(srcdir)/'`VISU_TimeAnimation.cxx + +libVISUEngineImpl_la-VISU_View_i.lo: VISU_View_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_View_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_View_i.Tpo" -c -o libVISUEngineImpl_la-VISU_View_i.lo `test -f 'VISU_View_i.cc' || echo '$(srcdir)/'`VISU_View_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_View_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_View_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_View_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_View_i.cc' object='libVISUEngineImpl_la-VISU_View_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_View_i.lo `test -f 'VISU_View_i.cc' || echo '$(srcdir)/'`VISU_View_i.cc + +libVISUEngineImpl_la-VISU_Table_i.lo: VISU_Table_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_Table_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_Table_i.Tpo" -c -o libVISUEngineImpl_la-VISU_Table_i.lo `test -f 'VISU_Table_i.cc' || echo '$(srcdir)/'`VISU_Table_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_Table_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_Table_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_Table_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_Table_i.cc' object='libVISUEngineImpl_la-VISU_Table_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_Table_i.lo `test -f 'VISU_Table_i.cc' || echo '$(srcdir)/'`VISU_Table_i.cc + +libVISUEngineImpl_la-VISU_Gen_i.lo: VISU_Gen_i.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_Gen_i.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_Gen_i.Tpo" -c -o libVISUEngineImpl_la-VISU_Gen_i.lo `test -f 'VISU_Gen_i.cc' || echo '$(srcdir)/'`VISU_Gen_i.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_Gen_i.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_Gen_i.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_Gen_i.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_Gen_i.cc' object='libVISUEngineImpl_la-VISU_Gen_i.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_Gen_i.lo `test -f 'VISU_Gen_i.cc' || echo '$(srcdir)/'`VISU_Gen_i.cc + +libVISUEngineImpl_la-VISU_CorbaMedConvertor.lo: VISU_CorbaMedConvertor.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_CorbaMedConvertor.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_CorbaMedConvertor.Tpo" -c -o libVISUEngineImpl_la-VISU_CorbaMedConvertor.lo `test -f 'VISU_CorbaMedConvertor.cxx' || echo '$(srcdir)/'`VISU_CorbaMedConvertor.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_CorbaMedConvertor.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_CorbaMedConvertor.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_CorbaMedConvertor.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_CorbaMedConvertor.cxx' object='libVISUEngineImpl_la-VISU_CorbaMedConvertor.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_CorbaMedConvertor.lo `test -f 'VISU_CorbaMedConvertor.cxx' || echo '$(srcdir)/'`VISU_CorbaMedConvertor.cxx + +libVISUEngineImpl_la-VISU_DumpPython.lo: VISU_DumpPython.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_DumpPython.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_DumpPython.Tpo" -c -o libVISUEngineImpl_la-VISU_DumpPython.lo `test -f 'VISU_DumpPython.cc' || echo '$(srcdir)/'`VISU_DumpPython.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_DumpPython.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_DumpPython.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_DumpPython.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_DumpPython.cc' object='libVISUEngineImpl_la-VISU_DumpPython.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_DumpPython.lo `test -f 'VISU_DumpPython.cc' || echo '$(srcdir)/'`VISU_DumpPython.cc + +libVISUEngineImpl_la-SALOME_GenericObjPointer.lo: SALOME_GenericObjPointer.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-SALOME_GenericObjPointer.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-SALOME_GenericObjPointer.Tpo" -c -o libVISUEngineImpl_la-SALOME_GenericObjPointer.lo `test -f 'SALOME_GenericObjPointer.cc' || echo '$(srcdir)/'`SALOME_GenericObjPointer.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-SALOME_GenericObjPointer.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-SALOME_GenericObjPointer.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-SALOME_GenericObjPointer.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SALOME_GenericObjPointer.cc' object='libVISUEngineImpl_la-SALOME_GenericObjPointer.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-SALOME_GenericObjPointer.lo `test -f 'SALOME_GenericObjPointer.cc' || echo '$(srcdir)/'`SALOME_GenericObjPointer.cc + +libVISUEngineImpl_la-VISU_TimeAnimation_moc.lo: VISU_TimeAnimation_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISUEngineImpl_la-VISU_TimeAnimation_moc.lo -MD -MP -MF "$(DEPDIR)/libVISUEngineImpl_la-VISU_TimeAnimation_moc.Tpo" -c -o libVISUEngineImpl_la-VISU_TimeAnimation_moc.lo `test -f 'VISU_TimeAnimation_moc.cxx' || echo '$(srcdir)/'`VISU_TimeAnimation_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_TimeAnimation_moc.Tpo" "$(DEPDIR)/libVISUEngineImpl_la-VISU_TimeAnimation_moc.Plo"; else rm -f "$(DEPDIR)/libVISUEngineImpl_la-VISU_TimeAnimation_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_TimeAnimation_moc.cxx' object='libVISUEngineImpl_la-VISU_TimeAnimation_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISUEngineImpl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISUEngineImpl_la-VISU_TimeAnimation_moc.lo `test -f 'VISU_TimeAnimation_moc.cxx' || echo '$(srcdir)/'`VISU_TimeAnimation_moc.cxx + +VISU_I-VISU_I.o: VISU_I.cxx +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(VISU_I_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT VISU_I-VISU_I.o -MD -MP -MF "$(DEPDIR)/VISU_I-VISU_I.Tpo" -c -o VISU_I-VISU_I.o `test -f 'VISU_I.cxx' || echo '$(srcdir)/'`VISU_I.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/VISU_I-VISU_I.Tpo" "$(DEPDIR)/VISU_I-VISU_I.Po"; else rm -f "$(DEPDIR)/VISU_I-VISU_I.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_I.cxx' object='VISU_I-VISU_I.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(VISU_I_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o VISU_I-VISU_I.o `test -f 'VISU_I.cxx' || echo '$(srcdir)/'`VISU_I.cxx + +VISU_I-VISU_I.obj: VISU_I.cxx +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(VISU_I_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT VISU_I-VISU_I.obj -MD -MP -MF "$(DEPDIR)/VISU_I-VISU_I.Tpo" -c -o VISU_I-VISU_I.obj `if test -f 'VISU_I.cxx'; then $(CYGPATH_W) 'VISU_I.cxx'; else $(CYGPATH_W) '$(srcdir)/VISU_I.cxx'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/VISU_I-VISU_I.Tpo" "$(DEPDIR)/VISU_I-VISU_I.Po"; else rm -f "$(DEPDIR)/VISU_I-VISU_I.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_I.cxx' object='VISU_I-VISU_I.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(VISU_I_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o VISU_I-VISU_I.obj `if test -f 'VISU_I.cxx'; then $(CYGPATH_W) 'VISU_I.cxx'; else $(CYGPATH_W) '$(srcdir)/VISU_I.cxx'; fi` + +.cxx.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cxx.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cxx.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +install-salomeincludeHEADERS: $(salomeinclude_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(salomeincludedir)" || $(mkdir_p) "$(DESTDIR)$(salomeincludedir)" + @list='$(salomeinclude_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(salomeincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(salomeincludedir)/$$f'"; \ + $(salomeincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(salomeincludedir)/$$f"; \ + done + +uninstall-salomeincludeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(salomeinclude_HEADERS)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(salomeincludedir)/$$f'"; \ + rm -f "$(DESTDIR)$(salomeincludedir)/$$f"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(mkdir_p) $(distdir)/../../adm_local/unix + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS) +install-binPROGRAMS: install-libLTLIBRARIES + +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(salomeincludedir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \ + clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-salomeincludeHEADERS + +install-exec-am: install-binPROGRAMS install-libLTLIBRARIES + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool mostlyclean-local + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am \ + uninstall-libLTLIBRARIES uninstall-salomeincludeHEADERS + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libLTLIBRARIES clean-libtool ctags \ + distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-libLTLIBRARIES \ + install-man install-salomeincludeHEADERS install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-binPROGRAMS uninstall-info-am \ + uninstall-libLTLIBRARIES uninstall-salomeincludeHEADERS + + +# common rules + +# moc-files generation +%_moc.cxx: %.h + $(MOC) $< -o $@ + +# qm-files generation +%.qm: %.po + $(MSG2QM) $< $@ + +mostlyclean-local: + rm -f @builddir@/*_moc.cxx + rm -f @builddir@/*.qm + +# tests +tests: unittest -@CONCLUDE@ +unittest: $(UNIT_TEST_PROG) + @if test "x$(UNIT_TEST_PROG)" != "x"; then \ + $(UNIT_TEST_PROG); \ + fi; +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/VISU_I/VISUConfig.cc b/src/VISU_I/VISUConfig.cc index 81e7492d..fc30bb21 100644 --- a/src/VISU_I/VISUConfig.cc +++ b/src/VISU_I/VISUConfig.cc @@ -315,8 +315,8 @@ namespace VISU{ SALOMEDS::SObject_var aFieldSO; for(;anIter->More();anIter->Next()) { SALOMEDS::GenericAttribute_var anAttr; - if (anIter->Value()->FindAttribute(anAttr,"AttributeComment")) { - SALOMEDS::AttributeComment_var aCmnt = SALOMEDS::AttributeComment::_narrow(anAttr); + if (anIter->Value()->FindAttribute(anAttr,"AttributeString")) { + SALOMEDS::AttributeString_var aCmnt = SALOMEDS::AttributeString::_narrow(anAttr); CORBA::String_var aString = aCmnt->Value(); string aValue(aString); if (aValue == theComment) { @@ -362,8 +362,8 @@ namespace VISU{ aPRef->SetValue(thePersistentRef.c_str()); } if(theComment != ""){ - anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeComment"); - SALOMEDS::AttributeComment_var aCmnt = SALOMEDS::AttributeComment::_narrow(anAttr); + anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeString"); + SALOMEDS::AttributeString_var aCmnt = SALOMEDS::AttributeString::_narrow(anAttr); aCmnt->SetValue(theComment.c_str()); if(MYDEBUG) INFOS("CreateAttributes - Comment = "<SetValue(thePersistentRef); } if (theComment != "") { - anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeComment"); - _PTR(AttributeComment) aCmnt (anAttr); + anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeString"); + _PTR(AttributeString) aCmnt (anAttr); aCmnt->SetValue(theComment); if (MYDEBUG) INFOS("CreateAttributes - Comment = " << theComment); } diff --git a/src/VISU_I/VISUConfig.hh b/src/VISU_I/VISUConfig.hh index 5464c505..48aeae5f 100644 --- a/src/VISU_I/VISUConfig.hh +++ b/src/VISU_I/VISUConfig.hh @@ -27,6 +27,8 @@ #ifndef __VISU_CONFIG_H__ #define __VISU_CONFIG_H__ +#include "VISU_I.hxx" + // IDL headers #include "SALOMEconfig.h" #include CORBA_SERVER_HEADER(VISU_Gen) @@ -65,14 +67,14 @@ class SUIT_ResourceMgr; namespace VISU { - SUIT_Session *GetSession(); - SUIT_ResourceMgr *GetResourceMgr(); + VISU_I_EXPORT SUIT_Session *GetSession(); + VISU_I_EXPORT SUIT_ResourceMgr *GetResourceMgr(); //=========================================================================== class VISU_Gen_i; - class Base_i : public virtual POA_VISU::Base, + class VISU_I_EXPORT Base_i : public virtual POA_VISU::Base, public virtual PortableServer::RefCountServantBase { public: @@ -104,7 +106,7 @@ namespace VISU //=========================================================================== - class Mutex{ + class VISU_I_EXPORT Mutex{ QMutex* myMutex; int isQAppLocked; public: @@ -114,7 +116,7 @@ namespace VISU //=========================================================================== - class Storable : public virtual Base_i { + class VISU_I_EXPORT Storable : public virtual Base_i { protected: virtual void ToStream(std::ostringstream& theStr) = 0; public: @@ -184,16 +186,35 @@ namespace VISU }; //=========================================================================== - const CORBA::Boolean IsMultifile(); - QString GenerateName(const std::string& theFmt, int theId); + VISU_I_EXPORT + const CORBA::Boolean + IsMultifile(); + + VISU_I_EXPORT + QString + GenerateName(const std::string& theFmt, int theId); + + VISU_I_EXPORT + PortableServer::ServantBase_var + GetServant(CORBA::Object_ptr theObject); + + VISU_I_EXPORT + CORBA::Object_var + ClientSObjectToObject(_PTR(SObject) theSObject); + + VISU_I_EXPORT + CORBA::Object_var + SObjectToObject(SALOMEDS::SObject_ptr); - PortableServer::ServantBase_var GetServant(CORBA::Object_ptr theObject); - CORBA::Object_var ClientSObjectToObject(_PTR(SObject) theSObject); - CORBA::Object_var SObjectToObject(SALOMEDS::SObject_ptr); + VISU_I_EXPORT + _PTR(SComponent) + ClientFindOrCreateVisuComponent(_PTR(Study) theStudyDocument); - _PTR(SComponent) ClientFindOrCreateVisuComponent(_PTR(Study) theStudyDocument); - SALOMEDS::SComponent_var FindOrCreateVisuComponent(SALOMEDS::Study_ptr theStudyDocument); + VISU_I_EXPORT + SALOMEDS::SComponent_var + FindOrCreateVisuComponent(SALOMEDS::Study_ptr theStudyDocument); + VISU_I_EXPORT std::string CreateAttributes(SALOMEDS::Study_ptr theStudyDocument, const std::string& theFatherEntry, @@ -204,6 +225,7 @@ namespace VISU const std::string& theComment, CORBA::Boolean theCreateNew = true); + VISU_I_EXPORT std::string CreateAttributes(_PTR(Study) theStudyDocument, const std::string& theFatherEntry, @@ -214,25 +236,31 @@ namespace VISU const std::string& theComment, CORBA::Boolean theCreateNew = true); + VISU_I_EXPORT std::string FindEntryWithComment(SALOMEDS::Study_ptr theStudyDocument, const std::string& theStartEntry, const std::string& theComment, int IsAllLevels = true); + VISU_I_EXPORT SALOMEDS::SObject_var GetSObject(_PTR(SObject)); + VISU_I_EXPORT _PTR(SObject) GetClientSObject(SALOMEDS::SObject_var, _PTR(Study)); + VISU_I_EXPORT SALOMEDS::Study_var GetDSStudy(_PTR(Study)); + VISU_I_EXPORT void RemoveFromStudy(SALOMEDS::SObject_ptr theSObject, bool theIsAttrOnly = true, bool theDestroySubObjects = false); + VISU_I_EXPORT void RemoveFromStudy(_PTR(SObject) theSObject, bool theIsAttrOnly = true, diff --git a/src/VISU_I/VISU_ColoredPrs3d_i.cc b/src/VISU_I/VISU_ColoredPrs3d_i.cc index 02a20b45..fa9ef352 100644 --- a/src/VISU_I/VISU_ColoredPrs3d_i.cc +++ b/src/VISU_I/VISU_ColoredPrs3d_i.cc @@ -45,7 +45,34 @@ static int MYDEBUG = 0; #endif -//============================================================================ +//--------------------------------------------------------------- +namespace +{ + std::string + FindOrCreate3DPresentationsFolder(SALOMEDS::Study_ptr theStudy) + { + static char aFolderName[] = "3D Presentations"; + CORBA::String_var anEntry; + SALOMEDS::SObject_var aSObject = theStudy->FindObject(aFolderName); + if(!CORBA::is_nil(aSObject) && aSObject->Depth() == 3){ + anEntry = aSObject->GetID(); + return anEntry.in(); + } + SALOMEDS::SComponent_var aSComponent = VISU::FindOrCreateVisuComponent(theStudy); + CORBA::String_var aFatherEntry = aSComponent->GetID(); + anEntry = VISU::CreateAttributes(theStudy, + aFatherEntry.in(), + "", + "", + aFolderName, + "", + "", + true).c_str(); + return anEntry.in(); + } +} + +//--------------------------------------------------------------- VISU::ColoredPrs3d_i:: ColoredPrs3d_i(EPublishInStudyMode thePublishInStudyMode) : myPublishInStudyMode(thePublishInStudyMode), @@ -1152,30 +1179,8 @@ VISU::ColoredPrs3d_i } //---------------------------------------------------------------------------- -std::string -VISU::FindOrCreate3DPresentationsFolder(SALOMEDS::Study_ptr theStudy) -{ - static char aFolderName[] = "3D Presentations"; - CORBA::String_var anEntry; - SALOMEDS::SObject_var aSObject = theStudy->FindObject(aFolderName); - if(!CORBA::is_nil(aSObject) && aSObject->Depth() == 3){ - anEntry = aSObject->GetID(); - return anEntry.in(); - } - SALOMEDS::SComponent_var aSComponent = VISU::FindOrCreateVisuComponent(theStudy); - CORBA::String_var aFatherEntry = aSComponent->GetID(); - anEntry = VISU::CreateAttributes(theStudy, - aFatherEntry.in(), - "", - "", - aFolderName, - "", - "", - true).c_str(); - return anEntry.in(); -} -//---------------------------------------------------------------------------- + VISU::Storable* VISU::ColoredPrs3d_i ::Build(EBuildMode theBuildMode) @@ -1230,7 +1235,7 @@ VISU::ColoredPrs3d_i }else if(myPublishInStudyMode == EPublishIndependently){ SetName(GenerateName().latin1(), false); CORBA::String_var anIOR = GetID(); - std::string aFatherEntry = VISU::FindOrCreate3DPresentationsFolder(GetStudyDocument()); + std::string aFatherEntry = ::FindOrCreate3DPresentationsFolder(GetStudyDocument()); aComment.sprintf("myComment=%s", GetComment()); CreateAttributes(GetStudyDocument(), diff --git a/src/VISU_I/VISU_ColoredPrs3d_i.hh b/src/VISU_I/VISU_ColoredPrs3d_i.hh index 1115bbef..5426ac7f 100644 --- a/src/VISU_I/VISU_ColoredPrs3d_i.hh +++ b/src/VISU_I/VISU_ColoredPrs3d_i.hh @@ -20,7 +20,7 @@ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // // -// File : VISU_PrsObject_i.hxx +// File : VISU_ColoredPrs3d_i.hh // Author : Alexey PETROV // Module : VISU @@ -33,15 +33,12 @@ class VISU_ColoredPL; namespace VISU { - std::string - FindOrCreate3DPresentationsFolder(SALOMEDS::Study_ptr theStudy); - - //============================================================================ - class ColoredPrs3d_i : public virtual POA_VISU::ColoredPrs3d, - public virtual Prs3d_i + //---------------------------------------------------------------------------- + class VISU_I_EXPORT ColoredPrs3d_i : public virtual POA_VISU::ColoredPrs3d, + public virtual Prs3d_i { - ColoredPrs3d_i(); ColoredPrs3d_i(const ColoredPrs3d_i&); + public: //---------------------------------------------------------------------------- typedef Prs3d_i TSuperClass; @@ -387,6 +384,10 @@ namespace VISU bool CheckIsPossible() = 0; + virtual + const char* + GetIconName() = 0; + /*! Creates proper instance of VTK pipeline. */ diff --git a/src/VISU_I/VISU_CorbaMedConvertor.cxx b/src/VISU_I/VISU_CorbaMedConvertor.cxx index dd78ea91..77f45e2e 100644 --- a/src/VISU_I/VISU_CorbaMedConvertor.cxx +++ b/src/VISU_I/VISU_CorbaMedConvertor.cxx @@ -34,8 +34,8 @@ #include -using namespace std; -using namespace VISU; +#include "ReceiverFactory.hxx" +#include "MED_SliceArray.hxx" #define USER_INTERLACE MED_FULL_INTERLACE @@ -61,64 +61,74 @@ extern "C" { namespace { - using namespace SALOME_MED; + const int MED_NBR_GEOMETRIE_MAILLE = 17; - const int MED_NBR_GEOMETRIE_MAILLE = 15; - - medGeometryElement + SALOME_MED::medGeometryElement CELLGEOM[MED_NBR_GEOMETRIE_MAILLE] = { - MED_POINT1, - MED_SEG2, - MED_SEG3, - MED_TRIA3, - MED_QUAD4, - MED_TRIA6, - MED_QUAD8, - MED_TETRA4, - MED_PYRA5, - MED_PENTA6, - MED_HEXA8, - MED_TETRA10, - MED_PYRA13, - MED_PENTA15, - MED_HEXA20 + SALOME_MED::MED_POINT1, + SALOME_MED::MED_SEG2, + SALOME_MED::MED_SEG3, + SALOME_MED::MED_TRIA3, + SALOME_MED::MED_QUAD4, + SALOME_MED::MED_TRIA6, + SALOME_MED::MED_QUAD8, + SALOME_MED::MED_TETRA4, + SALOME_MED::MED_PYRA5, + SALOME_MED::MED_PENTA6, + SALOME_MED::MED_HEXA8, + SALOME_MED::MED_TETRA10, + SALOME_MED::MED_PYRA13, + SALOME_MED::MED_PENTA15, + SALOME_MED::MED_HEXA20, + SALOME_MED::MED_POLYGON, + SALOME_MED::MED_POLYHEDRA }; - const int MED_NBR_GEOMETRIE_FACE = 4; + const int MED_NBR_GEOMETRIE_FACE = 5; - medGeometryElement + SALOME_MED::medGeometryElement FACEGEOM[MED_NBR_GEOMETRIE_FACE] = { - MED_TRIA3, - MED_QUAD4, - MED_TRIA6, - MED_QUAD8 + SALOME_MED::MED_TRIA3, + SALOME_MED::MED_QUAD4, + SALOME_MED::MED_TRIA6, + SALOME_MED::MED_QUAD8, + SALOME_MED::MED_POLYGON }; const int MED_NBR_GEOMETRIE_ARETE = 2; - medGeometryElement + SALOME_MED::medGeometryElement EDGEGEOM[MED_NBR_GEOMETRIE_ARETE] = { - MED_SEG2, - MED_SEG3 + SALOME_MED::MED_SEG2, + SALOME_MED::MED_SEG3 }; const int MED_NBR_GEOMETRIE_NODE = 1; - medGeometryElement + SALOME_MED::medGeometryElement NODEGEOM[MED_NBR_GEOMETRIE_NODE] = { - MED_POINT1, + SALOME_MED::MED_POINT1, }; //--------------------------------------------------------------- int - GetEntity2Geom(const VISU::TEntity& theEntity, medGeometryElement*& theVector) + GetEntity2Geom(const VISU::TEntity& theEntity, + SALOME_MED::medGeometryElement*& theVector) { switch(theEntity){ - case CELL_ENTITY: theVector = CELLGEOM; return MED_NBR_GEOMETRIE_MAILLE; break; - case FACE_ENTITY: theVector = FACEGEOM; return MED_NBR_GEOMETRIE_FACE; break; - case EDGE_ENTITY: theVector = EDGEGEOM; return MED_NBR_GEOMETRIE_ARETE; break; - case NODE_ENTITY: theVector = NODEGEOM; return MED_NBR_GEOMETRIE_NODE; break; + case VISU::CELL_ENTITY: + theVector = CELLGEOM; + return MED_NBR_GEOMETRIE_MAILLE; + case VISU::FACE_ENTITY: + theVector = FACEGEOM; + return MED_NBR_GEOMETRIE_FACE; + case VISU::EDGE_ENTITY: + theVector = EDGEGEOM; + return MED_NBR_GEOMETRIE_ARETE; + case VISU::NODE_ENTITY: + theVector = NODEGEOM; + return MED_NBR_GEOMETRIE_NODE; } return -1; } @@ -129,22 +139,38 @@ namespace MEDGeom2NbNodes(int theMEDGeomType) { switch(theMEDGeomType){ - case MED_NONE: return 0; - case MED_POINT1: return 1; - case MED_SEG2: return 2; - case MED_SEG3: return 3; - case MED_TRIA3: return 3; - case MED_TRIA6: return 6; - case MED_QUAD4: return 4; - case MED_QUAD8: return 8; - case MED_TETRA4: return 4; - case MED_TETRA10: return 10; - case MED_HEXA8: return 8; - case MED_HEXA20: return 20; - case MED_PENTA6: return 6; - case MED_PENTA15: return 15; - case MED_PYRA5: return 5; - case MED_PYRA13: return 13; + case SALOME_MED::MED_NONE: + return 0; + case SALOME_MED::MED_POINT1: + return 1; + case SALOME_MED::MED_SEG2: + return 2; + case SALOME_MED::MED_SEG3: + return 3; + case SALOME_MED::MED_TRIA3: + return 3; + case SALOME_MED::MED_TRIA6: + return 6; + case SALOME_MED::MED_QUAD4: + return 4; + case SALOME_MED::MED_QUAD8: + return 8; + case SALOME_MED::MED_TETRA4: + return 4; + case SALOME_MED::MED_TETRA10: + return 10; + case SALOME_MED::MED_HEXA8: + return 8; + case SALOME_MED::MED_HEXA20: + return 20; + case SALOME_MED::MED_PENTA6: + return 6; + case SALOME_MED::MED_PENTA15: + return 15; + case SALOME_MED::MED_PYRA5: + return 5; + case SALOME_MED::MED_PYRA13: + return 13; } return -1; } @@ -152,70 +178,150 @@ namespace //--------------------------------------------------------------- VISU::EGeometry - MEDGeom2VISU(medGeometryElement theGeom) + MEDGeom2VISU(SALOME_MED::medGeometryElement theGeom) { switch(theGeom){ - case MED_POINT1: return VISU::ePOINT1; - case MED_SEG2: return VISU::eSEG2; - case MED_SEG3: return VISU::eSEG3; - case MED_TRIA3: return VISU::eTRIA3; - case MED_TRIA6: return VISU::eTRIA6; - case MED_QUAD4: return VISU::eQUAD4; - case MED_QUAD8: return VISU::eQUAD8; - case MED_TETRA4: return VISU::eTETRA4; - case MED_TETRA10: return VISU::eTETRA10; - case MED_HEXA8: return VISU::eHEXA8; - case MED_HEXA20: return VISU::eHEXA20; - case MED_PENTA6: return VISU::ePENTA6; - case MED_PENTA15: return VISU::ePENTA15; - case MED_PYRA5: return VISU::ePYRA5; - case MED_PYRA13: return VISU::ePYRA13; + case SALOME_MED::MED_POINT1: + return VISU::ePOINT1; + case SALOME_MED::MED_SEG2: + return VISU::eSEG2; + case SALOME_MED::MED_SEG3: + return VISU::eSEG3; + case SALOME_MED::MED_TRIA3: + return VISU::eTRIA3; + case SALOME_MED::MED_TRIA6: + return VISU::eTRIA6; + case SALOME_MED::MED_QUAD4: + return VISU::eQUAD4; + case SALOME_MED::MED_QUAD8: + return VISU::eQUAD8; + case SALOME_MED::MED_TETRA4: + return VISU::eTETRA4; + case SALOME_MED::MED_TETRA10: + return VISU::eTETRA10; + case SALOME_MED::MED_HEXA8: + return VISU::eHEXA8; + case SALOME_MED::MED_HEXA20: + return VISU::eHEXA20; + case SALOME_MED::MED_PENTA6: + return VISU::ePENTA6; + case SALOME_MED::MED_PENTA15: + return VISU::ePENTA15; + case SALOME_MED::MED_PYRA5: + return VISU::ePYRA5; + case SALOME_MED::MED_PYRA13: + return VISU::ePYRA13; + case SALOME_MED::MED_POLYGON: + return VISU::ePOLYGONE; + case SALOME_MED::MED_POLYHEDRA: + return VISU::ePOLYEDRE; } return VISU::eNONE; } + //--------------------------------------------------------------- + SALOME_MED::medGeometryElement + VISUGeomToMED(int theGeom) + { + switch(theGeom){ + case VISU::ePOINT1: + return SALOME_MED::MED_POINT1; + case VISU::eSEG2: + return SALOME_MED::MED_SEG2; + case VISU::eTRIA3: + return SALOME_MED::MED_TRIA3; + case VISU::eQUAD4: + return SALOME_MED::MED_QUAD4; + case VISU::eTETRA4: + return SALOME_MED::MED_TETRA4; + case VISU::eHEXA8: + return SALOME_MED::MED_HEXA8; + case VISU::ePENTA6: + return SALOME_MED::MED_PENTA6; + case VISU::ePYRA5: + return SALOME_MED::MED_PYRA5; + + case VISU::eSEG3: + return SALOME_MED::MED_SEG3; + case VISU::eTRIA6: + return SALOME_MED::MED_TRIA6; + case VISU::eQUAD8: + return SALOME_MED::MED_QUAD8; + case VISU::eTETRA10: + return SALOME_MED::MED_TETRA10; + case VISU::eHEXA20: + return SALOME_MED::MED_HEXA20; + case VISU::ePENTA15: + return SALOME_MED::MED_PENTA15; + case VISU::ePYRA13: + return SALOME_MED::MED_PYRA13; + case VISU::ePOLYGONE: + return SALOME_MED::MED_POLYGON; + case VISU::ePOLYEDRE: + return SALOME_MED::MED_POLYHEDRA; + } + return SALOME_MED::medGeometryElement(-1); + } //--------------------------------------------------------------- - medGeometryElement + SALOME_MED::medGeometryElement VTKGeomToMED(int theVTKGeomType) { switch(theVTKGeomType){ - case VTK_VERTEX: return MED_POINT1; - case VTK_LINE: return MED_SEG2; - case VTK_TRIANGLE: return MED_TRIA3; - case VTK_QUAD: return MED_QUAD4; - case VTK_TETRA: return MED_TETRA4; - case VTK_HEXAHEDRON: return MED_HEXA8; - case VTK_WEDGE: return MED_PENTA6; - case VTK_PYRAMID: return MED_PYRA5; + case VTK_VERTEX: + return SALOME_MED::MED_POINT1; + case VTK_LINE: + return SALOME_MED::MED_SEG2; + case VTK_TRIANGLE: + return SALOME_MED::MED_TRIA3; + case VTK_QUAD: + return SALOME_MED::MED_QUAD4; + case VTK_TETRA: + return SALOME_MED::MED_TETRA4; + case VTK_HEXAHEDRON: + return SALOME_MED::MED_HEXA8; + case VTK_WEDGE: + return SALOME_MED::MED_PENTA6; + case VTK_PYRAMID: + return SALOME_MED::MED_PYRA5; + case VTK_POLYGON: + return SALOME_MED::MED_POLYGON; } - return medGeometryElement(-1); + return SALOME_MED::medGeometryElement(-1); } //--------------------------------------------------------------- VISU::TEntity - MEDEntityToVTK(medEntityMesh theMEDEntity) + MEDEntityToVTK(SALOME_MED::medEntityMesh theMEDEntity) { switch(theMEDEntity){ - case MED_NODE: return NODE_ENTITY; - case MED_EDGE: return EDGE_ENTITY; - case MED_FACE: return FACE_ENTITY; - case MED_CELL: return CELL_ENTITY; + case SALOME_MED::MED_NODE: + return VISU::NODE_ENTITY; + case SALOME_MED::MED_EDGE: + return VISU::EDGE_ENTITY; + case SALOME_MED::MED_FACE: + return VISU::FACE_ENTITY; + case SALOME_MED::MED_CELL: + return VISU::CELL_ENTITY; } return VISU::TEntity(-1); } //--------------------------------------------------------------- - medEntityMesh + SALOME_MED::medEntityMesh VTKEntityToMED(VISU::TEntity theVTKEntity) { switch(theVTKEntity){ - case NODE_ENTITY: return MED_NODE; - case EDGE_ENTITY: return MED_EDGE; - case FACE_ENTITY: return MED_FACE; - case CELL_ENTITY: return MED_CELL; + case VISU::NODE_ENTITY: + return SALOME_MED::MED_NODE; + case VISU::EDGE_ENTITY: + return SALOME_MED::MED_EDGE; + case VISU::FACE_ENTITY: + return SALOME_MED::MED_FACE; + case VISU::CELL_ENTITY: + return SALOME_MED::MED_CELL; } - return medEntityMesh(-1); + return SALOME_MED::medEntityMesh(-1); } @@ -240,17 +346,16 @@ namespace SALOME_MED::MESH_ptr theMEDMesh, const VISU::TEntity& theVEntity) { - medGeometryElement* aGeomElems; theNbCells = theCellsSize = 0; - int iGeomEnd = GetEntity2Geom(theVEntity,aGeomElems); - const medEntityMesh& aMEntity = VTKEntityToMED(theVEntity); if(MYDEBUG) MESSAGE("GetCellsSize - theVEntity = "<getConnectGlobal(aMEntity); + int iGeomEnd = connInfo->meshTypes.length(); for(int iGeom = 0; iGeom < iGeomEnd; iGeom++){ - medGeometryElement aMEDGeom = aGeomElems[iGeom]; - int iNumElemEnd = theMEDMesh->getNumberOfElements(aMEntity,aMEDGeom); + int iNumElemEnd = connInfo->numberOfElements[iGeom]; if(iNumElemEnd > 0){ if(MYDEBUG) MESSAGE("GetCellsSize - iNumElemEnd = "<nodalConnectivityLength[iGeom]; theNbCells += iNumElemEnd; } } @@ -263,18 +368,16 @@ namespace vtkIdType& theCellsSize, SALOME_MED::FAMILY_ptr theMEDFamily) { - medGeometryElement_array_var aGeom = theMEDFamily->getTypes(); - int iGeomEnd = aGeom->length(); theNbCells = theCellsSize = 0; + SALOME_MED::SUPPORT::supportInfos_var suppInfo=theMEDFamily->getSupportGlobal(); + int iGeomEnd = suppInfo->types.length(); if(MYDEBUG) MESSAGE("GetCellsSize - iGeomEnd = "<getNumber(aMEDGeom); - int iNumElemEnd = aCellNumForType->length(); + int iNumElemEnd = suppInfo->nbEltTypes[iGeom]; if(iNumElemEnd > 0){ if(MYDEBUG) MESSAGE("GetCellsSize - iNumElemEnd = "<nodalConnectivityLength[iGeom]; } } } @@ -286,9 +389,9 @@ namespace SALOME_MED::MESH_ptr theMEDMesh, const VISU::TEntity& theEntity) { - TMeshOnEntityMap& aMeshOnEntityMap = theMesh->myMeshOnEntityMap; + VISU::TMeshOnEntityMap& aMeshOnEntityMap = theMesh->myMeshOnEntityMap; VISU::PCMeshOnEntity aMeshOnEntity = aMeshOnEntityMap[theEntity]; - if(theEntity == NODE_ENTITY){ + if(theEntity == VISU::NODE_ENTITY){ aMeshOnEntity->myNbCells = theMesh->myNbPoints; aMeshOnEntity->myCellsSize = 2*theMesh->myNbPoints; }else{ @@ -298,16 +401,16 @@ namespace //--------------------------------------------------------------- - PCMeshOnEntity + VISU::PCMeshOnEntity InitMeshOnEntity(const VISU::PCMesh& theMesh, const VISU::TEntity& theEntity, const VISU::PCMeshOnEntity& theMeshOnEntity) { - PCMeshOnEntity aMeshOnEntity; - TMeshOnEntityMap& aMeshOnEntityMap = theMesh->myMeshOnEntityMap; - TMeshOnEntityMap::const_iterator anIter = aMeshOnEntityMap.find(theEntity); + VISU::PCMeshOnEntity aMeshOnEntity; + VISU::TMeshOnEntityMap& aMeshOnEntityMap = theMesh->myMeshOnEntityMap; + VISU::TMeshOnEntityMap::const_iterator anIter = aMeshOnEntityMap.find(theEntity); if(anIter == aMeshOnEntityMap.end()){ - aMeshOnEntity.reset(new TCMeshOnEntity()); + aMeshOnEntity.reset(new VISU::TCMeshOnEntity()); *aMeshOnEntity = *theMeshOnEntity; aMeshOnEntity->myEntity = theEntity; aMeshOnEntityMap[theEntity] = aMeshOnEntity; @@ -318,13 +421,209 @@ namespace return aMeshOnEntity; } - + + + VISU::PCSubProfile + CrSubProfile(const VISU::PCMesh theMesh, + const VISU::PCField theField, + const VISU::TCMeshOnEntity& theMeshOnEntity, + SALOME_MED::medGeometryElement theMGeom, + int theNbElems) + { + if (MYDEBUG) MESSAGE("CrSubProfile"); + VISU::EGeometry aEGeom = MEDGeom2VISU(theMGeom); + vtkIdType aVNbNodes = VISUGeom2NbNodes(aEGeom); + + VISU::PCSubProfile aSubProfile(new VISU::TCSubProfile()); + aSubProfile->myGeom = aEGeom; + aSubProfile->myMGeom = theMGeom; + aSubProfile->myStatus = VISU::eAddAll; + if(MYDEBUG) MESSAGE("theMGeom = "<myStatus = VISU::eRemoveAll; + else if(aTimeStampIter == aCellsFirstIndex.end() && theMGeom == SALOME_MED::MED_POINT1){ + if(theNbElems > 0){ + aSubProfile->myName = ""; + aSubProfile->myStatus = VISU::eAddPart; + + aSubProfile->myNbCells = theNbElems; + aSubProfile->myCellsSize = aSubProfile->myNbCells; + } + }else{ + if(theNbElems > 0){ + aSubProfile->myName = ""; + aSubProfile->myStatus = VISU::eAddPart; + + aSubProfile->myNbCells = theNbElems; + aSubProfile->myCellsSize = aSubProfile->myNbCells*aVNbNodes; + } + } + + if (MYDEBUG) MESSAGE("CrSubProfile done"); + return aSubProfile; + } + + VISU::TProfileKey + GetProfileKey(const VISU::PCMesh theMesh, + const VISU::PCField theField, + const VISU::PCValForTime theValForTime, + const VISU::TCMeshOnEntity& theMeshOnEntity) + { + if (MYDEBUG) MESSAGE("GetProfileKey"); + + VISU::TProfileKey aProfileKey; + + const VISU::TCellsFirstIndex& aFirstIndex = theMeshOnEntity.myCellsFirstIndex; + VISU::TCellsFirstIndex::const_iterator anIter = aFirstIndex.begin(); + SALOME_MED::SUPPORT_var aSupport = theValForTime->myField->getSupport(); + int aNbElems = 0; + if(anIter == aFirstIndex.end() && aSupport->getEntity() == SALOME_MED::MED_NODE){ + SALOME_MED::medGeometryElement aMGeom = SALOME_MED::MED_POINT1; + try{ + aNbElems = aSupport->getNumberOfElements(SALOME_MED::MED_NONE); + if(MYDEBUG)MESSAGE("aMGeom="<myField->getSupport()->getNumberOfElements(aMGeom);"); + } + + VISU::PCSubProfile aSubProfile = CrSubProfile(theMesh, + theField, + theMeshOnEntity, + aMGeom, + aNbElems); + aProfileKey.insert(aSubProfile); + } + + for(; anIter != aFirstIndex.end(); anIter++){ + SALOME_MED::medGeometryElement aMGeom = anIter->first; + try{ + aNbElems = aSupport->getNumberOfElements(aMGeom); + if(MYDEBUG)MESSAGE("aMGeom="<myField->getSupport()->getNumberOfElements(aMGeom);"); + continue; + } + VISU::PCSubProfile aSubProfile = CrSubProfile(theMesh, + theField, + theMeshOnEntity, + aMGeom, + aNbElems); + aProfileKey.insert(aSubProfile); + } + + if (MYDEBUG) MESSAGE("GetProfileKey done"); + return aProfileKey; + } + + void + InitProfile(VISU::PCMesh theMesh, + VISU::PCField theField, + VISU::PCValForTime theValForTime, + VISU::TCMeshOnEntity& theMeshOnEntity) + { + if (MYDEBUG) MESSAGE("InitProfile"); + + VISU::TProfileMap& aProfileMap = theMeshOnEntity.myProfileMap; + + VISU::TProfileKey aProfileKey = GetProfileKey(theMesh, + theField, + theValForTime, + theMeshOnEntity); + + VISU::TProfileMap::const_iterator anIter = aProfileMap.find(aProfileKey); + if(anIter != aProfileMap.end()){ + theValForTime->myProfile = anIter->second; + if(MYDEBUG) MESSAGE("aProfileMap.find(aProfileKey) aProfile->myGeom="); + }else{ + VISU::PCProfile aProfile(new VISU::TCProfile()); + VISU::TGeom2SubProfile& aGeom2SubProfile = aProfile->myGeom2SubProfile; + + VISU::TProfileKey::const_iterator anIter = aProfileKey.begin(); + for(; anIter != aProfileKey.end(); anIter++){ + VISU::PCSubProfile aSubProfile(*anIter); + + if(aProfile->myIsAll && aSubProfile->myStatus != VISU::eAddAll) + aProfile->myIsAll = false; + + VISU::EGeometry aEGeom = aSubProfile->myGeom; + aGeom2SubProfile[aEGeom] = aSubProfile; + } + + aProfileMap[aProfileKey] = aProfile; + theValForTime->myProfile = aProfile; + } + if (MYDEBUG) MESSAGE("InitProfile done"); + } + + void + LoadProfile(VISU::PCMesh theMesh, + VISU::PCField theField, + VISU::PCValForTime theValForTime, + VISU::PCMeshOnEntity theMeshOnEntity) + { + VISU::PCProfile aProfile = theValForTime->myProfile; + if (MYDEBUG) MESSAGE("LoadProfile aProfile->myIsDone="<myIsDone); + if(aProfile->myIsDone) + return; + + const VISU::TGeom2SubProfile& aGeom2SubProfile = aProfile->myGeom2SubProfile; + VISU::TGeom2SubProfile::const_iterator aGeom2SubProfileIter = aGeom2SubProfile.begin(); + if(aGeom2SubProfileIter == aGeom2SubProfile.end()){ + MESSAGE("Warning! No geom 2 sub profile"); + } + SALOME_MED::SUPPORT_var aSupport = theValForTime->myField->getSupport(); + for(; aGeom2SubProfileIter != aGeom2SubProfile.end(); aGeom2SubProfileIter++){ + VISU::EGeometry aEGeom = aGeom2SubProfileIter->first; + SALOME_MED::medGeometryElement aMGeom = VISUGeomToMED(aEGeom); + VISU::PCSubProfile aSubProfile = aGeom2SubProfileIter->second; + SALOME_MED::long_array_var aGeom2ProfileIds; + std::vector aGeom2Profile; + if(!aSupport->isOnAllElements()){ + try{ + if(aMGeom == SALOME_MED::MED_POINT1) + aGeom2ProfileIds = aSupport->getNumberFromFile(SALOME_MED::MED_NONE); + else + aGeom2ProfileIds = aSupport->getNumberFromFile(aMGeom); + int aLen = aGeom2ProfileIds->length(); + if(MYDEBUG) MESSAGE(" - aMGeom="<" << anId << endl; + } + if(MYDEBUG) cout << endl; + } catch(...) { + continue; + } + } else { + SALOME_MED::medEntityMesh aMEntity = aSupport->getEntity(); + int aNbElems = theMesh->myMesh->getNumberOfElements(aMEntity,aMGeom); + for(int i = 0; i < aNbElems; i++) + aGeom2Profile.push_back(i+1); + } + if(aGeom2Profile.size()>0){ + VISU::TSubMeshID& aSubMeshID = aSubProfile->mySubMeshID; + int aSize = aGeom2Profile.size(); + aSubMeshID.resize(aSize); + for(int anId = 0; anId < aSize; anId++){ + aSubMeshID[anId] = aGeom2Profile[anId] - 1; + } + } + } + + aProfile->myIsDone = true; + if (MYDEBUG) MESSAGE("LoadProfile done"); + } } //--------------------------------------------------------------- VISU_Convertor* -VISU_MEDFieldConvertor::Build() +VISU_MEDFieldConvertor +::Build() { if(myField->_is_nil()) throw std::runtime_error("VISU_MEDFieldConvertor::Build >> myField->_is_nil() !!!"); @@ -334,7 +633,7 @@ VISU_MEDFieldConvertor::Build() throw std::runtime_error("VISU_MEDFieldConvertor::Build >> aMEDSupport->_is_nil() !!!"); SALOME_MED::medEntityMesh aMEntity = aMEDSupport->getEntity(); - TEntity aVEntity = MEDEntityToVTK(aMEntity); + VISU::TEntity aVEntity = MEDEntityToVTK(aMEntity); SALOME_MED::MESH_var aMEDMesh = aMEDSupport->getMesh(); if(aMEDMesh->_is_nil()) throw std::runtime_error("VISU_MEDFieldConvertor::Build >> aMEDMesh->_is_nil() !!!"); @@ -342,8 +641,8 @@ VISU_MEDFieldConvertor::Build() CORBA::String_var aMeshName = aMEDMesh->getName(); CORBA::String_var aFieldName = myField->getName(); - PCMesh aMesh = myMeshMap[aMeshName.in()](new TCMesh()); - aMesh->myNamedPointCoords(new TNamedPointCoords()); + VISU::PCMesh aMesh = myMeshMap[aMeshName.in()](new VISU::TCMesh()); + aMesh->myNamedPointCoords(new VISU::TNamedPointCoords()); aMesh->myNbPoints = aMEDMesh->getNumberOfNodes(); aMesh->myDim = aMEDMesh->getSpaceDimension(); aMesh->myName = aMeshName.in(); @@ -351,21 +650,21 @@ VISU_MEDFieldConvertor::Build() if(MYDEBUG) MESSAGE("VISU_MEDFieldConvertor::Build - aMeshName = "<myTime = VISU::TTime(aDT,""); aValForTime->myField = myField; if(MYDEBUG) @@ -398,7 +697,8 @@ VISU_MEDFieldConvertor::Build() //--------------------------------------------------------------- VISU_Convertor* -VISU_MEDConvertor::Build() +VISU_MEDConvertor +::Build() { if(mySObject->_is_nil()) throw std::runtime_error("VISU_MEDConvertor::Build >> mySObject->_is_nil() !!!"); @@ -415,8 +715,8 @@ VISU_MEDConvertor::Build() } -namespace{ - +namespace +{ using namespace boost; //--------------------------------------------------------------- @@ -497,7 +797,8 @@ namespace{ //--------------------------------------------------------------- VISU_Convertor* -VISU_MEDConvertor::Build(SALOME_MED::MED_ptr theMED) +VISU_MEDConvertor +::Build(SALOME_MED::MED_ptr theMED) { if(CORBA::is_nil(theMED)) return NULL; @@ -526,9 +827,9 @@ VISU_MEDConvertor::Build(SALOME_MED::MED_ptr theMED) if(!anIsSuccess) continue; - PCMesh aMesh = myMeshMap[aMeshName.in()](new TCMesh()); + VISU::PCMesh aMesh = myMeshMap[aMeshName.in()](new VISU::TCMesh()); SALOME_MED::MESH_var aMEDMesh = boost::get<0>(aMeshByNameRet); - aMesh->myNamedPointCoords(new TNamedPointCoords()); + aMesh->myNamedPointCoords(new VISU::TNamedPointCoords()); aMesh->myNbPoints = aMEDMesh->getNumberOfNodes(); aMesh->myDim = aMEDMesh->getSpaceDimension(); aMesh->myName = aMeshName.in(); @@ -551,7 +852,7 @@ VISU_MEDConvertor::Build(SALOME_MED::MED_ptr theMED) if(!anIsSuccess) continue; - TMeshOnEntityMap& aMeshOnEntityMap = aMesh->myMeshOnEntityMap; + VISU::TMeshOnEntityMap& aMeshOnEntityMap = aMesh->myMeshOnEntityMap; SALOMEDS::SObject_var aSupportsSObj = boost::get<0>(aSObjectByNameRet); SALOMEDS::ChildIterator_var aSupportIterator = aStudy->NewChildIterator(aSupportsSObj); @@ -579,7 +880,7 @@ VISU_MEDConvertor::Build(SALOME_MED::MED_ptr theMED) "' aVEntity = "<myNbPoints = aMeshOnSupport->getNumberOfNodes(); aNbCells = aMesh->myNbPoints; aCellsSize = 2*aMesh->myNbPoints; @@ -587,9 +888,8 @@ VISU_MEDConvertor::Build(SALOME_MED::MED_ptr theMED) ::GetCellsSize(aNbCells,aCellsSize,aMeshOnSupport,aVEntity); if(aNbCells > 0){ - TMeshOnEntityMap::const_iterator aMeshOnEntityMapIter = aMeshOnEntityMap.find(aVEntity); - if(aMeshOnEntityMapIter == aMeshOnEntityMap.end()){ - PCMeshOnEntity aMeshOnEntity(new TCMeshOnEntity()); + if(aMeshOnEntityMap.find(aVEntity) == aMeshOnEntityMap.end()){ + VISU::PCMeshOnEntity aMeshOnEntity(new VISU::TCMeshOnEntity()); aMeshOnEntity->myMeshName = aMeshName.in(); aMeshOnEntity->myEntity = aVEntity; aMeshOnEntity->myNbCells = aNbCells; @@ -621,10 +921,10 @@ VISU_MEDConvertor::Build(SALOME_MED::MED_ptr theMED) SALOME_MED::FAMILY_var aMEDFamily = SALOME_MED::FAMILY::_narrow(aMedSupport); if(!aMEDFamily->_is_nil()) { - TMeshOnEntityMap::iterator aMeshOnEntityMapIter = aMeshOnEntityMap.find(aVEntity); + VISU::TMeshOnEntityMap::iterator aMeshOnEntityMapIter = aMeshOnEntityMap.find(aVEntity); if(aMeshOnEntityMapIter == aMeshOnEntityMap.end()) continue; - PCMeshOnEntity aMeshOnEntity = aMeshOnEntityMapIter->second; + VISU::PCMeshOnEntity aMeshOnEntity = aMeshOnEntityMapIter->second; int aNbCells = aMeshOnEntity->myNbCells, aCellsSize = aMeshOnEntity->myCellsSize; CORBA::Boolean anIsOnAllElements = aMEDSupport->isOnAllElements(); @@ -639,10 +939,10 @@ VISU_MEDConvertor::Build(SALOME_MED::MED_ptr theMED) "; aNbCells = "< 0){ - TFamilyMap& aFamilyMap = aMeshOnEntity->myFamilyMap; - TFamilyMap::const_iterator aFamilyMapIter = aFamilyMap.find(aSupportName.in()); + VISU::TFamilyMap& aFamilyMap = aMeshOnEntity->myFamilyMap; + VISU::TFamilyMap::const_iterator aFamilyMapIter = aFamilyMap.find(aSupportName.in()); if(aFamilyMapIter == aFamilyMap.end()){ - PCFamily aFamily(new TCFamily()); + VISU::PCFamily aFamily(new VISU::TCFamily()); aFamily->myEntity = aVEntity; aFamily->myNbCells = aNbCells; aFamily->myCellsSize = aCellsSize; @@ -683,7 +983,7 @@ VISU_MEDConvertor::Build(SALOME_MED::MED_ptr theMED) "; anIsOnAllElements = "<myGroupMap; + VISU::TGroupMap& aGroupMap = aMesh->myGroupMap; aGroupMap[aSupportName.in()] = aGroup; } @@ -745,22 +1045,22 @@ VISU_MEDConvertor::Build(SALOME_MED::MED_ptr theMED) CORBA::String_var aMeshName = aMEDMesh->getName(); CORBA::String_var aFieldName = aMEDField->getName(); - TMeshMap::iterator aMeshMapIter = myMeshMap.find(aMeshName.in()); + VISU::TMeshMap::iterator aMeshMapIter = myMeshMap.find(aMeshName.in()); if(aMeshMapIter == myMeshMap.end()) continue; - PCMesh aMesh = aMeshMapIter->second; - TMeshOnEntityMap& aMeshOnEntityMap = aMesh->myMeshOnEntityMap; - TMeshOnEntityMap::iterator aMeshOnEntityMapIter = aMeshOnEntityMap.find(anEntity); + VISU::PCMesh aMesh = aMeshMapIter->second; + VISU::TMeshOnEntityMap& aMeshOnEntityMap = aMesh->myMeshOnEntityMap; + VISU::TMeshOnEntityMap::iterator aMeshOnEntityMapIter = aMeshOnEntityMap.find(anEntity); if(aMeshOnEntityMapIter == aMeshOnEntityMap.end()) continue; - PCMeshOnEntity aMeshOnEntity = aMeshOnEntityMapIter->second; - TFieldMap& aFieldMap = aMeshOnEntity->myFieldMap; - TFieldMap::iterator aFieldMapIter = aFieldMap.find(aFieldName.in()); - PCField aField; + VISU::PCMeshOnEntity aMeshOnEntity = aMeshOnEntityMapIter->second; + VISU::TFieldMap& aFieldMap = aMeshOnEntity->myFieldMap; + VISU::TFieldMap::iterator aFieldMapIter = aFieldMap.find(aFieldName.in()); + VISU::PCField aField; if(aFieldMapIter == aFieldMap.end()){ - aField = aFieldMap[aFieldName.in()](new TCField()); + aField = aFieldMap[aFieldName.in()](new VISU::TCField()); aField->myId = iField; aField->myName = aFieldName.in(); aField->myEntity = anEntity; @@ -778,12 +1078,12 @@ VISU_MEDConvertor::Build(SALOME_MED::MED_ptr theMED) }else aField = aFieldMapIter->second; - TValField& aValField = aField->myValField; + VISU::TValField& aValField = aField->myValField; int anId = aMEDField->getIterationNumber(); - PCValForTime aValForTime = aValField[anId](new TCValForTime()); + VISU::PCValForTime aValForTime = aValField[anId](new VISU::TCValForTime()); aValForTime->myId = anId; CORBA::Double aDT = aMEDField->getTime(); - aValForTime->myTime = TTime(aDT,""); + aValForTime->myTime = VISU::TTime(aDT,""); aValForTime->myField = aMEDField; if(MYDEBUG) MESSAGE("VISU_MEDConvertor::Build - aMeshName = '"<_is_nil()) return NULL; for(; theTimeStampIterator->More(); theTimeStampIterator->Next()){ @@ -817,17 +1118,17 @@ VISU_MEDConvertor::Build(SALOMEDS::ChildIterator_ptr theTimeStampIterator) continue; SALOME_MED::medEntityMesh aMEntity = aMEDSupport->getEntity(); - TEntity aVEntity = MEDEntityToVTK(aMEntity); + VISU::TEntity aVEntity = MEDEntityToVTK(aMEntity); SALOME_MED::MESH_var aMEDMesh = aMEDSupport->getMesh(); if(aMEDMesh->_is_nil()) continue; CORBA::String_var aMeshName = aMEDMesh->getName(); CORBA::String_var aFieldName = aMEDField->getName(); - PCMesh aMesh; - TMeshMap::const_iterator aMeshMapIter = myMeshMap.find(aMeshName.in()); + VISU::PCMesh aMesh; + VISU::TMeshMap::const_iterator aMeshMapIter = myMeshMap.find(aMeshName.in()); if(aMeshMapIter == myMeshMap.end()){ - aMesh.reset(new TCMesh()); - aMesh->myNamedPointCoords(new TNamedPointCoords()); + aMesh.reset(new VISU::TCMesh()); + aMesh->myNamedPointCoords(new VISU::TNamedPointCoords()); aMesh->myNbPoints = aMEDMesh->getNumberOfNodes(); aMesh->myDim = aMEDMesh->getSpaceDimension(); aMesh->myName = aMeshName.in(); @@ -842,11 +1143,11 @@ VISU_MEDConvertor::Build(SALOMEDS::ChildIterator_ptr theTimeStampIterator) }else aMesh = aMeshMapIter->second; - PCMeshOnEntity aMeshOnEntity; - TMeshOnEntityMap& aMeshOnEntityMap = aMesh->myMeshOnEntityMap; - TMeshOnEntityMap::const_iterator aMeshOnEntityMapIter = aMeshOnEntityMap.find(aVEntity); + VISU::PCMeshOnEntity aMeshOnEntity; + VISU::TMeshOnEntityMap& aMeshOnEntityMap = aMesh->myMeshOnEntityMap; + VISU::TMeshOnEntityMap::const_iterator aMeshOnEntityMapIter = aMeshOnEntityMap.find(aVEntity); if(aMeshOnEntityMapIter == aMeshOnEntityMap.end()){ - aMeshOnEntity.reset(new TCMeshOnEntity()); + aMeshOnEntity.reset(new VISU::TCMeshOnEntity()); aMeshOnEntity->myEntity = aVEntity; aMeshOnEntity->myMeshName = aMeshName.in(); aMeshOnEntity->mySupport = aMEDSupport; @@ -854,18 +1155,18 @@ VISU_MEDConvertor::Build(SALOMEDS::ChildIterator_ptr theTimeStampIterator) }else aMeshOnEntity = aMeshOnEntityMapIter->second; - if(aVEntity == NODE_ENTITY) - ::InitMeshOnEntity(aMesh,CELL_ENTITY,aMeshOnEntity); + if(aVEntity == VISU::NODE_ENTITY) + ::InitMeshOnEntity(aMesh,VISU::CELL_ENTITY,aMeshOnEntity); else - ::InitMeshOnEntity(aMesh,NODE_ENTITY,aMeshOnEntity); + ::InitMeshOnEntity(aMesh,VISU::NODE_ENTITY,aMeshOnEntity); ::GetCellsSize(aMesh,aMEDMesh,aVEntity); - PCField aField; - TFieldMap& aFieldMap = aMeshOnEntity->myFieldMap; - TFieldMap::const_iterator aFieldMapIter = aFieldMap.find(aFieldName.in()); + VISU::PCField aField; + VISU::TFieldMap& aFieldMap = aMeshOnEntity->myFieldMap; + VISU::TFieldMap::const_iterator aFieldMapIter = aFieldMap.find(aFieldName.in()); if(aFieldMapIter == aFieldMap.end()){ - aField.reset(new TCField()); + aField.reset(new VISU::TCField()); aField->myId = mySObject->Tag(); aField->myName = aFieldName.in(); aField->myEntity = aVEntity; @@ -885,12 +1186,12 @@ VISU_MEDConvertor::Build(SALOMEDS::ChildIterator_ptr theTimeStampIterator) }else aField = aFieldMapIter->second; - TValField& aValField = aField->myValField; + VISU::TValField& aValField = aField->myValField; int anId = aMEDField->getIterationNumber(); - PCValForTime aValForTime = aValField[anId](new TCValForTime()); + VISU::PCValForTime aValForTime = aValField[anId](new VISU::TCValForTime()); aValForTime->myId = anId; CORBA::Double aDT = aMEDField->getTime(); - aValForTime->myTime = TTime(aDT,""); + aValForTime->myTime = VISU::TTime(aDT,""); aValForTime->myField = aMEDField; if(MYDEBUG) MESSAGE("VISU_MEDConvertor::Build "<< @@ -910,8 +1211,8 @@ VISU_MEDConvertor VISU::PMeshOnEntityImpl theMeshOnEntity) { int anIsUpdated = LoadPoints(theMesh); - const TEntity& aVEntity = theMeshOnEntity->myEntity; - if(aVEntity != NODE_ENTITY) + const VISU::TEntity& aVEntity = theMeshOnEntity->myEntity; + if(aVEntity != VISU::NODE_ENTITY) anIsUpdated |= LoadCellsOnEntity(theMesh,theMeshOnEntity); return anIsUpdated; @@ -926,8 +1227,8 @@ VISU_MEDConvertor VISU::PFamilyImpl theFamily) { int anIsUpdated = LoadPoints(theMesh); - const TEntity& anEntity = theMeshOnEntity->myEntity; - if(anEntity == NODE_ENTITY){ + const VISU::TEntity& anEntity = theMeshOnEntity->myEntity; + if(anEntity == VISU::NODE_ENTITY){ anIsUpdated |= LoadPointsOnFamily(theMesh,theFamily); }else{ anIsUpdated |= LoadCellsOnEntity(theMesh,theMeshOnEntity); @@ -946,11 +1247,11 @@ VISU_MEDConvertor { //Main part of code int anIsUpdated = LoadPoints(theMesh); - TFamilySet::const_iterator aFamilyIter = theFamilySet.begin(); + VISU::TFamilySet::const_iterator aFamilyIter = theFamilySet.begin(); for(; aFamilyIter != theFamilySet.end(); aFamilyIter++){ - PCFamily aFamily = *aFamilyIter; + VISU::PCFamily aFamily = *aFamilyIter; const VISU::TEntity& aVEntity = aFamily->myEntity; - PCMeshOnEntity aMeshOnEntity = theMesh->myMeshOnEntityMap[aVEntity]; + VISU::PCMeshOnEntity aMeshOnEntity = theMesh->myMeshOnEntityMap[aVEntity]; if(aVEntity == VISU::NODE_ENTITY){ anIsUpdated |= LoadPointsOnFamily(theMesh,aFamily); }else{ @@ -973,8 +1274,8 @@ VISU_MEDConvertor { //Main part of code int anIsUpdated = LoadPoints(theMesh); - const TEntity& aVEntity = theMeshOnEntity->myEntity; - if(aVEntity != NODE_ENTITY) + const VISU::TEntity& aVEntity = theMeshOnEntity->myEntity; + if(aVEntity != VISU::NODE_ENTITY) anIsUpdated |= LoadCellsOnEntity(theMesh,theMeshOnEntity); anIsUpdated |= LoadField(theMesh,theMeshOnEntity,theField,theValForTime); @@ -989,7 +1290,7 @@ VISU_MEDConvertor ::LoadPoints(VISU::PCMesh theMesh) { //Check on existing family - PCMeshOnEntity aMeshOnEntity = theMesh->myMeshOnEntityMap[VISU::NODE_ENTITY]; + VISU::PCMeshOnEntity aMeshOnEntity = theMesh->myMeshOnEntityMap[VISU::NODE_ENTITY]; //Check on loading already done if(theMesh->myIsDone) @@ -1005,24 +1306,25 @@ VISU_MEDConvertor throw std::runtime_error("LoadPoints >> There is no points in the mesh !!!"); SALOME_MED::double_array_var aCCoord = aMedMesh->getCoordinates(SALOME_MED::MED_FULL_INTERLACE); - TCMEDCoordHolder* aCoordHolder = new TCMEDCoordHolder(); + VISU::TCMEDCoordHolder* aCoordHolder = new VISU::TCMEDCoordHolder(); aCoordHolder->Init(aNbElem, aDim, aCCoord); - TNamedPointCoords& aCoords = theMesh->myNamedPointCoords; - aCoords.Init(PCoordHolder(aCoordHolder)); + VISU::TNamedPointCoords& aCoords = theMesh->myNamedPointCoords; + aCoords.Init(VISU::PCoordHolder(aCoordHolder)); if(MYDEBUG) MESSAGE("LoadPoints - Filling aMeshOnEntity with type NODE_ENTITY"); - TGeom2SubMesh& aGeom2SubMesh = aMeshOnEntity->myGeom2SubMesh; - PSubMeshImpl aSubMesh = aGeom2SubMesh[VISU::ePOINT1](new TCSubMesh()); + VISU::TGeom2SubMesh& aGeom2SubMesh = aMeshOnEntity->myGeom2SubMesh; + VISU::PSubMeshImpl aSubMesh = aGeom2SubMesh[VISU::ePOINT1](new VISU::TCSubMesh()); aSubMesh->myNbCells = theMesh->myNbPoints; aSubMesh->myCellsSize = 2*theMesh->myNbPoints; - TCell2Connect& aCell2Connect = aSubMesh->myCell2Connect; + VISU::TCell2Connect& aCell2Connect = aSubMesh->myCell2Connect; aCell2Connect.resize(aNbElem); + if(MYDEBUG) MESSAGE("LoadPoints - aNbElem="<myIsDone = true; @@ -1036,7 +1338,7 @@ VISU_MEDConvertor ::LoadPointsOnFamily(VISU::PCMesh theMesh, VISU::PCFamily theFamily) { - PCMeshOnEntity aMeshOnEntity = theMesh->myMeshOnEntityMap[VISU::NODE_ENTITY]; + VISU::PCMeshOnEntity aMeshOnEntity = theMesh->myMeshOnEntityMap[VISU::NODE_ENTITY]; if(theFamily->myIsDone) return 0; @@ -1044,7 +1346,7 @@ VISU_MEDConvertor vtkIdType aNbElem = theMesh->GetNbPoints(); SALOME_MED::FAMILY_var aMedFamily = theFamily->myFamily; CORBA::Boolean anIsOnAllElements = aMedFamily->isOnAllElements(); - TSubMeshID& aSubMeshID = theFamily->myGeom2SubMeshID[VISU::ePOINT1]; + VISU::TSubMeshID& aSubMeshID = theFamily->myGeom2SubMeshID[VISU::ePOINT1]; if(!anIsOnAllElements){ SALOME_MED::medGeometryElement_array_var aGeom = aMedFamily->getTypes(); @@ -1067,10 +1369,131 @@ VISU_MEDConvertor } theFamily->myIsDone = true; - + return 1; } +//--------------------------------------------------------------- +namespace +{ + typedef MED::TCSlice TA; + //--------------------------------------------------------------- + typedef std::set TConnSet; + typedef std::vector TIntArray; + typedef MED::TCSlice TConnSlice; + + //--------------------------------------------------------------- + class MEDPolygonConnectivity //! retriver of polygon connectivity + { + TIntArray myConn; + TIntArray myConnIndex; + public: + + MEDPolygonConnectivity(SALOME_MED::MESH_var theMesh, + SALOME_MED::medEntityMesh theEntity) + { + { + SALOME::SenderInt_var aSender = + theMesh->getSenderForPolygonsConnectivity(SALOME_MED::MED_NODAL, theEntity); + long int aSize; + int* aValuePtr = ReceiverFactory::getValue(aSender.in(), aSize); + myConn.assign(aValuePtr, aValuePtr + aSize); + } + { + SALOME::SenderInt_var aSender = + theMesh->getSenderForPolygonsConnectivityIndex(SALOME_MED::MED_NODAL, theEntity); + long int aSize; + int* aValuePtr = ReceiverFactory::getValue(aSender, aSize); + myConnIndex.assign(aValuePtr, aValuePtr + aSize); + } + } + + TConnSlice + GetConn(int theId) const + { + int anOffSet = myConnIndex[theId] - 1; + int aSize = myConnIndex[theId + 1] - myConnIndex[ theId ]; + return TConnSlice(&myConn[0], myConn.size(), std::slice(anOffSet, aSize, 1)); + } + + int + GetNbElem() const + { + return myConnIndex.size() - 1; + } + + int + GetCellSize() const + { + return myConn.size() + GetNbElem(); + } + }; + + + //--------------------------------------------------------------- + class MEDPolyhedraConnectivity //! retriver of polyhedron connectivity + { + TIntArray myConn; + TIntArray myConnIndex; + TIntArray myFaceIndex; + public: + + MEDPolyhedraConnectivity(SALOME_MED::MESH_var theMesh) + { + { + SALOME::SenderInt_var aSender = + theMesh->getSenderForPolyhedronConnectivity(SALOME_MED::MED_NODAL); + long int aSize; + int* aValuePtr = ReceiverFactory::getValue(aSender, aSize); + myConn.assign(aValuePtr, aValuePtr + aSize); + } + { + SALOME::SenderInt_var aSender = + theMesh->getSenderForPolyhedronIndex(SALOME_MED::MED_NODAL); + long int aSize; + int* aValuePtr = ReceiverFactory::getValue(aSender, aSize); + myConnIndex.assign(aValuePtr, aValuePtr + aSize); + } + { + SALOME::SenderInt_var aSender = + theMesh->getSenderForPolyhedronFacesIndex(); + long int aSize; + int* aValuePtr = ReceiverFactory::getValue(aSender, aSize); + myFaceIndex.assign(aValuePtr, aValuePtr + aSize); + } + } + + int + GetUniqueConn(int theId, + TConnSet& theConnSet) const + { + theConnSet.clear(); + int aStartFaceId = myConnIndex[theId] - 1; + int anEndFaceId = myConnIndex[theId + 1] - 2; + int aStartConnId = myFaceIndex[aStartFaceId] - 1; + int anEndConnId = myFaceIndex[anEndFaceId + 1] - 1; + for(int aConnId = aStartConnId; aConnId < anEndConnId; aConnId++) + theConnSet.insert(myConn[aConnId]); + return theConnSet.size(); + } + + int + GetNbElem() const + { + return myConnIndex.size() - 1; + } + + int + GetCellSize() const + { + TConnSet aConnSet; + int aCellSize = 0; + for(int anElemId = 0; anElemId < GetNbElem(); anElemId++) + aCellSize += GetUniqueConn(anElemId, aConnSet); + return aCellSize; + } + }; +} //--------------------------------------------------------------- int @@ -1085,114 +1508,194 @@ VISU_MEDConvertor SALOME_MED::MESH_var aMedMesh = aMedSupport->getMesh(); //Main part of code - SALOME_MED::medGeometryElement* aGeomElems; - const TEntity& aVEntity = theMeshOnEntity->myEntity; - int iGeomEnd = GetEntity2Geom(aVEntity,aGeomElems); + const VISU::TEntity& aVEntity = theMeshOnEntity->myEntity; const SALOME_MED::medEntityMesh& aMEntity = VTKEntityToMED(aVEntity); - TGeom2SubMesh& aGeom2SubMesh = theMeshOnEntity->myGeom2SubMesh; - vtkIdType aNbPoints = theMesh->GetNbPoints(); + VISU::TCellsFirstIndex& aFirstIndex = theMeshOnEntity->myCellsFirstIndex; - for(int iGeom = 0, aCounter = 0; iGeom < iGeomEnd; iGeom++){ - SALOME_MED::medGeometryElement aMGeom = aGeomElems[iGeom]; - int aMNbNodes = MEDGeom2NbNodes(aMGeom); - VISU::EGeometry aEGeom = MEDGeom2VISU(aMGeom); - int aVNbNodes = VISUGeom2NbNodes(aEGeom); - int aNbElem = aMedMesh->getNumberOfElements(aMEntity,aMGeom); - if (aNbElem > 0) { - using namespace SALOME_MED; - SALOME_MED::long_array_var conn = - aMedMesh->getConnectivity(MED_FULL_INTERLACE,MED_NODAL,aMEntity,aMGeom); - PSubMeshImpl aSubMesh = aGeom2SubMesh[aEGeom](new TCSubMesh()); - - aSubMesh->myNbCells = aNbElem; - aSubMesh->myCellsSize = aNbElem*(aVNbNodes+1); - - TCell2Connect& aCell2Connect = aSubMesh->myCell2Connect; - std::vector aConnect(aMNbNodes); - int aNbConnForElem = conn->length()/aNbElem; - - if(MYDEBUG) MESSAGE("LoadCellsOnEntity - aMGeom = "<> aNbPoints(%d) <= anArray[%d][%d]=%d < 0 !!!",aNbPoints,iElem,k,anArray[k]); - throw std::runtime_error(aString.latin1()); - } - aCell2Connect.push_back(anArray); + case SALOME_MED::MED_PYRA5 : + anArray[0] = aConnect[0]; + anArray[1] = aConnect[3]; + anArray[2] = aConnect[2]; + anArray[3] = aConnect[1]; + anArray[4] = aConnect[4]; + break; + default: + for (int k = 0; k < aVNbNodes; k++) + anArray[k] = aConnect[k]; + } + for (int k = 0; k < aVNbNodes; k++) + if(anArray[k] < 0 || aNbPoints <= anArray[k]){ + static QString aString; + aString.sprintf("LoadCellsOnEntity >> aNbPoints(%d) <= anArray[%d][%d]=%d < 0 !!!",aNbPoints,iElem,k,anArray[k]); + throw std::runtime_error(aString.latin1()); + } + aCell2Connect.push_back(anArray); + } // loop on elements } - //Workaround for MED Component data structure + }} // switch( aMGeom ) + VISU::TGeom2SubMesh::iterator anIter = aGeom2SubMesh.find(aEGeom); + if(anIter != aGeom2SubMesh.end()){ + const VISU::PSubMeshImpl& aSubMesh = anIter->second; + const VISU::TCell2Connect& aCell2Connect = aSubMesh->myCell2Connect; int aSize = aCell2Connect.size(); - if(MYDEBUG) MESSAGE("LoadCellsOnEntity - aCounter = "<first << endl; +// PSubMeshImpl aSubMesh = geom_sm->second; +// TCell2Connect& aCell2Connect = aSubMesh->myCell2Connect; +// TCell2Connect::iterator id_conn = aCell2Connect.begin(); +// for ( int i = 0; id_conn !=aCell2Connect.end(); ++id_conn ) { +// cout << "\t" << i++ << ": ["; +// TConnect& anArray = *id_conn; +// TConnect::iterator n = anArray.begin(); +// for ( ; n != anArray.end(); ++n ) +// cout << " " << *n + 1; +// cout << " ]"<< endl; +// } +// } +// #endif theMeshOnEntity->myIsDone = true; @@ -1224,7 +1727,7 @@ VISU_MEDConvertor int aNbElem = aCellNumForType->length(); int aCounter = theMeshOnEntity->myCellsFirstIndex[aMGeom].first; int aSize = theMeshOnEntity->myCellsFirstIndex[aMGeom].second; - TSubMeshID& aSubMeshID = theFamily->myGeom2SubMeshID[aEGeom]; + VISU::TSubMeshID& aSubMeshID = theFamily->myGeom2SubMeshID[aEGeom]; if(MYDEBUG) MESSAGE("LoadCellsOnFamily "<< @@ -1250,7 +1753,7 @@ VISU_MEDConvertor VISU::EGeometry aEGeom = anIter->first; const VISU::TSubMeshImpl& aSubMesh = anIter->second; const VISU::TCell2Connect& aCell2Connect = aSubMesh.myCell2Connect; - TSubMeshID& aSubMeshID = theFamily->myGeom2SubMeshID[aEGeom]; + VISU::TSubMeshID& aSubMeshID = theFamily->myGeom2SubMeshID[aEGeom]; int iNumElemEnd = aCell2Connect.size(); for(int iNumElem = 0; iNumElem < iNumElemEnd; iNumElem++) aSubMeshID.push_back(iNumElem); @@ -1272,31 +1775,31 @@ ImportField(TContainerType& theContainer, VISU::PCValForTime theValForTime, VISU::PCMeshOnEntity theMeshOnEntity) { - typedef TTCMEDMeshValue TVMeshValue; + typedef VISU::TTCMEDMeshValue TVMeshValue; vtkIdType aNbComp = theField->myNbComp; - if(theField->myEntity == NODE_ENTITY){ + if(theField->myEntity == VISU::NODE_ENTITY){ VISU::EGeometry aEGeom = VISU::ePOINT1; vtkIdType aNbGauss = theValForTime->GetNbGauss(aEGeom); vtkIdType aNbElem = theMesh->GetNbPoints(); if(MYDEBUG) MESSAGE("ImportField - aNbElem = "<GetMeshValue(VISU::ePOINT1); + VISU::PMeshValue& aVMeshValue = theValForTime->GetMeshValue(VISU::ePOINT1); TVMeshValue* aMeshValue = new TVMeshValue(); aMeshValue->Init(aNbElem, aNbGauss, aNbComp, theContainer, 0); aVMeshValue.reset(aMeshValue); }else{ SALOME_MED::medGeometryElement* aGeomElems; - const TEntity& aVEntity = theField->myEntity; + const VISU::TEntity& aVEntity = theField->myEntity; int iGeomEnd = GetEntity2Geom(aVEntity,aGeomElems); for(int iGeom = 0; iGeom < iGeomEnd; iGeom++){ SALOME_MED::medGeometryElement aMGeom = aGeomElems[iGeom]; VISU::EGeometry aEGeom = MEDGeom2VISU(aMGeom); vtkIdType aNbGauss = theValForTime->GetNbGauss(aEGeom); - const TCMeshOnEntity::TCellsFirstIndex& aCellsFirstIndex = theMeshOnEntity->myCellsFirstIndex; - TCMeshOnEntity::TCellsFirstIndex::const_iterator aCellsFirstIndexIter = aCellsFirstIndex.find(aMGeom); + const VISU::TCellsFirstIndex& aCellsFirstIndex = theMeshOnEntity->myCellsFirstIndex; + VISU::TCellsFirstIndex::const_iterator aCellsFirstIndexIter = aCellsFirstIndex.find(aMGeom); if(aCellsFirstIndexIter != aCellsFirstIndex.end()){ - const TCMeshOnEntity::TIndexAndSize& aIndexAndSize = aCellsFirstIndexIter->second; + const VISU::TIndexAndSize& aIndexAndSize = aCellsFirstIndexIter->second; if(MYDEBUG) MESSAGE("ImportField - aMGeom = "<GetMeshValue(aEGeom); + VISU::PMeshValue& aVMeshValue = theValForTime->GetMeshValue(aEGeom); TVMeshValue* aMeshValue = new TVMeshValue(); aMeshValue->Init(aNbElem, aNbGauss, aNbComp, theContainer, aStart); aVMeshValue.reset(aMeshValue); @@ -1320,16 +1823,22 @@ VISU_MEDConvertor VISU::PField theField, VISU::PCValForTime theValForTime) { + MESSAGE("VISU_MEDConvertor::LoadField"); //Check on loading already done - PUnstructuredGridIDMapperImpl anUnstructuredGridIDMapper = theValForTime->myUnstructuredGridIDMapper; + VISU::PUnstructuredGridIDMapperImpl anUnstructuredGridIDMapper = theValForTime->myUnstructuredGridIDMapper; if(anUnstructuredGridIDMapper->myIsVTKDone) return 0; - PCProfile aProfile(new TCProfile()); + VISU::PCProfile aProfile(new VISU::TCProfile()); aProfile->myIsAll = true; theValForTime->myProfile = aProfile; SALOME_MED::FIELD_var aMEDField = theValForTime->myField; + + SALOME_MED::SUPPORT_var aMEDSupport = aMEDField->getSupport(); + + if(aMEDSupport->isOnAllElements()) aProfile->myIsDone = true; + SALOME_MED::FIELDDOUBLE_ptr aFieldDouble = SALOME_MED::FIELDDOUBLE::_narrow(aMEDField); if(!aFieldDouble->_is_nil()){ SALOME_MED::double_array_var anArray = aFieldDouble->getValue(SALOME_MED::MED_FULL_INTERLACE); @@ -1354,5 +1863,6 @@ VISU_MEDConvertor anUnstructuredGridIDMapper->myIsVTKDone = true; + MESSAGE("VISU_MEDConvertor::LoadField done"); return 1; } diff --git a/src/VISU_I/VISU_CorbaMedConvertor.hxx b/src/VISU_I/VISU_CorbaMedConvertor.hxx index e51c5809..9fc1c776 100644 --- a/src/VISU_I/VISU_CorbaMedConvertor.hxx +++ b/src/VISU_I/VISU_CorbaMedConvertor.hxx @@ -40,6 +40,10 @@ namespace VISU { + //--------------------------------------------------------------- + typedef std::pair TIndexAndSize; // + typedef std::map TCellsFirstIndex; // key: SALOME_MED::medGeometryElement + //--------------------------------------------------------------- struct TCMEDCoordHolder: TCoordHolder { @@ -101,12 +105,35 @@ namespace VISU }; typedef MED::SharedPtr PCMesh; + //--------------------------------------------------------------- + struct TCSubProfile: virtual TSubProfileImpl + { + SALOME_MED::medGeometryElement myMGeom; + }; + typedef SharedPtr PCSubProfile; //--------------------------------------------------------------- struct TCProfile: virtual TProfileImpl {}; typedef MED::SharedPtr PCProfile; + //--------------------------------------------------------------- + struct TCGauss: virtual TGaussImpl + { + }; + typedef SharedPtr PCGauss; + + struct TCGaussSubMesh: virtual TGaussSubMeshImpl + { + }; + typedef SharedPtr PCGaussSubMesh; + + + //--------------------------------------------------------------- + struct TCGaussMesh: virtual TGaussMeshImpl + {}; + typedef SharedPtr PCGaussMesh; + //--------------------------------------------------------------- struct TCSubMesh: virtual TSubMeshImpl @@ -118,8 +145,6 @@ namespace VISU struct TCMeshOnEntity: virtual TMeshOnEntityImpl { SALOME_MED::SUPPORT_var mySupport; - typedef std::pair TIndexAndSize; - typedef std::map TCellsFirstIndex; TCellsFirstIndex myCellsFirstIndex; }; typedef MED::SharedPtr PCMeshOnEntity; diff --git a/src/VISU_I/VISU_CutLines_i.cc b/src/VISU_I/VISU_CutLines_i.cc index d09bc322..8bb713a6 100644 --- a/src/VISU_I/VISU_CutLines_i.cc +++ b/src/VISU_I/VISU_CutLines_i.cc @@ -33,6 +33,7 @@ #include "VISU_PipeLineUtils.hxx" #include "SUIT_ResourceMgr.h" +#include "SALOME_Event.hxx" #include @@ -136,6 +137,8 @@ VISU::CutLines_i SetOrientation2(CutPlanes::Orientation(VISU::Storable::FindValue(theMap,"myBasePlane[1]").toInt()), Storable::FindValue(theMap,"aRot[1][0]").toDouble(), Storable::FindValue(theMap,"aRot[1][1]").toDouble()); + SetUseAbsoluteLength(VISU::Storable::FindValue(theMap,"myUseAbsLength").toInt()); + if (VISU::Storable::FindValue(theMap,"myBasePlaneCondition").toInt()) SetDefault(); else @@ -191,8 +194,10 @@ VISU::CutLines_i aStrPos.append(QString::number(GetLinePosition(i)) + "|"); aStrCon.append(QString::number(IsDefaultPosition(i)) + "|"); } + Storable::DataToStream( theStr, "myLinePosition", aStrPos.latin1()); Storable::DataToStream( theStr, "myLineCondition", aStrCon.latin1()); + Storable::DataToStream( theStr,"myUseAbsLength", IsUseAbsoluteLength()); // Storing the map - \a myMapCurvesInverted QString aStrCurvesInverted; @@ -217,9 +222,33 @@ VISU::CutLines_i CORBA::Double theXAngle, CORBA::Double theYAngle) { - myCutLinesPL->SetOrientation(VISU_CutPlanesPL::PlaneOrientation(theOrient), - theXAngle, - theYAngle); + struct TEvent: public SALOME_Event + { + VISU_CutLinesPL* myCutLinesPL; + CORBA::Double myXAngle, myYAngle; + VISU::CutPlanes::Orientation myOrient; + TEvent(VISU_CutLinesPL* theCutLines, + VISU::CutPlanes::Orientation theOrient, + CORBA::Double theXAngle, + CORBA::Double theYAngle): + myCutLinesPL(theCutLines), + myOrient(theOrient), + myXAngle(theXAngle), + myYAngle(theYAngle) + {} + + virtual + void + Execute() + { + myCutLinesPL->SetOrientation(VISU_CutPlanesPL::PlaneOrientation(myOrient), + myXAngle, + myYAngle); + } + }; + + ProcessVoidEvent(new TEvent(myCutLinesPL, theOrient, theXAngle, theYAngle)); + } //--------------------------------------------------------------- @@ -229,10 +258,33 @@ VISU::CutLines_i CORBA::Double theXAngle, CORBA::Double theYAngle) { - myCutLinesPL->SetOrientation(VISU_CutPlanesPL::PlaneOrientation(theOrient), - theXAngle, - theYAngle, - 1); + struct TEvent: public SALOME_Event + { + VISU_CutLinesPL* myCutLinesPL; + CORBA::Double myXAngle, myYAngle; + VISU::CutPlanes::Orientation myOrient; + TEvent(VISU_CutLinesPL* theCutLines, + VISU::CutPlanes::Orientation theOrient, + CORBA::Double theXAngle, + CORBA::Double theYAngle): + myCutLinesPL(theCutLines), + myOrient(theOrient), + myXAngle(theXAngle), + myYAngle(theYAngle) + {} + + virtual + void + Execute() + { + myCutLinesPL->SetOrientation(VISU_CutPlanesPL::PlaneOrientation(myOrient), + myXAngle, + myYAngle, + 1); + } + }; + + ProcessVoidEvent(new TEvent(myCutLinesPL, theOrient, theXAngle, theYAngle)); } //--------------------------------------------------------------- @@ -385,6 +437,7 @@ VISU::CutLines_i return myCutLinesPL->IsPartDefault(thePlaneNumber); } +//--------------------------------------------------------------- /*! Invert all curves of corresponding table * see void VISU::CutLines_i::SetCurveInverted(CORBA::Long theCurveNumber,CORBA::Boolean theInvert) * \param theInvert - Invert all curves, if value is TRUE, else not. @@ -393,9 +446,11 @@ void VISU::CutLines_i ::SetAllCurvesInverted(CORBA::Boolean theInvert) { - for (int i=0; iSetTitle(aTitle.latin1()); - int iLineEnd = myCutLinesPL->GetAppendPolyData()->GetNumberOfInputs(); + int iLineEnd = myCutLinesPL->GetAppendPolyData()->GetNumberOfInputConnections(0); if(MYDEBUG) MESSAGE("CutPlanes_i::BuildTableOfReal iLineEnd = "<::const_iterator aIter = XKeys.begin(); - for (int k=0;k= 0 and aDist<=1.0 - aNewXYMap[1.0 - *aIter] = aXYMap[*aIter]; + vtkFloatingPointType aTopBnd = aBoundPrjLn[2]; + if( !IsUseAbsoluteLength() ){ + aTopBnd = 1.0; + } + aNewXYMap[aTopBnd - *aIter] = aXYMap[*aIter]; } TXYMap::const_iterator aNewXYMapIter = aNewXYMap.begin(); aXYMap.clear(); diff --git a/src/VISU_I/VISU_CutLines_i.hh b/src/VISU_I/VISU_CutLines_i.hh index 216e7a66..a4cc8999 100644 --- a/src/VISU_I/VISU_CutLines_i.hh +++ b/src/VISU_I/VISU_CutLines_i.hh @@ -33,15 +33,17 @@ class VISU_CutLinesPL; namespace VISU { + //---------------------------------------------------------------------------- class CutLines_i : public virtual POA_VISU::CutLines, public virtual ScalarMap_i { static int myNbPresent; - CutLines_i(); CutLines_i(const CutLines_i&); public: + //---------------------------------------------------------------------------- typedef ScalarMap_i TSuperClass; + typedef VISU::CutLines TInterface; explicit CutLines_i(EPublishInStudyMode thePublishInStudyModep); @@ -158,6 +160,14 @@ namespace VISU CORBA::Boolean IsCurveInverted(CORBA::Long theCurveNumber); + virtual + void + SetUseAbsoluteLength(CORBA::Boolean theAbsLength); + + virtual + CORBA::Boolean + IsUseAbsoluteLength(); + virtual void SetNbLines(CORBA::Long theNb); @@ -176,8 +186,6 @@ namespace VISU void CopyCurvesInverted(const TCurvesInv& theCurves); - typedef VISU::CutLines TInterface; - VISU_CutLinesPL* GetSpecificPL() const { @@ -195,8 +203,13 @@ namespace VISU bool CheckIsPossible(); + virtual + const char* + GetIconName(); + VISU_CutLinesPL *myCutLinesPL; TCurvesInv myMapCurvesInverted; + CORBA::Boolean myUseAbsLength; public: //! Extends VISU_ColoredPrs3d_i::IsPossible diff --git a/src/VISU_I/VISU_CutPlanes_i.cc b/src/VISU_I/VISU_CutPlanes_i.cc index a0fb3197..0097b3f7 100644 --- a/src/VISU_I/VISU_CutPlanes_i.cc +++ b/src/VISU_I/VISU_CutPlanes_i.cc @@ -30,6 +30,7 @@ #include "VISU_Actor.h" #include "SUIT_ResourceMgr.h" +#include "SALOME_Event.hxx" #ifdef _DEBUG_ static int MYDEBUG = 0; @@ -75,6 +76,18 @@ VISU::CutPlanes_i } +//---------------------------------------------------------------------------- +const char* +VISU::CutPlanes_i +::GetIconName() +{ + if (!IsGroupsUsed()) + return "ICON_TREE_CUT_PLANES"; + else + return "ICON_TREE_CUT_PLANES_GROUPS"; +} + + //---------------------------------------------------------------------------- VISU::CutPlanes_i ::CutPlanes_i(EPublishInStudyMode thePublishInStudyMode): @@ -122,7 +135,7 @@ VISU::CutPlanes_i //---------------------------------------------------------------------------- void VISU::CutPlanes_i::ToStream(std::ostringstream& theStr){ - ScalarMap_i::ToStream(theStr); + TSuperClass::ToStream(theStr); Storable::DataToStream( theStr, "myNbPlanes", int(GetNbPlanes())); Storable::DataToStream( theStr, "myDisplacement", GetDisplacement()); diff --git a/src/VISU_I/VISU_CutPlanes_i.hh b/src/VISU_I/VISU_CutPlanes_i.hh index 6f58872d..6dc9c870 100644 --- a/src/VISU_I/VISU_CutPlanes_i.hh +++ b/src/VISU_I/VISU_CutPlanes_i.hh @@ -33,15 +33,17 @@ class VISU_CutPlanesPL; namespace VISU { - class CutPlanes_i : public virtual POA_VISU::CutPlanes, - public virtual ScalarMap_i + //---------------------------------------------------------------------------- + class VISU_I_EXPORT CutPlanes_i : public virtual POA_VISU::CutPlanes, + public virtual ScalarMap_i { static int myNbPresent; - CutPlanes_i(); CutPlanes_i(const CutPlanes_i&); public: + //---------------------------------------------------------------------------- typedef ScalarMap_i TSuperClass; + typedef VISU::CutPlanes TInterface; explicit CutPlanes_i(EPublishInStudyMode thePublishInStudyModep); @@ -106,8 +108,6 @@ namespace VISU CORBA::Long GetNbPlanes(); - typedef VISU::CutPlanes TInterface; - VISU_CutPlanesPL* GetSpecificPL() const { @@ -173,6 +173,10 @@ namespace VISU virtual QString GenerateName(); + + virtual + const char* + GetIconName(); }; } diff --git a/src/VISU_I/VISU_DeformedShape_i.cc b/src/VISU_I/VISU_DeformedShape_i.cc index a41f512e..f5f7cfd5 100644 --- a/src/VISU_I/VISU_DeformedShape_i.cc +++ b/src/VISU_I/VISU_DeformedShape_i.cc @@ -100,6 +100,18 @@ VISU::DeformedShape_i } +//--------------------------------------------------------------- +const char* +VISU::DeformedShape_i +::GetIconName() +{ + if (!IsGroupsUsed()) + return "ICON_TREE_DEFORMED_SHAPE"; + else + return "ICON_TREE_DEFORMED_SHAPE_GROUPS"; +} + + //--------------------------------------------------------------- VISU::DeformedShape_i ::DeformedShape_i(EPublishInStudyMode thePublishInStudyMode): @@ -125,7 +137,6 @@ VISU::DeformedShape_i } } - //--------------------------------------------------------------- VISU::Storable* VISU::DeformedShape_i @@ -262,15 +273,6 @@ VISU::DeformedShape_i } -//--------------------------------------------------------------- -void -VISU::DeformedShape_i -::SetMapScale(double theMapScale) -{ - myDeformedShapePL->SetMapScale(theMapScale); -} - - //--------------------------------------------------------------- VISU_Actor* VISU::DeformedShape_i diff --git a/src/VISU_I/VISU_DeformedShape_i.hh b/src/VISU_I/VISU_DeformedShape_i.hh index 5f3d79cd..e433be3e 100644 --- a/src/VISU_I/VISU_DeformedShape_i.hh +++ b/src/VISU_I/VISU_DeformedShape_i.hh @@ -33,15 +33,17 @@ class VISU_DeformedShapePL; namespace VISU { + //---------------------------------------------------------------------------- class DeformedShape_i : public virtual POA_VISU::DeformedShape, public virtual ScalarMap_i { static int myNbPresent; - DeformedShape_i(); DeformedShape_i(const DeformedShape_i&); public: + //---------------------------------------------------------------------------- typedef ScalarMap_i TSuperClass; + typedef VISU::DeformedShape TInterface; explicit DeformedShape_i(EPublishInStudyMode thePublishInStudyModep); @@ -84,8 +86,6 @@ namespace VISU void SetColor(const SALOMEDS::Color& theColor); - typedef VISU::DeformedShape TInterface; - VISU_DeformedShapePL* GetSpecificPL() const { @@ -134,6 +134,10 @@ namespace VISU QString GenerateName(); + virtual + const char* + GetIconName(); + virtual void ToStream(std::ostringstream& theStr); diff --git a/src/VISU_I/VISU_DumpPython.cc b/src/VISU_I/VISU_DumpPython.cc index fe78c72a..27534607 100644 --- a/src/VISU_I/VISU_DumpPython.cc +++ b/src/VISU_I/VISU_DumpPython.cc @@ -212,7 +212,7 @@ namespace VISU return thePrefix; } - + //=========================================================================== std::string ScalarMapToPython(SALOMEDS::SObject_ptr theSObject, VISU::ScalarMap_i* theServant, @@ -246,10 +246,17 @@ namespace VISU } theStr<GetCMeshName(); + const VISU::ScalarMap_i::TGroupNames aGroupNames = theServant->GetGroupNames(); + VISU::ScalarMap_i::TGroupNames::const_iterator anIter = aGroupNames.begin(); + for(; anIter != aGroupNames.end(); anIter++){ + const std::string& aGroupName = *anIter; + theStr<GetFather(); - if(aFatherSObject->FindAttribute(anAttr,"AttributeComment")){ - SALOMEDS::AttributeComment_var aComment = - SALOMEDS::AttributeComment::_narrow(anAttr); + if(aFatherSObject->FindAttribute(anAttr,"AttributeString")){ + SALOMEDS::AttributeString_var aComment = + SALOMEDS::AttributeString::_narrow(anAttr); CORBA::String_var aValue = aComment->Value(); Storable::TRestoringMap aMap; Storable::StrToMap(aValue.in(),aMap); @@ -319,6 +326,7 @@ namespace VISU theStr<GetName()<<"\")"<(GetServant(anObj).in())){ thePrefix = ScalarMapToPython(theSObject,aServant,theStr,aName,"ScalarMapOnField",theArgumentName,thePrefix); theStr<GetScalarCMeshName(); + CORBA::String_var aFieldName = aServant->GetScalarCFieldName(); + CORBA::Long aTimeStampNumber = aServant->GetScalarLIteration(); + theStr<GetScalarMeshName()<<"',"<< - "'"<GetScalarFieldName()<<"',"<< - aServant->GetScalarIteration()<<","<< + "'"<IsDefault()) theStr<GetBasePlanePosition()<<")"<IsUseAbsoluteLength(); + theStr<GetNbLines(); theStr<(GetServant(anObj).in())){ SALOMEDS::GenericAttribute_var anAttr; - if(theSObject->FindAttribute(anAttr,"AttributeComment")){ + if(theSObject->FindAttribute(anAttr,"AttributeString")){ using namespace SALOMEDS; - AttributeComment_var aComment = AttributeComment::_narrow(anAttr); + AttributeString_var aComment = AttributeString::_narrow(anAttr); CORBA::String_var aValue = aComment->Value(); Storable::TRestoringMap aMap; Storable::StrToMap(aValue.in(),aMap); @@ -1100,9 +1116,9 @@ namespace VISU } } else { /*if(!CORBA::is_nil(anObj))*/ SALOMEDS::GenericAttribute_var anAttr; - if (theSObject->FindAttribute(anAttr,"AttributeComment")) { - SALOMEDS::AttributeComment_var aComment = - SALOMEDS::AttributeComment::_narrow(anAttr); + if (theSObject->FindAttribute(anAttr,"AttributeString")) { + SALOMEDS::AttributeString_var aComment = + SALOMEDS::AttributeString::_narrow(anAttr); CORBA::String_var aValue = aComment->Value(); Storable::TRestoringMap aMap; Storable::StrToMap(aValue.in(),aMap); @@ -1141,7 +1157,7 @@ namespace VISU theStr<NewChildIterator(theSObject); + for(aChildItet->InitEx(false); aChildItet->More(); aChildItet->Next()){ + SALOMEDS::SObject_var aSObject = aChildItet->Value(); + + SALOMEDS::GenericAttribute_var anAttr; + if (!aSObject->FindAttribute(anAttr, "AttributeString")) continue; + + SALOMEDS::AttributeString_var aStringAttr = SALOMEDS::AttributeString::_narrow(anAttr); + QString value (aStringAttr->Value()); + if(value.isEmpty()) continue; + + VISU::Storable::TRestoringMap aMap; + VISU::Storable::StrToMap(value, aMap); + bool isExist; + + QString aTypeName = VISU::Storable::FindValue(aMap,"myComment",&isExist); + if(!isExist || aTypeName != "ANIMATION") continue; + + //ANIMATION + theStr<GetName(); + theStr<NewChildIterator(aSObject); + for (anIter->Init(); anIter->More(); anIter->Next()) { + SALOMEDS::SObject_var anObj = anIter->Value(); + + //FIELD + theStr<FindAttribute(anAttr, "AttributeString")) { + aStringAttr = SALOMEDS::AttributeString::_narrow(anAttr); + theStr<Value()<<"')"<< endl; + } + + SALOMEDS::SObject_var refObj; + if(anObj->ReferencedObject(refObj)) { + SALOMEDS::SObject_var father = refObj->GetFather(); + value = refObj->GetName(); + QString path(theStudy->GetObjectPath(father)); + //The following code requierd as a field name can contain '/' character + theStr<GetName(); + if(!value.isEmpty()) theStr<NewChildIterator(anObj); + for (aSubIter->Init(); aSubIter->More(); aSubIter->Next()) { + SALOMEDS::SObject_var aSubObj = aSubIter->Value(); + + theStr<GetName(); + if(!value.isEmpty()) theStr<FindAttribute(anAttr, "AttributeString")) { + aStringAttr = SALOMEDS::AttributeString::_narrow(anAttr); + theStr<Value()<<"')"<< endl; + } + } + + } + + } + + theStr< #include CORBA_SERVER_HEADER(SALOME_Session) #include CORBA_SERVER_HEADER(SALOME_ModuleCatalog) +#include CORBA_SERVER_HEADER(MED_Gen) // QT Includes -#include +#include #include #include @@ -262,11 +263,25 @@ namespace VISU //---------------------------------------------------------------------------- void - CorrectSObjectType(SALOMEDS::SObject_ptr theSObject) + CorrectSObjectType(SALOMEDS::SObject_ptr theSObject, + SALOMEDS::StudyBuilder_ptr theBuilder) { SALOMEDS::GenericAttribute_var anAttr; - if ( theSObject->FindAttribute(anAttr, "AttributeComment") ) { - SALOMEDS::AttributeComment_var aAttComment = SALOMEDS::AttributeComment::_narrow(anAttr); + bool isAttrStringFound = false; + + if( theSObject->FindAttribute(anAttr, "AttributeComment") ) { + //SRN: Replace an AttributeComment with AttributeString + SALOMEDS::AttributeComment_var aComment = SALOMEDS::AttributeComment::_narrow(anAttr); + string aValue = aComment->Value(); + theBuilder->RemoveAttribute(theSObject, "AttributeComment"); + anAttr = theBuilder->FindOrCreateAttribute(theSObject, "AttributeString"); + SALOMEDS::AttributeString_var aStringAttr = SALOMEDS::AttributeString::_narrow(anAttr); + aStringAttr->SetValue(aValue.c_str()); + isAttrStringFound = true; + } + + if ( isAttrStringFound || theSObject->FindAttribute(anAttr, "AttributeString") ) { + SALOMEDS::AttributeString_var aAttComment = SALOMEDS::AttributeString::_narrow(anAttr); if ( aAttComment ) { string aValue = aAttComment->Value(); if ( aValue.compare("") ) { @@ -286,6 +301,7 @@ namespace VISU else if ( !aComment.compare(QString("CONTAINER")) ) aVISUType = VISU::TCONTAINER; else if ( !aComment.compare(QString("MESH")) ) aVISUType = VISU::TMESH; else if ( !aComment.compare(QString("SCALARMAP")) ) aVISUType = VISU::TSCALARMAP; + else if ( !aComment.compare(QString("PRSMERGER")) ) aVISUType = VISU::TPRSMERGER; else if ( !aComment.compare(QString("ISOSURFACE")) ) aVISUType = VISU::TISOSURFACE; else if ( !aComment.compare(QString("DEFORMEDSHAPE")) ) aVISUType = VISU::TDEFORMEDSHAPE; else if ( !aComment.compare(QString("SCALARMAPONDEFORMEDSHAPE")) ) aVISUType = VISU::TSCALARMAPONDEFORMEDSHAPE; @@ -334,12 +350,14 @@ namespace VISU SALOMEDS::Study_var aStudy = theComponent->GetStudy(); SALOMEDS::ChildIterator_var anIter = aStudy->NewChildIterator(theComponent); + SALOMEDS::StudyBuilder_var aStudyBuilder = aStudy->NewBuilder(); + for (anIter->InitEx(true); anIter->More(); anIter->Next()) { SALOMEDS::SObject_var aSObject = anIter->Value(); - CorrectSObjectType(aSObject); + CorrectSObjectType(aSObject, aStudyBuilder); } - SALOMEDS::StudyBuilder_var aStudyBuilder = aStudy->NewBuilder(); + string aDir = isMultiFile ? theURL : SALOMEDS_Tool::GetTmpDir(); TCollection_AsciiString aTmpDir (const_cast(aDir.c_str())); VisuTmpDir = aTmpDir.ToCString(); @@ -480,19 +498,22 @@ namespace VISU QString aPrefix(""); if (isMultiFile) aPrefix = SALOMEDS_Tool::GetNameFromPath(aStudy->URL()).c_str(); QString aFileName = aPrefix + "_" + (pResult->GetName()).c_str(); + QString tmpDir = QDir::convertSeparators( QString(aTmpDir.ToCString()) );; static QString aCommand; - aCommand.sprintf("cp %s %s%s",aFileInfo.filePath().latin1(),aTmpDir.ToCString(),aFileName.latin1()); + aCommand.sprintf(" %s %s%s",aFileInfo.filePath().latin1(),tmpDir.latin1(),aFileName.latin1()); + aCommand = QDir::convertSeparators( aCommand ); + aCommand.prepend( COPY_COMMAND ); - int aRes = system(aCommand); - if(aRes){ + if(system(aCommand.latin1())){ if(MYDEBUG) MESSAGE("VISU_Gen_i::Save - Can't execute the command :"<FindComponent("MED")->_is_nil()) + { + SALOME_LifeCycleCORBA aLCC(SalomeApp_Application::namingService()); + Engines::Component_var aComponent = aLCC.FindOrLoad_Component("FactoryServer","MED"); + SALOME_MED::MED_Gen_var aMedEngine = SALOME_MED::MED_Gen::_narrow(aComponent); + + if(!CORBA::is_nil(aMedEngine)) + { + SALOMEDS::StudyBuilder_var aStudyBuilder = myStudyDocument->NewBuilder(); + try { + aStudyBuilder->LoadWith( myStudyDocument->FindComponent( "MED" ), aMedEngine ); + } + catch( const SALOME::SALOME_Exception& ) { + // Oops, something went wrong while loading + // See also SalomeApp_Study::openDataModel() + } + } + } } else { INFOS("CORBA::is_nil(theStudy)"); } @@ -1055,17 +1096,41 @@ namespace VISU theIteration)._retn(); } - Table_ptr VISU_Gen_i::CreateTable(const char* theTableEntry){ + struct CreateTableEvent: public SALOME_Event + { + SALOMEDS::Study_var myStudyDocument; + const char* myTableEntry; + typedef Table_ptr TResult; + TResult myResult; + + CreateTableEvent(const SALOMEDS::Study_var& theStudy, const char* theTableEntry) + { + myStudyDocument = theStudy; + myTableEntry = theTableEntry; + myResult = Table::_nil(); + } + + virtual + void + Execute() + { + Table_i* pPresent = new Table_i(myStudyDocument,myTableEntry); + if(pPresent->Create() != NULL) + myResult = pPresent->_this(); + else{ + pPresent->_remove_ref(); + myResult = VISU::Table::_nil(); + } + } + }; + + + Table_ptr VISU_Gen_i::CreateTable(const char* theTableEntry) + { if(myStudyDocument->GetProperties()->IsLocked()) return Table::_nil(); Mutex mt(myMutex); - Table_i* pPresent = new Table_i(myStudyDocument,theTableEntry); - if(pPresent->Create() != NULL) - return pPresent->_this(); - else{ - pPresent->_remove_ref(); - return VISU::Table::_nil(); - } + return ProcessEvent(new CreateTableEvent(myStudyDocument, theTableEntry)); } Curve_ptr VISU_Gen_i::CreateCurve(Table_ptr theTable, @@ -1230,10 +1295,11 @@ namespace VISU aFileName += aFileInfo.fileName().latin1(); static QString aCommand; string aFullFileName = aTmpDir + aFileName; - aCommand.sprintf("cp %s %s", - aFileInfo.filePath().latin1(), - aFullFileName.c_str()); - if(system(aCommand) == -1) { + aCommand.sprintf(" %s %s",aFileInfo.filePath().latin1(), aFullFileName.c_str() ); + aCommand = QDir::convertSeparators( aCommand ); + aCommand.prepend( COPY_COMMAND ); + + if(system(aCommand.latin1()) == -1) { if(MYDEBUG) MESSAGE("VISU_Gen_i::Copy - Cann't execute the command :"<FindOrCreateAttribute(aResultSO, "AttributeComment"); + SALOMEDS::GenericAttribute_var anAttr = aStudyBuilder->FindOrCreateAttribute(aResultSO, "AttributeString"); Storable* aStorable = Storable::Create(aResultSO,aFileName,aString); diff --git a/src/VISU_I/VISU_Gen_i.hh b/src/VISU_I/VISU_Gen_i.hh index 3b8280b1..25dfda98 100644 --- a/src/VISU_I/VISU_Gen_i.hh +++ b/src/VISU_I/VISU_Gen_i.hh @@ -40,7 +40,6 @@ namespace VISU public virtual Base_i { SALOMEDS::Study_var myStudyDocument; - VISU_Gen_i(); VISU_Gen_i(const VISU::VISU_Gen_i &); public: VISU_Gen_i(CORBA::ORB_ptr theORB, diff --git a/src/VISU_I/VISU_I.hxx b/src/VISU_I/VISU_I.hxx new file mode 100755 index 00000000..9da28057 --- /dev/null +++ b/src/VISU_I/VISU_I.hxx @@ -0,0 +1,47 @@ +// Copyright (C) 2003 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// +// +// +// File : VISU_I.hxx +// Author : Oleg UVAROV +// Module : VISU + +#ifndef _VISU_I_HXX_ +#define _VISU_I_HXX_ + +#ifdef WNT +# if defined VISU_I_EXPORTS +# define VISU_I_EXPORT __declspec( dllexport ) +# else +# define VISU_I_EXPORT __declspec( dllimport ) +# endif +# define COPY_COMMAND "copy /Y" +# define MOVE_COMMAND "move /Y" +# define DELETE_COMMAND "del /F" +#else +# define VISU_I_EXPORT +# define COPY_COMMAND "cp" +# define MOVE_COMMAND "mv" +# define DELETE_COMMAND "rm -f" +#endif + + + +#endif \ No newline at end of file diff --git a/src/VISU_I/VISU_IsoSurfaces_i.cc b/src/VISU_I/VISU_IsoSurfaces_i.cc index b1e533e1..c93c179f 100644 --- a/src/VISU_I/VISU_IsoSurfaces_i.cc +++ b/src/VISU_I/VISU_IsoSurfaces_i.cc @@ -30,6 +30,7 @@ #include "VISU_Actor.h" #include "SUIT_ResourceMgr.h" +#include "SALOME_Event.hxx" #ifdef _DEBUG_ static int MYDEBUG = 0; @@ -75,6 +76,16 @@ VISU::IsoSurfaces_i return myComment.c_str(); } +//--------------------------------------------------------------- +const char* +VISU::IsoSurfaces_i +::GetIconName() +{ + if (!IsGroupsUsed()) + return "ICON_TREE_ISO_SURFACES"; + else + return "ICON_TREE_ISO_SURFACES_GROUPS"; +} //--------------------------------------------------------------- VISU::IsoSurfaces_i @@ -141,7 +152,27 @@ void VISU::IsoSurfaces_i ::SetNbSurfaces(CORBA::Long theNb) { - myIsoSurfacesPL->SetNbParts(theNb); + + struct TEvent: public SALOME_Event + { + VISU_IsoSurfacesPL* myIsoSurfacesPL; + CORBA::Long myNb; + + TEvent(VISU_IsoSurfacesPL* theIsoSurfacesPL, + CORBA::Long theNb): + myIsoSurfacesPL(theIsoSurfacesPL), + myNb(theNb) + {} + + virtual + void + Execute() + { + myIsoSurfacesPL->SetNbParts(myNb); + } + }; + + ProcessVoidEvent(new TEvent(myIsoSurfacesPL, theNb)); } //--------------------------------------------------------------- @@ -203,7 +234,6 @@ VISU::IsoSurfaces_i SetSubRange(GetSourceMin(), GetSourceMax()); } - //--------------------------------------------------------------- bool VISU::IsoSurfaces_i diff --git a/src/VISU_I/VISU_IsoSurfaces_i.hh b/src/VISU_I/VISU_IsoSurfaces_i.hh index 0daa2b2c..63dc9347 100644 --- a/src/VISU_I/VISU_IsoSurfaces_i.hh +++ b/src/VISU_I/VISU_IsoSurfaces_i.hh @@ -33,15 +33,17 @@ class VISU_IsoSurfacesPL; namespace VISU { + //---------------------------------------------------------------------------- class IsoSurfaces_i : public virtual POA_VISU::IsoSurfaces, public virtual ScalarMap_i { static int myNbPresent; - IsoSurfaces_i(); IsoSurfaces_i(const IsoSurfaces_i&); public: + //---------------------------------------------------------------------------- typedef ScalarMap_i TSuperClass; + typedef VISU::IsoSurfaces TInterface; explicit IsoSurfaces_i(EPublishInStudyMode thePublishInStudyModep); @@ -76,8 +78,6 @@ namespace VISU CORBA::Double GetSubMax(); - typedef VISU::IsoSurfaces TInterface; - VISU_IsoSurfacesPL* GetSpecificPL() const { @@ -129,6 +129,10 @@ namespace VISU QString GenerateName(); + virtual + const char* + GetIconName(); + virtual void ToStream(std::ostringstream& theStr); diff --git a/src/VISU_I/VISU_Mesh_i.cc b/src/VISU_I/VISU_Mesh_i.cc index b2396268..3d7f8c04 100644 --- a/src/VISU_I/VISU_Mesh_i.cc +++ b/src/VISU_I/VISU_Mesh_i.cc @@ -250,6 +250,15 @@ VISU::Mesh_i CORBA::String_var aString = GetID(); anIOR->SetValue(aString); } + + // Set icon + SALOMEDS::GenericAttribute_var anAttr; + SALOMEDS::AttributePixMap_var aPixmap; + + anAttr = aStudyBuilder->FindOrCreateAttribute(GetSObject(), "AttributePixMap"); + aPixmap = SALOMEDS::AttributePixMap::_narrow( anAttr ); + aPixmap->SetPixMap("ICON_TREE_MESH"); + }catch(std::exception& exc){ INFOS("Follow exception was occured :\n"< TSignal; + const TSignal& mySignal; + + TInvokeSignalEvent(const TSignal& theSignal): + mySignal(theSignal) + {} + + virtual + void + Execute() + { + mySignal(); + } + }; +} + //---------------------------------------------------------------------------- VISU::Prs3d_i -::~Prs3d_i() +::~Prs3d_i() { if(MYDEBUG) MESSAGE("Prs3d_i::~Prs3d_i - this = "<GetMapper(); vtkDataSet *aDataSet = aMapper->GetInput(); @@ -359,38 +380,36 @@ VISU::Prs3d_i //---------------------------------------------------------------------------- -struct TRemoveFromStudy: public SALOME_Event +void +VISU::Prs3d_i +::RemoveFromStudy() { - VISU::Prs3d_i* myRemovable; - typedef boost::signal0 TRemoveFromStudySignal; - const TRemoveFromStudySignal& myRemoveFromStudySignal; + struct TEvent: public TInvokeSignalEvent + { + VISU::Prs3d_i* myRemovable; - TRemoveFromStudy(VISU::Prs3d_i* theRemovable, - const TRemoveFromStudySignal& theRemoveFromStudySignal): - myRemovable(theRemovable), - myRemoveFromStudySignal(theRemoveFromStudySignal) + TEvent(const TSignal& theSignal, + VISU::Prs3d_i* theRemovable): + TInvokeSignalEvent(theSignal), + myRemovable(theRemovable) {} virtual void Execute() { - myRemoveFromStudySignal(); + TInvokeSignalEvent::Execute(); myRemovable->Destroy(); } }; -//---------------------------------------------------------------------------- -void -VISU::Prs3d_i -::RemoveFromStudy() -{ - ProcessVoidEvent(new TRemoveFromStudy(this,myRemoveActorsFromRendererSignal)); + + ProcessVoidEvent(new TEvent(myRemoveActorsFromRendererSignal, this)); } //---------------------------------------------------------------------------- -VISU_PipeLine* +VISU_PipeLine* VISU::Prs3d_i ::GetPipeLine() const { @@ -496,7 +515,7 @@ VISU::Prs3d_i //---------------------------------------------------------------------------- void VISU::Prs3d_i -::RemoveActor(VISU_Actor* theActor) +::RemoveActor(VISU_Actor* theActor) { if(MYDEBUG) MESSAGE("Prs3d_i::RemoveActor - this = "<GetReferenceCount()); myActorCollection->RemoveItem(theActor); @@ -508,14 +527,14 @@ VISU::Prs3d_i ::RemoveActors() { if(MYDEBUG) MESSAGE("Prs3d_i::RemoveActors - this = "<RemoveAllItems(); } //---------------------------------------------------------------------------- void VISU::Prs3d_i -::UpdateActor(VISU_Actor* theActor) +::UpdateActor(VISU_Actor* theActor) { if(MYDEBUG) MESSAGE("Prs3d_i::UpdateActor - this = "< +#include +#include +#include + +using namespace VISU; +using namespace std; + +#ifdef _DEBUG_ +static int MYDEBUG = 0; +#else +static int MYDEBUG = 0; +#endif + +static int INCMEMORY = 4; + +int VISU::PrsMerger_i::IsPossible(Result_i* theResult, const char* theMeshName, VISU::Entity theEntity, + const char* theFieldName, int theIteration, int isMemoryCheck) +{ + try{ + float aSize = INCMEMORY* + theResult->GetInput()->GetTimeStampSize(theMeshName,(VISU::TEntity)theEntity,theFieldName,theIteration); + bool aResult = true; + if(isMemoryCheck){ + aResult = VISU_PipeLine::CheckAvailableMemory(aSize); + MESSAGE("PrsMerger_i::IsPossible - CheckAvailableMemory = "<GetStudyDocument()), + Prs3d_i(theResult,theAddToStudy), + ColoredPrs3d_i(theResult,theAddToStudy), + ScalarMap_i(theResult,theAddToStudy), + myPrsMergerPL(NULL), + myScalarsPL(VISU_ScalarMapPL::New()) +{ +} + +VISU::PrsMerger_i:: +PrsMerger_i(Result_i* theResult, + SALOMEDS::SObject_ptr theSObject): + PrsObject_i(theResult->GetStudyDocument()), + Prs3d_i(theResult,theSObject), + ColoredPrs3d_i(theResult,theSObject), + ScalarMap_i(theResult,theSObject), + myPrsMergerPL(NULL), + myScalarsPL(VISU_ScalarMapPL::New()) +{ +} + +VISU::Storable* VISU::PrsMerger_i::Create(const char* theMeshName, VISU::Entity theEntity, + const char* theFieldName, int theIteration) +{ + if (MYDEBUG) MESSAGE("PrsMerger_i::Create"); + myIsColored = true; + myColor.R = myColor.G = myColor.B = 0.5; + VISU::Storable* aRes = TSuperClass::Create(theMeshName,theEntity,theFieldName,theIteration); + this->SetScalarMap(theMeshName,theEntity,theFieldName,theIteration); + + return aRes; +} + +VISU::Storable* VISU::PrsMerger_i::Restore(const Storable::TRestoringMap& theMap) +{ + if (MYDEBUG) MESSAGE("VISU::PrsMerger_i::Restore"); + + TSuperClass::Restore(theMap); + + SetScalarMap(myMeshName.c_str(), + VISU::Entity(myEntity), + myFieldName.c_str(), + myIteration); + // myMeshName = VISU::Storable::FindValue(theMap,"myMeshName").latin1(); + QStringList aStrSubMeshName = QStringList::split("|",VISU::Storable::FindValue(theMap,"myGeomNameList") ); + QStringList aStrEntity = QStringList::split("|",VISU::Storable::FindValue(theMap,"myGeomEntityList") ); + int aC1 = aStrSubMeshName.count(); + int aC2 = aStrEntity.count(); + if(aC1 != aC2){ + // warning situation + return this; + } + if(aC1 == 1) + if(aStrSubMeshName[0] == QString("NULL")) + return this; + + for(int i=0;i < aC2;i++){ + std::string aSubMeshName = aStrSubMeshName[i]; + int aEntity = aStrEntity[i].toInt(); + if(aEntity == -1){ + // add group + AddMeshOnGroup(myMeshName.c_str(), + aSubMeshName.c_str()); + } else if (aEntity >= 0){ + // entity and family + if(aSubMeshName == ""){ + // entity + SetMeshOnEntity(myMeshName.c_str(), + VISU::Entity(aEntity)); + } else { + // family + SetFamilyOnEntity(myMeshName.c_str(), + VISU::Entity(aEntity), + aSubMeshName.c_str()); + } + + } + } + + return this; +} + +void +VISU::PrsMerger_i +::SetMapScale(double theMapScale) +{ + myPrsMergerPL->SetMapScale(theMapScale); +} + +void VISU::PrsMerger_i::ToStream(std::ostringstream& theStr) +{ + if (MYDEBUG) MESSAGE("VISU::PrsMerger_i::ToStream:"); + TSuperClass::ToStream(theStr); + + QString aStrSubMeshName,aStrEntity; + TNameAndEntityList::iterator aIter = myGeomNameEntityList.begin(); + for(;aIter!=myGeomNameEntityList.end();aIter++){ + std::string aStr = aIter->first + "|"; + aStrSubMeshName.append(aStr.c_str()); + aStrEntity.append(QString::number(aIter->second) + "|"); + } + + Storable::DataToStream( theStr, "myMeshName", myMeshName.c_str() ); + Storable::DataToStream( theStr, "myGeomNameList", aStrSubMeshName.latin1()); + Storable::DataToStream( theStr, "myGeomEntityList", aStrEntity.latin1()); + +} + +void VISU::PrsMerger_i::clearMeshList() +{ + VISU_PrsMergerPL::TPipeLines::const_iterator aIter = myMeshPLList.begin(); + for(int i=0;aIter != myMeshPLList.end();aIter++,i++){ + ((*aIter).GetPointer())->Delete(); + } + myMeshPLList.clear(); + myGeomNameEntityList.clear(); +} + +void VISU::PrsMerger_i::RemoveAllGeom() +{ + clearMeshList(); + myPrsMergerPL->RemoveAllGeom(); + + UpdateIcon(); +} + + +VISU::PrsMerger_i::~PrsMerger_i(){ + if(MYDEBUG) if (MYDEBUG) MESSAGE("PrsMerger_i::~PrsMerger_i()"); + this->clearMeshList(); +} + +void +VISU::PrsMerger_i +::SameAs(const Prs3d_i* theOrigin) +{ + if (MYDEBUG) MESSAGE("VISU::PrsMerger_i::SameAs: this="<(theOrigin)){ + PrsMerger_i* anOrigin = const_cast(aPrs3d); + if (MYDEBUG) MESSAGE("VISU::PrsMerger_i::SameAs: theOrigin="<SetScalarMap(myMeshName.c_str(),VISU::Entity(myEntity),myFieldName.c_str(),myIteration); + string_array_var aGroupNames = anOrigin->getGroupNames(); + RemoveAllGeom(); + for(int i=0;ilength();i++){ + this->AddMeshOnGroup(myMeshName.c_str(),aGroupNames[i]); + } + Update(); + } +} + +void VISU::PrsMerger_i::Update() +{ + TSuperClass::Update(); +} + +VISU_Actor* +VISU::PrsMerger_i +::CreateActor(const Handle(SALOME_InteractiveObject)& theIO, bool toSupressShrinking) +{ + if (MYDEBUG) MESSAGE("VISU::PrsMerger_i::CreateActor this="<GetInput()->GetMeshOnGroup(theMeshName,theGroupName); + + VISU_MeshPL* aTmpMesh = VISU_MeshPL::New(); + aTmpMesh->SetIDMapper(anIDMapper); + + if(myPrsMergerPL->SetGeometry(aTmpMesh)){ + this->clearMeshList(); + myMeshPLList.push_back(aTmpMesh); + TPairStringAndInt aPair((std::string)theGroupName,-1); + myGeomNameEntityList.push_back(aPair); + } + else + aTmpMesh->Delete(); + + UpdateIcon(); +} + +CORBA::Long +VISU::PrsMerger_i:: +AddMeshOnGroup(const char* theMeshName, + const char* theGroupName) +{ + if (MYDEBUG) MESSAGE("VISU::PrsMerger_i::AddMeshOnGroup |"<< theGroupName <<"| this="<GetInput()->GetMeshOnGroup(theMeshName,theGroupName); + if(!anIDMapper) + MESSAGE("Warning: There are no mesh with group=|"<Delete(); +} + +void +VISU::PrsMerger_i:: +SetScalarMap(const char* theMeshName, + const VISU::Entity theEntity, + const char* theFieldName, + CORBA::Long theStampsNum) +{ + if (MYDEBUG) MESSAGE("VISU::PrsMerger_i::SetScalarMap this="<GetInput()->GetTimeStampOnMesh(theMeshName,(VISU::TEntity)theEntity,theFieldName,int(theStampsNum)); + + myEntity = (VISU::TEntity)theEntity; + myFieldName = theFieldName; + myIteration = theStampsNum; + + myScalarsPL->SetIDMapper(anIDMapper); + myPrsMergerPL->SetScalars(myScalarsPL); +} + +void +VISU::PrsMerger_i:: +SetScalarMap(VISU_PipeLine* thePipeLine) +{ + if (MYDEBUG) MESSAGE("VISU::PrsMerger_i::SetScalarMap"); + VISU_ScalarMapPL* aInputScalars = dynamic_cast(thePipeLine); + VISU::PIDMapper anIDMapper = aInputScalars->GetIDMapper(); + myScalarsPL->SetIDMapper(anIDMapper); + if(aInputScalars) + myPrsMergerPL->SetScalars(myScalarsPL); +} + +void +VISU::PrsMerger_i:: +RemoveGeometryByName(const char* theName) +{ + // not implemented yet. +} + +void +VISU::PrsMerger_i:: +RemoveGeometryById(CORBA::Long theId) +{ + if(myGeomNameEntityList.size() != myMeshPLList.size()){ + // warning situation. Some information lost + // check myGeomNameEntityList and myMeshPLList + } + + if(theId >=0 && (int)theId < myMeshPLList.size()){ + VISU_PrsMergerPL::TPipeLines::iterator aIter = myMeshPLList.begin(); + for(;aIter != myMeshPLList.end();aIter++){ + if( myMeshPLList[theId] == (*aIter)){ + myMeshPLList.erase(aIter); + break; + } + } + } + if(theId >=0 && (int)theId < myGeomNameEntityList.size()){ + TNameAndEntityList::iterator aIter = myGeomNameEntityList.begin(); + for(;aIter != myGeomNameEntityList.end();aIter++){ + if( myGeomNameEntityList[theId] == (*aIter) ){ + myGeomNameEntityList.erase(aIter); + break; + } + } + } + myPrsMergerPL->RemoveGeometryById((int)theId); +} + +void +VISU::PrsMerger_i +::DoHook(){ + if(!myPipeLine) myPipeLine = VISU_PrsMergerPL::New(); + myPrsMergerPL = dynamic_cast(myPipeLine); + myPipeLine->GetMapper()->SetScalarVisibility(IsColored()); + TSuperClass::DoHook(); +} + +const char* +VISU::PrsMerger_i +::GetIconName() +{ + if (!IsGroupsUsed()) + return "ICON_TREE_SCALAR_MAP"; + else + return "ICON_TREE_SCALAR_MAP_GROUPS"; +} + +void VISU::PrsMerger_i +::UpdateIcon() +{ + if (mySObject->_is_nil()) + return; + + SALOMEDS::StudyBuilder_var aStudyBuilder = myStudy->NewBuilder(); + + // Check if the icon needs to be updated, update if necessary + SALOMEDS::GenericAttribute_var anAttr; + SALOMEDS::AttributePixMap_var aPixmap; + + anAttr = aStudyBuilder->FindOrCreateAttribute( mySObject, "AttributePixMap" ); + aPixmap = SALOMEDS::AttributePixMap::_narrow( anAttr ); + + if ( aPixmap->GetPixMap() != (std::string)GetIconName() ) + aPixmap->SetPixMap(GetIconName()); + + // Update Object Browser + SUIT_Session* aSession = SUIT_Session::session(); + QPtrList anApplications = aSession->applications(); + QPtrListIterator anIter (anApplications); + while (SUIT_Application* aSApp = anIter.current()) { + SalomeApp_Application* anApp = dynamic_cast(aSApp); + if (!anApp) return; + SalomeApp_Study* aStudy = dynamic_cast(anApp->activeStudy()); + if (!aStudy) return; + if (_PTR(Study) aCStudy = aStudy->studyDS()) { + if (myStudy->StudyId() == aCStudy->StudyId()) { + anApp->updateObjectBrowser(); + break; + } + } + ++anIter; + } +} + +CORBA::Long +VISU::PrsMerger_i +::GetNumberOfGeom() +{ + if(myPrsMergerPL) + return myPrsMergerPL->GetNbGeometry(); + else + return 0; +} + +string_array* +VISU::PrsMerger_i +::getGroupNames() +{ + string_array_var myseq = new string_array; + if(myPrsMergerPL){ + vector aGroupNames; + TNameAndEntityList::const_iterator aIter = myGeomNameEntityList.begin(); + for(;aIter!=myGeomNameEntityList.end();aIter++){ + TPairStringAndInt aPair = (*aIter); + if(aPair.second == -1) + aGroupNames.push_back(aPair.first); + } + myseq->length(aGroupNames.size()); + vector::const_iterator aNamesIter = aGroupNames.begin(); + for(int i=0;aNamesIter!=aGroupNames.end();i++,aNamesIter++){ + myseq[i] = CORBA::string_dup((*aNamesIter).c_str()); + } + } + return myseq._retn(); +} + +bool +VISU::PrsMerger_i +::CheckGroup(const char* theGroupName) +{ + if (MYDEBUG) MESSAGE("PrsMerger_i::CheckGroup :|"<GetInput()->GetMeshOnGroup(aMeshName,theGroupName); + if (MYDEBUG) MESSAGE("anIDMapper="<GetVTKOutput()->GetNumberOfCells(); + if(aNbCellsInGeom>0){ + int aVtkCellType = anIDMapper->GetVTKOutput()->GetCellType(0); + if (MYDEBUG) MESSAGE("CellType="< TPairStringAndInt; + typedef std::vector TNameAndEntityList; + + explicit + PrsMerger_i(Result_i* theResult, + bool theAddToStudy); + explicit + PrsMerger_i(Result_i* theResult, + SALOMEDS::SObject_ptr theSObject); + virtual void SameAs(const Prs3d_i* theOrigin); + virtual ~PrsMerger_i(); + + virtual VISU::VISUType GetType() { return VISU::TPRSMERGER;}; + + virtual CORBA::Boolean IsColored() { return myIsColored; } + virtual void ShowColored(CORBA::Boolean theColored) { myIsColored = theColored; } + + virtual SALOMEDS::Color GetColor() { return myColor;} + virtual void SetColor(const SALOMEDS::Color& theColor) { myColor = theColor;} + + VISU_PrsMergerPL* GetPrsMergerPL(){ return myPrsMergerPL;} + + virtual void Update(); + + protected: + virtual void DoHook(); + virtual const char* GetIconName(); + void UpdateIcon(); + void clearMeshList(); + + VISU_PrsMergerPL* myPrsMergerPL; + VISU_PrsMergerPL::TPipeLines myMeshPLList; + VISU_ScalarMapPL* myScalarsPL; + + SALOMEDS::Color myColor; + bool myIsColored; + + /*! Warning! This variable must be maked as list, if + * you we will need in different mesh entities (ENTITY,FAMILY,GROUP) as geometries. + */ + TNameAndEntityList myGeomNameEntityList; + + public: + static int IsPossible(Result_i* theResult, const char* theMeshName, VISU::Entity theEntity, + const char* theFieldName, int theIteration, int isMemoryCheck = true); + + virtual Storable* Create(const char* theMeshName, VISU::Entity theEntity, + const char* theFieldName, int theIteration); + + virtual void ToStream(std::ostringstream& theStr); + + virtual Storable* Restore(const Storable::TRestoringMap& theMap); + + virtual + void + SetMapScale(double theMapScale = 1.0); + + static const std::string myComment; + virtual const char* GetComment() const; + virtual QString GenerateName(); + + virtual + VISU_Actor* + CreateActor(const Handle(SALOME_InteractiveObject)& theIO = NULL); + + virtual + VISU_Actor* + CreateActor(const Handle(SALOME_InteractiveObject)& theIO, bool toSupressShrinking); + + virtual void UpdateActor(VISU_Actor* theActor) ; + + /*! + * Sets geometry of mesh as group + */ + virtual void SetMeshOnGroup(const char* theMeshName, + const char* theGroupName); + + /*! + * Add geometry of mesh as group + * \retval the id of added group. + */ + virtual CORBA::Long AddMeshOnGroup(const char* theMeshName, + const char* theGroupName); + + /*! + * Remove geometry from list by Name + */ + virtual void RemoveGeometryByName(const char* theName); + + /*! + * Removes geometry from list by id + * Note: theId number in [0,...] + * + * Waring: if you delete not 0 element, others indexes will be increased. + * Example: + * 0,1,2,3,4 - indexes + * remove 2 index + * new sequence: + * 0,1,2,3,4 , where are 0 = 0, 1 = 1, 3 = 2, 4 = 3. + */ + virtual void RemoveGeometryById(CORBA::Long theId); + + + /*! + * Sets geometry of mesh as family on entity + */ + virtual void SetFamilyOnEntity(const char* theMeshName, + const VISU::Entity theEntity, + const char* theFamilyName); + + /*! + * Sets geometry of mesh as mesh on entity + */ + virtual void SetMeshOnEntity(const char* theMeshName, + const VISU::Entity theEntity); + + + /*! + * Sets scalars as scalar map + */ + virtual void SetScalarMap(const char* theMeshName, + VISU::Entity theEntity, + const char* theFieldName, + CORBA::Long theStampsNum); + + /*! + * Get number of geometries. + */ + CORBA::Long GetNumberOfGeom(); + + + /*! + * Get group names. + */ + string_array* getGroupNames(); + + /*! + * Sets scalars as scalar map + */ + void SetScalarMap(VISU_PipeLine* thePipeLine); + + /*! + * Removes all geometries. + */ + virtual void RemoveAllGeom(); + + + /*! Warning! + * see \a myGeomNameEntityList + */ + virtual CORBA::Long GetMeshGeometryPlace(CORBA::Long theId){return CORBA::Long(1);};// must bee filled + + /*! + * Return true, if group is good, esle false. + * May be used, if SetScalarMap(...) olready . + */ + bool CheckGroup(const char* theGroupName); + + }; + +} + +#endif diff --git a/src/VISU_I/VISU_Result_i.cc b/src/VISU_I/VISU_Result_i.cc index 86f12f43..766130ec 100644 --- a/src/VISU_I/VISU_Result_i.cc +++ b/src/VISU_I/VISU_Result_i.cc @@ -52,6 +52,7 @@ #include #include #include +#include // VTK Includes #include @@ -64,7 +65,7 @@ using namespace VISU; using namespace std; #ifdef _DEBUG_ -static int MYDEBUG = 0; +static int MYDEBUG = 1; static int MYTIMEDEBUG = 0; #else static int MYDEBUG = 0; @@ -261,8 +262,8 @@ namespace VISU aName->SetValue(theName); } if (theComment != "") { - anAttr = aStudyBuilder->FindOrCreateAttribute(aNewObj, "AttributeComment"); - _PTR(AttributeComment) aCmnt (anAttr); + anAttr = aStudyBuilder->FindOrCreateAttribute(aNewObj, "AttributeString"); + _PTR(AttributeString) aCmnt (anAttr); aCmnt->SetValue(theComment); } return aNewObj->GetID(); @@ -295,8 +296,8 @@ namespace VISU aName->SetValue(theName); } if (theComment != "") { - anAttr = aStudyBuilder->FindOrCreateAttribute(aSObject, "AttributeComment"); - _PTR(AttributeComment) aCmnt (anAttr); + anAttr = aStudyBuilder->FindOrCreateAttribute(aSObject, "AttributeString"); + _PTR(AttributeString) aCmnt (anAttr); aCmnt->SetValue(theComment); } } @@ -1053,11 +1054,22 @@ VISU::Result_i theIsAtOnce = true; if(Build(SALOMEDS::SObject::_nil(),theIsAtOnce)){ + + // Set icon + SALOMEDS::StudyBuilder_var aStudyBuilder = myStudyDocument->NewBuilder(); + + SALOMEDS::GenericAttribute_var anAttr; + SALOMEDS::AttributePixMap_var aPixmap; + + anAttr = aStudyBuilder->FindOrCreateAttribute( mySObject, "AttributePixMap" ); + aPixmap = SALOMEDS::AttributePixMap::_narrow( anAttr ); + aPixmap ->SetPixMap("ICON_TREE_RESULT"); + if(theIsBuildAll) return BuildAll(); return true; } - + return false; } @@ -1180,8 +1192,11 @@ Create(const char* theFileName) if(mySourceId == eRestoredFile){ std::string aTmpDir(SALOMEDS_Tool::GetTmpDir()); static QString aCommand; - aCommand.sprintf("cp %s %s",myFileInfo.absFilePath().latin1(),aTmpDir.c_str()); - if(system(aCommand) == -1){ + aCommand.sprintf(" %s %s", myFileInfo.absFilePath().latin1(), aTmpDir.c_str() ); + aCommand = QDir::convertSeparators( aCommand ); + aCommand.prepend( COPY_COMMAND ); + + if(system(aCommand.latin1()) == -1){ MESSAGE("Create - Can't execute the command :"<NewBuilder(); SALOMEDS::Driver_var aDriver = SALOMEDS::Driver::_narrow(aEngComp); aStudyBuilder->LoadWith(aCompRefSObj, aDriver); + /* if (strcmp(aDataType, "MED") == 0){ // create field or MED converter CORBA::Object_var aMedObject = VISU::SObjectToObject(aTargetRefSObj); @@ -1306,6 +1322,24 @@ Restore(SALOMEDS::SObject_ptr theSObject, myInput->Build(); }else throw std::runtime_error("GetInput - There is no convertor for the aDataType !!!"); + //*/ + + // create field or MED converter + CORBA::Object_var aMedObject = VISU::SObjectToObject(aTargetRefSObj); + SALOME_MED::FIELD_var aField = SALOME_MED::FIELD::_narrow(aMedObject); + if (!CORBA::is_nil(aField)) { + // create field converter + myInput = CreateMEDFieldConvertor(aField); + myInput->Build(); + } + else if (strcmp(aDataType, "MED") == 0) { + // create MED converter + myInput = CreateMEDConvertor(aTargetRefSObj); + myInput->Build(); + } + else { + throw std::runtime_error("GetInput - There is no convertor for the aDataType !!!"); + } } else { myFileInfo.setFile(thePrefix.c_str()); @@ -1329,8 +1363,11 @@ Restore(SALOMEDS::SObject_ptr theSObject, if (IsMultifile()) { // set this file as new - temporary static QString aCommand; - aCommand.sprintf("mv %s %s%s",aHDFFileName, aResultPath, myFileInfo.baseName().latin1()); - if (system(aCommand) == -1) { + aCommand.sprintf(" %s %s%s",aHDFFileName, aResultPath, myFileInfo.baseName().latin1()); + aCommand = QDir::convertSeparators( aCommand ); + aCommand.prepend( MOVE_COMMAND ); + + if (system(aCommand.latin1()) == -1) { if(MYDEBUG) MESSAGE("VISU::Result_i::Restore - Can't execute the command :" << aCommand); return NULL; } else { @@ -1339,8 +1376,11 @@ Restore(SALOMEDS::SObject_ptr theSObject, myFileInfo.setFile(QString(aResultPath) + QString(myFileInfo.baseName().latin1())); } else { // change current temporary file to the new: with hdf-format static QString aCommand; - aCommand.sprintf("mv %s %s\0",aHDFFileName, myFileInfo.filePath().latin1()); - if (system(aCommand.latin1()) == -1) { + aCommand.sprintf(" %s %s\0",aHDFFileName, myFileInfo.filePath().latin1()); + aCommand = QDir::convertSeparators( aCommand ); + aCommand.prepend( MOVE_COMMAND ); + + if (system(aCommand.latin1()) == -1) { if(MYDEBUG) MESSAGE("VISU::Result_i::Restore - Can't execute the command :" << aCommand); return NULL; } else { @@ -1379,9 +1419,9 @@ Restore(SALOMEDS::SObject_ptr theSObject, GetComment(), VISU::TRESULT, myFileInfo.filePath().latin1(), myInitFileName.c_str()); // Restoring of Python dump SALOMEDS::GenericAttribute_var anAttr; - if (!theSObject->FindAttribute(anAttr, "AttributeComment")) - throw std::runtime_error("Build - There is no AttributeComment for the SObject !!!"); - SALOMEDS::AttributeComment_var aCmnt = SALOMEDS::AttributeComment::_narrow(anAttr); + if (!theSObject->FindAttribute(anAttr, "AttributeString")) + throw std::runtime_error("Build - There is no AttributeString for the SObject !!!"); + SALOMEDS::AttributeString_var aCmnt = SALOMEDS::AttributeString::_narrow(anAttr); aCmnt->SetValue(aComment.latin1()); } bool anIsBuildAll = VISU::GetResourceMgr()->booleanValue("VISU", "full_med_loading", false); @@ -1561,10 +1601,20 @@ VISU::Result_i MESSAGE("Result_i::~Result_i() - this = "<second; VISU::PUnstructuredGridIDMapper anIDMapper = myInput->GetMeshOnEntity(theMeshName, CELL_ENTITY); vtkUnstructuredGrid* aMesh = anIDMapper->GetUnstructuredGridOutput(); - + if ( !aMesh || aMesh->GetNumberOfCells() == 0 ) { MESSAGE( "No cells in the mesh: " << theMeshName ); return components; } - - // define axis directions and min cell size in each direction - const int nbAxes = 3; - int iAx; - gp_Vec axDirs[ nbAxes ]; - float minSize[3] = { FLT_MAX, FLT_MAX, FLT_MAX }; - bool axesComputed = false; - for ( vtkIdType iCell = 0; iCell < aMesh->GetNumberOfCells(); ++iCell ) - { - vtkCell* cell = aMesh->GetCell( iCell ); - int nbPnt = cell->GetNumberOfPoints(); - if ( nbPnt != 8 ) - continue; - vtkPoints * points = cell->GetPoints(); - vtkFloatingPointType* coords[ 4 ]; - coords[0] = points->GetPoint( 0 ); - coords[1] = points->GetPoint( 1 ); - coords[2] = points->GetPoint( 3 ); - coords[3] = points->GetPoint( 4 ); - gp_Pnt p0( coords[0][0], coords[0][1], coords[0][2] ); - for ( iAx = 0; iAx < nbAxes; ++iAx ) - { - vtkFloatingPointType* coo = coords[ iAx + 1 ]; - gp_Pnt p( coo[0], coo[1], coo[2] ); - // min size - vtkFloatingPointType size = p0.SquareDistance( p ); - if ( size > FLT_MIN && size < minSize[ iAx ] ) - minSize[ iAx ] = size; - // axis direction - if ( !axesComputed ) { - gp_Vec dir( p0, p ); - if ( dir.SquareMagnitude() <= DBL_MIN ) - break; - axDirs[ iAx ] = dir; - } + + if(!theMesh->IsStructured() || theMesh->myType){ + // define axis directions and min cell size in each direction + const int nbAxes = 3; + int iAx; + gp_Vec axDirs[ nbAxes ]; + float minSize[3] = { FLT_MAX, FLT_MAX, FLT_MAX }; + bool axesComputed = false; + for ( vtkIdType iCell = 0; iCell < aMesh->GetNumberOfCells(); ++iCell ) + { + vtkCell* cell = aMesh->GetCell( iCell ); + int nbPnt = cell->GetNumberOfPoints(); + if ( nbPnt != 8 ) + continue; + vtkPoints * points = cell->GetPoints(); + vtkFloatingPointType* coords[ 4 ]; + coords[0] = points->GetPoint( 0 ); + coords[1] = points->GetPoint( 1 ); + coords[2] = points->GetPoint( 3 ); + coords[3] = points->GetPoint( 4 ); + gp_Pnt p0( coords[0][0], coords[0][1], coords[0][2] ); + for ( iAx = 0; iAx < nbAxes; ++iAx ) + { + vtkFloatingPointType* coo = coords[ iAx + 1 ]; + gp_Pnt p( coo[0], coo[1], coo[2] ); + // min size + vtkFloatingPointType size = p0.SquareDistance( p ); + if ( size > FLT_MIN && size < minSize[ iAx ] ) + minSize[ iAx ] = size; + // axis direction + if ( !axesComputed ) { + gp_Vec dir( p0, p ); + if ( dir.SquareMagnitude() <= DBL_MIN ) + break; + axDirs[ iAx ] = dir; + } + } + if ( iAx == nbAxes ) + axesComputed = true; + } + if ( !axesComputed ) { + MESSAGE("No good hexahedrons in the mesh: " << theMeshName ); + return components; } - if ( iAx == nbAxes ) - axesComputed = true; - } - if ( !axesComputed ) { - MESSAGE("No good hexahedrons in the mesh: " << theMeshName ); - return components; - } - - // compute axes dirs - gInfo = & myMeshName2GridInfoMap[ theMeshName ]; - for ( iAx = 0; iAx < nbAxes; ++iAx ) - { - int iPrev = ( iAx == 0 ) ? 2 : iAx - 1; - int iNext = ( iAx == 2 ) ? 0 : iAx + 1; - gInfo->myAxis[ iAx ] = axDirs[ iPrev ] ^ axDirs[ iNext ]; - } - - // get and sort intermediate component values - projections of nodes - // on axis direction; define bnd box - set< vtkFloatingPointType > comps[ 3 ]; - Bnd_Box box; - vtkPoints * points = aMesh->GetPoints(); - vtkIdType iP, nbP = aMesh->GetNumberOfPoints(); - for ( iP = 0; iP < nbP; ++iP ) - { - vtkFloatingPointType* coo = points->GetPoint( iP ); - gp_Pnt p( coo[0], coo[1], coo[2] ); - box.Add( p ); + + // compute axes dirs + gInfo = & myMeshName2GridInfoMap[ theMeshName ]; + for ( iAx = 0; iAx < nbAxes; ++iAx ) + { + int iPrev = ( iAx == 0 ) ? 2 : iAx - 1; + int iNext = ( iAx == 2 ) ? 0 : iAx + 1; + gInfo->myAxis[ iAx ] = axDirs[ iPrev ] ^ axDirs[ iNext ]; + } + + // get and sort intermediate component values - projections of nodes + // on axis direction; define bnd box + set< vtkFloatingPointType > comps[ 3 ]; + Bnd_Box box; + vtkPoints * points = aMesh->GetPoints(); + vtkIdType iP, nbP = aMesh->GetNumberOfPoints(); + for ( iP = 0; iP < nbP; ++iP ) + { + vtkFloatingPointType* coo = points->GetPoint( iP ); + gp_Pnt p( coo[0], coo[1], coo[2] ); + box.Add( p ); + for ( iAx = 0; iAx < nbAxes; ++iAx ) { + const gp_Dir& dir = gInfo->myAxis[ iAx ]; + vtkFloatingPointType dot = dir.XYZ() * p.XYZ(); + comps[ iAx ].insert( dot ); + } + } + + // find a range of projections of bnd box corners on each axis + vtkFloatingPointType range[3], firstValue[3]; + double x[2],y[2],z[2]; + box.Get(x[0],y[0],z[0],x[1],y[1],z[1]); for ( iAx = 0; iAx < nbAxes; ++iAx ) { - const gp_Dir& dir = gInfo->myAxis[ iAx ]; - vtkFloatingPointType dot = dir.XYZ() * p.XYZ(); - comps[ iAx ].insert( dot ); + set< vtkFloatingPointType > bndComps; + const gp_Dir& dir = gInfo->myAxis[ iAx ]; + for ( int iX = 0; iX < 2; ++iX ) { + for ( int iY = 0; iY < 2; ++iY ) { + for ( int iZ = 0; iZ < 2; ++iZ ) { + gp_Pnt p( x[ iX ], y[ iY ], z[ iZ ] ); + vtkFloatingPointType dot = dir.XYZ() * p.XYZ(); + bndComps.insert( dot ); + } + } + } + firstValue[ iAx ] = *bndComps.begin(); + range[ iAx ] = *bndComps.rbegin() - *bndComps.begin(); } + + // compute component values + for ( iAx = 0; iAx < nbAxes; ++iAx ) + { + list< vtkFloatingPointType > values; + int nbVals = 0; + set< vtkFloatingPointType >& comp = comps[ iAx ]; + set< vtkFloatingPointType >::iterator val = comp.begin(); + vtkFloatingPointType bnd = -1., rng = range[ iAx ], first = firstValue[ iAx ]; + vtkFloatingPointType tol = 0.1 * sqrt( minSize[ iAx ]) / rng; + for ( ; val != comp.end(); ++val ) { + vtkFloatingPointType value = ( *val - first ) / rng; + if ( value > bnd ) { + values.push_back( value ); + bnd = value + tol; + nbVals++; + } + } + // store values in gInfo + vector< vtkFloatingPointType >& myComp = gInfo->myComponets[ iAx ]; + myComp.resize( nbVals ); + list< vtkFloatingPointType >::iterator v = values.begin(); + for ( int i = 0; v != values.end(); ++v ){ + myComp[ i++ ] = *v; + } + } } - - // find a range of projections of bnd box corners on each axis - vtkFloatingPointType range[3], firstValue[3]; - double x[2],y[2],z[2]; - box.Get(x[0],y[0],z[0],x[1],y[1],z[1]); - for ( iAx = 0; iAx < nbAxes; ++iAx ) { - set< vtkFloatingPointType > bndComps; - const gp_Dir& dir = gInfo->myAxis[ iAx ]; - for ( int iX = 0; iX < 2; ++iX ) { - for ( int iY = 0; iY < 2; ++iY ) { - for ( int iZ = 0; iZ < 2; ++iZ ) { - gp_Pnt p( x[ iX ], y[ iY ], z[ iZ ] ); - vtkFloatingPointType dot = dir.XYZ() * p.XYZ(); - bndComps.insert( dot ); - } - } + else { + //ENK: 23.11.2006 - PAL13176 - EDF228 VISU : Enhancement of structured datas processing + TIdTypeVector aIndexes = theMesh->GetStructure(); + + gInfo = & myMeshName2GridInfoMap[ theMeshName ]; + switch(aIndexes.size()){ + case 3: + { + gp_Dir aDir(0.0,0.0,1.0); + gInfo->myAxis[ 2 ] = aDir; + } + case 2: + { + gp_Dir aDir(0.0,1.0,0.0); + gInfo->myAxis[ 1 ] = aDir; + } + case 1: + { + gp_Dir aDir(1.0,0.0,0.0); + gInfo->myAxis[ 0 ] = aDir; + } } - firstValue[ iAx ] = *bndComps.begin(); - range[ iAx ] = *bndComps.rbegin() - *bndComps.begin(); - } - - // compute component values - for ( iAx = 0; iAx < nbAxes; ++iAx ) - { - list< vtkFloatingPointType > values; - int nbVals = 0; - set< vtkFloatingPointType >& comp = comps[ iAx ]; - set< vtkFloatingPointType >::iterator val = comp.begin(); - vtkFloatingPointType bnd = -1., rng = range[ iAx ], first = firstValue[ iAx ]; - vtkFloatingPointType tol = 0.1 * sqrt( minSize[ iAx ]) / rng; - for ( ; val != comp.end(); ++val ) { - vtkFloatingPointType value = ( *val - first ) / rng; - if ( value > bnd ) { - values.push_back( value ); - bnd = value + tol; - nbVals++; - } + + int nbPoints = aMesh->GetNumberOfPoints(); + vtkFloatingPointType* coords[ 2 ]; + if(nbPoints>1){ + coords[0] = aMesh->GetPoints()->GetPoint(0); + coords[1] = aMesh->GetPoints()->GetPoint(nbPoints-1); } - // store values in gInfo - vector< vtkFloatingPointType >& myComp = gInfo->myComponets[ iAx ]; - myComp.resize( nbVals ); - list< vtkFloatingPointType >::iterator v = values.begin(); - for ( int i = 0; v != values.end(); ++v ) - myComp[ i++ ] = *v; + + vector PointsCoords[3]; + TIdTypeVector aCoordIJK; + switch(aIndexes.size()){ + case 3: + { + vtkIdType nbZ = aIndexes[2]; + aCoordIJK.clear(); + aCoordIJK.resize(aIndexes.size(),1); + for(int i=0;iGetObjectIDByIndexes(aCoordIJK); + vtkIdType aVTKID = anIDMapper->GetNodeVTKID(aObjID); + vtkFloatingPointType* aPCoord = aMesh->GetPoints()->GetPoint(aVTKID); + PointsCoords[2].push_back(aPCoord[2]); + } + } + case 2: + { + vtkIdType nbJ = aIndexes[1]; + aCoordIJK.clear(); + aCoordIJK.resize(aIndexes.size(),1); + for(int i=0;iGetObjectIDByIndexes(aCoordIJK); + vtkIdType aVTKID = anIDMapper->GetNodeVTKID(aObjID); + vtkFloatingPointType* aPCoord = aMesh->GetPoints()->GetPoint(aVTKID); + PointsCoords[1].push_back(aPCoord[1]); + } + } + case 1: + { + vtkIdType nbI = aIndexes[0]; + aCoordIJK.clear(); + aCoordIJK.resize(aIndexes.size(),1); + for(int i=0;iGetObjectIDByIndexes(aCoordIJK); + vtkIdType aVTKID = anIDMapper->GetNodeVTKID(aObjID); + vtkFloatingPointType* aPCoord = aMesh->GetPoints()->GetPoint(aVTKID); + PointsCoords[0].push_back(aPCoord[0]); + } + } + } + for(int i=0;i& myComp = gInfo->myComponets[ i ]; + int aSize = PointsCoords[i].size(); + if(aSize>0){ + vtkFloatingPointType aLen = PointsCoords[i][aSize-1] - PointsCoords[i][0]; + myComp.resize(aSize); + myComp[0] = 0; + for(int k=1;k #include -using namespace VISU; -using namespace std; - #ifdef _DEBUG_ static int MYDEBUG = 0; #else @@ -137,13 +133,14 @@ VISU::ScalarMapOnDeformedShape_i { myIsColored = true; myColor.R = myColor.G = myColor.B = 0.5; - VISU::Storable* aRes = TSuperClass::Create(theMeshName,theEntity,theFieldName,theTimeStampNumber); - SetScalarFieldName(theFieldName); - SetScalarIteration(theTimeStampNumber); - SetScalarMeshName(theMeshName); - int anEntity = theEntity; - SetScalarEntity(VISU::TEntity(anEntity)); - SetCScalarField(myScalarMeshName,myScalarFieldName,myScalarIteration,myScalarEntity); + VISU::Storable* aRes = TSuperClass::Create(theMeshName, + theEntity, + theFieldName, + theTimeStampNumber); + SetScalarField(theMeshName.c_str(), + theFieldName.c_str(), + theTimeStampNumber, + theEntity); return aRes; } @@ -157,14 +154,16 @@ VISU::ScalarMapOnDeformedShape_i if(!TSuperClass::Restore(theStudy, theMap)) return NULL; - SetScalarFieldName(VISU::Storable::FindValue(theMap,"myScalarFieldName")); - SetScalarMeshName(VISU::Storable::FindValue(theMap,"myScalarMeshName")); - SetScalarIteration(VISU::Storable::FindValue(theMap,"myScalarIteration").toInt()); - SetScalarEntity(VISU::TEntity(VISU::Storable::FindValue(theMap,"myScalarEntity").toInt())); - SetCScalarField(GetScalarMeshName(), - GetScalarFieldName(), - GetScalarIteration(), - GetScalarEntity()); + QString aMeshName = VISU::Storable::FindValue(theMap,"myScalarMeshName"); + VISU::Entity anEntity = VISU::Entity(VISU::Storable::FindValue(theMap,"myScalarFieldName").toInt()); + + QString aFieldName = VISU::Storable::FindValue(theMap,"myScalarFieldName"); + int aTimeStampNumber = VISU::Storable::FindValue(theMap,"myScalarFieldName").toInt(); + + SetScalarField(aMeshName, + aFieldName, + aTimeStampNumber, + anEntity); SetScale(VISU::Storable::FindValue(theMap,"myFactor").toDouble()); myIsColored = VISU::Storable::FindValue(theMap,"myIsColored").toInt(); @@ -185,7 +184,7 @@ VISU::ScalarMapOnDeformedShape_i Storable::DataToStream( theStr, "myScalarFieldName", myScalarFieldName.c_str()); Storable::DataToStream( theStr, "myScalarMeshName", myScalarMeshName.c_str()); - Storable::DataToStream( theStr, "myScalarIteration", myScalarIteration); + Storable::DataToStream( theStr, "myScalarIteration", int(myScalarIteration)); Storable::DataToStream( theStr, "myScalarEntity", int(myScalarEntity)); Storable::DataToStream( theStr, "myFactor", GetScale() ); @@ -209,19 +208,17 @@ void VISU::ScalarMapOnDeformedShape_i ::SameAs(const Prs3d_i* theOrigin) { - int theScalarIter = this->GetScalarIteration(); - string theScalarMeshName = this->GetScalarMeshName(); - string theScalarFieldName = this->GetScalarFieldName(); - TSuperClass::SameAs(theOrigin); if(const ScalarMapOnDeformedShape_i* aPrs3d = dynamic_cast(theOrigin)){ ScalarMapOnDeformedShape_i* anOrigin = const_cast(aPrs3d); + CORBA::String_var aMeshName = anOrigin->GetScalarCMeshName(); + CORBA::String_var aFieldName = anOrigin->GetScalarCFieldName(); - this->SetCScalarField(anOrigin->GetScalarMeshName(), - anOrigin->GetScalarFieldName(), - theScalarIter, - anOrigin->GetScalarEntity()); + SetScalarField(aMeshName, + aFieldName, + anOrigin->GetScalarLIteration(), + anOrigin->GetScalarEEntity()); Update(); } } @@ -346,136 +343,84 @@ VISU::ScalarMapOnDeformedShape_i //--------------------------------------------------------------- void VISU::ScalarMapOnDeformedShape_i -::SetCScalarField(const std::string& theMeshName, - const std::string& theFieldName, - int theIteration, - VISU::TEntity theEntity) +::SetScalarField(const char* theMeshName, + const char* theFieldName, + CORBA::Long theTimeStampNumber, + VISU::Entity theEntity) { + bool anIsModified = false; + + if(!anIsModified) + anIsModified |= myScalarMeshName != theMeshName; + + if(!anIsModified) + anIsModified |= myScalarEntity != theEntity; + + if(!anIsModified) + anIsModified |= myScalarFieldName != theFieldName; + + if(!anIsModified) + anIsModified |= myScalarIteration != theTimeStampNumber; + + if(!anIsModified) + return; + + VISU::TEntity aEntity = VISU::TEntity(theEntity); VISU::Result_i::TInput* anInput = GetCResult()->GetInput(); - SetField(anInput->GetField(theMeshName,theEntity,theFieldName)); + SetField(anInput->GetField(theMeshName, aEntity, theFieldName)); VISU::PUnstructuredGridIDMapper anIDMapper = anInput->GetTimeStampOnMesh(theMeshName, - theEntity, + aEntity, theFieldName, - theIteration); + theTimeStampNumber); vtkUnstructuredGrid* anOutput = anIDMapper->GetUnstructuredGridOutput(); if(myScalarMapOnDeformedShapePL && anOutput) myScalarMapOnDeformedShapePL->SetScalars(anOutput); - this->SetScalarMeshName(theMeshName); - this->SetScalarFieldName(theFieldName); - this->SetScalarIteration(theIteration); - this->SetScalarEntity(theEntity); + myScalarMeshName = theMeshName; + myScalarEntity = theEntity; + myScalarFieldName = theFieldName; + myScalarIteration = theTimeStampNumber; + myParamsTime.Modified(); } //--------------------------------------------------------------- -void +char* VISU::ScalarMapOnDeformedShape_i -::SetScalarField(const char* theMeshName, - const char* theFieldName, - CORBA::Long theIteration, - VISU::Entity theEntity) +::GetScalarCMeshName() { - this->SetCScalarField(theMeshName,theFieldName,(int)theIteration,VISU::TEntity(theEntity)); + return CORBA::string_dup(myScalarMeshName.c_str()); } //--------------------------------------------------------------- -void -VISU::ScalarMapOnDeformedShape_i -::SetScalarMeshName(const std::string& theName) -{ - if(myScalarMeshName != theName){ - myScalarMeshName = theName; - myParamsTime.Modified(); - } -} - -//--------------------------------------------------------------- -std::string +VISU::Entity VISU::ScalarMapOnDeformedShape_i -::GetScalarMeshName() -{ - return myScalarMeshName; -} - -//--------------------------------------------------------------- -void -VISU::ScalarMapOnDeformedShape_i -::SetScalarFieldName(const std::string& theName) +::GetScalarEEntity() { - if(myScalarFieldName != theName){ - myScalarFieldName = theName; - myParamsTime.Modified(); - } + return myScalarEntity; } -//--------------------------------------------------------------- -std::string -VISU::ScalarMapOnDeformedShape_i -::GetScalarFieldName() -{ - return myScalarFieldName; -} //--------------------------------------------------------------- -void +char* VISU::ScalarMapOnDeformedShape_i -::SetScalarIteration(const int theValue) +::GetScalarCFieldName() { - if(myScalarIteration != theValue){ - myScalarIteration = theValue; - myParamsTime.Modified(); - } + return CORBA::string_dup(myScalarFieldName.c_str()); } //--------------------------------------------------------------- -int +CORBA::Long VISU::ScalarMapOnDeformedShape_i -::GetScalarIteration() +::GetScalarLIteration() { return myScalarIteration; } -//--------------------------------------------------------------- -void -VISU::ScalarMapOnDeformedShape_i -::SetScalarEntity(const VISU::TEntity theValue) -{ - if(myScalarEntity != theValue){ - myScalarEntity = theValue; - myParamsTime.Modified(); - } -} - -//--------------------------------------------------------------- -VISU::TEntity -VISU::ScalarMapOnDeformedShape_i -::GetScalarEntity() -{ - return myScalarEntity; -} - -//--------------------------------------------------------------- -void -VISU::ScalarMapOnDeformedShape_i -::SetScalarEEntity(const VISU::Entity theValue) -{ - VISU::TEntity anEntity = VISU::TEntity(theValue); - if(myScalarEntity != anEntity){ - myScalarEntity = anEntity; - myParamsTime.Modified(); - } -} //--------------------------------------------------------------- -VISU::Entity -VISU::ScalarMapOnDeformedShape_i -::GetScalarEEntity() -{ - return VISU::Entity(myScalarEntity); -} diff --git a/src/VISU_I/VISU_ScalarMapOnDeformedShape_i.hh b/src/VISU_I/VISU_ScalarMapOnDeformedShape_i.hh index 8be0305f..b5a8a056 100644 --- a/src/VISU_I/VISU_ScalarMapOnDeformedShape_i.hh +++ b/src/VISU_I/VISU_ScalarMapOnDeformedShape_i.hh @@ -33,19 +33,19 @@ class VISU_ScalarMapOnDeformedShapePL; namespace VISU { - + //---------------------------------------------------------------------------- //! Class of Scalar Map on Deformed Shape presentation. - class ScalarMapOnDeformedShape_i : public virtual POA_VISU::ScalarMapOnDeformedShape, - public virtual ScalarMap_i + class VISU_I_EXPORT ScalarMapOnDeformedShape_i : public virtual POA_VISU::ScalarMapOnDeformedShape, + public virtual ScalarMap_i { static int myNbPresent; - ScalarMapOnDeformedShape_i(); ScalarMapOnDeformedShape_i(const ScalarMapOnDeformedShape_i&); public: - + //---------------------------------------------------------------------------- typedef ScalarMap_i TSuperClass; - + typedef VISU::ScalarMapOnDeformedShape TInterface; + explicit ScalarMapOnDeformedShape_i(EPublishInStudyMode thePublishInStudyModep); @@ -87,8 +87,6 @@ namespace VISU void SameAs(const Prs3d_i* theOrigin); - typedef VISU::ScalarMapOnDeformedShape TInterface; - VISU_ScalarMapOnDeformedShapePL* GetSpecificPL() { @@ -111,8 +109,8 @@ namespace VISU bool myIsColored; std::string myScalarMeshName; std::string myScalarFieldName; - VISU::TEntity myScalarEntity; - int myScalarIteration; + VISU::Entity myScalarEntity; + CORBA::Long myScalarIteration; public: //! Redefines VISU_ColoredPrs3d_i::IsPossible @@ -154,6 +152,10 @@ namespace VISU QString GenerateName(); + virtual + const char* + GetIconName(); + virtual VISU_Actor* CreateActor(); @@ -162,59 +164,28 @@ namespace VISU void UpdateActor(VISU_Actor* theActor) ; - virtual - void - SetCScalarField(const std::string& theMeshName, - const std::string& theFieldName, - int theIteration, - VISU::TEntity theEntity); - virtual void SetScalarField(const char* theMeshName, const char* theFieldName, - CORBA::Long theIteration, - VISU::Entity theEntity); - - virtual - void - SetScalarFieldName(const std::string& theName); - - virtual - std::string - GetScalarFieldName(); + CORBA::Long theTimeStampNumber, + VISU::Entity theEntity); virtual - void - SetScalarIteration(const int theValue); + char* + GetScalarCMeshName(); virtual - int - GetScalarIteration(); - - virtual - void - SetScalarMeshName(const std::string& theName); - - virtual - std::string - GetScalarMeshName(); - - virtual - void - SetScalarEntity(const VISU::TEntity theValue); + VISU::Entity + GetScalarEEntity(); virtual - VISU::TEntity - GetScalarEntity(); + char* + GetScalarCFieldName(); virtual - void - SetScalarEEntity(const VISU::Entity theValue); - - virtual - VISU::Entity - GetScalarEEntity(); + CORBA::Long + GetScalarLIteration(); }; } #endif diff --git a/src/VISU_I/VISU_ScalarMap_i.cc b/src/VISU_I/VISU_ScalarMap_i.cc index a2c56859..995c7aa9 100644 --- a/src/VISU_I/VISU_ScalarMap_i.cc +++ b/src/VISU_I/VISU_ScalarMap_i.cc @@ -36,6 +36,11 @@ #include "SUIT_ResourceMgr.h" +#include "SUIT_Session.h" +#include "SALOME_Event.hxx" +#include "SalomeApp_Study.h" +#include "SalomeApp_Application.h" + #include #include @@ -107,6 +112,54 @@ VISU::ScalarMap_i return myComment.c_str(); } +//---------------------------------------------------------------------------- +const char* +VISU::ScalarMap_i +::GetIconName() +{ + if (!IsGroupsUsed()) + return "ICON_TREE_SCALAR_MAP"; + else + return "ICON_TREE_SCALAR_MAP_GROUPS"; +} + +//---------------------------------------------------------------------------- +void +VISU::ScalarMap_i +::UpdateIcon() +{ + SALOMEDS::Study_var aStudyDocument = GetStudyDocument(); + SALOMEDS::StudyBuilder_var aStudyBuilder = aStudyDocument->NewBuilder(); + + // Check if the icon needs to be updated, update if necessary + SALOMEDS::SObject_var aSObject = GetSObject(); + + SALOMEDS::GenericAttribute_var anAttr = + aStudyBuilder->FindOrCreateAttribute(aSObject, "AttributePixMap"); + SALOMEDS::AttributePixMap_var aPixmap = SALOMEDS::AttributePixMap::_narrow( anAttr ); + + CORBA::String_var aPixMapName = aPixmap->GetPixMap(); + if(strcmp(GetIconName(), aPixMapName.in()) != 0) + aPixmap->SetPixMap(GetIconName()); + + // Update Object Browser + SUIT_Session* aSession = SUIT_Session::session(); + QPtrList anApplications = aSession->applications(); + QPtrListIterator anIter(anApplications); + while(SUIT_Application* aSApp = anIter.current()){ + if(SalomeApp_Application* anApp = dynamic_cast(aSApp)){ + if(SalomeApp_Study* aStudy = dynamic_cast(anApp->activeStudy())){ + if(_PTR(Study) aCStudy = aStudy->studyDS()){ + if(aStudyDocument->StudyId() == aCStudy->StudyId()){ + anApp->updateObjectBrowser(); + break; + } + } + } + } + ++anIter; + } +} //---------------------------------------------------------------------------- VISU::ScalarMap_i:: @@ -264,6 +317,56 @@ VISU::ScalarMap_i TSuperClass::SetSourceRange(); } +//---------------------------------------------------------------------------- +const VISU::ScalarMap_i::TGroupNames& +VISU::ScalarMap_i +::GetGroupNames() +{ + return myGroupNames; +} + +//---------------------------------------------------------------------------- +bool +VISU::ScalarMap_i +::IsGroupsUsed() +{ + return !myGroupNames.empty(); +} + +//---------------------------------------------------------------------------- +void +VISU::ScalarMap_i:: +AddMeshOnGroup(const char* theMeshName, + const char* theGroupName) +{ + VISU::Result_i::TInput* anInput = GetCResult()->GetInput(); + VISU::PUnstructuredGridIDMapper anIDMapper = anInput->GetMeshOnGroup(theMeshName, theGroupName); + if(anIDMapper){ + int aNbGroups = myGroupNames.size(); + if(myGroupNames.find(theGroupName) != myGroupNames.end()){ + GetSpecificPL()->AddGeometry(anIDMapper->GetOutput()); + myGroupNames.insert(theGroupName); + if(aNbGroups == 0) + UpdateIcon(); + } + } +} + + +//---------------------------------------------------------------------------- +void +VISU::ScalarMap_i +::RemoveAllGeom() +{ + int aNbGroups = myGroupNames.size(); + if(aNbGroups != 0){ + GetSpecificPL()->ClearGeometry(); + myGroupNames.clear(); + UpdateIcon(); + } +} + + //---------------------------------------------------------------------------- void VISU::ScalarMap_i diff --git a/src/VISU_I/VISU_ScalarMap_i.hh b/src/VISU_I/VISU_ScalarMap_i.hh index 992e1626..a258a799 100644 --- a/src/VISU_I/VISU_ScalarMap_i.hh +++ b/src/VISU_I/VISU_ScalarMap_i.hh @@ -29,20 +29,22 @@ #include "VISU_ColoredPrs3d_i.hh" +#include +#include + class VISU_ScalarMapPL; namespace VISU { //============================================================================ - class ScalarMap_i : public virtual POA_VISU::ScalarMap, + class VISU_I_EXPORT ScalarMap_i : public virtual POA_VISU::ScalarMap, public virtual ColoredPrs3d_i { static int myNbPresent; - ScalarMap_i(); ScalarMap_i(const ScalarMap_i&); public: - //---------------------------------------------------------------------------- + //---------------------------------------------------------------------------- typedef ColoredPrs3d_i TSuperClass; typedef VISU::ScalarMap TInterface; @@ -91,6 +93,24 @@ namespace VISU VISU::ScalarMap::Orientation GetBarOrientation(); + //---------------------------------------------------------------------------- + //! Sets geometry of mesh as group + virtual + void + SetMeshOnGroup(const char* theMeshName, + const char* theGroupName); + + //! Add geometry of mesh as group. \retval the id of added group. + virtual + void + AddMeshOnGroup(const char* theMeshName, + const char* theGroupName); + + //! Removes all geometries. + virtual + void + RemoveAllGeom(); + //---------------------------------------------------------------------------- VISU_ScalarMapPL* GetSpecificPL() const @@ -150,6 +170,13 @@ namespace VISU QString GenerateName(); + virtual + const char* + GetIconName(); + + void + UpdateIcon(); + virtual Storable* Restore(SALOMEDS::Study_ptr theStudy, @@ -175,8 +202,19 @@ namespace VISU void UpdateActor(VISU_Actor* theActor); + typedef std::string TGroupName; + typedef std::set TGroupNames; + + const TGroupNames& + GetGroupNames(); + + //! Gets number of geometries + bool + IsGroupsUsed(); + private: VISU_ScalarMapPL* myScalarMapPL; + TGroupNames myGroupNames; }; } diff --git a/src/VISU_I/VISU_StreamLines_i.cc b/src/VISU_I/VISU_StreamLines_i.cc index 2bb2c746..9725d823 100644 --- a/src/VISU_I/VISU_StreamLines_i.cc +++ b/src/VISU_I/VISU_StreamLines_i.cc @@ -99,6 +99,16 @@ VISU::StreamLines_i return myComment.c_str(); } +//--------------------------------------------------------------- +const char* +VISU::StreamLines_i +::GetIconName() +{ + if (!IsGroupsUsed()) + return "ICON_TREE_STREAM_LINES"; + else + return "ICON_TREE_STREAM_LINES_GROUPS"; +} //--------------------------------------------------------------- VISU::StreamLines_i @@ -186,7 +196,6 @@ VISU::StreamLines_i ::~StreamLines_i() { if(MYDEBUG) MESSAGE("StreamLines_i::~StreamLines_i()"); - myAppendFilter->UnRegisterAllOutputs(); myAppendFilter->Delete(); } @@ -205,8 +214,7 @@ VISU::StreamLines_i vtkPointSet* aSource = NULL; if(!thePrs3d->_is_nil()) if((aPrs3d = dynamic_cast(VISU::GetServant(thePrs3d).in()))){ - for(int i = myAppendFilter->GetNumberOfInputs()-1; i >= 0; i--) - myAppendFilter->RemoveInput(myAppendFilter->GetInput(i)); + myAppendFilter->RemoveAllInputs(); myAppendFilter->AddInput(aPrs3d->GetPipeLine()->GetMapper()->GetInput()); aSource = myAppendFilter->GetOutput(); } @@ -346,7 +354,6 @@ VISU::StreamLines_i return IsPossible(GetCResult(),GetCMeshName(),GetEntity(),GetCFieldName(),GetTimeStampNumber(),true); } - //--------------------------------------------------------------- void VISU::StreamLines_i diff --git a/src/VISU_I/VISU_StreamLines_i.hh b/src/VISU_I/VISU_StreamLines_i.hh index 8815eaf7..2b6635ba 100644 --- a/src/VISU_I/VISU_StreamLines_i.hh +++ b/src/VISU_I/VISU_StreamLines_i.hh @@ -34,15 +34,17 @@ class vtkAppendFilter; namespace VISU { - class StreamLines_i : public virtual POA_VISU::StreamLines, - public virtual DeformedShape_i + //---------------------------------------------------------------------------- + class VISU_I_EXPORT StreamLines_i : public virtual POA_VISU::StreamLines, + public virtual DeformedShape_i { static int myNbPresent; - StreamLines_i(); StreamLines_i(const StreamLines_i&); public: + //---------------------------------------------------------------------------- typedef DeformedShape_i TSuperClass; + typedef VISU::StreamLines TInterface; explicit StreamLines_i(EPublishInStudyMode thePublishInStudyModep); @@ -93,8 +95,6 @@ namespace VISU VISU::StreamLines::Direction GetDirection(); - typedef VISU::StreamLines TInterface; - VISU_StreamLinesPL* GetSpecificPL() const { @@ -162,6 +162,10 @@ namespace VISU QString GenerateName(); + virtual + const char* + GetIconName(); + //! Extends VISU_ColoredPrs3d_i::Restore virtual Storable* diff --git a/src/VISU_I/VISU_Table_i.cc b/src/VISU_I/VISU_Table_i.cc index cc62432e..190a0642 100644 --- a/src/VISU_I/VISU_Table_i.cc +++ b/src/VISU_I/VISU_Table_i.cc @@ -230,9 +230,9 @@ VISU::Storable* VISU::Table_i::Build( int theRestoring ) else{ aComment.sprintf("myComment=%s;myType=%d;mySourceId=TableAttr",GetComment(),VISU::TTABLE); SALOMEDS::SObject_var aFatherSObject = SO->GetFather(); - if(aFatherSObject->FindAttribute(anAttr,"AttributeComment")){ - SALOMEDS::AttributeComment_var aCommentAttr = - SALOMEDS::AttributeComment::_narrow(anAttr); + if(aFatherSObject->FindAttribute(anAttr,"AttributeString")){ + SALOMEDS::AttributeString_var aCommentAttr = + SALOMEDS::AttributeString::_narrow(anAttr); CORBA::String_var aValue = aCommentAttr->Value(); Storable::TRestoringMap aMap; Storable::StrToMap(aValue.in(),aMap); @@ -262,7 +262,15 @@ VISU::Storable* VISU::Table_i::Build( int theRestoring ) // mpv (PAL5357): reference attributes are unnecessary now //SALOMEDS::SObject_var refSO = Builder->NewObject( mySObj ); //Builder->Addreference( refSO, SO ); - } + } + + // Set icon + SALOMEDS::AttributePixMap_var aPixmap; + + anAttr = Builder->FindOrCreateAttribute( mySObj, "AttributePixMap" ); + aPixmap = SALOMEDS::AttributePixMap::_narrow( anAttr ); + aPixmap->SetPixMap("ICON_TREE_TABLE"); + return this; } return NULL; @@ -1377,8 +1385,8 @@ SALOMEDS::SObject_var VISU::ImportTables(const char* theFileName, SALOMEDS::Stud SALOMEDS::AttributeName_var aName = SALOMEDS::AttributeName::_narrow(anAttr); QFileInfo aFileInfo(theFileName); aName->SetValue(aFileInfo.fileName().latin1()); - anAttr = aStudyBuilder->FindOrCreateAttribute(aFileObject, "AttributeComment"); - SALOMEDS::AttributeComment_var aComment = SALOMEDS::AttributeComment::_narrow(anAttr); + anAttr = aStudyBuilder->FindOrCreateAttribute(aFileObject, "AttributeString"); + SALOMEDS::AttributeString_var aComment = SALOMEDS::AttributeString::_narrow(anAttr); QString aString; aString.sprintf("myComment=ImportTables;myFileName=%s", aFileInfo.absFilePath().latin1()); diff --git a/src/VISU_I/VISU_Table_i.hh b/src/VISU_I/VISU_Table_i.hh index 86f8715a..b241a6b9 100644 --- a/src/VISU_I/VISU_Table_i.hh +++ b/src/VISU_I/VISU_Table_i.hh @@ -35,11 +35,10 @@ class SPlot2d_Curve; namespace VISU{ //============================================================================== - class Table_i : public virtual POA_VISU::Table, + class VISU_I_EXPORT Table_i : public virtual POA_VISU::Table, public virtual PrsObject_i { static int myNbPresent; - Table_i(); Table_i( const Table_i& ); public: Table_i( SALOMEDS::Study_ptr theStudy, const char* theObject ); @@ -87,7 +86,7 @@ namespace VISU{ SALOMEDS::SObject_var ImportTables(const char* theFileName, SALOMEDS::Study_ptr theStudy); bool ExportTableToFile(SALOMEDS::SObject_ptr theTable, const char* theFileName); //============================================================================== - class Curve_i : public virtual POA_VISU::Curve, + class VISU_I_EXPORT Curve_i : public virtual POA_VISU::Curve, public virtual PrsObject_i { static int myNbPresent; @@ -163,7 +162,7 @@ namespace VISU{ }; //============================================================================== - class Container_i : public virtual POA_VISU::Container, + class VISU_I_EXPORT Container_i : public virtual POA_VISU::Container, public virtual PrsObject_i { static int myNbPresent; diff --git a/src/VISU_I/VISU_TimeAnimation.cxx b/src/VISU_I/VISU_TimeAnimation.cxx index 0f59e786..b2df6051 100644 --- a/src/VISU_I/VISU_TimeAnimation.cxx +++ b/src/VISU_I/VISU_TimeAnimation.cxx @@ -23,12 +23,17 @@ #include "VISU_TimeAnimation.h" +#ifdef WNT +#include +#include +#include +#endif + #include "VISUConfig.hh" #include "VISU_Result_i.hh" #include "VISU_Prs3d_i.hh" #include "VISU_Mesh_i.hh" -#include "VISU_ScalarMap_i.hh" #include "VISU_IsoSurfaces_i.hh" #include "VISU_DeformedShape_i.hh" #include "VISU_ScalarMapOnDeformedShape_i.hh" @@ -55,8 +60,9 @@ #include "SUIT_Session.h" #include "SUIT_Study.h" -#include "SALOMEDSClient_AttributeComment.hxx" +#include "SALOMEDSClient_AttributeString.hxx" #include "SALOMEDSClient_AttributeName.hxx" +#include "CASCatch.hxx" #include #include @@ -77,16 +83,41 @@ using namespace std; +namespace VISU { + class ExecutionState { + bool myIsActive; + QMutex myIsActiveMutex; + public: + ExecutionState(bool isActive = false) + : myIsActive(isActive) {} + + bool IsActive() { + bool state; + myIsActiveMutex.lock(); + state = myIsActive; + myIsActiveMutex.unlock(); + return state; + } + bool SetActive(bool isActive) { + bool state; + myIsActiveMutex.lock(); + state = myIsActive; + myIsActive = isActive; + myIsActiveMutex.unlock(); + return state; + } + }; +} //------------------------------------------------------------------------ VISU_TimeAnimation::VISU_TimeAnimation (_PTR(Study) theStudy, VISU::View3D_ptr theView3D) { myStudy = theStudy; - myIsActive = false; + myExecutionState = new VISU::ExecutionState(false); myFrame = 0; - mySpeed = 1; - myProportional = false; + mySpeed = VISU::GetResourceMgr()->integerValue("VISU", "speed", 1); + myProportional = VISU::GetResourceMgr()->booleanValue("VISU", "use_proportional_timing", false); myView = 0; if (!CORBA::is_nil(theView3D)) { @@ -96,12 +127,14 @@ VISU_TimeAnimation::VISU_TimeAnimation (_PTR(Study) theStudy, connect( myView, SIGNAL( destroyed() ), this, SLOT( onViewDeleted() ) ); } + myAnimationMode = 0; myTimeMinVal = 0; myTimeMaxVal = 0; myTimeMin = 0; myTimeMax = 0; myLastError = ""; - myCycling = false; + myCycling = VISU::GetResourceMgr()->booleanValue("VISU", "cycled_animation", false); + myCleaningMemoryAtEachFrame = VISU::GetResourceMgr()->booleanValue("VISU", "clean_memory_at_each_frame", false); myAnimEntry = ""; @@ -118,9 +151,23 @@ VISU_TimeAnimation::~VISU_TimeAnimation() return; } + if (QThread::running() && !QThread::finished()) { + //myExecutionState->SetActive(false); + stopAnimation(); + QThread::wait(500); + if (QThread::running() && !QThread::finished()) { + QThread::terminate(); + } + } + for (int i = 0; i < getNbFields(); i++) { clearData(myFieldsLst[i]); } + clearFieldData(); + + delete myExecutionState; + + myDumpPath = ""; /* Terminates the execution of the thread. * The thread may or may not be terminated immediately, @@ -136,47 +183,84 @@ VISU_TimeAnimation::~VISU_TimeAnimation() * There is no chance for the thread to cleanup after itself, * unlock any held mutexes, etc. In short, use this function only if absolutely necessary. */ - myDumpPath = ""; - QThread::wait(100); - QThread::terminate(); - QThread::wait(400); + //QThread::wait(100); + //QThread::terminate(); + //QThread::wait(400); } //------------------------------------------------------------------------ -void VISU_TimeAnimation::addField (_PTR(SObject) theField) +bool VISU_TimeAnimation::addField (_PTR(SObject) theField) { + if (!theField) return false; + FieldData aNewData; aNewData.myField = theField; aNewData.myNbFrames = 0; - aNewData.myPrsType = VISU::TSCALARMAP; + aNewData.myPrsType = VISU::TPRSMERGER; aNewData.myOffset[0] = aNewData.myOffset[1] = aNewData.myOffset[2] = 0; VISU::Storable::TRestoringMap aMap = getMapOfValue(aNewData.myField); + if(VISU::Storable::FindValue(aMap,"myComment") != QString("FIELD")) + return false; + aNewData.myNbTimes = VISU::Storable::FindValue(aMap,"myNbTimeStamps").toLong(); - myFieldsLst.append(aNewData); + if ( myAnimationMode == 0 ) { // parallel animation mode + if ( aNewData.myNbTimes < 2 ) + return false; + if ( !myFieldsLst.isEmpty() && myFieldsLst.first().myNbTimes != aNewData.myNbTimes ) + return false; + if ( myFieldsLst.isEmpty() ) + myFieldsAbsFrames.push_back(aNewData.myNbTimes); + } + else { // succcessive animation mode + if ( aNewData.myNbTimes < 1 ) + return false; + + long aNumCompCurr = VISU::Storable::FindValue(aMap, "myNumComponent").toLong(); + if ( !myFieldsLst.isEmpty() ) { + VISU::Storable::TRestoringMap aFMap = getMapOfValue(myFieldsLst.first().myField); + long aNumComp = VISU::Storable::FindValue(aFMap, "myNumComponent").toLong(); + if ( aNumCompCurr != aNumComp ) + return false; + } + + if ( !myFieldsLst.isEmpty() ) + myFieldsAbsFrames.push_back(myFieldsAbsFrames.back() + aNewData.myNbTimes); + else + myFieldsAbsFrames.push_back(aNewData.myNbTimes); + } + + myFieldsLst.append(aNewData); + //find Min/Max timestamps - if ((myTimeMin == 0) && (myTimeMax == 0)) { - _PTR(ChildIterator) anIter = myStudy->NewChildIterator(theField); - anIter->Next(); // First is reference on support + _PTR(ChildIterator) anIter = myStudy->NewChildIterator(theField); + anIter->Next(); // First is reference on support + if ( myFieldsLst.size() == 1 ) { // the first field myTimeMin = getTimeValue(anIter->Value()); - for(; anIter->More(); anIter->Next()) { + myTimeMax = getTimeValue(anIter->Value()); + } + for(; anIter->More(); anIter->Next()) { + if ( myTimeMin > getTimeValue(anIter->Value()) ) + myTimeMin = getTimeValue(anIter->Value()); + if ( myTimeMax < getTimeValue(anIter->Value()) ) myTimeMax = getTimeValue(anIter->Value()); - } } + + return true; } //------------------------------------------------------------------------ -void VISU_TimeAnimation::addField (SALOMEDS::SObject_ptr theField) +bool VISU_TimeAnimation::addField (SALOMEDS::SObject_ptr theField) { SALOMEDS::SObject_var theFieldDup = SALOMEDS::SObject::_duplicate(theField); _PTR(SObject) aField = VISU::GetClientSObject(theFieldDup, myStudy); - addField(aField); + return addField(aField); } //------------------------------------------------------------------------ -void VISU_TimeAnimation::clearData(FieldData& theData) { +void VISU_TimeAnimation::_clearData(FieldData& theData) { if (!myView) { MESSAGE("Viewer is not defined for animation"); return; @@ -202,6 +286,11 @@ void VISU_TimeAnimation::clearData(FieldData& theData) { myView->update(); } +//------------------------------------------------------------------------ +void VISU_TimeAnimation::clearData(FieldData& theData) { + ProcessVoidEvent(new TVoidMemFun1ArgEvent + (this,&VISU_TimeAnimation::_clearData,theData)); +} namespace { @@ -306,7 +395,43 @@ namespace } } } - + +double getMinFieldsValue( QValueList& theFieldsLst ) +{ + // for succcessive animation mode only + double aRes; + for (int i = 0; i < theFieldsLst.count(); i++) { + if ( theFieldsLst[i].myPrs[0] ) { + aRes = theFieldsLst[i].myPrs[0]->GetMin(); + break; + } + } + + for (int i = 1; i < theFieldsLst.count() && theFieldsLst[i].myPrs[0]; i++) { + if ( aRes > theFieldsLst[i].myPrs[0]->GetMin() ) + aRes = theFieldsLst[i].myPrs[0]->GetMin(); + } + return aRes; +} + +double getMaxFieldsValue( QValueList& theFieldsLst ) +{ + // for succcessive animation mode only + double aRes; + for (int i = 0; i < theFieldsLst.count(); i++) { + if ( theFieldsLst[i].myPrs[0] ) { + aRes = theFieldsLst[i].myPrs[0]->GetMax(); + break; + } + } + + for (int i = 1; i < theFieldsLst.count() && theFieldsLst[i].myPrs[0]; i++) { + if ( aRes < theFieldsLst[i].myPrs[0]->GetMax() ) + aRes = theFieldsLst[i].myPrs[0]->GetMax(); + } + return aRes; +} + void VISU_TimeAnimation::generatePresentations(CORBA::Long theFieldNum) { FieldData& aData = myFieldsLst[theFieldNum]; @@ -323,7 +448,8 @@ void VISU_TimeAnimation::generatePresentations(CORBA::Long theFieldNum) { using namespace VISU; switch (aData.myPrsType) { - case VISU::TSCALARMAP: // ScalarMap + case VISU::TSCALARMAP: + case VISU::TPRSMERGER: // ScalarMap GeneratePresentations(myStudy, aData, aResult, @@ -407,11 +533,35 @@ void VISU_TimeAnimation::generatePresentations(CORBA::Long theFieldNum) { MESSAGE("Not implemented for this presentation type: " << aData.myPrsType); return; } + + if ( myAnimationMode == 1 ) { // succcessive animation mode + if ( isRangeDefined() ) { + if ( myFieldsAbsFrames.size() == getNbFields() ) + myFieldsAbsFrames.clear(); + if ( theFieldNum > 0 ) + myFieldsAbsFrames.push_back(myFieldsAbsFrames.back() + aData.myNbFrames); + else + myFieldsAbsFrames.push_back(aData.myNbFrames); + } + if ((theFieldNum == getNbFields() - 1) && aData.myPrsType != VISU::TGAUSSPOINTS){ + double aMin = getMinFieldsValue(myFieldsLst); + double aMax = getMaxFieldsValue(myFieldsLst); + for (int i = 0; i < getNbFields(); i++) + for(long aFrameId = 0; aFrameId < myFieldsLst[i].myNbFrames; aFrameId++) + if (aData.myPrsType == VISU::TISOSURFACE) { + if (VISU::IsoSurfaces_i* aPrs = dynamic_cast(myFieldsLst[i].myPrs[aFrameId])) + aPrs->SetSubRange(aMin, aMax); + } + else + if (VISU::ScalarMap_i* aPrs = dynamic_cast(myFieldsLst[i].myPrs[aFrameId])) + aPrs->SetRange(aMin, aMax); + } + } } //------------------------------------------------------------------------ -CORBA::Boolean VISU_TimeAnimation::generateFrames() { +CORBA::Boolean VISU_TimeAnimation::_generateFrames() { if (!myView) { MESSAGE("Viewer is not defined for animation"); return false; @@ -431,7 +581,8 @@ CORBA::Boolean VISU_TimeAnimation::generateFrames() { aData.myPrs[j]->SetOffset(aData.myOffset); aActor = aData.myPrs[j]->CreateActor(); myView->AddActor(aActor); - if(j == 0) + bool condition = ( myAnimationMode == 0 ) ? (j == 0) : (j == 0 && i == 0); + if(condition) aActor->VisibilityOn(); else aActor->VisibilityOff(); @@ -444,13 +595,21 @@ CORBA::Boolean VISU_TimeAnimation::generateFrames() { } myFrame = 0; myLastError += QString(" timestamp(s) cannot be created."); - emit frameChanged(myFrame, myFieldsLst[0].myTiming[myFrame]); + ProcessVoidEvent(new TVoidMemFun2ArgEvent(this, &VISU_TimeAnimation::_emitFrameChanged, + myFrame, myFieldsLst[0].myTiming[myFrame])); myView->Repaint(); return aNoError; } //------------------------------------------------------------------------ -void VISU_TimeAnimation::clearView() { +CORBA::Boolean VISU_TimeAnimation::generateFrames() +{ + return ProcessEvent(new TMemFunEvent + (this,&VISU_TimeAnimation::_generateFrames)); +} + +//------------------------------------------------------------------------ +void VISU_TimeAnimation::_clearView() { if (!myView) { MESSAGE("Viewer is not defined for animation"); return; @@ -471,43 +630,134 @@ void VISU_TimeAnimation::clearView() { } //------------------------------------------------------------------------ -void VISU_TimeAnimation::stopAnimation() { - myIsActive = false; +void VISU_TimeAnimation::clearView() +{ + ProcessVoidEvent(new TVoidMemFunEvent + (this,&VISU_TimeAnimation::_clearView)); +} + +//------------------------------------------------------------------------ +void VISU_TimeAnimation::_visibilityOff(int num_field, int num_frame) { + if ( num_field < 0 || num_frame < 0 ) return; + FieldData& aData = myFieldsLst[num_field]; + if ( aData.myActors.empty() ) return; + VISU_Actor* aActor = aData.myActors[num_frame]; + if (! myCleaningMemoryAtEachFrame) { + // + // Usual behaviour : VisibilityOff() + // Problem : It don't clean the memory so if there is + // a lot of frames, the memory grows dramatically + // + aActor->VisibilityOff(); + } else { + // + // myCleaningMemoryAtEachFrame behaviour: + // Delete the actor and re-creation it with VisibilityOff() + // since it takes memory only at VisibilityOn() + // + // Delete the actor + aActor->RemoveFromRender(myView->getRenderer()); + // Re-create the actor + aActor = aData.myPrs[num_frame]->CreateActor(); + myView->AddActor(aActor); + aActor->VisibilityOff(); + aData.myActors[num_frame] = aActor; + } +} + +//------------------------------------------------------------------------ +void VISU_TimeAnimation::visibilityOff(int num_field, int num_frame) +{ + ProcessVoidEvent(new TVoidMemFun2ArgEvent + (this,&VISU_TimeAnimation::_visibilityOff,num_field,num_frame)); +} + +//------------------------------------------------------------------------ +void VISU_TimeAnimation::stopAnimation() +{ + myExecutionState->SetActive(false); } //------------------------------------------------------------------------ -void VISU_TimeAnimation::startAnimation() { - if (!myIsActive) { - myIsActive = true; +void VISU_TimeAnimation::_startAnimation() { + if (!myExecutionState->IsActive()) { + myExecutionState->SetActive(true); QThread::start(); } } //------------------------------------------------------------------------ -void VISU_TimeAnimation::nextFrame() { +void VISU_TimeAnimation::startAnimation() +{ + ProcessVoidEvent(new TVoidMemFunEvent + (this,&VISU_TimeAnimation::_startAnimation)); +} + +//------------------------------------------------------------------------ +CORBA::Boolean VISU_TimeAnimation::isRunning() +{ + return myExecutionState->IsActive(); +} + +//------------------------------------------------------------------------ +void VISU_TimeAnimation::_nextFrame() { if (!myView) { MESSAGE("Viewer is not defined for animation"); return; } stopAnimation(); - if (myFrame < (myFieldsLst[0].myNbFrames-1)) { + if (myFrame < getNbFrames() - 1 ) { //(myFieldsLst[0].myNbFrames-1)) { int i; - for (i = 0; i < getNbFields(); i++) - if (myFieldsLst[i].myActors[myFrame] != 0) - myFieldsLst[i].myActors[myFrame]->VisibilityOff(); + std::pair aPair; + int aFieldId; + long aFrameId; + + if ( myAnimationMode == 0 ) { // parallel animation mode + for (i = 0; i < getNbFields(); i++) + if (myFieldsLst[i].myActors[myFrame] != 0) + visibilityOff(i, myFrame); + } + else { //succcessive animation mode + aPair = getRelativeFrameNumber(myFrame); + aFieldId = aPair.first; + aFrameId = aPair.second; + if (myFieldsLst[aFieldId].myActors[aFrameId] != 0) + visibilityOff(aFieldId, aFrameId); + } myFrame++; - for (i = 0; i < getNbFields(); i++) - if (myFieldsLst[i].myActors[myFrame] != 0) - myFieldsLst[i].myActors[myFrame]->VisibilityOn(); - emit frameChanged(myFrame, myFieldsLst[0].myTiming[myFrame]); + if ( myAnimationMode == 0 ) { // parallel animation mode + for (i = 0; i < getNbFields(); i++) + if (myFieldsLst[i].myActors[myFrame] != 0) + myFieldsLst[i].myActors[myFrame]->VisibilityOn(); + + ProcessVoidEvent(new TVoidMemFun2ArgEvent(this, &VISU_TimeAnimation::_emitFrameChanged, + myFrame, myFieldsLst[0].myTiming[myFrame])); + } + else { //succcessive animation mode + aPair = getRelativeFrameNumber(myFrame); + aFieldId = aPair.first; + aFrameId = aPair.second; + if (myFieldsLst[aFieldId].myActors[aFrameId] != 0) + myFieldsLst[aFieldId].myActors[aFrameId]->VisibilityOn(); + + ProcessVoidEvent(new TVoidMemFun2ArgEvent(this, &VISU_TimeAnimation::_emitFrameChanged, + myFrame, myFieldsLst[aFieldId].myTiming[aFrameId])); + } myView->Repaint(); } } //------------------------------------------------------------------------ -void VISU_TimeAnimation::prevFrame() { +void VISU_TimeAnimation::nextFrame() +{ + ProcessVoidEvent(new TVoidMemFunEvent + (this,&VISU_TimeAnimation::_nextFrame)); +} + +//------------------------------------------------------------------------ +void VISU_TimeAnimation::_prevFrame() { if (!myView) { MESSAGE("Viewer is not defined for animation"); return; @@ -515,68 +765,163 @@ void VISU_TimeAnimation::prevFrame() { stopAnimation(); if (myFrame > 0) { int i; - for (i = 0; i < getNbFields(); i++) - if (myFieldsLst[i].myActors[myFrame] != 0) - myFieldsLst[i].myActors[myFrame]->VisibilityOff(); + std::pair aPair; + int aFieldId; + long aFrameId; + + if ( myAnimationMode == 0 ) { // parallel animation mode + for (i = 0; i < getNbFields(); i++) + if (myFieldsLst[i].myActors[myFrame] != 0) + visibilityOff(i, myFrame); + } + else { //succcessive animation mode + aPair = getRelativeFrameNumber(myFrame); + aFieldId = aPair.first; + aFrameId = aPair.second; + if (myFieldsLst[aFieldId].myActors[aFrameId] != 0) + visibilityOff(aFieldId, aFrameId); + } myFrame--; - for (i = 0; i < getNbFields(); i++) - if (myFieldsLst[i].myActors[myFrame] != 0) - myFieldsLst[i].myActors[myFrame]->VisibilityOn(); - emit frameChanged(myFrame, myFieldsLst[0].myTiming[myFrame]); + if ( myAnimationMode == 0 ) { // parallel animation mode + for (i = 0; i < getNbFields(); i++) + if (myFieldsLst[i].myActors[myFrame] != 0) + myFieldsLst[i].myActors[myFrame]->VisibilityOn(); + + ProcessVoidEvent(new TVoidMemFun2ArgEvent(this, &VISU_TimeAnimation::_emitFrameChanged, + myFrame, myFieldsLst[0].myTiming[myFrame])); + } + else { //succcessive animation mode + aPair = getRelativeFrameNumber(myFrame); + aFieldId = aPair.first; + aFrameId = aPair.second; + if (myFieldsLst[aFieldId].myActors[aFrameId] != 0) + myFieldsLst[aFieldId].myActors[aFrameId]->VisibilityOn(); + + ProcessVoidEvent(new TVoidMemFun2ArgEvent(this, &VISU_TimeAnimation::_emitFrameChanged, + myFrame, myFieldsLst[aFieldId].myTiming[aFrameId])); + } myView->Repaint(); } } //------------------------------------------------------------------------ -void VISU_TimeAnimation::firstFrame() { +void VISU_TimeAnimation::prevFrame() +{ + ProcessVoidEvent(new TVoidMemFunEvent + (this,&VISU_TimeAnimation::_prevFrame)); +} + +//------------------------------------------------------------------------ +void VISU_TimeAnimation::_firstFrame() { if (!myView) { MESSAGE("Viewer is not defined for animation"); return; } stopAnimation(); int i; - for (i = 0; i < getNbFields(); i++) - if(!myFieldsLst[i].myActors.empty()) - if (myFieldsLst[i].myActors[myFrame] != 0) - myFieldsLst[i].myActors[myFrame]->VisibilityOff(); + if ( myAnimationMode == 0 ) { // parallel animation mode + for (i = 0; i < getNbFields(); i++) + if(!myFieldsLst[i].myActors.empty()) + if (myFieldsLst[i].myActors[myFrame] != 0) + visibilityOff(i, myFrame); + } + else { //succcessive animation mode + std::pair aPair = getRelativeFrameNumber(myFrame); + int aFieldId = aPair.first; + long aFrameId = aPair.second; + if(!myFieldsLst[aFieldId].myActors.empty()) + if (myFieldsLst[aFieldId].myActors[aFrameId] != 0) + visibilityOff(aFieldId, aFrameId); + } myFrame = 0; - for (i = 0; i < getNbFields(); i++) + + int imax; + if ( myAnimationMode == 0 ) // parallel animation mode + imax = getNbFields(); + else //succcessive animation mode + imax = 1; + + for (i = 0; i < imax; i++) if(!myFieldsLst[i].myActors.empty()) if (myFieldsLst[i].myActors[myFrame] != 0) myFieldsLst[i].myActors[myFrame]->VisibilityOn(); + if(!myFieldsLst[0].myTiming.empty()){ - emit frameChanged(myFrame, myFieldsLst[0].myTiming[myFrame]); + ProcessVoidEvent(new TVoidMemFun2ArgEvent(this, &VISU_TimeAnimation::_emitFrameChanged, + myFrame, myFieldsLst[0].myTiming[myFrame])); myView->Repaint(); } } //------------------------------------------------------------------------ -void VISU_TimeAnimation::lastFrame() { +void VISU_TimeAnimation::firstFrame() +{ + ProcessVoidEvent(new TVoidMemFunEvent + (this,&VISU_TimeAnimation::_firstFrame)); +} + +//------------------------------------------------------------------------ +void VISU_TimeAnimation::_lastFrame() { if (!myView) { MESSAGE("Viewer is not defined for animation"); return; } stopAnimation(); int i; - for (i = 0; i < getNbFields(); i++) - if (myFieldsLst[i].myActors[myFrame] != 0) - myFieldsLst[i].myActors[myFrame]->VisibilityOff(); + std::pair aPair; + int aFieldId; + long aFrameId; + + if ( myAnimationMode == 0 ) { // parallel animation mode + for (i = 0; i < getNbFields(); i++) + if (myFieldsLst[i].myActors[myFrame] != 0) + visibilityOff(i, myFrame); + } + else { //succcessive animation mode + aPair = getRelativeFrameNumber(myFrame); + aFieldId = aPair.first; + aFrameId = aPair.second; + if (myFieldsLst[aFieldId].myActors[aFrameId] != 0) + visibilityOff(aFieldId, aFrameId); + } - myFrame = myFieldsLst[0].myNbFrames-1; - for (i = 0; i < getNbFields(); i++) - if (myFieldsLst[i].myActors[myFrame] != 0) - myFieldsLst[i].myActors[myFrame]->VisibilityOn(); + myFrame = getNbFrames() - 1; //myFieldsLst[0].myNbFrames-1; + + if ( myAnimationMode == 0 ) { // parallel animation mode + for (i = 0; i < getNbFields(); i++) + if (myFieldsLst[i].myActors[myFrame] != 0) + myFieldsLst[i].myActors[myFrame]->VisibilityOn(); + + ProcessVoidEvent(new TVoidMemFun2ArgEvent(this, &VISU_TimeAnimation::_emitFrameChanged, + myFrame, myFieldsLst[0].myTiming[myFrame])); + } + else { //succcessive animation mode + aPair = getRelativeFrameNumber(myFrame); + aFieldId = aPair.first; + aFrameId = aPair.second; + if (myFieldsLst[aFieldId].myActors[aFrameId] != 0) + myFieldsLst[aFieldId].myActors[aFrameId]->VisibilityOn(); + + ProcessVoidEvent(new TVoidMemFun2ArgEvent(this, &VISU_TimeAnimation::_emitFrameChanged, + myFrame, myFieldsLst[aFieldId].myTiming[aFrameId])); + } - emit frameChanged(myFrame, myFieldsLst[0].myTiming[myFrame]); myView->Repaint(); } +//------------------------------------------------------------------------ +void VISU_TimeAnimation::lastFrame() +{ + ProcessVoidEvent(new TVoidMemFunEvent + (this,&VISU_TimeAnimation::_lastFrame)); +} + //------------------------------------------------------------------------ // For Batchmode using -void VISU_TimeAnimation::gotoFrame(CORBA::Long theFrame) { +void VISU_TimeAnimation::_gotoFrame(CORBA::Long theFrame) { if (!myView) { MESSAGE("Viewer is not defined for animation"); return; @@ -584,25 +929,66 @@ void VISU_TimeAnimation::gotoFrame(CORBA::Long theFrame) { if ((theFrame < 0) || (theFrame > (getNbFrames()-1))) return; stopAnimation(); - qApp->lock(); - qApp->syncX(); int i; - for (i = 0; i < getNbFields(); i++) - if (myFieldsLst[i].myActors[myFrame] != 0) - myFieldsLst[i].myActors[myFrame]->VisibilityOff(); + std::pair aPair; + int aFieldId; + long aFrameId; + + if ( myAnimationMode == 0 ) { // parallel animation mode + for (i = 0; i < getNbFields(); i++) + if (myFieldsLst[i].myActors[myFrame] != 0) + visibilityOff(i, myFrame); + } + else { //succcessive animation mode + aPair = getRelativeFrameNumber(myFrame); + aFieldId = aPair.first; + aFrameId = aPair.second; + if (myFieldsLst[aFieldId].myActors[aFrameId] != 0) + visibilityOff(aFieldId, aFrameId); + } myFrame = theFrame; - for (i = 0; i < getNbFields(); i++) - if (myFieldsLst[i].myActors[myFrame] != 0) - myFieldsLst[i].myActors[myFrame]->VisibilityOn(); - emit frameChanged(myFrame, myFieldsLst[0].myTiming[myFrame]); + if ( myAnimationMode == 0 ) { // parallel animation mode + for (i = 0; i < getNbFields(); i++) + if (myFieldsLst[i].myActors[myFrame] != 0) + myFieldsLst[i].myActors[myFrame]->VisibilityOn(); + + ProcessVoidEvent(new TVoidMemFun2ArgEvent(this, &VISU_TimeAnimation::_emitFrameChanged, + myFrame, myFieldsLst[0].myTiming[myFrame])); + } + else { //succcessive animation mode + aPair = getRelativeFrameNumber(myFrame); + aFieldId = aPair.first; + aFrameId = aPair.second; + if (myFieldsLst[aFieldId].myActors[aFrameId] != 0) + myFieldsLst[aFieldId].myActors[aFrameId]->VisibilityOn(); + + ProcessVoidEvent(new TVoidMemFun2ArgEvent(this, &VISU_TimeAnimation::_emitFrameChanged, + myFrame, myFieldsLst[aFieldId].myTiming[aFrameId])); + } + myView->Repaint(); - qApp->flushX(); - qApp->processEvents(3); - qApp->unlock(); } +//------------------------------------------------------------------------ +void VISU_TimeAnimation::gotoFrame(CORBA::Long theFrame) +{ + ProcessVoidEvent(new TVoidMemFun1ArgEvent + (this,&VISU_TimeAnimation::_gotoFrame,theFrame)); +} + +//------------------------------------------------------------------------ +void VISU_TimeAnimation::_emitFrameChanged(long theNewFrame, double theTime) +{ + emit frameChanged(theNewFrame, theTime); +} + +//------------------------------------------------------------------------ +void VISU_TimeAnimation::_emitStopped() +{ + emit stopped(); +} //------------------------------------------------------------------------ VISU::ColoredPrs3d_ptr VISU_TimeAnimation::getPresentation(CORBA::Long theField, CORBA::Long theFrame) { @@ -616,45 +1002,94 @@ VISU::ColoredPrs3d_ptr VISU_TimeAnimation::getPresentation(CORBA::Long theField, //------------------------------------------------------------------------ CORBA::Long VISU_TimeAnimation::getNbFrames() { - return (getNbFields() > 0)? myFieldsLst[0].myNbFrames : 0; + if ( myAnimationMode == 0 ) // parallel animation mode + return (getNbFields() > 0)? myFieldsLst[0].myNbFrames : 0; + else //succcessive animation mode + return (getNbFields() > 0 && !myFieldsAbsFrames.empty()) ? myFieldsAbsFrames[myFieldsAbsFrames.size()-1] : 0; } +//------------------------------------------------------------------------ +long VISU_TimeAnimation::getAbsoluteFrameNumber(std::pair theFieldTimeStamp) +{ + long aRes = -1; + if ( getNbFields() > 0 ) { + int aFieldId = theFieldTimeStamp.first; + long aFrameNum = theFieldTimeStamp.second + 1; + if ( myAnimationMode == 0 ) { // parallel animation mode + if ( aFrameNum <= myFieldsAbsFrames[0] ) + aRes = aFrameNum; + } + else { //succcessive animation mode + if ( aFieldId == 0 && aFrameNum <= myFieldsAbsFrames[aFieldId] ) + aRes = aFrameNum; + else if ( aFieldId && aFrameNum <= myFieldsAbsFrames[aFieldId] - myFieldsAbsFrames[aFieldId-1] ) + aRes = myFieldsAbsFrames[aFieldId-1] + aFrameNum; + } + } + return aRes - 1; +} //------------------------------------------------------------------------ -void VISU_TimeAnimation::run() +std::pair VISU_TimeAnimation::getRelativeFrameNumber(long theFrame) { - if (!myView) { - MESSAGE("Viewer is not defined for animation"); - return; + std::pair aRes; + if ( getNbFields() > 0 && theFrame < getNbFrames() ) { + theFrame = theFrame + 1; + if ( myAnimationMode == 0 ) { // parallel animation mode + aRes.first = 0; + aRes.second = theFrame - 1; + } + else { //succcessive animation mode + for (int i = 0, iEnd = myFieldsAbsFrames.size(); i < iEnd; i++) + if ( myFieldsAbsFrames[i] >= theFrame ) { + aRes.first = i; + if ( i == 0 ) + aRes.second = theFrame - 1; + else + aRes.second = theFrame-myFieldsAbsFrames[i-1] - 1; + break; + } + } } + return aRes; +} + +//------------------------------------------------------------------------ +void VISU_TimeAnimation::parallelAnimation( bool& theIsDumping, QValueList& theIndexList ) +{ double k = 1; - bool isDumping = !myDumpPath.isEmpty(); double aOneVal = 1; if (myFieldsLst[0].myNbFrames > 2) - aOneVal = myFieldsLst[0].myTiming[1] - myFieldsLst[0].myTiming[0]; - myFileIndex = 0; + aOneVal = ( myTimeMax - myTimeMin ) / getNbFrames(); int aNbFiles = 0; - QValueList anIndexList; - qApp->lock(); - while (myIsActive) { - emit frameChanged(myFrame, myFieldsLst[0].myTiming[myFrame]); - if(!(myFieldsLst[0].myField)) - break; - for (int i = 0; i < getNbFields(); i++) { - FieldData& aData = myFieldsLst[i]; - if (myFrame > 0) { - if (aData.myActors[myFrame-1] != 0) - aData.myActors[myFrame-1]->VisibilityOff(); - } else { - if (aData.myActors[aData.myNbFrames-1] != 0) - aData.myActors[aData.myNbFrames-1]->VisibilityOff(); - } - if (aData.myActors[myFrame] != 0) { - aData.myActors[myFrame]->VisibilityOn(); + bool hasHextFrame = true; + while (hasHextFrame && myExecutionState->IsActive()) { + ProcessVoidEvent(new TVoidMemFun2ArgEvent + (this, &VISU_TimeAnimation::_emitFrameChanged, + myFrame, myFieldsLst[0].myTiming[myFrame])); + if (myExecutionState->IsActive()) { + if (!(myFieldsLst[0].myField)) + break; + for (int i = 0; i < getNbFields(); i++) { + FieldData& aData = myFieldsLst[i]; + if (myFrame > 0) { + if (aData.myActors[myFrame-1] != 0) + visibilityOff(i, myFrame-1); + } else { + if (aData.myActors[aData.myNbFrames-1] != 0) + visibilityOff(i, aData.myNbFrames-1); + } + if (aData.myActors[myFrame] != 0) { + ProcessVoidEvent(new TVoidMemFunEvent(aData.myActors[myFrame], + &VISU_Actor::VisibilityOn)); + } } + bool repainArg = false; + ProcessVoidEvent(new TVoidMemFun1ArgEvent(myView, + &SVTK_ViewWindow::Repaint, + repainArg)); } - myView->Repaint(false); k = 1; if (myProportional) { @@ -673,90 +1108,234 @@ void VISU_TimeAnimation::run() } } int delay = (int)(1000. * k / mySpeed); - isDumping = !myDumpPath.isEmpty(); - if (delay < 1 && isDumping) { + theIsDumping = !myDumpPath.isEmpty(); + if (delay < 1 && theIsDumping) { // We must unlock mutex for some time before grabbing to allow view updating delay = 1; } - qApp->unlock(); msleep(delay); - qApp->lock(); + if (!myExecutionState->IsActive()) return; - if (isDumping) { + if (theIsDumping) { // We must unlock mutex for some time before grabbing to allow view updating - qApp->unlock(); msleep(delay); - qApp->lock(); - if(!(myFieldsLst[0].myField)) // break, if field was deleted. - break; - if (myDumpFormat.compare("AVI") != 0) { - QString aFile(myDumpPath); - QString aName = QString("%1").arg(myFieldsLst[0].myTiming[myFrame]); - int aPos = -1; - while ((aPos = aName.find(".")) > -1 ) - aName.replace(aPos, 1, "_"); - aFile += aName; - aFile += "."; - aFile += myDumpFormat.lower(); - myView->dumpViewToFormat(aFile,myDumpFormat); - } else { - QFileInfo aFileInfo(myDumpPath); - QString aDirPath = aFileInfo.dirPath(true); - QString aBaseName = aFileInfo.fileName(); + if (!myExecutionState->IsActive()) return; - switch (myFrame) { - case 0: - break; - case 1: - myFileIndex += 5; - break; - default: - if (myProportional) { - double p = (myFieldsLst[0].myTiming[myFrame] - - myFieldsLst[0].myTiming[myFrame-1]) / aOneVal; - myFileIndex += (long) (5*p); - } else { - myFileIndex += 5; - } - } + if (!(myFieldsLst[0].myField)) // break, if field was deleted. + break; - QString aFile = aDirPath + QDir::separator() + aBaseName; - aFile += "_"; - aFile += QString("%1").arg(myFileIndex).rightJustify(8, '0'); - aFile += ".jpeg"; - - /* check image size is divisable 16 - myView->dumpViewToFormat(aFile,"JPEG"); - */ - SUIT_ViewWindow* aView = myView; - QImage img = aView->dumpView(); - if (!img.isNull()) { - int width = img.width(); width = (width/16)*16; - int height = img.height(); height = (height/16)*16; - QImage copy = img.copy(0, 0, width, height); - if (copy.save(aFile, "JPEG")) { - anIndexList.append(myFileIndex); - aNbFiles++; - } - } - } + saveImages( 0, aOneVal, aNbFiles, theIndexList ); } - if (!myIsActive) break; + if (!myExecutionState->IsActive()) break; myFrame++; if (myFrame == myFieldsLst[0].myNbFrames) { if (!myCycling) { - myIsActive = false; + hasHextFrame = false; myFrame--; - break; - } else + } + else myFrame = 0; } + } // while (hasHextFrame && myExecutionState->IsActive()) +} + +//------------------------------------------------------------------------ +void VISU_TimeAnimation::succcessiveAnimation( bool& theIsDumping, QValueList& theIndexList ) +{ + if (myFrame >= getNbFrames() - 1) + { + myExecutionState->SetActive(false); + return; + } + + double k = 1; + double aOneVal = 1; + if (myFieldsLst[0].myNbFrames > 2) + aOneVal = ( myTimeMax - myTimeMin ) / getNbFrames(); + int aNbFiles = 0; + long aFrame = myFrame; + + bool hasHextFrame = true; + while (hasHextFrame && myExecutionState->IsActive()) + { + for (int aFieldId = 0; + (aFieldId < getNbFields()) && (myFieldsLst[aFieldId].myField); + aFieldId++, aFrame = 0) + { + if (!myExecutionState->IsActive()) break; + + FieldData& aData = myFieldsLst[aFieldId]; + if ( !aData.myPrs[0] ) continue; + for (; aFrame < aData.myNbFrames && myExecutionState->IsActive(); aFrame++, myFrame++) + { + ProcessVoidEvent(new TVoidMemFun2ArgEvent + (this, &VISU_TimeAnimation::_emitFrameChanged, + myFrame, myFieldsLst[aFieldId].myTiming[aFrame])); + + if (myExecutionState->IsActive()) { + if (aFrame > 0) { + if (aData.myActors[aFrame-1] != 0) + visibilityOff(aFieldId, aFrame-1); + } else if ( myFrame > 0) { + if (myFieldsLst[aFieldId-1].myActors[myFieldsLst[aFieldId-1].myNbFrames-1] != 0) + visibilityOff(aFieldId-1, myFieldsLst[aFieldId-1].myNbFrames-1); + } else if ( myCycling ) { + if (myFieldsLst[getNbFields()-1].myActors[myFieldsLst[getNbFields()-1].myNbFrames-1] != 0) + visibilityOff(getNbFields()-1, myFieldsLst[getNbFields()-1].myNbFrames-1); + } else { + if (aData.myActors[aData.myNbFrames-1] != 0) + visibilityOff(aFieldId, aData.myNbFrames-1); + } + if (aData.myActors[aFrame] != 0) { + ProcessVoidEvent(new TVoidMemFunEvent(aData.myActors[aFrame], + &VISU_Actor::VisibilityOn)); + } + + bool repainArg = false; + ProcessVoidEvent(new TVoidMemFun1ArgEvent(myView, + &SVTK_ViewWindow::Repaint, + repainArg)); + } + + k = 1; + if (myProportional) { + switch (aFrame) { + case 0: + break; + case 1: + if (myFieldsLst[0].myNbFrames > 2) + k = (myFieldsLst[0].myTiming[aFrame+1] - + myFieldsLst[0].myTiming[aFrame]) / aOneVal; + break; + default: + if (aFrame < (myFieldsLst[0].myNbFrames - 1)) + k = (myFieldsLst[0].myTiming[aFrame+1] - + myFieldsLst[0].myTiming[aFrame]) / aOneVal; + } + } + int delay = (int)(1000. * k / mySpeed); + theIsDumping = !myDumpPath.isEmpty(); + if (delay < 1 && theIsDumping) { + // We must unlock mutex for some time before grabbing to allow view updating + delay = 1; + } + msleep(delay); + + if (!myExecutionState->IsActive()) return; + + if (theIsDumping) { + // We must unlock mutex for some time before grabbing to allow view updating + msleep(delay); + if (!myExecutionState->IsActive()) return; + + if (!(myFieldsLst[aFieldId].myField)) // break, if field was deleted. + break; + + saveImages( aFieldId, aOneVal, aNbFiles, theIndexList ); + } + } // for (; aFrame < aData.myNbFrames && myExecutionState->IsActive(); aFrame++, myFrame++) + } // for (int aFieldId = 0; + + if (!myCycling) { + hasHextFrame = false; + myFrame--; + } + else { + myFrame = 0; + aFrame = myFrame; + } + } // while (hasHextFrame && myExecutionState->IsActive()) +} + +//------------------------------------------------------------------------ +void VISU_TimeAnimation::saveImages( int theFieldId, + double& theOneVal, int& theNbFiles, + QValueList& theIndexList ) +{ + if (myDumpFormat.compare("AVI") != 0) { + QString aFile(myDumpPath); + + QString aName; + if ( myAnimationMode == 0 ) // parallel animation mode + aName = QString("%1").arg(myFieldsLst[theFieldId].myTiming[myFrame]); + else // successive animation mode + aName = QString("%1").arg(myFieldsLst[theFieldId].myTiming[getRelativeFrameNumber(myFrame).second]); + + int aPos = -1; + while ((aPos = aName.find(".")) > -1 ) + aName.replace(aPos, 1, "_"); + aFile += aName; + aFile += "."; + aFile += myDumpFormat.lower(); + ProcessVoidEvent(new TVoidMemFunEvent + (myView,&SVTK_ViewWindow::RefreshDumpImage)); // IPAL13602 + ProcessEvent(new TMemFun2ArgEvent + (myView,&SVTK_ViewWindow::dumpViewToFormat,aFile,myDumpFormat)); + } else { + QFileInfo aFileInfo(myDumpPath); + QString aDirPath = aFileInfo.dirPath(true); + QString aBaseName = aFileInfo.fileName(); + + switch (myFrame) { + case 0: + break; + case 1: + myFileIndex += 5; + break; + default: + if (myProportional) { + double p = (myFieldsLst[0].myTiming[myFrame] - + myFieldsLst[0].myTiming[myFrame-1]) / theOneVal; + myFileIndex += (long) (5*p); + } else { + myFileIndex += 5; + } + } + + QString aFile = aDirPath + QDir::separator() + aBaseName; + aFile += "_"; + aFile += QString("%1").arg(myFileIndex).rightJustify(8, '0'); + aFile += ".jpeg"; + + /* check image size is divisable 16 + myView->dumpViewToFormat(aFile,"JPEG"); + */ + SUIT_ViewWindow* aView = myView; + ProcessVoidEvent(new TVoidMemFunEvent(myView,&SVTK_ViewWindow::RefreshDumpImage)); // IPAL13602 + QImage img = ProcessEvent(new TMemFunEvent(aView,&SUIT_ViewWindow::dumpView)); + if (!img.isNull()) { + int width = img.width(); width = (width/16)*16; + int height = img.height(); height = (height/16)*16; + QImage copy = img.copy(0, 0, width, height); + if (copy.save(aFile, "JPEG")) { + theIndexList.append(myFileIndex); + theNbFiles++; + } + } + } +} + +//------------------------------------------------------------------------ +void VISU_TimeAnimation::run() +{ + if (!myView) { + MESSAGE("Viewer is not defined for animation"); + return; } + bool isDumping = !myDumpPath.isEmpty(); + myFileIndex = 0; + QValueList anIndexList; + + if ( myAnimationMode == 0 ) // parallel animation mode + parallelAnimation( isDumping, anIndexList ); + else //succcessive animation mode + succcessiveAnimation( isDumping, anIndexList ); + // make AVI file if need - if (isDumping && myDumpFormat.compare("AVI") == 0) { + if (isDumping && myDumpFormat.compare("AVI") == 0 && myExecutionState->IsActive()) { double aFPS = 17.3 * mySpeed; QFileInfo aFileInfo(myDumpPath); @@ -806,9 +1385,9 @@ void VISU_TimeAnimation::run() system(aCmd.latin1()); } - emit stopped(); - qApp->unlock(); - QThread::exit(); + if (myExecutionState->IsActive()) + ProcessVoidEvent(new TVoidMemFunEvent(this,&VISU_TimeAnimation::_emitStopped)); + myExecutionState->SetActive(false); } //------------------------------------------------------------------------ @@ -828,8 +1407,8 @@ VISU::Storable::TRestoringMap VISU_TimeAnimation::getMapOfValue (_PTR(SObject) t VISU::Storable::TRestoringMap aMap; if (theSObject) { _PTR(GenericAttribute) anAttr; - if (theSObject->FindAttribute(anAttr, "AttributeComment")) { - _PTR(AttributeComment) aComment (anAttr); + if (theSObject->FindAttribute(anAttr, "AttributeString")) { + _PTR(AttributeString) aComment (anAttr); std::string aString = aComment->Value(); QString strIn (aString.c_str()); VISU::Storable::StrToMap(strIn, aMap); @@ -900,6 +1479,7 @@ std::string GetPresentationComment (VISU::VISUType thePrsType) std::string aPrsCmt; switch (thePrsType) { case VISU::TSCALARMAP: + case VISU::TPRSMERGER: aPrsCmt = VISU::ScalarMap_i::myComment; break; case VISU::TISOSURFACE: @@ -948,8 +1528,8 @@ SALOMEDS::SObject_ptr VISU_TimeAnimation::publishInStudy() std::string aSComponentEntry = aSComponent->GetID(); QString aComment; - aComment.sprintf("myComment=ANIMATION;myType=%d;myTimeMinVal=%g;myTimeMaxVal=%g", - VISU::TANIMATION,myTimeMinVal,myTimeMaxVal); + aComment.sprintf("myComment=ANIMATION;myType=%d;myTimeMinVal=%g;myTimeMaxVal=%g;myMode=%d", + VISU::TANIMATION,myTimeMinVal,myTimeMaxVal,myAnimationMode); string anEntry = VISU::CreateAttributes(myStudy,aSComponentEntry.c_str(),"","", GenerateName(),"",aComment,true); @@ -958,18 +1538,22 @@ SALOMEDS::SObject_ptr VISU_TimeAnimation::publishInStudy() for (int i = 0; i < getNbFields(); i++) { FieldData& aData = myFieldsLst[i]; - - _PTR(SObject) newObj = aStudyBuilder->NewObject(aAnimSObject); - aStudyBuilder->Addreference(newObj, aData.myField); - - if (aData.myPrs.empty()) { - generatePresentations(i); + if ( aData.myPrs.front() ) { + _PTR(SObject) newObj = aStudyBuilder->NewObject(aAnimSObject); + aStudyBuilder->Addreference(newObj, aData.myField); + + if (aData.myPrs.empty()) { + generatePresentations(i); + } + ostringstream strOut; + aData.myPrs[0]->ToStream(strOut); + string aPrsComment = strOut.str(); + string aPrsMyComment = aData.myPrs[0]->GetComment(); + if(aPrsMyComment == "PRSMERGER") + aPrsMyComment = "SCALARMAP"; + VISU::CreateAttributes(myStudy, newObj->GetID().c_str(),"","", + aPrsMyComment.c_str(),"",aPrsComment.c_str(),true); } - ostringstream strOut; - aData.myPrs[0]->ToStream(strOut); - string aPrsComment = strOut.str(); - VISU::CreateAttributes(myStudy, newObj->GetID().c_str(),"","", - aData.myPrs[0]->GetComment(),"",aPrsComment.c_str(),true); } aStudyBuilder->CommitCommand(); @@ -991,12 +1575,12 @@ void VISU_TimeAnimation::saveAnimation() std::string aSComponentEntry = aSComponent->GetID(); QString aComment; - aComment.sprintf("myComment=ANIMATION;myType=%d;myTimeMinVal=%g;myTimeMaxVal=%g", - VISU::TANIMATION,myTimeMinVal,myTimeMaxVal); + aComment.sprintf("myComment=ANIMATION;myType=%d;myTimeMinVal=%g;myTimeMaxVal=%g;myMode=%d", + VISU::TANIMATION,myTimeMinVal,myTimeMaxVal,myAnimationMode); _PTR(GenericAttribute) anAttr; - anAttr = aStudyBuilder->FindOrCreateAttribute(aAnimSObject, "AttributeComment"); - _PTR(AttributeComment) aCmnt (anAttr); + anAttr = aStudyBuilder->FindOrCreateAttribute(aAnimSObject, "AttributeString"); + _PTR(AttributeString) aCmnt (anAttr); aCmnt->SetValue(aComment.latin1()); _PTR(ChildIterator) anIter = myStudy->NewChildIterator(aAnimSObject); @@ -1013,7 +1597,8 @@ void VISU_TimeAnimation::saveAnimation() aData.myPrs[0]->ToStream(strOut); string aPrsComment = strOut.str(); string aPrsNameTxt = aData.myPrs[0]->GetComment(); - + if(aPrsNameTxt == "PRSMERGER") + aPrsNameTxt = "SCALARMAP"; // Save in study _PTR(SObject) aRefObj = anIter->Value(); _PTR(ChildIterator) anPrsIter = myStudy->NewChildIterator(aRefObj); @@ -1021,8 +1606,8 @@ void VISU_TimeAnimation::saveAnimation() if (anPrsIter->More()) { _PTR(SObject) aPrsObj = anPrsIter->Value(); - anAttr = aStudyBuilder->FindOrCreateAttribute(aPrsObj, "AttributeComment"); - aCmnt = _PTR(AttributeComment)(anAttr); + anAttr = aStudyBuilder->FindOrCreateAttribute(aPrsObj, "AttributeString"); + aCmnt = _PTR(AttributeString)(anAttr); aCmnt->SetValue(aPrsComment.c_str()); anAttr = aStudyBuilder->FindOrCreateAttribute(aPrsObj, "AttributeName"); @@ -1050,9 +1635,9 @@ void VISU_TimeAnimation::restoreFromStudy(_PTR(SObject) theField) VISU::Storable::TRestoringMap aMap; _PTR(GenericAttribute) anAttr; - if (!aAnimSObject->FindAttribute(anAttr, "AttributeComment")) return; + if (!aAnimSObject->FindAttribute(anAttr, "AttributeString")) return; - _PTR(AttributeComment) aComment (anAttr); + _PTR(AttributeString) aComment (anAttr); string aComm = aComment->Value(); QString strIn (aComm.c_str()); VISU::Storable::StrToMap(strIn,aMap); @@ -1060,15 +1645,19 @@ void VISU_TimeAnimation::restoreFromStudy(_PTR(SObject) theField) myTimeMinVal = VISU::Storable::FindValue(aMap,"myTimeMinVal",&isExist).toDouble(); myTimeMaxVal = VISU::Storable::FindValue(aMap,"myTimeMaxVal",&isExist).toDouble(); + myAnimationMode = VISU::Storable::FindValue(aMap,"myMode",&isExist).toInt(); _PTR(ChildIterator) anIter = myStudy->NewChildIterator(aAnimSObject); for (anIter->Init(); anIter->More(); anIter->Next()) { _PTR(SObject) aRefObj = anIter->Value(); _PTR(SObject) aFieldObj; if (!aRefObj->ReferencedObject(aFieldObj) ) continue; + addField(aFieldObj); - FieldData& aData = getFieldData(getNbFields()-1); + if ( isRangeDefined() ) myFieldsAbsFrames.pop_back(); + FieldData& aData = getFieldData(getNbFields()-1); + // Get Presentation object _PTR(ChildIterator) anPrsIter = myStudy->NewChildIterator(aRefObj); anPrsIter->Init(); @@ -1080,7 +1669,7 @@ void VISU_TimeAnimation::restoreFromStudy(_PTR(SObject) theField) QString strName (aStr.c_str()); if (strName == VISU::ScalarMap_i::myComment.c_str()) - aData.myPrsType = VISU::TSCALARMAP; + aData.myPrsType = VISU::TPRSMERGER; else if (strName == VISU::IsoSurfaces_i::myComment.c_str()) aData.myPrsType = VISU::TISOSURFACE; else if (strName == VISU::CutPlanes_i::myComment.c_str()) @@ -1103,8 +1692,8 @@ void VISU_TimeAnimation::restoreFromStudy(_PTR(SObject) theField) continue; generatePresentations(getNbFields()-1); - if (!aPrsObj->FindAttribute(anAttr, "AttributeComment")) continue; - _PTR(AttributeComment) aPrsComment (anAttr); + if (!aPrsObj->FindAttribute(anAttr, "AttributeString")) continue; + _PTR(AttributeString) aPrsComment (anAttr); string aPrsComm = aPrsComment->Value(); if (aPrsComm.length() > 0) { QString strPrsIn (aPrsComm.c_str()); @@ -1115,6 +1704,11 @@ void VISU_TimeAnimation::restoreFromStudy(_PTR(SObject) theField) } aData.myPrs[0]->GetOffset(aData.myOffset); for (int i = 1; i < aData.myNbFrames; i++) { + bool anIsFixedRange = false; + if (aData.myPrsType != VISU::TGAUSSPOINTS) { + if (VISU::ScalarMap_i* aPrs = dynamic_cast(aData.myPrs[i])) + anIsFixedRange = aPrs->IsRangeFixed(); + } //jfa 03.08.2005:aData.myPrs[i]->SameAs(aData.myPrs[0]); aData.myPrs[i]->SameAs(aData.myPrs[0]);//jfa 03.08.2005 } @@ -1128,6 +1722,45 @@ void VISU_TimeAnimation::onViewDeleted() myView = 0; } +void VISU_TimeAnimation::ApplyProperties(CORBA::Long theFieldNum, VISU::ColoredPrs3d_ptr thePrs) + throw (SALOME::SALOME_Exception) +{ + VISU::ColoredPrs3d_i* aPrs_i = dynamic_cast(GetServant(thePrs).in()); + + if ( !aPrs_i ) + throw SALOME_Exception(LOCALIZED("Error : invalid dynamic cast of the given presentation to VISU::ColoredPrs3d_i")); + + if ( myAnimationMode == 0 ) { // parallel animation mode + FieldData& aData = myFieldsLst[theFieldNum]; + + if ( aData.myPrs.empty() ) + throw SALOME_Exception(LOCALIZED("Error : presentations for the given field is not yet created!")); + + if ( aPrs_i->GetCResult() != aData.myPrs[0]->GetCResult() ) + throw SALOME_Exception(LOCALIZED("Error : the MED file is not the same!")); + + for (int i = 0; i < aData.myNbFrames; i++) { + bool anIsFixedRange = false; + if (aData.myPrsType != VISU::TGAUSSPOINTS) { + if (VISU::ScalarMap_i* aPrs = dynamic_cast(aData.myPrs[i])) + anIsFixedRange = aPrs->IsRangeFixed(); + } + aData.myPrs[i]->SameAs(aPrs_i); + } + } + else if ( myAnimationMode == 1 ) { // successive animation mode + for (int f = 0; f < getNbFields(); f++) { + FieldData& aData = myFieldsLst[f]; + + if ( aData.myPrs.empty() ) + throw SALOME_Exception(LOCALIZED("Error : presentations for the given field is not yet created!")); + + for (int i = 0; i < aData.myNbFrames; i++) { + aData.myPrs[i]->SameAs(aPrs_i); + } + } + } +} //======================================================================== //======================================================================== @@ -1181,15 +1814,24 @@ VISU_TimeAnimation_i::~VISU_TimeAnimation_i() delete myAnim; } -void VISU_TimeAnimation_i::addField (SALOMEDS::SObject_ptr theField) +bool VISU_TimeAnimation_i::addField (SALOMEDS::SObject_ptr theField) +{ + return myAnim->addField(theField); +} + +void VISU_TimeAnimation_i::clearFields () { - myAnim->addField(theField); + for (int i = 0; i < myAnim->getNbFields(); i++) { + myAnim->clearData(myAnim->getFieldData(i)); + } + myAnim->clearFieldData(); } CORBA::Boolean VISU_TimeAnimation_i::generateFrames() { - return ProcessEvent(new TMemFunEvent - (myAnim,&VISU_TimeAnimation::generateFrames)); + //return ProcessEvent(new TMemFunEvent + // (myAnim,&VISU_TimeAnimation::generateFrames)); + return myAnim->generateFrames(); } void VISU_TimeAnimation_i::generatePresentations (CORBA::Long theFieldNum) @@ -1199,50 +1841,58 @@ void VISU_TimeAnimation_i::generatePresentations (CORBA::Long theFieldNum) void VISU_TimeAnimation_i::clearView() { - ProcessVoidEvent(new TVoidMemFunEvent - (myAnim,&VISU_TimeAnimation::clearView)); + //ProcessVoidEvent(new TVoidMemFunEvent + // (myAnim,&VISU_TimeAnimation::clearView)); + myAnim->clearView(); } void VISU_TimeAnimation_i::stopAnimation() { - ProcessVoidEvent(new TVoidMemFunEvent - (myAnim,&VISU_TimeAnimation::stopAnimation)); + //ProcessVoidEvent(new TVoidMemFunEvent + // (myAnim,&VISU_TimeAnimation::stopAnimation)); + myAnim->stopAnimation(); } void VISU_TimeAnimation_i::startAnimation() { - ProcessVoidEvent(new TVoidMemFunEvent - (myAnim,&VISU_TimeAnimation::startAnimation)); + //ProcessVoidEvent(new TVoidMemFunEvent + // (myAnim,&VISU_TimeAnimation::startAnimation)); + myAnim->startAnimation(); } void VISU_TimeAnimation_i::nextFrame() { - ProcessVoidEvent(new TVoidMemFunEvent - (myAnim,&VISU_TimeAnimation::nextFrame)); + //ProcessVoidEvent(new TVoidMemFunEvent + // (myAnim,&VISU_TimeAnimation::nextFrame)); + myAnim->nextFrame(); } void VISU_TimeAnimation_i::prevFrame() { - ProcessVoidEvent(new TVoidMemFunEvent - (myAnim,&VISU_TimeAnimation::prevFrame)); + //ProcessVoidEvent(new TVoidMemFunEvent + // (myAnim,&VISU_TimeAnimation::prevFrame)); + myAnim->prevFrame(); } void VISU_TimeAnimation_i::firstFrame() { - ProcessVoidEvent(new TVoidMemFunEvent - (myAnim,&VISU_TimeAnimation::firstFrame)); + //ProcessVoidEvent(new TVoidMemFunEvent + // (myAnim,&VISU_TimeAnimation::firstFrame)); + myAnim->firstFrame(); } void VISU_TimeAnimation_i::lastFrame() { - ProcessVoidEvent(new TVoidMemFunEvent - (myAnim,&VISU_TimeAnimation::lastFrame)); + //ProcessVoidEvent(new TVoidMemFunEvent + // (myAnim,&VISU_TimeAnimation::lastFrame)); + myAnim->lastFrame(); } void VISU_TimeAnimation_i::gotoFrame(CORBA::Long theFrame) { - ProcessVoidEvent(new TVoidMemFun1ArgEvent - (myAnim,&VISU_TimeAnimation::gotoFrame,theFrame)); + //ProcessVoidEvent(new TVoidMemFun1ArgEvent + // (myAnim,&VISU_TimeAnimation::gotoFrame,theFrame)); + myAnim->gotoFrame(theFrame); } CORBA::Long VISU_TimeAnimation_i::getNbFields() @@ -1334,6 +1984,10 @@ CORBA::Boolean VISU_TimeAnimation_i::isCycling() return myAnim->isCycling(); } +CORBA::Boolean VISU_TimeAnimation_i::isCleaningMemoryAtEachFrame(){ + return myAnim->isCleaningMemoryAtEachFrame(); +} + CORBA::Double VISU_TimeAnimation_i::getMinTime() { return myAnim->getMinTime(); @@ -1354,6 +2008,10 @@ void VISU_TimeAnimation_i::setCycling (CORBA::Boolean theCycle) myAnim->setCycling(theCycle); } +void VISU_TimeAnimation_i::setCleaningMemoryAtEachFrame(CORBA::Boolean theCycle){ + myAnim->setCleaningMemoryAtEachFrame(theCycle); +} + SALOMEDS::SObject_ptr VISU_TimeAnimation_i::publishInStudy() { return myAnim->publishInStudy(); @@ -1373,3 +2031,19 @@ void VISU_TimeAnimation_i::saveAnimation() { myAnim->saveAnimation(); } + +void VISU_TimeAnimation_i::setAnimationMode(VISU::Animation::AnimationMode theMode) +{ + myAnim->setAnimationMode(theMode); +} + +VISU::Animation::AnimationMode VISU_TimeAnimation_i::getAnimationMode() +{ + return VISU::Animation::AnimationMode(myAnim->getAnimationMode()); +} + +void VISU_TimeAnimation_i::ApplyProperties(CORBA::Long theFieldNum, VISU::ColoredPrs3d_ptr thePrs) + throw (SALOME::SALOME_Exception) +{ + myAnim->ApplyProperties(theFieldNum, thePrs); +} diff --git a/src/VISU_I/VISU_TimeAnimation.h b/src/VISU_I/VISU_TimeAnimation.h index d2da49a4..1cee7a31 100644 --- a/src/VISU_I/VISU_TimeAnimation.h +++ b/src/VISU_I/VISU_TimeAnimation.h @@ -39,6 +39,7 @@ namespace VISU { class Result_i; class ColoredPrs3d_i; + class ExecutionState; } struct FieldData @@ -54,9 +55,29 @@ struct FieldData }; -class VISU_TimeAnimation: public QObject, public QThread +class VISU_I_EXPORT VISU_TimeAnimation: public QObject, public QThread { Q_OBJECT; + + protected: + CORBA::Boolean _generateFrames(); + void _visibilityOff(int num_field, int num_frame); + void _clearView(); + void _clearData(FieldData& theData); + void _startAnimation(); + void _nextFrame(); + void _prevFrame(); + void _firstFrame(); + void _lastFrame(); + void _gotoFrame(CORBA::Long theFrame); + + void _emitFrameChanged(long theNewFrame, double theTime); + void _emitStopped(); + + void parallelAnimation( bool& theIsDumping, QValueList& theIndexList ); + void succcessiveAnimation( bool& theIsDumping, QValueList& theIndexList ); + void saveImages( int theFieldId, double& theOneVal, int& theNbFiles, QValueList& theIndexList ); + public: //static VISU::Result_i* createPresent (SALOMEDS::SObject_var theField); //static VISU::Storable::TRestoringMap getMapOfValue (SALOMEDS::SObject_var theSObject); @@ -72,8 +93,8 @@ class VISU_TimeAnimation: public QObject, public QThread virtual VISU::VISUType GetType() { return VISU::TNONE;}; - void addField (_PTR(SObject) theField); - void addField (SALOMEDS::SObject_ptr theField); + bool addField (_PTR(SObject) theField); + bool addField (SALOMEDS::SObject_ptr theField); FieldData& getFieldData (int theNum) { return myFieldsLst[theNum]; } CORBA::Boolean generateFrames(); @@ -84,6 +105,7 @@ class VISU_TimeAnimation: public QObject, public QThread void clearData(FieldData& theData); void clearFieldData() { myFieldsLst.clear();}; + void visibilityOff(int num_field, int num_frame); void stopAnimation(); void startAnimation(); void nextFrame(); @@ -94,9 +116,12 @@ class VISU_TimeAnimation: public QObject, public QThread CORBA::Long getNbFields() { return myFieldsLst.size(); } CORBA::Long getNbFrames(); - CORBA::Boolean isRunning() { return myIsActive; } + CORBA::Boolean isRunning(); CORBA::Long getCurrentFrame() { return myFrame; } + long getAbsoluteFrameNumber(std::pair theFieldTimeStamp); + std::pair getRelativeFrameNumber(long theFrame); + VISU::ColoredPrs3d_ptr getPresentation(CORBA::Long theField, CORBA::Long theFrame); void setPresentationType(CORBA::Long theFieldNum, VISU::VISUType theType) @@ -123,12 +148,14 @@ class VISU_TimeAnimation: public QObject, public QThread QString getLastErrorMsg() { return myLastError; } CORBA::Boolean isCycling() { return myCycling; } + CORBA::Boolean isCleaningMemoryAtEachFrame() { return myCleaningMemoryAtEachFrame; } CORBA::Double getMinTime() { return myTimeMin;} CORBA::Double getMaxTime() { return myTimeMax;} void setProportional(CORBA::Boolean theProp) { myProportional = theProp; } void setCycling(CORBA::Boolean theCycle) { myCycling = theCycle; } + void setCleaningMemoryAtEachFrame(CORBA::Boolean theCycle) { myCleaningMemoryAtEachFrame = theCycle; } SALOMEDS::SObject_ptr publishInStudy(); void restoreFromStudy(SALOMEDS::SObject_ptr theField); @@ -136,9 +163,15 @@ class VISU_TimeAnimation: public QObject, public QThread void saveAnimation(); bool isSavedInStudy() const { return !myAnimEntry.isEmpty(); } + void setAnimationMode(int theMode) { myAnimationMode = theMode; } + int getAnimationMode() { return myAnimationMode; } + + void ApplyProperties(CORBA::Long theFieldNum, VISU::ColoredPrs3d_ptr thePrs) throw (SALOME::SALOME_Exception); + public slots: void setProportionalSlot(bool theProp) { myProportional = theProp; } void setCyclingSlot(bool theCycle) { myCycling = theCycle; } + void setCleaningMemoryAtEachFrameSlot(bool theCycle) { myCleaningMemoryAtEachFrame = theCycle; } signals: void frameChanged(long theNewFrame, double theTime); @@ -155,13 +188,16 @@ class VISU_TimeAnimation: public QObject, public QThread QString myLastError; QValueList myFieldsLst; - bool myIsActive; + VISU::ExecutionState* myExecutionState; long myFrame; + std::vector myFieldsAbsFrames; int mySpeed; bool myProportional; bool myCycling; + bool myCleaningMemoryAtEachFrame; _PTR(Study) myStudy; + int myAnimationMode; double myTimeMinVal, myTimeMaxVal; //!< Range of time stams, set by user double myTimeMin , myTimeMax ; //!< Range of time stams, available for animation QString myDumpPath; @@ -176,7 +212,7 @@ class VISU_TimeAnimation: public QObject, public QThread }; -class VISU_TimeAnimation_i: public virtual POA_VISU::Animation, +class VISU_I_EXPORT VISU_TimeAnimation_i: public virtual POA_VISU::Animation, public virtual VISU::Base_i { VISU_TimeAnimation* myAnim; @@ -188,7 +224,8 @@ public: virtual VISU::VISUType GetType() { return VISU::TANIMATION; } //virtual VISU::VISUType GetType() { return VISU::TNONE; } - virtual void addField(SALOMEDS::SObject_ptr theField); + virtual bool addField(SALOMEDS::SObject_ptr theField); + virtual void clearFields(); virtual CORBA::Boolean generateFrames(); virtual void generatePresentations(CORBA::Long theFieldNum); @@ -228,17 +265,24 @@ public: virtual char* setDumpFormat(const char* theFormat); virtual CORBA::Boolean isCycling(); + virtual CORBA::Boolean isCleaningMemoryAtEachFrame(); virtual CORBA::Double getMinTime(); virtual CORBA::Double getMaxTime(); virtual void setProportional(CORBA::Boolean theProp); virtual void setCycling(CORBA::Boolean theCycle); + virtual void setCleaningMemoryAtEachFrame(CORBA::Boolean theCycle); virtual SALOMEDS::SObject_ptr publishInStudy(); virtual void restoreFromStudy(SALOMEDS::SObject_ptr theField); virtual CORBA::Boolean isSavedInStudy(); virtual void saveAnimation(); + + virtual void setAnimationMode(VISU::Animation::AnimationMode theMode); + virtual VISU::Animation::AnimationMode getAnimationMode(); + + virtual void ApplyProperties(CORBA::Long theFieldNum, VISU::ColoredPrs3d_ptr thePrs) throw (SALOME::SALOME_Exception); }; #endif //VISU_TIMEANIMATION_H diff --git a/src/VISU_I/VISU_Vectors_i.cc b/src/VISU_I/VISU_Vectors_i.cc index e39def96..cf04e4fe 100644 --- a/src/VISU_I/VISU_Vectors_i.cc +++ b/src/VISU_I/VISU_Vectors_i.cc @@ -107,6 +107,17 @@ VISU::Vectors_i } +//--------------------------------------------------------------- +const char* +VISU::Vectors_i +::GetIconName() +{ + if (!IsGroupsUsed()) + return "ICON_TREE_VECTORS"; + else + return "ICON_TREE_VECTORS_GROUPS"; +} + //--------------------------------------------------------------- VISU::Vectors_i ::Vectors_i(EPublishInStudyMode thePublishInStudyMode) : diff --git a/src/VISU_I/VISU_Vectors_i.hh b/src/VISU_I/VISU_Vectors_i.hh index f37080ce..083452cc 100644 --- a/src/VISU_I/VISU_Vectors_i.hh +++ b/src/VISU_I/VISU_Vectors_i.hh @@ -33,15 +33,17 @@ class VISU_VectorsPL; namespace VISU { - class Vectors_i : public virtual POA_VISU::Vectors, - public virtual DeformedShape_i + //---------------------------------------------------------------------------- + class VISU_I_EXPORT Vectors_i : public virtual POA_VISU::Vectors, + public virtual DeformedShape_i { static int myNbPresent; - Vectors_i(); Vectors_i(const Vectors_i&); public: + //---------------------------------------------------------------------------- typedef DeformedShape_i TSuperClass; + typedef VISU::Vectors TInterface; explicit Vectors_i(EPublishInStudyMode thePublishInStudyModep); @@ -84,8 +86,6 @@ namespace VISU VISU::Vectors::GlyphPos GetGlyphPos(); - typedef VISU::Vectors TInterface; - VISU_VectorsPL* GetSpecificPL() const { @@ -152,6 +152,10 @@ namespace VISU QString GenerateName(); + virtual + const char* + GetIconName(); + //! Redefines VISU_ColoredPrs3d_i::CreateActor virtual VISU_Actor* diff --git a/src/VISU_I/VISU_ViewManager_i.hh b/src/VISU_I/VISU_ViewManager_i.hh index 2d489972..fef5890b 100644 --- a/src/VISU_I/VISU_ViewManager_i.hh +++ b/src/VISU_I/VISU_ViewManager_i.hh @@ -46,7 +46,7 @@ namespace VISU { class Prs3d_i; class Curve_i; - class ViewManager_i : public virtual POA_VISU::ViewManager, + class VISU_I_EXPORT ViewManager_i : public virtual POA_VISU::ViewManager, public virtual Base_i { public: @@ -73,7 +73,7 @@ namespace VISU { VISU_Actor* UpdateViewer (SUIT_ViewWindow* theViewWindow, int theDisplaing, Prs3d_i* thePrs = NULL); void UpdatePlot2d (Plot2d_ViewFrame *theView, int theDisplaying, Curve_i* theCurve); - VISU_Actor* FindActor(SVTK_ViewWindow* theViewWindow, VISU::Prs3d_i* thePrs3d); + VISU_Actor* VISU_I_EXPORT FindActor(SVTK_ViewWindow* theViewWindow, VISU::Prs3d_i* thePrs3d); void DeleteActors (VISU::Prs3d_i* thePrs); void DeleteActors (VISU::Curve_i* thePrs); diff --git a/src/VISU_I/VISU_View_i.cc b/src/VISU_I/VISU_View_i.cc index 7b03bad4..5f04b6ff 100644 --- a/src/VISU_I/VISU_View_i.cc +++ b/src/VISU_I/VISU_View_i.cc @@ -201,8 +201,16 @@ namespace VISU { break; case VISU::View::VIEWER:{ ViewManagerList aViewManagerList = myApplication->viewManagers(); - // to do something - // ... + ViewManagerList::const_iterator anIt = aViewManagerList.begin(); + for( ; anIt != aViewManagerList.end(); anIt++ ) + { + const QPtrVector& views = (*anIt)->getViews(); + for( int i=0; iisShown(); + return; + } + } + myResult = false; break; }} } @@ -1135,18 +1143,25 @@ namespace VISU { CORBA::Boolean theMinor, CORBA::Long theNumMinor) { if (GetViewWindow()) - ProcessVoidEvent(new TEnableGridEvent(myView,&Plot2d_ViewFrame::setXGrid, - theMajor,theNumMajor,theMinor,theNumMinor)); + myView->setXGrid(theMajor,theNumMajor,theMinor,theNumMinor); } void XYPlot_i::EnableYGrid(CORBA::Boolean theMajor, CORBA::Long theNumMajor, CORBA::Boolean theMinor, CORBA::Long theNumMinor) { - //asl: Plot2d_ViewFrame::setYGrid has more parameters - //if (GetViewWindow()) - // ProcessVoidEvent(new TEnableGridEvent(myView,&Plot2d_ViewFrame::setYGrid, - // theMajor,theNumMajor,theMinor,theNumMinor)); + this->EnableYGrid(theMajor,theNumMajor,theMinor,theNumMinor, + false,0,false,0); } + void XYPlot_i::EnableYGrid(CORBA::Boolean theMajor, CORBA::Long theNumMajor, + CORBA::Boolean theMinor, CORBA::Long theNumMinor, + CORBA::Boolean the2Major, CORBA::Long the2NumMajor, + CORBA::Boolean the2Minor, CORBA::Long the2NumMinor) + { + if (GetViewWindow()) + myView->setYGrid(theMajor,theNumMajor,theMinor,theNumMinor, + the2Major,the2NumMajor,the2Minor,the2NumMinor); + } + class TSetScaleModeEvent: public SALOME_Event { public: @@ -1606,8 +1621,8 @@ namespace VISU { _PTR(SObject) anObj = aList[i]; string anEntry = anObj->GetID(); if(MYDEBUG) MESSAGE("View3D_i::SaveViewParams - anEntry = " << anEntry); - if (anObj->FindAttribute(anAttr, "AttributeComment")) { - _PTR(AttributeComment) aCmnt (anAttr); + if (anObj->FindAttribute(anAttr, "AttributeString")) { + _PTR(AttributeString) aCmnt (anAttr); string aComm (aCmnt->Value()); if (MYDEBUG) MESSAGE("View3D_i::SaveViewPoint - aComm = " << aComm); if (aComm.compare(View3D_i::myComment) >= 0) { @@ -1672,8 +1687,8 @@ namespace VISU { _PTR(SObject) anObj = aList[i]; string anEntry = anObj->GetID(); if (MYDEBUG) MESSAGE("View3D_i::RestoreViewPoint - anEntry = " << anEntry); - if (anObj->FindAttribute(anAttr, "AttributeComment")) { - _PTR(AttributeComment) aCmnt (anAttr); + if (anObj->FindAttribute(anAttr, "AttributeString")) { + _PTR(AttributeString) aCmnt (anAttr); QString strIn(aCmnt->Value().c_str()); Storable::TRestoringMap aMap; Storable::StrToMap(strIn, aMap); @@ -2002,7 +2017,7 @@ namespace VISU { if(MYDEBUG) MESSAGE("View3D_i::SetPointOfView"); SUIT_ViewWindow* aVW = GetViewWindow(); if (aVW) - ProcessVoidEvent(new TSet3DViewParamEvent(&SetPointOfView,aVW,thePosition)); + ProcessVoidEvent(new TSet3DViewParamEvent(&View3D_i::SetPointOfView,aVW,thePosition)); } void View3D_i::GetPointOfView (SUIT_ViewWindow* theViewWindow, @@ -2032,7 +2047,7 @@ namespace VISU { if(MYDEBUG) MESSAGE("View3D_i::SetViewUp"); SUIT_ViewWindow* aVW = GetViewWindow(); if (aVW) - ProcessVoidEvent(new TSet3DViewParamEvent(&SetViewUp,aVW,theViewUp)); + ProcessVoidEvent(new TSet3DViewParamEvent(&View3D_i::SetViewUp,aVW,theViewUp)); } void View3D_i::GetViewUp (SUIT_ViewWindow* theViewWindow, @@ -2062,7 +2077,7 @@ namespace VISU { if(MYDEBUG) MESSAGE("View3D_i::SetFocalPoint"); SUIT_ViewWindow* aVW = GetViewWindow(); if (aVW) - ProcessVoidEvent(new TSet3DViewParamEvent(&SetFocalPoint,aVW,theCoord)); + ProcessVoidEvent(new TSet3DViewParamEvent(&View3D_i::SetFocalPoint,aVW,theCoord)); } @@ -2114,7 +2129,7 @@ namespace VISU { if(MYDEBUG) MESSAGE("View3D_i::SetParallelScale"); SUIT_ViewWindow* aVW = GetViewWindow(); if (aVW) - ProcessVoidEvent(new TSetViewParamEvent(&SetParallelScale,aVW,theScale)); + ProcessVoidEvent(new TSetViewParamEvent(&View3D_i::SetParallelScale,aVW,theScale)); } CORBA::Double View3D_i::GetParallelScale (SUIT_ViewWindow* theViewWindow) @@ -2295,6 +2310,7 @@ namespace VISU { { VISU::VISUType aType = myPrs->GetType(); if (aType != VISU::TSCALARMAP && + aType != VISU::TPRSMERGER && aType != VISU::TDEFORMEDSHAPE && aType != VISU::TSCALARMAPONDEFORMEDSHAPE) { myResult = "Insideframe representation is not available for this type of presentations."; diff --git a/src/VISU_I/VISU_View_i.hh b/src/VISU_I/VISU_View_i.hh index 0c1cf1f0..c388740b 100644 --- a/src/VISU_I/VISU_View_i.hh +++ b/src/VISU_I/VISU_View_i.hh @@ -45,7 +45,7 @@ namespace VISU class Prs3d_i; class Curve_i; - class View_i : public virtual POA_VISU::View, + class VISU_I_EXPORT View_i : public virtual POA_VISU::View, public virtual Storable { public: @@ -124,7 +124,7 @@ namespace VISU //=========================================================================== - class XYPlot_i : public virtual POA_VISU::XYPlot, + class VISU_I_EXPORT XYPlot_i : public virtual POA_VISU::XYPlot, public virtual View_i { public: @@ -152,6 +152,11 @@ namespace VISU virtual void EnableYGrid (CORBA::Boolean theMajor, CORBA::Long theNumMajor, CORBA::Boolean theMinor, CORBA::Long theNumMinor); + virtual void EnableYGrid (CORBA::Boolean theMajor, CORBA::Long theNumMajor, + CORBA::Boolean theMinor, CORBA::Long theNumMinor, + CORBA::Boolean the2Major, CORBA::Long the2NumMajor, + CORBA::Boolean the2Minor, CORBA::Long the2NumMinor); + virtual void SetHorScaling (VISU::Scaling theScaling); virtual VISU::Scaling GetHorScaling(); virtual void SetVerScaling (VISU::Scaling theScaling); @@ -172,10 +177,10 @@ namespace VISU virtual void Update(); virtual void FitAll(); - virtual void FitXRange(const CORBA::Double xMin,const CORBA::Double xMax); - virtual void FitYRange(const CORBA::Double yMin,const CORBA::Double yMax); - virtual void FitRange(const CORBA::Double xMin,const CORBA::Double xMax, - const CORBA::Double yMin,const CORBA::Double yMax); + virtual void FitXRange(CORBA::Double xMin, CORBA::Double xMax); + virtual void FitYRange(CORBA::Double yMin, CORBA::Double yMax); + virtual void FitRange(CORBA::Double xMin, CORBA::Double xMax, + CORBA::Double yMin, CORBA::Double yMax); virtual void GetFitRanges(double& xMin, double& xMax, double& yMin, double& yMax); virtual void Close(); @@ -187,7 +192,7 @@ namespace VISU //=========================================================================== - class TableView_i : public virtual POA_VISU::TableView, + class VISU_I_EXPORT TableView_i : public virtual POA_VISU::TableView, public virtual View_i { public: @@ -210,7 +215,7 @@ namespace VISU //=========================================================================== - class View3D_i : public virtual POA_VISU::View3D, + class VISU_I_EXPORT View3D_i : public virtual POA_VISU::View3D, public virtual View_i { public: @@ -259,7 +264,7 @@ namespace VISU static void SetFocalPoint (SUIT_ViewWindow* theViewWindow, const CORBA::Double theFocalPnt[3]); virtual void SetFocalPoint (const VISU::View3D::XYZ theCoord); - static void View3D_i::GetFocalPoint (SUIT_ViewWindow* theViewWindow, CORBA::Double theFocalPnt[3]); + static void GetFocalPoint (SUIT_ViewWindow* theViewWindow, CORBA::Double theFocalPnt[3]); virtual VISU::View3D::XYZ_slice* GetFocalPoint(); static void SetParallelScale (SUIT_ViewWindow* theViewWindow, CORBA::Double theScale); -- 2.39.2