#include "stdafx.h" #include #include #include "loc_point.h" #include "message.h" #include "ProcessRemodule.h" NAMESPACE_POINT_BEGIN(NAMESPACE_POINT) loc_point::loc_point() :m_time(0) ,m_cid(-1) ,m_sid(-1) ,m_ct(-1) ,m_acc(0) ,m_rav(0) ,m_cred_level(0) ,m_dist(0) ,m_speed(0) ,m_stat(0) ,m_dist1(0) ,m_dist2(0) ,m_smooth_x(0) ,m_smooth_y(0) { memset(&m_tof,0,sizeof(m_tof)); memset(&m_rsp,0,sizeof(m_rsp)); } loc_point& loc_point::reset() { memset(this,0,sizeof(*this)); return *this; } const char* loc_point::now(char*date_str,uint64_t time) const { time_t ntime=time/1000; struct tm buff; #ifndef _WINDOWS const struct tm*t=localtime_r(&ntime, &buff); #else const struct tm*t=localtime(&ntime); #endif sprintf(date_str,"%d-%02d-%02d %02d:%02d:%02d.%03d" , t->tm_year+1900,t->tm_mon+1,t->tm_mday, t->tm_hour,t->tm_min,t->tm_sec,(int)(time%1000)); return date_str; } void loc_point::debug_out()const { char time_buff[128] = { 0 }; debug_print_syslog(0,"t=%s,sit=%d,card=%d,ct=%d,cred=%d,tof1=%d,tof2=%d,pt=(%.f,%.f),rsp=%d,acc=%.2f,dist=%f,dist1=%f,dist2=%f", now(time_buff,m_time), m_sid, m_cid, m_ct, m_cred_level, m_tof[0], m_tof[1], x, y ,(int)(m_rsp[0]+m_rsp[1])/2,m_acc, m_dist1,m_dist,m_dist2 ); //debug_print_syslog(0,"[lemon_smooth_log]t=%s,sit=%d,card=%d,ct=%d,cred=%d,tof1=%d,tof2=%d,dist=%f,dir=0,pt=(%f,%f),rsp=%d,acc=%.2f,dist1=%.2f,dist2=%.2f\n", // now(time_buff,m_time), m_sid, m_cid, m_ct, m_cred_level, // m_tof[0], m_tof[1],m_dist, x, // y ,(int)(m_rsp[0]+m_rsp[1])/2,m_acc, // m_dist1,m_dist2 // ); } int loc_point::inc_cl(int cred_level) { return m_cred_level+=cred_level; } int loc_point::set_cl(int cred_level) { return m_cred_level=cred_level; } int loc_point::cl()const { return m_cred_level; } void loc_point::set_source(int cid, int site_id,const loc_info&li,const loc_info&li2) { m_cid=cid; m_sid=site_id; #ifndef _WINDOWS m_time=std::min(li.m_loc_time,li2.m_loc_time); #else m_time=min(li.m_loc_time,li2.m_loc_time); #endif m_ct=li.m_card_ct; m_acc=li.m_acc; m_rav=li.m_rav; m_tof[li.m_ant_id]=li.m_tof; m_tof[li2.m_ant_id]=li2.m_tof; m_rsp[li.m_ant_id]=li.m_card_sp; m_rsp[li2.m_ant_id]=li2.m_card_sp; m_step=0; m_card_type=li.m_card_type; } void loc_point::set_source(int cid, int site_id,const loc_info&li) { m_cid=cid; m_sid=site_id; m_time=li.m_loc_time; m_ct=li.m_card_ct; m_acc=li.m_acc; m_rav=li.m_rav; m_tof[li.m_ant_id]=li.m_tof; m_rsp[li.m_ant_id]=li.m_card_sp; m_tof[li.m_ant_id?0:1]=0; m_rsp[li.m_ant_id?0:1]=0; m_step=0; m_card_type=li.m_card_type; } NAMESPACE_POINT_END(NAMESPACE_POINT)