]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
To introduce more intelligent way to update presentations based on comparision of...
authorapo <apo@opencascade.com>
Mon, 30 Oct 2006 08:36:21 +0000 (08:36 +0000)
committerapo <apo@opencascade.com>
Mon, 30 Oct 2006 08:36:21 +0000 (08:36 +0000)
30 files changed:
src/PIPELINE/VISU_CutLinesPL.cxx
src/PIPELINE/VISU_CutLinesPL.hxx
src/PIPELINE/VISU_CutPlanesPL.cxx
src/PIPELINE/VISU_CutPlanesPL.hxx
src/PIPELINE/VISU_GaussPointsPL.cxx
src/PIPELINE/VISU_GaussPointsPL.hxx
src/PIPELINE/VISU_PipeLine.cxx
src/PIPELINE/VISU_PipeLine.hxx
src/PIPELINE/VISU_Plot3DPL.cxx
src/PIPELINE/VISU_Plot3DPL.hxx
src/PIPELINE/VISU_ScalarMapOnDeformedShapePL.hxx
src/PIPELINE/VISU_VectorsPL.cxx
src/PIPELINE/VISU_VectorsPL.hxx
src/VISUGUI/VisuGUI_GaussPointsDlg.cxx
src/VISUGUI/VisuGUI_ScalarBarDlg.cxx
src/VISUGUI/VisuGUI_ScalarMapOnDeformedShapeDlg.cxx
src/VISU_I/VISU_ColoredPrs3d_i.cc
src/VISU_I/VISU_ColoredPrs3d_i.hh
src/VISU_I/VISU_DeformedShape_i.cc
src/VISU_I/VISU_DeformedShape_i.hh
src/VISU_I/VISU_GaussPoints_i.cc
src/VISU_I/VISU_GaussPoints_i.hh
src/VISU_I/VISU_Gen_i.cc
src/VISU_I/VISU_Prs3d_i.cc
src/VISU_I/VISU_Prs3d_i.hh
src/VISU_I/VISU_ScalarMapOnDeformedShape_i.cc
src/VISU_I/VISU_ScalarMapOnDeformedShape_i.hh
src/VISU_I/VISU_StreamLines_i.cc
src/VISU_I/VISU_Vectors_i.cc
src/VISU_SWIG/Makefile.in

index a7561e48721ccd0a10fd1927e45c0f2d6a139f18..789e1ebb2d0f340db5f55baa6455996bf7a23a8a 100644 (file)
@@ -142,9 +142,10 @@ VISU_CutLinesPL
   anAppendPolyData->Delete();
   //Calculate values for building of table
   vtkMath::Cross(aDir[0],aDir[1],myDirLn);
-  for (int i=0; i<3 ; i++) {
+  for (int i = 0; i<3 ; i++) {
     myRealDirLn[i] = myDirLn[i];
-    if(myDirLn[i]<0) myDirLn[i] = (-1)*myDirLn[i];//enk:: correction of bug Bug PAL10401
+    if(myDirLn[i] < 0.0) 
+      myDirLn[i] = -1.0*myDirLn[i];//enk:: correction of bug Bug PAL10401
   }
   GetBoundProject(myBoundPrjLn, aBaseBounds, myDirLn);
   VISU::Mul(myDirLn,myBoundPrjLn[0],myBasePnt);
index ec7c8defb354048c157bc4f1a11ab86f2befb745..7406610e0ba024cfb20f3e3382d1b5848050ef9a 100644 (file)
@@ -82,30 +82,47 @@ public:
                int thePlaneCondition,
                vtkFloatingPointType theDisplacement);
 
-  const vtkFloatingPointType* 
-  GetDirLn()
-  {
-    return myDirLn;
-  }
-
+  //! Returns direction that is defined by position & orientation of the basic and tool planes
   const vtkFloatingPointType* 
   GetRealDirLn()
   {
     return myRealDirLn;
   }
 
+  /*! 
+    Returns direction that corresponds to the myRealDirLn,
+    but has the same direction as main axis.
+  */
   const vtkFloatingPointType* 
-  GetBoundPrjLn()
+  GetDirLn()
   {
-    return myBoundPrjLn;
+    return myDirLn;
   }
 
+  /*!
+    Returns coordinates of 3D point that shows 
+    where is the first intersection of the given mesh.
+    with the defined direction.
+  */
   const vtkFloatingPointType* 
   GetBasePnt()
   { 
     return myBasePnt;
   }
 
+  /*!
+    Returns three floating point numbers that defines the following values:
+    1. Distance between the initial point of intersection and origin of coordinates;
+    2. Distance between the last point of intersection and origin of coordinates;
+    3. Distance between the last point and initial points of intersection.
+    with the defined direction.
+  */
+  const vtkFloatingPointType* 
+  GetBoundPrjLn()
+  {
+    return myBoundPrjLn;
+  }
+
 protected:
   vtkFloatingPointType myDirLn[3];
   vtkFloatingPointType myRealDirLn[3];
index c1780194a75ac10a7406e36702feed48612b0cbe..a5af21f509754b77de5680d607702110f9da0028 100644 (file)
@@ -257,6 +257,24 @@ VISU_CutPlanesPL
 }
 
 
+vtkFloatingPointType 
+VISU_CutPlanesPL
+::GetDisplacement(int theNum)
+{
+  return myDisplacement[theNum];
+}
+
+
+void
+VISU_CutPlanesPL
+::SetDisplacement(vtkFloatingPointType theDisp, 
+                 int theNum) 
+{
+  myDisplacement[theNum] = theDisp;
+  Modified();
+}
+
+
 void
 VISU_CutPlanesPL
 ::SetNbParts(int theNb) 
