#include "SMESH_ActorUtils.h"
#include "SMESH_DeviceActor.h"
#include "SMESH_ControlsDef.hxx"
-#include "SALOME_ExtractUnstructuredGrid.h"
+#include <VTKViewer_ExtractUnstructuredGrid.h>
+
+#include "SUIT_Session.h"
+#include "SUIT_ResourceMgr.h"
-#include "QAD_Config.h"
#include <qstringlist.h>
#include <vtkTimeStamp.h>
#include "utilities.h"
#ifdef _DEBUG_
-static int MYDEBUG = 0;
+static int MYDEBUG = 1;
#else
static int MYDEBUG = 0;
#endif
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
//-----------------------------------------
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);
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
//---------------------------------
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();
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);
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
vtkTextProperty* aScalarBarTitleProp = vtkTextProperty::New();
- 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() > 2 ? aTColor[2].toInt()/255. : 1.0 ) );
- }
- else
- aScalarBarTitleProp->SetColor( 1.0, 1.0, 1.0 );
+ SUIT_ResourceMgr* mgr = SUIT_Session::session()->resourceMgr();
+ if( !mgr )
+ return;
+
+ QColor aTColor = mgr->colorValue( "ScalarBarTitleColor", "SMESH", QColor( 255, 255, 255 ) );
+ aScalarBarTitleProp->SetColor( aTColor.red()/255., aTColor.green()/255., aTColor.blue()/255. );
aScalarBarTitleProp->SetFontFamilyToArial();
- if( QAD_CONFIG->hasSetting( "SMESH:ScalarBarTitleFont" ) ){
- if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarTitleFont" ) == "Arial" )
+
+ if( mgr->hasValue( "ScalarBarTitleFont", "SMESH" ) ){
+ QString str = mgr->stringValue( "ScalarBarTitleFont", "SMESH" );
+ if ( str == "Arial" )
aScalarBarTitleProp->SetFontFamilyToArial();
- else if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarTitleFont" ) == "Courier" )
+ else if ( str == "Courier" )
aScalarBarTitleProp->SetFontFamilyToCourier();
- else if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarTitleFont" ) == "Times" )
+ else if ( str == "Times" )
aScalarBarTitleProp->SetFontFamilyToTimes();
}
- if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarTitleBold" ) == "true" )
+ if ( mgr->stringValue( "ScalarBarTitleBold", "SMESH" ) == "true" )
aScalarBarTitleProp->BoldOn();
else
aScalarBarTitleProp->BoldOff();
- if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarTitleItalic" ) == "true" )
+ if ( mgr->stringValue( "ScalarBarTitleItalic", "SMESH" ) == "true" )
aScalarBarTitleProp->ItalicOn();
else
aScalarBarTitleProp->ItalicOff();
- if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarTitleShadow" ) == "true" )
+ if ( mgr->stringValue( "ScalarBarTitleShadow", "SMESH" ) == "true" )
aScalarBarTitleProp->ShadowOn();
else
aScalarBarTitleProp->ShadowOff();
vtkTextProperty* aScalarBarLabelProp = vtkTextProperty::New();
- 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() > 2 ? aTColor[2].toInt()/255. : 1.0 ) );
- }
- else
- aScalarBarLabelProp->SetColor( 1.0, 1.0, 1.0 );
+ aTColor = mgr->colorValue( "ScalarBarLabelColor", "SMESH", QColor( 255, 255, 255 ) );
+ aScalarBarLabelProp->SetColor( aTColor.red()/255., aTColor.green()/255., aTColor.blue()/255. );
aScalarBarLabelProp->SetFontFamilyToArial();
- if( QAD_CONFIG->hasSetting( "SMESH:ScalarBarLabelFont" ) ){
- if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarLabelFont" ) == "Arial" )
+ if( mgr->hasValue( "ScalarBarLabelFont", "SMESH" ) )
+ {
+ QString str = mgr->stringValue( "ScalarBarLabelFont", "SMESH" );
+ if( str == "Arial" )
aScalarBarLabelProp->SetFontFamilyToArial();
- else if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarLabelFont" ) == "Courier" )
+ else if( str == "Courier" )
aScalarBarLabelProp->SetFontFamilyToCourier();
- else if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarLabelFont" ) == "Times" )
+ else if( str == "Times" )
aScalarBarLabelProp->SetFontFamilyToTimes();
}
- if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarLabelBold" ) == "true" )
+ if( mgr->stringValue( "ScalarBarLabelBold", "SMESH" ) == "true" )
aScalarBarLabelProp->BoldOn();
else
aScalarBarLabelProp->BoldOff();
- if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarLabelItalic" ) == "true" )
+ if ( mgr->stringValue( "ScalarBarLabelItalic", "SMESH" ) == "true" )
aScalarBarLabelProp->ItalicOn();
else
aScalarBarLabelProp->ItalicOff();
- if ( QAD_CONFIG->getSetting( "SMESH:ScalarBarLabelShadow" ) == "true" )
+ if( mgr->stringValue( "ScalarBarLabelShadow", "SMESH" ) == "true" )
aScalarBarLabelProp->ShadowOn();
else
aScalarBarLabelProp->ShadowOff();
myScalarBarActor->SetLabelTextProperty( aScalarBarLabelProp );
aScalarBarLabelProp->Delete();
- if ( QAD_CONFIG->getSetting("SMESH:ScalarBarOrientation") == "Horizontal" )
+ if( mgr->stringValue( "ScalarBarOrientation", "SMESH" ) == "Horizontal" )
myScalarBarActor->SetOrientationToHorizontal();
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 = mgr->stringValue( "ScalarBarOrientation", "SMESH" ) == "Horizontal" ? 0.20 : 0.01;
+ if( mgr->hasValue( "ScalarBarXPosition", "SMESH" ) )
+ aXVal = mgr->doubleValue( "ScalarBarXPosition", "SMESH", aXVal );
+ float aYVal = mgr->stringValue( "ScalarBarOrientation", "SMESH" ) == "Horizontal" ? 0.01 : 0.1;
+ if( mgr->hasValue( "ScalarBarYPosition", "SMESH" ) )
+ aYVal = mgr->doubleValue( "ScalarBarYPosition", "SMESH", aYVal );
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 = mgr->stringValue( "ScalarBarOrientation", "SMESH" ) == "Horizontal" ? 0.60 : 0.10;
+ if( mgr->hasValue( "ScalarBarWidth", "SMESH" ) )
+ aWVal = mgr->doubleValue( "ScalarBarWidth", "SMESH", aWVal );
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 = mgr->stringValue( "ScalarBarOrientation", "SMESH" ) == "Horizontal" ? 0.12 : 0.80;
+ if( mgr->hasValue( "ScalarBarHeight", "SMESH" ) )
+ aHVal = mgr->doubleValue( "ScalarBarHeight", "SMESH", aHVal );
myScalarBarActor->SetHeight( aHVal );
int anIntVal = 5;
- if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarNbOfLabels" ) )
- anIntVal = QAD_CONFIG->getSetting("SMESH:ScalarBarNbOfLabels").toInt();
- myScalarBarActor->SetNumberOfLabels(anIntVal == 0? 5: anIntVal);
+ if( mgr->hasValue( "ScalarBarNbOfLabels", "SMESH" ) )
+ anIntVal = mgr->integerValue( "ScalarBarNbOfLabels", "SMESH", anIntVal );
+ myScalarBarActor->SetNumberOfLabels( anIntVal == 0 ? 5: anIntVal );
anIntVal = 64;
- if ( QAD_CONFIG->hasSetting( "SMESH:ScalarBarNbOfColors" ) )
- anIntVal = QAD_CONFIG->getSetting("SMESH:ScalarBarNbOfColors").toInt();
- myScalarBarActor->SetMaximumNumberOfColors(anIntVal == 0? 64: anIntVal);
+ if( mgr->hasValue( "ScalarBarNbOfColors", "SMESH" ) )
+ anIntVal = mgr->integerValue( "ScalarBarNbOfColors", "SMESH", anIntVal );
+ myScalarBarActor->SetMaximumNumberOfColors( anIntVal == 0 ? 64 : anIntVal );
//Definition of points numbering pipeline
myPtsMaskPoints = vtkMaskPoints::New();
myPtsMaskPoints->SetInput(myPointsNumDataSet);
myPtsMaskPoints->SetOnRatio(1);
-
+
myPtsSelectVisiblePoints = vtkSelectVisiblePoints::New();
myPtsSelectVisiblePoints->SetInput(myPtsMaskPoints->GetOutput());
myPtsSelectVisiblePoints->SelectInvisibleOff();
SetControlMode(eControl theMode,
bool theCheckEntityMode)
{
+ SUIT_ResourceMgr* mgr = SUIT_Session::session()->resourceMgr();
+ if( !mgr )
+ return;
+
myControlMode = eNone;
- theCheckEntityMode &= QAD_CONFIG->getSetting("SMESH:DispayEntity") == "true";
+ theCheckEntityMode &= mgr->stringValue( "DispayEntity", "SMESH" ) == "true";
my1DActor->GetMapper()->SetScalarVisibility(false);
my2DActor->GetMapper()->SetScalarVisibility(false);
//SetIsShrunkable(theGrid->GetNumberOfCells() > 10);
SetIsShrunkable(true);
-
- QString aMode = QAD_CONFIG->getSetting("SMESH:DisplayMode");
+
+ SUIT_ResourceMgr* mgr = SUIT_Session::session()->resourceMgr();
+ if( !mgr )
+ return false;
+
+ QString aMode = mgr->stringValue( "DisplayMode", "SMESH" );
SetRepresentation(-1);
+
if(aMode.compare("Wireframe") == 0){
SetRepresentation(eEdge);
}else if(aMode.compare("Shading") == 0){
}else if(aMode.compare("Nodes") == 0){
SetRepresentation(ePoint);
}
-
- aMode = QAD_CONFIG->getSetting("SMESH:Shrink");
+
+ aMode = mgr->stringValue( "Shrink", "SMESH" );
if(aMode == "yes"){
SetShrink();
}
}
-void SMESH_ActorDef::SetTransform(SALOME_Transform* theTransform){
+void SMESH_ActorDef::SetTransform(VTKViewer_Transform* theTransform){
myNodeActor->SetTransform(theTransform);
myBaseActor->SetTransform(theTransform);
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");
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);
}
}