Agrarsense
DroneParameters.h
Go to the documentation of this file.
1// Copyright (c) 2023 FrostBit Software Lab at the Lapland University of Applied Sciences
2//
3// This work is licensed under the terms of the MIT license.
4// For a copy, see <https://opensource.org/licenses/MIT>.
5
6#pragma once
7
8#include "CoreMinimal.h"
9#include "UObject/ObjectMacros.h"
10
11#include "DroneAction.h"
12#include "DroneEndAction.h"
13
14#include "DroneParameters.generated.h"
15
16UENUM(BlueprintType)
17enum class EFlightMode : uint8
18{
19 Manual = 0 UMETA(DisplayName = "Manual"),
20 Roaming = 1 UMETA(DisplayName = "Roaming")
21};
22
23/*
24* Drone Parameters struct. Some of the parameters are set in Blueprint side,
25* while some are set in .cpp side.
26* Some parameters can only set once when the drone spawns.
27*/
28USTRUCT(Blueprintable)
29struct AGRARSENSE_API FDroneParameters
30{
31 GENERATED_BODY()
32
33 UPROPERTY(EditAnywhere, BlueprintReadWrite)
34 EDroneAction DroneAction = EDroneAction::Stationary;
35
36 UPROPERTY(EditAnywhere, BlueprintReadWrite)
37 EDroneEndAction DroneEndAction = EDroneEndAction::Stop;
38
39 UPROPERTY(EditAnywhere, BlueprintReadWrite)
40 bool CollisionsEnabled = true;
41
42 UPROPERTY(EditAnywhere, BlueprintReadWrite)
43 float OverlapRadiusMeters = 25.0f;
44
45 UPROPERTY(EditAnywhere, BlueprintReadWrite)
46 bool CreateInnerOverlapSensor = true;
47
48 UPROPERTY(EditAnywhere, BlueprintReadWrite)
49 float InnerOverlapRadiusMeters = 2.0f;
50
51 UPROPERTY(EditAnywhere, BlueprintReadWrite)
52 bool VisualizeOverlap = false;
53
54 UPROPERTY(EditAnywhere, BlueprintReadWrite)
55 bool ShowForwardArrow = false;
56
57 /*
58 * Drone points to follow or next roaming point.
59 */
60 UPROPERTY(EditAnywhere, BlueprintReadWrite)
61 TArray<FTransform> Points;
62
63};
EDroneAction
Definition: DroneAction.h:15
EDroneEndAction
EFlightMode