21 #ifndef _WORLDSTATE_HH_
22 #define _WORLDSTATE_HH_
62 public:
explicit WorldState(
const sdf::ElementPtr _sdf);
71 public:
void Load(
const WorldPtr _world);
77 public:
virtual void Load(
const sdf::ElementPtr _elem);
81 public:
void SetWorld(
const WorldPtr _world);
87 public:
ModelState_M GetModelStates(
const boost::regex &_regex)
const;
101 public:
unsigned int GetModelStateCount()
const;
107 public:
unsigned int LightStateCount()
const;
113 public:
ModelState GetModelState(
const std::string &_modelName)
const;
119 public:
LightState GetLightState(
const std::string &_lightName)
const;
125 public:
bool HasModelState(
const std::string &_modelName)
const;
131 public:
bool HasLightState(
const std::string &_lightName)
const;
136 public:
const std::vector<std::string> &Insertions()
const;
142 public:
void SetInsertions(
const std::vector<std::string> &_insertions);
147 public:
const std::vector<std::string> &Deletions()
const;
152 public:
void SetDeletions(
const std::vector<std::string> &_deletions);
158 public:
bool IsZero()
const;
162 public:
void FillSDF(sdf::ElementPtr _sdf);
167 public:
virtual void SetWallTime(
const common::Time &_time);
171 public:
virtual void SetRealTime(
const common::Time &_time);
175 public:
virtual void SetSimTime(
const common::Time &_time);
180 public:
virtual void SetIterations(
const uint64_t _iterations);
201 public:
inline friend std::ostream &
operator<<(std::ostream &_out,
204 _out <<
"<state world_name='" << _state.
name <<
"'>"
205 <<
"<sim_time>" << _state.
simTime <<
"</sim_time>"
206 <<
"<wall_time>" << _state.
wallTime <<
"</wall_time>"
207 <<
"<real_time>" << _state.
realTime <<
"</real_time>"
208 <<
"<iterations>" << _state.
iterations <<
"</iterations>";
211 if (_state.insertions.size() > 0)
213 _out <<
"<insertions>";
214 for (std::vector<std::string>::const_iterator iter =
215 _state.insertions.begin();
216 iter != _state.insertions.end(); ++iter)
220 _out <<
"</insertions>";
224 if (_state.deletions.size() > 0)
226 _out <<
"<deletions>";
227 for (std::vector<std::string>::const_iterator iter =
228 _state.deletions.begin();
229 iter != _state.deletions.end(); ++iter)
231 _out <<
"<name>" << (*iter) <<
"</name>";
233 _out <<
"</deletions>";
237 for (
const auto &model : _state.modelStates)
239 _out << model.second;
243 for (
const auto &light : _state.lightStates)
245 _out << light.second;
261 private: std::vector<std::string> insertions;
265 private: std::vector<std::string> deletions;
friend std::ostream & operator<<(std::ostream &_out, const gazebo::physics::WorldState &_state)
Stream insertion operator.
Definition: WorldState.hh:201
#define GZ_PHYSICS_VISIBLE
Definition: system.hh:259
std::string name
Name associated with this State.
Definition: State.hh:130
std::map< std::string, LightState > LightState_M
Definition: PhysicsTypes.hh:228
common::Time realTime
Definition: State.hh:133
State of an entity.
Definition: State.hh:49
Store state information of a Light object.
Definition: LightState.hh:37
std::map< std::string, ModelState > ModelState_M
Definition: PhysicsTypes.hh:224
common::Time wallTime
Times for the state data.
Definition: State.hh:133
boost::shared_ptr< World > WorldPtr
Definition: PhysicsTypes.hh:84
common::Time simTime
Definition: State.hh:133
Store state information of a physics::Model object.
Definition: ModelState.hh:48
uint64_t iterations
The number of simulation iterations when this state was generated.
Definition: State.hh:137
Store state information of a physics::World object.
Definition: WorldState.hh:47
A Time class, can be used to hold wall- or sim-time.
Definition: Time.hh:44