/* * 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 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(), ROS2RobotImporterSystemComponent::CreateDescriptor(), ROS2FrameComponent::CreateDescriptor(), ROS2RobotControlComponent::CreateDescriptor(), AckermannControlComponent::CreateDescriptor(), RigidBodyTwistControlComponent::CreateDescriptor(), SkidSteeringControlComponent::CreateDescriptor(), ROS2SpawnerComponent::CreateDescriptor(), ROS2SpawnPointComponent::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(), }); } AZ::ComponentTypeList GetRequiredSystemComponents() const override { return AZ::ComponentTypeList{ azrtti_typeid(), azrtti_typeid(), }; } }; } // namespace ROS2