]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
Fix for Bug NPAL14202:
authorenk <enk@opencascade.com>
Tue, 12 Dec 2006 13:52:01 +0000 (13:52 +0000)
committerenk <enk@opencascade.com>
Tue, 12 Dec 2006 13:52:01 +0000 (13:52 +0000)
EDF 341 : Sweep is not working on ScalarMapOnDeformedShape

src/PIPELINE/VISU_ScalarMapOnDeformedShapePL.cxx
src/VISU_I/VISU_ScalarMapOnDeformedShape_i.cc
src/VISU_I/VISU_ScalarMapOnDeformedShape_i.hh

index 41dd9936d3efc092b2a9ba7be60e94e2bc81a1af..60c3bf5b598830cbe110fcd18c9792b35b01e1b5 100644 (file)
@@ -134,8 +134,7 @@ VISU_ScalarMapOnDeformedShapePL
 {
   this->UpdateScalars();
   
-  vtkFloatingPointType aRange[2];
-  GetSourceRange(aRange);
+  vtkFloatingPointType* aRange = GetScalarRange();
   vtkFloatingPointType aScalarRange[2] = {aRange[0], aRange[1]};
   
   if(myBarTable->GetScale() == VTK_SCALE_LOG10)
@@ -174,9 +173,6 @@ VISU_ScalarMapOnDeformedShapePL
   if(aPipeLine){
      SetScale(aPipeLine->GetScale());
      SetScalars(aPipeLine->GetScalarsUnstructuredGrid());
-     vtkFloatingPointType aRange[2];
-     aPipeLine->GetSourceRange(aRange);
-     SetScalarRange(aRange);
   }
   Superclass::ShallowCopy(thePipeLine);
 }
@@ -240,8 +236,7 @@ vtkFloatingPointType
 VISU_ScalarMapOnDeformedShapePL
 ::GetScale() 
 {
-  vtkFloatingPointType aScale=myDeformVectors->GetScaleFactor();
-  return aScale;
+  return myScaleFactor;
 }
 
 /*!
@@ -251,6 +246,7 @@ void
 VISU_ScalarMapOnDeformedShapePL
 ::SetMapScale(vtkFloatingPointType theMapScale)
 {
+  TSupperClass::SetMapScale(theMapScale); // enk::added
   myDeformVectors->SetScaleFactor(myScaleFactor*theMapScale);
   Modified();
 }
index 244879cc35d7442380e240e3468d178f57dfe08b..898e38f38920357f8413d2a86c27706dd972d772 100644 (file)
@@ -195,11 +195,27 @@ CORBA::Double VISU::ScalarMapOnDeformedShape_i::GetScale(){
   return myScalarMapOnDeformedShapePL->GetScale();
 }
 
+void
+VISU::ScalarMapOnDeformedShape_i
+::SetRange(CORBA::Double theMin, CORBA::Double theMax)
+{
+  if(theMin > theMax) 
+    return;
+  vtkFloatingPointType aScalarRange[2] = {theMin, theMax};
+  myScalarMapOnDeformedShapePL->SetScalarRange(aScalarRange);
+  myIsFixedRange = true;
+}
+
 void VISU::ScalarMapOnDeformedShape_i::SetSourceRange(CORBA::Double theMinRange,CORBA::Double theMaxRange){
-  vtkFloatingPointType aRange[2];
-  aRange[0] = vtkFloatingPointType(theMinRange);
-  aRange[1] = vtkFloatingPointType(theMaxRange);
-  myScalarMapOnDeformedShapePL->SetScalarRange(aRange);
+  SetRange(theMinRange,theMaxRange);
+}
+
+void
+VISU::ScalarMapOnDeformedShape_i
+::SetSourceRange()
+{
+  myScalarMapOnDeformedShapePL->SetSourceRange();
+  myIsFixedRange = false;
 }
 
 CORBA::Double VISU::ScalarMapOnDeformedShape_i::GetSourceRangeMin(){
@@ -353,3 +369,24 @@ VISU::ScalarMapOnDeformedShape_i
 { 
   return myScalarField;
 }
+
+void
+VISU::ScalarMapOnDeformedShape_i
+::SetMapScale(double theMapScale)
+{
+  myScalarMapOnDeformedShapePL->SetMapScale(theMapScale);
+}
+
+CORBA::Double 
+VISU::ScalarMapOnDeformedShape_i
+::GetMin()
+{
+  return myScalarMapOnDeformedShapePL->GetScalarRange()[0];
+}
+
+CORBA::Double 
+VISU::ScalarMapOnDeformedShape_i
+::GetMax()
+{
+  return myScalarMapOnDeformedShapePL->GetScalarRange()[1];
+}
index 7914398b19491e2b89a56316ece615e5f375974d..01542563d6261ee3ee70ad71ccee00bed5eee615 100644 (file)
@@ -64,6 +64,10 @@ namespace VISU{
     virtual void SetScale(CORBA::Double theScale);
     virtual CORBA::Double GetScale();
 
+    virtual
+    void
+    SetRange(CORBA::Double theMin, CORBA::Double theMax);
+
     virtual CORBA::Boolean IsColored() { return myIsColored; }
     virtual void ShowColored(CORBA::Boolean theColored) { myIsColored = theColored; }
 
@@ -71,6 +75,19 @@ namespace VISU{
     virtual void SetColor(const SALOMEDS::Color& theColor) { myColor = theColor;}
 
     virtual void SetSourceRange(CORBA::Double theMinRange,CORBA::Double theMaxRange);
+    
+    virtual
+    CORBA::Double 
+    GetMin();
+
+    virtual
+    CORBA::Double 
+    GetMax();
+
+    virtual
+    void
+    SetSourceRange();
+    
     virtual CORBA::Double GetSourceRangeMin();
     virtual CORBA::Double GetSourceRangeMax();
 
@@ -114,6 +131,11 @@ namespace VISU{
     
     static Storable* Restore(SALOMEDS::SObject_ptr theSObject,
                             const std::string& thePrefix, const Storable::TRestoringMap& theMap);
+    
+    virtual
+    void
+    SetMapScale(double theMapScale = 1.0);
+
 
     static const std::string myComment;
     virtual const char* GetComment() const;