| Agrarsense
    | 
#include <CollisionSensor.h>


| Public Member Functions | |
| ACollisionSensor (const FObjectInitializer &ObjectInitializer) | |
| void | Init (FCollisionSensorParameters CollisionSensorParameters, bool SimulateSensor=true) | 
| virtual ESensorTypes | GetSensorType () const override | 
|  Public Member Functions inherited from ASensor | |
| ASensor (const FObjectInitializer &ObjectInitializer) | |
| FString | ExportToJsonFile (const FString &FileName) | 
| virtual ESensorTypes | GetSensorType () const | 
| FString | GetSensorIdentifier () const | 
| void | SetSensorIdentifier (const FString newIdentifier) | 
| FString | GetSensorName () const | 
| virtual FString | GetParametersAsString () const | 
| AVehicle * | IsAttachedToVehicle () const | 
| void | SetSensorName (const FString newName) | 
| FString | GetTopicName () | 
| UTopic * | GetROSTopic () const | 
| void | SetSimulateSensor (bool SimulateSensor) | 
| bool | CanSimulateSensor () const | 
| ASensorModel * | GetSensorModel () const | 
| void | SetSensorModel (ASensorModel *NewSensorModel) | 
| FORCEINLINE bool | IsROSConnected () const | 
| UROSIntegrationGameInstance * | GetROSGameInstance () const | 
| virtual FString | GetActorID_Implementation () const override | 
| virtual FString | GetActorName_Implementation () const override | 
| virtual FString | GetActorInformation_Implementation () const override | 
| virtual void | SetActorName_Implementation (const FString &NewActorName) override | 
| virtual void | SetActorIDAndName_Implementation (const FString &NewActorName, const FString &NewID) override | 
| void | SetParentActorPtr (AActor *ParentActorPtr) | 
|  Public Member Functions inherited from IActorInformation | |
| FString | GetActorID () const | 
| FString | GetActorName () const | 
| FString | GetActorInformation () const | 
| void | SetActorName (const FString &NewActorName) | 
| void | SetActorIDAndName (const FString &NewActorName, const FString &NewID) | 
| Protected Member Functions | |
| virtual void | BeginPlay () override | 
| virtual void | EndPlay (const EEndPlayReason::Type EndPlayReason) override | 
| void | CreateDataSavePath () override | 
| void | CreateLogFile () override | 
|  Protected Member Functions inherited from ASensor | |
| virtual void | BeginPlay () override | 
| virtual void | EndPlay (const EEndPlayReason::Type EndPlayReason) override | 
| FString | CreateTimeStampString () const | 
| virtual void | CreateROSTopic () | 
| virtual void | DestroyROSTopic () | 
| virtual void | CreateDataSavePath () | 
| bool | IsLogFileCreated () | 
| virtual void | CreateLogFile () | 
| void | WriteToLogFile (const FString &Message) | 
| Protected Attributes | |
| FCollisionSensorParameters | Parameters | 
|  Protected Attributes inherited from ASensor | |
| UTopic * | ROSTopic = nullptr | 
| bool | SendDataToROS = true | 
| ULogFile * | LogFile = nullptr | 
| AActor * | ParentActor = nullptr | 
| FString | FileSavePath | 
| UROSIntegrationGameInstance * | ROSInstance = nullptr | 
| Private Member Functions | |
| void | SendCollisionData (const FString &CollisionDataString) | 
| void | OnComponentHit (UPrimitiveComponent *HitComponent, AActor *OtherActor, UPrimitiveComponent *OtherComp, FVector NormalImpulse, const FHitResult &Hit) | 
| void | OnActorHit (AActor *Actor, AActor *OtherActor, FVector NormalImpulse, const FHitResult &Hit) | 
| FString | CollsionDataToString (const CollisionData &Data) | 
| FString | TryGetID (AActor *Actor) const | 
| Private Attributes | |
| TWeakObjectPtr< AActor > | CurrentOwner | 
| UPrimitiveComponent * | PrimitiveComponent = nullptr | 
| TSharedPtr< ROSMessages::std_msgs::String > | CollisionMessage | 
| Additional Inherited Members | |
|  Static Public Member Functions inherited from ASensor | |
| static void | HideComponentForAllCameras (UPrimitiveComponent *PrimitiveComponent) | 
| static TMap< FString, FColor > | GetSemanticColors () | 
| static TArray< TWeakObjectPtr< UPrimitiveComponent > > | GetComponentsToHide () | 
|  Static Public Member Functions inherited from IActorInformation | |
| static void | SetAndValidateActorIDAndName (FString &ActorName, FString &ActorID, TWeakObjectPtr< AActor > Actor) | 
| static bool | DestroyActorByID (const FString &ID) | 
| static AActor * | GetActorByID (const FString &ID) | 
| template<typename T > | |
| static TArray< T * > | GetActorsWithInterface () | 
| static void | PrintAllIds () | 
|  Public Attributes inherited from ASensor | |
| FSensorDestroy | OnSensorDestroy | 
| FString | AttachedToComponent | 
| FName | AttachedToBone | 
|  Static Protected Member Functions inherited from ASensor | |
| template<typename InStructType > | |
| static FString | StructToString (const InStructType &InStruct) | 
|  Static Protected Attributes inherited from ASensor | |
| static FPrimitiveAdded | OnPrimitiveAdded | 
| static const FName | NiagaraPointsInt = "User.PointCount" | 
| static const FName | NiagaraHitPoints = "User.HitPoints" | 
| static const FName | NiagaraHitColors = "User.HitColors" | 
| static const FName | NiagaraPointsFloat = "User.Test" | 
Collision sensor for vehicles.
Definition at line 65 of file CollisionSensor.h.
| ACollisionSensor::ACollisionSensor | ( | const FObjectInitializer & | ObjectInitializer | ) | 
Definition at line 12 of file CollisionSensor.cpp.
| 
 | overrideprotectedvirtual | 