@@ -273,7 +291,8 @@ VISU_CutPlanesPL
 ::SetPartPosition(int thePartNumber, 
                  vtkFloatingPointType thePartPosition)
 {
-  if(thePartNumber >= myNbParts) return;
+  if(thePartNumber >= myNbParts) 
+    return;
   myPartPosition[thePartNumber] = thePartPosition;
   myPartCondition[thePartNumber] = 0;
   Modified();
@@ -284,7 +303,8 @@ VISU_CutPlanesPL
 ::GetPartPosition(int thePartNumber, 
                  int theNum)
 {
-  if(thePartNumber >= myNbParts) return 0;
+  if(thePartNumber >= myNbParts) 
+    return 0;
   vtkFloatingPointType aPosition = myPartPosition[thePartNumber];
   if(myPartCondition[thePartNumber]){
       vtkFloatingPointType aDir[3], aBounds[6], aBoundPrj[3];
index cea06cb220c4f9927e603eb01f4e7b70458cc99e..5dc01d397576931068be304975555c67afb8c18e 100644 (file)
@@ -71,18 +71,12 @@ public:
 
   virtual
   vtkFloatingPointType 
-  GetDisplacement(int theNum = 0)
-  {
-    return myDisplacement[theNum];
-  }
+  GetDisplacement(int theNum = 0);
 
   virtual
   void
   SetDisplacement(vtkFloatingPointType theDisp, 
-                 int theNum = 0)
-  { 
-    myDisplacement[theNum] = theDisp;
-  }
+                 int theNum = 0);
 
   virtual
   void
index 3ffc756480d8959e83d6a04f045c343d064e6cec..51b7547d732c81c45f8da5ee2747a678d0c6b735 100644 (file)
@@ -113,6 +113,15 @@ VISU_GaussPointsPL
 }
 
 
+//----------------------------------------------------------------------------
+unsigned long int 
+VISU_GaussPointsPL
+::GetMTime()
+{
+  unsigned long int aTime = std::max(Superclass::GetMTime(),myPSMapper->GetMTime());
+  return aTime;
+}
+
 //----------------------------------------------------------------------------
 void
 CopyGlyph( vtkGlyph3D* source, vtkGlyph3D* dest )
@@ -220,8 +229,7 @@ VISU_GaussPointsPL
 void
 VISU_GaussPointsPL
 ::Build()
-{
-}
+{}
 
 //----------------------------------------------------------------------------
 void
@@ -392,7 +400,14 @@ VISU_GaussPointsPL
 ::SetIsColored(bool theIsColored)
 {
   myPSMapper->SetPointSpriteMode( theIsColored ? 0 : 1 ); // Results / Geometry
-  Modified();
+}
+
+//----------------------------------------------------------------------------
+bool
+VISU_GaussPointsPL
+::GetIsColored()
+{
+  return myPSMapper->GetPointSpriteMode() == 0;
 }
 
 //----------------------------------------------------------------------------
index 4acd793f6214ab69dfa52ca95ce17036879b7a06..5a53c7fbfd1c1a5c019f6631e3970cc8012ab000 100644 (file)
@@ -66,6 +66,10 @@ public:
   static 
   VISU_GaussPointsPL* New();
   
+  virtual
+  unsigned long int 
+  GetMTime();
+
   virtual
   void
   ShallowCopy(VISU_PipeLine *thePipeLine);
@@ -141,6 +145,9 @@ public:
   void
   SetIsColored(bool theIsColored);
 
+  bool 
+  GetIsColored();
+
   //! Set type of the primitives.
   void
   SetPrimitiveType(int thePrimitiveType);
index 91e05edb700fa084d2928f26cd63e259ea494f59..0e7f6fc55aed867a9ca3e1f01aa5249f0973dbba 100644 (file)
@@ -32,6 +32,7 @@
 #include "SALOME_ExtractGeometry.h"
 
 #include <float.h>
+#include <algorithm>
 
 #include <vtkObjectFactory.h>
 #include <vtkDataSetMapper.h>
@@ -72,7 +73,6 @@ VISU_PipeLine
   anImplicitBoolean->Delete();
 
   myIsShrinkable = false;
-
 }
 
 VISU_PipeLine
@@ -81,6 +81,14 @@ VISU_PipeLine
   if(MYDEBUG) MESSAGE("VISU_PipeLine::~VISU_PipeLine - "<<this);
 }
 
+unsigned long int 
+VISU_PipeLine
+::GetMTime()
+{
+  unsigned long int aTime = std::max(Superclass::GetMTime(),myMapper->GetMTime());
+  return aTime;
+}
+
 // Turn debugging output on.
 void
 VISU_PipeLine
@@ -149,13 +157,14 @@ void
 VISU_PipeLine
 ::SetInput(TInput* theInput)
 {
+  if(GetInput() == theInput)
+    return;
+
   if(theInput)
     theInput->Update();
 
   myExtractGeometry->SetInput(theInput);
   myInput = theInput;
-
-  Modified();
 }
 
 VISU_PipeLine::TMapper* 
index c90080cef9e3497cb4252a2279bc8ff24518621c..0d1ea0574be2f4a349d2f3d83e9905297ffe742a 100644 (file)
@@ -30,6 +30,7 @@
 #include <vector>
 #include <vtkObject.h>
 #include <vtkSmartPointer.h>
+#include <vtkTimeStamp.h>
 
 #include "VISU_IDMapper.hxx"
 
@@ -37,6 +38,8 @@ class vtkCell;
 class vtkDataSet;
 class vtkImplicitFunction;
 
+
+//----------------------------------------------------------------------------
 template <class T>
 class TVTKSmartPtr: public vtkSmartPointer<T>
 {
@@ -70,6 +73,8 @@ public:
   }
 };
 
+
+//----------------------------------------------------------------------------
 class vtkMapper;
 class vtkDataSetMapper;
 class vtkUnstructuredGrid;
@@ -81,11 +86,14 @@ class SALOME_ExtractGeometry;
 
 typedef VISU::TVTKOutput TInput;
 
