00001 /* -*- mode: C++ -*- 00002 * 00003 * Navigator zone controller 00004 * 00005 * Copyright (C) 2007, 2010, Austin Robot Technology 00006 * 00007 * License: Modified BSD Software License Agreement 00008 * 00009 * $Id: zone.h 479 2010-08-27 01:16:11Z jack.oquin $ 00010 */ 00011 00012 #ifndef __ZONE_HH__ 00013 #define __ZONE_HH__ 00014 00015 class Safety; 00016 00017 class Zone: public Controller 00018 { 00019 public: 00020 00021 Zone(Navigator *navptr, int _verbose); 00022 ~Zone(); 00023 void configure(); 00024 result_t control(pilot_command_t &pcmd); 00025 void reset(void); 00026 00027 private: 00028 00029 // .cfg variables 00030 float zone_speed_limit; 00031 00032 Safety *safety; 00033 00034 void set_heading(pilot_command_t &pcmd); 00035 }; 00036 00037 #endif // __ZONE_HH__