CARLA
Public Member Functions | Private Member Functions | Private Attributes | List of all members
UObjectRegister Class Reference

#include <ObjectRegister.h>

+ Inheritance diagram for UObjectRegister:
+ Collaboration diagram for UObjectRegister:

Public Member Functions

void EnableEnvironmentObjects (const TSet< uint64 > &EnvObjectIds, bool Enable)
 
TArray< FEnvironmentObjectGetEnvironmentObjects (uint8 InTagQueried=0xFF) const
 
void RegisterObjects (TArray< AActor *> Actors)
 
 UObjectRegister ()
 
 ~UObjectRegister ()
 

Private Member Functions

void EnableActor (FEnvironmentObject &EnvironmentObject, bool Enable)
 
void EnableEnvironmentObject (FEnvironmentObject &EnvironmentObject, bool Enable)
 
void EnableISMComp (FEnvironmentObject &EnvironmentObject, bool Enable)
 
void EnableTrafficLight (FEnvironmentObject &EnvironmentObject, bool Enable)
 
void RegisterCharacter (ACharacter *Character)
 
void RegisterEnvironmentObject (AActor *Actor, FBoundingBox &BoundingBox, EnvironmentObjectType Type, uint8 Tag)
 
void RegisterISMComponents (AActor *Actor)
 
void RegisterSKMComponents (AActor *Actor)
 
void RegisterSMComponents (AActor *Actor)
 
void RegisterTrafficLight (ATrafficLightBase *TrafficLight)
 
void RegisterVehicle (ACarlaWheeledVehicle *Vehicle)
 

Private Attributes

TArray< FEnvironmentObjectEnvironmentObjects
 
int FoliageActorInstanceCount = 0
 
TMultiMap< uint64, const UStaticMeshComponent * > ObjectIdToComp
 

Detailed Description

Definition at line 19 of file ObjectRegister.h.

Constructor & Destructor Documentation

◆ UObjectRegister()

UObjectRegister::UObjectRegister ( )
inline

Definition at line 25 of file ObjectRegister.h.

◆ ~UObjectRegister()

UObjectRegister::~UObjectRegister ( )
inline

Definition at line 26 of file ObjectRegister.h.

References BoundingBox, Character, TrafficLight, and Vehicle.

Member Function Documentation

◆ EnableActor()

void UObjectRegister::EnableActor ( FEnvironmentObject EnvironmentObject,
bool  Enable 
)
private

Definition at line 374 of file ObjectRegister.cpp.

References FEnvironmentObject::Actor, and FEnvironmentObject::CanTick.

Referenced by EnableEnvironmentObject().

+ Here is the caller graph for this function:

◆ EnableEnvironmentObject()

void UObjectRegister::EnableEnvironmentObject ( FEnvironmentObject EnvironmentObject,
bool  Enable 
)
private

Definition at line 349 of file ObjectRegister.cpp.

References Character, EnableActor(), EnableISMComp(), EnableTrafficLight(), ISMComp, SKMComp, SMComp, TrafficLight, FEnvironmentObject::Type, and Vehicle.

Referenced by EnableEnvironmentObjects().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnableEnvironmentObjects()

void UObjectRegister::EnableEnvironmentObjects ( const TSet< uint64 > &  EnvObjectIds,
bool  Enable 
)

Definition at line 108 of file ObjectRegister.cpp.

References EnableEnvironmentObject(), and EnvironmentObjects.

Referenced by ACarlaGameModeBase::EnableEnvironmentObjects().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnableISMComp()

void UObjectRegister::EnableISMComp ( FEnvironmentObject EnvironmentObject,
bool  Enable 
)
private

Definition at line 405 of file ObjectRegister.cpp.

References FEnvironmentObject::Id, ISMComp, FEnvironmentObject::Name, ObjectIdToComp, SMComp, and FEnvironmentObject::Transform.

Referenced by EnableEnvironmentObject().

+ Here is the caller graph for this function:

◆ EnableTrafficLight()

void UObjectRegister::EnableTrafficLight ( FEnvironmentObject EnvironmentObject,
bool  Enable 
)
private

Definition at line 386 of file ObjectRegister.cpp.

References FEnvironmentObject::Id, ObjectIdToComp, and SMComp.

Referenced by EnableEnvironmentObject().

+ Here is the caller graph for this function:

◆ GetEnvironmentObjects()

TArray< FEnvironmentObject > UObjectRegister::GetEnvironmentObjects ( uint8  InTagQueried = 0xFF) const

Definition at line 23 of file ObjectRegister.cpp.

References carla::rpc::Any, and EnvironmentObjects.

◆ RegisterCharacter()

void UObjectRegister::RegisterCharacter ( ACharacter Character)
private

Definition at line 158 of file ObjectRegister.cpp.

