mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-03-03 20:15:38 +05:00
Mesh redesine. New fields added to specify whether hypothesis is main or additional one and for storing information about dimensions supported by hypothesis
This commit is contained in:
parent
0d232fb704
commit
f4cb697fcc
@ -34,11 +34,11 @@
|
||||
// QT Includes
|
||||
#include <qstring.h>
|
||||
#include <qwidget.h>
|
||||
#include <qvaluevector.h>
|
||||
|
||||
//=================================================================================
|
||||
// class : SMESHGUI_GenericHypothesisCreator
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
/*!
|
||||
* \brief Auxiliary class for creation of hypotheses
|
||||
*/
|
||||
class SMESHGUI_GenericHypothesisCreator
|
||||
{
|
||||
public:
|
||||
@ -46,30 +46,35 @@ class SMESHGUI_GenericHypothesisCreator
|
||||
virtual void EditHypothesis (SMESH::SMESH_Hypothesis_ptr theHyp) = 0;
|
||||
};
|
||||
|
||||
//=================================================================================
|
||||
// class : HypothesisData
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
/*!
|
||||
* \brief Class containing information about hypothesis
|
||||
*/
|
||||
class HypothesisData
|
||||
{
|
||||
public:
|
||||
HypothesisData (const QString& aPluginName,
|
||||
const QString& aServerLibName,
|
||||
const QString& aClientLibName,
|
||||
const QString& aLabel,
|
||||
const QString& anIconId) :
|
||||
PluginName(aPluginName),
|
||||
ServerLibName(aServerLibName),
|
||||
ClientLibName(aClientLibName),
|
||||
Label(aLabel),
|
||||
IconId(anIconId)
|
||||
HypothesisData( const QString& thePluginName,
|
||||
const QString& theServerLibName,
|
||||
const QString& theClientLibName,
|
||||
const QString& theLabel,
|
||||
const QString& theIconId,
|
||||
const QValueList<int>& theDim,
|
||||
const bool theIsAux )
|
||||
: PluginName( thePluginName ),
|
||||
ServerLibName( theServerLibName ),
|
||||
ClientLibName( theClientLibName ),
|
||||
Label( theLabel ),
|
||||
IconId( theIconId ),
|
||||
Dim( theDim ),
|
||||
IsAux( theIsAux )
|
||||
{};
|
||||
|
||||
QString PluginName;
|
||||
QString ServerLibName;
|
||||
QString ClientLibName;
|
||||
QString Label;
|
||||
QString IconId;
|
||||
QString PluginName; //!< plugin name
|
||||
QString ServerLibName; //!< server library name
|
||||
QString ClientLibName; //!< client library name
|
||||
QString Label; //!< label
|
||||
QString IconId; //!< icon identifier
|
||||
QValueList<int> Dim; //!< list of supported dimensions (see SMESH::Dimension enumeration)
|
||||
bool IsAux; //!< TRUE if given hypothesis is auxiliary one, FALSE otherwise
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -193,7 +193,9 @@ namespace SMESH{
|
||||
}
|
||||
|
||||
|
||||
QStringList GetAvailableHypotheses(const bool isAlgo)
|
||||
QStringList GetAvailableHypotheses( const bool isAlgo,
|
||||
const int theDim,
|
||||
const bool isAux )
|
||||
{
|
||||
QStringList aHypList;
|
||||
|
||||
@ -201,20 +203,14 @@ namespace SMESH{
|
||||
InitAvailableHypotheses();
|
||||
|
||||
// fill list of hypotheses/algorithms
|
||||
THypothesisDataMap* pMap = isAlgo ? &myAlgorithmsMap : &myHypothesesMap;
|
||||
THypothesisDataMap::iterator anIter;
|
||||
if (isAlgo) {
|
||||
anIter = myAlgorithmsMap.begin();
|
||||
for (; anIter != myAlgorithmsMap.end(); anIter++) {
|
||||
for ( anIter = pMap->begin(); anIter != pMap->end(); anIter++ )
|
||||
{
|
||||
HypothesisData* aData = (*anIter).second;
|
||||
if ( ( theDim < 0 || aData->Dim.contains( theDim ) ) && aData->IsAux == isAux )
|
||||
aHypList.append(((*anIter).first).c_str());
|
||||
}
|
||||
}
|
||||
else {
|
||||
anIter = myHypothesesMap.begin();
|
||||
for (; anIter != myHypothesesMap.end(); anIter++) {
|
||||
aHypList.append(((*anIter).first).c_str());
|
||||
}
|
||||
}
|
||||
|
||||
return aHypList;
|
||||
}
|
||||
|
||||
@ -254,9 +250,8 @@ namespace SMESH{
|
||||
|
||||
// 2. Get names of plugin libraries
|
||||
HypothesisData* aHypData = GetHypothesisData(aHypType);
|
||||
if (!aHypData) {
|
||||
if (!aHypData)
|
||||
return aCreator;
|
||||
}
|
||||
QString aClientLibName = aHypData->ClientLibName;
|
||||
QString aServerLibName = aHypData->ServerLibName;
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : SMESHGUI_Hypotheses.h
|
||||
// File : SMESHGUI_HypothesesUtils.h
|
||||
// Author : Julia DOROVSKIKH
|
||||
// Module : SMESH
|
||||
// $Header$
|
||||
@ -49,7 +49,9 @@ namespace SMESH{
|
||||
|
||||
void InitAvailableHypotheses();
|
||||
|
||||
QStringList GetAvailableHypotheses(const bool isAlgo);
|
||||
QStringList GetAvailableHypotheses( const bool isAlgo,
|
||||
const int theDim = -1,
|
||||
const bool isAux = false);
|
||||
|
||||
HypothesisData* GetHypothesisData(const char* aHypType);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user