#include "SalomeApp_Application.h"
#include "SalomeApp_DataModel.h"
#include "SalomeApp_Study.h"
-#include "SalomeApp_SelectionMgr.h"
-#include "SalomeApp_Selection.h"
-#include "SalomeApp_Preferences.h"
+#include "LightApp_SelectionMgr.h"
+#include "LightApp_Selection.h"
+#include "LightApp_Preferences.h"
#include "QtxAction.h"
#include "VisuGUI_ClippingDlg.h"
#include "VisuGUI_Plot3DDlg.h"
#include "VisuGUI_OffsetDlg.h"
+#include "VisuGUI_Displayer.h"
#include "VISU_ScalarMap_i.hh"
#include "VisuGUI_ScalarBarDlg.h"
//////////////////////////////////////////////////
VisuGUI::VisuGUI():
- SalomeApp_Module( "VISU" )
+ SalomeApp_Module( "VISU" ),
+ myDisplayer( 0 )
{
}
_PTR(Study) aCStudy = GetCStudy(GetAppStudy(this));
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
SALOME_ListIO aListIO;
aSelectionMgr->selectedObjects(aListIO);
return;
SALOMEDS::Study_var aStudy = GetDSStudy(aCStudy);
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
SALOME_ListIO aListIO;
aSelectionMgr->selectedObjects(aListIO);
GetViewWindow( this, /*create=*/true );
// Get selected SObject
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
SALOME_ListIO aListIO;
aSelectionMgr->selectedObjects(aListIO);
SALOME_ListIteratorOfListIO anIter (aListIO);
QApplication::setOverrideCursor(Qt::waitCursor);
SALOME_ListIO aList;
- SalomeApp_SelectionMgr* mgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* mgr = GetSelectionMgr(this);
mgr->selectedObjects(aList);
Handle(SALOME_InteractiveObject) anIO;
vw->unHighlightAll();
SALOME_ListIO aList;
- SalomeApp_SelectionMgr* mgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* mgr = GetSelectionMgr(this);
mgr->selectedObjects(aList);
Handle(SALOME_InteractiveObject) anIO;
return;
SALOME_ListIO aList;
- SalomeApp_SelectionMgr* mgr = GetSelectionMgr(this);
- mgr->selectedObjects(aList);
+ LightApp_SelectionMgr* mgr = GetSelectionMgr(this);
+ mgr->selectedObjects(aList,QString::null,false);
int i = 0, nbSelected = aList.Extent();
if (nbSelected < 1) return;
VisuGUI::
OnCurveProperties()
{
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
SALOME_ListIO aListIO;
aSelectionMgr->selectedObjects(aListIO);
if (aListIO.Extent() != 1) return;
if (aViewMgr->getType() != SVTK_Viewer::Type())
return;
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
SALOME_ListIO aListIO;
aSelectionMgr->selectedObjects(aListIO);
if (aListIO.Extent() > 1)
if (aViewMgr->getType() != SVTK_Viewer::Type())
return;
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
SALOME_ListIO aListIO;
aSelectionMgr->selectedObjects(aListIO);
if (aListIO.Extent() != 1)
// new VisuGUI_TimeAnimationDlg(GetDesktop(this), aCStudy);
new VisuGUI_TimeAnimationDlg (this, aCStudy);
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
SALOME_ListIO aListIO;
aSelectionMgr->selectedObjects(aListIO);
VisuGUI::
OnShowAnimation()
{
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
SALOME_ListIO aListIO;
aSelectionMgr->selectedObjects(aListIO);
VisuGUI::
OnMergeScalarBars()
{
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
SALOME_ListIO aListIO;
aSelectionMgr->selectedObjects(aListIO);
VisuGUI::
OnFreeScalarBars()
{
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
SALOME_ListIO aListIO;
aSelectionMgr->selectedObjects(aListIO);
_PTR(Study) aCStudy = GetCStudy(GetAppStudy(this));
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
SALOME_ListIO aListIO;
aSelectionMgr->selectedObjects(aListIO);
OB_Browser* ob = getApp()->objectBrowser();
bool isOBClient = (ob && theClient == ob->popupClientType());
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
SALOME_ListIO aListIO;
aSelectionMgr->selectedObjects(aListIO);
return true;
}
-SalomeApp_Selection*
+LightApp_Selection*
VisuGUI::
createSelection() const
{
int sbarTab = addPreference( tr( "VISU_SCALAR_BAR" ) );
int fontGr = addPreference( tr( "VISU_FONT" ), sbarTab );
- int tfont = addPreference( tr( "VISU_TITLE" ), fontGr, SalomeApp_Preferences::Font, "VISU", "scalar_bar_title_font" );
- addPreference( tr( "VISU_TITLE" ), fontGr, SalomeApp_Preferences::Color, "VISU", "scalar_bar_title_color" );
- int lfont = addPreference( tr( "VISU_LABELS" ), fontGr, SalomeApp_Preferences::Font, "VISU", "scalar_bar_label_font" );
- addPreference( tr( "VISU_LABELS" ), fontGr, SalomeApp_Preferences::Color, "VISU", "scalar_bar_label_color" );
+ int tfont = addPreference( tr( "VISU_TITLE" ), fontGr, LightApp_Preferences::Font, "VISU", "scalar_bar_title_font" );
+ addPreference( tr( "VISU_TITLE" ), fontGr, LightApp_Preferences::Color, "VISU", "scalar_bar_title_color" );
+ int lfont = addPreference( tr( "VISU_LABELS" ), fontGr, LightApp_Preferences::Font, "VISU", "scalar_bar_label_font" );
+ addPreference( tr( "VISU_LABELS" ), fontGr, LightApp_Preferences::Color, "VISU", "scalar_bar_label_color" );
QStringList fam;
fam.append( tr( "VISU_FONT_ARIAL" ) );
int colorsLabelsGr = addPreference( tr( "VISU_COLORS_AND_LABELS" ), sbarTab );
- int numcol = addPreference( tr( "VISU_NB_COLORS" ), colorsLabelsGr, SalomeApp_Preferences::IntSpin, "VISU", "scalar_bar_num_colors" );
+ int numcol = addPreference( tr( "VISU_NB_COLORS" ), colorsLabelsGr, LightApp_Preferences::IntSpin, "VISU", "scalar_bar_num_colors" );
setPreferenceProperty( numcol, "min", 2 );
setPreferenceProperty( numcol, "max", 256 );
- int numlab = addPreference( tr( "VISU_NB_LABELS" ), colorsLabelsGr, SalomeApp_Preferences::IntSpin, "VISU", "scalar_bar_num_labels" );
+ int numlab = addPreference( tr( "VISU_NB_LABELS" ), colorsLabelsGr, LightApp_Preferences::IntSpin, "VISU", "scalar_bar_num_labels" );
setPreferenceProperty( numlab, "min", 2 );
setPreferenceProperty( numlab, "max", 65 );
int orientGr = addPreference( tr( "VISU_ORIENTATION" ), sbarTab );
- int orient = addPreference( tr( "VISU_ORIENTATION" ), orientGr, SalomeApp_Preferences::Selector, "VISU", "scalar_bar_orientation" );
+ int orient = addPreference( tr( "VISU_ORIENTATION" ), orientGr, LightApp_Preferences::Selector, "VISU", "scalar_bar_orientation" );
QStringList orients;
orients.append( tr( "VISU_VERTICAL" ) );
orients.append( tr( "VISU_HORIZONTAL" ) );
setPreferenceProperty( orient, "indexes", indices );
int posVSizeGr = addPreference( tr( "VISU_ORIGIN_AND_SIZE" ) + " " + tr( "VISU_VERTICAL" ), sbarTab );
- int xv = addPreference( tr( "VISU_X" ), posVSizeGr, SalomeApp_Preferences::DblSpin, "VISU", "scalar_bar_vertical_x" );
- int yv = addPreference( tr( "VISU_Y" ), posVSizeGr, SalomeApp_Preferences::DblSpin, "VISU", "scalar_bar_vertical_y" );
- int wv = addPreference( tr( "VISU_WIDTH" ), posVSizeGr, SalomeApp_Preferences::DblSpin, "VISU", "scalar_bar_vertical_width" );
- int hv = addPreference( tr( "VISU_HEIGHT" ), posVSizeGr, SalomeApp_Preferences::DblSpin, "VISU", "scalar_bar_vertical_height" );
+ int xv = addPreference( tr( "VISU_X" ), posVSizeGr, LightApp_Preferences::DblSpin, "VISU", "scalar_bar_vertical_x" );
+ int yv = addPreference( tr( "VISU_Y" ), posVSizeGr, LightApp_Preferences::DblSpin, "VISU", "scalar_bar_vertical_y" );
+ int wv = addPreference( tr( "VISU_WIDTH" ), posVSizeGr, LightApp_Preferences::DblSpin, "VISU", "scalar_bar_vertical_width" );
+ int hv = addPreference( tr( "VISU_HEIGHT" ), posVSizeGr, LightApp_Preferences::DblSpin, "VISU", "scalar_bar_vertical_height" );
setPreferenceProperty( xv, "step", 0.1 );
setPreferenceProperty( yv, "step", 0.1 );
setPreferenceProperty( wv, "step", 0.1 );
setPreferenceProperty( hv, "max", 1.0 );
int posHSizeGr = addPreference( tr( "VISU_ORIGIN_AND_SIZE" ) + " " + tr( "VISU_HORIZONTAL" ), sbarTab );
- int xh = addPreference( tr( "VISU_X" ), posHSizeGr, SalomeApp_Preferences::DblSpin, "VISU", "scalar_bar_horizontal_x" );
- int yh = addPreference( tr( "VISU_Y" ), posHSizeGr, SalomeApp_Preferences::DblSpin, "VISU", "scalar_bar_horizontal_y" );
- int wh = addPreference( tr( "VISU_WIDTH" ), posHSizeGr, SalomeApp_Preferences::DblSpin, "VISU", "scalar_bar_horizontal_width" );
- int hh = addPreference( tr( "VISU_HEIGHT" ), posHSizeGr, SalomeApp_Preferences::DblSpin, "VISU", "scalar_bar_horizontal_height" );
+ int xh = addPreference( tr( "VISU_X" ), posHSizeGr, LightApp_Preferences::DblSpin, "VISU", "scalar_bar_horizontal_x" );
+ int yh = addPreference( tr( "VISU_Y" ), posHSizeGr, LightApp_Preferences::DblSpin, "VISU", "scalar_bar_horizontal_y" );
+ int wh = addPreference( tr( "VISU_WIDTH" ), posHSizeGr, LightApp_Preferences::DblSpin, "VISU", "scalar_bar_horizontal_width" );
+ int hh = addPreference( tr( "VISU_HEIGHT" ), posHSizeGr, LightApp_Preferences::DblSpin, "VISU", "scalar_bar_horizontal_height" );
setPreferenceProperty( xh, "step", 0.1 );
setPreferenceProperty( yh, "step", 0.1 );
setPreferenceProperty( wh, "step", 0.1 );
int rangeGr = addPreference( tr( "VISU_SCALAR_RANGE" ), srangeTab );
setPreferenceProperty( rangeGr, "columns", 1 );
- int mode = addPreference( tr( "VISU_SCALAR_MODE" ), rangeGr, SalomeApp_Preferences::Selector, "VISU", "scalar_bar_mode" );
+ int mode = addPreference( tr( "VISU_SCALAR_MODE" ), rangeGr, LightApp_Preferences::Selector, "VISU", "scalar_bar_mode" );
QStringList modes;
modes.append( tr( "VISU_MODULUS" ) );
modes.append( tr( "VISU_COMPONENT" ) + tr("1") );
setPreferenceProperty( mode, "strings", modes );
setPreferenceProperty( mode, "indexes", indices );
- addPreference( tr( "VISU_LOGARITHMIC_SCALING" ), rangeGr, SalomeApp_Preferences::Bool, "VISU", "scalar_bar_logarithmic" );
+ addPreference( tr( "VISU_LOGARITHMIC_SCALING" ), rangeGr, LightApp_Preferences::Bool, "VISU", "scalar_bar_logarithmic" );
- int rangetype = addPreference( tr( "VISU_RANGE_TO_USE" ), rangeGr, SalomeApp_Preferences::Selector, "VISU", "scalar_range_type" );
+ int rangetype = addPreference( tr( "VISU_RANGE_TO_USE" ), rangeGr, LightApp_Preferences::Selector, "VISU", "scalar_range_type" );
QStringList types;
types.append( tr( "VISU_FIELD_RANGE" ) );
types.append( tr( "VISU_IMPOSED_RANGE" ) );
int imposedGr = addPreference( tr( "VISU_MINMAX_IMPOSED_RANGE" ), srangeTab );
- int min = addPreference( tr( "VISU_MIN" ), imposedGr, SalomeApp_Preferences::DblSpin, "VISU", "scalar_range_min" );
- int max = addPreference( tr( "VISU_MAX" ), imposedGr, SalomeApp_Preferences::DblSpin, "VISU", "scalar_range_max" );
+ int min = addPreference( tr( "VISU_MIN" ), imposedGr, LightApp_Preferences::DblSpin, "VISU", "scalar_range_min" );
+ int max = addPreference( tr( "VISU_MAX" ), imposedGr, LightApp_Preferences::DblSpin, "VISU", "scalar_range_max" );
setPreferenceProperty( min, "step", 0.1 );
setPreferenceProperty( max, "step", 0.1 );
int sweepGr = addPreference( tr( "VISU_SWEEPING_PREF" ), srangeTab );
setPreferenceProperty( sweepGr, "columns", 1 );
- int timestep = addPreference( tr( "VISU_TIME_STEP" ), sweepGr, SalomeApp_Preferences::DblSpin, "VISU", "sweeping_time_step" );
- int nbcycles = addPreference( tr( "VISU_NB_CYCLES" ), sweepGr, SalomeApp_Preferences::IntSpin, "VISU", "sweeping_number_cycles" );
- int nbsteps = addPreference( tr( "VISU_NB_STEPS" ), sweepGr, SalomeApp_Preferences::IntSpin, "VISU", "sweeping_number_steps" );
+ int timestep = addPreference( tr( "VISU_TIME_STEP" ), sweepGr, LightApp_Preferences::DblSpin, "VISU", "sweeping_time_step" );
+ int nbcycles = addPreference( tr( "VISU_NB_CYCLES" ), sweepGr, LightApp_Preferences::IntSpin, "VISU", "sweeping_number_cycles" );
+ int nbsteps = addPreference( tr( "VISU_NB_STEPS" ), sweepGr, LightApp_Preferences::IntSpin, "VISU", "sweeping_number_steps" );
setPreferenceProperty( timestep, "min", 0.1 );
setPreferenceProperty( timestep, "step", 0.1 );
setPreferenceProperty( timestep, "max", 1000 );
setPreferenceProperty( nbsteps, "max", 200 );
int importGr = addPreference( tr( "MED files import" ), srangeTab );
- addPreference( tr( "Full MED loading" ), importGr, SalomeApp_Preferences::Bool, "VISU", "full_med_loading" );
+ addPreference( tr( "Full MED loading" ), importGr, LightApp_Preferences::Bool, "VISU", "full_med_loading" );
}
void VisuGUI::preferencesChanged( const QString&, const QString& )
return getApp()->getViewManager(theType,theIsCreate);
}
-SalomeApp_Displayer* VisuGUI::displayer()
+LightApp_Displayer* VisuGUI::displayer()
{
- return 0;
+ if( !myDisplayer )
+ myDisplayer = new VisuGUI_Displayer( dynamic_cast<SalomeApp_Study*>( getApp()->activeStudy() ) );
+
+ return myDisplayer;
}
VisuGUI();
virtual ~VisuGUI();
- virtual SalomeApp_Displayer* displayer();
+ virtual LightApp_Displayer* displayer();
virtual void initialize( CAM_Application* );
virtual void windows( QMap<int, int>& ) const;
virtual void viewManagers( QStringList& ) const;
void OnMakePoints();
void OnMakeShrink();
+ void OnSetShadingOn();
+ void OnSetShadingOff();
+
void OnChangeColor();
void OnChangeWireframeColor();
void OnChangeOpacity();
void OnArrangeActors();
protected:
- virtual SalomeApp_Selection* createSelection() const;
+ virtual LightApp_Selection* createSelection() const;
private:
void createActions();
void createPopupMenus();
private:
- SalomeApp_Displayer* myDisplayer;
+ LightApp_Displayer* myDisplayer;
};
#endif
#include "VisuGUI_Module.h"
+#include "QtxPopupMgr.h"
+
#include "SUIT_Study.h"
#include "SUIT_Desktop.h"
#include "SUIT_ResourceMgr.h"
#include "CAM_Module.h"
#include "SalomeApp_Application.h"
-#include "SalomeApp_SelectionMgr.h"
-#include "SalomeApp_VTKSelector.h"
+#include "LightApp_SelectionMgr.h"
+#include "LightApp_VTKSelector.h"
#include "SalomeApp_Preferences.h"
#include "VVTK_ViewManager.h"
class Viewer
{
VVTK_ViewManager* myViewManager;
- SalomeApp_VTKSelector* mySelector;
+ LightApp_VTKSelector* mySelector;
public:
Viewer(VisuGUI_Module* theModule, TViewerMap& theViewerMap)
SalomeApp_Application* anApp = theModule->getApp();
myViewManager = new VVTK_ViewManager( anApp->activeStudy(), anApp->desktop() );
VVTK_Viewer* aViewer = (VVTK_Viewer*)myViewManager->getViewModel();
- mySelector = new SalomeApp_VTKSelector( aViewer, anApp->selectionMgr() );
+ mySelector = new LightApp_VTKSelector( aViewer, anApp->selectionMgr() );
anApp->addViewManager( myViewManager );
theViewerMap.insert(TViewerMap::value_type(myViewManager,PViewer(this)));
QApplication::setOverrideCursor(Qt::waitCursor);
- if(SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this)){
+ if(LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this)){
SALOME_ListIO aList;
aSelectionMgr->selectedObjects(aList);
for(SALOME_ListIteratorOfListIO it( aList ); it.More(); it.Next()){
VisuGUI_Module
::OnDisplayOnlyPrs()
{
- if(SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this)){
+ if(LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this)){
SALOME_ListIO aList;
aSelectionMgr->selectedObjects(aList);
for(SALOME_ListIteratorOfListIO it( aList ); it.More(); it.Next()){
QApplication::setOverrideCursor(Qt::waitCursor);
SALOME_ListIO aList;
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
aSelectionMgr->selectedObjects(aList);
for(SALOME_ListIteratorOfListIO it( aList ); it.More(); it.Next()){
if (CheckLock(aCStudy))
return;
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
SALOME_ListIO aListIO;
aSelectionMgr->selectedObjects(aListIO);
VisuGUI_Module::
OnRestoreViewParams()
{
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this);
SALOME_ListIO aListIO;
aSelectionMgr->selectedObjects(aListIO);
#include "VisuGUI_PopupTools.h"
#include "VisuGUI_ViewTools.h"
#include "VisuGUI_Tools.h"
+#include "SalomeApp_Study.h"
+#include "LightApp_Study.h"
+#include "VISU_Actor.h"
+#include "VISU_ScalarMapAct.h"
#include "VISU_Result_i.hh"
#include "SalomeApp_Study.h"
QtxValue VisuGUI_Selection::param( const int ind, const QString& p ) const
{
- QtxValue val( SalomeApp_Selection::param( ind, p ) );
+ QtxValue val( LightApp_Selection::param( ind, p ) );
if ( !val.isValid() ) {
if ( p == "type" ) val = QtxValue( type( ind ) );
else if ( p == "nbComponents" ) val = QtxValue( nbComponents( ind ) );
else if ( p == "isVisible" ) val = QtxValue( isVisible( ind ) );
else if ( p == "isShrunk" ) val = QtxValue( isShrunk( ind ) );
else if ( p == "hasActor" ) val = QtxValue( hasActor( ind ) );
+ else if ( p == "isShading" ) val = QtxValue( isShading( ind ) );
+ else if ( p == "isScalarMapAct" ) val = QtxValue( isScalarMapAct( ind ) );
}
return val;
{
QString aResStr;
VISU::Storable::TRestoringMap aMap;
- CORBA::Object_var anObject = GetSelectedObj( study(), entry( ind ), &aMap );
+ SalomeApp_Study* aStudy = GetStudy();
+ if ( !aStudy )
+ return aResStr;
+ CORBA::Object_var anObject = GetSelectedObj( aStudy, entry( ind ), &aMap );
VISU::Base_var aVisuObj = VISU::Base::_narrow( anObject );
if ( !CORBA::is_nil( aVisuObj ) ){
{
QString aResStr;
VISU::Storable::TRestoringMap aMap;
- GetSelectedObj( study(), entry( ind ), &aMap );
+ SalomeApp_Study* aStudy = GetStudy();
+ if ( !aStudy )
+ return aResStr;
+ GetSelectedObj( aStudy, entry( ind ), &aMap );
bool isExist;
const QString& aVal = VISU::Storable::FindValue(aMap,"myNumComponent",&isExist);
if ( isExist )
{
bool isExist;
VISU::Storable::TRestoringMap aMap;
- GetSelectedObj( study(), entry( ind ), &aMap );
+ GetSelectedObj( GetStudy(), entry( ind ), &aMap );
const QString& aVal = VISU::Storable::FindValue(aMap,"myEntityId",&isExist);
if ( isExist ) {
using namespace VISU;
QString VisuGUI_Selection::medSource( const int ind ) const
{
- _PTR(Study) aStudyDS = study()->studyDS();
+ _PTR(Study) aStudyDS = GetStudy()->studyDS();
if(_PTR(SObject) aSObject = aStudyDS->FindObjectID(entry(ind))){
VISU::Result_var aRes;
if(VISU::Result_i* aResult = CheckResult(myModule,aSObject,aRes)){
{
QString aResStr;
VISU::Storable::TRestoringMap aMap;
- GetSelectedObj( study(), entry( ind ), &aMap );
+ SalomeApp_Study* aStudy = GetStudy();
+ if ( !aStudy )
+ return aResStr;
+ GetSelectedObj( aStudy, entry( ind ), &aMap );
bool isExist;
const QString& aVal = VISU::Storable::FindValue(aMap,"myNbTimeStamps",&isExist);
if ( isExist )
return aResStr;
}
+SalomeApp_Study* VisuGUI_Selection::GetStudy() const
+
+{
+ LightApp_Study* aLightStudy = const_cast<LightApp_Study*>( study() );
+ return dynamic_cast<SalomeApp_Study*>( aLightStudy );
+}
+
int VisuGUI_Selection::nbChild( const int ind, const bool named ) const
{
int cnt = 0;
- _PTR(Study) aStudy = GetCStudy( study() );
+ SalomeApp_Study* aSStudy = GetStudy();
+ if ( !aSStudy )
+ return cnt;
+ _PTR(Study) aStudy = GetCStudy( aSStudy );
if ( aStudy ){
_PTR(SObject) SO = aStudy->FindObjectID( entry( ind ).latin1() );
if ( SO ){
{
return representation( ind ).isEmpty() ? "0" : "1";
}
+
+QString VisuGUI_Selection::isShading( const int ind ) const
+{
+ QString aResStr;
+
+ if ( SVTK_ViewWindow* aView = GetViewWindow( myModule ) )
+ if ( VISU_Actor* anVISUActor = FindActor( aView, entry( ind ).latin1() ) )
+ if ( VISU_ScalarMapAct* anActor = dynamic_cast<VISU_ScalarMapAct*>(anVISUActor) )
+ aResStr = anActor->IsShading() ? "1" : "0";
+
+ return aResStr;
+}
+
+QString VisuGUI_Selection::isScalarMapAct( const int ind ) const
+{
+ QString aResStr;
+
+ if ( SVTK_ViewWindow* aView = GetViewWindow( myModule ) )
+ if ( VISU_Actor* anVISUActor = FindActor( aView, entry( ind ).latin1() ) )
+ {
+ VISU_ScalarMapAct* anActor = dynamic_cast<VISU_ScalarMapAct*>(anVISUActor);
+ aResStr = anActor ? "1" : "0";
+ }
+
+ return aResStr;
+}
#ifndef VisuGUI_PopupTools_HeaderFile
#define VisuGUI_PopupTools_HeaderFile
-#include <SalomeApp_Selection.h>
+#include <LightApp_Selection.h>
//////////////////////////////////////////////////
// Class: VisuGUI_Selection
//////////////////////////////////////////////////
class SalomeApp_Module;
+class SalomeApp_Study;
-class VisuGUI_Selection : public SalomeApp_Selection
+class VisuGUI_Selection : public LightApp_Selection
{
public:
VisuGUI_Selection( SalomeApp_Module* theModule ) : myModule( theModule ) {};
QString isVisible( const int ) const;
QString isShrunk( const int ) const;
QString hasActor( const int ) const;
+ QString isShading( const int ) const;
+ QString isScalarMapAct( const int ) const;
private:
int nbChild( const int, const bool ) const;
+ SalomeApp_Study* GetStudy() const;
private:
SalomeApp_Module* myModule;
#include "SalomeApp_Study.h"
#include "SalomeApp_Application.h"
-#include "SalomeApp_SelectionMgr.h"
-#include "SalomeApp_VTKSelector.h"
+#include "LightApp_SelectionMgr.h"
+#include "LightApp_VTKSelector.h"
#include "SUIT_MessageBox.h"
#include "SUIT_ViewWindow.h"
bool onIdEdit (const QString& theText,
TDataSetMethod theMethod,
bool theIsCell,
- SalomeApp_SelectionMgr* theSelectionMgr,
+ LightApp_SelectionMgr* theSelectionMgr,
QLabel* theMeshName,
QString theValue,
QLabel* theFieldName)
#include "VISU_ViewManager_i.hh"
#include "VISU_Actor.h"
+#include "VISU_ScalarMapAct.h"
#include "SalomeApp_Module.h"
#include "SalomeApp_Study.h"
#include "SalomeApp_Application.h"
-#include "SalomeApp_SelectionMgr.h"
+#include "LightApp_SelectionMgr.h"
#include "SALOME_ListIO.hxx"
#include "SALOME_ListIteratorOfListIO.hxx"
return theModule->application()->desktop();
}
- SalomeApp_SelectionMgr*
+ LightApp_SelectionMgr*
GetSelectionMgr(const SalomeApp_Module* theModule)
{
return theModule->getApp()->selectionMgr();
Handle(SALOME_InteractiveObject)* theIO,
VISU::Storable::TRestoringMap* theMap)
{
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(theModule);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(theModule);
SALOME_ListIO aListIO;
aSelectionMgr->selectedObjects(aListIO);
SALOME_ListIteratorOfListIO anIter(aListIO);
}
void
- Add(SalomeApp_SelectionMgr* theSelectionMgr,
+ Add(LightApp_SelectionMgr* theSelectionMgr,
const Handle(SALOME_InteractiveObject)& theIO)
{
SALOME_ListIO aListIO;
}
void
- Remove(SalomeApp_SelectionMgr* theSelectionMgr,
+ Remove(LightApp_SelectionMgr* theSelectionMgr,
const Handle(SALOME_InteractiveObject)& theIO)
{
if (theIO.IsNull()) return;
bool
IsRemovableSelected (const SalomeApp_Module* theModule)
{
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(theModule);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(theModule);
SALOME_ListIO aListIO;
aSelectionMgr->selectedObjects(aListIO);
_PTR(SObject) theSObject)
{
SalomeApp_Study* study = GetAppStudy( theModule );
- study->deleteReferencesTo( theSObject );
_PTR(ChildIterator) aChildIter = theStudy->NewChildIterator(theSObject);
for (aChildIter->InitEx(true); aChildIter->More(); aChildIter->Next()) {
_PTR(SObject) aChildSObject = aChildIter->Value();
- study->deleteReferencesTo( aChildSObject );
+
CORBA::Object_var aChildObj = VISU::ClientSObjectToObject(aChildSObject);
ErasePrs(theModule, aChildObj);
}
return;
SALOMEDS::SObject_var aSObject = thePrs->GetSObject();
CORBA::String_var anEntry = aSObject->GetID();
- SalomeApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(theModule);
+ LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(theModule);
Remove(aSelectionMgr,theIO);
TViewWindows aViewWindows = GetViews(theModule);
for(int i = 0, iEnd = aViewWindows.size(); i < iEnd; i++){
}
}
}
+
+ void
+ SetShading ( const SalomeApp_Module* theModule,
+ bool theOn )
+ {
+ SUIT_ViewWindow* aView = GetActiveView(theModule, SVTK_Viewer::Type());
+ if (!aView) return;
+ SVTK_ViewWindow* vw = dynamic_cast<SVTK_ViewWindow*>( aView );
+ if( !vw )
+ return;
+
+ Handle(SALOME_InteractiveObject) anIO;
+ CORBA::Object_var anObject = GetSelectedObj(theModule, &anIO);
+ if (CORBA::is_nil(anObject)) return;
+
+ VISU::Base_var aVisuObj = VISU::Base::_narrow(anObject);
+ if (CORBA::is_nil(aVisuObj)) return;
+
+ PortableServer::ServantBase_var aServant = VISU::GetServant(anObject);
+ if (!aServant.in()) return;
+
+ VISU::Prs3d_i* aPrs3d = dynamic_cast<VISU::Prs3d_i*>(aServant.in());
+ if (aPrs3d) {
+ if (VISU_Actor* anActor = GetActor(aPrs3d, vw)) {
+ if ( VISU_ScalarMapAct* aScalarMapActor = dynamic_cast<VISU_ScalarMapAct*>(anActor) )
+ aScalarMapActor->SetShading( theOn );
+ }
+ vw->Repaint();
+ }
+ }
//************************************************************
// SObject type
}
SVTK_ViewWindow*
+ GetViewWindow( const SalomeApp_Module* theModule, const bool theCreate )
+ {
+ if (SalomeApp_Application* anApp = theModule->getApp())
+ {
+ SVTK_ViewWindow* wnd = dynamic_cast<SVTK_ViewWindow*>(anApp->desktop()->activeWindow());
+ if( wnd )
+ return wnd;
+ else
+ {
+ SUIT_ViewManager* aViewManager = anApp->getViewManager( SVTK_Viewer::Type(), theCreate );
+ return dynamic_cast<SVTK_ViewWindow*>( aViewManager->getActiveView() );
+ }
+ }
+ return NULL;
+ }
+
+ /*SVTK_ViewWindow*
GetViewWindow(const SalomeApp_Module* theModule, const bool theCreate )
{
if(SalomeApp_Application* anApp = theModule->getApp()){
}
}
return NULL;
- }
+ }*/
SVTK_ViewWindow*
}catch(std::exception& exc){
SUIT_MessageBox::warn1(GetDesktop(theModule),
QObject::tr("WRN_VISU"),
- QObject::tr("ERR_CANT_CREATE_ACTOR"),
+ QObject::tr("ERR_CANT_CREATE_ACTOR") + ": " + QObject::tr(exc.what()),
QObject::tr("BUT_OK"));
}
QApplication::restoreOverrideCursor();
if(aPrs == NULL) continue;
if (thePrs == aPrs) {
aResActor = anVISUActor;
- thePrs->UpdateActor(aResActor);
- aResActor->VisibilityOn();
-
+ try {
+ thePrs->UpdateActor(aResActor);
+ aResActor->VisibilityOn();
+ } catch (std::runtime_error& ex) {
+ aResActor->VisibilityOff();
+ INFOS(ex.what());
+ SUIT_MessageBox::warn1(GetDesktop(theModule), QObject::tr("WRN_VISU"),
+ QObject::tr("ERR_CANT_CREATE_ACTOR") + ": " + QObject::tr(ex.what()),
+ QObject::tr("BUT_OK"));
+ }
} else if (theDispOnly) {
anVISUActor->VisibilityOff();
} else {
if (aResActor)
return aResActor;
- anVISUActor = PublishInView( theModule, thePrs );
+ //anVISUActor = PublishInView( theModule, thePrs );
return anVISUActor;
}
VISU::Prs3d_i* thePrs)
{
QApplication::setOverrideCursor(Qt::waitCursor);
+ bool isPublished = false;
SALOMEDS::SObject_var aSObject = thePrs->GetSObject();
CORBA::String_var anEntry = aSObject->GetID();
for (int i = 0, iEnd = aViewWindows.size(); i < iEnd; i++) {
SVTK_ViewWindow* aView = aViewWindows[i];
if (VISU_Actor* anActor = FindActor(aView, anEntry.in())) {
+ isPublished = true;
thePrs->UpdateActor(anActor);
}
}
INFOS(ex.what());
QApplication::restoreOverrideCursor();
SUIT_MessageBox::warn1 (GetDesktop(theModule), QObject::tr("WRN_VISU"),
- QObject::tr("ERR_CANT_BUILD_PRESENTATION") + " " + QObject::tr(ex.what()),
+ QObject::tr("ERR_CANT_BUILD_PRESENTATION") + ": " + QObject::tr(ex.what()),
QObject::tr("BUT_OK"));
TViewWindows aViewWindows = GetViews(theModule);
return;
}
QApplication::restoreOverrideCursor();
+
+ if (!isPublished)
+ PublishInView(theModule, thePrs);
}
static bool ComputeVisiblePropBounds(SVTK_ViewWindow* theViewWindow,
int theDisplaying)
{
if ( theDisplaying == VISU::eErase ) {
- if ( plotCurve )
+ if ( plotCurve && aPlot )
aPlot->eraseCurve( plotCurve, false );
}
else if ( theDisplaying == VISU::eDisplay || theDisplaying == VISU::eDisplayOnly ) {
plotCurve->setColor( QColor( (int)(color.R*255.), (int)(color.G*255.), (int)(color.B*255.) ) );
}
plotCurve->setAutoAssign( theCurve->IsAuto() );
- aPlot->displayCurve( plotCurve, false );
+ if( aPlot )
+ aPlot->displayCurve( plotCurve, false );
}
else {
Plot2d_Curve* crv = theCurve->CreatePresentation();
if ( crv ) {
- aPlot->displayCurve( crv, false );
+ if( aPlot )
+ aPlot->displayCurve( crv, false );
theCurve->SetLine( (VISU::Curve::LineType)crv->getLine(), crv->getLineWidth() );
theCurve->SetMarker( (VISU::Curve::MarkerType)crv->getMarker());
SALOMEDS::Color newColor;
INFOS(exc.what());
SUIT_MessageBox::warn1 (GetDesktop(theModule),
QObject::tr("WRN_VISU"),
- QObject::tr("ERR_CANT_CREATE_ACTOR") + " " + QObject::tr(exc.what()),
+ QObject::tr("ERR_CANT_CREATE_ACTOR") + ": " + QObject::tr(exc.what()),
QObject::tr("BUT_OK"));
}
}
class VISU_Actor;
class SVTK_ViewWindow;
class SPlot2d_Viewer;
+class SPlot2d_Curve;
+class Plot2d_ViewFrame;
class CAM_Module;
-class SalomeApp_SelectionMgr;
+class LightApp_SelectionMgr;
class SalomeApp_Study;
namespace VISU {
QString getValue(_PTR(SObject) theSObject, QString theKey);
// Selection
- SalomeApp_SelectionMgr* GetSelectionMgr(const SalomeApp_Module* theModule);
+ LightApp_SelectionMgr* GetSelectionMgr(const SalomeApp_Module* theModule);
CORBA::Object_var GetSelectedObj(const SalomeApp_Study* theStudy,
const QString& theEntry,
VISU::Storable::TRestoringMap* theMap = NULL);
Handle(SALOME_InteractiveObject)* theIO = NULL,
VISU::Storable::TRestoringMap* theMap = NULL);
- void Add(SalomeApp_SelectionMgr* theSelectionMgr,
+ void Add(LightApp_SelectionMgr* theSelectionMgr,
const Handle(SALOME_InteractiveObject)& theIO);
- void Remove(SalomeApp_SelectionMgr* theSelectionMgr,
+ void Remove(LightApp_SelectionMgr* theSelectionMgr,
const Handle(SALOME_InteractiveObject)& theIO);
bool IsRemovableSelected(const SalomeApp_Module* theModule);
void ChangeRepresentation (const SalomeApp_Module* theModule,
VISU::PresentationType theType);
+ void SetShading ( const SalomeApp_Module* theModule, bool theOn = true );
+
// SObject type
bool CheckTimeStamp(const SalomeApp_Module* theModule,
_PTR(SObject)& theSObject,
void CreatePlot( SalomeApp_Module* theModule,
_PTR(SObject) theSobj );
+ void UpdateCurve( VISU::Curve_i*,
+ Plot2d_ViewFrame* frame,
+ SPlot2d_Curve*,
+ int theDisplaying );
+ //parameter frame may be 0, in this case there is only update without display/erase
+
// Others
void CreateMesh (const SalomeApp_Module* theModule,
const Handle(SALOME_InteractiveObject)& theIO);
#include "SalomeApp_Study.h"
#include "SalomeApp_Application.h"
-#include "SalomeApp_SelectionMgr.h"
+#include "LightApp_SelectionMgr.h"
#include "SALOME_Event.hxx"
#include "SALOME_ListIO.hxx"
SALOMEDS::SObject_var aSObject = myPrs->GetSObject();
CORBA::String_var anEntry = aSObject->GetID();
- SalomeApp_SelectionMgr* aSelectionMgr = anApp->selectionMgr();
+ LightApp_SelectionMgr* aSelectionMgr = anApp->selectionMgr();
SALOME_ListIO aListIO, aNewListIO;
aSelectionMgr->selectedObjects(aListIO);
SALOMEDS::SObject_var aSObject = thePrs->GetSObject();
CORBA::String_var anEntry = aSObject->GetID();
- SalomeApp_SelectionMgr* aSelectionMgr = anApp->selectionMgr();
+ LightApp_SelectionMgr* aSelectionMgr = anApp->selectionMgr();
SALOME_ListIO aListIO, aNewListIO;
aSelectionMgr->selectedObjects(aListIO);
SALOMEDS::SObject_var aSObject = thePrs->GetSObject();
CORBA::String_var anEntry = aSObject->GetID();
- SalomeApp_SelectionMgr* aSelectionMgr = anApp->selectionMgr();
+ LightApp_SelectionMgr* aSelectionMgr = anApp->selectionMgr();
SALOME_ListIO aListIO, aNewListIO;
aSelectionMgr->selectedObjects(aListIO);