Agrarsense
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
AVehicle Class Reference

#include <Vehicle.h>

Inheritance diagram for AVehicle:
Inheritance graph
[legend]
Collaboration diagram for AVehicle:
Collaboration graph
[legend]

Public Member Functions

 AVehicle ()
 
virtual EVehicleTypes GetVehicleType () const
 
void TogglePhysics (bool isOn)
 
void SetVehicleMeshVisibility (bool Visible)
 
void TeleportVehicleTo (FVector NewLocation, FRotator NewRotation)
 
virtual void TeleportVehicleTo_Implementation (FVector NewLocation, FRotator NewRotation)
 
void ResetCamera ()
 
void ToggleLights (bool isOn)
 
void SetVisualizeVehicleOverlapArea (bool Visible)
 
FString ExportToJsonFile (const FString &FileName)
 
void SetVehicleIsInGarage (bool VehicleIsInGarage)
 
bool IsVehicleInGarage () const
 
USensorsManagerComponent * GetSensorsManager () const
 
ACollisionSensorGetCollisionSensor () const
 
ATransformSensorGetTransformSensor () const
 
AOverlapSensorGetOverlapSensor () const
 
FTransform GetMovedFromGarageTransform () const
 
virtual void SetCurrentTransformToMovedFromGarageTransform ()
 
virtual FText GetInteractableName_Implementation () const override
 
virtual FTransform GetInteractableWorldTransform_Implementation () const override
 
virtual FString GetActorID_Implementation () const override
 
virtual FString GetActorName_Implementation () const override
 
virtual FString GetActorInformation_Implementation () const override
 
virtual void SetActorName_Implementation (const FString &NewActorName) override
 
virtual void SetActorIDAndName_Implementation (const FString &NewActorName, const FString &NewID) override
 
void SetVehicleParameters (FWheeledVehicleParameters NewParameters)
 
FWheeledVehicleParameters GetVehicleParameters () const
 
void ApplyVehicleParameters (FWheeledVehicleParameters CurrentParameters)
 
virtual void PossessedBy (AController *NewController) override
 
- Public Member Functions inherited from IInteractable
FText GetInteractableName () const
 
FTransform GetInteractableWorldTransform () const
 
- Public Member Functions inherited from IActorInformation
FString GetActorID () const
 
FString GetActorName () const
 
FString GetActorInformation () const
 
void SetActorName (const FString &NewActorName)
 
void SetActorIDAndName (const FString &NewActorName, const FString &NewID)
 

Public Attributes

FText InteractableName
 
FVehicleGarageChangedDelegate OnVehicleGarageChanged
 

Protected Member Functions

virtual void BeginPlay () override
 
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
 
virtual void ROSBridgeStateChanged (EROSState ROSState)
 

Protected Attributes

FWheeledVehicleParameters VehicleParameters
 
TObjectPtr< USensorsManagerComponent > SensorsManager
 
ACollisionSensorCollisionSensor = nullptr
 
ATransformSensorTransformSensor = nullptr
 
AOverlapSensorOverlapSensor = nullptr
 
UNiagaraComponent * NiagaraComponent = nullptr
 
TArray< UStaticMeshComponent * > ExtraTransformSensorPositions
 
FString ActorName
 
FString ActorID
 
FTransform OriginalCameraTransform
 
FTransform MovedFromGarageTransform
 
bool VehicleInGarage = false
 
TArray< ATransformSensor * > ExtraTransformSensors
 

Additional Inherited Members

- Static Public Member Functions inherited from IActorInformation
static void SetAndValidateActorIDAndName (FString &ActorName, FString &ActorID, TWeakObjectPtr< AActor > Actor)
 
static bool DestroyActorByID (const FString &ID)
 
static AActor * GetActorByID (const FString &ID)
 
template<typename T >
static TArray< T * > GetActorsWithInterface ()
 
static void PrintAllIds ()
 

Detailed Description

Definition at line 39 of file Vehicle.h.

Constructor & Destructor Documentation

◆ AVehicle()

AVehicle::AVehicle ( )

Definition at line 23 of file Vehicle.cpp.

