Gazebo Sim

API Reference

8.7.0
Util.hh File Reference
#include <gz/msgs/entity.pb.h>
#include <memory>
#include <string>
#include <unordered_set>
#include <vector>
#include <gz/common/Mesh.hh>
#include <gz/math/Pose3.hh>
#include <sdf/Mesh.hh>
#include "gz/sim/components/Environment.hh"
#include "gz/sim/config.hh"
#include "gz/sim/Entity.hh"
#include "gz/sim/EntityComponentManager.hh"
#include "gz/sim/Export.hh"
#include "gz/sim/Types.hh"

Go to the source code of this file.

Namespaces

 gz
 This library is part of the Gazebo project.
 
 gz::sim
 Gazebo is a leading open source robotics simulator, that provides high fidelity physics, rendering, and sensor simulation.
 

Functions

void addResourcePaths (const std::vector< std::string > &_paths={})
 Add resource paths based on latest environment variables. This will update the SDF and Gazebo environment variables, and optionally add more paths to the list. More...
 
std::string asFullPath (const std::string &_uri, const std::string &_filePath)
 Combine a URI and a file path into a full path. If the URI is already a full path or contains a scheme, it won't be modified. If the URI is a relative path, the file path will be prepended. More...
 
template<class ComponentType >
bool enableComponent (EntityComponentManager &_ecm, Entity _entity, bool _enable=true)
 Helper function to "enable" a component (i.e. create it if it doesn't exist) or "disable" a component (i.e. remove it if it exists). More...
 
std::unordered_set< Entity > entitiesFromScopedName (const std::string &_scopedName, const EntityComponentManager &_ecm, Entity _relativeTo=kNullEntity, const std::string &_delim="::")
 Helper function to get an entity given its scoped name. The scope may start at any level by default. For example, in this hierarchy: More...
 
Entity entityFromMsg (const EntityComponentManager &_ecm, const msgs::Entity &_msg)
 Helper function to get an entity from an entity message. The returned entity is not guaranteed to exist. More...
 
ComponentTypeId entityTypeId (const Entity &_entity, const EntityComponentManager &_ecm)
 Generally, each entity will be of some specific high-level type, such as World, Sensor, Collision, etc, and one type only. The entity type is usually marked by having some component that represents that type, such as components::Visual. More...
 
std::string entityTypeStr (const Entity &_entity, const EntityComponentManager &_ecm)
 Generally, each entity will be of some specific high-level type, such as "world", "sensor", "collision", etc, and one type only. More...
 
std::optional< math::Vector3dgetGridFieldCoordinates (const EntityComponentManager &_ecm, const math::Vector3d &_worldPosition, const std::shared_ptr< components::EnvironmentalData > &_gridField)
 Get grid field coordinates based on a world position in cartesian coordinate frames. More...
 
const common::Mesh * loadMesh (const sdf::Mesh &_meshSdf)
 Load a mesh from a Mesh SDF DOM. More...
 
const common::Mesh * optimizeMesh (const sdf::Mesh &_meshSdf, const common::Mesh &_mesh)
 Optimize input mesh. More...
 
math::Vector3d relativeVel (const Entity &_entity, const EntityComponentManager &_ecm)
 Helper function to compute world velocity of an entity. More...
 
std::string removeParentScope (const std::string &_name, const std::string &_delim)
 Helper function to remove a parent scope from a given name. This removes the first name found before the delimiter. More...
 
std::string resolveSdfWorldFile (const std::string &_sdfFilename, const std::string &_fuelResourceCache="")
 Convert an SDF world filename string, such as "shapes.sdf", to full system file path. The provided SDF filename may be a Fuel URI, relative path, name of an installed Gazebo world filename, or an absolute path. More...
 
std::vector< std::stringresourcePaths ()
 Get resource paths based on latest environment variables. More...
 
std::string scopedName (const Entity &_entity, const EntityComponentManager &_ecm, const std::string &_delim="/", bool _includePrefix=true)
 Helper function to generate scoped name for an entity. More...
 
std::optional< math::Vector3dsphericalCoordinates (Entity _entity, const EntityComponentManager &_ecm)
 Get the spherical coordinates for an entity. More...
 
std::string topicFromScopedName (const Entity &_entity, const EntityComponentManager &_ecm, bool _excludeWorld=true)
 Helper function that returns a valid Gazebo Transport topic consisting of the scoped name for the provided entity. More...
 
Entity topLevelModel (const Entity &_entity, const EntityComponentManager &_ecm)
 Get the top level model of an entity. More...
 
std::string validTopic (const std::vector< std::string > &_topics)
 Helper function to generate a valid transport topic, given a list of topics ordered by preference. The generated topic will be, in this order: More...
 
Entity worldEntity (const Entity &_entity, const EntityComponentManager &_ecm)
 Get the world to which the given entity belongs. More...
 
Entity worldEntity (const EntityComponentManager &_ecm)
 Get the first world entity that's found. More...
 
math::Pose3d worldPose (const Entity &_entity, const EntityComponentManager &_ecm)
 Helper function to compute world pose of an entity. More...
 

Variables

const std::string kRenderPluginPathEnv {"GZ_SIM_RENDER_ENGINE_PATH"}
 Environment variable holding paths to custom rendering engine plugins. More...
 
const std::string kResourcePathEnv {"GZ_SIM_RESOURCE_PATH"}
 Environment variable holding resource paths. More...
 
const std::string kSdfPathEnv {"SDF_PATH"}
 Environment variable used by SDFormat to find URIs inside <include> More...
 
const std::string kServerConfigPathEnv {"GZ_SIM_SERVER_CONFIG_PATH"}
 Environment variable holding server config paths. More...