1 #ifndef Csc3dElementModelResolverOffline_h
2 #define Csc3dElementModelResolverOffline_h
24 virtual optional<CscWorldElementModelSourceSpec> getModelSource(
const string &modelId, optional<CscWorldElementModelFormat> requestedFormat = {}, optional<OnProgressCallback>
onProgress = {})
override;
26 virtual vector<string> getAllAvailableIds()
const override;
27 virtual vector<ptr<const Csc3dElementModel>> getAllAvailableModels(optional<CscWorldElementModelFormat> requestedFormat = {})
const override;
28 virtual CscEntityModel *resolveEntityModel(
const string &entityModelId, optional<OnProgressCallback>
onProgress = {})
override;
37 fs::path generateLogoPath(
const string &modelName)
const;
41 fs::path resolveLogoPath(
const string &modelName)
const;
43 virtual fs::path generateModelFilePath(
const Csc3dElementModel &model, CscWorldElementModelFormat format)
const;
44 virtual fs::path getModelSourceDirectoryPath(CscWorldElementModelFormat format)
const;
47 unique_ptr<CscLogger>
logger;
50 void collectModelInfoFromDirectory(
const fs::path &modelsDirectory, vector<
ptr<const Csc3dElementModel>> &allModels, vector<string> &loadedModelIds)
const;
54 optional<fs::path> findModelFile(
const fs::path &modelsDir,
const string &modelId,
const string &expectedExtension)
const;
56 static inline const string DEFAULT_LOGO_NAME =
"default_logo.png";