2、修复若干逻辑bug,具体参考BUG_FIX_REPORT.md Signed-off-by: waiwaylee <waiwaylee@foxmail.com>
54 lines
2.1 KiB
C++
54 lines
2.1 KiB
C++
#ifndef TRACK_INIT_H
|
|
#define TRACK_INIT_H
|
|
#include "data_process_class_dll.h"
|
|
#include "track_index_mangement.h"
|
|
#include "parameters.h"
|
|
#include "struct.h"
|
|
#include <vector>
|
|
|
|
using namespace std;
|
|
|
|
/******************************* 航迹起始类 **************************************************/
|
|
class Track_Init
|
|
{
|
|
public:
|
|
|
|
//航迹起始逻辑法
|
|
int track_init_process_logic( std::vector<PointRecv> *point_recv, //输入点迹
|
|
std::vector<Trust_Track> *trust_track, //可靠航迹
|
|
std::vector <std::vector<Temp_track>> *temp_track,
|
|
struct Track Trust_Track_Output[MAX_TRACK_NUM][10],
|
|
int *Trust_track_num_Output,
|
|
struct RadarPara Work_Parameter
|
|
);
|
|
|
|
Track_Init();
|
|
void reset();
|
|
|
|
private:
|
|
|
|
std::vector<PointRecv> point_process; //要处理的点迹
|
|
|
|
void point_temp_track_asso(std::vector <std::vector<Temp_track>> *temp_track,
|
|
struct RadarPara Work_Parameter); //临时航迹与点迹关联
|
|
|
|
void point_track_head_asso( std::vector <std::vector<Temp_track>> *temp_track,
|
|
struct RadarPara Work_Parameter); //航迹头与点迹关联
|
|
|
|
void tmp_track_to_trust_track( std::vector <Trust_Track> *trust_track, //临时航迹转可靠航迹
|
|
std::vector <std::vector<Temp_track>> *temp_track,
|
|
struct Track Trust_Track_Output[MAX_TRACK_NUM][10],
|
|
int *Trust_track_num_Output,
|
|
struct RadarPara Work_Parameter);
|
|
|
|
void tmp_track_die(std::vector <std::vector<Temp_track>> *temp_track);//临时航迹消亡
|
|
|
|
double alpha_cal_track_init(double x0,double y0,double x1,double y1,double x2,double y2); //计算夹角
|
|
|
|
int track_init_prohibit(double r, double azi, struct RadarPara Work_Parameter); //判断目标是否位于航迹起始屏蔽区 是返回1 否返回0
|
|
|
|
Track_Ind_Mangement track_index_mangement;
|
|
|
|
};
|
|
#endif // TRACK_INIT_H
|