OMPLDynamicReconfigureConfig.h
Go to the documentation of this file.
1 /*********************************************************************
2  * Software License Agreement (BSD License)
3  *
4  * Copyright (c) 2008, Willow Garage, Inc.
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  * * Redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  * * Redistributions in binary form must reproduce the above
14  * copyright notice, this list of conditions and the following
15  * disclaimer in the documentation and/or other materials provided
16  * with the distribution.
17  * * Neither the name of Willow Garage nor the names of its
18  * contributors may be used to endorse or promote products derived
19  * from this software without specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32  * POSSIBILITY OF SUCH DAMAGE.
33  *********************************************************************/
34 
35 //#line 2 "/opt/ros/fuerte/stacks/dynamic_reconfigure/templates/ConfigType.h"
36 // *********************************************************
37 //
38 // File autogenerated for the ompl_interface_ros package
39 // by the dynamic_reconfigure package.
40 // Please do not edit.
41 //
42 // ********************************************************/
43 
44 // Author: Blaise Gassend
45 
46 #ifndef __ompl_interface_ros__OMPLDYNAMICRECONFIGURECONFIG_H__
47 #define __ompl_interface_ros__OMPLDYNAMICRECONFIGURECONFIG_H__
48 
49 #include <dynamic_reconfigure/config_tools.h>
51 #include <limits>
52 #include <ros/node_handle.h>
53 #include <dynamic_reconfigure/ConfigDescription.h>
54 #include <dynamic_reconfigure/ParamDescription.h>
55 #include <dynamic_reconfigure/Group.h>
56 #include <dynamic_reconfigure/config_init_mutex.h>
57 #include <boost/any.hpp>
58 
60 {
62 
64 {
65 public:
67  class AbstractParamDescription : public dynamic_reconfigure::ParamDescription
68  {
69  public:
70  AbstractParamDescription(std::string n, std::string t, uint32_t l, std::string d, std::string e)
71  {
72  name = n;
73  type = t;
74  level = l;
75  description = d;
76  edit_method = e;
77  }
78 
80  const OMPLDynamicReconfigureConfig& min) const = 0;
81  virtual void calcLevel(uint32_t& level, const OMPLDynamicReconfigureConfig& config1,
82  const OMPLDynamicReconfigureConfig& config2) const = 0;
83  virtual void fromServer(const ros::NodeHandle& nh, OMPLDynamicReconfigureConfig& config) const = 0;
84  virtual void toServer(const ros::NodeHandle& nh, const OMPLDynamicReconfigureConfig& config) const = 0;
85  virtual bool fromMessage(const dynamic_reconfigure::Config& msg, OMPLDynamicReconfigureConfig& config) const = 0;
86  virtual void toMessage(dynamic_reconfigure::Config& msg, const OMPLDynamicReconfigureConfig& config) const = 0;
87  virtual void getValue(const OMPLDynamicReconfigureConfig& config, boost::any& val) const = 0;
88  };
89 
90  template <class T>
92  {
93  public:
94  ParamDescription(std::string name, std::string type, uint32_t level, std::string description,
95  std::string edit_method, T OMPLDynamicReconfigureConfig::*f)
96  : AbstractParamDescription(name, type, level, description, edit_method), field(f)
97  {
98  }
99 
101 
103  const OMPLDynamicReconfigureConfig& min) const
104  {
105  if (config.*field > max.*field)
106  config.*field = max.*field;
107 
108  if (config.*field < min.*field)
109  config.*field = min.*field;
110  }
111 
112  virtual void calcLevel(uint32_t& comb_level, const OMPLDynamicReconfigureConfig& config1,
113  const OMPLDynamicReconfigureConfig& config2) const
114  {
115  if (config1.*field != config2.*field)
116  comb_level |= level;
117  }
118 
119  virtual void fromServer(const ros::NodeHandle& nh, OMPLDynamicReconfigureConfig& config) const
120  {
121  nh.getParam(name, config.*field);
122  }
123 
124  virtual void toServer(const ros::NodeHandle& nh, const OMPLDynamicReconfigureConfig& config) const
125  {
126  nh.setParam(name, config.*field);
127  }
128 
129  virtual bool fromMessage(const dynamic_reconfigure::Config& msg, OMPLDynamicReconfigureConfig& config) const
130  {
131  return dynamic_reconfigure::ConfigTools::getParameter(msg, name, config.*field);
132  }
133 
134  virtual void toMessage(dynamic_reconfigure::Config& msg, const OMPLDynamicReconfigureConfig& config) const
135  {
136  dynamic_reconfigure::ConfigTools::appendParameter(msg, name, config.*field);
137  }
138 
139  virtual void getValue(const OMPLDynamicReconfigureConfig& config, boost::any& val) const
140  {
141  val = config.*field;
142  }
143  };
144 
146  class AbstractGroupDescription : public dynamic_reconfigure::Group
147  {
148  public:
149  AbstractGroupDescription(std::string n, std::string t, int p, int i, bool s)
150  {
151  name = n;
152  type = t;
153  parent = p;
154  state = s;
155  id = i;
156  }
157 
158  std::vector<AbstractParamDescriptionConstPtr> abstract_parameters;
159  bool state;
160 
161  virtual void toMessage(dynamic_reconfigure::Config& msg, const boost::any& config) const = 0;
162  virtual bool fromMessage(const dynamic_reconfigure::Config& msg, boost::any& config) const = 0;
163  virtual void updateParams(boost::any& cfg, OMPLDynamicReconfigureConfig& top) const = 0;
164  virtual void setInitialState(boost::any& cfg) const = 0;
165 
167  {
168  for (std::vector<AbstractParamDescriptionConstPtr>::const_iterator i = abstract_parameters.begin();
169  i != abstract_parameters.end(); i++)
170  {
171  parameters.push_back(dynamic_reconfigure::ParamDescription(**i));
172  }
173  }
174  };
175 
176  template <class T, class PT>
178  {
179  public:
180  GroupDescription(std::string name, std::string type, int parent, int id, bool s, T PT::*f)
181  : AbstractGroupDescription(name, type, parent, id, s), field(f)
182  {
183  }
184 
186  : AbstractGroupDescription(g.name, g.type, g.parent, g.id, g.state), field(g.field), groups(g.groups)
187  {
188  parameters = g.parameters;
189  abstract_parameters = g.abstract_parameters;
190  }
191 
192  virtual bool fromMessage(const dynamic_reconfigure::Config& msg, boost::any& cfg) const
193  {
194  PT* config = boost::any_cast<PT*>(cfg);
195  if (!dynamic_reconfigure::ConfigTools::getGroupState(msg, name, (*config).*field))
196  return false;
197 
198  for (std::vector<AbstractGroupDescriptionConstPtr>::const_iterator i = groups.begin(); i != groups.end(); i++)
199  {
200  boost::any n = &((*config).*field);
201  if (!(*i)->fromMessage(msg, n))
202  return false;
203  }
204 
205  return true;
206  }
207 
208  virtual void setInitialState(boost::any& cfg) const
209  {
210  PT* config = boost::any_cast<PT*>(cfg);
211  T* group = &((*config).*field);
212  group->state = state;
213 
214  for (std::vector<AbstractGroupDescriptionConstPtr>::const_iterator i = groups.begin(); i != groups.end(); i++)
215  {
216  boost::any n = boost::any(&((*config).*field));
217  (*i)->setInitialState(n);
218  }
219  }
220 
221  virtual void updateParams(boost::any& cfg, OMPLDynamicReconfigureConfig& top) const
222  {
223  PT* config = boost::any_cast<PT*>(cfg);
224 
225  T* f = &((*config).*field);
226  f->setParams(top, abstract_parameters);
227 
228  for (std::vector<AbstractGroupDescriptionConstPtr>::const_iterator i = groups.begin(); i != groups.end(); i++)
229  {
230  boost::any n = &((*config).*field);
231  (*i)->updateParams(n, top);
232  }
233  }
234 
235  virtual void toMessage(dynamic_reconfigure::Config& msg, const boost::any& cfg) const
236  {
237  const PT config = boost::any_cast<PT>(cfg);
238  dynamic_reconfigure::ConfigTools::appendGroup<T>(msg, name, id, parent, config.*field);
239 
240  for (std::vector<AbstractGroupDescriptionConstPtr>::const_iterator i = groups.begin(); i != groups.end(); i++)
241  {
242  (*i)->toMessage(msg, config.*field);
243  }
244  }
245 
246  T(PT::*field);
247  std::vector<OMPLDynamicReconfigureConfig::AbstractGroupDescriptionConstPtr> groups;
248  };
249 
250  class DEFAULT
251  {
252  public:
254  {
255  state = true;
256  name = "Default";
257  }
258 
259  void setParams(OMPLDynamicReconfigureConfig& config, const std::vector<AbstractParamDescriptionConstPtr> params)
260  {
261  for (std::vector<AbstractParamDescriptionConstPtr>::const_iterator i = params.begin(); i != params.end(); i++)
262  {
263  boost::any val;
264  (*i)->getValue(config, val);
265 
266  if ("link_for_exploration_tree" == (*i)->name)
267  {
268  link_for_exploration_tree = boost::any_cast<std::string>(val);
269  }
270  }
271  }
272 
274 
275  bool state;
276  std::string name;
277 
278  } groups;
279 
280  //#line 259 "/opt/ros/fuerte/stacks/dynamic_reconfigure/src/dynamic_reconfigure/parameter_generator.py"
282  //#line 255 "/opt/ros/fuerte/stacks/dynamic_reconfigure/templates/ConfigType.h"
283 
284  bool __fromMessage__(dynamic_reconfigure::Config& msg)
285  {
286  const std::vector<AbstractParamDescriptionConstPtr>& __param_descriptions__ = __getParamDescriptions__();
287  const std::vector<AbstractGroupDescriptionConstPtr>& __group_descriptions__ = __getGroupDescriptions__();
288 
289  int count = 0;
290  for (std::vector<AbstractParamDescriptionConstPtr>::const_iterator i = __param_descriptions__.begin();
291  i != __param_descriptions__.end(); i++)
292  if ((*i)->fromMessage(msg, *this))
293  count++;
294 
295  for (std::vector<AbstractGroupDescriptionConstPtr>::const_iterator i = __group_descriptions__.begin();
296  i != __group_descriptions__.end(); i++)
297  {
298  if ((*i)->id == 0)
299  {
300  boost::any n = boost::any(this);
301  (*i)->updateParams(n, *this);
302  (*i)->fromMessage(msg, n);
303  }
304  }
305 
306  if (count != dynamic_reconfigure::ConfigTools::size(msg))
307  {
308  ROS_ERROR("OMPLDynamicReconfigureConfig::__fromMessage__ called with an unexpected parameter.");
309  ROS_ERROR("Booleans:");
310  for (unsigned int i = 0; i < msg.bools.size(); i++)
311  ROS_ERROR(" %s", msg.bools[i].name.c_str());
312  ROS_ERROR("Integers:");
313  for (unsigned int i = 0; i < msg.ints.size(); i++)
314  ROS_ERROR(" %s", msg.ints[i].name.c_str());
315  ROS_ERROR("Doubles:");
316  for (unsigned int i = 0; i < msg.doubles.size(); i++)
317  ROS_ERROR(" %s", msg.doubles[i].name.c_str());
318  ROS_ERROR("Strings:");
319  for (unsigned int i = 0; i < msg.strs.size(); i++)
320  ROS_ERROR(" %s", msg.strs[i].name.c_str());
321  // @todo Check that there are no duplicates. Make this error more
322  // explicit.
323  return false;
324  }
325  return true;
326  }
327 
328  // This version of __toMessage__ is used during initialization of
329  // statics when __getParamDescriptions__ can't be called yet.
330  void __toMessage__(dynamic_reconfigure::Config& msg,
331  const std::vector<AbstractParamDescriptionConstPtr>& __param_descriptions__,
332  const std::vector<AbstractGroupDescriptionConstPtr>& __group_descriptions__) const
333  {
334  dynamic_reconfigure::ConfigTools::clear(msg);
335  for (std::vector<AbstractParamDescriptionConstPtr>::const_iterator i = __param_descriptions__.begin();
336  i != __param_descriptions__.end(); i++)
337  (*i)->toMessage(msg, *this);
338 
339  for (std::vector<AbstractGroupDescriptionConstPtr>::const_iterator i = __group_descriptions__.begin();
340  i != __group_descriptions__.end(); i++)
341  {
342  if ((*i)->id == 0)
343  {
344  (*i)->toMessage(msg, *this);
345  }
346  }
347  }
348 
349  void __toMessage__(dynamic_reconfigure::Config& msg) const
350  {
351  const std::vector<AbstractParamDescriptionConstPtr>& __param_descriptions__ = __getParamDescriptions__();
352  const std::vector<AbstractGroupDescriptionConstPtr>& __group_descriptions__ = __getGroupDescriptions__();
353  __toMessage__(msg, __param_descriptions__, __group_descriptions__);
354  }
355 
356  void __toServer__(const ros::NodeHandle& nh) const
357  {
358  const std::vector<AbstractParamDescriptionConstPtr>& __param_descriptions__ = __getParamDescriptions__();
359  for (std::vector<AbstractParamDescriptionConstPtr>::const_iterator i = __param_descriptions__.begin();
360  i != __param_descriptions__.end(); i++)
361  (*i)->toServer(nh, *this);
362  }
363 
365  {
366  static bool setup = false;
367 
368  const std::vector<AbstractParamDescriptionConstPtr>& __param_descriptions__ = __getParamDescriptions__();
369  for (std::vector<AbstractParamDescriptionConstPtr>::const_iterator i = __param_descriptions__.begin();
370  i != __param_descriptions__.end(); i++)
371  (*i)->fromServer(nh, *this);
372 
373  const std::vector<AbstractGroupDescriptionConstPtr>& __group_descriptions__ = __getGroupDescriptions__();
374  for (std::vector<AbstractGroupDescriptionConstPtr>::const_iterator i = __group_descriptions__.begin();
375  i != __group_descriptions__.end(); i++)
376  {
377  if (!setup && (*i)->id == 0)
378  {
379  setup = true;
380  boost::any n = boost::any(this);
381  (*i)->setInitialState(n);
382  }
383  }
384  }
385 
386  void __clamp__()
387  {
388  const std::vector<AbstractParamDescriptionConstPtr>& __param_descriptions__ = __getParamDescriptions__();
389  const OMPLDynamicReconfigureConfig& __max__ = __getMax__();
390  const OMPLDynamicReconfigureConfig& __min__ = __getMin__();
391  for (std::vector<AbstractParamDescriptionConstPtr>::const_iterator i = __param_descriptions__.begin();
392  i != __param_descriptions__.end(); i++)
393  (*i)->clamp(*this, __max__, __min__);
394  }
395 
396  uint32_t __level__(const OMPLDynamicReconfigureConfig& config) const
397  {
398  const std::vector<AbstractParamDescriptionConstPtr>& __param_descriptions__ = __getParamDescriptions__();
399  uint32_t level = 0;
400  for (std::vector<AbstractParamDescriptionConstPtr>::const_iterator i = __param_descriptions__.begin();
401  i != __param_descriptions__.end(); i++)
402  (*i)->calcLevel(level, config, *this);
403  return level;
404  }
405 
406  static const dynamic_reconfigure::ConfigDescription& __getDescriptionMessage__();
410  static const std::vector<AbstractParamDescriptionConstPtr>& __getParamDescriptions__();
411  static const std::vector<AbstractGroupDescriptionConstPtr>& __getGroupDescriptions__();
412 
413 private:
415 };
416 
417 template <> // Max and min are ignored for strings.
418 inline void
420  const OMPLDynamicReconfigureConfig& max,
421  const OMPLDynamicReconfigureConfig& min) const
422 {
423  return;
424 }
425 
427 {
429 
431  {
433  Default("Default", "", 0, 0, true, &OMPLDynamicReconfigureConfig::groups);
434  //#line 259 "/opt/ros/fuerte/stacks/dynamic_reconfigure/src/dynamic_reconfigure/parameter_generator.py"
435  __min__.link_for_exploration_tree = "";
436  //#line 259 "/opt/ros/fuerte/stacks/dynamic_reconfigure/src/dynamic_reconfigure/parameter_generator.py"
437  __max__.link_for_exploration_tree = "";
438  //#line 259 "/opt/ros/fuerte/stacks/dynamic_reconfigure/src/dynamic_reconfigure/parameter_generator.py"
439  __default__.link_for_exploration_tree = "";
440  //#line 259 "/opt/ros/fuerte/stacks/dynamic_reconfigure/src/dynamic_reconfigure/parameter_generator.py"
441  Default.abstract_parameters.push_back(OMPLDynamicReconfigureConfig::AbstractParamDescriptionConstPtr(
443  "link_for_exploration_tree", "str", 1, "Show the exploration tree for a particular link", "",
445  //#line 259 "/opt/ros/fuerte/stacks/dynamic_reconfigure/src/dynamic_reconfigure/parameter_generator.py"
446  __param_descriptions__.push_back(OMPLDynamicReconfigureConfig::AbstractParamDescriptionConstPtr(
448  "link_for_exploration_tree", "str", 1, "Show the exploration tree for a particular link", "",
450  //#line 233 "/opt/ros/fuerte/stacks/dynamic_reconfigure/src/dynamic_reconfigure/parameter_generator.py"
451  Default.convertParams();
452  //#line 233 "/opt/ros/fuerte/stacks/dynamic_reconfigure/src/dynamic_reconfigure/parameter_generator.py"
453  __group_descriptions__.push_back(OMPLDynamicReconfigureConfig::AbstractGroupDescriptionConstPtr(
455  OMPLDynamicReconfigureConfig>(Default)));
456  //#line 390 "/opt/ros/fuerte/stacks/dynamic_reconfigure/templates/ConfigType.h"
457 
458  for (std::vector<OMPLDynamicReconfigureConfig::AbstractGroupDescriptionConstPtr>::const_iterator i =
459  __group_descriptions__.begin();
460  i != __group_descriptions__.end(); i++)
461  {
462  __description_message__.groups.push_back(**i);
463  }
464  __max__.__toMessage__(__description_message__.max, __param_descriptions__, __group_descriptions__);
465  __min__.__toMessage__(__description_message__.min, __param_descriptions__, __group_descriptions__);
466  __default__.__toMessage__(__description_message__.dflt, __param_descriptions__, __group_descriptions__);
467  }
468  std::vector<OMPLDynamicReconfigureConfig::AbstractParamDescriptionConstPtr> __param_descriptions__;
469  std::vector<OMPLDynamicReconfigureConfig::AbstractGroupDescriptionConstPtr> __group_descriptions__;
473  dynamic_reconfigure::ConfigDescription __description_message__;
474 
476  {
477  // Split this off in a separate function because I know that
478  // instance will get initialized the first time get_instance is
479  // called, and I am guaranteeing that get_instance gets called at
480  // most once.
481  static OMPLDynamicReconfigureConfigStatics instance;
482  return &instance;
483  }
484 };
485 
486 inline const dynamic_reconfigure::ConfigDescription& OMPLDynamicReconfigureConfig::__getDescriptionMessage__()
487 {
489 }
490 
492 {
493  return __get_statics__()->__default__;
494 }
495 
497 {
498  return __get_statics__()->__max__;
499 }
500 
502 {
503  return __get_statics__()->__min__;
504 }
505 
506 inline const std::vector<OMPLDynamicReconfigureConfig::AbstractParamDescriptionConstPtr>&
508 {
510 }
511 
512 inline const std::vector<OMPLDynamicReconfigureConfig::AbstractGroupDescriptionConstPtr>&
514 {
516 }
517 
519 {
520  const static OMPLDynamicReconfigureConfigStatics* statics;
521 
522  if (statics) // Common case
523  return statics;
524 
525  boost::mutex::scoped_lock lock(dynamic_reconfigure::__init_mutex__);
526 
527  if (statics) // In case we lost a race.
528  return statics;
529 
531 
532  return statics;
533 }
534 }
535 
536 #endif // __OMPLDYNAMICRECONFIGURERECONFIGURATOR_H__
virtual void getValue(const OMPLDynamicReconfigureConfig &config, boost::any &val) const =0
static const dynamic_reconfigure::ConfigDescription & __getDescriptionMessage__()
std::vector< OMPLDynamicReconfigureConfig::AbstractGroupDescriptionConstPtr > __group_descriptions__
class ompl_interface_ros::OMPLDynamicReconfigureConfig::DEFAULT groups
f
std::vector< OMPLDynamicReconfigureConfig::AbstractGroupDescriptionConstPtr > groups
virtual bool fromMessage(const dynamic_reconfigure::Config &msg, OMPLDynamicReconfigureConfig &config) const
virtual void getValue(const OMPLDynamicReconfigureConfig &config, boost::any &val) const
AbstractParamDescription(std::string n, std::string t, uint32_t l, std::string d, std::string e)
virtual bool fromMessage(const dynamic_reconfigure::Config &msg, boost::any &cfg) const
virtual void calcLevel(uint32_t &level, const OMPLDynamicReconfigureConfig &config1, const OMPLDynamicReconfigureConfig &config2) const =0
void __toMessage__(dynamic_reconfigure::Config &msg, const std::vector< AbstractParamDescriptionConstPtr > &__param_descriptions__, const std::vector< AbstractGroupDescriptionConstPtr > &__group_descriptions__) const
virtual void toMessage(dynamic_reconfigure::Config &msg, const OMPLDynamicReconfigureConfig &config) const =0
virtual void toMessage(dynamic_reconfigure::Config &msg, const OMPLDynamicReconfigureConfig &config) const
static const OMPLDynamicReconfigureConfig & __getDefault__()
virtual void toMessage(dynamic_reconfigure::Config &msg, const boost::any &cfg) const
virtual void clamp(OMPLDynamicReconfigureConfig &config, const OMPLDynamicReconfigureConfig &max, const OMPLDynamicReconfigureConfig &min) const
static const OMPLDynamicReconfigureConfig & __getMax__()
virtual void fromServer(const ros::NodeHandle &nh, OMPLDynamicReconfigureConfig &config) const
virtual void calcLevel(uint32_t &comb_level, const OMPLDynamicReconfigureConfig &config1, const OMPLDynamicReconfigureConfig &config2) const
static const OMPLDynamicReconfigureConfig & __getMin__()
virtual void toServer(const ros::NodeHandle &nh, const OMPLDynamicReconfigureConfig &config) const =0
static const OMPLDynamicReconfigureConfigStatics * get_instance()
virtual void toServer(const ros::NodeHandle &nh, const OMPLDynamicReconfigureConfig &config) const
double min(double a, double b)
std::vector< OMPLDynamicReconfigureConfig::AbstractParamDescriptionConstPtr > __param_descriptions__
static const OMPLDynamicReconfigureConfigStatics * __get_statics__()
ParamDescription(std::string name, std::string type, uint32_t level, std::string description, std::string edit_method, T OMPLDynamicReconfigureConfig::*f)
uint32_t __level__(const OMPLDynamicReconfigureConfig &config) const
static const std::vector< AbstractParamDescriptionConstPtr > & __getParamDescriptions__()
void __toMessage__(dynamic_reconfigure::Config &msg) const
bool getParam(const std::string &key, std::string &s) const
GroupDescription(std::string name, std::string type, int parent, int id, bool s, T PT::*f)
bool __fromMessage__(dynamic_reconfigure::Config &msg)
void setParams(OMPLDynamicReconfigureConfig &config, const std::vector< AbstractParamDescriptionConstPtr > params)
virtual void fromServer(const ros::NodeHandle &nh, OMPLDynamicReconfigureConfig &config) const =0
static const std::vector< AbstractGroupDescriptionConstPtr > & __getGroupDescriptions__()
virtual bool fromMessage(const dynamic_reconfigure::Config &msg, OMPLDynamicReconfigureConfig &config) const =0
double max(double a, double b)
#define ROS_ERROR(...)
void setParam(const std::string &key, const XmlRpc::XmlRpcValue &v) const
virtual void clamp(OMPLDynamicReconfigureConfig &config, const OMPLDynamicReconfigureConfig &max, const OMPLDynamicReconfigureConfig &min) const =0
virtual void updateParams(boost::any &cfg, OMPLDynamicReconfigureConfig &top) const


ompl
Author(s): Ioan Sucan
autogenerated on Wed Jul 10 2019 04:03:46