43 virtual void PostPhysTick(UWorld *World, ELevelTick TickType,
float DeltaTime)
override;
49 void SimulateLidar(
const float DeltaTime);
52 bool ShootLaser(
const float VerticalAngle,
float HorizontalAngle, FHitResult &HitResult, FCollisionQueryParams& TraceParams)
const;
55 virtual void PreprocessRays(uint32_t Channels, uint32_t MaxPointsPerChannel);
58 void ComputeRawDetection(
const FHitResult &HitInfo,
const FTransform &SensorTransf,
FSemanticDetection &Detection)
const;
61 void WritePointAsync(uint32_t Channel, FHitResult &Detection);
64 void ResetRecordedHits(uint32_t Channels, uint32_t MaxPointsPerChannel);
68 virtual void ComputeAndSaveDetections(
const FTransform &SensorTransform);
70 UPROPERTY(EditAnywhere)
73 TArray<
float> LaserAngles;
75 std::vector<
std::vector<FHitResult>> RecordedHits;
76 std::vector<
std::vector<
bool>> RayPreprocessCondition;
77 std::vector<uint32_t> PointsPerChannel;