24{
25 PrimaryActorTick.bCanEverTick = false;
26 SensorsManager = CreateDefaultSubobject<USensorsManagerComponent>(TEXT("SensorsManagerComp"));
27 InteractableName = NSLOCTEXT("Agrarsense", "VehicleInteractableName", "Vehicle");
28}
FText InteractableName
Definition: Vehicle.h:261
TObjectPtr< USensorsManagerComponent > SensorsManager
Definition: Vehicle.h:285

References InteractableName, and SensorsManager.

Member Function Documentation

◆ ApplyVehicleParameters()

void AVehicle::ApplyVehicleParameters ( FWheeledVehicleParameters  CurrentParameters)

Referenced by BeginPlay(), and SetVehicleParameters().

◆ BeginPlay()

void AVehicle::BeginPlay ( )
overrideprotectedvirtual

Reimplemented in AForwarder, AHarvester, and APIDDrone.

Definition at line 30 of file Vehicle.cpp.

31{
32 Super::BeginPlay();
33
34 TogglePhysics(true);
35
36 UROSHandler* ROSHandler = UAgrarsenseStatics::GetROSHandle(GetWorld());
37 if (ROSHandler)
38 {
39 ROSHandler->OnROSStateChanged.AddUniqueDynamic(this, &AVehicle::ROSBridgeStateChanged);
40 }
41
42 bool IsDrone = GetVehicleType() == EVehicleTypes::Drone;
43
44 // Spawn Transform and Collision sensors for each vehicle
45 FTransform transform = GetTransform();
46
47 // Create Collision sensor
48 FString VehicleCollisionSensorID = ActorID + "/collision";
49 CollisionSensor = USensorFactory::SpawnCollisionSensor(transform, this, VehicleCollisionSensorID, "collision", true, this);
50
51 if (!IsDrone)
52 {
53 // Create Transform sensor for forwarder and harvester
55 Params.SaveTransformDataToDisk = true;
56 Params.OwningActor = this;
57
58 FString VehicleTransformSensorID = ActorID + "/transform";
59 TransformSensor = USensorFactory::SpawnTransformSensor(transform, Params, VehicleTransformSensorID, "transform", true, this);
60 }
61
62
63 // Create Transform sensor for extra transform sensor positions
64 // (Front and Back for forwarder and harvester)
65 for (UStaticMeshComponent* Comp : ExtraTransformSensorPositions)
66 {
67 if (Comp)
68 {
69 FString CompName = Comp->GetName();
70
72 Params.OwningActor = this;
73 Params.SaveTransformDataToDisk = false;
74 Params.UseOwningActorTransform = false;
75 Params.UsePrimiteRelativeTransform = false;
76 Params.PrimitiveComponent = Cast<UPrimitiveComponent>(Comp);
77
78 const FString VehicleTransformSensorID = FString::Printf(TEXT("%s/%s/transform"), *ActorID, *CompName);
79 //UE_LOG(LogTemp, Log, TEXT("Creating Transform Sensor: %s"), *VehicleTransformSensorID);
80
81 ExtraTransformSensors.AddUnique(USensorFactory::SpawnTransformSensor(transform, Params, VehicleTransformSensorID, TEXT("transform"), true, this));
82 }
83 }
84
85 float NiagaraComponentHeight = 500.0f;
86 float OverlapBoundsSize = 50.0f;
87
88 if (IsDrone)
89 {
90 NiagaraComponentHeight = 200.0f;
91 }
92
93 FVector RelativePosition = FVector(0.0f, 0.0f, 0.0f);
95 {
96 // TODO make better solution for this.
97 RelativePosition = FVector(150.0f, -120.0f, 250.0f);
98 }
99
100 if (!IsDrone)
101 {
102 // Create overlap sensor for Forwarder and Harvester
103 // Drone overlap sensor(s) are created in PIDDrone BeginPlay
105 Params.OwningActor = this;
106 Params.Size = FVector(OverlapBoundsSize, OverlapBoundsSize, OverlapBoundsSize);
107 Params.RelativePosition = RelativePosition;
108 FString OverlapSensorID = ActorID + "/overlap";
109 OverlapSensor = USensorFactory::SpawnOverlapSensor(transform, Params, OverlapSensorID, "overlap", this);
110 }
111
112 // Load and setup rain/snow fall niagara system
113 UNiagaraSystem* NiagaraSystem = LoadObject<UNiagaraSystem>(nullptr, TEXT("/Game/Agrarsense/Particles/WaterAndSnow/NS_Particles.NS_Particles"));
114 if (NiagaraSystem)
115 {
116 NiagaraComponent = UNiagaraFunctionLibrary::SpawnSystemAttached(NiagaraSystem, this->GetRootComponent(),
117 FName("NiagaraEmitterSocketName"),
118 FVector(0.0, 0.0, NiagaraComponentHeight), FRotator::ZeroRotator, EAttachLocation::KeepRelativeOffset, true);
119 }
120 else
121 {
122 UE_LOG(LogTemp, Warning, TEXT("Vehicle.cpp: Couldn't find NS_Particles"));
123 }
124
126}
ACollisionSensor * CollisionSensor
Definition: Vehicle.h:288
TArray< UStaticMeshComponent * > ExtraTransformSensorPositions
Definition: Vehicle.h:302
FWheeledVehicleParameters VehicleParameters
Definition: Vehicle.h:279
TArray< ATransformSensor * > ExtraTransformSensors
Definition: Vehicle.h:317
FString ActorID
Definition: Vehicle.h:308
AOverlapSensor * OverlapSensor
Definition: Vehicle.h:294
virtual EVehicleTypes GetVehicleType() const
Definition: Vehicle.h:52
void ApplyVehicleParameters(FWheeledVehicleParameters CurrentParameters)
void TogglePhysics(bool isOn)
ATransformSensor * TransformSensor
Definition: Vehicle.h:291
UNiagaraComponent * NiagaraComponent
Definition: Vehicle.h:297
virtual void ROSBridgeStateChanged(EROSState ROSState)
Definition: Vehicle.cpp:190
static UROSHandler * GetROSHandle(const UObject *WorldContextObject)
FROSDelegate_ROState OnROSStateChanged
Definition: ROSHandler.h:81
static AOverlapSensor * SpawnOverlapSensor(const FTransform &transform, FOverlapSensorParameters Parameters, const FString sensorIdentifier, const FString sensorName, AActor *Parent=nullptr)
static ATransformSensor * SpawnTransformSensor(const FTransform &transform, FTransformSensorParameters Parameters, const FString sensorIdentifier, const FString sensorName, bool SimulateSensor=true, AActor *Parent=nullptr)
static ACollisionSensor * SpawnCollisionSensor(const FTransform &transform, AActor *Owner, const FString sensorIdentifier, const FString sensorName, bool SimulateSensor=true, AActor *Parent=nullptr)
UPrimitiveComponent * PrimitiveComponent

