]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
To allow updating parameters of the view just after "Apply" in Picking dialog box
authorpkv <pkv@opencascade.com>
Wed, 12 Oct 2005 14:17:23 +0000 (14:17 +0000)
committerpkv <pkv@opencascade.com>
Wed, 12 Oct 2005 14:17:23 +0000 (14:17 +0000)
src/OBJECT/VISU_GaussPtsAct.cxx
src/OBJECT/VISU_GaussPtsDeviceActor.cxx
src/OBJECT/VISU_GaussPtsDeviceActor.h

index 37824f73ca3f252a64815e704d4fff237488ccc2..13d127c74c047881dd2400d713b5a0fab650a823 100644 (file)
@@ -452,6 +452,9 @@ VISU_GaussPtsAct
     myChangeMagnification = theEvent == VISU::SetSMIncreaseMagnificationEvent;
     myUpdatePrs3dSignal(this);
     break;
+  case VISU::UpdatePickingSettingsEvent:
+    UpdatePickingSettings();
+    break;
   default:
     break;
   }
@@ -751,7 +754,13 @@ VISU_GaussPtsAct
 ::UpdatePickingSettings()
 {
   // Update picking parameters using myPickingSettings object
-
+  myTextActor->SetModePosition(myPickingSettings->GetInfoWindowPosition());
+  myTextActor->SetTransparency(myPickingSettings->GetInfoWindowTransparency());
+  float aHeight=
+    myGaussPointsPL->GetMaxPointSize()*myPickingSettings->GetPyramidHeight();
+  myCursorPyramid->SetHeight(aHeight);
+  myCursorPyramidSelected->SetHeight(aHeight);
+  //
   Update();
 }
 
index 49471bcf443e84b054fbebf07d9fd939660b9fff..fe4e22cf1f189aa3c4ed140fdb8b9c323f597636 100644 (file)
@@ -184,7 +184,11 @@ VISU_CursorPyramid
   for(int i = 0; i < myNbCones; ++i)
     myActors[i]->SetVisibility(theVisibility);
 }
-
+//----------------------------------------------------------------------------
+void VISU_CursorPyramid::SetHeight(float theHeight)
+{
+  Init(theHeight, myRadius, myPos, myColor);
+}
 //----------------------------------------------------------------------------
 void
 VISU_CursorPyramid
@@ -193,7 +197,14 @@ VISU_CursorPyramid
        float thePos[3],
        float theColor[3])
 {
-  for(int i = 0; i < myNbCones; ++i){
+  int i;
+  myHeight=theHeight;
+  myRadius=theRadius;
+  for (i=0; i<3; ++i){
+    myPos[i]=thePos[i];
+    myColor[i]=theColor[i];
+  }
+  for(i = 0; i < myNbCones; ++i){
     mySources[i]->SetHeight(theHeight);
     // Set the angle of the cone. As a side effect, the angle plus height sets 
     // the base radius of the cone.
@@ -229,7 +240,8 @@ VISU_CursorPyramid
 ::VISU_CursorPyramid():
   myNbCones(6)
 {
-  for(int i = 0; i < myNbCones; i++){
+  int i;
+  for(i = 0; i < myNbCones; i++){
     vtkConeSource* aConeSource = vtkConeSource::New();
     aConeSource->SetResolution(4);
     
@@ -252,6 +264,13 @@ VISU_CursorPyramid
   myActors[1]->SetOrientation(0.  ,180.,0.);
   myActors[3]->SetOrientation(0.  , 0. ,180.);
   myActors[5]->SetOrientation(180., 0. ,0.);
+  //
+  myHeight=10.;
+  myRadius=5.;
+  for(i = 0; i < 3; ++i){ 
+    myPos[i]=0.;
+    myColor[i]=1.;
+  }
 }
 
 #include <vtkViewport.h>
index 8661a16624c95f61393cd9557cf577618c7a7bad..4f4d5e3e88dbbda3cf2dbebc0e61cad38a28a208 100644 (file)
@@ -124,7 +124,8 @@ public:
        float theRadius,
        float thePos[3],
        float theColor[3]);
-  
+
+  void SetHeight(float theHeight);
 
 protected:
   VISU_CursorPyramid();
@@ -133,6 +134,11 @@ protected:
   vtkSmartPointer<vtkConeSource> mySources[6];
   vtkSmartPointer<vtkPolyDataMapper> myMappers[6];
   vtkSmartPointer<vtkActor> myActors[6];
+  //
+  float myHeight;
+  float myRadius;
+  float myPos[3];
+  float myColor[3];
 };
 //==================================================================
 // class VISU_FramedTextActor