]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Merge with OCC_development_generic_2006
authorapo <apo@opencascade.com>
Wed, 11 Jan 2006 08:20:11 +0000 (08:20 +0000)
committerapo <apo@opencascade.com>
Wed, 11 Jan 2006 08:20:11 +0000 (08:20 +0000)
63 files changed:
doc/salome/tui/SUIT/doxyfile
src/DDS/DDS_DicGroup.cxx
src/DDS/DDS_DicItem.cxx
src/DDS/DDS_DicItem.h
src/LightApp/LightApp_Module.cxx
src/LightApp/LightApp_OBSelector.cxx
src/LightApp/LightApp_OBSelector.h
src/LightApp/LightApp_VTKSelector.cxx
src/LightApp/LightApp_VTKSelector.h
src/OBJECT/Makefile.in
src/ObjBrowser/OB_Browser.cxx
src/Qtx/Makefile.in
src/Qtx/QtxDblValidator.cxx [new file with mode: 0644]
src/Qtx/QtxDblValidator.h [new file with mode: 0644]
src/SUIT/SUIT_Operation.cxx
src/SVTK/Makefile.in
src/SVTK/SALOME_Actor.cxx
src/SVTK/SVTK_Actor.cxx
src/SVTK/SVTK_Functor.h
src/SVTK/SVTK_GenericRenderWindowInteractor.cxx
src/SVTK/SVTK_InteractorStyle.cxx
src/SVTK/SVTK_MainWindow.cxx
src/SVTK/SVTK_NonIsometricDlg.cxx
src/SVTK/SVTK_RenderWindowInteractor.cxx
src/SVTK/SVTK_Renderer.cxx
src/SVTK/SVTK_Selector.cxx
src/SVTK/SVTK_View.cxx
src/SVTK/SVTK_ViewManager.cxx
src/SVTK/SVTK_ViewManager.h
src/SVTK/SVTK_ViewModel.cxx
src/SVTK/SVTK_ViewModel.h
src/SVTK/SVTK_ViewWindow.cxx
src/SVTK/SVTK_ViewWindow.h
src/SalomeApp/SalomeApp_Study.cxx
src/SalomeApp/resources/SalomeApp.xml
src/VTKViewer/VTKViewer.h
src/VTKViewer/VTKViewer_Actor.cxx
src/VTKViewer/VTKViewer_Actor.h
src/VTKViewer/VTKViewer_CellRectPicker.cxx
src/VTKViewer/VTKViewer_ConvexTool.cxx
src/VTKViewer/VTKViewer_ConvexTool.h
src/VTKViewer/VTKViewer_ExtractUnstructuredGrid.h
src/VTKViewer/VTKViewer_GeometryFilter.h
src/VTKViewer/VTKViewer_PassThroughFilter.h
src/VTKViewer/VTKViewer_RenderWindow.cxx
src/VTKViewer/VTKViewer_RenderWindow.h
src/VTKViewer/VTKViewer_RenderWindowInteractor.cxx
src/VTKViewer/VTKViewer_RenderWindowInteractor.h
src/VTKViewer/VTKViewer_ShrinkFilter.h
src/VTKViewer/VTKViewer_Transform.h
src/VTKViewer/VTKViewer_TransformFilter.h
src/VTKViewer/VTKViewer_Trihedron.cxx
src/VTKViewer/VTKViewer_Trihedron.h
src/VTKViewer/VTKViewer_Utilities.cxx
src/VTKViewer/VTKViewer_Utilities.h
src/VTKViewer/VTKViewer_VectorText.cxx
src/VTKViewer/VTKViewer_VectorText.h
src/VTKViewer/VTKViewer_ViewManager.cxx
src/VTKViewer/VTKViewer_ViewManager.h
src/VTKViewer/VTKViewer_ViewModel.cxx
src/VTKViewer/VTKViewer_ViewModel.h
src/VTKViewer/VTKViewer_ViewWindow.cxx
src/VTKViewer/VTKViewer_ViewWindow.h

index 15f59d894cc955beac0c8b5ea2c3cd4a08fe7daf..87b647b83b9ad3029e2c65503215321fa16f7322 100755 (executable)
@@ -3,7 +3,7 @@
 #---------------------------------------------------------------------------
 # Project related configuration options
 #---------------------------------------------------------------------------
-PROJECT_NAME           = "SALOME v.3.1.0a"
+PROJECT_NAME           = "SALOME v.3.1.0"
 PROJECT_NUMBER         = id#1.1
 OUTPUT_DIRECTORY       = ../
 CREATE_SUBDIRS         = NO
index ac7f4ad6bdf9038b407f1a5f3180cc710d3133a3..40f42a3176901afa42e20c0b9d40508b7c02265d 100644 (file)
@@ -110,7 +110,7 @@ void DDS_DicGroup::FillDataMap( const LDOM_Element& theComponentData, const LDOM
     Handle(DDS_DicItem) aDicItem = new DDS_DicItem();
 
     aDicItem->myComponent = this;
-    aDicItem->FillDataMap( anID, aQuantity, theComponentData, theDocElement, unitSystems );
+    aDicItem->FillDataMap( anID, aQuantity, theDocElement, unitSystems );
     myDataMap.Add( anID, aDicItem );
   }
 }