References ActorID, ApplyVehicleParameters(), CollisionSensor, Drone, ExtraTransformSensorPositions, ExtraTransformSensors, Forwarder, UAgrarsenseStatics::GetROSHandle(), GetVehicleType(), NiagaraComponent, UROSHandler::OnROSStateChanged, OverlapSensor, FOverlapSensorParameters::OwningActor, FTransformSensorParameters::OwningActor, FTransformSensorParameters::PrimitiveComponent, FOverlapSensorParameters::RelativePosition, ROSBridgeStateChanged(), FTransformSensorParameters::SaveTransformDataToDisk, FOverlapSensorParameters::Size, USensorFactory::SpawnCollisionSensor(), USensorFactory::SpawnOverlapSensor(), USensorFactory::SpawnTransformSensor(), TogglePhysics(), TransformSensor, FTransformSensorParameters::UseOwningActorTransform, FTransformSensorParameters::UsePrimiteRelativeTransform, and VehicleParameters.

◆ EndPlay()

void AVehicle::EndPlay ( const EEndPlayReason::Type  EndPlayReason)
overrideprotectedvirtual

Reimplemented in AForwarder, AHarvester, and APIDDrone.

Definition at line 128 of file Vehicle.cpp.

129{
130 Super::EndPlay(EndPlayReason);
131
132 UROSHandler* ROSHandler = UAgrarsenseStatics::GetROSHandle(GetWorld());
133 if (ROSHandler)
134 {
135 ROSHandler->OnROSStateChanged.RemoveDynamic(this, &AVehicle::ROSBridgeStateChanged);
136 }
137
138 if (TransformSensor)
139 {
140 TransformSensor->Destroy();
141 TransformSensor = nullptr;
142 }
143
144 for (int32 i = 0; i < ExtraTransformSensors.Num(); i++)
145 {
146 if (ATransformSensor* SensorPtr = ExtraTransformSensors[i])
147 {
148 SensorPtr->Destroy();
149 }
150 }
151 ExtraTransformSensors.Empty();
152
153 if (CollisionSensor)
154 {
155 CollisionSensor->Destroy();
156 CollisionSensor = nullptr;
157 }
158
159 if (OverlapSensor)
160 {
161 OverlapSensor->Destroy();
162 OverlapSensor = nullptr;
163 }
164
165 // Destroy attached sensors when vehicle is destroyed
166 if (IsValid(SensorsManager) && EndPlayReason == EEndPlayReason::Destroyed)
167 {
168 SensorsManager->DestroyAllSensors();
169 }
170
172 {
173 NiagaraComponent->UnregisterComponent();
174 NiagaraComponent->DestroyComponent();
175 NiagaraComponent = nullptr;
176 }
177
178 // Destroy all remaining Actors that are attached to this vehicle, if any
179 TArray<AActor*> AttachedActors;
180 GetAttachedActors(AttachedActors);
181 for (AActor* Actor : AttachedActors)
182 {
183 if (Actor)
184 {
185 Actor->Destroy();
186 }
187 }
188}

