用于记录碰撞的传感器。 更多...
#include <CollisionSensor.h>
类 ACollisionSensor 继承关系图:
ACollisionSensor 的协作图:Public 成员函数 | |
| ACollisionSensor (const FObjectInitializer &ObjectInitializer) | |
| void | OnActorCollisionEvent (AActor *Actor, AActor *OtherActor, FVector NormalImpulse, const FHitResult &Hit) |
| void | OnCollisionEvent (AActor *Actor, AActor *OtherActor, FVector NormalImpulse, const FHitResult &Hit) |
| void | OnComponentCollisionEvent (UPrimitiveComponent *HitComp, AActor *OtherActor, UPrimitiveComponent *OtherComp, FVector NormalImpulse, const FHitResult &Hit) |
| virtual void | PrePhysTick (float DeltaSeconds) override |
| void | SetOwner (AActor *NewOwner) override |
Public 成员函数 继承自 ASensor | |
| ASensor (const FObjectInitializer &ObjectInitializer) | |
| virtual void | BeginPlay () |
| boost::optional< FActorAttribute > | GetAttribute (const FString Name) |
| const UCarlaEpisode & | GetEpisode () const |
| URandomEngine * | GetRandomEngine () |
| int32 | GetSeed () const |
| auto | GetToken () const |
| Return the token that allows subscribing to this sensor's stream. 更多... | |
| bool | IsStreamReady () |
| FDataStream | MoveDataStream () |
| virtual void | OnFirstClientConnected () |
| virtual void | OnLastClientDisconnected () |
| virtual void | PostPhysTick (UWorld *World, ELevelTick TickType, float DeltaSeconds) |
| void | PostPhysTickInternal (UWorld *World, ELevelTick TickType, float DeltaSeconds) |
| virtual void | PrePhysTick (float DeltaSeconds) |
| virtual void | Set (const FActorDescription &Description) |
| void | SetDataStream (FDataStream InStream) |
| Replace the FDataStream associated with this sensor. 更多... | |
| void | SetEpisode (const UCarlaEpisode &InEpisode) |
| void | SetSeed (int32 InSeed) |
| void | Tick (const float DeltaTime) final |
静态 Public 成员函数 | |
| static FActorDefinition | GetSensorDefinition () |
Private 属性 | |
| std::vector< std::tuple< uint64_t, AActor *, AActor * > > | CollisionRegistry |
| 保存所有碰撞的注册表。 用于避免每帧发送多次相同的碰撞,因为碰撞传感器使用 PhysX 子步节拍信号。有助于传感器的使用和流过载。 更多... | |
额外继承的成员函数 | |
Protected 成员函数 继承自 ASensor | |
| void | EndPlay (EEndPlayReason::Type EndPlayReason) override |
| template<typename SensorT > | |
| FAsyncDataStream | GetDataStream (const SensorT &Self) |
| Return the FDataStream associated with this sensor. 更多... | |
| void | PostActorCreated () override |
Protected 属性 继承自 ASensor | |
| bool | bIsActive = false |
| URandomEngine * | RandomEngine = nullptr |
| Random Engine used to provide noise for sensor output. 更多... | |
| int32 | Seed = 123456789 |
| Seed of the pseudo-random engine. 更多... | |
用于记录碰撞的传感器。
在文件 CollisionSensor.h 第 19 行定义.
| ACollisionSensor::ACollisionSensor | ( | const FObjectInitializer & | ObjectInitializer | ) |
在文件 CollisionSensor.cpp 第 20 行定义.
|
static |
在文件 CollisionSensor.cpp 第 26 行定义.
引用了 UActorBlueprintFunctionLibrary::MakeGenericSensorDefinition().
函数调用图:| void ACollisionSensor::OnActorCollisionEvent | ( | AActor * | Actor, |
| AActor * | OtherActor, | ||
| FVector | NormalImpulse, | ||
| const FHitResult & | Hit | ||
| ) |
在文件 CollisionSensor.cpp 第 153 行定义.
引用了 Actor , 以及 OnCollisionEvent().
被这些函数引用 SetOwner().
函数调用图:
这是这个函数的调用关系图:| void ACollisionSensor::OnCollisionEvent | ( | AActor * | Actor, |
| AActor * | OtherActor, | ||
| FVector | NormalImpulse, | ||
| const FHitResult & | Hit | ||
| ) |
在文件 CollisionSensor.cpp 第 80 行定义.
引用了 Actor, Collision, CollisionRegistry, carla::streaming::detail::token_type::get_stream_id(), ASensor::GetDataStream(), ASensor::GetEpisode(), FCarlaEngine::GetFrameCounter(), carla::ros2::ROS2::GetInstance(), ASensor::GetToken(), IsValid(), FAsyncDataStreamTmpl::SerializeAndSend() , 以及 UE_LOG().
被这些函数引用 OnActorCollisionEvent() , 以及 OnComponentCollisionEvent().
函数调用图:
这是这个函数的调用关系图:| void ACollisionSensor::OnComponentCollisionEvent | ( | UPrimitiveComponent * | HitComp, |
| AActor * | OtherActor, | ||
| UPrimitiveComponent * | OtherComp, | ||
| FVector | NormalImpulse, | ||
| const FHitResult & | Hit | ||
| ) |
在文件 CollisionSensor.cpp 第 162 行定义.
引用了 Actor , 以及 OnCollisionEvent().
被这些函数引用 SetOwner().
函数调用图:
这是这个函数的调用关系图:
|
overridevirtual |
重载 ASensor .
在文件 CollisionSensor.cpp 第 64 行定义.
引用了 CollisionRegistry , 以及 FCarlaEngine::GetFrameCounter().
函数调用图:
|
override |
在文件 CollisionSensor.cpp 第 33 行定义.
引用了 IsValid(), OnActorCollisionEvent(), OnComponentCollisionEvent(), UE_LOG() , 以及 Vehicle.
函数调用图:保存所有碰撞的注册表。 用于避免每帧发送多次相同的碰撞,因为碰撞传感器使用 PhysX 子步节拍信号。有助于传感器的使用和流过载。
在文件 CollisionSensor.h 第 57 行定义.
被这些函数引用 OnCollisionEvent() , 以及 PrePhysTick().