#ifndef DATA_PROCESS_H #define DATA_PROCESS_H #pragma once #include "data_process_class_dll.h" #include "parameters.h" #include "struct.h" #include "dot_coh.h" #include "dot_coh_tas.h" #include "track_init.h" #include "track_asso.h" #include "track_asso_tas.h" #include "track_die.h" #include "track_die_tas.h" #include "tas_ctrl.h" #include #include #include using namespace Eigen; using namespace std; /********************************** 数据处理类 *************************************************/ class Data_Process : public Data_process_class_dll { public: Data_Process(void) { } //数据预处理函数 int data_preprocess(struct DataRev Data_Input[150]); //航迹处理函数 int track_process( struct Track Trust_Track_Output[MAX_TRACK_NUM][10], //数据处理输出的航迹更新信息 主程序创建全局变量 数据处理函数更新其中数据 int *Trust_track_num_Output, //数据处理后输出的航迹数目 主程序创建全局变量 数据处理函数更新其中数据 int Track_die_Index_Output[], //数据处理后要消亡的航迹 主程序创建全局变量 数据处理函数更新其中数据 int *Track_die_num_Output, //数据处理后要消亡的航迹数目 主程序创建全局变量 数据处理函数更新其中数据 int model ); //波束控制 void Beam_Ctrl(struct TrackingBeam *Tracking_beam, struct Track Trust_Track_Output[][10], int *Trust_track_num_Output); //航迹清空函数 int track_clear_all(void); //手动航迹删除函数 int track_delete(int delete_track_num, //手动删除的航迹数目 int delete_track_index[]); //手动删除的航迹号 //手动转TAS跟踪函数 int tracking_start(int track_index); //需要手动转入TAS跟踪的航迹号 //手动打跟踪波束 int tracking_point(float Azimuth); //方位角 //参数设置初始化 int track_process_parameters_initial(struct RadarPara Radar_Parameter); //参数设置修改函数 int track_process_parameters_modify(struct RadarPara Radar_Parameter); private: QVector Data_buffer; //接收点迹 TWS 输入凝聚 QVector Data_buffer_tas; //接收点迹 TAS 输入凝聚 QVector point_recv; //凝聚后输出的点迹 按点迹区存入 输入航迹关联、起始 QVector point_recv_tas; //凝聚后输出的点迹 TAS QVector trust_track; //可靠航迹 按航迹区存入 QVector > temp_track; //临时航迹 按临时航迹区存入 int Beam_num; //波位数 int beam_count; //波位计数 int data_num; //波位1点数 int beam_index[3]; //3个波位号(当前帧) int TAS_track_idx; //TAS数据的目标批号 int Track_Mode; //跟踪模式 1TAS 0TWS struct RadarPara Work_Parameter; //工作参数 参数设置函数外部输入 Dot_Coh dot_coh; //点迹凝聚 Dot_Coh_TAS dot_coh_tas; Track_Asso track_asso; //航迹关联 Track_Asso_Tas track_asso_tas; Track_Init track_init; //航迹起始 Track_Die track_die; //航迹消亡 Track_Die_Tas track_die_tas; TAS_Ctrl tas_ctrl; //TAS波束控制 }; #endif // DATA_PROCESS_H