References CollisionSensor, ExtraTransformSensors, UAgrarsenseStatics::GetROSHandle(), NiagaraComponent, UROSHandler::OnROSStateChanged, OverlapSensor, ROSBridgeStateChanged(), SensorsManager, and TransformSensor.

◆ ExportToJsonFile()

FString AVehicle::ExportToJsonFile ( const FString &  FileName)

Export the Vehicle and its sensors to a JSON file.

Parameters
FileNameThe name of the file without extension.
Returns
FString representing the saved JSON file path, or an empty string if the export fails.

Definition at line 234 of file Vehicle.cpp.

235{
236 bool OverrideTransform = IsVehicleInGarage();
237
238 FTransform TransformToUse = GetActorTransform();
239
240 if (OverrideTransform)
241 {
242 TransformToUse = MovedFromGarageTransform;
243 }
244
245 return USimulatorJsonExporter::ExportVehicleAndSensorsToJSON(FileName, this, OverrideTransform, TransformToUse);
246}
FTransform MovedFromGarageTransform
Definition: Vehicle.h:313
bool IsVehicleInGarage() const
Definition: Vehicle.h:131
static FString ExportVehicleAndSensorsToJSON(FString FileName, AVehicle *Vehicle, bool OverrideTransform=false, const FTransform &Transform=FTransform())

References USimulatorJsonExporter::ExportVehicleAndSensorsToJSON(), IsVehicleInGarage(), and MovedFromGarageTransform.

Referenced by UROSCommands::HandleExportSensors(), and UROSCommands::HandleExportVehicles().

◆ GetActorID_Implementation()

virtual FString AVehicle::GetActorID_Implementation ( ) const
inlineoverridevirtual

Definition at line 202 of file Vehicle.h.

203 {
204 return ActorID;
205 }

Referenced by APIDDrone::CreateTopic().

◆ GetActorInformation_Implementation()

virtual FString AVehicle::GetActorInformation_Implementation ( ) const
inlineoverridevirtual

Definition at line 212 of file Vehicle.h.

213 {
215 const FString ID = IActorInformation::Execute_GetActorID(this);
216 const FString Name = IActorInformation::Execute_GetActorName(this);
217 const FTransform VehicleTransform = GetActorTransform();
218 const FVector Location = VehicleTransform.GetLocation();
219 const FRotator Rotation = VehicleTransform.Rotator();
220 FString Information = FString::Printf(TEXT("Vehicle: %s, Name: %s, ID: %s, Location: %s, Rotation: %s"), *Vehicle, *Name, *ID, *Location.ToString(), *Rotation.ToString());
221
222 return Information;
223 }
static FString ConvertVehicleTypeToString(EVehicleTypes VehicleType)

