Salome HOME
SMH: Preparation version 3.0.0 - merge (HEAD+POLYWORK)
[modules/smesh.git] / src / OBJECT / SMESH_Actor.cxx
index 004399a7f4cdbb6923a31111b53e091e4cd0290d..3db87dba4085d86f0f466b5e1c53d3a2befcff10 100644 (file)
@@ -31,9 +31,9 @@
 #include "SMESH_ActorUtils.h"
 #include "SMESH_DeviceActor.h"
 #include "SMESH_ControlsDef.hxx"
-#include "SALOME_ExtractUnstructuredGrid.h"
+#include <VTKViewer_ExtractUnstructuredGrid.h>
 
-#include "QAD_Config.h"
+//#include "QAD_Config.h"
 #include <qstringlist.h>
 
 #include <vtkTimeStamp.h>
@@ -73,7 +73,7 @@
 #include "utilities.h"
 
 #ifdef _DEBUG_
-static int MYDEBUG = 0;
+static int MYDEBUG = 1;
 #else
 static int MYDEBUG = 0;
 #endif
@@ -118,7 +118,7 @@ SMESH_ActorDef::SMESH_ActorDef()
   float aLineWidth = SMESH::GetFloat("SMESH:SettingsWidth",1);
 
   vtkMatrix4x4 *aMatrix = vtkMatrix4x4::New();
-  SALOME_ExtractUnstructuredGrid* aFilter = NULL;
+  VTKViewer_ExtractUnstructuredGrid* aFilter = NULL;
 
   //Definition 2D and 3D divices of the actor
   //-----------------------------------------
@@ -142,7 +142,7 @@ SMESH_ActorDef::SMESH_ActorDef()
   my2DActor->SetBackfaceProperty(myBackSurfaceProp);
   my2DActor->SetRepresentation(SMESH_DeviceActor::eSurface);
   aFilter = my2DActor->GetExtractUnstructuredGrid();
-  aFilter->SetModeOfChanging(SALOME_ExtractUnstructuredGrid::eAdding);
+  aFilter->SetModeOfChanging(VTKViewer_ExtractUnstructuredGrid::eAdding);
   aFilter->RegisterCellsWithType(VTK_TRIANGLE);
   aFilter->RegisterCellsWithType(VTK_POLYGON);
   aFilter->RegisterCellsWithType(VTK_QUAD);
@@ -154,13 +154,13 @@ SMESH_ActorDef::SMESH_ActorDef()
   my3DActor->SetBackfaceProperty(myBackSurfaceProp);
   my3DActor->SetRepresentation(SMESH_DeviceActor::eSurface);
   aFilter = my3DActor->GetExtractUnstructuredGrid();
-  aFilter->SetModeOfChanging(SALOME_ExtractUnstructuredGrid::eAdding);
+  aFilter->SetModeOfChanging(VTKViewer_ExtractUnstructuredGrid::eAdding);
   aFilter->RegisterCellsWithType(VTK_TETRA);
   aFilter->RegisterCellsWithType(VTK_VOXEL);
   aFilter->RegisterCellsWithType(VTK_HEXAHEDRON);
   aFilter->RegisterCellsWithType(VTK_WEDGE);
   aFilter->RegisterCellsWithType(VTK_PYRAMID);
-
+  aFilter->RegisterCellsWithType(VTK_CONVEX_POINT_SET);
 
   //Definition 1D divice of the actor
   //---------------------------------
@@ -181,7 +181,7 @@ SMESH_ActorDef::SMESH_ActorDef()
   my1DActor->SetProperty(myEdgeProp);
   my1DActor->SetRepresentation(SMESH_DeviceActor::eSurface);
   aFilter = my1DActor->GetExtractUnstructuredGrid();
-  aFilter->SetModeOfChanging(SALOME_ExtractUnstructuredGrid::eAdding);
+  aFilter->SetModeOfChanging(VTKViewer_ExtractUnstructuredGrid::eAdding);
   aFilter->RegisterCellsWithType(VTK_LINE);
 
   my1DProp = vtkProperty::New();
@@ -206,7 +206,7 @@ SMESH_ActorDef::SMESH_ActorDef()
   my1DExtActor->SetProperty(my1DExtProp);
   my1DExtActor->SetRepresentation(SMESH_DeviceActor::eInsideframe);
   aFilter = my1DExtActor->GetExtractUnstructuredGrid();
-  aFilter->SetModeOfChanging(SALOME_ExtractUnstructuredGrid::eAdding);
+  aFilter->SetModeOfChanging(VTKViewer_ExtractUnstructuredGrid::eAdding);
   aFilter->RegisterCellsWithType(VTK_LINE);
 
 
