17 #ifndef IGNITION_GAZEBO_SERVERCONFIG_HH_ 18 #define IGNITION_GAZEBO_SERVERCONFIG_HH_ 26 #include <sdf/Element.hh> 27 #include <ignition/gazebo/config.hh> 28 #include <ignition/gazebo/Export.hh> 35 inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE {
37 class ServerConfigPrivate;
45 class PluginInfoPrivate;
75 const sdf::ElementPtr &_sdf);
96 public:
void SetEntityName(
const std::string &_entityName);
108 public:
void SetEntityType(
const std::string &_entityType);
118 public:
void SetFilename(
const std::string &_filename);
132 public:
const sdf::ElementPtr &Sdf()
const;
136 public:
void SetSdf(
const sdf::ElementPtr &_sdf);
171 public:
bool SetSdfString(
const std::string &_sdfString);
180 public:
void SetUpdateRate(
const double &_hz);
185 public: std::optional<double> UpdateRate()
const;
189 public:
bool UseLevels()
const;
193 public:
void SetUseLevels(
const bool _levels);
199 public:
bool UseDistributedSimulation()
const;
207 public:
void SetNetworkSecondaries(
unsigned int _secondaries);
213 public:
unsigned int NetworkSecondaries()
const;
222 public:
void SetNetworkRole(
const std::string &_role);
233 public:
bool UseLogRecord()
const;
237 public:
void SetUseLogRecord(
const bool _record);
245 public:
void SetLogRecordPath(
const std::string &_recordPath);
249 public:
void AddLogRecordTopic(
const std::string &_topic);
253 public:
void ClearLogRecordTopics();
266 public:
void SetLogPlaybackPath(
const std::string &_playbackPath);
270 public:
bool LogRecordResources()
const;
274 public:
void SetLogRecordResources(
bool _recordResources);
282 public:
void SetLogRecordCompressPath(
const std::string &_path);
286 public:
unsigned int Seed()
const;
290 public:
void SetSeed(
unsigned int _seed);
295 public: std::optional<std::chrono::steady_clock::duration>
296 UpdatePeriod()
const;
310 public:
void SetResourceCache(
const std::string &_path);
318 public:
void SetPhysicsEngine(
const std::string &_physicsEngine);
322 public:
const std::string &RenderEngineServer()
const;
326 public:
const std::string &RenderEngineGui()
const;
330 public:
void SetHeadlessRendering(
const bool _headless);
334 public:
bool HeadlessRendering()
const;
338 public:
void SetRenderEngineServer(
343 public:
void SetRenderEngineGui(
const std::string &_renderEngineGui);
348 public:
void AddPlugin(
const PluginInfo &_info);
394 IGNITION_GAZEBO_VISIBLE
401 IGNITION_GAZEBO_VISIBLE
426 IGNITION_GAZEBO_VISIBLE
std::list< ServerConfig::PluginInfo > loadPluginInfo(bool _isPlayback=false)
Load plugin information, following ordering.
Configuration parameters for a Server. An instance of this object can be used to construct a Server w...
Definition: ServerConfig.hh:43
std::list< ServerConfig::PluginInfo > parsePluginsFromFile(const std::string &_fname)
Parse plugins from XML configuration file.
std::list< ServerConfig::PluginInfo > parsePluginsFromString(const std::string &_str)
Parse plugins from XML configuration string.
Component< std::string, class NameTag, serializers::StringSerializer > Name
This component holds an entity's name. The component has no concept of scoped names nor does it care ...
Definition: Name.hh:37
std::chrono::steady_clock::time_point Timestamp
Information about a plugin that should be loaded by the server.
Definition: ServerConfig.hh:52
This library is part of the Ignition Robotics project.