00001 // 00002 // LdmrsScanpointCoordinateApp.hpp 00003 // 00004 00005 #ifndef LDMRSSCANPOINTCOORDINATEAPP_HPP 00006 #define LDMRSSCANPOINTCOORDINATEAPP_HPP 00007 00008 #include "../manager.hpp" 00009 #include "../datatypes/Scan.hpp" 00010 00011 namespace application 00012 { 00013 00014 // 00015 // LdmrsScanpointCoordinateApp 00016 // 00017 class LdmrsScanpointCoordinateApp : public BasicApplication 00018 { 00019 public: 00020 LdmrsScanpointCoordinateApp(Manager* manager); 00021 virtual ~LdmrsScanpointCoordinateApp(); 00022 00023 protected: 00024 void setData(BasicData& data); // Receiver 00025 00026 private: 00027 bool m_beVerbose; 00028 UINT16 m_scanCounter; 00029 bool m_isFourLayerScanner; 00030 UINT16 m_numScansToCount; 00031 double m_wantedHorzAngle; 00032 UINT16 m_numPoints[8]; 00033 double m_meanDist[8]; 00034 Point3D m_meanXyz[8]; 00035 00036 void initCycle(); 00037 void processScan(Scan* scan); 00038 bool getClosestScanpoint(const UINT8 layer, const double horzAngle, const Scan* scan, ScanPoint* point); 00039 void calcAndShowStatistics(); 00040 bool isFourLayerScanner(Scan* scan); 00041 00042 }; 00043 } // namespace application 00044 00045 #endif