17#ifndef GAZEBO_COMMON_FUELMODELDATABASE_HH_
18#define GAZEBO_COMMON_FUELMODELDATABASE_HH_
24#include <ignition/fuel_tools/ClientConfig.hh>
25#include <ignition/fuel_tools/ModelIdentifier.hh>
31#define GZ_MODEL_MANIFEST_FILENAME "model.config"
34#define GZ_MODEL_DB_MANIFEST_FILENAME "database.config"
44 class FuelModelDatabasePrivate;
63 public: std::vector<ignition::fuel_tools::ServerConfig>
Servers()
const;
74 const ignition::fuel_tools::ServerConfig &_server,
76 const std::vector<ignition::fuel_tools::ModelIdentifier> &)>
85 public:
virtual std::vector<ignition::fuel_tools::ModelIdentifier>
86 Models(
const ignition::fuel_tools::ServerConfig &_server)
const;
94 public: std::string
ModelFile(
const std::string &_uri);
104 const bool _forceDownload =
false);
112 private: std::unique_ptr<FuelModelDatabasePrivate> dataPtr;
gazebo
Definition FuelModelDatabase.hh:37
common
Definition FuelModelDatabase.hh:37
Singleton template class.
Definition SingletonT.hh:34
Connects to an Igniiton Fuel model database, and has utility functions to find models.
Definition FuelModelDatabase.hh:54
virtual void Models(const ignition::fuel_tools::ServerConfig &_server, std::function< void(const std::vector< ignition::fuel_tools::ModelIdentifier > &)> &_func)
Get the list of all models via a callback.
std::vector< ignition::fuel_tools::ServerConfig > Servers() const
Get all the Ignition Fuel servers.
#define GZ_SINGLETON_DECLARE(visibility, n1, n2, singletonType)
Helper to declare typed SingletonT.
Definition SingletonT.hh:58
std::string ModelPath(const std::string &_uri, const bool _forceDownload=false)
Get the local path to a model.
std::string CachedFilePath(const std::string &_uri)
Get the full local path to a cached file based on its URI.
std::string ModelFile(const std::string &_uri)
Get a model's SDF file based on a URI.
virtual std::vector< ignition::fuel_tools::ModelIdentifier > Models(const ignition::fuel_tools::ServerConfig &_server) const
Get the list of all models.
Forward declarations for the common classes.
Definition Animation.hh:27