RapyutaSimulationPlugins
|
This class should be attached to a robot and publish its states. More...
#include <RRROS2StatePublisher.h>
Public Member Functions | |
URRROS2StatePublisher () | |
void | UpdateMessage (UROS2GenericMsg *InMessage) override |
void | AddEntityToPublish (const FString &InName, const FVector &InPosition, const FRotator &InOrientation, const FString &InRefFrame) |
virtual void | SetTargetRobot (ARobotVehicle *InRobot) |
Public Attributes | |
TArray< FROSEntityState > | StatesToPublish |
it's responsibility of the owner to update this More... | |
int32 | Idx = 0 |
TWeakObjectPtr< ARobotVehicle > | Robot = nullptr |
FString | FrameId |
FString | ReferenceFrameId |
This class should be attached to a robot and publish its states.
It is responsibility of the owning robot to update the structs, this way the class can be kept more flexible and work with robots
defined by multiple actors as well as robots defined by a skeletal mesh. This could use a refactor once the robots are more well
defined and could require a refactor of the main publisher class as well, to avoid the iterator Idx as it is used now Ideally, it
should be this class that fetches all the necessary data to be published.
UCLASS(ClassGroup = (Custom), Blueprintable, meta = (BlueprintSpawnableComponent))
URRROS2StatePublisher::URRROS2StatePublisher | ( | ) |
void URRROS2StatePublisher::AddEntityToPublish | ( | const FString & | InName, |
const FVector & | InPosition, | ||
const FRotator & | InOrientation, | ||
const FString & | InRefFrame | ||
) |
|
virtual |
Reimplemented in URRROS2SkeletalMeshStatePublisher.
|
override |
FString URRROS2StatePublisher::FrameId |
int32 URRROS2StatePublisher::Idx = 0 |
FString URRROS2StatePublisher::ReferenceFrameId |
TWeakObjectPtr<ARobotVehicle> URRROS2StatePublisher::Robot = nullptr |
TArray<FROSEntityState> URRROS2StatePublisher::StatesToPublish |
it's responsibility of the owner to update this