CARLA
 
载入中...
�索中...
未找到
OpenDriveGenerator.h
�览该文件的文档.
1// Copyright (c) 2020 Computer Vision Center (CVC) at the Universitat Autonoma
2// de Barcelona (UAB).
3//
4// This work is licensed under the terms of the MIT license.
5// For a copy, see <https://opensource.org/licenses/MIT>.
6#pragma once
7
8#include "CoreMinimal.h"
9#include "GameFramework/Actor.h"
10#include "ProceduralMeshComponent.h"
11
13#include <boost/optional.hpp>
14#include "carla/road/Map.h"
16
18
19#include "OpenDriveGenerator.generated.h"
20
21UCLASS()
22class CARLA_API AProceduralMeshActor : public AActor
23{
24 GENERATED_BODY()
25public:
27
28 UPROPERTY(Category = "Procedural Mesh Actor", VisibleDefaultsOnly, BlueprintReadOnly, meta = (AllowPrivateAccess = "true"))
29 UProceduralMeshComponent* MeshComponent;
30};
31
32UCLASS()
33class CARLA_API AOpenDriveGenerator : public AActor
34{
35 GENERATED_BODY()
36
37public:
38
39 AOpenDriveGenerator(const FObjectInitializer &ObjectInitializer);
40
41 /// ½«OpenDRIVEÐÅÏ¢ÉèÖÃΪ×Ö·û´®£¬²¢Éú³É¿É²éѯµÄÓ³Éä½á¹¹¡£
42 bool LoadOpenDrive(const FString &OpenDrive);
43
44 /// ÒÔ×Ö·û´®ÐÎʽ»ñÈ¡OpenDRIVEÐÅÏ¢¡£
45 const FString &GetOpenDrive() const;
46
47 /// ¼ì²éÊÇ·ñÒѼÓÔØOpenDrive¼°ÆäÓÐЧÐÔ¡£
48 bool IsOpenDriveValid() const;
49
50 /// »ùÓÚOpenDRIVEÐÅÏ¢Éú³ÉµÀ·ºÍÈËÐеÀÍø¸ñ¡£
51 void GenerateRoadMesh();
52
53 /// »ùÓÚOpenDRIVEÐÅÏ¢Éú³É¸ËÍø¸ñ¡£
54 void GeneratePoles();
55
56 /// ÑØµÀ·Éú³ÉÉú³ÉÉú³Éµã¡£
57 void GenerateSpawnPoints();
58
59 void GenerateAll();
60
61protected:
62
63 virtual void BeginPlay() override;
64
65 /// È·¶¨²úÂÑÆ÷Ïà¶ÔÓÚÿ¸öRoutePlannerµÄ·ÅÖø߶È
66 UPROPERTY(Category = "Spawners", EditAnywhere)
67 float SpawnersHeight = 300.f;
68
69 UPROPERTY(Category = "Spawners", EditAnywhere)
70 TArray<AVehicleSpawnPoint *> VehicleSpawners;
71
72 UPROPERTY(EditAnywhere)
73 FString OpenDriveData;
74
75 UPROPERTY(EditAnywhere)
76 TArray<AActor *> ActorMeshList;
77
78};
行人生��置的基类。