X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_Utils.h;h=555d233824a07d03acc00f1934bdf7ac0fe4a9c6;hp=ab468bf32e2713ea9632ac4def9771df4fa23c98;hb=aa67cc96d730566d202d1014d97b7f0b3a4d71f4;hpb=e4737e85f0da6d3f90fd08f6be1c2825195fe16f diff --git a/src/SMESHGUI/SMESHGUI_Utils.h b/src/SMESHGUI/SMESHGUI_Utils.h index ab468bf32..555d23382 100644 --- a/src/SMESHGUI/SMESHGUI_Utils.h +++ b/src/SMESHGUI/SMESHGUI_Utils.h @@ -1,99 +1,178 @@ -// 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 - -#ifndef SMESHGUI_Utils_HeaderFile -#define SMESHGUI_Utils_HeaderFile - -#include "SALOME_InteractiveObject.hxx" - -class QString; - -class QAD_Study; -class QAD_StudyFrame; -class SALOME_Selection; - -#include "SALOMEconfig.h" -#include CORBA_CLIENT_HEADER(SALOMEDS) +// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 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.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + +// SMESH SMESHGUI : GUI for SMESH component +// File : SMESHGUI_Utils.h +// Author : Open CASCADE S.A.S. +// +#ifndef SMESHGUI_UTILS_H +#define SMESHGUI_UTILS_H + +// SMESH includes +#include "SMESH_SMESHGUI.hxx" + +// CORBA includes +#include + +// SALOME KERNEL includes +#include + +// SALOME GUI includes +#include +#include + +//OCC includes +#include + +class SUIT_ViewWindow; +class SUIT_Desktop; +class SUIT_Study; +class SUIT_ResourceMgr; + +class CAM_Module; + +class SALOMEDSClient_Study; +class SALOMEDSClient_SObject; + +class SalomeApp_Study; +class SalomeApp_Module; +class LightApp_SelectionMgr; + +class SMDS_MeshFace; + +namespace SMESH +{ +SMESHGUI_EXPORT + SUIT_Desktop* + GetDesktop( const CAM_Module* ); + +SMESHGUI_EXPORT + LightApp_SelectionMgr* + GetSelectionMgr( const SalomeApp_Module* ); + +SMESHGUI_EXPORT + SalomeApp_Study* + GetAppStudy( const CAM_Module* ); + +SMESHGUI_EXPORT + SUIT_ResourceMgr* + GetResourceMgr( const SalomeApp_Module* ); + +SMESHGUI_EXPORT + _PTR(Study) + GetCStudy( const SalomeApp_Study* ); +SMESHGUI_EXPORT + CORBA::Object_var DataOwnerToObject( const LightApp_DataOwnerPtr& ); -namespace SMESH{ + template typename TInterface::_var_type + DataOwnerToInterface( const LightApp_DataOwnerPtr& theDataOwner ) + { + CORBA::Object_var anObj = DataOwnerToObject(theDataOwner); + if(!CORBA::is_nil(anObj)) + return TInterface::_narrow(anObj); + return TInterface::_nil(); + } - QAD_Study* GetActiveStudy(); +SMESHGUI_EXPORT + SUIT_Study* GetActiveStudy(); - QAD_StudyFrame* GetActiveStudyFrame(); +SMESHGUI_EXPORT + SUIT_ViewWindow* GetActiveWindow(); - SALOMEDS::Study_var GetActiveStudyDocument(); +SMESHGUI_EXPORT + _PTR(Study) GetActiveStudyDocument(); - SALOMEDS::SObject_var FindSObject(CORBA::Object_ptr theObject); +SMESHGUI_EXPORT + _PTR(SObject) FindSObject( CORBA::Object_ptr ); +SMESHGUI_EXPORT + void SetName( _PTR(SObject), const QString& ); - void SetName(SALOMEDS::SObject_ptr theSObject, const char* theName); - void SetValue(SALOMEDS::SObject_ptr theSObject, const char* theValue); +SMESHGUI_EXPORT + void SetValue( _PTR(SObject), const QString& ); + void setFileType( _PTR(SObject), const QString& ); + void setFileName( _PTR(SObject), const QString& ); +SMESHGUI_EXPORT + CORBA::Object_var SObjectToObject( _PTR(SObject), + _PTR(Study) ); - CORBA::Object_var SObjectToObject(SALOMEDS::SObject_ptr theSObject, - SALOMEDS::Study_ptr theStudy); - - CORBA::Object_var SObjectToObject(SALOMEDS::SObject_ptr theSObject); - +SMESHGUI_EXPORT + CORBA::Object_var SObjectToObject( _PTR(SObject) ); template typename TInterface::_var_type - SObjectToInterface(SALOMEDS::SObject_ptr theSObject) + SObjectToInterface( _PTR(SObject) theSObject ) { CORBA::Object_var anObj = SObjectToObject(theSObject); if(!CORBA::is_nil(anObj)) - return TInterface::_narrow(anObj); + return TInterface::_narrow(anObj); return TInterface::_nil(); } - - CORBA::Object_var IObjectToObject(const Handle(SALOME_InteractiveObject)& theIO); +SMESHGUI_EXPORT + CORBA::Object_var IObjectToObject( const Handle(SALOME_InteractiveObject)& ); template typename TInterface::_var_type - IObjectToInterface(const Handle(SALOME_InteractiveObject)& theIO) + IObjectToInterface( const Handle(SALOME_InteractiveObject)& theIO ) { CORBA::Object_var anObj = IObjectToObject(theIO); if(!CORBA::is_nil(anObj)) - return TInterface::_narrow(anObj); + return TInterface::_narrow(anObj); return TInterface::_nil(); } - - CORBA::Object_var IORToObject(const char* theIOR); +SMESHGUI_EXPORT + CORBA::Object_var IORToObject( const QString& ); template typename TInterface::_var_type - IORToInterface(const char* theIOR) + IORToInterface( const QString& theIOR ) { - CORBA::Object_var anObj = IORToObject(theIOR); - if(!CORBA::is_nil(anObj)) - return TInterface::_narrow(anObj); + CORBA::Object_var anObj = IORToObject( theIOR ); + if ( !CORBA::is_nil( anObj ) ) + return TInterface::_narrow( anObj ); return TInterface::_nil(); } - - int GetNameOfSelectedIObjects(SALOME_Selection* theSel, QString& theName); +SMESHGUI_EXPORT + int GetNameOfSelectedIObjects( LightApp_SelectionMgr*, QString& ); - SALOMEDS::SObject_var GetMeshOrSubmesh(SALOMEDS::SObject_ptr theSObject); +SMESHGUI_EXPORT + _PTR(SObject) GetMeshOrSubmesh( _PTR(SObject) ); - void ModifiedMesh(SALOMEDS::SObject_ptr theSObject, bool theIsRight); +SMESHGUI_EXPORT + void ModifiedMesh( _PTR(SObject), bool, bool = false ); -} +SMESHGUI_EXPORT + void ShowHelpFile( const QString& ); + /*! + * \brief Return the normal to a face + * \param theFace - input face + * \retval gp_XYZ - normal to a face + */ +SMESHGUI_EXPORT + gp_XYZ getNormale( const SMDS_MeshFace* theFace ); + +} -#endif +#endif // SMESHGUI_UTILS_H