References Character, UBoundingBoxCalculator::GetCharacterBoundingBox(), and RegisterEnvironmentObject().

Referenced by RegisterObjects().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RegisterEnvironmentObject()

void UObjectRegister::RegisterEnvironmentObject ( AActor Actor,
FBoundingBox BoundingBox,
EnvironmentObjectType  Type,
uint8  Tag 
)
private

Definition at line 130 of file ObjectRegister.cpp.

References FEnvironmentObject::Actor, FEnvironmentObject::BoundingBox, BoundingBox, FEnvironmentObject::CanTick, EnvironmentObjects, FEnvironmentObject::Id, FEnvironmentObject::Name, FEnvironmentObject::ObjectLabel, FEnvironmentObject::Transform, and FEnvironmentObject::Type.

Referenced by RegisterCharacter(), and RegisterVehicle().

+ Here is the caller graph for this function:

◆ RegisterISMComponents()

void UObjectRegister::RegisterISMComponents ( AActor Actor)
private

Definition at line 211 of file ObjectRegister.cpp.

References EnvironmentObjects, FoliageActorInstanceCount, UBoundingBoxCalculator::GetISMBoundingBox(), ATagger::GetTagOfTaggedComponent(), ISMComp, ObjectIdToComp, and FEnvironmentObject::Transform.

Referenced by RegisterObjects().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RegisterObjects()

void UObjectRegister::RegisterObjects ( TArray< AActor *>  Actors)

Definition at line 41 of file ObjectRegister.cpp.

References Character, EnvironmentObjects, carla::client::detail::Get(), RegisterCharacter(), RegisterISMComponents(), RegisterSKMComponents(), RegisterSMComponents(), RegisterTrafficLight(), RegisterVehicle(), TrafficLight, and Vehicle.

Referenced by ACarlaGameModeBase::RegisterEnvironmentObjects().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RegisterSKMComponents()

void UObjectRegister::RegisterSKMComponents ( AActor Actor)
private

Definition at line 314 of file ObjectRegister.cpp.

References FEnvironmentObject::Actor, FEnvironmentObject::BoundingBox, FEnvironmentObject::CanTick, EnvironmentObjects, UBoundingBoxCalculator::GetBBsOfSkeletalMeshComponents(), FEnvironmentObject::Id, FEnvironmentObject::Name, FEnvironmentObject::ObjectLabel, SKMComp, FEnvironmentObject::Transform, and FEnvironmentObject::Type.

Referenced by RegisterObjects().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RegisterSMComponents()

void UObjectRegister::RegisterSMComponents ( AActor Actor)
private

Definition at line 281 of file ObjectRegister.cpp.

References FEnvironmentObject::Actor, FEnvironmentObject::BoundingBox, FEnvironmentObject::CanTick, EnvironmentObjects, UBoundingBoxCalculator::GetBBsOfStaticMeshComponents(), FEnvironmentObject::Id, FEnvironmentObject::Name, FEnvironmentObject::ObjectLabel, SMComp, FEnvironmentObject::Transform, and FEnvironmentObject::Type.

Referenced by RegisterObjects().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RegisterTrafficLight()

void UObjectRegister::RegisterTrafficLight ( ATrafficLightBase TrafficLight)
private

Definition at line 165 of file ObjectRegister.cpp.

References FEnvironmentObject::Actor, FEnvironmentObject::BoundingBox, FEnvironmentObject::CanTick, EnvironmentObjects, UBoundingBoxCalculator::GetMeshCompsFromActorBoundingBox(), ATagger::GetTagAsString(), UBoundingBoxCalculator::GetTrafficLightBoundingBox(), FEnvironmentObject::Id, FEnvironmentObject::Name, ObjectIdToComp, FEnvironmentObject::ObjectLabel, TrafficLight, FEnvironmentObject::Transform, and FEnvironmentObject::Type.

Referenced by RegisterObjects().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RegisterVehicle()

void UObjectRegister::RegisterVehicle ( ACarlaWheeledVehicle Vehicle)
private

Definition at line 151 of file ObjectRegister.cpp.

References UBoundingBoxCalculator::GetVehicleBoundingBox(), RegisterEnvironmentObject(), Vehicle, and carla::rpc::Vehicles.

Referenced by RegisterObjects().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ EnvironmentObjects

TArray<FEnvironmentObject> UObjectRegister::EnvironmentObjects
private

◆ FoliageActorInstanceCount

int UObjectRegister::FoliageActorInstanceCount = 0
private

Definition at line 70 of file ObjectRegister.h.

Referenced by RegisterISMComponents().

◆ ObjectIdToComp

TMultiMap<uint64, const UStaticMeshComponent*> UObjectRegister::ObjectIdToComp
private

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