40 #ifndef PCL_COMMON_RANDOM_HPP_ 41 #define PCL_COMMON_RANDOM_HPP_ 43 #include <boost/version.hpp> 44 #include <pcl/pcl_macros.h> 49 : distribution_ (min, max)
50 , generator_ (rng_, distribution_)
53 if(parameters_.
seed != -1)
61 : parameters_ (parameters)
62 , distribution_ (parameters_.min, parameters_.max)
63 , generator_ (rng_, distribution_)
65 if(parameters_.
seed != -1)
66 rng_.seed (parameters_.
seed);
70 template <
typename T>
void 75 parameters_.
seed = seed;
76 rng_.seed(parameters_.
seed);
81 template <
typename T>
void 84 parameters_.
min = min;
85 parameters_.
max = max;
86 parameters_.
seed = seed;
87 #if BOOST_VERSION >= 104700 88 typename DistributionType::param_type params (parameters_.
min, parameters_.
max);
89 distribution_.param (params);
91 distribution_ = DistributionType (parameters_.
min, parameters_.
max);
93 distribution_.reset ();
94 generator_.distribution () = distribution_;
97 parameters_.
seed = seed;
98 rng_.seed (parameters_.
seed);
103 template <
typename T>
void 106 parameters_ = parameters;
107 #if BOOST_VERSION >= 104700 108 typename DistributionType::param_type params (parameters_.
min, parameters_.
max);
109 distribution_.param (params);
111 distribution_ = DistributionType (parameters_.
min, parameters_.
max);
113 distribution_.reset ();
114 generator_.distribution () = distribution_;
115 if (parameters_.
seed != -1)
116 rng_.seed (parameters_.
seed);
120 template <
typename T>
122 : distribution_ (mean, sigma)
123 , generator_ (rng_, distribution_)
132 template <
typename T>
143 template <
typename T>
void 154 template <
typename T>
void 160 #if BOOST_VERSION >= 104700 173 template <
typename T>
void 177 #if BOOST_VERSION >= 104700 Parameters parameters_
parameters
NormalGenerator(T mean=0, T sigma=1, pcl::uint32_t seed=-1)
Constructor.
EngineType rng_
random number generator
boost::variate_generator< EngineType &, DistributionType > generator_
generator of random number from a normal distribution
void setSeed(pcl::uint32_t seed)
Change seed value.
normal_distribution< T >::type DistributionType
DistributionType distribution_
normal distribution
void setParameters(T mean, T sigma, pcl::uint32_t seed=-1)
Set the normal number generator parameters.