40 #ifndef PCL_COMMON_GENERATE_HPP_
41 #define PCL_COMMON_GENERATE_HPP_
43 #include <pcl/console/print.h>
46 template <
typename Po
intT,
typename GeneratorT>
54 template <
typename Po
intT,
typename GeneratorT>
57 setParameters (params);
62 template <
typename Po
intT,
typename GeneratorT>
66 : x_generator_ (x_params)
67 , y_generator_ (y_params)
68 , z_generator_ (z_params)
72 template <
typename Po
intT,
typename GeneratorT>
void
79 x_generator_.setParameters (params);
80 y_generator_.setParameters (y_params);
81 z_generator_.setParameters (z_params);
85 template <
typename Po
intT,
typename GeneratorT>
void
88 x_generator_.setParameters (x_params);
92 template <
typename Po
intT,
typename GeneratorT>
void
95 y_generator_.setParameters (y_params);
99 template <
typename Po
intT,
typename GeneratorT>
void
102 z_generator_.setParameters (z_params);
109 x_generator_.getParameters ();
116 y_generator_.getParameters ();
123 z_generator_.getParameters ();
127 template <
typename Po
intT,
typename GeneratorT>
PointT
131 p.x = x_generator_.run ();
132 p.y = y_generator_.run ();
133 p.z = z_generator_.run ();
138 template <
typename Po
intT,
typename GeneratorT>
int
145 template <
typename Po
intT,
typename GeneratorT>
int
150 PCL_ERROR (
"[pcl::common::CloudGenerator] Cloud width must be >= 1!\n");
156 PCL_ERROR (
"[pcl::common::CloudGenerator] Cloud height must be >= 1!\n");
162 PCL_WARN (
"[pcl::common::CloudGenerator] Cloud data will be erased with new data!\n");
169 for (
auto& point: cloud)
171 point.x = x_generator_.run ();
172 point.y = y_generator_.run ();
173 point.z = z_generator_.run ();
179 template <
typename GeneratorT>
186 template <
typename GeneratorT>
189 : x_generator_ (x_params)
190 , y_generator_ (y_params)
194 template <
typename GeneratorT>
197 setParameters (params);
201 template <
typename GeneratorT>
void
204 x_generator_.setParameters (params);
207 y_generator_.setParameters (y_params);
211 template <
typename GeneratorT>
void
214 x_generator_.setParameters (x_params);
218 template <
typename GeneratorT>
void
221 y_generator_.setParameters (y_params);
228 x_generator_.getParameters ();
235 y_generator_.getParameters ();
243 p.
x = x_generator_.run ();
244 p.
y = y_generator_.run ();
249 template <
typename GeneratorT>
int
256 template <
typename GeneratorT>
int
261 PCL_ERROR (
"[pcl::common::CloudGenerator] Cloud width must be >= 1\n!");
267 PCL_ERROR (
"[pcl::common::CloudGenerator] Cloud height must be >= 1\n!");
272 PCL_WARN (
"[pcl::common::CloudGenerator] Cloud data will be erased with new data\n!");
279 for (
auto &point : cloud)
281 point.x = x_generator_.run ();
282 point.y = y_generator_.run ();