CARLA
Loading...
Searching...
No Matches
StaticMeshFactory.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
11
12#include "StaticMeshFactory.generated.h"
13
14/// Factory in charge of spawning static meshes. This factory is able to spawn
15/// any mesh in content.
16UCLASS()
17class CARLA_API AStaticMeshFactory : public ACarlaActorFactory
18{
19 GENERATED_BODY()
20
21 /// Retrieve the definitions of the static mesh actor
22 TArray<FActorDefinition> GetDefinitions() final;
23
24 virtual void ReleaseContentPack(const FString &MountPoint) override;
25
26 FActorSpawnResult SpawnActor(
27 const FTransform &SpawnAtTransform,
28 const FActorDescription &ActorDescription) final;
29
30private:
31 /// Lazy, memoizing mesh cache keyed by mesh path. This factory takes an
32 /// arbitrary mesh path at spawn time (there is no catalog to pre-populate
33 /// from), so the cache fills on first spawn of a given path and spares
34 /// subsequent spawns of the same path the synchronous LoadObject hit.
35 UPROPERTY(Transient, DuplicateTransient)
36 TMap<FString, TObjectPtr<UStaticMesh>> MeshCacheByPath;
37};
Base class for Carla actor factories.
Factory in charge of spawning static meshes.
A description of a Carla Actor with all its variation.
Result of an actor spawn function.