CARLA
Loading...
Searching...
No Matches
DefaultMovementComponent.cpp
Go to the documentation of this file.
1// Copyright (c) 2026 Computer Vision Center (CVC) at the Universitat Autonoma
2// de Barcelona (UAB).
3// Copyright (c) 2019 Intel Corporation
4//
5// This work is licensed under the terms of the MIT license.
6// For a copy, see <https://opensource.org/licenses/MIT>.
7
10
12{
13 UDefaultMovementComponent* DefaultMovementComponent = NewObject<UDefaultMovementComponent>(Vehicle);
14 Vehicle->SetCarlaMovementComponent(DefaultMovementComponent);
15 DefaultMovementComponent->RegisterComponent();
16}
17
19{
20 Super::BeginPlay();
21}
22
24{
25 auto *MovementComponent = CarlaVehicle->GetChaosWheeledVehicleMovementComponent();
26 MovementComponent->SetThrottleInput(Control.Throttle);
27 MovementComponent->SetSteeringInput(Control.Steer);
28 MovementComponent->SetBrakeInput(Control.Brake);
29 MovementComponent->SetHandbrakeInput(Control.bHandBrake);
30
32 {
33 MovementComponent->SetUseAutomaticGears(!Control.bReverse);
34 MovementComponent->SetTargetGear(Control.bReverse ? -1 : 1, true);
35 }
36 else
37 {
38 MovementComponent->SetUseAutomaticGears(!Control.bManualGearShift);
39 if (Control.bManualGearShift)
40 {
41 MovementComponent->SetTargetGear(Control.Gear, true);
42 }
43 }
44 Control.Gear = MovementComponent->GetCurrentGear();
45}
46
47// FVector GetVelocity() const override;
48
50{
51 return CarlaVehicle->GetVehicleMovementComponent()->GetCurrentGear();
52}
53
55{
56 return CarlaVehicle->GetVehicleMovementComponent()->GetForwardSpeed();
57}
Base class for CARLA wheeled vehicles.
UChaosWheeledVehicleMovementComponent * GetChaosWheeledVehicleMovementComponent() const
Get chaos wheeled vehicle movement component casted.
const FVehicleControl & GetVehicleControl() const
Vehicle control currently applied to this vehicle.
float GetVehicleForwardSpeed() const override
int32 GetVehicleCurrentGear() const override
void ProcessControl(FVehicleControl &Control) override
static void CreateDefaultMovementComponent(ACarlaWheeledVehicle *Vehicle)