14 PrimaryActorTick.bCanEverTick =
false;
39 Super::EndPlay(EndPlayReason);
57 NormalImpulse *= 1e-2;
58 if (NormalImpulse.Size() > 200)
63 OtherActor->GetName(),
100 FileSavePath = DataLocation + AttachedVehicle->GetActorID_Implementation();
123 UE_LOG(LogTemp, Warning, TEXT(
"FileSavePath %s"), *
FileSavePath);
125 LogFile = NewObject<ULogFile>(ULogFile::StaticClass());
131 Prefix = AttachedVehicle->GetActorID_Implementation();
133 FString FileName = Prefix.IsEmpty() ? TEXT(
"collision") : Prefix + TEXT(
"_collision");
void SendCollisionData(const FString &CollisionDataString)
TSharedPtr< ROSMessages::std_msgs::String > CollisionMessage
void Init(AActor *NewOwner, bool SimulateSensor=true)
ACollisionSensor(const FObjectInitializer &ObjectInitializer)
virtual void BeginPlay() override
void OnCollisionEvent(AActor *Actor, AActor *OtherActor, FVector NormalImpulse, const FHitResult &Hit)
void CreateLogFile() override
void CreateDataSavePath() override
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override
TWeakObjectPtr< AActor > CurrentOwner
bool CanSimulateSensor() const
void SetSimulateSensor(bool SimulateSensor)
UTopic * GetROSTopic() const
AVehicle * IsAttachedToVehicle() const
virtual FString GetActorID_Implementation() const override
void WriteToLogFile(const FString &Message)
FORCEINLINE bool IsROSConnected() const
virtual void CreateROSTopic()
static void Log(const FString &Message, bool LogToTextFile=true, bool LogToROS=true)
static FString GetDataFolder()
void Create(const FString &FileNameWithoutExtension, FLogFileSettings Settings)
FString ToStringHumanReadable()
FFileWriteOptions FileWriteOptions
FFileCreationOptions FileCreationOptions