@@ -227,7 +227,7 @@ SMESH_ActorDef::SMESH_ActorDef()
   myNodeActor->SetProperty(myNodeProp);
   myNodeActor->SetRepresentation(SMESH_DeviceActor::ePoint);
   aFilter = myNodeActor->GetExtractUnstructuredGrid();
-  aFilter->SetModeOfExtraction(SALOME_ExtractUnstructuredGrid::ePoints);
+  aFilter->SetModeOfExtraction(VTKViewer_ExtractUnstructuredGrid::ePoints);
 
 
   //Definition of Pickable and Highlitable engines
@@ -288,38 +288,38 @@ SMESH_ActorDef::SMESH_ActorDef()
 
   vtkTextProperty* aScalarBarTitleProp = vtkTextProperty::New();
 
-  if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarTitleColor" ) ) {
+/*  if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarTitleColor" ) ) {
     QStringList aTColor = QStringList::split(  ":", QAD_CONFIG->getSetting( "SMESH:ScalarBarTitleColor" ), false );
     aScalarBarTitleProp->SetColor( ( aTColor.count() > 0 ? aTColor[0].toInt()/255. : 1.0 ),
-                                  ( aTColor.count() > 1 ? aTColor[1].toInt()/255. : 1.0 ), 
+                                  ( aTColor.count() > 1 ? aTColor[1].toInt()/255. : 1.0 ),
                                   ( aTColor.count() > 2 ? aTColor[2].toInt()/255. : 1.0 ) );
   }
-  else
+  else*/
     aScalarBarTitleProp->SetColor( 1.0, 1.0, 1.0 );
 
   aScalarBarTitleProp->SetFontFamilyToArial();