References UEnumUtilities::ConvertVehicleTypeToString(), and AOverlapSensor::Vehicle.

◆ GetActorName_Implementation()

virtual FString AVehicle::GetActorName_Implementation ( ) const
inlineoverridevirtual

Definition at line 207 of file Vehicle.h.

208 {
209 return ActorName;
210 }
FString ActorName
Definition: Vehicle.h:305

◆ GetCollisionSensor()

ACollisionSensor * AVehicle::GetCollisionSensor ( ) const
inline

Get collision sensor attached to this Vehicle

Returns
ACollisionSensor pointer

Definition at line 151 of file Vehicle.h.

152 {
153 return CollisionSensor;
154 }

◆ GetInteractableName_Implementation()

virtual FText AVehicle::GetInteractableName_Implementation ( ) const
inlineoverridevirtual

Definition at line 192 of file Vehicle.h.

193 {
194 return InteractableName;
195 }

◆ GetInteractableWorldTransform_Implementation()

virtual FTransform AVehicle::GetInteractableWorldTransform_Implementation ( ) const
inlineoverridevirtual

Reimplemented in APIDDrone.

Definition at line 197 of file Vehicle.h.

198 {
199 return GetActorTransform();
200 }

◆ GetMovedFromGarageTransform()

FTransform AVehicle::GetMovedFromGarageTransform ( ) const
inline

Get transform of the vehicle when it moved to garage

Returns

Definition at line 181 of file Vehicle.h.

182 {
184 }

◆ GetOverlapSensor()

AOverlapSensor * AVehicle::GetOverlapSensor ( ) const
inline

Get overlap sensor attached to this Vehicle

Returns
AOverlapSensor pointer

Definition at line 171 of file Vehicle.h.

172 {
173 return OverlapSensor;
174 }

◆ GetSensorsManager()

USensorsManagerComponent * AVehicle::GetSensorsManager ( ) const
inline

Get sensor manager attached to this Vehicle

Returns
USensorsManagerComponent pointer

Definition at line 141 of file Vehicle.h.

142 {
143 return SensorsManager;
144 }

◆ GetTransformSensor()

ATransformSensor * AVehicle::GetTransformSensor ( ) const
inline

Get transform sensor attached to this Vehicle

Returns
ATransformSensor pointer

Definition at line 161 of file Vehicle.h.

162 {
163 return TransformSensor;
164 }

◆ GetVehicleParameters()

FWheeledVehicleParameters AVehicle::GetVehicleParameters ( ) const
inline

Definition at line 247 of file Vehicle.h.

248 {
249 return VehicleParameters;
250 }

Referenced by USimulatorJsonParser::ParseAndSetWheeledVehicleParameters().

◆ GetVehicleType()

virtual EVehicleTypes AVehicle::GetVehicleType ( ) const
inlinevirtual

Get type of the Vehicle

Returns
Vehicle's type

Reimplemented in AForwarder, AHarvester, and APIDDrone.

Definition at line 52 of file Vehicle.h.

53 {
55 }

References NONE.

Referenced by BeginPlay(), and SetVehicleParameters().

◆ IsVehicleInGarage()

bool AVehicle::IsVehicleInGarage ( ) const
inline

Checks if the vehicle is currently in the "Garage" where vehicle can be setup with sensors.

Returns
True if the vehicle is in the garage, false otherwise.

Definition at line 131 of file Vehicle.h.

132 {
133 return VehicleInGarage;
134 }
bool VehicleInGarage
Definition: Vehicle.h:315

Referenced by ExportToJsonFile(), ACamera::PreActorTick(), and APIDDrone::Tick().

◆ PossessedBy()

void AVehicle::PossessedBy ( AController *  NewController)
overridevirtual

Definition at line 214 of file Vehicle.cpp.

215{
216 Super::PossessedBy(NewController);
217
218 ResetCamera();
219}
void ResetCamera()

References ResetCamera().

◆ ResetCamera()

void AVehicle::ResetCamera ( )

