+// Copyright (C) 2011-2012 CEA/DEN, EDF R&D
+//
+// 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
+//
+
#include "HOMARDGUI_Utils.h"
{
return theStudy->studyDS();
}
-
-
+
+
//================================================================
// Function : GetActiveStudy
// Returne un pointeur sur l'etude active
else
return NULL;
}
-
+
//================================================================
// Function : GetActiveStudyDocument
// Returne un pointeur sur l'etude active
else
return _PTR(Study)();
}
-
+
//================================================================
// Function : updateObjBrowser
// Purpose : met a jour l arbre d 'etude pour Homard
SalomeApp_Application* app = dynamic_cast<SalomeApp_Application*>(SUIT_Session::session()->activeApplication());
if (app) {
// Le nom identifiant doit etre la valeur du parametre
- // name de la section HOMARD du fichier SalomeApp.xml
+ // name de la section HOMARD du fichier SalomeApp.xml
CAM_Module* module = app->module("Homard" );
SalomeApp_Module* appMod = dynamic_cast<SalomeApp_Module*>( module );
if ( appMod ) {
app->updateObjectBrowser();
appMod->updateObjBrowser( true );
}
- else
+ else
MESSAGE( "--- HOMARD::updateObjBrowser: appMod = NULL");
}
}
if( aSelectionMgr )
{
aSelectionMgr->selectedObjects( mySelected );
- for (SALOME_ListIteratorOfListIO it (mySelected); it.More(); it.Next())
+ for (SALOME_ListIteratorOfListIO it (mySelected); it.More(); it.Next())
SCRUTE(it.Value()->getEntry());
};
return mySelected;
-
+
}
-
+
//================================================================
// Function : IObjectCount
// Return the number of selected objects
}
return 0;
}
-
+
//================================================================
// Function : firstIObject
// Purpose : Return the first selected object in the selected object list
return bOK ;
}
//================================================================
+// Retourne vrai si l objet est une frontiere analytique
+//================================================================
+bool HOMARD_UTILS::isBoundaryAn(_PTR(SObject) MonObj)
+{
+ return isObject( MonObj, QString("BoundaryAnHomard"), -1 ) ;
+}
+//================================================================
// Retourne vrai si l objet est une frontiere discrete
//================================================================
bool HOMARD_UTILS::isBoundaryDi(_PTR(SObject) MonObj)
{
return isObject( MonObj, QString("Summary"), 0 ) ;
}
-//================================================================
-// Function : ChercheFileDansSelection
-// Retourne Le nom du fichier associe
-//================================================================
-QString HOMARD_UTILS::ChercheFileDansSelection()
-{
- MESSAGE("ChercheFileDansSelection");
- int nbSel = HOMARD_UTILS::IObjectCount() ;
- if (nbSel > 1 or nbSel == 0) return QString::null;
-
- Handle(SALOME_InteractiveObject) aIO = HOMARD_UTILS::firstIObject();
- ASSERT(aIO);
- if (!( aIO->hasEntry())) return QString::null;
-
- _PTR(Study) myStudy = HOMARD_UTILS::GetActiveStudyDocument();
- _PTR(SObject) aSObj ( myStudy->FindObjectID( aIO->getEntry() ) );
- if (!aSObj) return QString::null;
-
- _PTR(GenericAttribute) anAttr;
- if (!aSObj->FindAttribute(anAttr, "AttributeExternalFileDef")) return QString::null;
- _PTR(AttributeExternalFileDef) aFileName (anAttr);
- std::string aFile = aFileName->Value();
- SCRUTE(aFile);
- return QString(aFile.c_str());
-}
-
-//============================================================
-// Function ChercheDansDir
-// Cherche tous les fichiers dans la directory qui correspondent
-// a la fois a la base et au numero d iteration, numero d iteration +1
-// exple info.00.bilan
-// ou qual.tetr.00.dat
-//================================================================================
-QStringList HOMARD_UTILS::ChercheDansDir(QString direct, QString base, int numIter)
-//================================================================================
-{
- QStringList liste;
-
-
- QString strNum = QString("");
- if (numIter != -1) strNum = HOMARD_UTILS::Transforme(numIter);
- QString strNum1 = QString("");
- if (numIter != -1) strNum1 = HOMARD_UTILS::Transforme(numIter+1);
-
- struct dirent **namelist;
- int n = scandir(direct.toLatin1(), &namelist, 0, alphasort);
- while(n--)
- {
- QString fich =QString( namelist[n]->d_name);
- if (fich.contains(base) > 0)
- {
- if (numIter != -1)
- {
- if ((fich.contains(strNum)>0) or (fich.contains(strNum1)>0))
- liste.append(fich);
- }
- else
- {
- liste.append(fich);
- }
- }
- }
- return liste;
-}
-
-QString HOMARD_UTILS::Transforme(int num)
-{
- std::ostringstream nb ;
- nb << std::setw(2) << std::setfill('0') << num ;
- QString retour= QString(nb.str().c_str());
- return retour;
-
-}
-
-//=============================================================================
-void HOMARD_UTILS::AddNewRoot(int Tag, QString Racine)
-//=============================================================================
-{
- _PTR(Study) myStudy = HOMARD_UTILS::GetActiveStudyDocument();
- ASSERT(myStudy);
- _PTR(StudyBuilder) myBuilder( myStudy->NewBuilder() );
- ASSERT(myBuilder);
- _PTR(SComponent) aFather=myStudy->FindComponent("HOMARD");
- ASSERT(aFather);
-
- _PTR(SObject) InfoRoot = myBuilder->NewObjectToTag (aFather, Tag);
- _PTR(GenericAttribute) anAttr;
- anAttr = myBuilder->FindOrCreateAttribute(InfoRoot, "AttributeName");
- _PTR(AttributeName) aName (anAttr);
- aName->SetValue(Racine.toStdString());
-}
-//=============================================================================
-void HOMARD_UTILS::RangeSousTag(int Tag,QString FileName, int TagFichier, QString Comment,QString FileDir)
-//=============================================================================
-{
- _PTR(SObject) Root;
- _PTR(Study) myStudy = HOMARD_UTILS::GetActiveStudyDocument();
- ASSERT(myStudy);
- _PTR(StudyBuilder) myBuilder( myStudy->NewBuilder() );
- ASSERT(myBuilder);
- _PTR(SComponent) aFather=myStudy->FindComponent("HOMARD");
- ASSERT(aFather);
- bool found = aFather->FindSubObject(Tag,Root);
- ASSERT(found);
-
- _PTR(SObject) MonInfo = myBuilder->NewObjectToTag (Root, TagFichier);
- ASSERT(MonInfo);
- _PTR(GenericAttribute) anAttr;
- anAttr = myBuilder->FindOrCreateAttribute(MonInfo, "AttributeName");
- _PTR(AttributeName) aName (anAttr);
- aName->SetValue(FileName.toStdString());
- QString FileComplet = FileDir +QString("/") +FileName;
- anAttr = myBuilder->FindOrCreateAttribute(MonInfo, "AttributeExternalFileDef");
- _PTR(AttributeExternalFileDef) aFile (anAttr);
- aFile->SetValue((FileComplet).toStdString());
- anAttr = myBuilder->FindOrCreateAttribute(MonInfo, "AttributeComment");
- _PTR(AttributeComment) aComment (anAttr);
- aComment->SetValue(Comment.toStdString());
-}
//=========================================================================================================
void HOMARD_UTILS::PushOnHelp(QString monFichierAide)