]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
Bug GVIEW10814
authorapo <apo@opencascade.com>
Mon, 19 Dec 2005 09:14:33 +0000 (09:14 +0000)
committerapo <apo@opencascade.com>
Mon, 19 Dec 2005 09:14:33 +0000 (09:14 +0000)
   size of the cursor is not modified when changing the magnification
Improve recognition of the outside and inside picking cursor parameters

src/OBJECT/VISU_GaussPtsAct.cxx
src/OBJECT/VISU_GaussPtsAct.h

index 18ea5f9d2cc76f51b32a784daaf5a93999bb28d8..42156e20d26a3675ee8097abf4338063d9c76635 100644 (file)
@@ -401,7 +401,8 @@ namespace
 
 float
 VISU_GaussPtsAct
-::GetRadius(vtkIdType theVTKID,
+::GetRadius(vtkIdType theObjID,
+           vtkIdType theVTKID,
            vtkDataArray *theScalarArray)
 {
   return ::GetRadius(theVTKID,theScalarArray,myDeviceActor->GetPipeLine());
@@ -412,7 +413,7 @@ float
 VISU_GaussPtsAct
 ::GetMagnification(vtkIdType theObjID)
 {
-  return GetGaussPointsPL()->GetMagnification();
+  return myDeviceActor->GetPipeLine()->GetMagnification();
 }
 
 
@@ -434,7 +435,7 @@ float
 VISU_GaussPtsAct
 ::GetClamp(vtkIdType theObjID)
 {
-  return ::GetClamp(GetGaussPointsPL());
+  return ::GetClamp(myDeviceActor->GetPipeLine());
 }
 
 
@@ -663,8 +664,8 @@ VISU_GaussPtsAct
 
            myCursorPyramid->Init(aPyramidHeight,
                                  myPickingSettings->GetCursorSize(),
-                                 GetRadius(aVtkId,aScalarArray),
-                                 GetMagnification(aVtkId),
+                                 GetRadius(anObjId,aVtkId,aScalarArray),
+                                 GetMagnification(anObjId),
                                  GetClamp(anObjId),
                                  aNodeCoord,
                                  aColor);
@@ -873,8 +874,8 @@ VISU_GaussPtsAct
       aPyramidHeight = aPyramidHeight*myGaussPointsPL->GetMaxPointSize();
       myCursorPyramidSelected->Init(aPyramidHeight,
                                    myPickingSettings->GetCursorSize(),
-                                   GetRadius(aVtkId,aScalarArray),
-                                   GetMagnification(aVtkId),
+                                   GetRadius(anObjId,aVtkId,aScalarArray),
+                                   GetMagnification(anObjId),
                                    GetClamp(anObjId),
                                    aNodeCoord,
                                    myHighlightActor->GetProperty()->GetColor());
@@ -1154,10 +1155,6 @@ VISU_GaussPtsAct1
 
     myOutsideDeviceActor->GetPipeLine()->SetImplicitFunction(theWidgetCtrl->ImplicitFunction());  
     myOutsideDeviceActor->SetVisibility(GetVisibility() && theWidgetCtrl->GetEnabled());
-    
-    if (theWidgetCtrl->GetEnabled()) {
-      myCurrentPL = myInsideDeviceActor->GetPipeLine();
-    }
   }
 
   Superclass::SetWidgetCtrl(theWidgetCtrl);
@@ -1192,12 +1189,13 @@ VISU_GaussPtsAct1
 //----------------------------------------------------------------------------
 float
 VISU_GaussPtsAct1
-::GetRadius(vtkIdType theVTKID,
+::GetRadius(vtkIdType theObjID,
+           vtkIdType theVTKID,
            vtkDataArray *theScalarArray)
 {
   VISU_GaussPointsPL* aPipeLine = myDeviceActor->GetPipeLine();
   if(myWidgetCtrl && myWidgetCtrl->GetEnabled()){
-    if(myInsideDeviceActor->GetPipeLine()->GetElemObjID(theVTKID) < 0)
+    if(myInsideDeviceActor->GetPipeLine()->GetNodeVTKID(theObjID) < 0)
       aPipeLine = myOutsideDeviceActor->GetPipeLine();
     else
       aPipeLine = myInsideDeviceActor->GetPipeLine();
@@ -1213,7 +1211,7 @@ VISU_GaussPtsAct1
 {
   VISU_GaussPointsPL* aPipeLine = myDeviceActor->GetPipeLine();
   if(myWidgetCtrl && myWidgetCtrl->GetEnabled()){
-    if(myInsideDeviceActor->GetPipeLine()->GetElemVTKID(theObjID) < 0)
+    if(myInsideDeviceActor->GetPipeLine()->GetNodeVTKID(theObjID) < 0)
       aPipeLine = myOutsideDeviceActor->GetPipeLine();
     else
       aPipeLine = myInsideDeviceActor->GetPipeLine();
@@ -1228,7 +1226,7 @@ VISU_GaussPtsAct1
 ::GetClamp(vtkIdType theObjID)
 {
   if(myWidgetCtrl && myWidgetCtrl->GetEnabled()){
-    if(myInsideDeviceActor->GetPipeLine()->GetElemVTKID(theObjID) < 0)
+    if(myInsideDeviceActor->GetPipeLine()->GetNodeVTKID(theObjID) < 0)
       return ::GetClamp(myOutsideDeviceActor->GetPipeLine());
     else
       return ::GetClamp(myInsideDeviceActor->GetPipeLine());
index eba81b9b534b7abd71ddcca6a5acdacaaedfe867..3b8a81e614b061a5cfe8d9221490223bc0ce819c 100644 (file)
@@ -244,7 +244,8 @@ class VTKOCC_EXPORT VISU_GaussPtsAct : public VISU_Actor
   //! To get current value of the radius of the Point Sprite
   virtual
   float
-  GetRadius(vtkIdType theVTKID,
+  GetRadius(vtkIdType theObjID,
+           vtkIdType theVTKID,
            vtkDataArray *theScalarArray);
 
   //! To get current value of the magnification
@@ -382,7 +383,8 @@ class VTKOCC_EXPORT VISU_GaussPtsAct1 : public VISU_GaussPtsAct
   //! To get current value of the radius of the Point Sprite
   virtual
   float
-  GetRadius(vtkIdType theVTKID,
+  GetRadius(vtkIdType theObjID,
+           vtkIdType theVTKID,
            vtkDataArray *theScalarArray);
 
   //! To get current value of the magnification