]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
To improve outside presentation
authorapo <apo@opencascade.com>
Wed, 28 Sep 2005 11:50:31 +0000 (11:50 +0000)
committerapo <apo@opencascade.com>
Wed, 28 Sep 2005 11:50:31 +0000 (11:50 +0000)
src/OBJECT/VISU_GaussPtsAct.cxx
src/OBJECT/VISU_GaussPtsAct.h

index a718248eb1a483735283cafd69d5c46c0eb9dfe0..8a03b261c0b47e0e73c90305b2ad9103eb76b793 100644 (file)
 #include "utilities.h"
 
 #ifdef _DEBUG_
-static int MYDEBUG = 1;
+static int MYDEBUG = 0;
+static int MYDEBUG1 = 0;
+static int MYDEBUG2 = 0;
 #else
 static int MYDEBUG = 0;
+static int MYDEBUG1 = 0;
+static int MYDEBUG2 = 0;
 #endif
 
 //----------------------------------------------------------------
@@ -99,6 +103,7 @@ vtkStandardNewMacro(VISU_GaussPtsAct);
 VISU_GaussPtsAct
 ::VISU_GaussPtsAct():
   myEventCallbackCommand(vtkCallbackCommand::New()),
+  myPriority(0.0),
   myDeviceActor(VISU_GaussPtsDeviceActor::New()),
   myWidget(NULL),
   myGaussPointsPL(NULL),
