CARLA
Loading...
Searching...
No Matches
CarlaNavModifierBox.h
Go to the documentation of this file.
1// Copyright (c) 2026 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
7#pragma once
8
9#include <util/ue-header-guard-begin.h>
10#include "CoreMinimal.h"
11#include "GameFramework/Actor.h"
12#include <util/ue-header-guard-end.h>
13
14#include "CarlaNavModifierBox.generated.h"
15
16class UBoxComponent;
17class UNavModifierComponent;
18class UNavArea;
19
20/// Oriented box that stamps a nav area class onto the navmesh polys it
21/// overlaps (crosswalks generated from the OpenDRIVE by the CarlaCrosswalkNav
22/// world-partition builder). The box body only provides the modifier bounds:
23/// it collides with nothing and is itself navigation-irrelevant (no Pawn or
24/// Vehicle block response), so it never rasterizes geometry into the navmesh.
25UCLASS()
26class CARLA_API ACarlaNavModifierBox : public AActor
27{
28 GENERATED_BODY()
29
30public:
31
32 ACarlaNavModifierBox(const FObjectInitializer &ObjectInitializer);
33
34 /// Set the stamped area and the box half-extent (called by the builder
35 /// before the actor package is saved).
36 void Configure(TSubclassOf<UNavArea> AreaClass, const FVector &BoxExtent);
37
38 UPROPERTY(VisibleAnywhere, Category = "Carla Nav Modifier")
39 TObjectPtr<UBoxComponent> Box;
40
41 UPROPERTY(VisibleAnywhere, Category = "Carla Nav Modifier")
42 TObjectPtr<UNavModifierComponent> NavModifier;
43};
Oriented box that stamps a nav area class onto the navmesh polys it overlaps (crosswalks generated fr...