Reimplemented from ASensor.
Definition at line 47 of file CollisionSensor.cpp.
| 
 | private | 
Definition at line 122 of file CollisionSensor.cpp.
References CollisionData::Actor, CollisionData::ActorPtr, ASensor::CreateTimeStampString(), CollisionData::NormalImpulse, CollisionData::OtherActor, CollisionData::OtherActorPtr, and TryGetID().
Referenced by OnActorHit(), and OnComponentHit().
| 
 | overrideprotectedvirtual | 
Creates data save path for this sensor. Can be overriden if needed.
Reimplemented from ASensor.
Definition at line 181 of file CollisionSensor.cpp.
References ASensor::FileSavePath, ASensor::GetActorID_Implementation(), UAgrarsensePaths::GetDataFolder(), and ASensor::IsAttachedToVehicle().
Referenced by CreateLogFile().
| 
 | overrideprotectedvirtual | 
Create Text file for this sensor if it has not been created already. Text file will be created to ROOT/Data/Run/Logs directory. Filename will be SensorName_ID_UnixTimestamp.txt Can be overriden by individual sensor if needed.
Reimplemented from ASensor.
Definition at line 200 of file CollisionSensor.cpp.
References ULogFile::Create(), CreateDataSavePath(), FLogFileSettings::FileCreationOptions, FLogFileSettings::FilePath, ASensor::FileSavePath, FLogFileSettings::FileWriteOptions, ASensor::IsAttachedToVehicle(), FLogFileSettings::KeepFileOpen, ASensor::LogFile, FLogFileSettings::OverrideFilePath, Overwrite, Queue, FLogFileSettings::QueueLength, and FLogFileSettings::Timestamp.
Referenced by Init().
| 
 | overrideprotectedvirtual | 
Reimplemented from ASensor.
Definition at line 52 of file CollisionSensor.cpp.
References CollisionMessage, CurrentOwner, OnActorHit(), OnComponentHit(), Parameters, PrimitiveComponent, and FCollisionSensorParameters::Reset().
| 
 | inlineoverridevirtual | 
Get type of the sensor
Reimplemented from ASensor.
Definition at line 85 of file CollisionSensor.h.
References Collision.
| void ACollisionSensor::Init | ( | FCollisionSensorParameters | CollisionSensorParameters, | 
| bool | SimulateSensor = true | ||
| ) | 
Initialize collision sensor.
| NewOwner | The new owner actor to be set. | 
| SimulateSensor | Whether to simulate the sensor (default is true). | 
Definition at line 17 of file CollisionSensor.cpp.
References CollisionMessage, CreateLogFile(), ASensor::CreateROSTopic(), CurrentOwner, OnActorHit(), OnComponentHit(), FCollisionSensorParameters::OwningActor, PrimitiveComponent, FCollisionSensorParameters::PrimitiveComponent, ASensor::SetSimulateSensor(), and FCollisionSensorParameters::UseActorCollision.
Referenced by USensorFactory::SpawnCollisionSensor().
| 
 | private | 
Definition at line 97 of file CollisionSensor.cpp.
References ASensor::CanSimulateSensor(), CollsionDataToString(), SendCollisionData(), and ASensor::WriteToLogFile().
| 
 | private | 
Definition at line 72 of file CollisionSensor.cpp.
References ASensor::CanSimulateSensor(), CollsionDataToString(), CurrentOwner, SendCollisionData(), and ASensor::WriteToLogFile().
| 
 | private | 
Definition at line 171 of file CollisionSensor.cpp.
References CollisionMessage, ASensor::GetROSTopic(), and ASensor::IsROSConnected().
Referenced by OnActorHit(), and OnComponentHit().
| 
 | private | 
Definition at line 156 of file CollisionSensor.cpp.
Referenced by CollsionDataToString().
| 
 | private | 
Definition at line 122 of file CollisionSensor.h.
Referenced by EndPlay(), Init(), and SendCollisionData().
| 
 | private | 
Definition at line 117 of file CollisionSensor.h.
Referenced by EndPlay(), Init(), and OnComponentHit().
| 
 | protected | 
Definition at line 100 of file CollisionSensor.h.
Referenced by EndPlay().
| 
 | private | 
Definition at line 120 of file CollisionSensor.h.