Reset the camera to original position and rotation BlueprintImplementableEvent meant to be implemented in blueprint e.g. BP_Forwarder

Referenced by PossessedBy().

◆ ROSBridgeStateChanged()

void AVehicle::ROSBridgeStateChanged ( EROSState  ROSState)
protectedvirtual

Reimplemented in APIDDrone.

Definition at line 190 of file Vehicle.cpp.

191{
192
193}

Referenced by BeginPlay(), and EndPlay().

◆ SetActorIDAndName_Implementation()

virtual void AVehicle::SetActorIDAndName_Implementation ( const FString &  NewActorName,
const FString &  NewID 
)
inlineoverridevirtual

Definition at line 230 of file Vehicle.h.

231 {
232 ActorName = NewActorName;
233 ActorID = NewID;
234 SetAndValidateActorIDAndName(ActorName, ActorID, TWeakObjectPtr<AActor>(this));
235 }
static void SetAndValidateActorIDAndName(FString &ActorName, FString &ActorID, TWeakObjectPtr< AActor > Actor)

References IActorInformation::SetAndValidateActorIDAndName().

◆ SetActorName_Implementation()

virtual void AVehicle::SetActorName_Implementation ( const FString &  NewActorName)
inlineoverridevirtual

Definition at line 225 of file Vehicle.h.

226 {
227 ActorName = NewActorName;
228 }

◆ SetCurrentTransformToMovedFromGarageTransform()

virtual void AVehicle::SetCurrentTransformToMovedFromGarageTransform ( )
inlinevirtual

Reimplemented in APIDDrone.

Definition at line 187 of file Vehicle.h.

188 {
189 MovedFromGarageTransform = GetTransform();
190 }

◆ SetVehicleIsInGarage()

void AVehicle::SetVehicleIsInGarage ( bool  VehicleIsInGarage)
inline

Sets the state of the vehicle garage state boolean.

Parameters
VehicleIsInGarage- A boolean indicating whether the vehicle is in the garage or not.

Definition at line 120 of file Vehicle.h.

121 {
122 VehicleInGarage = VehicleIsInGarage;
124 }
FVehicleGarageChangedDelegate OnVehicleGarageChanged
Definition: Vehicle.h:264

◆ SetVehicleMeshVisibility()

void AVehicle::SetVehicleMeshVisibility ( bool  Visible)

Toggle the visibility of the vehicle mesh. This is a BlueprintImplementableEvent intended to be implemented in Blueprint (e.g., BP_Forwarder).

Parameters
VisibleWhether the vehicle mesh should be visible.

◆ SetVehicleParameters()

void AVehicle::SetVehicleParameters ( FWheeledVehicleParameters  NewParameters)

Definition at line 195 of file Vehicle.cpp.

196{
197 VehicleParameters = NewParameters;
198
200 {
202
204 {
205 const float BoundsSizeMEters = VehicleParameters.OverlapRadiusMeters;
206 OverlapSensor->SetOverlapBounds(FVector(BoundsSizeMEters, BoundsSizeMEters, BoundsSizeMEters));
207 }
208 }
209
210 // BlueprintImplementableEvent, this is handled in BP_Forwarder and BP_harvester.
212}
void SetVisualizeOverlapArea(bool Visualize)
void SetOverlapBounds(const FVector &NewSize)

References ApplyVehicleParameters(), Drone, GetVehicleType(), FWheeledVehicleParameters::OverlapRadiusMeters, OverlapSensor, AOverlapSensor::SetOverlapBounds(), AOverlapSensor::SetVisualizeOverlapArea(), VehicleParameters, and FWheeledVehicleParameters::VisualizeOverlap.

Referenced by USimulatorJsonParser::ParseAndSetWheeledVehicleParameters().

◆ SetVisualizeVehicleOverlapArea()

void AVehicle::SetVisualizeVehicleOverlapArea ( bool  Visible)

Sets the visibility of the vehicle overlap area visualization.

Parameters
VisibleWhether the vehicle overlap area should be visible or not.

Definition at line 226 of file Vehicle.cpp.

227{
228 if (OverlapSensor)
229 {
231 }
232}

References OverlapSensor, and AOverlapSensor::SetVisualizeOverlapArea().