-class VISU_PipeLine : public vtkObject{
+class VISU_PipeLine : public vtkObject
+{
 public:
   vtkTypeMacro(VISU_PipeLine,vtkObject);
+
   virtual
-  ~VISU_PipeLine();
+  unsigned long int 
+  GetMTime();
 
   virtual
   void
@@ -211,6 +219,9 @@ protected:
   VISU_PipeLine();
   VISU_PipeLine(const VISU_PipeLine&);
 
+  virtual
+  ~VISU_PipeLine();
+
   virtual 
   TInput* 
   GetInput2() const;
index 2b87e56f32ba96130af4c7a0868ce2f8f0164a7b..8875badb741d898a8b2a9cfa691a917bc45efdd1 100644 (file)
@@ -245,6 +245,21 @@ GetScaleFactor() const
   return myScaleFactor;
 }
 
+void
+VISU_Plot3DPL::
+SetContourPrs(bool theIsContourPrs )
+{
+  myIsContour = theIsContourPrs;
+  Modified();
+}
+
+bool
+VISU_Plot3DPL::
+GetIsContourPrs() const
+{
+  return myIsContour;
+}
+
 void
 VISU_Plot3DPL::
 SetPlanePosition(vtkFloatingPointType thePosition,
@@ -252,6 +267,7 @@ SetPlanePosition(vtkFloatingPointType thePosition,
 {
   myIsRelative = theIsRelative;
   myPosition = thePosition;
+  Modified();
 }
 
 bool
@@ -309,6 +325,7 @@ SetOrientation(VISU_CutPlanesPL::PlaneOrientation theOrientation,
   case VISU_CutPlanesPL::ZX: myAngle[0] = theYAngle; break;
   }
   myOrientation = theOrientation;
+  Modified();
 }
 
 vtkFloatingPointType
@@ -322,10 +339,11 @@ GetPlanePosition() const
 //function : GetBasePlane
 //purpose  :
 //=======================================================================
-
-void VISU_Plot3DPL::GetBasePlane(vtkFloatingPointType theOrigin[3],
-                                 vtkFloatingPointType theNormal[3],
-                                 bool  theCenterOrigine ) const
+void
+VISU_Plot3DPL
+::GetBasePlane(vtkFloatingPointType theOrigin[3],
+              vtkFloatingPointType theNormal[3],
+              bool  theCenterOrigine ) const
 {
   VISU_CutPlanesPL::GetDir(theNormal,myAngle,myOrientation);
 
@@ -369,9 +387,10 @@ void VISU_Plot3DPL::GetBasePlane(vtkFloatingPointType theOrigin[3],
 //function : GetMinMaxPosition
 //purpose  : return absolute position range
 //=======================================================================
-
-void VISU_Plot3DPL::GetMinMaxPosition( vtkFloatingPointType& minPos, 
-                                      vtkFloatingPointType& maxPos ) const
+void
+VISU_Plot3DPL
+::GetMinMaxPosition( vtkFloatingPointType& minPos, 
+                    vtkFloatingPointType& maxPos ) const
 {
   vtkFloatingPointType aBounds[6], aBoundPrj[3], aNormal[3];
   VISU_CutPlanesPL::GetDir(aNormal,myAngle,myOrientation);
@@ -386,7 +405,9 @@ void VISU_Plot3DPL::GetMinMaxPosition( vtkFloatingPointType& minPos,
 //purpose  :
 //=======================================================================
 
-void VISU_Plot3DPL::SetMapScale(vtkFloatingPointType theMapScale)
+void 
+VISU_Plot3DPL
+::SetMapScale(vtkFloatingPointType theMapScale)
 {
   VISU_ScalarMapPL::SetMapScale(theMapScale);
 
index cb237fa78a8261c6d4e6ff57e7bde9ea1efa2738..93044d79bce6fb040e38d4eacc25bdddd35a335b 100644 (file)
@@ -80,10 +80,10 @@ public:
   GetScaleFactor() const;
 
   void
-  SetContourPrs (bool theIsContourPrs ) { myIsContour = theIsContourPrs; }
+  SetContourPrs(bool theIsContourPrs );
 
   bool
-  GetIsContourPrs() { return myIsContour; }
+  GetIsContourPrs() const;
 
   void
   SetNumberOfContours(int theNumber);
index 66553b302f784eff7437cb32db54b8e31ce4dfd3..6abcf103a7411bbb75151a1cc4a96d2bd76546f0 100644 (file)
@@ -46,20 +46,41 @@ protected:
 public:
   vtkTypeMacro(VISU_ScalarMapOnDeformedShapePL,VISU_ScalarMapPL);
 
-  static VISU_ScalarMapOnDeformedShapePL* New();
+  static 
+  VISU_ScalarMapOnDeformedShapePL* 
+  New();
 
-  virtual void ShallowCopy(VISU_PipeLine *thePipeLine);
+  virtual 
+  void
+  ShallowCopy(VISU_PipeLine *thePipeLine);
 
-  virtual void SetScale(vtkFloatingPointType theScale);
-  virtual vtkFloatingPointType GetScale();
+  virtual
+  void
+  SetScale(vtkFloatingPointType theScale);
 
-  virtual int GetScalarMode();
-  virtual void SetScalarMode(int theScalarMode = 0);
+  virtual
+  vtkFloatingPointType
+  GetScale();
 
-  virtual void GetSourceRange(vtkFloatingPointType theRange[2]);
+  virtual
+  int
+  GetScalarMode();
 
-  virtual void SetScalars(vtkDataSet *theScalars);
-  virtual vtkUnstructuredGrid* GetScalars();
+  virtual
+  void
+  SetScalarMode(int theScalarMode = 0);
+
+  virtual
+  void
+  GetSourceRange(vtkFloatingPointType theRange[2]);
+
+  virtual
+  void
+  SetScalars(vtkDataSet *theScalars);
+
+  virtual
+  vtkUnstructuredGrid* 
+  GetScalars();
 
 public:
   //! Redefined method for initialization of the pipeline.
@@ -81,7 +102,9 @@ public:
   void
   UpdateScalars();
   
-  virtual void SetMapScale(vtkFloatingPointType theMapScale = 1.0);
+  virtual
+  void
+  SetMapScale(vtkFloatingPointType theMapScale = 1.0);
   
 protected:
   vtkFloatingPointType myScaleFactor;
index 3fa4bd6654f27e2da0eabc70a57075e9111950a6..2cc2880503f6c2164a10291f617883ff579c1af1 100644 (file)
@@ -122,6 +122,38 @@ VISU_VectorsPL
 }
 
 
+void
+VISU_VectorsPL
+::SetGlyphType(VISU_VectorsPL::GlyphType theType) 
+{
+  myTypeGlyph = theType;
+  Modified();
+}
+
+VISU_VectorsPL::GlyphType
+VISU_VectorsPL
+::GetGlyphType() const
+{
+  return myTypeGlyph;
+}
+
+
+void
+VISU_VectorsPL
+::SetGlyphPos(VISU_VectorsPL::GlyphPos thePos) 
+{
+  myPosGlyph = thePos;
+  Modified();
+}
+
+VISU_VectorsPL::GlyphPos
+VISU_VectorsPL
+::GetGlyphPos() const
+{
+  return myPosGlyph;
+}
+
+
 void
 VISU_VectorsPL
 ::Init()
index fd83f0225301df8a8efbc4b77854eb95e12bb8c5..8c3f4d78714de7a1286e8b99634750388f305136 100644 (file)
@@ -71,33 +71,21 @@ public:
 
   virtual
   void
-  SetGlyphType(GlyphType theType) 
-  {
-    myTypeGlyph = theType;
-  }
+  SetGlyphType(GlyphType theType);
 
   virtual
   GlyphType
-  GetGlyphType() 
-  {
-    return myTypeGlyph;
-  }
+  GetGlyphType() const;
     
   enum GlyphPos{ CENTER, TAIL,HEAD};
 
   virtual
   void
-  SetGlyphPos(GlyphPos thePos) 
-  { 
-    myPosGlyph = thePos;
-  }
+  SetGlyphPos(GlyphPos thePos);
 
   virtual
   GlyphPos
-  GetGlyphPos() 
-  {
-    return myPosGlyph;
-  }
+  GetGlyphPos() const;
 
 public:
   virtual
index 2c0e864d6e7ce0907df5447c54235438fa29906c..0459eef8f072a57ab6ad8b6843e049832cbf02b0 100644 (file)
@@ -295,7 +295,7 @@ void VisuGUI_GaussScalarBarPane::initFromPrsObject(VISU::GaussPoints_i* thePrs)
   myCBDisplayed->setEnabled( activeLocal );
   myCBDisplayed->setChecked( thePrs->GetIsDispGlobalScalarBar() );
 
-  bool bicolor = thePrs->GetGaussPointsPL()->GetBicolor();
+  bool bicolor = thePrs->GetSpecificPL()->GetBicolor();
   BicolorButton->setChecked( bicolor );
   RainbowButton->setChecked( !bicolor );
   ColorLabel->setEnabled( !bicolor );
@@ -373,7 +373,7 @@ int VisuGUI_GaussScalarBarPane::storeToPrsObject(VISU::GaussPoints_i* thePrs) {
   thePrs->SetNbColors(ColorSpin->value());
   thePrs->SetLabels(LabelSpin->value());
 
-  thePrs->GetGaussPointsPL()->SetBicolor(BicolorButton->isChecked());
+  thePrs->GetSpecificPL()->SetBicolor(BicolorButton->isChecked());
 
   //if (isToSave()) storeToResources();
 
@@ -699,7 +699,7 @@ void VisuGUI_GaussPointsDlg::accept()
   if( myPrs && myPrimitiveBox->getPrimitiveType() == VISU_OpenGLPointSpriteMapper::GeomSphere )
   {
     int aNumberOfFaces = myPrimitiveBox->getFaceNumber();
-    int aNumberOfPoints = ( (vtkPolyData*)myPrs->GetGaussPointsPL()->GetInput() )->GetNumberOfCells();
+    int aNumberOfPoints = ( (vtkPolyData*)myPrs->GetSpecificPL()->GetInput() )->GetNumberOfCells();
 
     if( aNumberOfFaces * aNumberOfPoints > myPrimitiveBox->getFaceLimit() )
     {
index 45e47f88ce54d5d0ba08857be07a1b70bb2f982d..d0960c6bd63717a50e90964682818290946a9638 100644 (file)
@@ -563,7 +563,7 @@ void VisuGUI_ScalarBarPane::initFromPrsObject(VISU::ScalarMap_i* thePrs) {
     setLogarithmic(false);
   }
   vtkFloatingPointType aRange[2];
-  thePrs->GetScalarMapPL()->GetSourceRange(aRange);
+  thePrs->GetSpecificPL()->GetSourceRange(aRange);
   Rmin = aRange[0]; Rmax = aRange[1];
   setRange( thePrs->GetMin(), thePrs->GetMax(),
            /*0.0, 0.0,*/ thePrs->IsRangeFixed() );
@@ -652,8 +652,8 @@ void VisuGUI_ScalarBarPane::createScalarBar()
 
   if (!check()) return;
   myScalarMapPL = VISU_ScalarMapPL::New();
-  if(myScalarMap->GetScalarMapPL())
-    myScalarMapPL->ShallowCopy(myScalarMap->GetScalarMapPL());
+  if(myScalarMap->GetSpecificPL())
+    myScalarMapPL->ShallowCopy(myScalarMap->GetSpecificPL());
   
   if ( myBusy ) return;
 
@@ -916,7 +916,7 @@ void VisuGUI_ScalarBarPane::changeScalarMode( int theMode )
       vtkFloatingPointType aRange[2];
       int aMode = myScalarMap->GetScalarMode();
       myScalarMap->SetScalarMode(theMode);
-      myScalarMap->GetScalarMapPL()->GetSourceRange(aRange);
+      myScalarMap->GetSpecificPL()->GetSourceRange(aRange);
       MinEdit->setText( QString::number( aRange[0] ) );
       MaxEdit->setText( QString::number( aRange[1] ) );
       myScalarMap->SetScalarMode(aMode);
index 1160cc6edfb186e47965281fc473c818969dfee2..e93bedef641f49ff48030a6479401ff87b0f76d9 100644 (file)
@@ -449,9 +449,9 @@ void VisuGUI_ScalarMapOnDeformedShapeDlg::onTimeStampChanged(int){
 void VisuGUI_ScalarMapOnDeformedShapeDlg::UpdateScalarField(){
   myPrs->SetScale(getFactor());
   vtkFloatingPointType aRange[2];
-  myPrs->GetScalarMapOnDeformedShapePL()->Build();
-  myPrs->GetScalarMapOnDeformedShapePL()->Update();
-  myPrs->GetScalarMapOnDeformedShapePL()->GetSourceRange(aRange);
+  myPrs->GetSpecificPL()->Build();
+  myPrs->GetSpecificPL()->Update();
+  myPrs->GetSpecificPL()->GetSourceRange(aRange);
   double aDoubleRange[2];
   aDoubleRange[0] = double(aRange[0]);
   aDoubleRange[1] = double(aRange[1]);
index 89f06a2eb621d411f1372f2118284b3811691c4a..f496f886af4557bcf9f03abb2aff0b21d7da6d8f 100644 (file)
@@ -103,7 +103,7 @@ VISU::ColoredPrs3d_i
 {
   if(TSuperClass::SetInput()){
     if(CheckIsPossible()){
-      if(ApplyInput()){
+      if(OnSetInput()){
        if(Create(GetMeshName(),GetEntity(),GetFieldName(),GetTimeStampNumber()))
          return true;
       }else
@@ -117,7 +117,7 @@ VISU::ColoredPrs3d_i
 //---------------------------------------------------------------
 bool 
 VISU::ColoredPrs3d_i
-::ApplyInput()
+::OnSetInput()
 {
   bool anIsNotCreated = GetPL() == NULL;
   if(anIsNotCreated)
@@ -134,7 +134,10 @@ void
 VISU::ColoredPrs3d_i
 ::SetEntity(VISU::Entity theEntity)
 {
-  myEntity = theEntity;
+  if(myEntity != theEntity){
+    myEntity = theEntity;
+    myParamsTime.Modified();
+  }
 }
 
 
@@ -150,7 +153,10 @@ void
 VISU::ColoredPrs3d_i
 ::SetFieldName(const char* theFieldName)
 {
-  myFieldName = theFieldName;
+  if(myFieldName != theFieldName){
+    myFieldName = theFieldName;
+    myParamsTime.Modified();
+  }
 }
 
 char*
@@ -164,7 +170,10 @@ void
 VISU::ColoredPrs3d_i
 ::SetTimeStampNumber(CORBA::Long theTimeStampNumber)
 {
-  myTimeStampNumber = theTimeStampNumber;
+  if(myTimeStampNumber != theTimeStampNumber){
+    myTimeStampNumber = theTimeStampNumber;
+    myParamsTime.Modified();
+  }
 }
 
 CORBA::Long
@@ -187,7 +196,7 @@ VISU::ColoredPrs3d_i
     SetEntity(anOrigin->GetEntity());
     SetFieldName(anOrigin->GetFieldName());
     SetTimeStampNumber(anOrigin->GetTimeStampNumber());
-    ApplyInput();
+    OnSetInput();
 
     Build(ESameAs);
     
@@ -226,7 +235,7 @@ VISU::ColoredPrs3d_i
   int aTimeStampNumber = GetTimeStampNumber();
   SameAs(theOrigin);
   SetTimeStampNumber(aTimeStampNumber);
-  ApplyInput();
+  OnSetInput();
 
   Build(ESameAs);
   Update();
@@ -280,7 +289,10 @@ void
 VISU::ColoredPrs3d_i
 ::SetBarOrientation(VISU::ScalarMap::Orientation theOrientation)
 {
-  myOrientation = theOrientation;
+  if(myOrientation != theOrientation){
+    myOrientation = theOrientation;
+    myParamsTime.Modified();
+  }
 }
 
 VISU::ScalarMap::Orientation 
@@ -296,6 +308,7 @@ VISU::ColoredPrs3d_i
 { 
   myPosition[0] = X; 
   myPosition[1] = Y;
+  myParamsTime.Modified();
 }
 
 CORBA::Double
@@ -318,6 +331,7 @@ VISU::ColoredPrs3d_i
 {
   myWidth = theWidth; 
   myHeight = theHeight;
+  myParamsTime.Modified();
 }
 
 CORBA::Double
@@ -338,7 +352,10 @@ void
 VISU::ColoredPrs3d_i
 ::SetLabels(CORBA::Long theNbLabels)
 {
-  myNumberOfLabels = theNbLabels;
+  if(myNumberOfLabels != theNbLabels){
+    myNumberOfLabels = theNbLabels;
+    myParamsTime.Modified();
+  }
 }
 
 CORBA::Long
@@ -352,7 +369,10 @@ void
 VISU::ColoredPrs3d_i
 ::SetTitle(const char* theName) 
 {
-  myTitle = theName;
+  if(myTitle != theName){
+    myTitle = theName;
+    myParamsTime.Modified();
+  }
 }
 
 char* 
@@ -371,9 +391,12 @@ VISU::ColoredPrs3d_i
 
 void
 VISU::ColoredPrs3d_i
-::SetBoldTitle(bool isBold)
+::SetBoldTitle(bool theIsBoldTitle)
 {
-  myIsBoldTitle = isBold;
+  if(myIsBoldTitle != theIsBoldTitle){
+    myIsBoldTitle = theIsBoldTitle;
+    myParamsTime.Modified();
+  }
 }
 
 bool
@@ -385,9 +408,12 @@ VISU::ColoredPrs3d_i
 
 void
 VISU::ColoredPrs3d_i
-::SetItalicTitle(bool isItalic)
+::SetItalicTitle(bool theIsItalicTitle)
 { 
-  myIsItalicTitle = isItalic;
+  if(myIsItalicTitle != theIsItalicTitle){
+    myIsItalicTitle = theIsItalicTitle;
+    myParamsTime.Modified();
+  }
 }
 
 bool
@@ -399,9 +425,12 @@ VISU::ColoredPrs3d_i
 
 void
 VISU::ColoredPrs3d_i
-::SetShadowTitle(bool isShadow)
+::SetShadowTitle(bool theIsShadowTitle)
 { 
-  myIsShadowTitle = isShadow;
+  if(myIsShadowTitle != theIsShadowTitle){
+    myIsShadowTitle = theIsShadowTitle;
+    myParamsTime.Modified();
+  }
 }
 
 int
@@ -413,9 +442,12 @@ VISU::ColoredPrs3d_i
 
 void
 VISU::ColoredPrs3d_i
-::SetTitFontType(int theType)
+::SetTitFontType(int theTitFontType)
 {
-  myTitFontType = theType;
+  if(myTitFontType != theTitFontType){
+    myTitFontType = theTitFontType;
+    myParamsTime.Modified();
+  }
 }
 
 void
@@ -438,6 +470,7 @@ VISU::ColoredPrs3d_i
   myTitleColor[0] = theR; 
   myTitleColor[1] = theG; 
   myTitleColor[2] = theB; 
+  myParamsTime.Modified();
 }
 
 bool
@@ -449,9 +482,12 @@ VISU::ColoredPrs3d_i
 
 void
 VISU::ColoredPrs3d_i
-::SetBoldLabel(bool isBold
+::SetBoldLabel(bool theIsBoldLabel
 {
-  myIsBoldLabel = isBold;
+  if(myIsBoldLabel != theIsBoldLabel){
+    myIsBoldLabel = theIsBoldLabel;
+    myParamsTime.Modified();
+  }
 }
 
 bool
@@ -463,9 +499,12 @@ VISU::ColoredPrs3d_i
 
 void
 VISU::ColoredPrs3d_i
-::SetItalicLabel(bool isItalic)
+::SetItalicLabel(bool theIsItalicLabel)
 {
-  myIsItalicLabel = isItalic;
+  if(myIsItalicLabel != theIsItalicLabel){
+    myIsItalicLabel = theIsItalicLabel;
+    myParamsTime.Modified();
+  }
 }
 
 bool
@@ -477,9 +516,12 @@ VISU::ColoredPrs3d_i
 
 void
 VISU::ColoredPrs3d_i
-::SetShadowLabel(bool isShadow)
+::SetShadowLabel(bool theIsShadowLabel)
 {
-  myIsShadowLabel = isShadow;
+  if(myIsShadowLabel != theIsShadowLabel){
+    myIsShadowLabel = theIsShadowLabel;
+    myParamsTime.Modified();
+  }
 }
 
 int
@@ -491,9 +533,12 @@ VISU::ColoredPrs3d_i
 
 void
 VISU::ColoredPrs3d_i
-::SetLblFontType(int theType)
+::SetLblFontType(int theLblFontType)
 {
-  myLblFontType = theType;
+  if(myIsShadowLabel != theLblFontType){
+    myLblFontType = theLblFontType;
+    myParamsTime.Modified();
+  }
 }
 
 void
@@ -516,6 +561,7 @@ VISU::ColoredPrs3d_i
   myLabelColor[0] = theR; 
   myLabelColor[1] = theG; 
   myLabelColor[2] = theB; 
+  myParamsTime.Modified();
 }
 
 
@@ -534,7 +580,7 @@ VISU::ColoredPrs3d_i
   SetEntity(theEntity);
   SetFieldName(theFieldName);
   SetTimeStampNumber(theTimeStampNumber);
-  ApplyInput();
+  OnSetInput();
 
   Build(ECreateNew); // to get corresponding input from result and initilize the pipeline
 
@@ -644,7 +690,7 @@ VISU::ColoredPrs3d_i
   SetEntity((VISU::Entity)VISU::Storable::FindValue(theMap,"myEntity").toInt());
   SetFieldName(VISU::Storable::FindValue(theMap,"myFieldName").latin1());
   SetTimeStampNumber(VISU::Storable::FindValue(theMap,"myIteration").toInt());
-  ApplyInput();
+  OnSetInput();
 
   myAddToStudy = false; //SRN Added 21/06/2003 SAL2983: to avoid addition of the new ScalarMap to study.
 
@@ -803,10 +849,3 @@ VISU::ColoredPrs3d_i
 { 
   return VISU::TEntity(int(myEntity));
 }
-
-VISU_ScalarMapPL*
-VISU::ColoredPrs3d_i
-::GetScalarMapPL()
-{ 
-  return myScalarMapPL;
-}
index b131e32522a8531e180848c128c70fd1c3850f30..de90837077fe85f031c83f224726c2a58dc7a5ad 100644 (file)
@@ -208,9 +208,6 @@ namespace VISU
     virtual const VISU::PField&
     GetField() const;
 
-    VISU_ScalarMapPL* 
-    GetScalarMapPL();
-
     virtual 
     bool
     IsBoldTitle();
@@ -338,7 +335,7 @@ namespace VISU
     */
     virtual 
     bool
-    ApplyInput();
+    OnSetInput();
 
    /*!
       Sets input data set according to basic input parameters -
index 0dbfdbe32a2565fd5d2be085c8c0ca9c7d31f7a6..63ccef520124be48e56f831de544b81c0cc49c51 100644 (file)
@@ -214,6 +214,43 @@ VISU::DeformedShape_i
 }
 
 
+//---------------------------------------------------------------
+CORBA::Boolean 
+VISU::DeformedShape_i
+::IsColored()
+{
+  return myIsColored;
+}
+
+
+//---------------------------------------------------------------
+void
+VISU::DeformedShape_i
+::ShowColored(CORBA::Boolean theColored)
+{
+  myIsColored = theColored; 
+  myParamsTime.Modified();
+}
+
+//---------------------------------------------------------------
+SALOMEDS::Color 
+VISU::DeformedShape_i
+::GetColor()
+{
+  return myColor;
+}
+
+
+//---------------------------------------------------------------
+void
+VISU::DeformedShape_i
+::SetColor(const SALOMEDS::Color& theColor)
+{
+  myColor = theColor;
+  myParamsTime.Modified();
+}
+
+
 //---------------------------------------------------------------
 void
 VISU::DeformedShape_i
index be727c748dae86c40135e90a967c85a3911cb03b..902e5cbf8093cb288668eff088909b83cb567b14 100644 (file)
@@ -73,30 +73,19 @@ namespace VISU
 
     virtual 
     CORBA::Boolean 
-    IsColored() 
-    { 
-      return myIsColored; 
-    }
+    IsColored();
 
     virtual 
     void
-    ShowColored(CORBA::Boolean theColored)
-    {
-      myIsColored = theColored; 
-    }
+    ShowColored(CORBA::Boolean theColored);
 
     virtual 
-    SALOMEDS::Color GetColor() 
-    { 
-      return myColor;
-    }
+    SALOMEDS::Color 
+    GetColor();
 
     virtual
     void
-    SetColor(const SALOMEDS::Color& theColor)
-    {
-      myColor = theColor;
-    }
+    SetColor(const SALOMEDS::Color& theColor);
 
     typedef VISU::DeformedShape TInterface;
 
index c42f9bbf1d0982626340351f2ce8ff2780fd764a..5f66133fbde2fbebb97bd676c6c64c195ae810c9 100644 (file)
@@ -97,11 +97,10 @@ VISU::GaussPoints_i
 VISU::GaussPoints_i::
 GaussPoints_i(Result_i* theResult, 
              bool theAddToStudy) : 
-  PrsObject_i(theResult->GetStudyDocument()), 
+  PrsObject_i(SALOMEDS::Study::_nil()), 
   Prs3d_i(theResult,theAddToStudy),
   ColoredPrs3d_i(theResult,theAddToStudy),
   myGaussPointsPL(NULL),
-  myIsColored(true),
   myColor(Qt::blue),
   myIsActiveLocalScalarBar(true),
   myIsDispGlobalScalarBar(true),
@@ -116,11 +115,10 @@ GaussPoints_i(Result_i* theResult,
 VISU::GaussPoints_i::
 GaussPoints_i(Result_i* theResult, 
              SALOMEDS::SObject_ptr theSObject) : 
-  PrsObject_i(theResult->GetStudyDocument()), 
+  PrsObject_i(theSObject->GetStudy()), 
   Prs3d_i(theResult,theSObject),
   ColoredPrs3d_i(theResult,theSObject),
   myGaussPointsPL(NULL),
-  myIsColored(true),
   myColor(Qt::blue),
   myIsActiveLocalScalarBar(true),
   myIsDispGlobalScalarBar(true),
@@ -296,13 +294,6 @@ VISU::GaussPoints_i
 
 
 //----------------------------------------------------------------------------
-VISU_GaussPointsPL* 
-VISU::GaussPoints_i
-::GetGaussPointsPL()
-{ 
-  return myGaussPointsPL; 
-}
-
 void
 VISU::GaussPoints_i
 ::SetIsDeformed( bool theIsDeformed )
@@ -335,10 +326,16 @@ void
 VISU::GaussPoints_i
 ::SetIsColored( bool theIsColored )
 {
-  myIsColored = theIsColored;
   myGaussPointsPL->SetIsColored( theIsColored );
 }
 
+bool
+VISU::GaussPoints_i
+::GetIsColored()
+{
+  return myGaussPointsPL->GetIsColored();
+}
+
 bool
 VISU::GaussPoints_i
 ::SetMainTexture( const QString& theMainTexture ) 
@@ -698,7 +695,7 @@ VISU::GaussPoints_i
        aRangeGlobal[0] = aTMinMax.first;
        aRangeGlobal[1] = aTMinMax.second;
        
-       GetGaussPointsPL()->GetMapper()->SetScalarRange(aRangeGlobal);
+       GetSpecificPL()->GetMapper()->SetScalarRange(aRangeGlobal);
       }
       
       aScalarBarCtrl->SetMode(aScalarBarMode);
@@ -711,7 +708,7 @@ VISU::GaussPoints_i
       aScalarBarCtrl->SetSpacing(mySpacing);
       
       // Bicolor
-      bool anIsBicolor = GetGaussPointsPL()->GetBicolor();
+      bool anIsBicolor = GetSpecificPL()->GetBicolor();
       aScalarBarCtrl->SetBicolor(anIsBicolor);
       
       UpdateScalarBar(aScalarBarCtrl->GetLocalBar(),
@@ -731,7 +728,7 @@ VISU::GaussPoints_i
                                       myColor.blue() / 255.0);
     }
 
-    if( GetGaussPointsPL()->GetPrimitiveType() != VISU_OpenGLPointSpriteMapper::GeomSphere )
+    if( GetSpecificPL()->GetPrimitiveType() != VISU_OpenGLPointSpriteMapper::GeomSphere )
       theActor->SetRepresentation( VTK_POINTS );
     else
       theActor->SetRepresentation( VTK_SURFACE );
@@ -770,9 +767,12 @@ VISU::GaussPoints_i
 //----------------------------------------------------------------------------
 void
 VISU::GaussPoints_i
-::SetIsActiveLocalScalarBar(const bool theFlag)
+::SetIsActiveLocalScalarBar(const bool theIsActiveLocalScalarBar)
 {
-  myIsActiveLocalScalarBar = theFlag;
+  if(myIsActiveLocalScalarBar != theIsActiveLocalScalarBar){
+    myIsActiveLocalScalarBar = theIsActiveLocalScalarBar;
+    myParamsTime.Modified();
+  }
 }
 
 bool
@@ -784,9 +784,12 @@ VISU::GaussPoints_i
 
 void
 VISU::GaussPoints_i
-::SetIsDispGlobalScalarBar(const bool theFlag)
+::SetIsDispGlobalScalarBar(const bool theIsDispGlobalScalarBar)
 {
-  myIsDispGlobalScalarBar=theFlag;
+  if(myIsDispGlobalScalarBar != theIsDispGlobalScalarBar){
+    myIsDispGlobalScalarBar = theIsDispGlobalScalarBar;
+    myParamsTime.Modified();
+  }
 }
 
 bool
@@ -807,14 +810,14 @@ void
 VISU::GaussPoints_i
 ::SetBiColor(bool theIsBiColor)
 {
-  GetGaussPointsPL()->SetBicolor(theIsBiColor);
+  GetSpecificPL()->SetBicolor(theIsBiColor);
 }
 
 bool
 VISU::GaussPoints_i
 ::GetBiColor() 
 {
-  return GetGaussPointsPL()->GetBicolor();
+  return GetSpecificPL()->GetBicolor();
 }
 
 void
@@ -822,6 +825,7 @@ VISU::GaussPoints_i
 ::SetSpacing(const vtkFloatingPointType theSpacing)
 {
   mySpacing = theSpacing;
+  myParamsTime.Modified();
 }
 
 vtkFloatingPointType
index 3a907582ef961df6ffc8cb2a0ad722cd3bcaa146..06da42273043355dbb2efe7337c71bdeba984376 100644 (file)
@@ -71,10 +71,6 @@ namespace VISU
 
     typedef VISU::GaussPoints TInterface;
 
-    //! Get the Gauss Points Pipeline.
-    VISU_GaussPointsPL* 
-    GetGaussPointsPL();
-
     int
     GetFaceLimit() { return myFaceLimit; }
 
@@ -104,7 +100,7 @@ namespace VISU
     //! Get flag indicating which mode of the presentation is active.
     /*! When Results mode is active, returns true. Geometry - false. */
     bool 
-    GetIsColored() { return myIsColored; }
+    GetIsColored();
 
     //! Get flag indicating which mode of the presentation is active.
     void
@@ -289,7 +285,6 @@ namespace VISU
   protected:
     VISU_GaussPointsPL *myGaussPointsPL;
     
-    bool myIsColored;
     bool myIsDispGlobalScalarBar;
     bool myIsActiveLocalScalarBar;
     QColor myColor;
index 5d5993526320a2da1acc9c48504a1a0a9249e140..b6c2c82a394cb7ec38c35a7acb8ad72c5f7578cf 100644 (file)
@@ -285,6 +285,8 @@ namespace VISU
       return VISU::CreatePrs3d<CutPlanes_i>(theStudy);
     case TCUTLINES:
       return VISU::CreatePrs3d<CutLines_i>(theStudy);
+    case TVECTORS:
+      return VISU::CreatePrs3d<Vectors_i>(theStudy);
     }
     return Prs3d::_nil();
   }
index 87ab124137a70b78dc09ac6fa9628a23d94b653f..244f289cc5b32b55e441517eba730143b339b083 100644 (file)
@@ -149,7 +149,7 @@ VISU::Prs3d_i
       aResult->Register();
     SetStudyDocument(aResult->GetStudyDocument());
     myResult = aResult;
-    myInputTimeStamp.Modified();
+    myParamsTime.Modified();
   }
 }
 
@@ -169,8 +169,8 @@ VISU::Prs3d_i
 ::SetMeshName(const char* theMeshName)
 {
   if(myMeshName != theMeshName){
-    myMeshName == theMeshName;
-    myInputTimeStamp.Modified();
+    myMeshName = theMeshName;
+    myParamsTime.Modified();
   }
 }
 
@@ -189,23 +189,10 @@ unsigned long int
 VISU::Prs3d_i
 ::GetMTime()
 {
-  return max(GetInputMTime(),GetParamsMTime());
-}
-
-//----------------------------------------------------------------------------
-unsigned long int 
-VISU::Prs3d_i
-::GetInputMTime()
-{
-  return myInputTimeStamp.GetMTime();
-}
-
-//----------------------------------------------------------------------------
-unsigned long int 
-VISU::Prs3d_i
-::GetParamsMTime()
-{
-  return myParamsTimeStamp.GetMTime();
+  unsigned long int aTime = myParamsTime.GetMTime();
+  if(myPipeLine)
+    aTime = std::max(aTime,myPipeLine->GetMTime());
+  return aTime;
 }
 
 //----------------------------------------------------------------------------
@@ -217,7 +204,7 @@ VISU::Prs3d_i
   myOffset[0] = VISU::Storable::FindValue(theMap,"myOffset[0]").toFloat();
   myOffset[1] = VISU::Storable::FindValue(theMap,"myOffset[1]").toFloat();
   myOffset[2] = VISU::Storable::FindValue(theMap,"myOffset[2]").toFloat();
-  myParamsTimeStamp.Modified();
+  myParamsTime.Modified();
   return this;
 }
 
@@ -257,10 +244,18 @@ void
 VISU::Prs3d_i
 ::Update() 
 {
+  if(GetMTime() < myUpdateTime.GetMTime())
+    return;
+
   if(MYDEBUG) MESSAGE("Prs3d_i::Update - this = "<<this);
+
   try{
-    if(myPipeLine)
+    if(myPipeLine){
       myPipeLine->Update();
+      myUpdateTime.Modified();
+    }
+  } catch(std::exception&){
+    throw;
   }catch(...){
     throw std::runtime_error("Prs3d_i::Update >> unexpected exception was caught!!!");
   }
@@ -272,14 +267,19 @@ void
 VISU::Prs3d_i
 ::CheckDataSet() 
 {
+  if(GetMTime() < myUpdateTime.GetMTime())
+    return;
+
   vtkMapper *aMapper = myPipeLine->GetMapper();
   vtkDataSet *aDataSet = aMapper->GetInput();
   if (!aDataSet)
     throw std::runtime_error("There is no input data !!!");
+
   aDataSet->Update();
   static float eps = VTK_LARGE_FLOAT * 0.1 ;
   if (!aDataSet->GetNumberOfCells())
     throw std::runtime_error("There are no visible elements");
+
   if (aDataSet->GetLength() > eps)
     throw std::runtime_error("Diagonal of the actor is too large !!!");
 }
@@ -363,7 +363,6 @@ VISU::Prs3d_i
 
     myActorCollection->AddItem(theActor);
     theActor->Delete();
-
   }catch(std::bad_alloc& ex){
     throw std::runtime_error("CreateActor >> No enough memory");
     throw ex;
@@ -395,7 +394,11 @@ void
 VISU::Prs3d_i
 ::UpdateActor(VISU_Actor* theActor) 
 {
+  if(theActor->GetMTime() < myUpdateTime.GetMTime())
+    return;
+
   if(MYDEBUG) MESSAGE("Prs3d_i::UpdateActor - this = "<<this<<"; theActor = "<<theActor);
+
   theActor->ShallowCopyPL(myPipeLine);
   theActor->SetPosition(myOffset[0],myOffset[1],myOffset[2]);
   theActor->Modified();
@@ -444,9 +447,9 @@ GetClippingPlane(vtkIdType theID) const
 
 void
 VISU::Prs3d_i
-::SetPlaneParam (vtkFloatingPointType theDir[3], 
-                vtkFloatingPointType theDist, 
-                vtkPlane* thePlane) 
+::SetPlaneParam(vtkFloatingPointType theDir[3], 
+               vtkFloatingPointType theDist, 
+               vtkPlane* thePlane) 
 {
   myPipeLine->SetPlaneParam(theDir, theDist, thePlane);
 }
@@ -467,7 +470,7 @@ VISU::Prs3d_i
   myOffset[0] = theOffsets[0];
   myOffset[1] = theOffsets[1];
   myOffset[2] = theOffsets[2];
-  myParamsTimeStamp.Modified();
+  myParamsTime.Modified();
 }
 
 void
@@ -479,7 +482,7 @@ VISU::Prs3d_i
   myOffset[0] = theDx;
   myOffset[1] = theDy;
   myOffset[2] = theDz;
-  myParamsTimeStamp.Modified();
+  myParamsTime.Modified();
 }
 
 void
index caa92202abc322e4fc299ee9f565d488969459e1..90ccc0ee92e39184e55b6564e073fd36617637a2 100644 (file)
@@ -232,21 +232,11 @@ namespace VISU
              CORBA::Float& theDz);
 
     //----------------------------------------------------------------------------
-    //! Return modified time of the object
+    //! Return modified time of the presentation
     virtual
     unsigned long int 
     GetMTime();
 
-    //! Return input's modified time
-    virtual
-    unsigned long int 
-    GetInputMTime();
-
-    //! Return params's modified time
-    virtual
-    unsigned long int 
-    GetParamsMTime();
-
   protected:
     virtual 
     bool 
@@ -266,16 +256,18 @@ namespace VISU
     CheckDataSet();
 
   protected:
+    vtkTimeStamp myUpdateTime;
+
     Result_i *myResult;
     std::string myMeshName;
-    vtkTimeStamp myInputTimeStamp;
 
     CORBA::Float myOffset[3];
-    vtkTimeStamp myParamsTimeStamp;
+    vtkTimeStamp myParamsTime;
 
-    bool myAddToStudy;
     VISU_PipeLine *myPipeLine;
+
     SALOMEDS::SObject_var mySObject;
+    bool myAddToStudy;
 
     boost::signal0<void> myUpdateActorsSignal;
     boost::signal0<void> myRemoveActorsFromRendererSignal;
index 27a738660120166a056b2f5031b745b11cc92143..577045277beab0cc8eab563080e2a4ea4a8c8ea3 100644 (file)
@@ -252,6 +252,43 @@ VISU::ScalarMapOnDeformedShape_i
 }
 
 
+//---------------------------------------------------------------
+CORBA::Boolean 
+VISU::ScalarMapOnDeformedShape_i
+::IsColored()
+{
+  return myIsColored;
+}
+
+
+//---------------------------------------------------------------
+void
+VISU::ScalarMapOnDeformedShape_i
+::ShowColored(CORBA::Boolean theColored)
+{
+  myIsColored = theColored; 
+  myParamsTime.Modified();
+}
+
+//---------------------------------------------------------------
+SALOMEDS::Color 
+VISU::ScalarMapOnDeformedShape_i
+::GetColor()
+{
+  return myColor;
+}
+
+
+//---------------------------------------------------------------
+void
+VISU::ScalarMapOnDeformedShape_i
+::SetColor(const SALOMEDS::Color& theColor)
+{
+  myColor = theColor;
+  myParamsTime.Modified();
+}
+
+
 //---------------------------------------------------------------
 void
 VISU::ScalarMapOnDeformedShape_i
@@ -355,14 +392,16 @@ VISU::ScalarMapOnDeformedShape_i
                 int   theIteration,
                 VISU::TEntity  theEntity)
 {
-  myScalarField = myResult->GetInput()->GetField(theMeshName,theEntity,theFieldName);
-  TVTKOutput* aOut = myResult->GetInput()->GetTimeStampOnMesh(theMeshName,
-                                                             theEntity,
-                                                             theFieldName,
-                                                             theIteration)->GetVTKOutput();
-  if (myScalarMapOnDeformedShapePL){
-    myScalarMapOnDeformedShapePL->SetScalars(aOut);
-  }
+  VISU::Result_i::TInput* anInput = myResult->GetInput();
+  myScalarField = anInput->GetField(theMeshName,theEntity,theFieldName);
+  VISU::PIDMapper anIDMapper = anInput->GetTimeStampOnMesh(theMeshName,
+                                                          theEntity,
+                                                          theFieldName,
+                                                          theIteration);
+  TVTKOutput* anOutput = anIDMapper->GetVTKOutput();
+  if(myScalarMapOnDeformedShapePL && anOutput)
+    myScalarMapOnDeformedShapePL->SetScalars(anOutput);
+
   this->SetScalarMeshName(theMeshName);
   this->SetScalarFieldName(theFieldName);
   this->SetScalarIteration(theIteration);
@@ -387,7 +426,10 @@ void
 VISU::ScalarMapOnDeformedShape_i
 ::SetScalarMeshName(const char* theName)
 {
-  myScalarMeshName = theName;
+  if(myScalarMeshName != theName){
+    myScalarMeshName = theName;
+    myParamsTime.Modified();
+  }
 }
 
 //---------------------------------------------------------------
@@ -403,8 +445,12 @@ void
 VISU::ScalarMapOnDeformedShape_i
 ::SetScalarFieldName(const char* theName)
 {
-  myScalarFieldName = theName;
+  if(myScalarFieldName != theName){
+    myScalarFieldName = theName;
+    myParamsTime.Modified();
+  }
 }
+
 //---------------------------------------------------------------
 std::string
 VISU::ScalarMapOnDeformedShape_i
@@ -418,7 +464,10 @@ void
 VISU::ScalarMapOnDeformedShape_i
 ::SetScalarIteration(const int theValue)
 {
-  myScalarIteration = theValue;
+  if(myScalarIteration != theValue){
+    myScalarIteration = theValue;
+    myParamsTime.Modified();
+  }
 }
 
 
@@ -435,7 +484,10 @@ void
 VISU::ScalarMapOnDeformedShape_i
 ::SetScalarEntity(const VISU::TEntity theValue)
 {
-  myScalarEntity = theValue;
+  if(myScalarEntity != theValue){
+    myScalarEntity = theValue;
+    myParamsTime.Modified();
+  }
 }
 
 //---------------------------------------------------------------
@@ -451,7 +503,11 @@ void
 VISU::ScalarMapOnDeformedShape_i
 ::SetScalarEEntity(const VISU::Entity theValue)
 {
-  myScalarEntity = VISU::TEntity(theValue);
+  VISU::TEntity anEntity = VISU::TEntity(theValue);
+  if(myScalarEntity != anEntity){
+    myScalarEntity = anEntity;
+    myParamsTime.Modified();
+  }
 }
 
 //---------------------------------------------------------------
index 7e6c977685568e9e4c941b1c568a218720c91f48..9409a49faa4b3e299c1443c01209e83f4d950c13 100644 (file)
@@ -70,31 +70,19 @@ namespace VISU
 
     virtual
     CORBA::Boolean 
-    IsColored() 
-    {
-      return myIsColored; 
-    }
+    IsColored();
 
     virtual
     void
-    ShowColored(CORBA::Boolean theColored)
-    {
-      myIsColored = theColored; 
-    }
+    ShowColored(CORBA::Boolean theColored);
 
     virtual
     SALOMEDS::Color 
-    GetColor() 
-    {
-      return myColor;
-    }
+    GetColor();
 
     virtual
     void
-    SetColor(const SALOMEDS::Color& theColor)
-    {
-      myColor = theColor;
-    }
+    SetColor(const SALOMEDS::Color& theColor);
 
     virtual
     void
@@ -119,7 +107,7 @@ namespace VISU
     typedef VISU::ScalarMapOnDeformedShape TInterface;
     
     VISU_ScalarMapOnDeformedShapePL* 
-    GetScalarMapOnDeformedShapePL()
+    GetSpecificPL()
     { 
       return myScalarMapOnDeformedShapePL;
     }
index 8bd4ebf1d65a44881e5f111025f4f877d5a83643..90a2a527d337a50a51fbc4bcc054435140cab1fd 100644 (file)
@@ -221,15 +221,16 @@ VISU::StreamLines_i
       myAppendFilter->AddInput(aPrs3di->GetPL()->GetMapper()->GetInput());
       aSource = myAppendFilter->GetOutput();
     }
-  int isAccepted = myStreamLinesPL->SetParams(theIntStep,
-                                             thePropogationTime,
-                                             theStepLength,
-                                             aSource,
-                                             thePercents,
-                                             theDirection,
-                                             1);
-  if(isAccepted == 1) SetSource(aPrs3di);
-  return isAccepted == 1;
+  int anIsAccepted = myStreamLinesPL->SetParams(theIntStep,
+                                               thePropogationTime,
+                                               theStepLength,
+                                               aSource,
+                                               thePercents,
+                                               theDirection,
+                                               1);
+  if(anIsAccepted == 1) 
+    SetSource(aPrs3di);
+  return anIsAccepted == 1;
 }
 
 
@@ -254,6 +255,7 @@ VISU::StreamLines_i
     SALOMEDS::SObject_var aSObject = thePrs3d->GetSObject();
     CORBA::String_var aString = aSObject->GetID();
     mySourceEntry = aString.in();
+    myParamsTime.Modified();
   }
 }
 
@@ -262,8 +264,10 @@ void
 VISU::StreamLines_i
 ::SetSource()
 {
-  if(!myStreamLinesPL->GetSource() && mySourceEntry == "") return;
-  if(myStreamLinesPL->GetSource() == myAppendFilter->GetOutput()) return;
+  if(!myStreamLinesPL->GetSource() && mySourceEntry == "") 
+    return;
+  if(myStreamLinesPL->GetSource() == myAppendFilter->GetOutput()) 
+    return;
   VISU::Prs3d_var aPrs3d = GetSource();
   SetParams(GetIntegrationStep(),
            GetPropagationTime(),
index d7e6fedd568c09670be4d3a961f7f615a94f6e7c..156fac2c09786e2d755bc119b72ee326fa1d091e 100644 (file)
@@ -112,6 +112,7 @@ VISU::Vectors_i
   ColoredPrs3d_i(theResult,theAddToStudy),
   ScalarMap_i(theResult,theAddToStudy),
   DeformedShape_i(theResult,theAddToStudy),
+  myLineWidth(1.0),
   myVectorsPL(NULL)
 {}
 
@@ -125,6 +126,7 @@ VISU::Vectors_i
   ColoredPrs3d_i(theResult,theSObject),
   ScalarMap_i(theResult,theSObject),
   DeformedShape_i(theResult,theSObject),
+  myLineWidth(1.0),
   myVectorsPL(NULL)
 {}
 
@@ -151,7 +153,6 @@ VISU::Vectors_i
         const char* theFieldName, 
         int theTimeStampNumber)
 {
-  myLineWidth = 1.0;
   return TSuperClass::Create(theMeshName,theEntity,theFieldName,theTimeStampNumber);
 }
 
@@ -198,6 +199,7 @@ VISU::Vectors_i
 ::SetLineWidth(CORBA::Double theWidth) 
 { 
   myLineWidth = theWidth;
+  myParamsTime.Modified();
 }
 
 //---------------------------------------------------------------
index 98950247707cd814aad0d40a6d22ce854d9f6c5e..c7718a4e3109cee71082eef116808626e480859b 100644 (file)
@@ -42,7 +42,7 @@ SWIG_DEF = libVISU_Swig.i
 EXPORT_PYSCRIPTS = libVISU_Swig.py batchmode_visu.py batchmode_visu_table.py batchmode_visu_view3d.py \
        visu_med.py visu_view3d.py visu.py visu_gui.py visu_prs_example.py \
        visu_table.py visu_big_table.py visu_view.py visu_delete.py \
-       visu_swig_test.py visu_split_views.py \
+       visu_swig_test.py visu_split_views.py visu_change_input.py \
        VISU_Example_01.py VISU_Example_02.py VISU_Example_03.py VISU_Example_04.py \
        VISU_Example_05.py VISU_Example_06.py VISU_Example_07.py
 EXPORT_SHAREDPYSCRIPTS = VISU_shared_modules.py