|
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.