18 #ifndef _GAZEBO_MODELSTATE_HH_    19 #define _GAZEBO_MODELSTATE_HH_    23 #include <boost/regex.hpp>    25 #include <ignition/math/Vector3.hh>    62                   const common::Time &_simTime, 
const uint64_t _iterations);
    75       public: 
explicit ModelState(
const sdf::ElementPtr _sdf);
    89                   const common::Time &_simTime, 
const uint64_t _iterations);
    95       public: 
virtual void Load(
const sdf::ElementPtr _elem);
   103       public: 
const ignition::math::Vector3d &Scale() 
const;
   107       public: 
bool IsZero() 
const;
   113       public: 
unsigned int GetLinkStateCount() 
const;
   119       public: 
LinkState_M GetLinkStates(
const boost::regex &_regex) 
const;
   125       public: 
JointState_M GetJointStates(
const boost::regex &_regex) 
const;
   134       public: 
LinkState GetLinkState(
const std::string &_linkName) 
const;
   139       public: 
bool HasLinkState(
const std::string &_linkName) 
const;
   149       public: 
unsigned int GetJointStateCount() 
const;
   158       public: 
JointState GetJointState(
unsigned int _index) 
const;
   167       public: 
JointState GetJointState(
const std::string &_jointName) 
const;
   176       public: 
bool HasJointState(
const std::string &_jointName) 
const;
   182       public: 
unsigned int NestedModelStateCount() 
const;
   191       public: 
ModelState NestedModelState(
const std::string &_modelName) 
const;
   196       public: 
bool HasNestedModelState(
const std::string &_modelName) 
const;
   204       public: 
void FillSDF(sdf::ElementPtr _sdf);
   209       public: 
virtual void SetWallTime(
const common::Time &_time);
   213       public: 
virtual void SetRealTime(
const common::Time &_time);
   217       public: 
virtual void SetSimTime(
const common::Time &_time);
   222       public: 
virtual void SetIterations(
const uint64_t _iterations);
   243       public: 
inline friend std::ostream &
operator<<(std::ostream &_out,
   247         _out << std::fixed <<std::setprecision(3)
   248           << 
"<model name='" << _state.
GetName() << 
"'>"   250           << _state.pose.
pos.
x << 
" "   251           << _state.pose.
pos.
y << 
" "   252           << _state.pose.
pos.
z << 
" "   261         for (LinkState_M::const_iterator iter =
   262             _state.linkStates.begin(); iter != _state.linkStates.end();
   265           _out << iter->second;
   268         for (
const auto &ms : _state.modelStates)
   290       private: ignition::math::Vector3d scale;
 double x
X location. 
Definition: Vector3.hh:311
 
Quaternion rot
The rotation. 
Definition: Pose.hh:255
 
double y
Y location. 
Definition: Vector3.hh:314
 
Forward declarations for the common classes. 
Definition: Animation.hh:33
 
std::map< std::string, ModelState > ModelState_M
Definition: PhysicsTypes.hh:224
 
Encapsulates a position and rotation in three space. 
Definition: Pose.hh:37
 
The Vector3 class represents the generic vector containing 3 elements. 
Definition: Vector3.hh:39
 
Vector3 GetAsEuler() const
Return the rotation in Euler angles. 
 
std::map< std::string, JointState > JointState_M
Definition: PhysicsTypes.hh:236
 
State of an entity. 
Definition: State.hh:49
 
double z
Z location. 
Definition: Vector3.hh:317
 
std::string GetName() const
Get the name associated with this State. 
 
keeps track of state of a physics::Joint 
Definition: JointState.hh:46
 
Vector3 pos
The position. 
Definition: Pose.hh:252
 
friend std::ostream & operator<<(std::ostream &_out, const gazebo::physics::ModelState &_state)
Stream insertion operator. 
Definition: ModelState.hh:243
 
boost::shared_ptr< Model > ModelPtr
Definition: PhysicsTypes.hh:88
 
std::map< std::string, LinkState > LinkState_M
Definition: PhysicsTypes.hh:232
 
Store state information of a physics::Model object. 
Definition: ModelState.hh:48
 
Store state information of a physics::Link object. 
Definition: LinkState.hh:49
 
A Time class, can be used to hold wall- or sim-time. 
Definition: Time.hh:44