Add ffmpegtileprovider to the module factory so it can be created like the other tileproviders

This commit is contained in:
Ylva Selling
2022-09-07 00:24:31 -04:00
parent ac58e5374e
commit be0aa8592a
4 changed files with 7 additions and 1 deletions

View File

@@ -47,6 +47,7 @@
#include <modules/globebrowsing/src/tileprovider/tileprovider.h>
#include <modules/globebrowsing/src/tileprovider/tileproviderbyindex.h>
#include <modules/globebrowsing/src/tileprovider/tileproviderbylevel.h>
#include <modules/globebrowsing/src/tileprovider/ffmpegtileprovider.h>
#include <openspace/camera/camera.h>
#include <openspace/documentation/verifier.h>
#include <openspace/engine/globals.h>
@@ -316,6 +317,7 @@ void GlobeBrowsingModule::internalInitialize(const ghoul::Dictionary& dict) {
fTileProvider->registerClass<SizeReferenceTileProvider>("SizeReferenceTileLayer");
fTileProvider->registerClass<TileProviderByLevel>("ByLevelTileLayer");
fTileProvider->registerClass<TileProviderByIndex>("ByIndexTileLayer");
fTileProvider->registerClass<FfmpegTileProvider>("VideoTileLayer");
ghoul::TemplateFactory<DashboardItem>* fDashboard =
FactoryManager::ref().factory<DashboardItem>();

View File

@@ -477,6 +477,7 @@ void Layer::initializeBasedOnType(layers::Layer::ID id, ghoul::Dictionary initDi
case layers::Layer::ID::TileIndexTileLayer:
case layers::Layer::ID::ByIndexTileLayer:
case layers::Layer::ID::ByLevelTileLayer:
case layers::Layer::ID::VideoTileLayer:
// We add the id to the dictionary since it needs to be known by
// the tile provider
initDict.setValue(
@@ -488,6 +489,7 @@ void Layer::initializeBasedOnType(layers::Layer::ID id, ghoul::Dictionary initDi
LDEBUG("Initializing tile provider for layer: '" + name + "'");
}
_tileProvider = TileProvider::createFromDictionary(id, std::move(initDict));
break;
case layers::Layer::ID::SolidColor:
if (initDict.hasValue<glm::dvec3>(ColorInfo.identifier)) {

View File

@@ -68,6 +68,7 @@ struct Layer {
ByLevelTileLayer,
SolidColor,
SpoutImageTileLayer,
VideoTileLayer,
Unknown
};

View File

@@ -66,7 +66,8 @@ enum class Type {
TileIndexTileProvider,
ByIndexTileProvider,
ByLevelTileProvider,
InterpolateTileProvider
InterpolateTileProvider,
FfmpegTileProvider
};