From: eap Date: Tue, 1 Nov 2005 10:12:45 +0000 (+0000) Subject: PAL10237. Add GetHypothesesSets() X-Git-Tag: V3_1_0a3~32 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=60bdcf56b18b6a2e8e6b90906a99ff43241991b8;p=modules%2Fsmesh.git PAL10237. Add GetHypothesesSets() --- diff --git a/src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx b/src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx index 96f59ae8a..585562c8f 100644 --- a/src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx +++ b/src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx @@ -66,14 +66,7 @@ namespace SMESH{ typedef map THypCreatorMap; THypCreatorMap myHypCreatorMap; - void addMap(const THypothesisDataMap& theMap, - THypothesisDataMap& toMap) - { - THypothesisDataMap::const_iterator it; - for (it = theMap.begin(); it != theMap.end(); it++) - toMap.insert(*it); - } - + list myListOfHypothesesSets; void processHypothesisStatus(const int theHypStatus, SMESH::SMESH_Hypothesis_ptr theHyp, @@ -160,8 +153,12 @@ namespace SMESH{ bool ok = reader.parse(source); file.close(); if (ok) { - addMap(aXmlHandler->myHypothesesMap, myHypothesesMap); - addMap(aXmlHandler->myAlgorithmsMap, myAlgorithmsMap); + myHypothesesMap.insert( aXmlHandler->myHypothesesMap.begin(), + aXmlHandler->myHypothesesMap.end() ); + myAlgorithmsMap.insert( aXmlHandler->myAlgorithmsMap.begin(), + aXmlHandler->myAlgorithmsMap.end() ); + myListOfHypothesesSets.splice( myListOfHypothesesSets.begin(), + aXmlHandler->myListOfHypothesesSets ); } else { SUIT_MessageBox::error1(SMESHGUI::desktop(), @@ -215,6 +212,37 @@ namespace SMESH{ } + QStringList GetHypothesesSets() + { + QStringList aSetNameList; + + // Init list of available hypotheses, if needed + InitAvailableHypotheses(); + + list::iterator hypoSet = myListOfHypothesesSets.begin(); + for ( ; hypoSet != myListOfHypothesesSets.end(); ++hypoSet ) + { + HypothesesSet* aSet = *hypoSet; + if ( aSet && aSet->AlgoList.count() ) { + aSetNameList.append( aSet->HypoSetName ); + } + } + + return aSetNameList; + } + + HypothesesSet* GetHypothesesSet(const QString theSetName) + { + list::iterator hypoSet = myListOfHypothesesSets.begin(); + for ( ; hypoSet != myListOfHypothesesSets.end(); ++hypoSet ) + { + HypothesesSet* aSet = *hypoSet; + if ( aSet && aSet->HypoSetName == theSetName ) + return aSet; + } + return 0; + } + HypothesisData* GetHypothesisData (const char* aHypType) { HypothesisData* aHypData = 0; diff --git a/src/SMESHGUI/SMESHGUI_HypothesesUtils.h b/src/SMESHGUI/SMESHGUI_HypothesesUtils.h index 0edd7793b..a3b932657 100644 --- a/src/SMESHGUI/SMESHGUI_HypothesesUtils.h +++ b/src/SMESHGUI/SMESHGUI_HypothesesUtils.h @@ -42,6 +42,7 @@ #include class HypothesisData; +class HypothesesSet; class SMESHGUI_GenericHypothesisCreator; class SALOMEDSClient_SObject; @@ -53,6 +54,10 @@ namespace SMESH{ const int theDim = -1, const bool isAux = false); + QStringList GetHypothesesSets(); + + HypothesesSet* GetHypothesesSet(const QString theSetName); + HypothesisData* GetHypothesisData(const char* aHypType); SMESHGUI_GenericHypothesisCreator* GetHypothesisCreator(const char* aHypType);