#include <SMESH_Actor.h>
#include <SMESH_ActorUtils.h>
+#include "SMESH_NodeLabelActor.h"
+#include "SMESH_CellLabelActor.h"
#include <SMESH_ObjectDef.h>
#include <SMDS_Mesh.hxx>
}
+ void UpdateFontProp( SMESHGUI* theModule )
+ {
+ if ( !theModule ) return;
+
+ SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( theModule->application() );
+ if ( !app ) return;
+
+ SUIT_ResourceMgr* mgr = SMESH::GetResourceMgr( theModule );
+ if ( !mgr ) return;
+ //
+ vtkFloatingPointType anRGBNd[3] = {1,1,1};
+ SMESH::GetColor( "SMESH", "numbering_node_color", anRGBNd[0], anRGBNd[1], anRGBNd[2], QColor( 255, 255, 255 ) );
+ int aSizeNd = mgr->integerValue( "SMESH", "numbering_node_size", 10 );
+ SMESH::LabelFont aFamilyNd = (SMESH::LabelFont)( mgr->integerValue( "SMESH", "numbering_node_font", 2 ) );
+ bool aBoldNd = mgr->booleanValue( "SMESH", "numbering_node_bold", true );
+ bool anItalicNd = mgr->booleanValue( "SMESH", "numbering_node_italic", false );
+ bool aShadowNd = mgr->booleanValue( "SMESH", "numbering_node_shadow", false );
+ //
+ vtkFloatingPointType anRGBEl[3] = {0,1,0};
+ SMESH::GetColor( "SMESH", "numbering_elem_color", anRGBEl[0], anRGBEl[1], anRGBEl[2], QColor( 0, 255, 0 ) );
+ int aSizeEl = mgr->integerValue( "SMESH", "numbering_elem_size", 12 );
+ SMESH::LabelFont aFamilyEl = (SMESH::LabelFont)( mgr->integerValue( "SMESH", "numbering_elem_font", 2 ) );
+ bool aBoldEl = mgr->booleanValue( "SMESH", "numbering_elem_bold", true );
+ bool anItalicEl = mgr->booleanValue( "SMESH", "numbering_elem_italic", false );
+ bool aShadowEl = mgr->booleanValue( "SMESH", "numbering_elem_shadow", false );
+ //
+ ViewManagerList vmList;
+ app->viewManagers( SVTK_Viewer::Type(), vmList );
+ foreach ( SUIT_ViewManager* vm, vmList ) {
+ QVector<SUIT_ViewWindow*> views = vm->getViews();
+ foreach ( SUIT_ViewWindow* vw, views ) {
+ // update VTK viewer properties
+ if ( SVTK_ViewWindow* aVtkView = GetVtkViewWindow( vw ) ) {
+ // update actors
+ vtkRenderer* aRenderer = aVtkView->getRenderer();
+ VTK::ActorCollectionCopy aCopy( aRenderer->GetActors() );
+ vtkActorCollection* aCollection = aCopy.GetActors();
+ aCollection->InitTraversal();
+ while ( vtkActor* anAct = aCollection->GetNextActor() ) {
+ if ( SMESH_NodeLabelActor* anActor = dynamic_cast< SMESH_NodeLabelActor* >( anAct ) ) {
+ anActor->SetFontProperties( aFamilyNd, aSizeNd, aBoldNd, anItalicNd, aShadowNd, anRGBNd[0], anRGBNd[1], anRGBNd[2] );
+ }
+ else if ( SMESH_CellLabelActor* anActor = dynamic_cast< SMESH_CellLabelActor* >( anAct ) ) {
+ anActor->SetFontProperties( aFamilyEl, aSizeEl, aBoldEl, anItalicEl, aShadowEl, anRGBEl[0], anRGBEl[1], anRGBEl[2] );
+ }
+ }
+ aVtkView->Repaint( false );
+ }
+ }
+ }
+ }
+
//----------------------------------------------------------------------------
SVTK_Selector*
GetSelector(SUIT_ViewWindow *theWindow)