RasterProcessTool/RasterMainWidgetGUI/RasterMainWidget/tmsproviderfactory.cpp

40 lines
886 B
C++
Raw Normal View History

#include <tmsproviderfactory.h>
#include <ostnormalprovider.h>
#include <gaodenormalprovider.h>
2025-02-07 09:16:22 +00:00
#pragma execution_character_set("utf-8")
namespace LAMPMainWidget {
2025-04-01 10:23:24 +00:00
QHash<TmsProviders, LayerProvider*> TmsProviderFactory::mProviders{};
2025-02-07 09:16:22 +00:00
2025-04-01 10:23:24 +00:00
LayerProvider*
TmsProviderFactory::create(LAMPMainWidget::TmsProviders provider) {
LayerProvider* result = nullptr;
switch (provider) {
case OSTNormalMap:
if (mProviders.contains(OSTNormalMap)) {
result = mProviders.value(OSTNormalMap);
}
else {
result = new OSTNormalProvider();
mProviders.insert(OSTNormalMap, result);
}
break;
case GaodeNormapMap:
if (mProviders.contains(GaodeNormapMap)) {
result = mProviders.value(GaodeNormapMap);
}
else {
result = new GaodeNormalProvider();
mProviders.insert(GaodeNormapMap, result);
}
break;
default:break;
}
2025-02-07 09:16:22 +00:00
2025-04-01 10:23:24 +00:00
return result;
}
2025-02-07 09:16:22 +00:00
}