Gazebo Sim

API Reference

9.0.0
AckermannSteering.hh
Go to the documentation of this file.
1/*
2 * Copyright (C) 2021 Open Source Robotics Foundation
3 * Copyright (C) 2023 Benjamin Perseghetti, Rudis Laboratories
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 */
18#ifndef GZ_SIM_SYSTEMS_ACKERMANNSTEERING_HH_
19#define GZ_SIM_SYSTEMS_ACKERMANNSTEERING_HH_
20
21#include <memory>
22
23#include <gz/sim/System.hh>
24
25namespace gz
26{
27namespace sim
28{
29// Inline bracket to help doxygen filtering.
30inline namespace GZ_SIM_VERSION_NAMESPACE {
31namespace systems
32{
33 // Forward declaration
34 class AckermannSteeringPrivate;
35
138
139
141 : public System,
142 public ISystemConfigure,
143 public ISystemPreUpdate,
144 public ISystemPostUpdate
145 {
148
150 public: ~AckermannSteering() override = default;
151
152 // Documentation inherited
153 public: void Configure(const Entity &_entity,
156 EventManager &_eventMgr) override;
157
158 // Documentation inherited
159 public: void PreUpdate(
160 const gz::sim::UpdateInfo &_info,
161 gz::sim::EntityComponentManager &_ecm) override;
162
163 // Documentation inherited
164 public: void PostUpdate(
165 const UpdateInfo &_info,
166 const EntityComponentManager &_ecm) override;
167
170 };
171 }
172}
173}
174}
175
176#endif