17 #ifndef IGNITION_GAZEBO_SERVERCONFIG_HH_ 18 #define IGNITION_GAZEBO_SERVERCONFIG_HH_ 26 #include <sdf/Element.hh> 27 #include <sdf/Root.hh> 28 #include <ignition/gazebo/config.hh> 29 #include <ignition/gazebo/Export.hh> 36 inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE {
38 class ServerConfigPrivate;
63 class PluginInfoPrivate;
93 const sdf::ElementPtr &_sdf);
114 public:
void SetEntityName(
const std::string &_entityName);
126 public:
void SetEntityType(
const std::string &_entityType);
136 public:
void SetFilename(
const std::string &_filename);
150 public:
const sdf::ElementPtr &Sdf()
const;
154 public:
void SetSdf(
const sdf::ElementPtr &_sdf);
189 public:
bool SetSdfString(
const std::string &_sdfString);
200 public:
void SetSdfRoot(
const sdf::Root &_root)
const;
205 public: std::optional<sdf::Root> &SdfRoot()
const;
209 public:
void SetUpdateRate(
const double &_hz);
214 public: std::optional<double> UpdateRate()
const;
218 public:
bool UseLevels()
const;
222 public:
void SetUseLevels(
const bool _levels);
228 public:
bool UseDistributedSimulation()
const;
236 public:
void SetNetworkSecondaries(
unsigned int _secondaries);
242 public:
unsigned int NetworkSecondaries()
const;
251 public:
void SetNetworkRole(
const std::string &_role);
262 public:
bool UseLogRecord()
const;
266 public:
void SetUseLogRecord(
const bool _record);
274 public:
void SetLogRecordPath(
const std::string &_recordPath);
278 public:
void AddLogRecordTopic(
const std::string &_topic);
282 public:
void ClearLogRecordTopics();
295 public:
void SetLogPlaybackPath(
const std::string &_playbackPath);
299 public:
bool LogRecordResources()
const;
303 public:
void SetLogRecordResources(
bool _recordResources);
311 public:
void SetLogRecordCompressPath(
const std::string &_path);
315 public:
unsigned int Seed()
const;
319 public:
void SetSeed(
unsigned int _seed);
324 public: std::optional<std::chrono::steady_clock::duration>
325 UpdatePeriod()
const;
339 public:
void SetResourceCache(
const std::string &_path);
347 public:
void SetPhysicsEngine(
const std::string &_physicsEngine);
351 public:
const std::string &RenderEngineServer()
const;
355 public:
const std::string &RenderEngineGui()
const;
359 public:
void SetHeadlessRendering(
const bool _headless);
363 public:
bool HeadlessRendering()
const;
367 public:
void SetRenderEngineServer(
372 public:
void SetRenderEngineGui(
const std::string &_renderEngineGui);
377 public:
void AddPlugin(
const PluginInfo &_info);
427 IGNITION_GAZEBO_VISIBLE
434 IGNITION_GAZEBO_VISIBLE
459 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:44
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
SourceType
Type of SDF source.
Definition: ServerConfig.hh:47
std::chrono::steady_clock::time_point Timestamp
Information about a plugin that should be loaded by the server.
Definition: ServerConfig.hh:70
This library is part of the Ignition Robotics project.