00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _CSYMBOL_
00018 #define _CSYMBOL_
00019
00020 #include <list>
00021 #include "Object.h"
00022 #include "CRect.h"
00023 #include <vector>
00024
00025 namespace RobotFlow {
00026
00027
00028
00029
00030
00031
00032
00033
00034 class CSymbol : public FD::Object {
00035
00036 public:
00037
00038 CSymbol();
00039 CSymbol(int symbolDescriptor, int centerX, int centerY, int width, int height);
00040 CSymbol(int symbolDescriptor, int centerX, int centerY, int width, int height, std::vector<float> &nnet_output);
00041 CSymbol(const CSymbol & initSymbol);
00042 virtual ~CSymbol();
00043
00044 void SetSymbol(int symbolDescriptor, int centerX, int centerY, int width, int height);
00045 void GetSymbolName(std::string & resultString) const;
00046
00047 void printOn(std::ostream &out = std::cout) const;
00048
00049
00050 int GetCenterX() const {return mCenterX;}
00051 int GetCenterY() const {return mCenterY;}
00052 int GetHeight() const {return mHeight;}
00053 int GetWidth() const {return mWidth;}
00054 int GetSymbol() const {return mSymbolDescriptor;}
00055 std::vector<float> GetNetVector() const {return mNetOutput;}
00056
00057 private:
00058
00059 int mSymbolDescriptor;
00060
00061
00062 int mCenterX;
00063 int mCenterY;
00064
00065
00066 int mHeight;
00067 int mWidth;
00068
00069 std::vector<float> mNetOutput;
00070
00071 };
00072
00073 }
00074 #endif