@@ -185,6 +190,8 @@ void
 VISU_GaussPtsAct
 ::SetPipeLine(VISU_PipeLine* thePipeLine) 
 {
+  if(MYDEBUG) MESSAGE("VISU_GaussPtsAct::SetPipeLine - this = "<<this);
+
   myGaussPointsPL = dynamic_cast<VISU_GaussPointsPL*>(thePipeLine);
 
   Superclass::SetPipeLine(thePipeLine);
@@ -201,6 +208,8 @@ void
 VISU_GaussPtsAct
 ::ShallowCopyPL(VISU_PipeLine* thePipeLine)
 {
+  if(MYDEBUG) MESSAGE("VISU_GaussPtsAct::ShallowCopyPL - this = "<<this);
+
   Superclass::ShallowCopyPL(thePipeLine);
 
   VISU_GaussPointsPL* aPipeLine = dynamic_cast<VISU_GaussPointsPL*>(thePipeLine);
@@ -236,6 +245,8 @@ void
 VISU_GaussPtsAct
 ::AddToRender(vtkRenderer* theRenderer)
 {
+  if(MYDEBUG) MESSAGE("VISU_GaussPtsAct::AddToRender - this = "<<this);
+
   Superclass::AddToRender(theRenderer);
 
   myDeviceActor->AddToRender(theRenderer);
@@ -252,6 +263,8 @@ void
 VISU_GaussPtsAct
 ::RemoveFromRender(vtkRenderer* theRenderer)
 {
+  if(MYDEBUG) MESSAGE("VISU_GaussPtsAct::RemoveFromRender - this = "<<this);
+
   Superclass::RemoveFromRender(theRenderer);
 
   myDeviceActor->RemoveFromRender(theRenderer);
@@ -293,13 +306,15 @@ void
 VISU_GaussPtsAct
 ::SetImplicitFunctionWidget(VISU_ImplicitFunctionWidget* theWidget)
 {
+  if(MYDEBUG) MESSAGE("VISU_GaussPtsAct::SetImplicitFunctionWidget - this = "<<this);
+
   myWidget = theWidget;
   theWidget->AddObserver(vtkCommand::EnableEvent, 
                         myEventCallbackCommand.GetPointer(), 
-                        0.0);
+                        myPriority);
   theWidget->AddObserver(vtkCommand::DisableEvent, 
                         myEventCallbackCommand.GetPointer(), 
-                        0.0);
+                        myPriority);
 }
 
 bool
@@ -342,6 +357,8 @@ void
 VISU_GaussPtsAct
 ::SetMapperInput(vtkDataSet* theDataSet) 
 {
+  if(MYDEBUG) MESSAGE("VISU_GaussPtsAct::SetMapperInput - this = "<<this);
+
   myDeviceActor->SetPipeLine(GetGaussPointsPL());
   vtkLODActor::SetMapper(GetMapper());
 }
@@ -386,7 +403,7 @@ VISU_GaussPtsAct
   if(theInteractor)
     theInteractor->AddObserver(vtkCommand::CharEvent, 
                               myEventCallbackCommand.GetPointer(), 
-                              0.0);
+                              myPriority);
   
   Superclass::SetInteractor(theInteractor);
 
@@ -409,6 +426,8 @@ void
 VISU_GaussPtsAct
 ::OnInteractorEvent(unsigned long theEvent)
 {
+  if(MYDEBUG) MESSAGE("VISU_GaussPtsAct::OnInteractorEvent - this = "<<this);
+
   switch(theEvent){
   case vtkCommand::CharEvent: {
     switch(myInteractor->GetKeyCode()) {
@@ -777,7 +796,7 @@ VISU_GaussPtsAct1
   myInsideDeviceActor(VISU_GaussPtsDeviceActor::New()),
   myOutsideDeviceActor(VISU_GaussPtsDeviceActor::New())
 {
-  if(MYDEBUG) MESSAGE("VISU_GaussPtsAct1::VISU_GaussPtsAct1 - this = "<<this);
+  if(MYDEBUG1) MESSAGE("VISU_GaussPtsAct1::VISU_GaussPtsAct1 - this = "<<this);
   myInsideDeviceActor->SetProperty(GetProperty());
   myInsideDeviceActor->SetVisibility(false);
   myInsideDeviceActor->SetPickable(false);
@@ -792,7 +811,7 @@ VISU_GaussPtsAct1
 VISU_GaussPtsAct1
 ::~VISU_GaussPtsAct1()
 {
-  if(MYDEBUG) MESSAGE("VISU_GaussPtsAct1::~VISU_GaussPtsAct1 - this = "<<this);
+  if(MYDEBUG1) MESSAGE("VISU_GaussPtsAct1::~VISU_GaussPtsAct1 - this = "<<this);
 }
 
 
@@ -801,11 +820,18 @@ void
 VISU_GaussPtsAct1
 ::ShallowCopyPL(VISU_PipeLine* thePipeLine)
 {
+  if(MYDEBUG1) MESSAGE("VISU_GaussPtsAct1::ShallowCopyPL - this = "<<this);
+
   Superclass::ShallowCopyPL(thePipeLine);
 
   VISU_GaussPointsPL* aPipeLine = dynamic_cast<VISU_GaussPointsPL*>(thePipeLine);
+
   myInsideDeviceActor->ShallowCopyPL(aPipeLine);
+
   myOutsideDeviceActor->ShallowCopyPL(aPipeLine);
+  myOutsideDeviceActor->GetMapper()->ScalarVisibilityOff();
+  myOutsideDeviceActor->GetPipeLine()->SetExtractInside(true);
+
   // Restore implicit function
   if(myWidget){
     vtkImplicitFunction* aFunction = myWidget->ImplicitFunction();
@@ -813,8 +839,6 @@ VISU_GaussPtsAct1
     myInsideDeviceActor->GetPipeLine()->SetImplicitFunction(aFunction);
     
     myOutsideDeviceActor->GetPipeLine()->SetImplicitFunction(aFunction);
-    myOutsideDeviceActor->GetPipeLine()->SetExtractInside(true);
-    myOutsideDeviceActor->GetMapper()->ScalarVisibilityOff();
   }
 }
 
@@ -855,6 +879,8 @@ void
 VISU_GaussPtsAct1
 ::SetImplicitFunctionWidget(VISU_ImplicitFunctionWidget* theWidget)
 {
+  if(MYDEBUG1) MESSAGE("VISU_GaussPtsAct1::SetImplicitFunctionWidget - this = "<<this);
+
   Superclass::SetImplicitFunctionWidget(theWidget);
 
   myInsideDeviceActor->GetPipeLine()->SetImplicitFunction(theWidget->ImplicitFunction());
@@ -870,6 +896,8 @@ void
 VISU_GaussPtsAct1
 ::SetMapperInput(vtkDataSet* theDataSet) 
 {
+  if(MYDEBUG1) MESSAGE("VISU_GaussPtsAct1::SetMapperInput - this = "<<this);
+
   Superclass::SetMapperInput(theDataSet);
 
   if(VISU_GaussPointsPL* aPipeLine = CreatePipeLine(GetGaussPointsPL())){
@@ -877,7 +905,12 @@ VISU_GaussPtsAct1
   }
   if(VISU_GaussPointsPL* aPipeLine = CreatePipeLine(GetGaussPointsPL())){
     myOutsideDeviceActor->SetPipeLine(aPipeLine);
+
+    aPipeLine->DebugOn();
+    myOutsideDeviceActor->GetMapper()->DebugOn();
+
     myOutsideDeviceActor->GetMapper()->ScalarVisibilityOff();
+
     myOutsideDeviceActor->GetPipeLine()->SetExtractInside(true);
   }
 }
@@ -893,6 +926,8 @@ void
 VISU_GaussPtsAct1
 ::SetVisibility(int theMode)
 {
+  if(MYDEBUG1) MESSAGE("VISU_GaussPtsAct1::SetVisibility - this = "<<this);
+
   Superclass::SetVisibility(theMode);
 
   myDeviceActor->SetVisibility(GetVisibility() && !myWidget->IsEnabled());
@@ -908,6 +943,8 @@ void
 VISU_GaussPtsAct1
 ::OnInteractorEvent(unsigned long theEvent)
 {
+  if(MYDEBUG1) MESSAGE("VISU_GaussPtsAct1::OnInteractorEvent - this = "<<this);
+
   switch(theEvent){
   case vtkCommand::EnableEvent: 
   case vtkCommand::DisableEvent:
@@ -930,13 +967,13 @@ vtkStandardNewMacro(VISU_GaussPtsAct2);
 VISU_GaussPtsAct2
 ::VISU_GaussPtsAct2()
 {
-  if(MYDEBUG) MESSAGE("VISU_GaussPtsAct2::VISU_GaussPtsAct2 - this = "<<this);
+  if(MYDEBUG2) MESSAGE("VISU_GaussPtsAct2::VISU_GaussPtsAct2 - this = "<<this);
 }
 
 VISU_GaussPtsAct2
 ::~VISU_GaussPtsAct2()
 {
-  if(MYDEBUG) MESSAGE("VISU_GaussPtsAct2::~VISU_GaussPtsAct2 - this = "<<this);
+  if(MYDEBUG2) MESSAGE("VISU_GaussPtsAct2::~VISU_GaussPtsAct2 - this = "<<this);
 }
 
 
@@ -945,6 +982,8 @@ void
 VISU_GaussPtsAct2
 ::ShallowCopyPL(VISU_PipeLine* thePipeLine)
 {
+  if(MYDEBUG2) MESSAGE("VISU_GaussPtsAct2::ShallowCopyPL - this = "<<this);
+
   Superclass::ShallowCopyPL(thePipeLine);
   // Restore implicit function
   if(myWidget){
@@ -959,6 +998,8 @@ void
 VISU_GaussPtsAct2
 ::SetMapperInput(vtkDataSet* theDataSet) 
 {
+  if(MYDEBUG2) MESSAGE("VISU_GaussPtsAct2::SetMapperInput - this = "<<this);
+
   Superclass::SetMapperInput(theDataSet);
 
   if(VISU_GaussPointsPL* aPipeLine = CreatePipeLine(GetGaussPointsPL())){
@@ -971,8 +1012,14 @@ void
 VISU_GaussPtsAct2
 ::SetImplicitFunctionWidget(VISU_ImplicitFunctionWidget* theWidget)
 {
+  if(MYDEBUG2) MESSAGE("VISU_GaussPtsAct2::SetImplicitFunctionWidget - this = "<<this);
+
   Superclass::SetImplicitFunctionWidget(theWidget);
 
+  theWidget->AddObserver(vtkCommand::EndInteractionEvent, 
+                        myEventCallbackCommand.GetPointer(), 
+                        myPriority);
+
   myDeviceActor->GetPipeLine()->SetImplicitFunction(theWidget->ImplicitFunction());
   myDeviceActor->SetVisibility(GetVisibility() && theWidget->IsEnabled());
 }
@@ -983,6 +1030,8 @@ void
 VISU_GaussPtsAct2
 ::SetVisibility(int theMode)
 {
+  if(MYDEBUG2) MESSAGE("VISU_GaussPtsAct2::SetVisibility - this = "<<this);
+
   Superclass::SetVisibility(theMode);
 
   myDeviceActor->SetVisibility(GetVisibility() && myWidget->IsEnabled());
@@ -992,11 +1041,16 @@ void
 VISU_GaussPtsAct2
 ::OnInteractorEvent(unsigned long theEvent)
 {
+  if(MYDEBUG2) MESSAGE("VISU_GaussPtsAct2::OnInteractorEvent - this = "<<this);
+
   switch(theEvent){
   case vtkCommand::EnableEvent: 
   case vtkCommand::DisableEvent:
     myDeviceActor->SetVisibility(GetVisibility() && myWidget->IsEnabled());
     break;
+  case vtkCommand::EndInteractionEvent:
+    vtkLODActor::SetMapper(GetMapper());
+    break;
   default:
     break;
   }
index b3efd873a7aec00f596e9a8d7dc69eb5d569f415..9898a1ca4c8eda36684c6ad45690d4e0eedeaa3c 100644 (file)
@@ -220,6 +220,7 @@ class VTKOCC_EXPORT VISU_GaussPtsAct : public VISU_ScalarMapAct
   void
   OnInteractorEvent(unsigned long theEvent);
 
+  float myPriority;
   bool myChangeMagnification;
   VISU::TGaussPtsActorFactory* myGaussPtsActorFactory;
   boost::signal1<void,VISU_GaussPtsAct*> myUpdatePrs3dSignal;