]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
PostPro 2005, T1.5: 2D fields displayed in 3D. Add SetMapScale()
authoreap <eap@opencascade.com>
Wed, 4 May 2005 06:35:54 +0000 (06:35 +0000)
committereap <eap@opencascade.com>
Wed, 4 May 2005 06:35:54 +0000 (06:35 +0000)
src/PIPELINE/VISU_Plot3DPL.cxx
src/PIPELINE/VISU_Plot3DPL.hxx
src/VISU_I/VISU_Plot3D_i.cc
src/VISU_I/VISU_Plot3D_i.hh

index 920e6427a1df735f7a346273f5aed8e27ede91cf..69e0fb487cbdef936f775af1b6f76772321e6935 100644 (file)
@@ -53,7 +53,8 @@ VISU_Plot3DPL::VISU_Plot3DPL():
   myOrientation(VISU_CutPlanesPL::YZ),
   myIsRelative(true),
   myIsContour(false),
-  myPosition(0.5)
+  myPosition(0.5),
+  myScaleFactor(1.)
 {
   myAngle[0] = myAngle[1] = myAngle[2] = 0.;
   SetNumberOfContours(32);
@@ -220,6 +221,7 @@ void
 VISU_Plot3DPL::
 SetScaleFactor(float theScaleFactor)
 {
+  myScaleFactor = theScaleFactor;
   myWarpScalar->SetScaleFactor(theScaleFactor);
 }
 
@@ -227,7 +229,7 @@ float
 VISU_Plot3DPL::
 GetScaleFactor() const
 {
-  return myWarpScalar->GetScaleFactor();
+  return myScaleFactor;
 }
 
 void 
@@ -365,3 +367,15 @@ void VISU_Plot3DPL::GetMinMaxPosition( float& minPos, float& maxPos ) const
   maxPos = aBoundPrj[1];
 }
 
+//=======================================================================
+//function : SetMapScale
+//purpose  : 
+//=======================================================================
+
+void VISU_Plot3DPL::SetMapScale(float theMapScale)
+{
+  VISU_ScalarMapPL::SetMapScale(theMapScale);
+
+  myWarpScalar->SetScaleFactor(myScaleFactor*theMapScale);
+  Modified();
+}
index 467e81ebd7bb1cff6f3ef2ab7927501c55f30a18..7127583845c60d5b582dde141e4fbf047d53eaef 100644 (file)
@@ -108,12 +108,14 @@ public:
   float 
   GetScaleFactor(vtkDataSet* theDataSet);
 
+  void SetMapScale(float theMapScale);
+
 protected:
   virtual THook* DoHook();
 
   float myAngle[3];
   bool myIsRelative, myIsContour;
-  float myPosition;
+  float myPosition, myScaleFactor;
   VISU_CutPlanesPL::PlaneOrientation myOrientation;
 
   TVTKSmartPtr<vtkCellDataToPointData> myCellDataToPointData;
index 9528e62a7d0a02431623ec29300747c0c7fa11aa..9a13def089707080b9d64f3908dfd2a3573c73df 100644 (file)
@@ -154,3 +154,8 @@ void VISU::Plot3D_i::DoHook()
 
   ScalarMap_i::DoHook();
 }
+
+void VISU::Plot3D_i::SetMapScale(double theMapScale)
+{
+  myPlot3DPL->SetMapScale(theMapScale);
+}
index 48930196bcbd5a690c37a4520d64a7f93b7fcdbd..fe68916a01bdbf63fabbddff8a89e31d77a7cf86 100644 (file)
@@ -47,6 +47,8 @@ namespace VISU {
     typedef VISU::Plot3D TInterface;
     VISU_Plot3DPL* GetPlot3DPL() { return myPlot3DPL; }
 
+    void SetMapScale(double theMapScale);
+
   protected:
     virtual void DoHook();