index fd59f3cd683a039dbc8493f9bff9508d5a2d0b3b..68e19dfd259ecb4c2cd7c40fffee42e56a6d32c8 100644 (file)
@@ -309,8 +309,7 @@ Standard_Real DDS_DicItem::FromSI( const Standard_Real theVal, const UnitSystem&
   Parse record in XML file and retrieve information relevant for this data dic item
 */
 void DDS_DicItem::FillDataMap( TCollection_AsciiString theID, const LDOM_Element& theDatum,
-                               const LDOM_Element& theCompElement, const LDOM_Element& theDocElement,
-                               const TColStd_SequenceOfAsciiString& theSystems )
+                               const LDOM_Element& theDocElement, const TColStd_SequenceOfAsciiString& theSystems )
 {
   TCollection_AsciiString aLabel    = theDatum.getAttribute( DDS_Dictionary::KeyWord( "DATUM_LABEL" ) );
   TCollection_AsciiString aFormat   = theDatum.getAttribute( DDS_Dictionary::KeyWord( "DATUM_FORMAT" ) );
@@ -463,43 +462,32 @@ void DDS_DicItem::FillDataMap( TCollection_AsciiString theID, const LDOM_Element
         LDOMString aListId = aListRef.getAttribute( DDS_Dictionary::KeyWord( "VLR_LIST" ) );
         aDefV = aListRef.getAttribute( DDS_Dictionary::KeyWord( "VD_DEFV" ) );
         aDefV.RemoveAll( ' ' );
-        LDOM_Element foundListItem;
-        for ( LDOM_Element aListItem = theCompElement.GetChildByTagName( DDS_Dictionary::KeyWord( "VALUE_LIST" ) );
-              aListItem != NULL && foundListItem == NULL; aListItem = aListItem.GetSiblingByTagName() )
+        for ( LDOM_Element aListItem = theDocElement.GetChildByTagName( DDS_Dictionary::KeyWord( "VALUE_LIST" ) );
+              aListItem != NULL; aListItem = aListItem.GetSiblingByTagName() )
         {
           if ( aListItem.getAttribute( DDS_Dictionary::KeyWord( "VALUE_LIST_ID" ) ).equals( aListId ) )
-            foundListItem = aListItem;
-
-        }
-        for ( LDOM_Element aLstItem = theDocElement.GetChildByTagName( DDS_Dictionary::KeyWord( "VALUE_LIST" ) );
-              aLstItem != NULL && foundListItem == NULL; aLstItem = aLstItem.GetSiblingByTagName() )
-        {
-          if ( aLstItem.getAttribute( DDS_Dictionary::KeyWord( "VALUE_LIST_ID" ) ).equals( aListId ) )
-            foundListItem = aLstItem;
-        }
-
-        if ( foundListItem != NULL )
-        {
-          //  The appropriate list of values is found: store the list name
-          aListName = foundListItem.getAttribute( DDS_Dictionary::KeyWord( "VALUE_LIST_NAME" ) );
-          //  Iteration through the list of values
-          LDOM_Element aListItemValue = foundListItem.GetChildByTagName( DDS_Dictionary::KeyWord( "VALUE_LIST_VALUE" ) );
-          while ( aListItemValue != NULL )
           {
-            // read value ID
-            TCollection_AsciiString aListValueID = aListItemValue.getAttribute( DDS_Dictionary::KeyWord( "VALUE_LIST_VALUEID" ) );
-            if ( aListValueID.IsIntegerValue() )
+            //  The appropriate list of values is found: store the list name
+            aListName = aListItem.getAttribute( DDS_Dictionary::KeyWord( "VALUE_LIST_NAME" ) );
+            //  Iteration through the list of values
+            LDOM_Element aListItemValue = aListItem.GetChildByTagName( DDS_Dictionary::KeyWord( "VALUE_LIST_VALUE" ) );
+            while ( aListItemValue != NULL )
             {
-              //  Read the text in the element "value"
-              LDOM_Text aListItemTxt = (const LDOM_Text&)aListItemValue.getFirstChild();
-              if ( !aListItemTxt.isNull() )
+              // read value ID
+              TCollection_AsciiString aListValueID = aListItemValue.getAttribute( DDS_Dictionary::KeyWord( "VALUE_LIST_VALUEID" ) );
+              if ( aListValueID.IsIntegerValue() )
               {
-                // adding ID and text value to sequence
-                aSeqOfValueID.Append( aListValueID.IntegerValue() );
-                aSeqOfValue.Append( aListItemTxt.getData() );
-                // adding icon file name (optional) to sequence
-                TCollection_ExtendedString aListValueIcon = aListItemValue.getAttribute( DDS_Dictionary::KeyWord( "VALUE_LIST_VALUEICON" ) );
-                aSeqOfValueIconName.Append( aListValueIcon );
+                //  Read the text in the element "value"
+                LDOM_Text aListItemTxt = (const LDOM_Text&)aListItemValue.getFirstChild();
+                if ( !aListItemTxt.isNull() )
+                {
+                  // adding ID and text value to sequence
+                  aSeqOfValueID.Append( aListValueID.IntegerValue() );
+                  aSeqOfValue.Append( aListItemTxt.getData() );
+                  // adding icon file name (optional) to sequence
+                  TCollection_ExtendedString aListValueIcon = aListItemValue.getAttribute( DDS_Dictionary::KeyWord( "VALUE_LIST_VALUEICON" ) );
+                  aSeqOfValueIconName.Append( aListValueIcon );
+                }
               }
               aListItemValue = aListItemValue.GetSiblingByTagName();
             }
index 871149407e34cb3a8b1f8a8b4b32c1cab43704bf..d57eaf068150e2ca2e60facb419339c26e4c6bfb 100644 (file)
@@ -141,8 +141,8 @@ private:
   void                                       operator=( const DDS_DicItem& );
   // Assignment operator
 
-  void                                       FillDataMap( TCollection_AsciiString, const LDOM_Element&,
-                                                          const LDOM_Element&, const LDOM_Element&,
+  void                                       FillDataMap( TCollection_AsciiString,
+                                                          const LDOM_Element&,const LDOM_Element&,
                                                           const TColStd_SequenceOfAsciiString& );
   // prepares formants for each unit systems
 
index 8db02d3be8f2b4720f0cabe9c5e1973497e81fee..6b4de40b649e25cdae499bd90b535b894043cde6 100644 (file)
@@ -136,12 +136,18 @@ bool LightApp_Module::activateModule( SUIT_Study* study )
 }
 
 /*!Deactivate module.*/
-bool LightApp_Module::deactivateModule( SUIT_Study* )
+bool LightApp_Module::deactivateModule( SUIT_Study* study )
 {
   delete mySwitchOp;
   mySwitchOp = 0;
 
-  return true;
+  // abort all operations
+  MapOfOperation::const_iterator anIt;
+  for( anIt = myOperations.begin(); anIt != myOperations.end(); anIt++ ) {
+    anIt.data()->abort();
+  }
+
+  return CAM_Module::activateModule( study );
 }
 
 /*!NOT IMPLEMENTED*/
index a2c7dba9f15bdb083035ff63644507009abb03a2..ebe8571b41214946abd565cd506913f65f89371b 100644 (file)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #include "LightApp_OBSelector.h"
 
 #include "LightApp_DataOwner.h"
@@ -6,6 +24,7 @@
 #include <OB_Browser.h>
 
 #include <SUIT_DataObjectIterator.h>
+#include <qdatetime.h>
 
 /*!
   Constructor
@@ -41,22 +60,25 @@ OB_Browser* LightApp_OBSelector::browser() const
 */
 void LightApp_OBSelector::getSelection( SUIT_DataOwnerPtrList& theList ) const
 {
-  if ( !myBrowser )
-    return;
-
-  DataObjectList objlist;
-  myBrowser->getSelected( objlist );
-  for ( DataObjectListIterator it( objlist ); it.current(); ++it )
-  {
-    LightApp_DataObject* obj = dynamic_cast<LightApp_DataObject*>( it.current() );
-    if ( obj )
+  if (mySelectedList.count() == 0 ) {
+    if ( !myBrowser )
+      return;
+    DataObjectList objlist;
+    myBrowser->getSelected( objlist );
+    LightApp_OBSelector* that = (LightApp_OBSelector*)this;
+    for ( DataObjectListIterator it( objlist ); it.current(); ++it )
     {
-      Handle( SALOME_InteractiveObject ) aSObj = new SALOME_InteractiveObject
-       ( obj->entry(), obj->componentDataType(), obj->name() );
-      LightApp_DataOwner* owner = new LightApp_DataOwner( aSObj  );
-      theList.append( SUIT_DataOwnerPtr( owner ) );
+      LightApp_DataObject* obj = dynamic_cast<LightApp_DataObject*>( it.current() );
+      if ( obj )
+      {
+        Handle(SALOME_InteractiveObject) aSObj = new SALOME_InteractiveObject
+          ( obj->entry(), obj->componentDataType(), obj->name() );
+        LightApp_DataOwner* owner = new LightApp_DataOwner( aSObj  );
+        that->mySelectedList.append( SUIT_DataOwnerPtr( owner ) );
+      }
     }
   }
+  theList = mySelectedList;
 }
 
 /*!Sets selection.*/
@@ -83,7 +105,11 @@ void LightApp_OBSelector::setSelection( const SUIT_DataOwnerPtrList& theList )
 /*!On selection changed.*/
 void LightApp_OBSelector::onSelectionChanged()
 {
+  QTime t1 = QTime::currentTime();
+  mySelectedList.clear();
   selectionChanged();
+  QTime t2 = QTime::currentTime();
+  qDebug( QString( "selection time = %1 msecs" ).arg( t1.msecsTo( t2 ) ) );
 }
 
 /*!Fill entries.*/
index a48432b1ecd12d1f328108509b5f9414688a6594..e8fc44371690890a5b4cdf2491e3c215cfb4102a 100644 (file)
@@ -1,9 +1,28 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef LIGHTAPP_OBSELECTOR_H
 #define LIGHTAPP_OBSELECTOR_H
 
 #include "LightApp.h"
 
 #include <SUIT_Selector.h>
+#include <SUIT_DataOwner.h>
 
 class OB_Browser;
 class LightApp_DataObject;
@@ -36,6 +55,7 @@ private:
 
 private:
   OB_Browser*  myBrowser;
+  SUIT_DataOwnerPtrList  mySelectedList;
 
   QMap<QString, LightApp_DataObject*> myEntries;
 
index caf33ff5ee7420884ebe267b032e331771827a4f..b393b3043b94976f76f106ea8193452fdcd79f9e 100644 (file)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #include "LightApp_VTKSelector.h"
 #include "LightApp_DataOwner.h"
 
index 5e3073db2db79380f8feefc10cd1a8d9f534b2ae..14c6523ce1a2aaf4eade1e030324c71a1749d67e 100644 (file)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef LIGHTAPP_VTKSELECTOR_H
 #define LIGHTAPP_VTKSELECTOR_H
 
index ca3a3d7018ac31df4eb2a2affb773758b674e6f0..0fb5e50a7161ae8e2cfbc39c18d131d26a2e9318 100755 (executable)
@@ -50,7 +50,7 @@ LIB_CLIENT_IDL =
 BIN = 
 BIN_SRC        =
 
-CPPFLAGS+=$(PYTHON_INCLUDES) $(OCC_INCLUDES) $(VTK_INCLUDES) $(QT_INCLUDES) $(OGL_INCLUDES) -I${KERNEL_ROOT_DIR}/include/salome
+CPPFLAGS+=$(PYTHON_INCLUDES) $(OCC_INCLUDES) $(VTK_INCLUDES) $(QT_INCLUDES) $(OGL_INCLUDES)
 LDFLAGS+= $(PYTHON_LIBS) $(VTK_LIBS) $(QT_LIBS) $(OGL_LIBS) $(CAS_LDPATH) -lTKV3d -lVTKViewer -lsuit
 
 
index d8ed08c6b5e2282f650d1696cecd49649b90dd88..1ae404115d60085e5bccb32bbf4b53ae9ca46f34 100755 (executable)
@@ -530,8 +530,6 @@ void OB_Browser::updateTree( SUIT_DataObject* obj, const bool autoOpen )
   if( autoOpen )
     autoOpenBranches();
 
-  setModified();
-
   if ( selNum != numberOfSelected() )
     emit selectionChanged();
 }
index 0a92974f92963df40e355629556c4b520d711573..aa682b59d199c117ebd7c93802e53e5219770b62 100755 (executable)
@@ -48,7 +48,8 @@ EXPORT_HEADERS= Qtx.h \
                QtxWorkstack.h \
                QtxResourceEdit.h \
                QtxListView.h \
-               QtxDirListEditor.h
+               QtxDirListEditor.h \
+               QtxDblValidator.h
 
 # .po files to transform in .qm
 
@@ -95,7 +96,8 @@ LIB_SRC= \
        QtxResourceEdit.cxx \
        QtxWorkstack.cxx \
        QtxListView.cxx \
-       QtxDirListEditor.cxx
+       QtxDirListEditor.cxx \
+       QtxDblValidator.cxx
 
 LIB_MOC = \
        QtxAction.h \
@@ -127,7 +129,8 @@ LIB_MOC = \
        QtxWorkstack.h \
        QtxListView.h \
        QtxListResourceEdit.h \
-       QtxDirListEditor.h 
+       QtxDirListEditor.h \
+       QtxDblValidator.h
 
 RESOURCES_FILES = \
 
diff --git a/src/Qtx/QtxDblValidator.cxx b/src/Qtx/QtxDblValidator.cxx
new file mode 100644 (file)
index 0000000..2769fd4
--- /dev/null
@@ -0,0 +1,47 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
+// File:      QtxDblValidator.cxx
+// Author:    Alexandre SOLOVYOV
+
+#include "QtxDblValidator.h"
+
+QtxDblValidator::QtxDblValidator( const double bot, const double top, const int dec,
+                                 QObject* o, const char* name )
+: QDoubleValidator( bot, top, dec, o, name )
+{
+}
+
+QtxDblValidator::~QtxDblValidator()
+{
+}
+
+void QtxDblValidator::fixup( QString& str ) const
+{
+  bool ok = false;
+  double d = str.toDouble( &ok );
+  if( ok )
+  {
+    if( d<bottom() )
+      str = QString::number( bottom() );
+    else if( d>top() )
+      str = QString::number( top() );
+  }
+  else
+    str = "0";
+}
diff --git a/src/Qtx/QtxDblValidator.h b/src/Qtx/QtxDblValidator.h
new file mode 100644 (file)
index 0000000..bae6c03
--- /dev/null
@@ -0,0 +1,39 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
+// File:      QtxDblValidator.h
+// Author:    Alexandre SOLOVYOV
+
+#ifndef QTX_DOUBLE_VALIDATOR
+#define QTX_DOUBLE_VALIDATOR
+
+#include <qvalidator.h>
+
+class QtxDblValidator : public QDoubleValidator
+{
+  Q_OBJECT
+
+public:
+  QtxDblValidator( const double, const double, const int,
+                  QObject*, const char* = 0 );
+  ~QtxDblValidator();
+
+  virtual void fixup( QString& ) const;
+};
+
+#endif
index 11beaef40415835acea8de322fe94087d4dac963..658ff20173dfc936c55b01e4175965d19819b988 100755 (executable)
@@ -416,7 +416,7 @@ void SUIT_Operation::start( SUIT_Operation* op, const bool check )
     return;
     
   if ( study() )
-    study()->start( op, false );
+    study()->start( op, check );
   else
   {
     connect( this, SIGNAL( stopped( SUIT_Operation* ) ), op, SLOT( abort() ) );
index e60c3cc247d4499f6cc6194309327d57668a7885..0d7920eeee9df5bbf76661a8d580a785b8bf9d5a 100755 (executable)
@@ -6,7 +6,7 @@
 top_srcdir=@top_srcdir@
 top_builddir=../..
 srcdir=@srcdir@
-VPATH=.:@srcdir@
+VPATH=.:@srcdir@:@srcdir@/resources
 
 
 @COMMENCE@
@@ -37,6 +37,8 @@ EXPORT_HEADERS= \
        SVTK_Event.h \
        SVTK_ViewModelBase.h
 
+PO_FILES = SVTK_msg_en.po
+
 # Libraries targets
 LIB = libSVTK.la
 
@@ -81,20 +83,15 @@ CPPFLAGS+= \
        $(QT_INCLUDES) \
        $(OCC_INCLUDES) \
        $(VTK_INCLUDES) \
-       $(BOOST_CPPFLAGS) \
-       -I$(KERNEL_ROOT_DIR)/include/salome
+       $(BOOST_CPPFLAGS)
 
 LDFLAGS+= \
        $(QT_MT_LIBS) \
        $(OCC_LIBS) \
-       $(VTK_LIBS) \
-       -L$(KERNEL_ROOT_DIR)/lib/salome
+       $(VTK_LIBS)
 
-LIBS+= -lsuit -lCAM -lSalomeObject -lSalomePrs -lVTKViewer -lOpUtil -lToolsGUI -lSalomeDS
+LIBS+= -lqtx -lsuit -lstd -lCAM -lSalomeObject -lSalomePrs -lVTKViewer
 
-LDFLAGSFORBIN=$(LDFLAGS) $(LIBS) \
-       -lqtx -lstd -lSALOMELocalTrace -lSalomeNS -lTOOLSDS -lSalomeHDFPersist -lSalomeDSImpl \
-       -lSalomeGenericObj -lSalomeLifeCycleCORBA -lSALOMEBasics -lSalomeContainer \
-       -lSalomeResourcesManager -lRegistry -lSalomeNotification
+LDFLAGSFORBIN=$(LDFLAGS) $(LIBS)
 
 @CONCLUDE@
index 15597adce71d02536e6b68908f5cf2225f579122..59c5eaed3ee687b88d1994a27fed348999347de3 100644 (file)
 #include <TColStd_MapOfInteger.hxx>
 #include <TColStd_IndexedMapOfInteger.hxx>
 
-#include "utilities.h"
-
 using namespace std;
 
-#ifdef _DEBUG_
-static int MYDEBUG = 1;
-#else
-static int MYDEBUG = 0;
-#endif
-
 #if defined __GNUC__
   #if __GNUC__ == 2
     #define __GNUC_2__
@@ -156,8 +148,6 @@ SALOME_Actor
   myOutline(vtkOutlineSource::New()),
   myOutlineActor(VTKViewer_Actor::New())
 {
-  if(MYDEBUG) MESSAGE("SALOME_Actor::SALOME_Actor - this = "<<this);
-
   vtkMapper::GetResolveCoincidentTopologyPolygonOffsetParameters(myPolygonOffsetFactor,
                                                                 myPolygonOffsetUnits);
 
@@ -196,8 +186,6 @@ SALOME_Actor
 SALOME_Actor
 ::~SALOME_Actor()
 {
-  if(MYDEBUG) MESSAGE("SALOME_Actor::~SALOME_Actor - this = "<<this);
-
   SetPreviewProperty(NULL);
 
   myGeomFilter->UnRegisterAllOutputs(); 
@@ -764,10 +752,6 @@ SALOME_Actor
   myHighlightActor->SetVisibility( false );
   myOutlineActor->SetVisibility( false );
 
-  if(MYDEBUG) MESSAGE("SALOME_Actor::highlight - this = "<<this<<
-                     "; theIsHighlight = "<<theIsHighlight<<
-                     "; mySelectionMode = "<<mySelectionMode);
-    
   if(mySelector.GetPointer()){
     if(mySelectionMode != ActorSelection){
       TColStd_IndexedMapOfInteger aMapIndex;
index d68c772f7459e49cfdd8d545a6c0696e5a7239ec..56a9768e8f0a6cb1b2f25592d1a644764ef715ce 100644 (file)
 #include <vtkCell.h>
 #include <vtkPolyData.h>
 
-#include "utilities.h"
-
 using namespace std;
 
-#ifdef _DEBUG_
-static int MYDEBUG = 0;
-#else
-static int MYDEBUG = 0;
-#endif
-
 
 static 
 void
@@ -62,8 +54,6 @@ SVTK_Actor
 ::SVTK_Actor():
   myUnstructuredGrid(vtkUnstructuredGrid::New())
 {
-  if(MYDEBUG) INFOS("SVTK_Actor - "<<this);
-
   myIsShaded = true;
 
   Visibility = Pickable = false;
@@ -106,7 +96,6 @@ SVTK_Actor
 SVTK_Actor
 ::~SVTK_Actor()
 {
-  if(MYDEBUG) INFOS("~SVTK_Actor()");
 }
 
 
index 162d563b98bcf2ac9e980c3c2db09f382d77bf58..b47d26e6c8757a08fdf0e61c77a11c8c3a0c259d 100644 (file)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef SVTK_Functor_H
 #define SVTK_Functor_H
 
index e2d3498670dce9ef061b0020694d2dd4558a1618..e3cb3c8e289d61422d534f1840eda38909ac7105 100644 (file)
@@ -29,8 +29,6 @@
 #include "SVTK_GenericRenderWindowInteractor.h"
 #include "SVTK_Selector.h"
 
-#include "utilities.h"
-
 #include <vtkObjectFactory.h>
 #include <vtkCommand.h>
 
 
 using namespace std;
 
-#ifdef _DEBUG_
-static int MYDEBUG = 0;
-#else
-static int MYDEBUG = 0;
-#endif
-
 //----------------------------------------------------------------------------
 vtkStandardNewMacro(QVTK_GenericRenderWindowInteractor);
 
 QVTK_GenericRenderWindowInteractor
 ::QVTK_GenericRenderWindowInteractor()
 {
-  if(MYDEBUG) INFOS("QVTK_GenericRenderWindowInteractor() - "<<this);
   myTimer = new QTimer( ) ;
   connect(myTimer, SIGNAL(timeout()), this, SLOT(OnTimeOut())) ;
 }
@@ -58,7 +49,6 @@ QVTK_GenericRenderWindowInteractor
 QVTK_GenericRenderWindowInteractor
 ::~QVTK_GenericRenderWindowInteractor()
 {
-  if(MYDEBUG) INFOS("~QVTK_GenericRenderWindowInteractor() - "<<this);
   delete myTimer;
 }
 
@@ -112,13 +102,11 @@ SVTK_GenericRenderWindowInteractor
 ::SVTK_GenericRenderWindowInteractor():
   myRenderWidget(NULL)
 {
-  if(MYDEBUG) INFOS("SVTK_GenericRenderWindowInteractor() - "<<this);
 }
 
 SVTK_GenericRenderWindowInteractor
 ::~SVTK_GenericRenderWindowInteractor()
 {
-  if(MYDEBUG) INFOS("~SVTK_GenericRenderWindowInteractor() - "<<this);
 }
 
 SVTK_Selector*
index 443cb440faea9c61f3531760f38625f5f8117397..b429827894f8caa6376bc6ac65ead48cf1398143 100644 (file)
 //VRV: porting on Qt 3.0.5
 #include <algorithm>
 
-#include "utilities.h"
-
 using namespace std;
 
-#ifdef _DEBUG_
-static int MYDEBUG = 0;
-#else
-static int MYDEBUG = 0;
-#endif
-
 namespace
 {
   inline 
@@ -120,8 +112,6 @@ SVTK_InteractorStyle
 {
   myPicker->Delete();
 
-  if(MYDEBUG) INFOS("SVTK_InteractorStyle() - "<<this);
-
   this->MotionFactor = 10.0;
   this->State = VTK_INTERACTOR_STYLE_CAMERA_NONE;
   this->RadianToDegree = 180.0 / vtkMath::Pi();
@@ -145,7 +135,6 @@ SVTK_InteractorStyle
 SVTK_InteractorStyle
 ::~SVTK_InteractorStyle() 
 {
-  if(MYDEBUG) INFOS("~SVTK_InteractorStyle() - "<<this);
 }
 
 //----------------------------------------------------------------------------
index c5e260cd75995ce3e032cadada5ecd72359e6b06..bb11c50e91eb1b1f622e1acf74acfc1080c3e3e4 100644 (file)
 
 #include <qimage.h>
 
-#include "utilities.h"
-
-#ifdef _DEBUG_
-static int MYDEBUG = 0;
-#else
-static int MYDEBUG = 0;
-#endif
-
 
 //----------------------------------------------------------------------------
 SVTK_MainWindow
@@ -66,8 +58,6 @@ SVTK_MainWindow
                  SUIT_ResourceMgr* theResourceMgr) :
   QMainWindow(theParent,theName,0)
 {
-  if(MYDEBUG) INFOS("SVTK_MainWindow() - "<<this);
-
   myToolBar = new QToolBar(this);
   myToolBar->setCloseMode(QDockWindow::Undocked);
   myToolBar->setLabel(tr("LBL_TOOLBAR_LABEL"));
@@ -96,7 +86,6 @@ SVTK_MainWindow
 SVTK_MainWindow
 ::~SVTK_MainWindow()
 {
-  if(MYDEBUG) INFOS("~SVTK_MainWindow() - "<<this);
 }
 
 
@@ -342,6 +331,10 @@ SVTK_MainWindow
 }
 
 //----------------------------------------------------------------------------
+#if defined(WIN32) && !defined(_DEBUG)
+#pragma optimize( "", off )
+#endif
+
 void
 SVTK_MainWindow
 ::createActions(SUIT_ResourceMgr* theResourceMgr)
@@ -489,6 +482,10 @@ SVTK_MainWindow
   myCubeAxesDlg = new SVTK_CubeAxesDlg(this,"SVTK_CubeAxesDlg",anAction);
 }
 
+#if defined(WIN32) && !defined(_DEBUG)
+#pragma optimize( "", on )
+#endif
+
 //----------------------------------------------------------------------------
 void
 SVTK_MainWindow
index 10af3818d1669c63f69ee1f92209fb44c61458dc..a01bcbdcb7729ca31ce328ee1f3ad721c786acf3 100644 (file)
@@ -33,8 +33,6 @@
 #include "QtxDblSpinBox.h"
 #include "QtxAction.h"
 
-#include "utilities.h"
-
 #include <qgroupbox.h>
 #include <qlabel.h>
 #include <qpushbutton.h>
index c66e0456faf79132e96dcb4ecdb9d7a95e77cfcc..91d7c0c9dc5e3a678848fe76a12f4967dd577589 100644 (file)
 #include <qcolordialog.h>
 #include <qpaintdevice.h>
 
-#include "utilities.h"
-
 using namespace std;
 
-#ifdef _DEBUG_
-static int MYDEBUG = 0;
-static int MYVTKDEBUG = 0;
-#else
-static int MYDEBUG = 0;
-static int MYVTKDEBUG = 0;
-#endif
-
 static bool GENERATE_SUIT_EVENTS = false;
 
 
@@ -77,7 +67,6 @@ QVTK_RenderWindowInteractor
   QWidget(theParent,theName,Qt::WNoAutoErase),
   myRenderWindow(vtkRenderWindow::New())
 {
-  if(MYDEBUG) INFOS("QVTK_RenderWindowInteractor() - "<<this);
   setMouseTracking(true);
 
   myRenderWindow->Delete();
@@ -107,8 +96,6 @@ QVTK_RenderWindowInteractor
 QVTK_RenderWindowInteractor
 ::~QVTK_RenderWindowInteractor() 
 {
-  if(MYDEBUG) INFOS("~QVTK_RenderWindowInteractor() - "<<this);
-
   if(SVTK_SpaceMouse* aSpaceMouse = SVTK_SpaceMouse::getInstance())
     if(aSpaceMouse->isSpaceMouseOn())
       aSpaceMouse->close(x11Display());
@@ -392,8 +379,6 @@ SVTK_RenderWindowInteractor
   QVTK_RenderWindowInteractor(theParent,theName),
   myEventCallbackCommand(vtkCallbackCommand::New())
 {
-  if(MYDEBUG) INFOS("SVTK_RenderWindowInteractor() - "<<this);
-
   myEventCallbackCommand->Delete();
 
   myEventCallbackCommand->SetClientData(this); 
@@ -417,20 +402,12 @@ SVTK_RenderWindowInteractor
 SVTK_RenderWindowInteractor
 ::~SVTK_RenderWindowInteractor() 
 {
-  if(MYDEBUG) INFOS("~SVTK_RenderWindowInteractor() - "<<this);
-
   // Sequence of the destruction call are fixed and should be changed.
   // vtkRenderWindow instance should be destroyed after all vtkRenderer's
-  if(MYVTKDEBUG){
-    getRenderWindow()->DebugOn();
-    getRenderer()->DebugOn();
-    GetDevice()->DebugOn();
-  }
   GetDevice()->SetInteractorStyle(NULL); 
   while(!myInteractorStyles.empty()){
     const PInteractorStyle& aStyle = myInteractorStyles.top();
     aStyle->SetInteractor(NULL);
-    if(MYVTKDEBUG) aStyle->DebugOn();
     myInteractorStyles.pop();
   }
 
index e0459678b55557f99d5bd4b63854fbb20ad429a6..3a5b42f84b1fe36afc109e4b9132c75d03d485b3 100644 (file)
 #undef min
 #undef max
 
-#include "utilities.h"
-
-#ifdef _DEBUG_
-static int MYDEBUG = 0;
-#else
-static int MYDEBUG = 0;
-#endif
-
 
 //----------------------------------------------------------------------------
 vtkStandardNewMacro(SVTK_Renderer);
@@ -83,8 +75,6 @@ SVTK_Renderer
   myTrihedron(SVTK_Trihedron::New()),
   myTrihedronSize(105)
 {
-  if(MYDEBUG) INFOS("SVTK_Renderer() - "<<this);
-
   myDevice->Delete();
   myTransform->Delete();
 
@@ -156,7 +146,6 @@ SVTK_Renderer
 SVTK_Renderer
 ::~SVTK_Renderer()
 {
-  if(MYDEBUG) INFOS("~SVTK_Renderer() - "<<this);
   vtkActorCollection* anActors = GetDevice()->GetActors();
   anActors->InitTraversal();
   while(vtkActor* anAct = anActors->GetNextActor()){
index d9ddca8871429b6f3c5d41fc5b62df13caccc7fd..bc6dad1480e5ee99953a82b0e9588e0dba014f5b 100644 (file)
@@ -31,8 +31,6 @@
 
 #include "SALOME_Actor.h"
 
-#include "utilities.h"
-
 #include <TColStd_MapIteratorOfMapOfInteger.hxx>
 #include <TColStd_IndexedMapOfInteger.hxx>
 
index 180149fd1fb4cc217f1c62d59f502668be834992..966ff234064483293d1d318e354c785ef020930f 100644 (file)
 #include <vtkActorCollection.h>
 #include <vtkRenderer.h>
 
-#include "utilities.h"
-
-#ifdef _DEBUG_
-static int MYDEBUG = 0;
-#else
-static int MYDEBUG = 0;
-#endif
-
 
 //----------------------------------------------------------------------------
 SVTK_SignalHandler
@@ -55,8 +47,6 @@ SVTK_SignalHandler
   QObject(theMainWindow),
   myMainWindow(theMainWindow)
 {
-  if(MYDEBUG) INFOS("SVTK_SignalHandler() - "<<this);
-
   SVTK_RenderWindowInteractor* anInteractor = theMainWindow->GetInteractor();
 
   connect(anInteractor,SIGNAL(KeyPressed(QKeyEvent*)),
@@ -80,7 +70,6 @@ SVTK_SignalHandler
 SVTK_SignalHandler
 ::~SVTK_SignalHandler()
 {
-  if(MYDEBUG) INFOS("~SVTK_SignalHandler() - "<<this);
 }
 
 SVTK_MainWindow*
@@ -161,14 +150,12 @@ SVTK_View
 ::SVTK_View(SVTK_MainWindow* theMainWindow) :
   SVTK_SignalHandler(theMainWindow)
 {
-  if(MYDEBUG) INFOS("SVTK_View() - "<<this);
 }
 
 //----------------------------------------------------------------------------
 SVTK_View
 ::~SVTK_View()
 {
-  if(MYDEBUG) INFOS("~SVTK_View() - "<<this);
 }
 
 //----------------------------------------------------------------
index 25fcbdfd6ecde9ad034ff592b538c2114fc3e6ae..4822bf63929f04f9bfa7afa976cfcc09c5a0e36d 100644 (file)
@@ -1,8 +1,24 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #include "SVTK_ViewManager.h"
 #include "SVTK_ViewModel.h"
 
-#include <VTKViewer_ViewManager.h>
-
 int SVTK_ViewManager::_SVTKViewMgr_Id = 0;
 
 //***************************************************************
@@ -23,5 +39,5 @@ SVTK_ViewManager::~SVTK_ViewManager()
 void SVTK_ViewManager::setViewName(SUIT_ViewWindow* theView)
 {
   int aPos = myViews.find(theView);
-  theView->setCaption( VTKViewer_ViewManager::tr( "VTK_VIEW_TITLE" ).arg( myId ).arg( aPos + 1 ) );
+  theView->setCaption( tr( "VTK_VIEW_TITLE" ).arg( myId ).arg( aPos + 1 ) );
 }
index e003d7a12da8bbd503705ecb5f081ca24405c257..b200ccc5bd5df9ade5e993fd9cc9a3409f99c892 100644 (file)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef SVTK_VIEWMANAGER_H
 #define SVTK_VIEWMANAGER_H
 
index 2215bdc96bba5206635d609409bbac841eca4f2d..08c2169d53e32a80e1534ca5726943cdbc1fc8f1 100644 (file)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #include <qpopupmenu.h>
 #include <qcolordialog.h>
 
@@ -16,8 +34,8 @@
 
 #include "VTKViewer_ViewModel.h"
 
-#include "SALOME_Actor.h"
-#include "SALOME_InteractiveObject.hxx"
+#include <SALOME_Actor.h>
+#include <SALOME_InteractiveObject.hxx>
 
 // in order NOT TO link with SalomeApp, here the code returns SALOMEDS_Study.
 // SalomeApp_Study::studyDS() does it as well, but -- here it is retrieved from 
index 03a593f519a7b0ebf98d4da38571b42da6ea0d07..5875d465e57aecb54e59b34d820ee5c37d246beb 100644 (file)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef SVTK_VIEWMODEL_H
 #define SVTK_VIEWMODEL_H
 
index 9e91d02f0ec91fac0d0bf1b0a2835c0bfc752cee..4f2c8841ef8dd82f2bfcd25cb33c535237d4cd76 100755 (executable)
@@ -1,9 +1,24 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #include "SALOME_Actor.h"
 
 #include <qapplication.h>
-#include <qpushbutton.h>
-#include <qsplitter.h>
-#include <qlayout.h>
 #include <qimage.h>
 
 #include <vtkTextProperty.h>
@@ -19,6 +34,7 @@
 #include "SUIT_Session.h"
 #include "SUIT_ToolButton.h"
 #include "SUIT_MessageBox.h"
+#include "SUIT_Accel.h"
 
 #include "SUIT_Tools.h"
 #include "SUIT_ResourceMgr.h"
index 2aa64c5fae3a91c08d8189bb39a002483b47533e..1fc559c78145aea29e4d99de0a916e077ac778eb 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef SVTK_VIEWWINDOW_H
 #define SVTK_VIEWWINDOW_H
 
index 3073e544e1dd3e89374fec534e0f627a3b73fa4a..ff766e681ee53aedc5bf45b45f91f690808e42ac 100644 (file)
@@ -195,12 +195,13 @@ bool SalomeApp_Study::saveDocumentAs( const QString& theFileName )
     return false;
 
   bool isMultiFile = resMgr->booleanValue( "Study", "multi_file", false ),
-       isAscii = resMgr->booleanValue( "Study", "ascii_file", false );
-  isAscii ? SalomeApp_Application::studyMgr()->SaveAsASCII( theFileName.latin1(), studyDS(), isMultiFile ) :
-            SalomeApp_Application::studyMgr()->SaveAs     ( theFileName.latin1(), studyDS(), isMultiFile );
+       isAscii = resMgr->booleanValue( "Study", "ascii_file", false ),
+       res = isAscii ? 
+        SalomeApp_Application::studyMgr()->SaveAsASCII( theFileName.latin1(), studyDS(), isMultiFile ) :
+        SalomeApp_Application::studyMgr()->SaveAs     ( theFileName.latin1(), studyDS(), isMultiFile ) &&
+    CAM_Study::saveDocumentAs( theFileName ) &&  //SRN: BugID IPAL9377, removed usage of uninitialized variable <res>
+    saveStudyData(theFileName);
 
-  bool res = CAM_Study::saveDocumentAs( theFileName );  //SRN: BugID IPAL9377, removed usage of uninitialized variable <res>
-  res = res && saveStudyData(theFileName);
   if ( res )
     emit saved( this );
 
@@ -230,11 +231,10 @@ bool SalomeApp_Study::saveDocument()
     return false;
 
   bool isMultiFile = resMgr->booleanValue( "Study", "multi_file", false ),
-       isAscii = resMgr->booleanValue( "Study", "ascii_file", false );
-  isAscii ? SalomeApp_Application::studyMgr()->SaveASCII( studyDS(), isMultiFile ) :
-            SalomeApp_Application::studyMgr()->Save     ( studyDS(), isMultiFile );
-
-  bool res = CAM_Study::saveDocument();
+       isAscii = resMgr->booleanValue( "Study", "ascii_file", false ),
+       res = isAscii ? 
+        SalomeApp_Application::studyMgr()->SaveASCII( studyDS(), isMultiFile ) :
+         SalomeApp_Application::studyMgr()->Save     ( studyDS(), isMultiFile ) && CAM_Study::saveDocument();
 
   res = res && saveStudyData(studyName());
   if ( res )
index 606d4d823dcf26a1c7362207c0c78461468c929e..81a5651e9b99ed9e04cdd8a3b2d9640be8e6cb9b 100644 (file)
     <parameter name="xterm"      value="no"/>
     <parameter name="portkill"   value="no"/>
     <parameter name="killall"    value="no"/>
+    <parameter name="noexcepthandler"  value="no"/>
     <parameter name="modules"    value="GEOM,SMESH,VISU,SUPERV,MED,COMPONENT"/>
     <parameter name="pyModules"  value=""/>
-    <parameter name="embedded"   value="SalomeAppEngine,study"/>
-    <parameter name="standalone" value="pyContainer,cppContainer,registry,moduleCatalog"/>
+    <parameter name="embedded"   value="SalomeAppEngine,study,cppContainer,registry,moduleCatalog"/>
+    <parameter name="standalone" value="pyContainer,supervContainer"/>
   </section>
   <section name="language">
     <parameter name="language"    value="en"/>
     <parameter name="MED"          value="${MED_ROOT_DIR}/share/salome/resources"/>
     <parameter name="StdMeshers"   value="${SMESH_ROOT_DIR}/share/salome/resources"/>
     <parameter name="COMPONENT"    value="${COMPONENT_ROOT_DIR}/share/salome/resources"/>
-    <parameter name="HELLO"        value="${HELLO1_ROOT_DIR}/share/salome/resources"/>
+    <parameter name="HELLO"        value="${HELLO_ROOT_DIR}/share/salome/resources"/>
+    <parameter name="PYHELLO"      value="${PYHELLO_ROOT_DIR}/share/salome/resources"/>
     <parameter name="NETGENPlugin" value="${NETGENPLUGIN_ROOT_DIR}/share/salome/resources"/>
     <parameter name="GHS3DPlugin"  value="${GHS3DPLUGIN_ROOT_DIR}/share/salome/resources"/>
     <parameter name="ToolsGUI"     value="${SUITRoot}/resources"/>
   </section>
+  <section name="PyConsole">
+    <parameter name="font" value="Helvetic,12" />
+  </section>
+  <section name="Study">
+    <parameter name="store_positions" value="false" />
+  </section>
   <section name="GEOM">
     <parameter name="name"       value="Geometry"/>
     <parameter name="icon"       value="ModuleGeom.png"/>
     <parameter name="name"       value="Hello"/>
     <parameter name="icon"       value="HELLO.png"/>
   </section>
+  <section name="PYHELLO">
+    <parameter name="name"       value="PyHello"/>
+    <parameter name="icon"       value="PYHELLO.png"/>
+    <parameter name="library"    value="SalomePyQtGUI"/>
+  </section>
 
 <!-- values below this line are just an example, they are not used  -->
   <section name="application">
   </section>
   <section name="ObjectBrowser" >
     <parameter value="false" name="auto_size" />
-    <parameter value="true" name="visibility_column_0" />
+    <parameter value="true"  name="auto_size_first" />
+    <parameter value="true"  name="visibility_column_0" />
     <parameter value="false" name="visibility_column_1" />
     <parameter value="false" name="visibility_column_2" />
     <parameter value="false" name="visibility_column_3" />
  </section>
  <section name="VTKViewer" >
     <parameter value="0, 0, 0" name="background" />
-    <parameter value="100" name="trihedron_size" />
+    <parameter value="105" name="trihedron_size" />
+    <parameter value="true" name="relative_size" />
  </section>
+ <section name="ExternalBrowser" >
+    <parameter value="/usr/bin/mozilla" name="application" />
+  </section>
  <section name="Plot2d" >
     <parameter value="255, 255, 255" name="Background" />
     <parameter value="1" name="CurveType" />
     <parameter value="5" name="selection_width" />
     <parameter value="5" name="highlight_width" />
     <parameter value="0" name="controls_precision" />
-    <parameter value="0.12" name="scalar_bar_horizontal_height" />
-    <parameter value="0.6" name="scalar_bar_horizontal_width" />
-    <parameter value="0.2" name="scalar_bar_horizontal_x" />
+    <parameter value="0.05" name="scalar_bar_horizontal_height" />
+    <parameter value="0.5" name="scalar_bar_horizontal_width" />
+    <parameter value="0.01" name="scalar_bar_horizontal_x" />
     <parameter value="0.01" name="scalar_bar_horizontal_y" />
     <parameter value="255, 255, 255" name="scalar_bar_label_color" />
     <parameter value="Arial,12" name="scalar_bar_label_font" />
     <parameter value="0" name="scalar_bar_orientation" />
     <parameter value="255, 255, 255" name="scalar_bar_title_color" />
     <parameter value="Arial,12" name="scalar_bar_title_font" />
-    <parameter value="0.8" name="scalar_bar_vertical_height" />
-    <parameter value="0.1" name="scalar_bar_vertical_width" />
+    <parameter value="0.5" name="scalar_bar_vertical_height" />
+    <parameter value="0.05" name="scalar_bar_vertical_width" />
     <parameter value="0.01" name="scalar_bar_vertical_x" />
-    <parameter value="0.1" name="scalar_bar_vertical_y" />
+    <parameter value="0.01" name="scalar_bar_vertical_y" />
     <parameter value="true" name="DisplayMode" />
     <parameter value="true" name="auto_update" />
     <parameter value="1" name="display_mode" />
+    <parameter value="false" name="auto_groups" />
   </section>
   <section name="VISU" >
   <parameter value="false" name="full_med_loading" />
-  <parameter value="0.12" name="scalar_bar_horizontal_height" />
-  <parameter value="0.6" name="scalar_bar_horizontal_width" />
-  <parameter value="0.2" name="scalar_bar_horizontal_x" />
+  <parameter value="false" name="represent_shading" />
+  <parameter value="0.05" name="scalar_bar_horizontal_height" />
+  <parameter value="0.5" name="scalar_bar_horizontal_width" />
+  <parameter value="0.01" name="scalar_bar_horizontal_x" />
   <parameter value="0.01" name="scalar_bar_horizontal_y" />
   <parameter value="255, 255, 255" name="scalar_bar_label_color" />
   <parameter value="Arial,Bold,Italic,Underline,12" name="scalar_bar_label_font" />
   <parameter value="0" name="scalar_bar_orientation" />
   <parameter value="255, 255, 255" name="scalar_bar_title_color" />
   <parameter value="Arial,Bold,Italic,Underline,12" name="scalar_bar_title_font" />
-  <parameter value="0.8" name="scalar_bar_vertical_height" />
-  <parameter value="0.1" name="scalar_bar_vertical_width" />
+  <parameter value="0.5" name="scalar_bar_vertical_height" />
+  <parameter value="0.05" name="scalar_bar_vertical_width" />
   <parameter value="0.01" name="scalar_bar_vertical_x" />
-  <parameter value="0.1" name="scalar_bar_vertical_y" />
+  <parameter value="0.01" name="scalar_bar_vertical_y" />
   <parameter value="0" name="scalar_range_max" />
   <parameter value="0" name="scalar_range_min" />
   <parameter value="0" name="scalar_range_type" />
index 58fc3055b1352c63ff348c4daf08f27b046337ec..27934b61047f1212e1520421e3bc25ab72d2d2d4 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifdef WNT
 #ifdef VTKVIEWER_EXPORTS
 #define VTKVIEWER_EXPORT __declspec( dllexport )
index 5f71ef5ddb48f62f761a4a35017d03956f3e9e79..7b9e003536a9c0475bba05af18586a14fcf0eb7e 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #include "VTKViewer_Actor.h"
 #include "VTKViewer_Transform.h"
 #include "VTKViewer_GeometryFilter.h"
index ad050d3216331974bac23e8cbc310757a4257a9e..2a437120009cd4fae38f3a8784108a049613c1c6 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef VTKVIEVER_ACTOR_H
 #define VTKVIEVER_ACTOR_H
 
index e6647d9085e5fd7b086c1b95eba90dff10903f0c..36b1741b5bb95dbc753d3bdf25e6d0f3b66cdaba 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #include <VTKViewer_CellRectPicker.h>
 
 #include "vtkGenericCell.h"
index 64e712e976730dbdef82b59f835dd2dd314f3d2a..a4dded2cc20d6fa4fde630c48a97e3783a6b5b4f 100644 (file)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 //  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 
 #include <vtkUnstructuredGrid.h>
 #include <vtkTriangle.h>
 #include <vtkConvexPointSet.h>
+#include <vtkUnstructuredGridWriter.h>
 #include <vtkMath.h>
+#include <vtkSmartPointer.h>
 
 #include <set>
 #include <iterator>
 #include <algorithm>
 #include <math.h>
 
+typedef vtkUnstructuredGrid TInput;
+
 typedef std::set<vtkIdType> TUIDS; // unique ids 
 typedef std::map<vtkIdType,TUIDS> TPTOIDS; // id points -> unique ids
 
 namespace CONVEX_TOOL
 {
+  void
+  WriteToFile(vtkUnstructuredGrid* theDataSet, const std::string& theFileName)
+  {
+    vtkUnstructuredGridWriter* aWriter = vtkUnstructuredGridWriter::New();
+    aWriter->SetFileName(theFileName.c_str());
+    aWriter->SetInput(theDataSet);
+    aWriter->Write();
+    aWriter->Delete();
+  }
 
 static float FACE_ANGLE_TOLERANCE=1.5;
+#define EPS 1.0e-38
+#define EPS_T 1.0e-3
 
 #ifdef _DEBUG_
   static int MYDEBUG = 0;
+  static int MYDEBUG_REMOVE = 0;
 #else
   static int MYDEBUG = 0;
+  static int MYDEBUG_REMOVE = 0;
 #endif
 
-/*! \fn static void GetCenter(vtkUnstructuredGrid* theGrid,TCell theptIds,float *center)
+/*! \fn static void GetCenter(TInput* theGrid,TCell theptIds,float *center)
  * \brief Calculation of geometry center.
- * \param theGrid - vtkUnstructuredGrid cell.
+ * \param theGrid - TInput cell.
  * \param theptIds - point ids.
  * \retval center - output array[3] with coordinates of geometry center.
  */
-static void GetCenter(vtkUnstructuredGrid* theGrid,TCell theptIds,float center[3])
+static void GetCenter(vtkPoints* thePoints,float center[3])
 {
   float p[3];
   center[0] = center[1] = center[2] = 0.0;
 
-  int numIds = theptIds.size();
-  if (numIds == 0) return;
+  int numPts = thePoints->GetNumberOfPoints();
+  if (numPts == 0) return;
 
   // get the center of the cell
-  for (int i = 0; i < numIds; i++)
+  for (int i = 0; i < numPts; i++)
   {
-    theGrid->GetPoint(theptIds[i], p);
+    thePoints->GetPoint(i, p);
     for (int j = 0; j < 3; j++)
     {
       center[j] += p[j];
@@ -60,7 +95,7 @@ static void GetCenter(vtkUnstructuredGrid* theGrid,TCell theptIds,float center[3
   }
   for (int j = 0; j < 3; j++)
   {
-    center[j] /= numIds;
+    center[j] /= numPts;
   }
 }
 
@@ -136,16 +171,16 @@ void GetFriends(const TPTOIDS p2faces,const TCellArray f2points,TPTOIDS& face2fa
   }
 }
 
-/*! \fn bool IsConnectedFacesOnOnePlane( vtkUnstructuredGrid* theGrid,vtkIdType theFId1, vtkIdType theFId2,TUIDS FpIds1, TUIDS FpIds2 )
+/*! \fn bool IsConnectedFacesOnOnePlane( TInput* theGrid,vtkIdType theFId1, vtkIdType theFId2,TUIDS FpIds1, TUIDS FpIds2 )
  * \brief Check is connected faces on one plane.
- * \param theGrid - vtkUnstructuredGrid
+ * \param theGrid - TInput
  * \param theFId1 - id of first face
  * \param theFId2 - id of second face
  * \param FpIds1  - first face points ids.
  * \param FpIds2  - second face points ids.
  * \return TRUE if two faces on one plane, else FALSE.
  */
-bool IsConnectedFacesOnOnePlane( vtkUnstructuredGrid* theGrid,
+bool IsConnectedFacesOnOnePlane( TInput* theGrid,
                                  vtkIdType theFId1, vtkIdType theFId2,
                                 TUIDS FpIds1, TUIDS FpIds2 )
 {
@@ -234,7 +269,7 @@ bool IsConnectedFacesOnOnePlane( vtkUnstructuredGrid* theGrid,
        }
        cout << p[k][2] << ")   ";
       }
-      cout << "angle="<<angle<<" status="<<status<<endl;
+      if(status) cout << "angle="<<angle<<" status="<<status<<endl;
     }
     
   } else if (common_ids.size() >2){
@@ -340,22 +375,273 @@ void GetSumm(TCell v1,TCell v2,TCell &output)
   if(MYDEBUG) cout << endl;
 }
 
+static void GetAndRemoveIdsOnOneLine(vtkPoints* points,
+                                    TUIDS input_points_ids,
+                                    TUIDS input_two_points_ids,
+                                    TUIDS& out_two_points_ids,
+                                    TUIDS& removed_points_ids){
+  if (MYDEBUG_REMOVE) cout << EPS <<endl;
+  float P[3][3];
+  vtkIdType current_points_ids[2];
+  if(MYDEBUG_REMOVE) 
+    if(input_two_points_ids.size()!=2) cout << "Error. Must be two ids in variable input_two_points_ids"<<endl;
+  TUIDS::const_iterator aInPointsIter = input_two_points_ids.begin();
+  for(int i=0;i<2 && aInPointsIter!=input_two_points_ids.end();aInPointsIter++,i++){
+    current_points_ids[i] = *aInPointsIter;
+    if (MYDEBUG_REMOVE) cout << " " << *aInPointsIter;
+  }
+  if (MYDEBUG_REMOVE) cout << endl;
+  bool iscurrent_points_changed = false;
+  points->GetPoint(current_points_ids[0],P[0]);
+  points->GetPoint(current_points_ids[1],P[1]);
+  TUIDS::iterator aPointsIter = input_points_ids.begin();
+  for(;aPointsIter!=input_points_ids.end();aPointsIter++){
+    if(iscurrent_points_changed){
+      points->GetPoint(current_points_ids[0],P[0]);
+      points->GetPoint(current_points_ids[1],P[1]);
+      iscurrent_points_changed = false;
+      if (MYDEBUG_REMOVE) 
+       cout << " " << current_points_ids[0] << " " << current_points_ids[1] << endl;
+    }
+    // check: is point on line input_two_points_ids
+    points->GetPoint(*aPointsIter,P[2]);
+    if (MYDEBUG_REMOVE) {
+      cout << "\t" << current_points_ids[0] << ":"<<P[0][0]<<","<<P[0][1]<<","<<P[0][2]<<endl;
+      cout << "\t" << current_points_ids[1] << ":"<<P[1][0]<<","<<P[1][1]<<","<<P[1][2]<<endl;
+      cout << "\t" << *aPointsIter << ":"<<P[2][0]<<","<<P[2][1]<<","<<P[2][2]<<endl;
+    }
+  
+    // x-x1=(x2-x1)*t -> coeff[0][0] = (x-x1), coeff[0][1] = x2-x1
+    // y-y1=(y2-y1)*t -> coeff[1][0] = (y-y1), coeff[1][1] = y2-y1
+    // z-z1=(z2-z1)*t -> coeff[2][0] = (z-z1), coeff[2][1] = z2-z1
+    float coeff[3][2];
+    for(int i=0;i<3;i++){
+      coeff[i][0] = P[2][i]-P[0][i];
+      coeff[i][1] = P[1][i]-P[0][i];
+    }
+    bool isok_coord[3];
+    bool isok = true;
+    float t[3];
+    for(int i=0;i<3;i++){
+      isok_coord[i] = false;
+      if( fabs(coeff[i][0]) <= EPS && fabs(coeff[i][1]) <= EPS) {
+       isok_coord[i] = true;
+       continue;
+      }
+      if( fabs(coeff[i][1]) <= EPS && fabs(coeff[i][0]) > EPS) {isok = false;t[i]=1.0/EPS;break;}
+      t[i] = (coeff[i][0])/(coeff[i][1]);
+    }
+    for(int i=0;i<3;i++)
+      if (MYDEBUG_REMOVE) 
+       cout << __LINE__ << "          " 
+            << coeff[i][0] << ","<<coeff[i][1]
+            <<"   t="<<t[i]<<" isok_coord="<<isok_coord[i]<<endl;
+    if(!isok) continue;
+
+    if (!isok_coord[0] && !isok_coord[1]){
+      if (fabs(t[0]-t[1]) <= EPS_T) isok = true;
+      else isok = false;
+    }
+    if (MYDEBUG_REMOVE) cout << __LINE__ << "          1000 " << isok << endl;
+    if(!isok) continue;
+    if (!isok_coord[1] && !isok_coord[2]){
+      if (fabs(t[1] - t[2]) <= EPS_T) isok = true;
+      else isok = false;
+    }
+    if (MYDEBUG_REMOVE) cout << __LINE__ << "          2000 " << isok << endl;
+    if(!isok) continue;
+    if (!isok_coord[0] && !isok_coord[2]){
+      if (fabs(t[0] - t[2]) <= EPS_T) isok = true;
+      else isok = false;
+    }
+    if (MYDEBUG_REMOVE) cout << __LINE__ << "          3000 " << isok<<endl;
+    if(!isok) continue;
+    
+    float param[3]; // parametric coord for P[0],P[1],P[2] <--->t[0],t[1],t[2]
+    // anilize bounds of line
+    for(int i=0;i<3;i++){
+      for(int j=0;j<3;j++)
+       if(!isok_coord[j]) param[i] = (P[i][j]-P[0][j])/(P[1][j]-P[0][j]);
+    }
+    if (MYDEBUG_REMOVE) cout << "Params: " << param[0] << "," << param[1] << "," << param[2] << endl;
+    vtkIdType imax,imin;
+    float min,max;
+    for(vtkIdType i=0;i<3;i++)
+      if(!isok_coord[i]){
+       min = param[0];imin=0;
+       max = param[0];imax=0;
+       break;
+      }
+    for(vtkIdType i=0;i<3;i++){
+       if(min > param[i]) {min = param[i]; imin=i;}
+       if(max < param[i]) {max = param[i]; imax=i;}
+    }
+    if (MYDEBUG_REMOVE) 
+      cout << "\t min="<<min<<"  max="<<max<<" - "<<"imin="<<imin<<"  imax="<<imax<<endl;
+    // imin - index of left point
+    // imax - index of right point
+    
+    // add id to removed point
+    vtkIdType rem_id,id1,id2;
+    for(vtkIdType i=0;i<3;i++)
+      if (i!=imin && i!=imax) {rem_id = i; break;}
+    
+    if(rem_id == 0) {
+      rem_id = current_points_ids[0];
+      id1=current_points_ids[1];
+      id2=*aPointsIter;
+    }
+    else if (rem_id == 1) {
+      rem_id = current_points_ids[1];
+      id1=current_points_ids[0];
+      id2=*aPointsIter;
+    }
+    else if (rem_id == 2) {
+      rem_id = *aPointsIter;
+      id1=current_points_ids[0];
+      id2=current_points_ids[1];
+    }
+    if (MYDEBUG_REMOVE) 
+      cout << " " << current_points_ids[0] <<","<<current_points_ids[1]<<"---->"<<id1<<","<<id2<<endl;
+    if((current_points_ids[0] == id1 && current_points_ids[1] == id2) ||
+       (current_points_ids[0] == id2 && current_points_ids[1] == id1))
+      {}
+    else {
+      iscurrent_points_changed = true;
+      current_points_ids[0] = id1;
+      current_points_ids[1] = id2;
+    }
+    
+    removed_points_ids.insert(rem_id);
+  }
+  out_two_points_ids.insert(current_points_ids[0]);
+  out_two_points_ids.insert(current_points_ids[1]);
+}
+
+static vtkConvexPointSet* RemoveAllUnneededPoints(vtkConvexPointSet* convex){
+  vtkSmartPointer<vtkConvexPointSet> out = vtkConvexPointSet::New();
+  
+  TUIDS two_points,input_points,out_two_points_ids,removed_points_ids,loc_removed_points_ids;
+  vtkIdList* aPointIds = convex->GetPointIds();
+  int numIds = aPointIds->GetNumberOfIds();
+  // all pairs
+  typedef std::pair<vtkIdType,vtkIdType> TPair;
+  typedef std::set<TPair> TSet;
+  TSet good_point_ids;
+  TSet aLists[numIds-2];
+  for(int i=0;i<numIds-2;i++){
+    for(int j=i+1;j<numIds-1;j++){
+      TPair aPair(i,j);
+      aLists[i].insert(aPair);
+    }
+  }
+  for(vtkIdType i=0;i<numIds-2;i++){
+    TUIDS::iterator aRemIter=removed_points_ids.find(i);
+    if(aRemIter!=removed_points_ids.end()) continue;
+    TSet::iterator aPairIter=aLists[i].begin();
+    loc_removed_points_ids.clear();
+    out_two_points_ids.clear();
+    input_points.clear();
+    two_points.clear();
+    for(;aPairIter!=aLists[i].end();aPairIter++){
+      vtkIdType aFirId = (*aPairIter).first;
+      vtkIdType aSecId = (*aPairIter).second;
+      aRemIter=removed_points_ids.find(aSecId);
+      if(aRemIter!=removed_points_ids.end()) continue;
+      TPair aPair1(aFirId,aSecId);
+      TPair aPair2(aSecId,aFirId);
+      TSet::iterator aGoodIter=good_point_ids.find(aPair1);
+      if(aGoodIter!=good_point_ids.end()) continue;
+      aGoodIter=good_point_ids.find(aPair2);
+      if(aGoodIter!=good_point_ids.end()) continue;
+      two_points.insert(aFirId);
+      two_points.insert(aSecId);
+      if (MYDEBUG_REMOVE) 
+       cout << "\nInput: " << aFirId<<":"<<aPointIds->GetId(aFirId) << "," << aSecId <<":"<<aPointIds->GetId(aSecId)<< "  --- ";
+      for(vtkIdType k=aSecId+1;k<numIds;k++) {
+       input_points.insert(k);
+       if (MYDEBUG_REMOVE) cout << k<<":"<<aPointIds->GetId(k) << ",";
+      }
+      if (MYDEBUG_REMOVE) {
+       cout << endl;
+       cout << "\t";
+       for(TUIDS::iterator aDelIter = loc_removed_points_ids.begin();aDelIter!=loc_removed_points_ids.end();aDelIter++) 
+         cout << *aDelIter<<",";
+       cout << endl;
+      }
+      GetAndRemoveIdsOnOneLine(convex->Points,
+                              input_points,
+                              two_points,
+                              out_two_points_ids,
+                              loc_removed_points_ids);
+      TUIDS::iterator aOutIter = out_two_points_ids.begin();
+      vtkIdType aFirst=*aOutIter;aOutIter++;vtkIdType aSecond=*aOutIter;
+      TPair aPair(aFirst,aSecond);
+      good_point_ids.insert(aPair);
+      if (MYDEBUG_REMOVE){
+       cout << "Output: ";
+       TUIDS::iterator aIter = out_two_points_ids.begin();
+       for(;aIter!=out_two_points_ids.end();aIter++)
+         cout << *aIter << ",";
+       cout << " --- ";
+      }
+      TUIDS::iterator aDelIter = loc_removed_points_ids.begin();
+      for(;aDelIter!=loc_removed_points_ids.end();aDelIter++){
+       removed_points_ids.insert(*aDelIter);
+       if (MYDEBUG_REMOVE) cout << *aDelIter << ",";
+      }
+      if (MYDEBUG_REMOVE) cout << endl;
+    }
+  }
+  if (MYDEBUG_REMOVE) {
+    cout << "============ Resultat ================" <<endl;
+    cout << "Removed:";
+    for(TUIDS::iterator aIter=removed_points_ids.begin();aIter!=removed_points_ids.end();aIter++)
+      cout << *aIter << ",";
+    cout << endl;
+  }
+  
+  TUIDS result_ids,all_ids;
+  for(vtkIdType i=0;i<numIds;i++) all_ids.insert(i);
+  std::set_difference(all_ids.begin(),
+                     all_ids.end(),
+                     removed_points_ids.begin(),
+                     removed_points_ids.end(),
+                     std::inserter(result_ids,result_ids.begin()));
+
+  out->Points->SetNumberOfPoints(result_ids.size());
+  out->PointIds->SetNumberOfIds(result_ids.size());
+  int aId=0;
+  if(MYDEBUG_REMOVE) cout << "Result out:";
+  for(TUIDS::iterator aIter=result_ids.begin();aIter!=result_ids.end();aIter++,aId++){
+    float P[3];
+    convex->Points->GetPoint(*aIter,P);
+    out->Points->SetPoint(aId,P);
+    out->PointIds->SetId(aId,aPointIds->GetId(*aIter));
+    if (MYDEBUG_REMOVE) cout << *aIter << ":" << aPointIds->GetId(*aIter) << " , ";
+  }
+  if(MYDEBUG_REMOVE) cout << endl;
+  out->Modified();
+  out->Initialize();
+  
+  return out.GetPointer();
+}
+
 void GetPolygonalFaces(vtkUnstructuredGrid* theGrid,int cellId,TCellArray &outputCellArray)
 {
   if (theGrid->GetCellType(cellId) == VTK_CONVEX_POINT_SET){
     // get vtkCell type = VTK_CONVEX_POINT_SET
-    if(vtkConvexPointSet* convex = static_cast<vtkConvexPointSet*>(theGrid->GetCell(cellId))){
+    if(vtkConvexPointSet* convex_in = static_cast<vtkConvexPointSet*>(theGrid->GetCell(cellId))){
+      vtkConvexPointSet* convex = RemoveAllUnneededPoints(convex_in);
       TCellArray f2points;
       float convex_center[3]; // convex center point coorinat
       int aNbFaces = convex->GetNumberOfFaces();
       int numPts = convex->GetNumberOfPoints();
-      TCell convex_ids;
+      if(MYDEBUG_REMOVE) cout << "aNbFaces="<<aNbFaces<<endl;
+      if(MYDEBUG_REMOVE) cout << "numPts="<<numPts<<endl;
       TPTOIDS p2faces; // key=pointId , value facesIds set
 
-      for(int i=0;i<numPts;i++)
-         convex_ids.push_back(convex->GetPointId(i));
-
-      GetCenter(theGrid,convex_ids,convex_center);
+      GetCenter(convex->Points,convex_center);
 
       for (vtkIdType faceId=0; faceId < aNbFaces; faceId++){
        vtkCell *aFace = convex->GetFace(faceId);
index a49448bf4469677ab84ceecb5103d23f8d7b529e..ed303af03a6b80d110ea7e545acd8d8380789970 100644 (file)
@@ -40,6 +40,8 @@ namespace CONVEX_TOOL
    *  \param cellId  - id of cell type VTK_CONVEX_POINT_SET
    *  \retval outputCellArray - output array with new cells types VTK_POLYGON
    */
+  void
+    WriteToFile(vtkUnstructuredGrid* theDataSet, const std::string& theFileName);
   void GetPolygonalFaces(vtkUnstructuredGrid* theCell,int cellId,TCellArray &outputCellArray);
 }
 
index acdbddb8495ca8b58fd9b4fcdab18e8941b67418..a820bd25ba95abbb856b87c13e4ee20e80a9cd0e 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef VTKVIEWER_EXTRACTUNSTRUCTUREDGRID_H
 #define VTKVIEWER_EXTRACTUNSTRUCTUREDGRID_H
 
index fc46ef2949ecb7f2fa4358baa1ef2d274a08c1e9..3290640361cbd6e7b476f5986e1878ddac85f5dd 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef VTKVIEWER_GEOMETRYFILTER_H
 #define VTKVIEWER_GEOMETRYFILTER_H
 
index 0cacb25319c3a4f32077769bf2ba59e1016a27ce..09bc8149f4eb145413b42954744e3f3d0d5d4f0d 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef VTKVIEWER_PASSTHROUGHFILTER_H
 #define VTKVIEWER_PASSTHROUGHFILTER_H
 
index cfffd5671476cd6bbfa7c931c27beb7133bf2be7..a6ccdfd6aefa3aead1baff25a7519249b2bcc9c5 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #include "VTKViewer_RenderWindow.h"
 
 #include <qcolordialog.h>
index e535d3c1dfd87ce4ba8384f1d5dbd1916f39f1b5..c83b0307ec1db995dfc4aaa257f15118e415a4ad 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef VTKVIEWER_RENDERWINDOW_H
 #define VTKVIEWER_RENDERWINDOW_H
 
index bba404e1faa397363816fe4612e615cc36c0201f..db601ab4a076b971fcf368329ed643cf1d59e7a7 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #include "VTKViewer_RenderWindowInteractor.h"
 #include "VTKViewer_RenderWindow.h"
 #include "VTKViewer_InteractorStyle.h"
index 16aa877fd69a15183edec389f6d2ce1b0f1c4f27..9d06598b87f77ee7803167736d8ccc9352ad172b 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef VTKVIEWER_RENDERWINDOWINTERACTOR_H
 #define VTKVIEWER_RENDERWINDOWINTERACTOR_H
 
index 51b4e662457024123ac0806f1191f9d07ab1aa1a..9b60d49782a7449ad9a2ed21825e05bb120b54d3 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef VTKVIEWER_SHRINKFILTER_H
 #define VTKVIEWER_SHRINKFILTER_H
 
index 25b6d07bea5f8269fbc7c57868c423e6da66e73e..478d982c62f5d724cd036c766ca68d70c0f2b358 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef VTKVIEWER_TRANSFORM_H
 #define VTKVIEWER_TRANSFORM_H
 
index c82b63298025a6ff67c15ed8d85e5a30de5ef332..ecc2b3cb279d9b0a12a4565e39121f248256ad98 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef VTKVIEWER_TRANSFORMFILTER_H
 #define VTKVIEWER_TRANSFORMFILTER_H
 
index 9ff5e694611f692d9fe38df555627b84bbaf840c..a6670cb87132b9745aa267d52ed53bdd2d6150e5 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #include "VTKViewer_Trihedron.h"
 #include "VTKViewer_Actor.h"
 
index 74aebace8218f81b744c081043726f1a657ca7cb..e40e3bc903d064567b99e27c8fd5c7e329d852c2 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef VTKVIEWER_TRIHEDRON_H
 #define VTKVIEWER_TRIHEDRON_H
 
index 9ed586d6f2e195f3105537e6567f444d2a53eb39..a05b0a36f5654b691ee82f7d34a13466088d18c6 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #include "VTKViewer_Actor.h"
 
 // VTK Includes
index d733fc541fa3268c2e8e317d0e5c997f64aa434a..6341e885d67ed3ca98f3b3898fd16ec1785567f9 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef VTKVIEWER_UTILITIES_H
 #define VTKVIEWER_UTILITIES_H
 
index 1fd9d6a19e12f1df4b75cfd96b223aebfca608da..b4e62266a9534a3462347a17284940fd3beac44f 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 /*=========================================================================
 
   Program:   Visualization Toolkit
index 15c6a57f3fe3c385efbc53e7ffa37e5bdf97fcc1..8ce64cdd4d1f1787736fff2448d51423a97e15f8 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 /*=========================================================================
 
   Program:   Visualization Toolkit
index 4ce4414ab54562dbd0b5def57eeb21e302778bb0..2dedb7984f2432b81c17a696377143c0ff73fed5 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #include "VTKViewer_ViewManager.h"
 #include "VTKViewer_ViewModel.h"
 
index 1d23edacadaf59b574d1feb5cf127fa926bc7e69..03f6d21da7bf939742f05f5c2e05da1dcb533d97 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef VTKVIEWER_VIEWMANAGER_H
 #define VTKVIEWER_VIEWMANAGER_H
 
index b762a6a5e0e7119cfa13d965f0828cee2b0ca461..f8fd9913e88222fe5be78a63d61d601c504a6bdc 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #include "VTKViewer_ViewModel.h"
 #include "VTKViewer_ViewWindow.h"
 #include "VTKViewer_ViewManager.h"
index efd3078a0cfb9388dc867442ef47e98567262882..0ca65ab79efea878297f4a20f32ec2be72f3b0ac 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef VTKVIEWER_VIEWMODEL_H
 #define VTKVIEWER_VIEWMODEL_H
 
index 405462b5970263f2d71d600434d8a1477786b6a3..d4500095a314523e6bee492b6484f8b5280d5e92 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #include "VTKViewer_ViewWindow.h"
 #include "VTKViewer_ViewModel.h"
 #include "VTKViewer_RenderWindow.h"
index 6b95c671efff86797feee6779099cc4a5dd5ab9f..951d96d4cbb7d39632c47385fd2657fcffca2436 100755 (executable)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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/
+//
 #ifndef VTKVIEWER_VIEWWINDOW_H
 #define VTKVIEWER_VIEWWINDOW_H