AGX Dynamics 2.42.1.1
Loading...
Searching...
No Matches
RaytraceDistanceGaussianNoise.h
Go to the documentation of this file.
1/*
2Copyright 2007-2025. Algoryx Simulation AB.
3
4All AGX source code, intellectual property, documentation, sample code,
5tutorials, scene files and technical white papers, are copyrighted, proprietary
6and confidential material of Algoryx Simulation AB. You may not download, read,
7store, distribute, publish, copy or otherwise disseminate, use or expose this
8material unless having a written signed agreement with Algoryx Simulation AB, or having been
9advised so by Algoryx Simulation AB for a time limited evaluation, or having purchased a
10valid commercial license from Algoryx Simulation AB.
11
12Algoryx Simulation AB disclaims all responsibilities for loss or damage caused
13from using this software, unless otherwise stated in written agreements with
14Algoryx Simulation AB.
15*/
16#pragma once
18
19namespace agxSensor
20{
22
30 {
31 public:
39
49 RtDistanceGaussianNoise(agx::Real mean, agx::Real stdDevBase, agx::Real stdDevSlope, agx::UInt32 seed = 783u);
50
55 void setMean(agx::Real mean);
56
61
66 void setStdDevBase(agx::Real stdDevBase);
67
72
77 void setStdDevSlope(agx::Real stdDevSlope);
78
84
89 void setSeed(agx::UInt32 seed);
90
95
103 void setNoise(agx::Real mean, agx::Real stdDevBase, agx::Real stdDevSlope, agx::UInt32 seed = 783u);
104
106
107 public:
108 virtual ~RtDistanceGaussianNoise() = default;
109 virtual RtNode* createNode() override;
110 virtual void update(RtSystemNodeProxy& node, const CallbackData& data) override;
111
113
115
116 private:
117 RtNode* update(RtNode* node);
118
119 private:
120 agx::Real m_mean {0.0};
121 agx::Real m_stdDevBase {0.02};
122 agx::Real m_stdDevSlope {0.0005};
123 agx::UInt32 m_seed {783u};
124 };
125}
#define AGX_DECLARE_POINTER_TYPES(type)
Definition: Referenced.h:254
#define AGXSTREAM_DECLARE_SERIALIZABLE(T)
Use this in a Serializable class to add the required methods Important: Use full namespace in the dec...
Definition: Serializable.h:207
#define AGXSENSOR_EXPORT
This node applies a distance noise with gaussian distribution to the Lidar output data.
void setStdDevBase(agx::Real stdDevBase)
Set the standard deviation base value of the gaussian noise.
RtDistanceGaussianNoise(agx::Real mean, agx::Real stdDevBase, agx::Real stdDevSlope, agx::UInt32 seed=783u)
Construct this distance noise given mean, stdDevBase and stdDevSlope.
void setMean(agx::Real mean)
Set the mean value of the gaussian noise.
void setNoise(agx::Real mean, agx::Real stdDevBase, agx::Real stdDevSlope, agx::UInt32 seed=783u)
Set all noise parameters at once: mean, standard deviation base, and standard deviation slope.
void setStdDevSlope(agx::Real stdDevSlope)
Set the standard deviation slope for the gaussian noise.
RtDistanceGaussianNoise()=default
Default constructor using default gaussian distribution parameters for mean, stdDevBase and stdDevSlo...
void setSeed(agx::UInt32 seed)
Set seed used to configure the pseudo-random perturbation generation.
Defines a noise that is applied to Lidar output data.
Raytrace system node acting as a clone of model specific implementations.
#define DOXYGEN_END_INTERNAL_BLOCK()
Definition: macros.h:89
#define DOXYGEN_START_INTERNAL_BLOCK()
Definition: macros.h:88
The agxSensor namespace contains components to model real-time sensors connected to the physics of AG...
The agx namespace contains the dynamics/math part of the AGX Dynamics API.
uint32_t UInt32
Definition: Integer.h:32
double Real
Definition: Real.h:41
A node performs a single operation, e.g., raycast, gaussian blur, merging etc.