|
|
|
|
#include "StdAfx.h"
|
|
|
|
|
#include "CameraHawkvis.h"
|
|
|
|
|
#include "Propertie.h"
|
|
|
|
|
#include "PropertieMgr.h"
|
|
|
|
|
#include "LogMgr.h"
|
|
|
|
|
#include "AuthorityMgr.h"
|
|
|
|
|
#include "GlobalFunction.h"
|
|
|
|
|
#include "ExceptionMsg.h"
|
|
|
|
|
#include "FileMgr.h"
|
|
|
|
|
#include "CStringFuc.h"
|
|
|
|
|
#include "DlgDnCutCamera.h"
|
|
|
|
|
|
|
|
|
|
#define RESULT_CNT 10 //ץȡ<D7A5><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CCameraHawkvis *gCameraHawkvis = new CCameraHawkvis;
|
|
|
|
|
CCameraHawkvis::CCameraHawkvis(void)
|
|
|
|
|
{
|
|
|
|
|
m_nCam1Expore = 80000;//<2F>ع<EFBFBD>ֵ
|
|
|
|
|
m_nCam2Expore = 80000;//<2F>ع<EFBFBD>ֵ
|
|
|
|
|
m_bOpen = false;//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m_bRotate180 = true;//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ת180<38><30>
|
|
|
|
|
m_bMirrorH = false;//ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD>
|
|
|
|
|
m_bMirrorV = false;//<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
CCameraHawkvis::~CCameraHawkvis(void)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
CMFCPropertyGridProperty *CCameraHawkvis::CreatGridProperty()
|
|
|
|
|
{
|
|
|
|
|
CString PropertyName;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CString Description;//<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
CString Path = _T("HawkvisCCD");;//<2F>洢·<E6B4A2><C2B7>
|
|
|
|
|
CString Name;
|
|
|
|
|
//-------------------------------------------------------------------------------//
|
|
|
|
|
PropertyName = _T("CCD ");
|
|
|
|
|
CMFCPropertyGridProperty* pGroup = new CMFCPropertyGridProperty(PropertyName);
|
|
|
|
|
|
|
|
|
|
//<2F>Ȱѹ<C8B0>ͬ<EFBFBD>趨<EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD>
|
|
|
|
|
CMFCPropertyGridProperty* pBase = CCamera::CreatGridProperty();
|
|
|
|
|
pGroup->AddSubItem(pBase);
|
|
|
|
|
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>趨");
|
|
|
|
|
CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(PropertyName);
|
|
|
|
|
if (gAuthorityMgr->CheckAuthority(_FACTORY))
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bRotate180");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bRotate180);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD>ת180 <20><>");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ת180 <20><>");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bRotate180, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
gDevicePropertieMgr.Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_nExpore");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_nCam1Expore);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_INT);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("Cam1<EFBFBD>ع<EFBFBD>ֵ");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD>ֵ(0~2000000)");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_nCam1Expore, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
gDevicePropertieMgr.Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_n2Expore");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_nCam2Expore);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_INT);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("Cam2<EFBFBD>ع<EFBFBD>ֵ");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD>ֵ(0~2000000)");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_nCam2Expore, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
gDevicePropertieMgr.Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bMirrorH");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bMirrorH);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
Description = _T("ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bMirrorH, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
gDevicePropertieMgr.Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bMirrorV");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bMirrorV);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bMirrorV, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
gDevicePropertieMgr.Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
pGroup->AddSubItem(pGroup1);
|
|
|
|
|
}
|
|
|
|
|
return pGroup;
|
|
|
|
|
}
|
|
|
|
|
void CCameraHawkvis::ExportPar(ofstream *pFile)
|
|
|
|
|
{
|
|
|
|
|
CCamera::ExportPar(pFile);
|
|
|
|
|
(*pFile) << "[ģ<><C4A3>] [CCameraHawkvis]------------------------------------------------" << endl;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
void CCameraHawkvis::Ini()
|
|
|
|
|
{
|
|
|
|
|
//<2F><EFBFBD><F3B6A8BB><EFBFBD><EFBFBD>Ӿ<EFBFBD><D3BE><EFBFBD>ocx <20>ؼ<EFBFBD>
|
|
|
|
|
m_HawkvisCtrl = &(GetFrame()->m_DlgHawkvisCamera.m_HawkvisCtrl);
|
|
|
|
|
#if 0//def __HAWKVIS_MINDVISION_CCD__
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m_HawkvisCtrl->MV_SetReversal(0, m_bMirrorH);//ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD>
|
|
|
|
|
m_HawkvisCtrl->MV_SetReversal(1, m_bMirrorV);//<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3><C9B9><EFBFBD>û<EFBFBD><C3BB>
|
|
|
|
|
BOOL bMirrorH, bMirrorV;
|
|
|
|
|
m_HawkvisCtrl->MV_GetReversal(0, &bMirrorH);
|
|
|
|
|
m_HawkvisCtrl->MV_GetReversal(1, &bMirrorV);
|
|
|
|
|
|
|
|
|
|
gLogMgr->WriteDebugLog("Hawkvis : MV_GetReversal : bMirrorH = " + Bool2Str(bMirrorH));
|
|
|
|
|
gLogMgr->WriteDebugLog("Hawkvis : MV_GetReversal : bMirrorV = " + Bool2Str(bMirrorV));
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
bool CCameraHawkvis::SwitchCamera(long CamIndex)
|
|
|
|
|
{
|
|
|
|
|
SetCamIndex(CamIndex);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
//ץȡ(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) (һ<><D2BB>ֻץȡһ<C8A1><D2BB>mark ͼ<><CDBC>)
|
|
|
|
|
bool CCameraHawkvis::CatchPoint(Dbxy &pt)
|
|
|
|
|
{
|
|
|
|
|
if (!m_bUse)
|
|
|
|
|
return false;
|
|
|
|
|
auto & m_HawkvisCtrl = (GetFrame()->m_DlgHawkvisCamera.m_HawkvisCtrl);
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD>Ƶ<EFBFBD>Բ
|
|
|
|
|
m_HawkvisCtrl.ClearGraphicObject();
|
|
|
|
|
//ץȡһ֡
|
|
|
|
|
#ifdef __HAWKVIS_MINDVISION_CCD__
|
|
|
|
|
if (!m_HawkvisCtrl.MV_GetOneFrame())
|
|
|
|
|
#else
|
|
|
|
|
if (!m_HawkvisCtrl.HV_GetOneFrame())
|
|
|
|
|
#endif
|
|
|
|
|
{
|
|
|
|
|
CString str = _T("func : Hawkvis Get One Frame----->Error");
|
|
|
|
|
CExceptionMsg Msg;
|
|
|
|
|
Msg.SetMsg(str);
|
|
|
|
|
throw Msg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!gDlgHawkvisCamera->bCurPicDefinitionOK())
|
|
|
|
|
{
|
|
|
|
|
gTrackWorkFlow1.RadAlamOnOff(true);
|
|
|
|
|
CString str = _T("<EFBFBD><EFBFBD>ǰͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȹ<EFBFBD><EFBFBD><EFBFBD>!!!");
|
|
|
|
|
AfxMessageBox(str);
|
|
|
|
|
gTrackWorkFlow1.RadAlamOnOff(false);
|
|
|
|
|
|
|
|
|
|
CExceptionMsg Msg;
|
|
|
|
|
Msg.SetMsg(CString(""));
|
|
|
|
|
throw Msg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef USE_Virtual_CCD_DATA
|
|
|
|
|
pt.x = 10;
|
|
|
|
|
pt.y = 10;
|
|
|
|
|
#else
|
|
|
|
|
Sleep(m_CatchWaitDelay);//<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ocx <20>ؼ<EFBFBD><D8BC><EFBFBD>
|
|
|
|
|
//ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
double pdbX[10], pdbY[10], pdbAngles[10], pdbScale[10], pdbSore[10];
|
|
|
|
|
long nCount[1] = { 1 };
|
|
|
|
|
//FindShapeMode <20>ؼ<EFBFBD><D8BC><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<C8A1><D6B5>Χ1<CEA7><31>5
|
|
|
|
|
//<2F>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD>߸<EFBFBD><DFB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F>ڰ˸<DAB0><CBB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>ID<49><44>
|
|
|
|
|
VARIANT *v_pdbX = new VARIANT[1];
|
|
|
|
|
VARIANT *v_pdbY = new VARIANT[1];
|
|
|
|
|
VARIANT *v_pdbAngles = new VARIANT[1];
|
|
|
|
|
VARIANT *v_pdbScale = new VARIANT[1];
|
|
|
|
|
VARIANT *v_pdbSore = new VARIANT[1];
|
|
|
|
|
bool ret = false;
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
ret = m_HawkvisCtrl.FindShapeModel(GetCurShapeModelID(), v_pdbY, v_pdbX, v_pdbAngles, v_pdbScale, v_pdbSore, nCount);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
catch (...)
|
|
|
|
|
{
|
|
|
|
|
ret = false;
|
|
|
|
|
}
|
|
|
|
|
if (!ret)//2018-01-15 <20><><EFBFBD>ӱ<EFBFBD><D3B1><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܻᱨ<DCBB><E1B1A8>
|
|
|
|
|
{
|
|
|
|
|
CString str = _T("func : Hawkvis Find Shape Model----->Error");
|
|
|
|
|
CExceptionMsg Msg;
|
|
|
|
|
Msg.SetMsg(str);
|
|
|
|
|
throw Msg;
|
|
|
|
|
}
|
|
|
|
|
//pdbX
|
|
|
|
|
for (long index = 0; index < ::SafeArrayGetElemsize(v_pdbX->parray); ++index) {
|
|
|
|
|
::SafeArrayGetElement(v_pdbX->parray, &index, pdbX + index);
|
|
|
|
|
}
|
|
|
|
|
//pdbY
|
|
|
|
|
for (long index = 0; index < ::SafeArrayGetElemsize(v_pdbY->parray); ++index) {
|
|
|
|
|
::SafeArrayGetElement(v_pdbY->parray, &index, pdbY + index);
|
|
|
|
|
}
|
|
|
|
|
//pdbAngles
|
|
|
|
|
for (long index = 0; index < ::SafeArrayGetElemsize(v_pdbAngles->parray); ++index) {
|
|
|
|
|
::SafeArrayGetElement(v_pdbAngles->parray, &index, pdbAngles + index);
|
|
|
|
|
}
|
|
|
|
|
//pdbScale
|
|
|
|
|
for (long index = 0; index < ::SafeArrayGetElemsize(v_pdbScale->parray); ++index) {
|
|
|
|
|
::SafeArrayGetElement(v_pdbScale->parray, &index, pdbScale + index);
|
|
|
|
|
}
|
|
|
|
|
//pdbSore
|
|
|
|
|
for (long index = 0; index < ::SafeArrayGetElemsize(v_pdbSore->parray); ++index) {
|
|
|
|
|
::SafeArrayGetElement(v_pdbSore->parray, &index, pdbSore + index);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><>ʾ<EFBFBD><CABE><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
#if 1
|
|
|
|
|
CString str;
|
|
|
|
|
str.Format("X: %0.3f, Y:%0.f", pdbX[0], pdbY[0]);
|
|
|
|
|
pt.x = pdbX[0];
|
|
|
|
|
pt.y = pdbY[0];
|
|
|
|
|
str.Format("X: %0.3f, Y:%0.3f", pt.x, pt.y);
|
|
|
|
|
gLogMgr->WriteDebugLog(str);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#endif//USE_Virtual_CCD_DATA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!IsDbxyZero(pt))
|
|
|
|
|
{
|
|
|
|
|
m_HawkvisCtrl.SetCrossShow(1, 30, 30, -1, -1, true);
|
|
|
|
|
m_HawkvisCtrl.ZoomFitWindow();
|
|
|
|
|
}
|
|
|
|
|
//m_HawkvisCtrl->MV_GetContinueFrame();
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
|
|
|
|
|
void CCameraHawkvis::OpenTemp()
|
|
|
|
|
{
|
|
|
|
|
CFileMgr FileMgr;
|
|
|
|
|
CString path = FileMgr.GetWorkPath();
|
|
|
|
|
m_HawkvisCtrl->LoadShapeModel((LPCTSTR)path);
|
|
|
|
|
gLogMgr->WriteDebugLog("Hawkvis : LoadCatchTemp");
|
|
|
|
|
}
|
|
|
|
|
#if 0
|
|
|
|
|
Dbxy CCameraHawkvis::CCDpt2Platcoord(Dbxy CCDpt)
|
|
|
|
|
{
|
|
|
|
|
Dbxy pt;
|
|
|
|
|
pt.x = m_Coord.x - CCDpt.x;
|
|
|
|
|
pt.y = m_Coord.y + CCDpt.y;
|
|
|
|
|
return pt;
|
|
|
|
|
}
|
|
|
|
|
#endif
|