◆ TeleportVehicleTo()

void AVehicle::TeleportVehicleTo ( FVector  NewLocation,
FRotator  NewRotation 
)

Teleport the vehicle into a specific location and rotation

Parameters
NewLocation
NewRotation

◆ TeleportVehicleTo_Implementation()

void AVehicle::TeleportVehicleTo_Implementation ( FVector  NewLocation,
FRotator  NewRotation 
)
virtual

Teleport to implementation

Parameters
NewLocation
NewRotation

Definition at line 221 of file Vehicle.cpp.

222{
223 SetActorLocationAndRotation(NewLocation, NewRotation, false, nullptr, ETeleportType::TeleportPhysics);
224}

◆ ToggleLights()

void AVehicle::ToggleLights ( bool  isOn)

Toggle lights of the vehicle on or off. BlueprintImplementableEvent meant to be implemented in blueprint e.g. BP_Forwarder

Parameters
isOnPhysics on or off

◆ TogglePhysics()

void AVehicle::TogglePhysics ( bool  isOn)

Toggle physics of the vehicle on or off. BlueprintImplementableEvent meant to be implemented in blueprint e.g. BP_Forwarder

Parameters
isOnPhysics on or off

Referenced by BeginPlay(), and UROSCommands::HandleTeleportActorByID().

Member Data Documentation

◆ ActorID

FString AVehicle::ActorID
protected

Definition at line 308 of file Vehicle.h.

Referenced by APIDDrone::BeginPlay(), BeginPlay(), and APIDDrone::ChangeDroneParameters().

◆ ActorName

FString AVehicle::ActorName
protected

Definition at line 305 of file Vehicle.h.

◆ CollisionSensor

ACollisionSensor* AVehicle::CollisionSensor = nullptr
protected

Definition at line 288 of file Vehicle.h.

Referenced by BeginPlay(), and EndPlay().

◆ ExtraTransformSensorPositions

TArray<UStaticMeshComponent*> AVehicle::ExtraTransformSensorPositions
protected

Definition at line 302 of file Vehicle.h.

Referenced by BeginPlay().

◆ ExtraTransformSensors

TArray<ATransformSensor*> AVehicle::ExtraTransformSensors
protected

Definition at line 317 of file Vehicle.h.

Referenced by BeginPlay(), and EndPlay().

◆ InteractableName

FText AVehicle::InteractableName

◆ MovedFromGarageTransform

FTransform AVehicle::MovedFromGarageTransform
protected

Definition at line 313 of file Vehicle.h.

Referenced by ExportToJsonFile().

◆ NiagaraComponent

UNiagaraComponent* AVehicle::NiagaraComponent = nullptr
protected

Definition at line 297 of file Vehicle.h.

Referenced by APIDDrone::BeginPlay(), BeginPlay(), and EndPlay().

◆ OnVehicleGarageChanged

FVehicleGarageChangedDelegate AVehicle::OnVehicleGarageChanged

Definition at line 264 of file Vehicle.h.

◆ OriginalCameraTransform

FTransform AVehicle::OriginalCameraTransform
protected

Definition at line 311 of file Vehicle.h.

◆ OverlapSensor

AOverlapSensor* AVehicle::OverlapSensor = nullptr
protected

◆ SensorsManager

TObjectPtr<USensorsManagerComponent> AVehicle::SensorsManager
protected

Definition at line 285 of file Vehicle.h.

Referenced by AVehicle(), EndPlay(), and ASimulationLevelManager::GetSensorsManager().

◆ TransformSensor

ATransformSensor* AVehicle::TransformSensor = nullptr
protected

Definition at line 291 of file Vehicle.h.

Referenced by APIDDrone::BeginPlay(), BeginPlay(), APIDDrone::EndPlay(), and EndPlay().

◆ VehicleInGarage

bool AVehicle::VehicleInGarage = false
protected

Definition at line 315 of file Vehicle.h.

◆ VehicleParameters

FWheeledVehicleParameters AVehicle::VehicleParameters
protected

Definition at line 279 of file Vehicle.h.

Referenced by BeginPlay(), and SetVehicleParameters().


The documentation for this class was generated from the following files: