RapyutaSimulationPlugins
|
Publish overlappping acotors and components and begin/end event. More...
#include <RRROS2OverlapSensorComponent.h>
Public Member Functions | |
URRROS2OverlapSensorComponent () | |
Construct a new URRROS2OverlapSensorComponent object. More... | |
virtual void | InitalizeWithROS2 (UROS2NodeComponent *InROS2Node, const FString &InPublisherName=EMPTY_STR, const FString &InTopicName=EMPTY_STR, const UROS2QoS InQoS=UROS2QoS::SensorData) override |
Initialize EventPublisher and SensorPublisher. More... | |
void | BeginPlay () override |
virtual void | SensorUpdate () override |
Update Overlaps by GetOverlappingComponents and GetOverlappingActors of TargetObjects. More... | |
void | AddTarget (UObject *InTargetObject) |
Add name of TargetObject to Overlaps and BindCallback. More... | |
void | BindCallback (UObject *InTargetObject) |
Bind OnComponentBeginOverlap. OnComponentEndOverlap, OnActorBeginOverlap and OnActorEndOverlap. More... | |
void | OnOverlap (AActor *OverlappedActor, AActor *OtherActor, UPrimitiveComponent *OtherComp, const bool InBegin, const FString &Name=TEXT("")) |
Common overlap process called from OnComponentOverlap, OnTargetActorBeginOverlap and OnTargetActorEndOverlap. More... | |
void | OnComponentOverlap (UPrimitiveComponent *OverlappedComponent, AActor *OtherActor, UPrimitiveComponent *OtherComp, int32 OtherBodyIndex, const bool InBegin) |
Common component overlap process called from OnTargetComponentBeginOverlap and OnTargetComponentEndOverlap. More... | |
virtual void | OnTargetComponentBeginOverlap (UPrimitiveComponent *OverlappedComponent, AActor *OtherActor, UPrimitiveComponent *OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult &SweepResult) |
virtual void | OnTargetComponentEndOverlap (UPrimitiveComponent *OverlappedComponent, AActor *OtherActor, UPrimitiveComponent *OtherComp, int32 OtherBodyIndex) |
void | OnTargetActorBeginOverlap (AActor *OverlappedActor, AActor *OtherActor) |
void | OnTargetActorEndOverlap (AActor *OverlappedActor, AActor *OtherActor) |
virtual void | SetROS2Msg (UROS2GenericMsg *InMessage) override |
Set result of #GetROS2Data to InMessage. More... | |
bool | IsIgnore (AActor *SelfActor, AActor *OtherActor, UPrimitiveComponent *OtherComp) |
Public Member Functions inherited from URRROS2BaseSensorComponent | |
URRROS2BaseSensorComponent () | |
Construct a new URRROS2BaseSensorComponent object. More... | |
virtual void | CreatePublisher (const FString &InPublisherName=TEXT("")) |
Create a Publisher with SensorPublisherClass. More... | |
virtual void | PreInitializePublisher (UROS2NodeComponent *InROS2Node, const FString &InTopicName=TEXT("")) |
Set publish frequency, topic name and FrameId. More... | |
virtual void | InitializePublisher (UROS2NodeComponent *InROS2Node, const UROS2QoS InQoS=UROS2QoS::SensorData) |
Initialize Sensorpublisher by using UROS2Publisher's methods. More... | |
virtual void | Run () |
Start timer to update and publish sensor data by using SetTimer. More... | |
virtual void | Stop () |
Stop timer to update and publish sensor data by using ClearTimer. More... | |
Public Attributes | |
TArray< UObject * > | TargetObjects |
UROS2Publisher * | EventPublisher = nullptr |
Publisher for begin/end overlapping event. More... | |
FString | EventTopicName = TEXT("") |
FROSOverlapEvent | Data |
Overlap Event data. More... | |
FROSOverlaps | Overlaps |
List of Overlapping Actors and Components. More... | |
bool | bIgnoreSelf = true |
Ignore collision with Owner Actor or self component. More... | |
TArray< UObject * > | IgnoreList |
List of object which collide with are ignored. More... | |
Public Attributes inherited from URRROS2BaseSensorComponent | |
TSubclassOf< UROS2Publisher > | SensorPublisherClass = URRROS2BaseSensorPublisher::StaticClass() |
URRROS2BaseSensorPublisher * | SensorPublisher = nullptr |
TSubclassOf< UROS2GenericMsg > | MsgClass = UROS2GenericMsg::StaticClass() |
FString | TopicName = TEXT("sensor_data") |
FString | FrameId = TEXT("sensor_frame") |
int32 | PublicationFrequencyHz = 30 |
bool | bAppendNodeNamespace = true |
Append namespace to FrameId or not. More... | |
bool | bIsValid = true |
Additional Inherited Members | |
Protected Attributes inherited from URRROS2BaseSensorComponent | |
FTimerHandle | TimerHandle |
Publish overlappping acotors and components and begin/end event.
UCLASS(ClassGroup = (Custom), Blueprintable, meta = (BlueprintSpawnableComponent))
URRROS2OverlapSensorComponent::URRROS2OverlapSensorComponent | ( | ) |
Construct a new URRROS2OverlapSensorComponent object.
void URRROS2OverlapSensorComponent::AddTarget | ( | UObject * | InTargetObject | ) |
Add name of TargetObject to Overlaps and BindCallback.
|
override |
void URRROS2OverlapSensorComponent::BindCallback | ( | UObject * | InTargetObject | ) |
Bind OnComponentBeginOverlap. OnComponentEndOverlap, OnActorBeginOverlap and OnActorEndOverlap.
|
overridevirtual |
Initialize EventPublisher and SensorPublisher.
InROS2Node | |
InPublisherName | |
InTopicName | |
InQoS |
Reimplemented from URRROS2BaseSensorComponent.
bool URRROS2OverlapSensorComponent::IsIgnore | ( | AActor * | SelfActor, |
AActor * | OtherActor, | ||
UPrimitiveComponent * | OtherComp | ||
) |
void URRROS2OverlapSensorComponent::OnComponentOverlap | ( | UPrimitiveComponent * | OverlappedComponent, |
AActor * | OtherActor, | ||
UPrimitiveComponent * | OtherComp, | ||
int32 | OtherBodyIndex, | ||
const bool | InBegin | ||
) |
Common component overlap process called from OnTargetComponentBeginOverlap and OnTargetComponentEndOverlap.
Fill data and call OnOverlap
void URRROS2OverlapSensorComponent::OnOverlap | ( | AActor * | OverlappedActor, |
AActor * | OtherActor, | ||
UPrimitiveComponent * | OtherComp, | ||
const bool | InBegin, | ||
const FString & | Name = TEXT("") |
||
) |
Common overlap process called from OnComponentOverlap, OnTargetActorBeginOverlap and OnTargetActorEndOverlap.
Fill data and publish topic.
void URRROS2OverlapSensorComponent::OnTargetActorBeginOverlap | ( | AActor * | OverlappedActor, |
AActor * | OtherActor | ||
) |
void URRROS2OverlapSensorComponent::OnTargetActorEndOverlap | ( | AActor * | OverlappedActor, |
AActor * | OtherActor | ||
) |
|
virtual |
|
virtual |
|
overridevirtual |
Update Overlaps by GetOverlappingComponents and GetOverlappingActors of TargetObjects.
Reimplemented from URRROS2BaseSensorComponent.
|
overridevirtual |
Set result of #GetROS2Data to InMessage.
InMessage |
Reimplemented from URRROS2BaseSensorComponent.
bool URRROS2OverlapSensorComponent::bIgnoreSelf = true |
Ignore collision with Owner Actor or self component.
FROSOverlapEvent URRROS2OverlapSensorComponent::Data |
Overlap Event data.
UROS2Publisher* URRROS2OverlapSensorComponent::EventPublisher = nullptr |
Publisher for begin/end overlapping event.
FString URRROS2OverlapSensorComponent::EventTopicName = TEXT("") |
TArray<UObject*> URRROS2OverlapSensorComponent::IgnoreList |
List of object which collide with are ignored.
FROSOverlaps URRROS2OverlapSensorComponent::Overlaps |
List of Overlapping Actors and Components.
TArray<UObject*> URRROS2OverlapSensorComponent::TargetObjects |