RapyutaSimulationPlugins
RRROS2EntityStateSensorComponent.h
Go to the documentation of this file.
1 
13 #pragma once
14 
15 
16 
17 // UE
18 
19 #include "CoreMinimal.h"
20 
21 #include "EngineUtils.h"
22 
23 
24 
25 // rclUE
26 
28 
29 
30 
31 #include <Msgs/ROS2EntityState.h>
32 
33 
34 
35 // RapyutaSimulationPlugins
36 
37 #include "Core/RRGeneralUtils.h"
38 
39 
40 
41 #include "RRROS2EntityStateSensorComponent.generated.h"
42 
43 
44 
45 DECLARE_MULTICAST_DELEGATE_OneParam(FOnNewReferenceActorDetected, AActor* /* NewReferenceActor */);
46 
47 
48 
62 class RAPYUTASIMULATIONPLUGINS_API URRROS2EntityStateSensorComponent : public URRROS2BaseSensorComponent
63 
64 {
65 
66 
67 
68 public:
69 
79 
80 
81 
82  void BeginPlay() override;
83 
84 
85 
94  virtual void SensorUpdate() override;
95 
96 
97 
99 
100 
105  FString ReferenceActorName = TEXT("");
106 
107 
108 
109 
114  AActor* ReferenceActor = nullptr;
115 
116 
117 
118 
123  FTransform OffsetTransform = FTransform::Identity;
124 
125 
126 
127  FOnNewReferenceActorDetected OnNewReferenceActorDetected;
128 
129 
130 
131 
136  virtual void SetReferenceActorByName(const FString& InName);
137 
138 
139 
140 
145  virtual void SetRootOffset(const FTransform& InRootOffset);
146 
147 
148 
149 
154  virtual void SetReferenceActorByActor(AActor* InActor);
155 
156 
157 
158  // ROS
159 
175  virtual FROSEntityState GetROS2Data();
176 
177 
178 
189  virtual void SetROS2Msg(UROS2GenericMsg* InMessage) override;
190 
191 
192 
193 
198  FROSEntityState Data;
199 
200 
201 
202 private:
203 
204 
209  FTransform RootOffset = FTransform::Identity;
210 
211 };
212 
DECLARE_MULTICAST_DELEGATE_OneParam
DECLARE_MULTICAST_DELEGATE_OneParam(FOnNewReferenceActorDetected, AActor *)
URRROS2BaseSensorComponent::SetROS2Msg
virtual void SetROS2Msg(UROS2GenericMsg *InMessage)
Set sensor data to ROS 2 msg. This method should be overwritten by child class.
Definition: RRROS2BaseSensorComponent.h:367
URRROS2BaseSensorComponent::SensorUpdate
virtual void SensorUpdate()
Update Sensor data. This method should be overwritten by child class.
Definition: RRROS2BaseSensorComponent.h:348
URRROS2EntityStateSensorComponent::Data
FROSEntityState Data
Definition: RRROS2EntityStateSensorComponent.h:198
RRROS2BaseSensorComponent.h
Base ROS 2 Sensor Component class. Other sensors class should inherit from this class.
URRROS2EntityStateSensorComponent
EntityState sensor components which publish entitystate relative to a specific actor.
Definition: RRROS2EntityStateSensorComponent.h:62
RRGeneralUtils.h
General utils.
URRROS2BaseSensorComponent
Base ROS 2 Sensor Component class. Other sensors class should inherit from this class.
Definition: RRROS2BaseSensorComponent.h:175
URRROS2EntityStateSensorComponent::OnNewReferenceActorDetected
FOnNewReferenceActorDetected OnNewReferenceActorDetected
Definition: RRROS2EntityStateSensorComponent.h:127