59 lines
1.9 KiB
C++
59 lines
1.9 KiB
C++
#ifndef TAS_CTRL_H
|
|
#define TAS_CTRL_H
|
|
#include "data_process_class_dll.h"
|
|
#include "parameters.h"
|
|
#include "struct.h"
|
|
#include <vector>
|
|
using namespace std;
|
|
|
|
class TAS_Ctrl
|
|
{
|
|
public:
|
|
|
|
TAS_Ctrl();
|
|
|
|
void reset();
|
|
|
|
void tas_ctrl_process( std::vector<Trust_Track> *trust_track,
|
|
struct TrackingBeam *Tracking_beam,
|
|
struct Track Trust_Track_Output[][10],
|
|
int *Trust_track_num_Output,
|
|
struct RadarPara Work_Parameter,
|
|
long long latest_timestamp);
|
|
|
|
private:
|
|
|
|
//添加TAS目标
|
|
void tas_target_add(std::vector<Trust_Track> *trust_track,
|
|
struct Track Trust_Track_Output[][10],
|
|
int *Trust_track_num_Output,
|
|
struct RadarPara Work_Parameter);
|
|
|
|
//删除TAS目标
|
|
void tas_target_del(std::vector<Trust_Track> *trust_track,
|
|
struct Track Trust_Track_Output[][10],
|
|
int *Trust_track_num_Output,
|
|
struct RadarPara Work_Parameter);
|
|
|
|
//TAS队列信息输出
|
|
void tas_beam_output(std::vector<Trust_Track> *trust_track,
|
|
struct TrackingBeam *Tracking_beam,
|
|
struct RadarPara Work_Parameter,
|
|
long long latest_timestamp);
|
|
|
|
//TAS 自动开启条件
|
|
int tas_auto_start(double v, double r, double h, struct RadarPara Work_Parameter);
|
|
|
|
//TAS 自动退出条件
|
|
int tas_auto_end(double v, double r, double h, struct RadarPara Work_Parameter);
|
|
|
|
// 禁止跟踪区域判断
|
|
int tas_prohibite_area(double r,double azi, double v, double h,struct RadarPara Work_Parameter);
|
|
|
|
struct Tracking_Target tas_target_queue[TAS_QUEUE_LENGTH]; //跟踪目标信息队列
|
|
|
|
int tas_target_num; //跟踪目标数量
|
|
|
|
};
|
|
#endif // TAS_CTRL_H
|