Conscience Core
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
conscience_core::core_objects::element_3d::Csc3dElementModelResolverOffline Class Reference

#include <Csc3dElementModelResolverOffline.h>

Inheritance diagram for conscience_core::core_objects::element_3d::Csc3dElementModelResolverOffline:
conscience_core::core_objects::element_3d::Csc3dElementModelResolver conscience_core::core_objects::element_3d::Csc3dElementModelResolverFromLibraryService

Public Member Functions

 Csc3dElementModelResolverOffline (Csc3dElementType elementType)
 
virtual ~Csc3dElementModelResolverOffline ()
 
virtual ptr< CscResourceSpecgetLogo (ptr< const Csc3dElementModel > model) const override
 
virtual optional< CscWorldElementModelSourceSpecgetModelSource (const string &modelId, optional< CscWorldElementModelFormat > requestedFormat={}, optional< OnProgressCallback > onProgress={}) override
 
virtual ptr< const Csc3dElementModelresolve (const string &modelId, optional< OnProgressCallback > onProgress={}) override
 
virtual vector< string > getAllAvailableIds () const override
 
virtual vector< ptr< const Csc3dElementModel > > getAllAvailableModels (optional< CscWorldElementModelFormat > requestedFormat={}) const override
 
virtual CscEntityModelresolveEntityModel (const string &entityModelId, optional< OnProgressCallback > onProgress={}) override
 
- Public Member Functions inherited from conscience_core::core_objects::element_3d::Csc3dElementModelResolver
 Csc3dElementModelResolver (Csc3dElementType elementType)
 
virtual ~Csc3dElementModelResolver ()
 

Protected Member Functions

fs::path generateLogoPath (const string &modelName) const
 
fs::path resolveLogoPath (const string &modelName) const
 
virtual fs::path generateModelFilePath (const Csc3dElementModel &model, CscWorldElementModelFormat format) const
 
virtual fs::path getModelSourceDirectoryPath (CscWorldElementModelFormat format) const
 

Protected Attributes

CscEntityModelDaeParserdaeParser = nullptr
 
CscEntityModelGlTFLoaderglTFParser = nullptr
 
- Protected Attributes inherited from conscience_core::core_objects::element_3d::Csc3dElementModelResolver
const Csc3dElementType elementType
 

Detailed Description

This entity model resolver implementation relies on conscience resources

Constructor & Destructor Documentation

◆ Csc3dElementModelResolverOffline()

conscience_core::core_objects::element_3d::Csc3dElementModelResolverOffline::Csc3dElementModelResolverOffline ( Csc3dElementType  elementType)

◆ ~Csc3dElementModelResolverOffline()

conscience_core::core_objects::element_3d::Csc3dElementModelResolverOffline::~Csc3dElementModelResolverOffline ( )
virtual

Member Function Documentation

◆ generateLogoPath()

fs::path conscience_core::core_objects::element_3d::Csc3dElementModelResolverOffline::generateLogoPath ( const string &  modelName) const
protected

Create expected logo path

◆ generateModelFilePath()

fs::path conscience_core::core_objects::element_3d::Csc3dElementModelResolverOffline::generateModelFilePath ( const Csc3dElementModel model,
CscWorldElementModelFormat  format 
) const
protectedvirtual

◆ getAllAvailableIds()

vector< string > conscience_core::core_objects::element_3d::Csc3dElementModelResolverOffline::getAllAvailableIds ( ) const
overridevirtual

Gets all available entity models ids

Implements conscience_core::core_objects::element_3d::Csc3dElementModelResolver.

◆ getAllAvailableModels()

vector< ptr< const Csc3dElementModel > > conscience_core::core_objects::element_3d::Csc3dElementModelResolverOffline::getAllAvailableModels ( optional< CscWorldElementModelFormat >  requestedFormat = {}) const
overridevirtual

Gets basic information (fast to fetch) of all available entity models for current resolver. No cache.

Parameters
requestedFormatif specified, filters available models based on format

Implements conscience_core::core_objects::element_3d::Csc3dElementModelResolver.

Reimplemented in conscience_core::core_objects::element_3d::Csc3dElementModelResolverFromLibraryService.

◆ getLogo()

ptr< CscResourceSpec > conscience_core::core_objects::element_3d::Csc3dElementModelResolverOffline::getLogo ( ptr< const Csc3dElementModel elementModel) const
overridevirtual

◆ getModelSource()

optional< CscWorldElementModelSourceSpec > conscience_core::core_objects::element_3d::Csc3dElementModelResolverOffline::getModelSource ( const string &  modelId,
optional< CscWorldElementModelFormat >  requestedFormat = {},
optional< OnProgressCallback onProgress = {} 
)
overridevirtual

Gets 3D model file spec of given entity model id (where to find it, what is its format)

Returns
optional empty if model source cannot be resolved

Implements conscience_core::core_objects::element_3d::Csc3dElementModelResolver.

Reimplemented in conscience_core::core_objects::element_3d::Csc3dElementModelResolverFromLibraryService.

◆ getModelSourceDirectoryPath()

fs::path conscience_core::core_objects::element_3d::Csc3dElementModelResolverOffline::getModelSourceDirectoryPath ( CscWorldElementModelFormat  format) const
protectedvirtual

◆ resolve()

ptr< const Csc3dElementModel > conscience_core::core_objects::element_3d::Csc3dElementModelResolverOffline::resolve ( const string &  modelId,
optional< OnProgressCallback onProgress = {} 
)
overridevirtual

◆ resolveEntityModel()

CscEntityModel * conscience_core::core_objects::element_3d::Csc3dElementModelResolverOffline::resolveEntityModel ( const string &  entityModelId,
optional< OnProgressCallback onProgress = {} 
)
overridevirtual

Resolves Entity Model by its id. This method can be used only with an elementType ENTITY

Implements conscience_core::core_objects::element_3d::Csc3dElementModelResolver.

Reimplemented in conscience_core::core_objects::element_3d::Csc3dElementModelResolverFromLibraryService.

◆ resolveLogoPath()

fs::path conscience_core::core_objects::element_3d::Csc3dElementModelResolverOffline::resolveLogoPath ( const string &  modelName) const
protected

Resolves logo at expected logo path, if not found return default path

Member Data Documentation

◆ daeParser

CscEntityModelDaeParser* conscience_core::core_objects::element_3d::Csc3dElementModelResolverOffline::daeParser = nullptr
protected

◆ glTFParser

CscEntityModelGlTFLoader* conscience_core::core_objects::element_3d::Csc3dElementModelResolverOffline::glTFParser = nullptr
protected

The documentation for this class was generated from the following files: