CActor | This class provides wrappers around entities and components which are more convenient and straight-forward to use than dealing with the EntityComponentManager directly. All the functions provided here are meant to be used with a actor entity |
CAddressContent | All the information associated to an address |
CAnimationTimeSerializer | |
CAnimationUpdateData | Data structure for updating skeleton animations |
►CBaseComponent | Base class for all components |
CComponent< DataType, Identifier, Serializer > | A component type that wraps any data type. The intention is for this class to be used to create simple components while avoiding a lot of boilerplate code. The Identifier must be a unique type so that type aliases can be used to create new components. However the type does not need to be defined anywhere eg |
CComponent< NoData, Identifier, Serializer > | Specialization for components that don't wrap any data. This class to be used to create simple components that represent just a "tag", while avoiding a lot of boilerplate code. The Identifier must be a unique type so that type aliases can be used to create new components. However the type does not need to be defined anywhere eg |
CBatteryPowerLoadInfo | Data structure to hold the consumer power load and the name of the battery it uses |
CBroker | A class to store messages to be delivered using a comms model. This class should be used in combination with a specific comms model that implements the ICommsModel interface |
CCabinAtTarget | Action that cleans up the target queue when the cabin reaches the target floor level |
CCabinAtTarget | Event that signifies the cabin has reached the target floor level |
CCabinAtTarget | Guard that checks whether the cabin is at the target floor level |
CCanonicalLinkModelTracker | Helper class that keeps track of which models have a particular canonical link. This is useful in the physics system for updating model poses - if a canonical link moved in the most recent physics step, then all of the models that have this canonical link should be updated. It's important to preserve topological ordering of the models in case there's a nested model that shares the same canonical link (in a case like this, the parent model pose needs to be updated before updating the child model pose - see the documentation that explains how model pose updates are calculated in PhysicsPrivate::UpdateSim to understand why nested model poses need to be updated in topological order) |
CElevatorStateMachineDef::CloseDoorState | State at which the elevator is closing a door |
►CComponentDescriptorBase | A base class for an object responsible for creating components |
CComponentDescriptor< ComponentTypeT > | A class for an object responsible for creating components |
CComponentDescriptorQueue | A class to hold the queue of component descriptors registered by translation units. This queue is necessary to ensure that component creation continues to work after plugins are unloaded. The typical scenario this aims to solve is: |
CComponentToMsgSerializer< DataType, MsgType > | Serialization for that converts components data types to gz::msgs. This assumes that gz::sim::convert<DataType> is defined |
CDefaultSerializer< DataType > | Default serializer template to call stream operators only on types that support them. If the stream operator is not available, a warning message is printed |
CDefaultSerializer< components::NoData > | Specialization of DefaultSerializer for NoData |
CDetachableJointInfo | Data structure to hold information about the parent and child links connected by a detachable joint |
CDetachableJointInfoSerializer | Serializer for DetachableJointInfo object |
CDisplay | Data used by the DisplayData() function to filter and sort the resources to be displayed |
CDoorClosed | Event that signifies the door at the target floor level has been closed |
CDoorOpen | Event that signifies the door at the target floor level has been opened |
CDoorTimer | Timer that's used to keep a door open. It has a configurable default wait duration that when exceeded, it calls a function to let the state machine know to transition to the next state. The timer also checks whether the doorway is blocked, in which case it keeps the door open until whatever blocks the doorway moves out of the way |
CEigenTwist | Struct containing linear and angular velocities |
CElevatorStateMachinePrivate | |
CEnqueueNewTarget< trigger > | Action that enqueues a new target in the target queue |
CEnqueueNewTarget | Event that signifies there is a new target that needs to be enqueued |
CEntityComponentManager | The EntityComponentManager constructs, deletes, and returns components and entities. A component can be of any class which inherits from components::BaseComponent |
CEntityFeatureMap< PhysicsEntityT, PolicyT, RequiredFeatureList, OptionalFeatureLists > | |
CEventManager | The EventManager is used to send/receive notifications of simulator events |
►Cfalse_type [external] | |
CIsSharedPtr< T > | Helper trait to determine if a type is shared_ptr or not |
CFrameData | Frame data of a link including its pose and linear velocity in world frame as well as its angular velocity in body frame |
CHasGazeboConvert< In, Out > | Type trait that determines if an ignition::gazebo::convert from In to Out is defined. Usage: |
CIsInState< TargetState > | Guard that checks whether the state machine is in a given state |
CIsInStreamable< Stream, DataType > | Type trait that determines if a operator>> is defined on Stream and DataType , i.e, it checks if the function Stream& operator>>(Stream&, DataType&) exists. Example: |
CIsOutStreamable< Stream, DataType > | Type trait that determines if a operator<< is defined on Stream and DataType , i.e, it checks if the function Stream& operator<<(Stream&, const DataType&) exists. Example: |
►CISystemConfigure | Interface for a system that implements optional configuration |
►CICommsModel | Abstract interface to define how the environment should handle communication simulation. As an example, this class could be responsible for handling dropouts, decay and packet collisions |
CPerfectComms | An example of a comms model. This model always delivers any message to its destination |
CRFComms | A comms model that simulates communication using radio frequency (RF) devices. The model uses a log-distance path loss function |
CAckermannSteering | Ackermann steering controller which can be attached to a model with any number of left and right wheels |
CApplyJointForce | This system applies a force to the first axis of a specified joint |
CApplyLinkWrench | Exposes transport topics and SDF params for applying forces and torques to links in simulation. It should be attached to a world |
CBreadcrumbs | A system for creating Breadcrumbs in the form of models that can get deployed/spawned at the location of the model to which this system is attached. Each breadcrumb is a complete sdf::Model. When deployed, the pose of the breadcrumb model is offset from the containing model by the pose specified in the <pose> element of the breadcrumb model. A name is generated for the breadcrumb by appending the current count of deployments to the name specified in the breadcrumb <model> element. The model specified in the <breadcrumb> parameter serves as a template for deploying multiple breadcrumbs of the same type. Including models from Fuel is accomplished by creating a <model> that includes the Fuel model using the <include> tag. See the example in examples/worlds/breadcrumbs.sdf |
CBuoyancy | A system that simulates buoyancy of objects immersed in fluid. All SDF parameters are optional. This system must be attached to the world and this system will apply buoyancy to all links that have collision shapes |
CBuoyancyEnginePlugin | This class provides a simple mechanical bladder which is used to control the buoyancy of an underwater glider. It uses Archimedes' principle to apply an upward force based on the volume of the bladder. It listens to the topic buoyancy_engine or /model/{namespace}/buoyancy_engine topic for the volume of the bladder in cubicmeters |
CCameraVideoRecorder | Record video from a camera sensor The system takes in the following parameter: <service> Name of topic for the video recorder service. If this is not specified, the topic defaults to: /world/<world_name/model/<model_name>/link/<link_name>/ sensor/<sensor_name>/record_video |
CCommsEndpoint | A system that registers in the comms broker an endpoint. You're creating an address attached to the model where the plugin is running. The system will bind this address in the broker automatically for you and unbind it when the model is destroyed |
CDetachableJoint | A system that initially attaches two models via a fixed joint and allows for the models to get detached during simulation via a topic. A model can be re-attached during simulation via a topic. The status of the detached state can be monitored via a topic as well |
CDiffDrive | Differential drive controller which can be attached to a model with any number of left and right wheels |
CElevator | System that controls an elevator. It closely models the structure and functionality of a real elevator. It individually controls the cabin and doors of the elevator, queues commands for the elevator and stops at intermediate floors if a command is received while the last one is ongoing, and keeps a door open if the doorway is blocked. The model of the elevator can have arbitrarily many floor levels and at arbitrary heights each |
CFollowActor | Make an actor follow a target entity in the world |
CHydrodynamics | This class provides hydrodynamic behaviour for underwater vehicles It is shamelessly based off Brian Bingham's plugin for VRX. which in turn is based of Fossen's equations described in "Guidance and
Control of Ocean Vehicles" [1]. The class should be used together with the buoyancy plugin to help simulate behaviour of maritime vehicles. Hydrodynamics refers to the behaviour of bodies in water. It includes forces like linear and quadratic drag, buoyancy (not provided by this plugin), etc |
CJointController | Joint controller which can be attached to a model with a reference to a single joint. Currently only the first axis of a joint is actuated |
CJointPositionController | Joint position controller which can be attached to a model with a reference to a single joint |
CJointStatePublisher | The JointStatePub system publishes state information for a model. The published message type is gz::msgs::Model, and the publication topic is determined by the <topic> parameter |
CJointTrajectoryController | Joint trajectory controller, which can be attached to a model with reference to one or more 1-axis joints in order to follow a trajectory |
CKineticEnergyMonitor | A system that monitors the kinetic energy of a link in a model and publishes when there is a lost of kinetic energy during a timestep that surpasses a specific threshold. This system can be used to detect when a model could be damaged |
CLabel | A label plugin that annotates models by setting the label for the parent entity's visuals. The plugin can be attached to models, visuals, or actors |
CLiftDrag | The LiftDrag system computes lift and drag forces enabling simulation of aerodynamic robots |
CLinearBatteryPlugin | A plugin for simulating battery usage |
CLogicalAudioSensorPlugin | A plugin for logical audio detection |
CLogPlayback | Log state playback |
CLogRecord | Log state recorder |
CLogVideoRecorder | System which recordings videos from log playback There are two ways to specify what entities in the log playback to follow and record videos for: 1) by entity name and 2) by region. See the following parameters: |
CMecanumDrive | Mecanum drive controller which can be attached to a model with any number of front/back left/right wheels |
CModelPhotoShoot | This plugin is a port of the old ModelPropShop plugin from gazebo classic. It generates 5 pictures of a model: perspective, top, front, side and back. It can do it using the default position or moving the joint to random positions. It allows saving the camera and joint poses so it can be replicated in other systems |
CMulticopterMotorModel | This system applies a thrust force to models with spinning propellers. See examples/worlds/quadcopter.sdf for a demonstration |
CMulticopterVelocityControl | This is a velocity controller for multicopters that allows control over the linear velocity and the yaw angular velocity of the vehicle. The velocities are expressed in the body frame of the vehicle. A vehicle with at least 4 rotors is required for the controller to function |
COdometryPublisher | Odometry Publisher which can be attached to any entity in order to periodically publish 2D or 3D odometry data in the form of ignition::msgs::Odometry messages |
COpticalTactilePlugin | Plugin that implements an optical tactile sensor |
CParticleEmitter | A system for creating a particle emitter |
CParticleEmitter2 | A system for running and managing particle emitters. A particle emitter is defined using the <particle_emitter> SDF element |
CPerformerDetector | A system system that publishes on a topic when a performer enters or leaves a specified region |
CPhysics | Base class for a System. Includes optional parameter : <include_entity_names>. When set to false, the name of colliding entities is not populated in the contacts. Remains true by default. Usage : |
CPosePublisher | Pose publisher system. Attach to an entity to publish the transform of its child entities in the form of gz::msgs::Pose messages, or a single gz::msgs::Pose_V message if "use_pose_vector_msg" is true |
CSceneBroadcaster | System which periodically publishes an gz::msgs::Scene message with updated information |
CSensors | A system that manages sensors |
CShaderParam | A plugin for setting shaders to a visual and its params |
CThermal | A thermal plugin that sets the temperature for the parent entity |
CThermalSensor | A thermal sensor plugin for configuring thermal sensor properties |
CThruster | This plugin simulates a maritime thruster for boats and underwater vehicles. It uses the equations described in Fossen's "Guidance and Control of Ocean Vehicles" in page 246. This plugin takes in force in Newtons and applies it to the thruster. It also calculates the theoretical angular velocity of the blades and spins them accordingly |
CTouchPlugin | Plugin which checks if a model has touched some specific target for a given time continuously and exclusively. After the touch is completed, the plugin is disabled. It can be re-enabled through an Ignition transport service |
CTrackController | Controller of a track on either a conveyor belt or a tracked vehicle. The system should be attached to a model. If implementing a tracked vehicle, use also TrackedVehicle system |
CTrackedVehicle | Tracked vehicle controller which can be attached to a model with any number of left and right tracks. The system should be attached to a model. Each track has to have a TrackController system configured and running |
CTrajectoryFollower | A plugin that scripts the movement of a model based on waypoints. Note that at this point, the trajectory is always in 2D (x, y). The plugin applies a torque until the model is aligned with the next waypoint. Then, it applies a force until the model is close enough to the waypoint |
CTriggeredPublisher | The triggered publisher system publishes a user specified message on an output topic in response to an input message that matches user specified criteria. It can also call a user specified service as an output in response to an input message. It currently supports blocking service call. An optional simulation time delay can be used delay message publication |
CUserCommands | This system provides an Ignition Transport interface to execute commands while simulation is running |
CVelocityControl | Linear and angular velocity controller which is directly set on a model |
CWheelSlip | A system that updates wheel slip parameters based on linear wheel spin velocity (radius * spin rate). It currently assumes that the fdir1 friction parameter is set parallel to the joint axis (often [0 0 1]) and that the link origin is on the joint axis. The slip parameter is a Force-Dependent Slip (slip1, slip2) and it has units of velocity / force (m / s / N), similar to the inverse of a viscous damping coefficient. The slip_compliance parameters specified in this plugin are unitless, representing the lateral or longitudinal slip ratio (see https://en.wikipedia.org/wiki/Slip_(vehicle_dynamics) ) to tangential force ratio (tangential / normal force). Note that the maximum force ratio is the friction coefficient. At each time step, these compliances are multiplied by the linear wheel spin velocity and divided by the wheel_normal_force parameter specified below in order to match the units of the slip parameters |
CWindEffects | A system that simulates a simple wind model. The wind is described as a uniform worldwide model. So it is independent from model position for simple computations. Its components are computed separately: |
CISystemConfigureParameters | Interface for a system that declares parameters |
►CISystemPostUpdate | Interface for a system that uses the PostUpdate phase |
CAckermannSteering | Ackermann steering controller which can be attached to a model with any number of left and right wheels |
CAirPressure | An air pressure sensor that reports vertical position and velocity readings over ign transport |
CAltimeter | An altimeter sensor that reports vertical position and velocity readings over ign transport |
CCameraVideoRecorder | Record video from a camera sensor The system takes in the following parameter: <service> Name of topic for the video recorder service. If this is not specified, the topic defaults to: /world/<world_name/model/<model_name>/link/<link_name>/ sensor/<sensor_name>/record_video |
CColladaWorldExporter | A plugin that exports a world to a mesh. When loaded the plugin will dump a mesh containing all the models in the world to the current directory |
CContact | Contact sensor system which manages all contact sensors in simulation |
CDiffDrive | Differential drive controller which can be attached to a model with any number of left and right wheels |
CElevator | System that controls an elevator. It closely models the structure and functionality of a real elevator. It individually controls the cabin and doors of the elevator, queues commands for the elevator and stops at intermediate floors if a command is received while the last one is ongoing, and keeps a door open if the doorway is blocked. The model of the elevator can have arbitrarily many floor levels and at arbitrary heights each |
CForceTorque | This system manages all Force-Torque sensors in simulation. Each FT sensor reports readings over Ignition Transport |
CImu | This system manages all IMU sensors in simulation. Each IMU sensor eports vertical position, angular velocity and lienar acceleration readings over Ignition Transport |
CJointStatePublisher | The JointStatePub system publishes state information for a model. The published message type is gz::msgs::Model, and the publication topic is determined by the <topic> parameter |
CKineticEnergyMonitor | A system that monitors the kinetic energy of a link in a model and publishes when there is a lost of kinetic energy during a timestep that surpasses a specific threshold. This system can be used to detect when a model could be damaged |
CLinearBatteryPlugin | A plugin for simulating battery usage |
CLogicalAudioSensorPlugin | A plugin for logical audio detection |
CLogicalCamera | A logical camera sensor that reports objects detected within its frustum readings over ign transport |
CLogRecord | Log state recorder |
CLogVideoRecorder | System which recordings videos from log playback There are two ways to specify what entities in the log playback to follow and record videos for: 1) by entity name and 2) by region. See the following parameters: |
CMagnetometer | An magnetometer sensor that reports the magnetic field in its current location |
CMecanumDrive | Mecanum drive controller which can be attached to a model with any number of front/back left/right wheels |
CNavSat | System that handles navigation satellite sensors, such as GPS, that reports position and velocity in spherical coordinates (latitude / longitude) over Ignition Transport |
COdometryPublisher | Odometry Publisher which can be attached to any entity in order to periodically publish 2D or 3D odometry data in the form of ignition::msgs::Odometry messages |
COpticalTactilePlugin | Plugin that implements an optical tactile sensor |
CPerformerDetector | A system system that publishes on a topic when a performer enters or leaves a specified region |
CPosePublisher | Pose publisher system. Attach to an entity to publish the transform of its child entities in the form of gz::msgs::Pose messages, or a single gz::msgs::Pose_V message if "use_pose_vector_msg" is true |
CSceneBroadcaster | System which periodically publishes an gz::msgs::Scene message with updated information |
CSensors | A system that manages sensors |
CThruster | This plugin simulates a maritime thruster for boats and underwater vehicles. It uses the equations described in Fossen's "Guidance and Control of Ocean Vehicles" in page 246. This plugin takes in force in Newtons and applies it to the thruster. It also calculates the theoretical angular velocity of the blades and spins them accordingly |
CTouchPlugin | Plugin which checks if a model has touched some specific target for a given time continuously and exclusively. After the touch is completed, the plugin is disabled. It can be re-enabled through an Ignition transport service |
CTrackedVehicle | Tracked vehicle controller which can be attached to a model with any number of left and right tracks. The system should be attached to a model. Each track has to have a TrackController system configured and running |
CVelocityControl | Linear and angular velocity controller which is directly set on a model |
►CISystemPreUpdate | Interface for a system that uses the PreUpdate phase |
CICommsModel | Abstract interface to define how the environment should handle communication simulation. As an example, this class could be responsible for handling dropouts, decay and packet collisions |
CAckermannSteering | Ackermann steering controller which can be attached to a model with any number of left and right wheels |
CAirPressure | An air pressure sensor that reports vertical position and velocity readings over ign transport |
CAltimeter | An altimeter sensor that reports vertical position and velocity readings over ign transport |
CApplyJointForce | This system applies a force to the first axis of a specified joint |
CApplyLinkWrench | Exposes transport topics and SDF params for applying forces and torques to links in simulation. It should be attached to a world |
CBreadcrumbs | A system for creating Breadcrumbs in the form of models that can get deployed/spawned at the location of the model to which this system is attached. Each breadcrumb is a complete sdf::Model. When deployed, the pose of the breadcrumb model is offset from the containing model by the pose specified in the <pose> element of the breadcrumb model. A name is generated for the breadcrumb by appending the current count of deployments to the name specified in the breadcrumb <model> element. The model specified in the <breadcrumb> parameter serves as a template for deploying multiple breadcrumbs of the same type. Including models from Fuel is accomplished by creating a <model> that includes the Fuel model using the <include> tag. See the example in examples/worlds/breadcrumbs.sdf |
CBuoyancy | A system that simulates buoyancy of objects immersed in fluid. All SDF parameters are optional. This system must be attached to the world and this system will apply buoyancy to all links that have collision shapes |
CBuoyancyEnginePlugin | This class provides a simple mechanical bladder which is used to control the buoyancy of an underwater glider. It uses Archimedes' principle to apply an upward force based on the volume of the bladder. It listens to the topic buoyancy_engine or /model/{namespace}/buoyancy_engine topic for the volume of the bladder in cubicmeters |
CCommsEndpoint | A system that registers in the comms broker an endpoint. You're creating an address attached to the model where the plugin is running. The system will bind this address in the broker automatically for you and unbind it when the model is destroyed |
CContact | Contact sensor system which manages all contact sensors in simulation |
CDetachableJoint | A system that initially attaches two models via a fixed joint and allows for the models to get detached during simulation via a topic. A model can be re-attached during simulation via a topic. The status of the detached state can be monitored via a topic as well |
CDiffDrive | Differential drive controller which can be attached to a model with any number of left and right wheels |
CFollowActor | Make an actor follow a target entity in the world |
CForceTorque | This system manages all Force-Torque sensors in simulation. Each FT sensor reports readings over Ignition Transport |
CHydrodynamics | This class provides hydrodynamic behaviour for underwater vehicles It is shamelessly based off Brian Bingham's plugin for VRX. which in turn is based of Fossen's equations described in "Guidance and
Control of Ocean Vehicles" [1]. The class should be used together with the buoyancy plugin to help simulate behaviour of maritime vehicles. Hydrodynamics refers to the behaviour of bodies in water. It includes forces like linear and quadratic drag, buoyancy (not provided by this plugin), etc |
CImu | This system manages all IMU sensors in simulation. Each IMU sensor eports vertical position, angular velocity and lienar acceleration readings over Ignition Transport |
CJointController | Joint controller which can be attached to a model with a reference to a single joint. Currently only the first axis of a joint is actuated |
CJointPositionController | Joint position controller which can be attached to a model with a reference to a single joint |
CJointTrajectoryController | Joint trajectory controller, which can be attached to a model with reference to one or more 1-axis joints in order to follow a trajectory |
CLiftDrag | The LiftDrag system computes lift and drag forces enabling simulation of aerodynamic robots |
CLinearBatteryPlugin | A plugin for simulating battery usage |
CLogicalAudioSensorPlugin | A plugin for logical audio detection |
CLogicalCamera | A logical camera sensor that reports objects detected within its frustum readings over ign transport |
CLogRecord | Log state recorder |
CMagnetometer | An magnetometer sensor that reports the magnetic field in its current location |
CMecanumDrive | Mecanum drive controller which can be attached to a model with any number of front/back left/right wheels |
CModelPhotoShoot | This plugin is a port of the old ModelPropShop plugin from gazebo classic. It generates 5 pictures of a model: perspective, top, front, side and back. It can do it using the default position or moving the joint to random positions. It allows saving the camera and joint poses so it can be replicated in other systems |
CMulticopterMotorModel | This system applies a thrust force to models with spinning propellers. See examples/worlds/quadcopter.sdf for a demonstration |
CMulticopterVelocityControl | This is a velocity controller for multicopters that allows control over the linear velocity and the yaw angular velocity of the vehicle. The velocities are expressed in the body frame of the vehicle. A vehicle with at least 4 rotors is required for the controller to function |
CNavSat | System that handles navigation satellite sensors, such as GPS, that reports position and velocity in spherical coordinates (latitude / longitude) over Ignition Transport |
COdometryPublisher | Odometry Publisher which can be attached to any entity in order to periodically publish 2D or 3D odometry data in the form of ignition::msgs::Odometry messages |
COpticalTactilePlugin | Plugin that implements an optical tactile sensor |
CParticleEmitter | A system for creating a particle emitter |
CParticleEmitter2 | A system for running and managing particle emitters. A particle emitter is defined using the <particle_emitter> SDF element |
CShaderParam | A plugin for setting shaders to a visual and its params |
CThruster | This plugin simulates a maritime thruster for boats and underwater vehicles. It uses the equations described in Fossen's "Guidance and Control of Ocean Vehicles" in page 246. This plugin takes in force in Newtons and applies it to the thruster. It also calculates the theoretical angular velocity of the blades and spins them accordingly |
CTouchPlugin | Plugin which checks if a model has touched some specific target for a given time continuously and exclusively. After the touch is completed, the plugin is disabled. It can be re-enabled through an Ignition transport service |
CTrackController | Controller of a track on either a conveyor belt or a tracked vehicle. The system should be attached to a model. If implementing a tracked vehicle, use also TrackedVehicle system |
CTrackedVehicle | Tracked vehicle controller which can be attached to a model with any number of left and right tracks. The system should be attached to a model. Each track has to have a TrackController system configured and running |
CTrajectoryFollower | A plugin that scripts the movement of a model based on waypoints. Note that at this point, the trajectory is always in 2D (x, y). The plugin applies a torque until the model is aligned with the next waypoint. Then, it applies a force until the model is close enough to the waypoint |
CTriggeredPublisher | The triggered publisher system publishes a user specified message on an output topic in response to an input message that matches user specified criteria. It can also call a user specified service as an output in response to an input message. It currently supports blocking service call. An optional simulation time delay can be used delay message publication |
CUserCommands | This system provides an Ignition Transport interface to execute commands while simulation is running |
CVelocityControl | Linear and angular velocity controller which is directly set on a model |
CWheelSlip | A system that updates wheel slip parameters based on linear wheel spin velocity (radius * spin rate). It currently assumes that the fdir1 friction parameter is set parallel to the joint axis (often [0 0 1]) and that the link origin is on the joint axis. The slip parameter is a Force-Dependent Slip (slip1, slip2) and it has units of velocity / force (m / s / N), similar to the inverse of a viscous damping coefficient. The slip_compliance parameters specified in this plugin are unitless, representing the lateral or longitudinal slip ratio (see https://en.wikipedia.org/wiki/Slip_(vehicle_dynamics) ) to tangential force ratio (tangential / normal force). Note that the maximum force ratio is the friction coefficient. At each time step, these compliances are multiplied by the linear wheel spin velocity and divided by the wheel_normal_force parameter specified below in order to match the units of the slip parameters |
CWindEffects | A system that simulates a simple wind model. The wind is described as a uniform worldwide model. So it is independent from model position for simple computations. Its components are computed separately: |
►CISystemUpdate | Interface for a system that uses the Update phase |
CLinearBatteryPlugin | A plugin for simulating battery usage |
CLogPlayback | Log state playback |
CPhysics | Base class for a System. Includes optional parameter : <include_entity_names>. When set to false, the name of colliding entities is not populated in the contacts. Remains true by default. Usage : |
CSensors | A system that manages sensors |
CJoint | This class provides wrappers around entities and components which are more convenient and straight-forward to use than dealing with the EntityComponentManager directly. All the functions provided here are meant to be used with a joint entity |
CJointMonitor | Monitor that checks the state of a joint. When the joint reaches the configured target, it calls a function to let the state machine know to transition to the next state |
CJointTypeSerializer | |
CLeeVelocityController | |
CLeeVelocityControllerParameters | Data structure containing various parameters for the Lee velocity controller |
CLevelEntityNamesSerializer | |
CLight | This class provides wrappers around entities and components which are more convenient and straight-forward to use than dealing with the EntityComponentManager directly. All the functions provided here are meant to be used with a light entity |
CLink | This class provides wrappers around entities and components which are more convenient and straight-forward to use than dealing with the EntityComponentManager directly. All the functions provided here are meant to be used with a link entity |
CLogicalAudioSourcePlayInfoSerializer | Serializer for components::LogicalAudioSourcePlayInfo object |
CLogicalAudioSourceSerializer | Serializer for components::LogicalAudioSource object |
CLogicalMicrophoneSerializer | Serializer for components::LogicalMicrophone object |
CMarkerManager | Creates, deletes, and maintains marker visuals. Only the Scene class should instantiate and use this class |
CMicrophone | Properties of a logical audio microphone. A microphone also has a pose, which can be stored as a component of a microphone entity via gz::sim::components::Pose |
CModel | This class provides wrappers around entities and components which are more convenient and straight-forward to use than dealing with the EntityComponentManager directly. All the functions provided here are meant to be used with a model entity |
CMsgManager | Class to handle messages and subscriptions |
CMsgSerializer | Serializer for components that hold protobuf messages |
CNewTarget | Action that cleans up the target queue when a new target is processed |
CNewTarget | Event that signifies a new target will be processed |
CNoiseParameters | Noise parameters used when computing frame data. These are all assumed to be gaussian |
CNoQueuedTarget | Guard that checks whether the target queue is empty |
CElevatorStateMachineDef::OpenDoorState | State at which the elevator is opening a door |
COpticalTactilePluginVisualization | |
CPerformerLevelsSerializer | |
CPlotComponent | A container of the component data that keeps track of the registered attributes and update their values and their registered charts |
►CPlugin | |
CBananaForScale | Provides buttons for adding a banana for scale |
CEntityContextMenu | This plugin is in charge of showing the entity context menu when the right button is clicked on a visual |
CSelectEntities | This plugin is in charge of selecting and deselecting the entities from the Scene3D and emit the corresponding events |
►CGuiSystem | Base class for a GUI System |
CAlignTool | Provides buttons for the align tool |
CCopyPaste | Plugin for copying/pasting entities in the GUI |
CEntityTree | Displays a tree view with all the entities in the world |
CPlot3D | Plot the trajectory of an entity into the 3D scene |
CGzSceneManager | Updates a 3D scene based on information coming from the ECM. This plugin doesn't instantiate a new 3D scene. Instead, it relies on another plugin being loaded alongside it that will create and paint the scene to the window, such as gz::gui::plugins::Scene3D |
CVisualizeContacts | Visualize the contacts returned by the Physics plugin. Use the checkbox to turn visualization on or off and spin boxes to change the size of the markers |
CVisualizeLidar | Visualize the LaserScan message returned by the sensors. Use the checkbox to turn visualization of non-hitting rays on or off and the textfield to select the message to be visualised. The combobox is used to select the type of visual for the sensor data |
CPlaybackScrubber | Provides slider and functionality for log playback. to the scene |
CPlotting | Physics data plotting handler that keeps track of the registered components, update them and update the plot |
CScene3D | Creates an ignition rendering scene and user camera. It is possible to orbit the camera around the scene with the mouse. Use other plugins to manage objects in the scene |
CVideoRecorder | Provides video recording cababilities to the 3D scene |
CVisualizationCapabilities | Allows to visualize transparent, collisions, inertial, CoM and more |
CLights | Provides buttons for adding a point, directional, or spot light to the scene |
CResourceSpawner | Provides interface for communicating to backend for generation of local models |
CShapes | Provides buttons for adding a box, sphere, or cylinder to the scene |
CSpawn | Allows to spawn models and lights using the spawn gui events or drag and drop |
CTransformControl | Provides buttons for translation, rotation, and scale |
CViewAngle | Provides buttons for viewing angles |
CServerConfig::PluginInfo | Information about a plugin that should be loaded by the server |
►CQEvent | |
CDeselectAllEntities | Event that notifies when all entities have been deselected |
CEntitiesSelected | Event that notifies when new entities have been selected |
CGuiNewRemovedEntities | Event that contains entities newly created or removed from the GUI, but that aren't present on the server yet |
CModelEditorAddEntity | Event that notifies an entity is to be added to the model editor |
CNewRemovedEntities | Event that notifies when new entities have been created or removed on the server. This is a duplication of what GuiSystem s would get from EachNew / EachRemoved ECM calls |
CTransformControlModeActive | True if a transform control is currently active (translate / rotate / scale). False if we're in selection mode |
CVisualPlugin | Event that notifies a visual plugin is to be loaded |
CVisualPlugins | Event that notifies a visual plugin is to be loaded |
►CQObject | |
CAirPressure | A class that handles air pressure changes |
CAltimeter | A class that handles altimeter changes |
CEntityContextMenuHandler | |
CIgnRenderer | Ign-rendering renderer. All ign-rendering calls should be performed inside this class as it makes sure that opengl calls in the underlying render engine do not interfere with QtQuick's opengl render operations. The main Render function will render to an offscreen texture and notify via signal and slots when it's ready to be displayed |
CImu | A class that handles IMU sensor changes |
CPose3d | Handles components that are displayed as a 3D pose: |
CSystemPluginInfo | A class that handles SystemPluginInfo components |
CJointType | A class that handles joint changes |
CLidar | A class that handles Lidar sensor changes |
CMagnetometer | A class that handles magnetometer changes |
CModelEditor | Model Editor |
CPose3d | A class that handles Pose3d changes |
CTextureNode | Texture node for displaying the render texture from ign-renderer |
►CQQmlExtensionPlugin | |
CIgnGazeboPlugin | IgnGazebo QML Plugin that registers C++ class so that they are accessible from QML |
►CQQuickItem | |
CEntityContextMenuItem | A QQUickItem that manages the render window |
CRenderWindowItem | A QQUickItem that manages the render window |
►CQSGSimpleTextureNode | |
CTextureNode | Texture node for displaying the render texture from ign-renderer |
►CQStandardItemModel | |
CPathModel | Provides a model by which the resource spawner qml plugin pulls and updates from |
CResourceModel | Provides a model by which the resource spawner qml plugin pulls and updates from |
CTreeModel | TODO |
►CQThread | |
CRenderThread | Rendering thread |
CRegistrationObjectId | A wrapper around uintptr_t to prevent implicit conversions |
CRenderUtil | |
CResource | Resource used to update the ResourceModel |
CRotor | A struct that holds various properties of a rotor |
CSceneManager | Scene manager class for loading and managing objects in the scene |
CSdfElementSerializer | |
CSdfEntityCreator | Provides convenient functions to spawn entities and load their plugins from SDF elements, to remove them, and to change their hierarchy |
CSdfModelSerializer | |
CSensor | This class provides wrappers around entities and components which are more convenient and straight-forward to use than dealing with the EntityComponentManager directly. All the functions provided here are meant to be used with a sensor entity |
CServer | The server instantiates and controls simulation |
CServerConfig | Configuration parameters for a Server. An instance of this object can be used to construct a Server with a particular configuration |
►CSingletonT | |
CFactory | A factory that generates a component based on a string type |
CSource | Properties of a logical audio source. A source also has a pose, which can be stored as a component of a source entity via gz::sim::components::Pose |
CSourcePlayInfo | A source's playing information. Useful for keeping track of when to start/stop playing a source |
►Cstate | |
CElevatorStateMachineDef::IdleState | State at which the elevator is idling |
CElevatorStateMachineDef::MoveCabinState | State at which the elevator is moving the cabin to the target floor |
CElevatorStateMachineDef::WaitState | State at which the elevator is waiting with a door open |
►Cstate_machine | |
CElevatorStateMachineDef | Elevator state machine frontend. Defines the transition table and initial state of the state machine |
►CStorageDescriptorBase | A base class for an object responsible for creating storages |
CStorageDescriptor< ComponentTypeT > | A class for an object responsible for creating storages |
CStringSerializer | Serializer for components that hold std::string |
►CSystem | Base class for a System |
CICommsModel | Abstract interface to define how the environment should handle communication simulation. As an example, this class could be responsible for handling dropouts, decay and packet collisions |
CAckermannSteering | Ackermann steering controller which can be attached to a model with any number of left and right wheels |
CAirPressure | An air pressure sensor that reports vertical position and velocity readings over ign transport |
CAltimeter | An altimeter sensor that reports vertical position and velocity readings over ign transport |
CApplyJointForce | This system applies a force to the first axis of a specified joint |
CApplyLinkWrench | Exposes transport topics and SDF params for applying forces and torques to links in simulation. It should be attached to a world |
CBreadcrumbs | A system for creating Breadcrumbs in the form of models that can get deployed/spawned at the location of the model to which this system is attached. Each breadcrumb is a complete sdf::Model. When deployed, the pose of the breadcrumb model is offset from the containing model by the pose specified in the <pose> element of the breadcrumb model. A name is generated for the breadcrumb by appending the current count of deployments to the name specified in the breadcrumb <model> element. The model specified in the <breadcrumb> parameter serves as a template for deploying multiple breadcrumbs of the same type. Including models from Fuel is accomplished by creating a <model> that includes the Fuel model using the <include> tag. See the example in examples/worlds/breadcrumbs.sdf |
CBuoyancy | A system that simulates buoyancy of objects immersed in fluid. All SDF parameters are optional. This system must be attached to the world and this system will apply buoyancy to all links that have collision shapes |
CBuoyancyEnginePlugin | This class provides a simple mechanical bladder which is used to control the buoyancy of an underwater glider. It uses Archimedes' principle to apply an upward force based on the volume of the bladder. It listens to the topic buoyancy_engine or /model/{namespace}/buoyancy_engine topic for the volume of the bladder in cubicmeters |
CCameraVideoRecorder | Record video from a camera sensor The system takes in the following parameter: <service> Name of topic for the video recorder service. If this is not specified, the topic defaults to: /world/<world_name/model/<model_name>/link/<link_name>/ sensor/<sensor_name>/record_video |
CColladaWorldExporter | A plugin that exports a world to a mesh. When loaded the plugin will dump a mesh containing all the models in the world to the current directory |
CCommsEndpoint | A system that registers in the comms broker an endpoint. You're creating an address attached to the model where the plugin is running. The system will bind this address in the broker automatically for you and unbind it when the model is destroyed |
CContact | Contact sensor system which manages all contact sensors in simulation |
CDetachableJoint | A system that initially attaches two models via a fixed joint and allows for the models to get detached during simulation via a topic. A model can be re-attached during simulation via a topic. The status of the detached state can be monitored via a topic as well |
CDiffDrive | Differential drive controller which can be attached to a model with any number of left and right wheels |
CElevator | System that controls an elevator. It closely models the structure and functionality of a real elevator. It individually controls the cabin and doors of the elevator, queues commands for the elevator and stops at intermediate floors if a command is received while the last one is ongoing, and keeps a door open if the doorway is blocked. The model of the elevator can have arbitrarily many floor levels and at arbitrary heights each |
CFollowActor | Make an actor follow a target entity in the world |
CForceTorque | This system manages all Force-Torque sensors in simulation. Each FT sensor reports readings over Ignition Transport |
CHydrodynamics | This class provides hydrodynamic behaviour for underwater vehicles It is shamelessly based off Brian Bingham's plugin for VRX. which in turn is based of Fossen's equations described in "Guidance and
Control of Ocean Vehicles" [1]. The class should be used together with the buoyancy plugin to help simulate behaviour of maritime vehicles. Hydrodynamics refers to the behaviour of bodies in water. It includes forces like linear and quadratic drag, buoyancy (not provided by this plugin), etc |
CImu | This system manages all IMU sensors in simulation. Each IMU sensor eports vertical position, angular velocity and lienar acceleration readings over Ignition Transport |
CJointController | Joint controller which can be attached to a model with a reference to a single joint. Currently only the first axis of a joint is actuated |
CJointPositionController | Joint position controller which can be attached to a model with a reference to a single joint |
CJointStatePublisher | The JointStatePub system publishes state information for a model. The published message type is gz::msgs::Model, and the publication topic is determined by the <topic> parameter |
CJointTrajectoryController | Joint trajectory controller, which can be attached to a model with reference to one or more 1-axis joints in order to follow a trajectory |
CKineticEnergyMonitor | A system that monitors the kinetic energy of a link in a model and publishes when there is a lost of kinetic energy during a timestep that surpasses a specific threshold. This system can be used to detect when a model could be damaged |
CLabel | A label plugin that annotates models by setting the label for the parent entity's visuals. The plugin can be attached to models, visuals, or actors |
CLiftDrag | The LiftDrag system computes lift and drag forces enabling simulation of aerodynamic robots |
CLinearBatteryPlugin | A plugin for simulating battery usage |
CLogicalAudioSensorPlugin | A plugin for logical audio detection |
CLogicalCamera | A logical camera sensor that reports objects detected within its frustum readings over ign transport |
CLogPlayback | Log state playback |
CLogRecord | Log state recorder |
CLogVideoRecorder | System which recordings videos from log playback There are two ways to specify what entities in the log playback to follow and record videos for: 1) by entity name and 2) by region. See the following parameters: |
CMagnetometer | An magnetometer sensor that reports the magnetic field in its current location |
CMecanumDrive | Mecanum drive controller which can be attached to a model with any number of front/back left/right wheels |
CModelPhotoShoot | This plugin is a port of the old ModelPropShop plugin from gazebo classic. It generates 5 pictures of a model: perspective, top, front, side and back. It can do it using the default position or moving the joint to random positions. It allows saving the camera and joint poses so it can be replicated in other systems |
CMulticopterMotorModel | This system applies a thrust force to models with spinning propellers. See examples/worlds/quadcopter.sdf for a demonstration |
CMulticopterVelocityControl | This is a velocity controller for multicopters that allows control over the linear velocity and the yaw angular velocity of the vehicle. The velocities are expressed in the body frame of the vehicle. A vehicle with at least 4 rotors is required for the controller to function |
CNavSat | System that handles navigation satellite sensors, such as GPS, that reports position and velocity in spherical coordinates (latitude / longitude) over Ignition Transport |
COdometryPublisher | Odometry Publisher which can be attached to any entity in order to periodically publish 2D or 3D odometry data in the form of ignition::msgs::Odometry messages |
COpticalTactilePlugin | Plugin that implements an optical tactile sensor |
CParticleEmitter | A system for creating a particle emitter |
CParticleEmitter2 | A system for running and managing particle emitters. A particle emitter is defined using the <particle_emitter> SDF element |
CPerformerDetector | A system system that publishes on a topic when a performer enters or leaves a specified region |
CPhysics | Base class for a System. Includes optional parameter : <include_entity_names>. When set to false, the name of colliding entities is not populated in the contacts. Remains true by default. Usage : |
CPosePublisher | Pose publisher system. Attach to an entity to publish the transform of its child entities in the form of gz::msgs::Pose messages, or a single gz::msgs::Pose_V message if "use_pose_vector_msg" is true |
CSceneBroadcaster | System which periodically publishes an gz::msgs::Scene message with updated information |
CSensors | A system that manages sensors |
CShaderParam | A plugin for setting shaders to a visual and its params |
CThermal | A thermal plugin that sets the temperature for the parent entity |
CThermalSensor | A thermal sensor plugin for configuring thermal sensor properties |
CThruster | This plugin simulates a maritime thruster for boats and underwater vehicles. It uses the equations described in Fossen's "Guidance and Control of Ocean Vehicles" in page 246. This plugin takes in force in Newtons and applies it to the thruster. It also calculates the theoretical angular velocity of the blades and spins them accordingly |
CTouchPlugin | Plugin which checks if a model has touched some specific target for a given time continuously and exclusively. After the touch is completed, the plugin is disabled. It can be re-enabled through an Ignition transport service |
CTrackController | Controller of a track on either a conveyor belt or a tracked vehicle. The system should be attached to a model. If implementing a tracked vehicle, use also TrackedVehicle system |
CTrackedVehicle | Tracked vehicle controller which can be attached to a model with any number of left and right tracks. The system should be attached to a model. Each track has to have a TrackController system configured and running |
CTrajectoryFollower | A plugin that scripts the movement of a model based on waypoints. Note that at this point, the trajectory is always in 2D (x, y). The plugin applies a torque until the model is aligned with the next waypoint. Then, it applies a force until the model is close enough to the waypoint |
CTriggeredPublisher | The triggered publisher system publishes a user specified message on an output topic in response to an input message that matches user specified criteria. It can also call a user specified service as an output in response to an input message. It currently supports blocking service call. An optional simulation time delay can be used delay message publication |
CUserCommands | This system provides an Ignition Transport interface to execute commands while simulation is running |
CVelocityControl | Linear and angular velocity controller which is directly set on a model |
CWheelSlip | A system that updates wheel slip parameters based on linear wheel spin velocity (radius * spin rate). It currently assumes that the fdir1 friction parameter is set parallel to the joint axis (often [0 0 1]) and that the link origin is on the joint axis. The slip parameter is a Force-Dependent Slip (slip1, slip2) and it has units of velocity / force (m / s / N), similar to the inverse of a viscous damping coefficient. The slip_compliance parameters specified in this plugin are unitless, representing the lateral or longitudinal slip ratio (see https://en.wikipedia.org/wiki/Slip_(vehicle_dynamics) ) to tangential force ratio (tangential / normal force). Note that the maximum force ratio is the friction coefficient. At each time step, these compliances are multiplied by the linear wheel spin velocity and divided by the wheel_normal_force parameter specified below in order to match the units of the slip parameters |
CWindEffects | A system that simulates a simple wind model. The wind is described as a uniform worldwide model. So it is independent from model position for simple computations. Its components are computed separately: |
CSystemLoader | Class for loading/unloading System plugins |
CTemperatureRangeInfo | Data structure to hold a temperature range, in kelvin |
CTemperatureRangeInfoSerializer | Serializer for components::TemperatureRangeInfo object |
CTestFixture | Helper class to write automated tests. It provides a convenient API to load a world file, step simulation and check entities and components |
CTimeout | Event that signifies the door at the target floor level has remained open for the required amount of time |
►Ctrue_type [external] | |
CIsSharedPtr< std::shared_ptr< T > > | Helper trait to determine if a type is shared_ptr or not |
CUpdateInfo | Information passed to systems on the update callback |
CVectorDoubleSerializer | Serializer for components that hold std::vector<double> |
CVectorSerializer< T > | |
CVehicleParameters | A struct that holds properties of the vehicle such as mass, inertia and rotor configuration. Gravity is also included even though it's not a parameter unique to the vehicle |
CWorld | This class provides wrappers around entities and components which are more convenient and straight-forward to use than dealing with the EntityComponentManager directly. All the functions provided here are meant to be used with a world entity |