Agrarsense
Public Member Functions | Public Attributes | List of all members
CollisionData Struct Reference

#include <CollisionSensor.h>

Public Member Functions

FString ToString ()
 
FString ToStringHumanReadable ()
 
FString ToLogString () const
 

Public Attributes

AActor * ActorPtr = nullptr
 
AActor * OtherActorPtr = nullptr
 
FString Actor
 
FString OtherActor
 
FVector NormalImpulse
 

Detailed Description

Definition at line 16 of file CollisionSensor.h.

Member Function Documentation

◆ ToLogString()

FString CollisionData::ToLogString ( ) const
inline

Definition at line 38 of file CollisionSensor.h.

39 {
40 auto Quote = [](FString S)
41 {
42 S.ReplaceInline(TEXT("\""), TEXT("\\\""));
43 return FString::Printf(TEXT("\"%s\""), *S);
44 };
45
46 const FString ImpulseStr = FString::Printf(TEXT("%.2f,%.2f,%.2f"),
48 const double ImpulseMag = NormalImpulse.Size();
49 const FString Ts = FDateTime::UtcNow().ToIso8601();
50
51 return FString::Printf(
52 TEXT("actor=%s other_actor=%s impulse_strength=\"%s\" impulse_magnitude=%.2f ts=%s"),
53 *Quote(Actor),
54 *Quote(OtherActor),
55 *ImpulseStr,
56 ImpulseMag,
57 *Quote(Ts));
58 }
FString OtherActor
FVector NormalImpulse

References Actor, NormalImpulse, and OtherActor.

◆ ToString()

FString CollisionData::ToString ( )
inline

Definition at line 25 of file CollisionSensor.h.

26 {
27 FString X = FString::SanitizeFloat(NormalImpulse.X);
28 FString Y = FString::SanitizeFloat(NormalImpulse.Y);
29 FString Z = FString::SanitizeFloat(NormalImpulse.Z);
30 return FString::Printf(TEXT("%s, %s, %s, %s, %s"), *Actor, *OtherActor, *X, *Y, *Z);
31 }

References Actor, NormalImpulse, and OtherActor.

◆ ToStringHumanReadable()

FString CollisionData::ToStringHumanReadable ( )
inline

Definition at line 33 of file CollisionSensor.h.

34 {
35 return FString::Printf(TEXT("Actor %s collided with %s with impulse of %s"), *Actor, *OtherActor, *NormalImpulse.ToString());
36 }

References Actor, NormalImpulse, and OtherActor.

Member Data Documentation

◆ Actor

FString CollisionData::Actor

◆ ActorPtr

AActor* CollisionData::ActorPtr = nullptr

Definition at line 18 of file CollisionSensor.h.

Referenced by ACollisionSensor::CollsionDataToString().

◆ NormalImpulse

FVector CollisionData::NormalImpulse

◆ OtherActor

FString CollisionData::OtherActor

◆ OtherActorPtr

AActor* CollisionData::OtherActorPtr = nullptr

Definition at line 19 of file CollisionSensor.h.

Referenced by ACollisionSensor::CollsionDataToString().


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