Sets actors' custom depth stencil value for semantic segmentation according to their meshes. More...
#include <Tagger.h>
Public Member Functions | |
ATagger () | |
Static Public Member Functions | |
static FLinearColor | GetActorLabelColor (const AActor &Actor, const crp::CityObjectLabel &Label) |
static crp::CityObjectLabel | GetLabelByFolderName (const FString &String) |
Method that computes the label corresponding to a folder path. More... | |
template<typename T > | |
static crp::CityObjectLabel | GetLabelByPath (const T *Object) |
Method that computes the label corresponding to an specific object using the folder path in which it is stored. More... | |
static FString | GetTagAsString (crp::CityObjectLabel Tag) |
Retrieve the tags of an already tagged actor. More... | |
static crp::CityObjectLabel | GetTagOfTaggedComponent (const UPrimitiveComponent &Component) |
Retrieve the tag of an already tagged component. More... | |
static void | GetTagsOfTaggedActor (const AActor &Actor, TSet< crp::CityObjectLabel > &Tags) |
Retrieve the tags of an already tagged actor. More... | |
static bool | IsThing (const crp::CityObjectLabel &Label) |
static bool | MatchComponent (const UPrimitiveComponent &Component, crp::CityObjectLabel Tag) |
Return true if Component has been tagged with the given Tag. More... | |
static void | SetStencilValue (UPrimitiveComponent &Component, const crp::CityObjectLabel &Label, const bool bSetRenderCustomDepth) |
static void | TagActor (const AActor &Actor, bool bTagForSemanticSegmentation) |
Set the tag of an actor. More... | |
static void | TagActorsInLevel (UWorld &World, bool bTagForSemanticSegmentation) |
Set the tag of every actor in level. More... | |
static void | TagActorsInLevel (ULevel &Level, bool bTagForSemanticSegmentation) |
Private Attributes | |
bool | bTagForSemanticSegmentation = false |
bool | bTriggerTagObjects = false |
Sets actors' custom depth stencil value for semantic segmentation according to their meshes.
Non-static functions present so it can be dropped into the scene for testing purposes.
ATagger::ATagger | ( | ) |
Definition at line 293 of file Tagger.cpp.
References bTagForSemanticSegmentation, bTriggerTagObjects, and TagActorsInLevel().
|
static |
Definition at line 83 of file Tagger.cpp.
References CastEnum().
Referenced by TagActor().
|
static |
Method that computes the label corresponding to a folder path.
Definition at line 27 of file Tagger.cpp.
References carla::rpc::None, carla::rpc::Other, carla::rpc::TrafficLight, and carla::rpc::TrafficSigns.
|
inlinestatic |
Method that computes the label corresponding to an specific object using the folder path in which it is stored.
Definition at line 77 of file Tagger.h.
References carla::rpc::None.
Referenced by TagActor().
|
static |
Retrieve the tags of an already tagged actor.
CityObjectLabel::None is not added to the array.
Definition at line 250 of file Tagger.cpp.
References CARLA_GET_LABEL_STR, Other, and TrafficLight.
Referenced by CarlaGetRelevantTagAsString(), UObjectRegister::RegisterTrafficLight(), and TagActor().
|
inlinestatic |
Retrieve the tag of an already tagged component.
Definition at line 52 of file Tagger.h.
Referenced by URayTracer::CastRay(), ACarlaGameModeBase::EnableOverlapEvents(), UBoundingBoxCalculator::GetBBsOfActor(), UBoundingBoxCalculator::GetBBsOfSkeletalMeshComponents(), UBoundingBoxCalculator::GetBBsOfStaticMeshComponents(), GetTagsOfTaggedActor(), UBoundingBoxCalculator::GetVehicleBoundingBox(), URayTracer::ProjectPoint(), UObjectRegister::RegisterISMComponents(), and UObjectRegister::RegisterVehicle().
|
static |
Retrieve the tags of an already tagged actor.
CityObjectLabel::None is not added to the array.
Definition at line 236 of file Tagger.cpp.
References GetTagOfTaggedComponent(), and carla::rpc::None.
Referenced by FActorRegistry::MakeCarlaActor(), and UCarlaEpisode::SerializeActor().
|
static |
Definition at line 69 of file Tagger.cpp.
References carla::rpc::TrafficLight, and carla::rpc::TrafficSigns.
|
inlinestatic |
Return true if Component has been tagged with the given Tag.
Definition at line 62 of file Tagger.h.
References String.
Referenced by LineTrace().
|
static |
Definition at line 59 of file Tagger.cpp.
References CastEnum(), and carla::rpc::None.
Referenced by TagActor().
|
static |
Set the tag of an actor.
If bTagForSemanticSegmentation true, activate the custom depth pass. This pass is necessary for rendering the semantic segmentation. However, it may add a performance penalty since occlusion doesn't seem to be applied to objects having this value active.
Definition at line 103 of file Tagger.cpp.
References GetActorLabelColor(), GetLabelByPath(), GetTagAsString(), IsValid(), UTaggedComponent::SetColor(), and SetStencilValue().
Referenced by UTaggerDelegate::OnActorSpawned(), UActorDispatcher::SpawnActor(), and TagActorsInLevel().
|
static |
Set the tag of every actor in level.
If bTagForSemanticSegmentation true, activate the custom depth pass. This pass is necessary for rendering the semantic segmentation. However, it may add a performance penalty since occlusion doesn't seem to be applied to objects having this value active.
Definition at line 222 of file Tagger.cpp.
References TagActor().
Referenced by ATagger(), ACarlaGameModeBase::BeginPlay(), ACityMapGenerator::GenerateRoadMap(), ALargeMapManager::OnLevelAddedToWorld(), and ACarlaGameModeBase::OnLoadStreamLevel().
|
static |
Definition at line 229 of file Tagger.cpp.
References TagActor().
|
private |
|
private |