-  if( QAD_CONFIG->hasSetting( "SMESH:ScalarBarTitleFont" ) ){
+  /*if( QAD_CONFIG->hasSetting( "SMESH:ScalarBarTitleFont" ) ){
     if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarTitleFont" ) == "Arial" )
       aScalarBarTitleProp->SetFontFamilyToArial();
     else if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarTitleFont" ) == "Courier" )
       aScalarBarTitleProp->SetFontFamilyToCourier();
     else if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarTitleFont" ) == "Times" )
       aScalarBarTitleProp->SetFontFamilyToTimes();
-  }
+  }*/
 
-  if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarTitleBold" ) == "true" )
+  /*if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarTitleBold" ) == "true" )
     aScalarBarTitleProp->BoldOn();
-  else
+  else*/
     aScalarBarTitleProp->BoldOff();
 
-  if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarTitleItalic" ) == "true" )
+  /*if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarTitleItalic" ) == "true" )
     aScalarBarTitleProp->ItalicOn();
-  else
+  else*/
     aScalarBarTitleProp->ItalicOff();
 
-  if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarTitleShadow" ) == "true" )
+  /*if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarTitleShadow" ) == "true" )
     aScalarBarTitleProp->ShadowOn();
-  else
+  else*/
     aScalarBarTitleProp->ShadowOff();
 
   myScalarBarActor->SetTitleTextProperty( aScalarBarTitleProp );
@@ -327,74 +327,74 @@ SMESH_ActorDef::SMESH_ActorDef()
 
   vtkTextProperty* aScalarBarLabelProp = vtkTextProperty::New();
 
-  if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarLabelColor" ) ) {
+  /*if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarLabelColor" ) ) {
     QStringList aTColor = QStringList::split(  ":", QAD_CONFIG->getSetting( "SMESH:ScalarBarLabelColor" ), false );
     aScalarBarLabelProp->SetColor( ( aTColor.count() > 0 ? aTColor[0].toInt()/255. : 1.0 ),
-                                  ( aTColor.count() > 1 ? aTColor[1].toInt()/255. : 1.0 ), 
+                                  ( aTColor.count() > 1 ? aTColor[1].toInt()/255. : 1.0 ),
                                   ( aTColor.count() > 2 ? aTColor[2].toInt()/255. : 1.0 ) );
   }
-  else
+  else*/
     aScalarBarLabelProp->SetColor( 1.0, 1.0, 1.0 );
 
   aScalarBarLabelProp->SetFontFamilyToArial();
-  if( QAD_CONFIG->hasSetting( "SMESH:ScalarBarLabelFont" ) ){
+  /*if( QAD_CONFIG->hasSetting( "SMESH:ScalarBarLabelFont" ) ){
     if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarLabelFont" ) == "Arial" )
       aScalarBarLabelProp->SetFontFamilyToArial();
     else if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarLabelFont" ) == "Courier" )
       aScalarBarLabelProp->SetFontFamilyToCourier();
     else if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarLabelFont" ) == "Times" )
       aScalarBarLabelProp->SetFontFamilyToTimes();
-  }
+  }*/
 
-  if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarLabelBold" ) == "true" )
+  /*if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarLabelBold" ) == "true" )
     aScalarBarLabelProp->BoldOn();
-  else
+  else*/
     aScalarBarLabelProp->BoldOff();
 
-  if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarLabelItalic" ) == "true" )
+  /*if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarLabelItalic" ) == "true" )
     aScalarBarLabelProp->ItalicOn();
-  else
+  else*/
     aScalarBarLabelProp->ItalicOff();
 
-  if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarLabelShadow" ) == "true" )
+  /*if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarLabelShadow" ) == "true" )
     aScalarBarLabelProp->ShadowOn();
-  else
+  else*/
     aScalarBarLabelProp->ShadowOff();
 
   myScalarBarActor->SetLabelTextProperty( aScalarBarLabelProp );
   aScalarBarLabelProp->Delete();
 
-  if ( QAD_CONFIG->getSetting("SMESH:ScalarBarOrientation") == "Horizontal" )
+  /*if ( QAD_CONFIG->getSetting("SMESH:ScalarBarOrientation") == "Horizontal" )
     myScalarBarActor->SetOrientationToHorizontal();
-  else
+  else*/
     myScalarBarActor->SetOrientationToVertical();
 
-  float aXVal = QAD_CONFIG->getSetting("SMESH:ScalarBarOrientation") == "Horizontal" ? 0.20 : 0.01;
-  if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarXPosition" ) )
-    aXVal = QAD_CONFIG->getSetting( "SMESH:ScalarBarXPosition" ).toFloat();
-  float aYVal = QAD_CONFIG->getSetting("SMESH:ScalarBarOrientation") == "Horizontal" ? 0.01 : 0.1;
-  if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarYPosition" ) )
-    aYVal = QAD_CONFIG->getSetting( "SMESH:ScalarBarYPosition" ).toFloat();
+  float aXVal = 0.01; //QAD_CONFIG->getSetting("SMESH:ScalarBarOrientation") == "Horizontal" ? 0.20 : 0.01;
+  //if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarXPosition" ) )
+  //  aXVal = QAD_CONFIG->getSetting( "SMESH:ScalarBarXPosition" ).toFloat();
+  float aYVal = 0.1; //QAD_CONFIG->getSetting("SMESH:ScalarBarOrientation") == "Horizontal" ? 0.01 : 0.1;
+  //if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarYPosition" ) )
+  //  aYVal = QAD_CONFIG->getSetting( "SMESH:ScalarBarYPosition" ).toFloat();
   myScalarBarActor->SetPosition( aXVal, aYVal );
 
-  float aWVal = QAD_CONFIG->getSetting("SMESH:ScalarBarOrientation") == "Horizontal" ? 0.60 : 0.10;
-  if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarWidth" ) )
-    aWVal = QAD_CONFIG->getSetting( "SMESH:ScalarBarWidth" ).toFloat();
+  float aWVal = 0.1; //QAD_CONFIG->getSetting("SMESH:ScalarBarOrientation") == "Horizontal" ? 0.60 : 0.10;
+  //if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarWidth" ) )
+  //  aWVal = QAD_CONFIG->getSetting( "SMESH:ScalarBarWidth" ).toFloat();
   myScalarBarActor->SetWidth( aWVal );
 
-  float aHVal = QAD_CONFIG->getSetting("SMESH:ScalarBarOrientation") == "Horizontal" ? 0.12 : 0.80;
-  if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarHeight" ) )
-    aHVal = QAD_CONFIG->getSetting( "SMESH:ScalarBarHeight" ).toFloat();
+  float aHVal = 0.8; //QAD_CONFIG->getSetting("SMESH:ScalarBarOrientation") == "Horizontal" ? 0.12 : 0.80;
+  //if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarHeight" ) )
+  //  aHVal = QAD_CONFIG->getSetting( "SMESH:ScalarBarHeight" ).toFloat();
   myScalarBarActor->SetHeight( aHVal );
 
   int anIntVal = 5;
-  if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarNbOfLabels" ) )
-    anIntVal = QAD_CONFIG->getSetting("SMESH:ScalarBarNbOfLabels").toInt();
+  //if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarNbOfLabels" ) )
+  //  anIntVal = QAD_CONFIG->getSetting("SMESH:ScalarBarNbOfLabels").toInt();
   myScalarBarActor->SetNumberOfLabels(anIntVal == 0? 5: anIntVal);
 
   anIntVal = 64;
-  if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarNbOfColors" ) )
-    anIntVal = QAD_CONFIG->getSetting("SMESH:ScalarBarNbOfColors").toInt();
+  //if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarNbOfColors" ) )
+  //  anIntVal = QAD_CONFIG->getSetting("SMESH:ScalarBarNbOfColors").toInt();
   myScalarBarActor->SetMaximumNumberOfColors(anIntVal == 0? 64: anIntVal);
 
 
@@ -405,7 +405,7 @@ SMESH_ActorDef::SMESH_ActorDef()
   myPtsMaskPoints = vtkMaskPoints::New();
   myPtsMaskPoints->SetInput(myPointsNumDataSet);
   myPtsMaskPoints->SetOnRatio(1);
-    
+
   myPtsSelectVisiblePoints = vtkSelectVisiblePoints::New();
   myPtsSelectVisiblePoints->SetInput(myPtsMaskPoints->GetOutput());
   myPtsSelectVisiblePoints->SelectInvisibleOff();
@@ -623,7 +623,7 @@ SetControlMode(eControl theMode,
               bool theCheckEntityMode)
 {
   myControlMode = eNone;
-  theCheckEntityMode &= QAD_CONFIG->getSetting("SMESH:DispayEntity") == "true";
+  //theCheckEntityMode &= QAD_CONFIG->getSetting("SMESH:DispayEntity") == "true";
 
   my1DActor->GetMapper()->SetScalarVisibility(false);
   my2DActor->GetMapper()->SetScalarVisibility(false);
@@ -851,8 +851,9 @@ bool SMESH_ActorDef::Init(TVisualObjPtr theVisualObj,
   //SetIsShrunkable(theGrid->GetNumberOfCells() > 10);
   SetIsShrunkable(true);
   
-  QString aMode = QAD_CONFIG->getSetting("SMESH:DisplayMode");
+  //QString aMode = QAD_CONFIG->getSetting("SMESH:DisplayMode");
   SetRepresentation(-1);
+  /*
   if(aMode.compare("Wireframe") == 0){
     SetRepresentation(eEdge);
   }else if(aMode.compare("Shading") == 0){
@@ -860,11 +861,11 @@ bool SMESH_ActorDef::Init(TVisualObjPtr theVisualObj,
   }else if(aMode.compare("Nodes") == 0){
     SetRepresentation(ePoint);
   }
-
-  aMode = QAD_CONFIG->getSetting("SMESH:Shrink");
+  */
+  /*aMode = QAD_CONFIG->getSetting("SMESH:Shrink");
   if(aMode == "yes"){
     SetShrink();
-  }
+  }*/
 
   myTimeStamp->Modified();
   Modified();
@@ -882,7 +883,7 @@ vtkDataSet* SMESH_ActorDef::GetInput(){
 }
 
 
-void SMESH_ActorDef::SetTransform(SALOME_Transform* theTransform){
+void SMESH_ActorDef::SetTransform(VTKViewer_Transform* theTransform){
   myNodeActor->SetTransform(theTransform);
   myBaseActor->SetTransform(theTransform);
 
@@ -1101,10 +1102,10 @@ void SMESH_ActorDef::SetEntityMode(unsigned int theMode){
   myBaseActor->myGeomFilter->SetInside(myEntityMode != myEntityState);
 
   myEntityMode = theMode;
-  SALOME_ExtractUnstructuredGrid* aFilter = NULL;
+  VTKViewer_ExtractUnstructuredGrid* aFilter = NULL;
   aFilter = myBaseActor->GetExtractUnstructuredGrid();
   aFilter->ClearRegisteredCellsWithType();
-  aFilter->SetModeOfChanging(SALOME_ExtractUnstructuredGrid::eAdding);
+  aFilter->SetModeOfChanging(VTKViewer_ExtractUnstructuredGrid::eAdding);
   
   if(myEntityMode & eEdges){
     if (MYDEBUG) MESSAGE("EDGES");
@@ -1255,13 +1256,13 @@ void SMESH_ActorDef::UpdateHighlight(){
       myHighlitableActor->SetHighlited(anIsVisible);
       myHighlitableActor->SetVisibility(anIsVisible);
       myHighlitableActor->GetExtractUnstructuredGrid()->
-       SetModeOfExtraction(SALOME_ExtractUnstructuredGrid::eCells);
+       SetModeOfExtraction(VTKViewer_ExtractUnstructuredGrid::eCells);
       myHighlitableActor->SetRepresentation(SMESH_DeviceActor::eWireframe);
     }else if(myRepresentation == ePoint || GetPointRepresentation()){
       myHighlitableActor->SetHighlited(anIsVisible);
       myHighlitableActor->SetVisibility(anIsVisible);
       myHighlitableActor->GetExtractUnstructuredGrid()->
-       SetModeOfExtraction(SALOME_ExtractUnstructuredGrid::ePoints);
+       SetModeOfExtraction(VTKViewer_ExtractUnstructuredGrid::ePoints);
       myHighlitableActor->SetRepresentation(SMESH_DeviceActor::ePoint);
     }
   }