00981         res.[status_message](../../gazebo_msgs/html/structgazebo__msgs_1_1GetModelStateResponse__.html#a2ac60b79617ca44e69200efbafe6d3ee) = "GetModelState: got properties";
    00982         return true;
    00983       }
    00984     }
    00985 
    [00988](classGazeboROSNode.html#a981d4d5169d7bd4f3198ff1624ac32cb)     bool [getModelProperties](classGazeboROSNode.html#a981d4d5169d7bd4f3198ff1624ac32cb)([gazebo_msgs::GetModelProperties::Request](../../gazebo_msgs/html/structgazebo__msgs_1_1GetModelPropertiesRequest__.html) &req,[gazebo_msgs::GetModelProperties::Response](../../gazebo_msgs/html/structgazebo__msgs_1_1GetModelPropertiesResponse__.html) &res)
    00989     {
    00990       gazebo::Model* model = dynamic_cast<gazebo::Model*>(gazebo::World::Instance()->GetEntityByName(req.[model_name](../../gazebo_msgs/html/structgazebo__msgs_1_1GetModelPropertiesRequest__.html#aec59b6472b1994d20e76b7632e205374)));
    00991       if (!model)
    00992       {
    00993         [ROS_ERROR](../../../api/rosconsole/html/macros__generated_8h.html#a7fb635b03cc608284eadecd2f8becd9a)("GetModelProperties: model [%s] does not exist",req.[model_name](../../gazebo_msgs/html/structgazebo__msgs_1_1GetModelPropertiesRequest__.html#aec59b6472b1994d20e76b7632e205374).c_str());
    00994         res.[success](../../gazebo_msgs/html/structgazebo__msgs_1_1GetModelPropertiesResponse__.html#a37b00b8f7dff2d63ad76237f5d8df7eb) = false;
    00995         res.[status_message](../../gazebo_msgs/html/structgazebo__msgs_1_1GetModelPropertiesResponse__.html#a2cf1722eb607280ff503bd5c78d51fd0) = "GetModelProperties: model does not exist";
    00996         return false;
    00997       }
    00998       else
    00999       {
    01000         // get model parent name
    01001         gazebo::Entity* parent_model = model->GetParent();
    01002         if (parent_model) res.[parent_model_name](../../gazebo_msgs/html/structgazebo__msgs_1_1GetModelPropertiesResponse__.html#a9c1ce8aad7e2df1f3416b10284acdf25) = parent_model->GetName();
    01003 
    01004         // get list of child bodies, geoms
    01005         res.[body_names](../../gazebo_msgs/html/structgazebo__msgs_1_1GetModelPropertiesResponse__.html#a8029852f19a7eff03e9d2c9ac7539369).clear();
    01006         res.[geom_names](../../gazebo_msgs/html/structgazebo__msgs_1_1GetModelPropertiesResponse__.html#a983a7d3fb49a140e26311711058b9c88).clear();
    01007         const std::vector< gazebo::Entity* > entities = model->GetChildren();
    01008         for (std::vector< gazebo::Entity* >::const_iterator eiter = entities.begin();eiter!=entities.end();eiter++)
    01009         {
    01010           gazebo::Body* body = dynamic_cast<gazebo::Body*>(*eiter);
    01011           if (body)
    01012           {
    01013             res.[body_names](../../gazebo_msgs/html/structgazebo__msgs_1_1GetModelPropertiesResponse__.html#a8029852f19a7eff03e9d2c9ac7539369).push_back(body->GetName());
    01014             // get list of geoms
    01015             for (unsigned int [i](../../../api/ivcon/html/ivcon_8c.html#acb559820d9ca11295b4500f179ef6392) = 0; [i](../../../api/ivcon/html/ivcon_8c.html#acb559820d9ca11295b4500f179ef6392) < body->GetGeomCount() ; [i](../../../api/ivcon/html/ivcon_8c.html#acb559820d9ca11295b4500f179ef6392)++)
    01016               res.[geom_names](../../gazebo_msgs/html/structgazebo__msgs_1_1GetModelPropertiesResponse__.html#a983a7d3fb49a140e26311711058b9c88).push_back(body->GetGeom([i](../../../api/ivcon/html/ivcon_8c.html#acb559820d9ca11295b4500f179ef6392))->GetName());
    01017           }
    01018         }
    01019 
    01020         // get list of joints
    01021         res.[joint_names](../../gazebo_msgs/html/structgazebo__msgs_1_1GetModelPropertiesResponse__.html#a4e1a0730644ed5ac3f765b40007ee586).clear();
    01022         unsigned int jc = model->GetJointCount();