/* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef WITH_GAZEBO_MSGS #include #include #include #endif namespace ROS2 { class ROS2ModuleInterface : public AZ::Module { public: AZ_RTTI(ROS2ModuleInterface, "{8b5567cb-1de9-49af-9cd4-9750d4abcd6b}", AZ::Module); AZ_CLASS_ALLOCATOR(ROS2ModuleInterface, AZ::SystemAllocator); ROS2ModuleInterface() { m_descriptors.insert( m_descriptors.end(), { ROS2SystemComponent::CreateDescriptor(), ROS2SystemCameraComponent::CreateDescriptor(), ROS2SensorComponentBase::CreateDescriptor(), ROS2SensorComponentBase::CreateDescriptor(), LidarRegistrarSystemComponent::CreateDescriptor(), ROS2RobotImporterSystemComponent::CreateDescriptor(), ROS2ImuSensorComponent::CreateDescriptor(), ROS2GNSSSensorComponent::CreateDescriptor(), ROS2LidarSensorComponent::CreateDescriptor(), ROS2Lidar2DSensorComponent::CreateDescriptor(), ROS2OdometrySensorComponent::CreateDescriptor(), ROS2WheelOdometryComponent::CreateDescriptor(), ROS2FrameComponent::CreateDescriptor(), ROS2RobotControlComponent::CreateDescriptor(), ROS2CameraSensorComponent::CreateDescriptor(), ROS2ImageEncodingConversionComponent::CreateDescriptor(), AckermannControlComponent::CreateDescriptor(), RigidBodyTwistControlComponent::CreateDescriptor(), SkidSteeringControlComponent::CreateDescriptor(), ROS2CameraSensorComponent::CreateDescriptor(), VehicleDynamics::AckermannVehicleModelComponent::CreateDescriptor(), VehicleDynamics::WheelControllerComponent::CreateDescriptor(), VehicleDynamics::SkidSteeringModelComponent::CreateDescriptor(), JointMotorControllerComponent::CreateDescriptor(), ManualMotorControllerComponent::CreateDescriptor(), JointsManipulationComponent::CreateDescriptor(), JointsPositionsComponent::CreateDescriptor(), JointsArticulationControllerComponent::CreateDescriptor(), JointsPIDControllerComponent::CreateDescriptor(), JointsTrajectoryComponent::CreateDescriptor(), PidMotorControllerComponent::CreateDescriptor(), GripperActionServerComponent::CreateDescriptor(), VacuumGripperComponent::CreateDescriptor(), FingerGripperComponent::CreateDescriptor(), FollowingCameraComponent::CreateDescriptor(), ClassSegmentationConfigurationComponent::CreateDescriptor(), #ifdef WITH_GAZEBO_MSGS ROS2SpawnerComponent::CreateDescriptor(), ROS2SpawnPointComponent::CreateDescriptor(), ROS2ContactSensorComponent::CreateDescriptor(), #endif }); } AZ::ComponentTypeList GetRequiredSystemComponents() const override { return AZ::ComponentTypeList{ azrtti_typeid(), azrtti_typeid(), azrtti_typeid(), azrtti_typeid(), }; } }; } // namespace ROS2