00001
00002
00003
00004
00005
00006
00007
00008
00009 #include "SpecialVisionSymbols.h"
00010
00011 SpecialVisionSymbols::SpecialVisionSymbols(const BehaviorControlInterfaces& interfaces)
00012 : BehaviorControlInterfaces(interfaces)
00013 {
00014 }
00015
00016
00017 void SpecialVisionSymbols::registerSymbols(Xabsl2Engine& engine)
00018 {
00019
00020 engine.registerEnumeratedOutputSymbol("special-vision-request",(int*)&specialVisionRequest.specialVisionRequest);
00021 engine.registerEnumeratedOutputSymbolEnumElement("special-vision-request","none",SpecialVisionRequest::none);
00022 engine.registerEnumeratedOutputSymbolEnumElement("special-vision-request","bar-code",SpecialVisionRequest::barCode);
00023 engine.registerEnumeratedOutputSymbolEnumElement("special-vision-request","auto-shutter",SpecialVisionRequest::autoShutter);
00024 engine.registerEnumeratedOutputSymbolEnumElement("special-vision-request","challenge-learn-orientation",SpecialVisionRequest::challengeLearnOrientation);
00025 engine.registerEnumeratedOutputSymbolEnumElement("special-vision-request","challenge-find-orientation",SpecialVisionRequest::challengeFindOrientation);
00026 engine.registerEnumeratedOutputSymbolEnumElement("special-vision-request","challenge-get-orientation",SpecialVisionRequest::challengeGetOrientation);
00027
00028 engine.registerDecimalInputSymbol("challenge-orientation",&(specialPercept.orientation));
00029
00030
00031 engine.registerEnumeratedInputSymbol("bar-code",this,
00032 (int (Xabsl2FunctionProvider::*)())&SpecialVisionSymbols::getBarCodeValue);
00033 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.undefined",-1);
00034 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.zero",0);
00035 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.one",1);
00036 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.two",2);
00037 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.three",3);
00038 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.four",4);
00039 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.five",5);
00040 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.six",6);
00041 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.seven",7);
00042 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.eight",8);
00043 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.nine",9);
00044 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.ten",10);
00045 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.eleven",11);
00046 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.twelve",12);
00047 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.thirteen",13);
00048 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.fourteen",14);
00049 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.fifteen",15);
00050 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.sixteen",16);
00051 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.seventeen",17);
00052 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.eighteen",18);
00053 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.nineteen",19);
00054 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.twenty",20);
00055 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.twenty-one",21);
00056 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.twenty-two",22);
00057 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.twenty-three",23);
00058 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.twenty-four",24);
00059 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.twenty-five",25);
00060 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.twenty-six",26);
00061 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.twenty-seven",27);
00062 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.twenty-eight",28);
00063 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.twenty-nine",29);
00064 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.thirty",30);
00065 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.thirty-one",31);
00066 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.thirty-two",32);
00067 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.thirty-three",33);
00068 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.thirty-four",34);
00069 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.thirty-five",35);
00070 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.thirty-six",36);
00071 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.thirty-seven",37);
00072 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.thirty-eight",38);
00073 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.thirty-nine",39);
00074 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.forty",40);
00075 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.forty-one",41);
00076 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.forty-two",42);
00077 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.forty-three",43);
00078 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.forty-four",44);
00079 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.forty-five",45);
00080 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.forty-six",46);
00081 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.forty-seven",47);
00082 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.forty-eight",48);
00083 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.forty-nine",49);
00084 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.fifty",50);
00085 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.fifty-one",51);
00086 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.fifty-two",52);
00087 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.fifty-three",53);
00088 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.fifty-four",54);
00089 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.fifty-five",55);
00090 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.fifty-six",56);
00091 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.fifty-seven",57);
00092 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.fifty-eight",58);
00093 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.fifty-nine",59);
00094 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.sixty",60);
00095 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.sixty-one",61);
00096 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.sixty-two",62);
00097 engine.registerEnumeratedInputSymbolEnumElement("bar-code","bar-code.sixty-three",63);
00098
00099
00100 engine.registerBooleanInputSymbol("auto-shutter.ready",this,
00101 (bool (Xabsl2FunctionProvider::*)())&SpecialVisionSymbols::getShutterSelected);
00102 }
00103
00104 void SpecialVisionSymbols::update()
00105 {
00106 }
00107
00108 int SpecialVisionSymbols::getBarCodeValue()
00109 {
00110 return specialPercept.barCodeId;
00111 }
00112
00113 bool SpecialVisionSymbols::getShutterSelected()
00114 {
00115 return specialPercept.shutterSelected;
00116 }
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159