RapyutaSimulationPlugins
Public Member Functions | Public Attributes | List of all members
URRROS2OverlapSensorComponent Class Reference

Publish overlappping acotors and components and begin/end event. More...

#include <RRROS2OverlapSensorComponent.h>

Inheritance diagram for URRROS2OverlapSensorComponent:
Inheritance graph
[legend]
Collaboration diagram for URRROS2OverlapSensorComponent:
Collaboration graph
[legend]

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()
 
URRROS2BaseSensorPublisherSensorPublisher = 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
 

Detailed Description

Publish overlappping acotors and components and begin/end event.

UCLASS(ClassGroup = (Custom), Blueprintable, meta = (BlueprintSpawnableComponent))

Constructor & Destructor Documentation

◆ URRROS2OverlapSensorComponent()

URRROS2OverlapSensorComponent::URRROS2OverlapSensorComponent ( )

Construct a new URRROS2OverlapSensorComponent object.

Member Function Documentation

◆ AddTarget()

void URRROS2OverlapSensorComponent::AddTarget ( UObject *  InTargetObject)

Add name of TargetObject to Overlaps and BindCallback.

◆ BeginPlay()

void URRROS2OverlapSensorComponent::BeginPlay ( )
override

◆ BindCallback()

void URRROS2OverlapSensorComponent::BindCallback ( UObject *  InTargetObject)

Bind OnComponentBeginOverlap. OnComponentEndOverlap, OnActorBeginOverlap and OnActorEndOverlap.

◆ InitalizeWithROS2()

virtual void URRROS2OverlapSensorComponent::InitalizeWithROS2 ( UROS2NodeComponent *  InROS2Node,
const FString &  InPublisherName = EMPTY_STR,
const FString &  InTopicName = EMPTY_STR,
const UROS2QoS  InQoS = UROS2QoS::SensorData 
)
overridevirtual

Initialize EventPublisher and SensorPublisher.

Parameters
InROS2Node
InPublisherName
InTopicName
InQoS

Reimplemented from URRROS2BaseSensorComponent.

◆ IsIgnore()

bool URRROS2OverlapSensorComponent::IsIgnore ( AActor *  SelfActor,
AActor *  OtherActor,
UPrimitiveComponent *  OtherComp 
)

◆ OnComponentOverlap()

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

◆ 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.

◆ OnTargetActorBeginOverlap()

void URRROS2OverlapSensorComponent::OnTargetActorBeginOverlap ( AActor *  OverlappedActor,
AActor *  OtherActor 
)

◆ OnTargetActorEndOverlap()

void URRROS2OverlapSensorComponent::OnTargetActorEndOverlap ( AActor *  OverlappedActor,
AActor *  OtherActor 
)

◆ OnTargetComponentBeginOverlap()

virtual void URRROS2OverlapSensorComponent::OnTargetComponentBeginOverlap ( UPrimitiveComponent *  OverlappedComponent,
AActor *  OtherActor,
UPrimitiveComponent *  OtherComp,
int32  OtherBodyIndex,
bool  bFromSweep,
const FHitResult &  SweepResult 
)
virtual

◆ OnTargetComponentEndOverlap()

virtual void URRROS2OverlapSensorComponent::OnTargetComponentEndOverlap ( UPrimitiveComponent *  OverlappedComponent,
AActor *  OtherActor,
UPrimitiveComponent *  OtherComp,
int32  OtherBodyIndex 
)
virtual

◆ SensorUpdate()

virtual void URRROS2OverlapSensorComponent::SensorUpdate ( )
overridevirtual

Update Overlaps by GetOverlappingComponents and GetOverlappingActors of TargetObjects.

Reimplemented from URRROS2BaseSensorComponent.

◆ SetROS2Msg()

virtual void URRROS2OverlapSensorComponent::SetROS2Msg ( UROS2GenericMsg *  InMessage)
overridevirtual

Set result of #GetROS2Data to InMessage.

Parameters
InMessage

Reimplemented from URRROS2BaseSensorComponent.

Member Data Documentation

◆ bIgnoreSelf

bool URRROS2OverlapSensorComponent::bIgnoreSelf = true

Ignore collision with Owner Actor or self component.

UPROPERTY(EditAnywhere, BlueprintReadWrite)

◆ Data

FROSOverlapEvent URRROS2OverlapSensorComponent::Data

Overlap Event data.

UPROPERTY(BlueprintReadWrite)

◆ EventPublisher

UROS2Publisher* URRROS2OverlapSensorComponent::EventPublisher = nullptr

Publisher for begin/end overlapping event.

UPROPERTY(EditAnywhere, BlueprintReadWrite)

◆ EventTopicName

FString URRROS2OverlapSensorComponent::EventTopicName = TEXT("")

◆ IgnoreList

TArray<UObject*> URRROS2OverlapSensorComponent::IgnoreList

List of object which collide with are ignored.

UPROPERTY(EditAnywhere, BlueprintReadWrite)

◆ Overlaps

FROSOverlaps URRROS2OverlapSensorComponent::Overlaps

List of Overlapping Actors and Components.

UPROPERTY(BlueprintReadWrite)

◆ TargetObjects

TArray<UObject*> URRROS2OverlapSensorComponent::TargetObjects

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