mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-27 14:10:33 +05:00
PAL9391
This commit is contained in:
parent
98fe24f8c9
commit
40793ae45e
@ -110,7 +110,8 @@ LIB_SRC = SMESHGUI.cxx \
|
|||||||
SMESHGUI_SelectionOp.cxx \
|
SMESHGUI_SelectionOp.cxx \
|
||||||
SMESHGUI_Dialog.cxx \
|
SMESHGUI_Dialog.cxx \
|
||||||
SMESHGUI_MeshDlg.cxx \
|
SMESHGUI_MeshDlg.cxx \
|
||||||
SMESHGUI_MeshOp.cxx
|
SMESHGUI_MeshOp.cxx \
|
||||||
|
SMESHGUI_Displayer.cxx
|
||||||
|
|
||||||
LIB_MOC = \
|
LIB_MOC = \
|
||||||
SMESHGUI.h \
|
SMESHGUI.h \
|
||||||
|
@ -64,6 +64,7 @@
|
|||||||
#include "SMESHGUI_Selection.h"
|
#include "SMESHGUI_Selection.h"
|
||||||
#include "SMESHGUI_CreatePolyhedralVolumeDlg.h"
|
#include "SMESHGUI_CreatePolyhedralVolumeDlg.h"
|
||||||
#include "SMESHGUI_MeshOp.h"
|
#include "SMESHGUI_MeshOp.h"
|
||||||
|
#include "SMESHGUI_Displayer.h"
|
||||||
|
|
||||||
#include "SMESHGUI_Utils.h"
|
#include "SMESHGUI_Utils.h"
|
||||||
#include "SMESHGUI_GEOMGenUtils.h"
|
#include "SMESHGUI_GEOMGenUtils.h"
|
||||||
@ -806,6 +807,7 @@ SalomeApp_Module( "SMESH" )
|
|||||||
|
|
||||||
myActiveDialogBox = 0 ;
|
myActiveDialogBox = 0 ;
|
||||||
myState = -1 ;
|
myState = -1 ;
|
||||||
|
myDisplayer = 0;
|
||||||
|
|
||||||
SMESH::GetFilterManager();
|
SMESH::GetFilterManager();
|
||||||
SMESH::GetPattern();
|
SMESH::GetPattern();
|
||||||
@ -3045,5 +3047,14 @@ SalomeApp_Operation* SMESHGUI::createOperation( const int id ) const
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( !op )
|
||||||
|
op = SalomeApp_Module::createOperation( id );
|
||||||
return op;
|
return op;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SalomeApp_Displayer* SMESHGUI::displayer()
|
||||||
|
{
|
||||||
|
if( !myDisplayer )
|
||||||
|
myDisplayer = new SMESHGUI_Displayer( dynamic_cast<SalomeApp_Study*>( getApp()->activeStudy() ) );
|
||||||
|
return myDisplayer;
|
||||||
|
}
|
||||||
|
@ -71,6 +71,7 @@ public :
|
|||||||
|
|
||||||
static bool automaticUpdate();
|
static bool automaticUpdate();
|
||||||
|
|
||||||
|
virtual SalomeApp_Displayer* displayer();
|
||||||
virtual QString engineIOR() const;
|
virtual QString engineIOR() const;
|
||||||
virtual void initialize( CAM_Application* );
|
virtual void initialize( CAM_Application* );
|
||||||
virtual void windows( QMap<int, int>& ) const;
|
virtual void windows( QMap<int, int>& ) const;
|
||||||
@ -135,6 +136,7 @@ private :
|
|||||||
QDialog* myActiveDialogBox;
|
QDialog* myActiveDialogBox;
|
||||||
int myState;
|
int myState;
|
||||||
QMap<int,QString> myRules;
|
QMap<int,QString> myRules;
|
||||||
|
SalomeApp_Displayer* myDisplayer;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
74
src/SMESHGUI/SMESHGUI_Displayer.cxx
Normal file
74
src/SMESHGUI/SMESHGUI_Displayer.cxx
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
// SMESH SMESHGUI : Displayer for SMESH module
|
||||||
|
//
|
||||||
|
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// File : SMESHGUI_Displayer.cxx
|
||||||
|
// Author : Alexander SOLOVYOV
|
||||||
|
// Module : SMESH
|
||||||
|
// $Header: /home/server/cvs/SMESH/SMESH_SRC/src/SMESHGUI/SMESHGUI_Displayer.cxx
|
||||||
|
|
||||||
|
#include "SMESHGUI_Displayer.h"
|
||||||
|
#include "SMESHGUI_VTKUtils.h"
|
||||||
|
|
||||||
|
#include <SalomeApp_Study.h>
|
||||||
|
#include <SVTK_ViewModel.h>
|
||||||
|
#include <SVTK_ViewWindow.h>
|
||||||
|
|
||||||
|
SMESHGUI_Displayer::SMESHGUI_Displayer( SalomeApp_Study* st )
|
||||||
|
: SalomeApp_Displayer(),
|
||||||
|
myStudy( st )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
SMESHGUI_Displayer::~SMESHGUI_Displayer()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
SALOME_Prs* SMESHGUI_Displayer::buildPresentation( const QString& entry, SALOME_View* theViewFrame )
|
||||||
|
{
|
||||||
|
SALOME_Prs* prs = 0;
|
||||||
|
|
||||||
|
SALOME_View* aViewFrame = theViewFrame ? theViewFrame : GetActiveView();
|
||||||
|
|
||||||
|
if ( aViewFrame )
|
||||||
|
{
|
||||||
|
SVTK_Viewer* vtk_viewer = dynamic_cast<SVTK_Viewer*>( aViewFrame );
|
||||||
|
if( vtk_viewer )
|
||||||
|
{
|
||||||
|
SUIT_ViewWindow* wnd = vtk_viewer->getViewManager()->getActiveView();
|
||||||
|
SMESH_Actor* anActor = SMESH::FindActorByEntry( wnd, entry.latin1() );
|
||||||
|
if( !anActor )
|
||||||
|
anActor = SMESH::CreateActor( myStudy->studyDS(), entry.latin1(), true );
|
||||||
|
if( anActor )
|
||||||
|
{
|
||||||
|
SMESH::DisplayActor( wnd, anActor );
|
||||||
|
prs = SalomeApp_Displayer::buildPresentation( entry.latin1(), aViewFrame );
|
||||||
|
}
|
||||||
|
if( prs )
|
||||||
|
UpdatePrs( prs );
|
||||||
|
else if( anActor )
|
||||||
|
SMESH::RemoveActor( vtk_viewer->getViewManager()->getActiveView(), anActor );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return prs;
|
||||||
|
}
|
48
src/SMESHGUI/SMESHGUI_Displayer.h
Normal file
48
src/SMESHGUI/SMESHGUI_Displayer.h
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
// SMESH SMESHGUI : Displayer for SMESH module
|
||||||
|
//
|
||||||
|
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// File : SMESHGUI_Displayer.h
|
||||||
|
// Author : Alexander SOLOVYOV
|
||||||
|
// Module : SMESH
|
||||||
|
// $Header: /home/server/cvs/SMESH/SMESH_SRC/src/SMESHGUI/SMESHGUI_Displayer.h
|
||||||
|
|
||||||
|
#ifndef SMESHGUI_DISPLAYER_HEADER
|
||||||
|
#define SMESHGUI_DISPLAYER_HEADER
|
||||||
|
|
||||||
|
#include <SalomeApp_Displayer.h>
|
||||||
|
|
||||||
|
class SalomeApp_Study;
|
||||||
|
|
||||||
|
class SMESHGUI_Displayer : public SalomeApp_Displayer
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
SMESHGUI_Displayer( SalomeApp_Study* );
|
||||||
|
~SMESHGUI_Displayer();
|
||||||
|
|
||||||
|
virtual SALOME_Prs* buildPresentation( const QString&, SALOME_View* = 0 );
|
||||||
|
|
||||||
|
private:
|
||||||
|
SalomeApp_Study* myStudy;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
@ -84,12 +84,16 @@ QtxValue SMESHGUI_Selection::param( const int ind, const QString& p ) const
|
|||||||
else if ( p=="displayMode" ) val = QtxValue( displayMode( ind ) );
|
else if ( p=="displayMode" ) val = QtxValue( displayMode( ind ) );
|
||||||
else if ( p=="isComputable" ) val = QtxValue( isComputable( ind ) );
|
else if ( p=="isComputable" ) val = QtxValue( isComputable( ind ) );
|
||||||
else if ( p=="hasReference" ) val = QtxValue( hasReference( ind ) );
|
else if ( p=="hasReference" ) val = QtxValue( hasReference( ind ) );
|
||||||
else if ( p=="isVisible" ) val = QtxValue( isVisible( ind ) );
|
// else if ( p=="isVisible" ) val = QtxValue( isVisible( ind ) );
|
||||||
|
|
||||||
// printf( "--> param() : [%s] = %s (%s)\n", p.latin1(), val.toString().latin1(), val.typeName() );
|
// printf( "--> param() : [%s] = %s (%s)\n", p.latin1(), val.toString().latin1(), val.typeName() );
|
||||||
//if ( val.type() == QVariant::List )
|
//if ( val.type() == QVariant::List )
|
||||||
//cout << "size: " << val.toList().count() << endl;
|
//cout << "size: " << val.toList().count() << endl;
|
||||||
return val;
|
|
||||||
|
if( val.isValid() )
|
||||||
|
return val;
|
||||||
|
else
|
||||||
|
return SalomeApp_Selection::param( ind, p );
|
||||||
}
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
|
Loading…
Reference in New Issue
Block a user