Agrarsense
|
#include <TransformSensor.h>
Public Member Functions | |
ATransformSensor (const FObjectInitializer &ObjectInitializer) | |
void | Init (FTransformSensorParameters Params, bool SimulateSensor=true) |
virtual ESensorTypes | GetSensorType () const override |
![]() | |
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) |
virtual 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) |
![]() | |
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 |
virtual void | CreateROSTopic () override |
virtual void | DestroyROSTopic () override |
void | CreateDataSavePath () override |
![]() | |
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 | |
FTransformSensorParameters | Parameters |
![]() | |
UTopic * | ROSTopic = nullptr |
bool | SendDataToROS = true |
ULogFile * | LogFile = nullptr |
AActor * | ParentActor = nullptr |
FString | FileSavePath |
UROSIntegrationGameInstance * | ROSInstance = nullptr |
Private Member Functions | |
void | TickParallel (float DeltaTime) |
void | SendTransformDataToROS (const FVector &Translation, const FQuat &Rotation) |
void | SendGpsDataToROS (const FVector &ActorPosition) |
void | SaveTransformMetaDataToDisk (const FVector &Translation, const FQuat &Rotation) |
void | CreateLogFile () override |
Private Attributes | |
TSharedPtr< ROSMessages::geometry_msgs::Transform > | TransformMessage |
TSharedPtr< ROSMessages::std_msgs::String > | GnssMessageString |
TSharedPtr< ROSMessages::sensor_msgs::NavSatFix > | NavSatFixMessage |
FVector | PreviousPosition = FVector(0.0f, 0.0f, 0.0f) |
FQuat | PreviousRotation = FQuat(0.0f, 0.0f, 0.0f, 0.0f) |
FTickEntry | TickEntry |
UTopic * | GnssTopic = nullptr |
UTopic * | NavSatFixTopic = nullptr |
AGeoReferencingSystem * | GeoReferencingSystem = nullptr |
Additional Inherited Members | |
![]() | |
static void | HideComponentForAllCameras (UPrimitiveComponent *PrimitiveComponent) |
static TMap< FString, FColor > | GetSemanticColors () |
static TArray< TWeakObjectPtr< UPrimitiveComponent > > | GetComponentsToHide () |
![]() | |
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 () |
![]() | |
FSensorDestroy | OnSensorDestroy |
FString | AttachedToComponent |
FName | AttachedToBone |
![]() | |
template<typename InStructType > | |
static FString | StructToString (const InStructType &InStruct) |
![]() | |
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" |
Definition at line 26 of file TransformSensor.h.
ATransformSensor::ATransformSensor | ( | const FObjectInitializer & | ObjectInitializer | ) |
Definition at line 16 of file TransformSensor.cpp.
|
overrideprotectedvirtual |
Reimplemented from ASensor.
Definition at line 47 of file TransformSensor.cpp.
References ATickManager::AddTick(), BindTick(), TickEntry, and TickParallel().
|
overrideprotectedvirtual |
Creates data save path for this sensor. Can be overriden if needed.
Reimplemented from ASensor.
Definition at line 304 of file TransformSensor.cpp.
References ASensor::FileSavePath, ASensor::GetActorID_Implementation(), UAgrarsensePaths::GetDataFolder(), ASensor::IsAttachedToVehicle(), ASensor::ParentActor, and Vehicle.
Referenced by CreateLogFile().
|
overrideprivatevirtual |
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 262 of file TransformSensor.cpp.
References ULogFile::Create(), CreateDataSavePath(), FLogFileSettings::FileCreationOptions, FLogFileSettings::FilePath, ASensor::FileSavePath, FLogFileSettings::FileWriteOptions, ASensor::IsAttachedToVehicle(), FLogFileSettings::KeepFileOpen, ASensor::LogFile, FLogFileSettings::OverrideFilePath, Overwrite, Parameters, Queue, FLogFileSettings::QueueLength, FTransformSensorParameters::SaveTransformDataToDisk, FLogFileSettings::Timestamp, Vehicle, and ASensor::WriteToLogFile().
Referenced by Init().
|
overrideprotectedvirtual |
Creates ROS Topic for this sensor. Can be overriden by individual sensor if needed.
Reimplemented from ASensor.
Definition at line 70 of file TransformSensor.cpp.
References GeoReferencingSystem, ASensor::GetSensorIdentifier(), GnssTopic, NavSatFixTopic, and ASensor::ROSInstance.
Referenced by Init().
|
overrideprotectedvirtual |
Destroy created ROS Topic. Can be overriden by individual sensor if needed.
Reimplemented from ASensor.
Definition at line 111 of file TransformSensor.cpp.
References GnssTopic, NavSatFixTopic, and ASensor::ROSTopic.
Referenced by EndPlay().
|
overrideprotectedvirtual |
Reimplemented from ASensor.
Definition at line 56 of file TransformSensor.cpp.
References FTransformSensorParameters::Clear(), DestroyROSTopic(), GnssMessageString, NavSatFixMessage, Parameters, ATickManager::RemoveTick(), TickEntry, and TransformMessage.
|
inlineoverridevirtual |
Get type of the sensor
Reimplemented from ASensor.
Definition at line 40 of file TransformSensor.h.
References Transform.
void ATransformSensor::Init | ( | FTransformSensorParameters | Params, |
bool | SimulateSensor = true |
||
) |
Definition at line 22 of file TransformSensor.cpp.
References CreateLogFile(), CreateROSTopic(), GnssMessageString, NavSatFixMessage, Parameters, ASensor::SetSimulateSensor(), and TransformMessage.
Referenced by USensorFactory::SpawnTransformSensor().
|
private |
Definition at line 228 of file TransformSensor.cpp.
References ASensor::CreateTimeStampString(), GeoReferencingSystem, ASensor::LogFile, Parameters, FTransformSensorParameters::SaveTransformDataToDisk, UCoordinateConversionUtilities::UnrealToGeographicCoordinates(), and ASensor::WriteToLogFile().
Referenced by TickParallel().
|
private |
Definition at line 195 of file TransformSensor.cpp.
References GeoReferencingSystem, GnssMessageString, GnssTopic, NavSatFixMessage, NavSatFixTopic, and UCoordinateConversionUtilities::UnrealToGeographicCoordinates().
Referenced by TickParallel().
|
private |
Definition at line 183 of file TransformSensor.cpp.
References ASensor::GetROSTopic(), and TransformMessage.
Referenced by TickParallel().
|
private |
Definition at line 141 of file TransformSensor.cpp.
References ASensor::CanSimulateSensor(), ASensor::IsROSConnected(), FTransformSensorParameters::OwningActor, Parameters, PreviousPosition, PreviousRotation, FTransformSensorParameters::PrimitiveComponent, SaveTransformMetaDataToDisk(), SendGpsDataToROS(), SendTransformDataToROS(), and FTransformSensorParameters::UseOwningActorTransform.
Referenced by BeginPlay().
|
private |
Definition at line 93 of file TransformSensor.h.
Referenced by CreateROSTopic(), SaveTransformMetaDataToDisk(), and SendGpsDataToROS().
|
private |
Definition at line 73 of file TransformSensor.h.
Referenced by EndPlay(), Init(), and SendGpsDataToROS().
|
private |
Definition at line 87 of file TransformSensor.h.
Referenced by CreateROSTopic(), DestroyROSTopic(), and SendGpsDataToROS().
|
private |
Definition at line 75 of file TransformSensor.h.
Referenced by EndPlay(), Init(), and SendGpsDataToROS().
|
private |
Definition at line 90 of file TransformSensor.h.
Referenced by CreateROSTopic(), DestroyROSTopic(), and SendGpsDataToROS().
|
protected |
Definition at line 57 of file TransformSensor.h.
Referenced by CreateLogFile(), EndPlay(), Init(), SaveTransformMetaDataToDisk(), and TickParallel().
|
private |
Definition at line 78 of file TransformSensor.h.
Referenced by TickParallel().
|
private |
Definition at line 81 of file TransformSensor.h.
Referenced by TickParallel().
|
private |
Definition at line 84 of file TransformSensor.h.
Referenced by BeginPlay(), and EndPlay().
|
private |
Definition at line 71 of file TransformSensor.h.
Referenced by EndPlay(), Init(), and SendTransformDataToROS().