#include <SUIT_Session.h>
#include <SUIT_Study.h>
-#include "SalomeApp_SelectionMgr.h"
+#include "LightApp_SelectionMgr.h"
#include "SVTK_Selector.h"
#include "SVTK_ViewModel.h"
#include "SMESH_ObjectDef.h"
#include <SalomeApp_Application.h>
-#include <SalomeApp_SelectionMgr.h>
+#include <LightApp_SelectionMgr.h>
#include <SalomeApp_Study.h>
#include <SALOMEDSClient_Study.hxx>
if(!aMesh->_is_nil()){
aVisualObj.reset(new SMESH_MeshObj(aMesh));
aVisualObj->Update();
- TVisualObjCont::value_type aValue(aKey,aVisualObj);
+ TVisualObjCont::value_type aValue(aKey,aVisualObj);
VISUAL_OBJ_CONT.insert(aValue);
return aVisualObj;
}
SVTK_ViewWindow*
GetViewWindow(const SalomeApp_Module* theModule)
{
- if(SalomeApp_Application* anApp = theModule->getApp()){
- if(SUIT_ViewManager* aViewManager = anApp->activeViewManager()){
- if(aViewManager->getType() == SVTK_Viewer::Type()){
- if(SUIT_ViewWindow* aViewWindow = aViewManager->getActiveView()){
- return dynamic_cast<SVTK_ViewWindow*>(aViewWindow);
- }
- }
- }
- }
+ if (SalomeApp_Application* anApp = theModule->getApp())
+ return dynamic_cast<SVTK_ViewWindow*>(anApp->desktop()->activeWindow());
return NULL;
}
void RepaintCurrentView(){
if(SVTK_ViewWindow* wnd = GetCurrentVtkView() )
- wnd->getRenderer()->Render();
- //wnd->Repaint();
+ {
+ wnd->getRenderer()->Render();
+ wnd->Repaint(false);
+ }
}
void UpdateView(SUIT_ViewWindow *theWnd, EDisplaing theAction, const char* theEntry)
void UpdateView(){
if(SVTK_ViewWindow* aWnd = SMESH::GetCurrentVtkView()){
- SalomeApp_SelectionMgr* mgr = SMESHGUI::selectionMgr();
+ LightApp_SelectionMgr* mgr = SMESHGUI::selectionMgr();
SALOME_ListIO selected; mgr->selectedObjects( selected );
if( selected.Extent() == 0){
_PTR(Study) aStudy = GetActiveStudyDocument();
CORBA::Long anId = aStudy->StudyId();
TVisualObjPtr aVisualObj = SMESH::GetVisualObj(anId,theIO->getEntry());
- aVisualObj->Update();
+ if( aVisualObj )
+ aVisualObj->Update();
if ( theDisplay )
UpdateView(SMESH::eDisplay,theIO->getEntry());
}
- void UpdateSelectionProp() {
- SUIT_Study* aStudy = GetActiveStudy();
- SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( aStudy->application() );
+ void UpdateSelectionProp( SMESHGUI* theModule ) {
+ if( !theModule )
+ return;
+
+ SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( theModule->application() );
+ if( !app )
+ {
+ MESSAGE( "UpdateSelectionProp: Application is null" );
+ return;
+ }
+
SUIT_ViewManager* vm = app->activeViewManager();
+ if( !vm )
+ {
+ MESSAGE( "UpdateSelectionProp: View manager is null" );
+ return;
+ }
+
QPtrVector<SUIT_ViewWindow> views = vm->getViews();
- SUIT_ResourceMgr* mgr = SMESHGUI::resourceMgr();
+ SUIT_ResourceMgr* mgr = SMESH::GetResourceMgr( theModule );
+ if( !mgr )
+ {
+ MESSAGE( "UpdateSelectionProp: Resource manager is null" );
+ return;
+ }
- QColor aHiColor = mgr->colorValue( "SMESH", "SettingsSelectColor", Qt::white ),
- aSelColor = mgr->colorValue( "SMESH", "SettingsItemSelectColor", Qt::yellow ),
- aPreColor = mgr->colorValue( "SMESH", "SettingsPreSelectColor", Qt::cyan );
+ QColor aHiColor = mgr->colorValue( "SMESH", "selection_object_color", Qt::white ),
+ aSelColor = mgr->colorValue( "SMESH", "selection_element_color", Qt::yellow ),
+ aPreColor = mgr->colorValue( "SMESH", "highlight_color", Qt::cyan );
- int SW = mgr->integerValue( "SMESH", "SettingsItemSelectWidth", 5 ),
- PW = mgr->integerValue( "SMESH", "SettingsPreSelectWidth", 5 );
+ int SW = mgr->integerValue( "SMESH", "selection_width", 5 ),
+ PW = mgr->integerValue( "SMESH", "highlight_width", 5 );
- double SP1 = mgr->doubleValue( "SMESH", "SettingsNodeSelectTol", 0.025 ),
- SP2 = mgr->doubleValue( "SMESH", "SettingsElementsSelectTol", 0.001 );
+ double SP1 = mgr->doubleValue( "SMESH", "selection_precision_node", 0.025 ),
+ SP2 = mgr->doubleValue( "SMESH", "selection_precision_element", 0.001 );
for ( int i=0, n=views.count(); i<n; i++ ) {
SVTK_ViewWindow* aVtkView = GetVtkViewWindow( views[i] );
void SetFilter(const Handle(VTKViewer_Filter)& theFilter,
SVTK_InteractorStyle* theStyle)
{
- theStyle->SetFilter(theFilter);
+ if (theStyle)
+ theStyle->SetFilter(theFilter);
}
Handle(VTKViewer_Filter) GetFilter(int theId, SVTK_InteractorStyle* theStyle)
//----------------------------------------------------------------------------
- int GetNameOfSelectedNodes(SVTK_Selector* theSelector,
- const Handle(SALOME_InteractiveObject)& theIO,
+ int GetNameOfSelectedNodes(SVTK_Selector* theSelector,
+ const Handle(SALOME_InteractiveObject)& theIO,
QString& theName)
{
theName = "";
return aMapIndex.Extent();
}
- int GetNameOfSelectedElements(SVTK_Selector* theSelector,
- const Handle(SALOME_InteractiveObject)& theIO,
+ int GetNameOfSelectedElements(SVTK_Selector* theSelector,
+ const Handle(SALOME_InteractiveObject)& theIO,
QString& theName)
{
theName = "";
}
- int GetEdgeNodes(SVTK_Selector* theSelector,
+ int GetEdgeNodes(SVTK_Selector* theSelector,
const TVisualObjPtr& theVisualObject,
- int& theId1,
+ int& theId1,
int& theId2)
{
- const SALOME_ListIO& selected = theSelector->StoredIObjects();
+ const SALOME_ListIO& selected = theSelector->StoredIObjects();
if ( selected.Extent() != 1 )
return -1;
}
//----------------------------------------------------------------------------
- int GetNameOfSelectedNodes(SalomeApp_SelectionMgr *theMgr,
+ int GetNameOfSelectedNodes(LightApp_SelectionMgr *theMgr,
const Handle(SALOME_InteractiveObject)& theIO,
QString& theName)
{
return -1;
}
- int GetNameOfSelectedNodes(SalomeApp_SelectionMgr *theMgr, QString& theName){
+ int GetNameOfSelectedNodes(LightApp_SelectionMgr *theMgr, QString& theName){
theName = "";
SALOME_ListIO selected; theMgr->selectedObjects( selected );
if(selected.Extent() == 1){
}
return -1;
}
-
- int GetNameOfSelectedElements(SalomeApp_SelectionMgr *theMgr,
+
+ int GetNameOfSelectedElements(LightApp_SelectionMgr *theMgr,
const Handle(SALOME_InteractiveObject)& theIO,
QString& theName)
{
}
- int GetNameOfSelectedElements(SalomeApp_SelectionMgr *theMgr, QString& theName)
+ int GetNameOfSelectedElements(LightApp_SelectionMgr *theMgr, QString& theName)
{
theName = "";
SALOME_ListIO selected; theMgr->selectedObjects( selected );
return -1;
}
- int GetSelected(SalomeApp_SelectionMgr* theMgr,
+ int GetSelected(LightApp_SelectionMgr* theMgr,
TColStd_IndexedMapOfInteger& theMap,
const bool theIsElement)
{
}
- int GetEdgeNodes( SalomeApp_SelectionMgr* theMgr, int& theId1, int& theId2 )
+ int GetEdgeNodes( LightApp_SelectionMgr* theMgr, int& theId1, int& theId2 )
{
SALOME_ListIO selected; theMgr->selectedObjects( selected );
vtkRenderer *aRenderer = aWnd->getRenderer();
vtkActorCollection *aCollection = aRenderer->GetActors();
aCollection->InitTraversal();
-
+
while ( vtkActor *anAct = aCollection->GetNextActor())
{
if ( SMESH_Actor *anActor = dynamic_cast<SMESH_Actor*>( anAct ) )