a
This commit is contained in:
@@ -0,0 +1,918 @@
|
||||
// TdChannel.cpp: implementation of the CTdChannel class.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "geomative.h"
|
||||
#include "TdChannel.h"
|
||||
|
||||
#include "MediumQ.h"
|
||||
#include "Rsp2DTdRecord.h"
|
||||
#include "RspCETdRecord.h"
|
||||
#include "Rsp3DTdRecord.h"
|
||||
|
||||
#include "Ipsp3DTdRecord.h"
|
||||
#include "Ipsp2DTdRecord.h"
|
||||
#include "IpspCETdRecord.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[]=__FILE__;
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Construction/Destruction
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
CTdChannel::CTdChannel(DWORD dwScID, int iChNum, _ConnectionPtr& pConnection)
|
||||
{
|
||||
this->m_dwScID = dwScID;
|
||||
this->m_iChNum = iChNum;
|
||||
|
||||
m_dwID = (int)VAL_ZERO;
|
||||
|
||||
m_iEAmount = (int)VAL_ZERO;
|
||||
m_iMaxLevel = (int)VAL_ZERO;
|
||||
|
||||
m_pConnection = pConnection;
|
||||
m_pMedium = NULL;
|
||||
m_tdRecArray.RemoveAll();
|
||||
// m_tdRecArray.SetSize(20480);
|
||||
m_fMaxR0 = (float)VAL_ZERO;
|
||||
m_fMinR0 = (float)VAL_ZERO;
|
||||
|
||||
m_fScaleR0 = (float)VAL_ZERO;
|
||||
|
||||
m_fMaxDepth = (float)VAL_ZERO;
|
||||
}
|
||||
|
||||
CTdChannel::~CTdChannel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
BOOL CTdChannel::Load3DScriptFromDB()
|
||||
{
|
||||
_RecordsetPtr pRecCh = NULL;
|
||||
_RecordsetPtr pRecSpt3D = NULL;
|
||||
|
||||
CString szSql = _T("");
|
||||
|
||||
CRsp3DTdRecord* pRsp3DTdRecord = NULL;
|
||||
|
||||
DWORD dwChID = (DWORD)VAL_ZERO;
|
||||
|
||||
pRecCh.CreateInstance(_uuidof(Recordset));
|
||||
|
||||
szSql.Empty();
|
||||
szSql.Format(_T("select ID from channel where SCID = %u and CHnumber = %d"), m_dwScID, m_iChNum);
|
||||
pRecCh->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
||||
|
||||
if ((long)VAL_ZERO != pRecCh->GetRecordCount())
|
||||
{
|
||||
dwChID = (DWORD)pRecCh->GetCollect(_T("ID")).ulVal;
|
||||
}
|
||||
pRecCh->Close();
|
||||
|
||||
pRecSpt3D.CreateInstance(_uuidof(Recordset));
|
||||
szSql.Empty();
|
||||
szSql.Format(_T("select TSN,C1,C2,P1,P2,K,N from Script3d where CHID = %u order by TSN"), dwChID);
|
||||
|
||||
pRecSpt3D->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
||||
|
||||
this->m_tdRecArray.RemoveAll();
|
||||
while ((short)VAL_ZERO == pRecSpt3D->adoEOF)
|
||||
{
|
||||
pRsp3DTdRecord = new CRsp3DTdRecord(this->m_dwID, this->m_pConnection);
|
||||
pRsp3DTdRecord->m_iTsn = (int)pRecSpt3D->GetCollect(_T("TSN")).lVal;
|
||||
pRsp3DTdRecord->m_iC1 = (int)pRecSpt3D->GetCollect(_T("C1")).iVal;
|
||||
pRsp3DTdRecord->m_iC2 = (int)pRecSpt3D->GetCollect(_T("C2")).iVal;
|
||||
pRsp3DTdRecord->m_iP1 = (int)pRecSpt3D->GetCollect(_T("P1")).iVal;
|
||||
pRsp3DTdRecord->m_iP2 = (int)pRecSpt3D->GetCollect(_T("P2")).iVal;
|
||||
pRsp3DTdRecord->m_fK = (float)pRecSpt3D->GetCollect(_T("K")).fltVal;
|
||||
pRsp3DTdRecord->m_iN = (int)pRecSpt3D->GetCollect(_T("N")).iVal;
|
||||
pRsp3DTdRecord->m_fR0 = (float)VAL_ZERO;
|
||||
pRsp3DTdRecord->m_fI = (float)VAL_ZERO;
|
||||
pRsp3DTdRecord->m_fV = (float)VAL_ZERO;
|
||||
pRsp3DTdRecord->m_colorREF = RGB(0xFF,0xFF,0xFF);
|
||||
pRsp3DTdRecord->m_recPtArea.SetRectEmpty();
|
||||
|
||||
pRsp3DTdRecord->m_iLevel = this->m_pMedium->GenSptRecLevel(pRsp3DTdRecord->m_iC1, pRsp3DTdRecord->m_iC2, pRsp3DTdRecord->m_iP1, pRsp3DTdRecord->m_iP2);
|
||||
pRsp3DTdRecord->m_iPosInLevel = this->m_pMedium->GenSptRecPosInLevel(pRsp3DTdRecord->m_iC1, pRsp3DTdRecord->m_iC2, pRsp3DTdRecord->m_iP1, pRsp3DTdRecord->m_iP2);
|
||||
this->m_tdRecArray.Add((void*)pRsp3DTdRecord);
|
||||
pRecSpt3D->MoveNext();
|
||||
}
|
||||
pRecSpt3D->Close();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL CTdChannel::Load2DScriptFromDB()
|
||||
{
|
||||
_RecordsetPtr pRecCh = NULL;
|
||||
_RecordsetPtr pRecSpt2D = NULL;
|
||||
|
||||
CString szSql = _T("");
|
||||
|
||||
CRsp2DTdRecord* pRsp2DTdRecord = NULL;
|
||||
|
||||
DWORD dwChID = (DWORD)VAL_ZERO;
|
||||
|
||||
pRecCh.CreateInstance(_uuidof(Recordset));
|
||||
|
||||
szSql.Empty();
|
||||
szSql.Format(_T("select ID from channel where SCID = %u and CHnumber = %d"), m_dwScID, m_iChNum);
|
||||
pRecCh->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
||||
|
||||
if ((long)VAL_ZERO != pRecCh->GetRecordCount())
|
||||
{
|
||||
dwChID = (DWORD)pRecCh->GetCollect(_T("ID")).ulVal;
|
||||
}
|
||||
pRecCh->Close();
|
||||
|
||||
pRecSpt2D.CreateInstance(_uuidof(Recordset));
|
||||
szSql.Empty();
|
||||
szSql.Format(_T("select TSN,C1,C2,P1,P2,K,N from Script2d where CHID = %u order by TSN"), dwChID);
|
||||
|
||||
pRecSpt2D->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
||||
|
||||
this->m_tdRecArray.RemoveAll();
|
||||
while ((short)VAL_ZERO == pRecSpt2D->adoEOF)
|
||||
{
|
||||
pRsp2DTdRecord = new CRsp2DTdRecord(this->m_dwID, this->m_pConnection);
|
||||
pRsp2DTdRecord->m_iTsn = (int)pRecSpt2D->GetCollect(_T("TSN")).lVal;
|
||||
pRsp2DTdRecord->m_iC1 = (int)pRecSpt2D->GetCollect(_T("C1")).iVal;
|
||||
pRsp2DTdRecord->m_iC2 = (int)pRecSpt2D->GetCollect(_T("C2")).iVal;
|
||||
pRsp2DTdRecord->m_iP1 = (int)pRecSpt2D->GetCollect(_T("P1")).iVal;
|
||||
pRsp2DTdRecord->m_iP2 = (int)pRecSpt2D->GetCollect(_T("P2")).iVal;
|
||||
pRsp2DTdRecord->m_fK = (float)pRecSpt2D->GetCollect(_T("K")).fltVal;
|
||||
pRsp2DTdRecord->m_iN = (int)pRecSpt2D->GetCollect(_T("N")).iVal;
|
||||
pRsp2DTdRecord->m_fR0 = (float)VAL_ZERO;
|
||||
pRsp2DTdRecord->m_fI = (float)VAL_ZERO;
|
||||
pRsp2DTdRecord->m_fV = (float)VAL_ZERO;
|
||||
pRsp2DTdRecord->m_colorREF = RGB(0xFF,0xFF,0xFF);
|
||||
pRsp2DTdRecord->m_recPtArea.SetRectEmpty();
|
||||
|
||||
pRsp2DTdRecord->m_iLevel = this->m_pMedium->GenSptRecLevel(pRsp2DTdRecord->m_iC1, pRsp2DTdRecord->m_iC2, pRsp2DTdRecord->m_iP1, pRsp2DTdRecord->m_iP2);
|
||||
pRsp2DTdRecord->m_iPosInLevel = this->m_pMedium->GenSptRecPosInLevel(pRsp2DTdRecord->m_iC1, pRsp2DTdRecord->m_iC2, pRsp2DTdRecord->m_iP1, pRsp2DTdRecord->m_iP2);
|
||||
this->m_tdRecArray.Add((void*)pRsp2DTdRecord);
|
||||
pRecSpt2D->MoveNext();
|
||||
}
|
||||
pRecSpt2D->Close();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void CTdChannel::SetColorToTdRec(CRsp2DTdRecord* pRsp2DTdRecord)
|
||||
{
|
||||
int iIndex = (int)VAL_ZERO;
|
||||
int iColorIndex = (int)VAL_ZERO;
|
||||
|
||||
COLORREF aColor[15]={RGB(0,0,0xFF),RGB(0,0x33,0xFF),RGB(0,0x66,0xFF),RGB(0,0x88,0xFF),RGB(0,0xCF,0xFE),RGB(0,0xFE,0xFF),RGB(0,0xFE,0x99),RGB(0,0xFE,0x33),RGB(0x99,0xFE,0),RGB(0xFF,0xFE,0),RGB(0xFE,0xCC,0),RGB(0xFE,0x98,0),RGB(0xFE,0x66,0),RGB(0xFE,0x33,0),RGB(0xFF,0,0)};
|
||||
|
||||
pRsp2DTdRecord->m_colorREF = RGB(0xFF,0xFF,0xFF);
|
||||
if (0 == pRsp2DTdRecord->m_fR0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
//在这里SetMaxR0AndMinR0的函数已经添加到LoadRsp2DTdData中去了,也就是在加载2D数据的时候就已经获取到
|
||||
//这个任务的R0的最大值和最小值,所以此时再数据在去比较的时候就不会跳转到SetMaxR0AndMinR0为真的函数结构中去了
|
||||
//实际就全部走下面的else的分支,如果其它的数据需要显示剖面图的话,那么也需要在加载数据的时候调用etMaxR0AndMinR0
|
||||
//来预先获得RO的最大值和最小值
|
||||
if (SetMaxR0AndMinR0(pRsp2DTdRecord->m_fR0) == TRUE)
|
||||
{
|
||||
//这里完全属于冗余切会导致运算N*N次,N为测点数,所以这里不应该跳转到
|
||||
if (m_fMaxR0 == m_fMinR0)
|
||||
{
|
||||
((CRsp2DTdRecord*)this->m_tdRecArray.GetAt(iIndex))->m_colorREF = aColor[8];
|
||||
}
|
||||
else
|
||||
{
|
||||
m_fScaleR0 = (m_fMaxR0-m_fMinR0)/15;
|
||||
}
|
||||
|
||||
iIndex = (int)VAL_ZERO;
|
||||
while ((iIndex < this->m_tdRecArray.GetSize()) && ((int)VAL_ZERO != m_fScaleR0))
|
||||
{
|
||||
|
||||
if (0 != ((CRsp2DTdRecord*)this->m_tdRecArray.GetAt(iIndex))->m_fR0)
|
||||
{
|
||||
iColorIndex = (int)floor((((CRsp2DTdRecord*)this->m_tdRecArray.GetAt(iIndex))->m_fR0-m_fMinR0)/m_fScaleR0);
|
||||
if (iColorIndex > 14)
|
||||
{
|
||||
iColorIndex = 14;
|
||||
}
|
||||
((CRsp2DTdRecord*)this->m_tdRecArray.GetAt(iIndex))->m_colorREF = aColor[iColorIndex];
|
||||
}
|
||||
else
|
||||
{
|
||||
((CRsp2DTdRecord*)this->m_tdRecArray.GetAt(iIndex))->m_colorREF = RGB(0xFF,0xFF,0xFF);
|
||||
}
|
||||
|
||||
iIndex++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (m_fMaxR0 == m_fMinR0)
|
||||
{
|
||||
((CRsp2DTdRecord*)this->m_tdRecArray.GetAt(iIndex))->m_colorREF = aColor[8];
|
||||
}
|
||||
else
|
||||
{
|
||||
m_fScaleR0 = (m_fMaxR0-m_fMinR0)/15;
|
||||
}
|
||||
iColorIndex = (int)floor((pRsp2DTdRecord->m_fR0-m_fMinR0)/m_fScaleR0);
|
||||
if (iColorIndex > 14)
|
||||
{
|
||||
iColorIndex = 14;
|
||||
}
|
||||
pRsp2DTdRecord->m_colorREF = aColor[iColorIndex];
|
||||
}
|
||||
}
|
||||
|
||||
BOOL CTdChannel::SetMaxR0AndMinR0(float fR0)
|
||||
{
|
||||
if ((0 == m_fMaxR0) && (0 == m_fMinR0))
|
||||
{
|
||||
m_fMaxR0 = fR0;
|
||||
m_fMinR0 = fR0;
|
||||
}
|
||||
else if (fR0 > m_fMaxR0)
|
||||
{
|
||||
m_fMaxR0 = fR0;
|
||||
}
|
||||
else if (fR0 < m_fMinR0)
|
||||
{
|
||||
m_fMinR0 = fR0;
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
void CTdChannel::Clear3DSptRecList()
|
||||
{
|
||||
int iListIndex = (int)VAL_ZERO;
|
||||
|
||||
iListIndex = (int)VAL_ZERO;
|
||||
while (iListIndex < this->m_tdRecArray.GetSize())
|
||||
{
|
||||
if (this->m_tdRecArray.GetAt(iListIndex) != NULL)
|
||||
{
|
||||
delete (CRsp3DTdRecord*)m_tdRecArray.GetAt(iListIndex);
|
||||
}
|
||||
iListIndex++;
|
||||
}
|
||||
|
||||
this->m_tdRecArray.RemoveAll();
|
||||
m_fMaxR0 = (float)VAL_ZERO;
|
||||
m_fMinR0 = (float)VAL_ZERO;
|
||||
|
||||
m_fScaleR0 = (float)VAL_ZERO;
|
||||
m_iMaxLevel = (int)VAL_ZERO;
|
||||
}
|
||||
|
||||
void CTdChannel::Clear2DSptRecList()
|
||||
{
|
||||
int iListIndex = (int)VAL_ZERO;
|
||||
|
||||
iListIndex = (int)VAL_ZERO;
|
||||
while (iListIndex < this->m_tdRecArray.GetSize())
|
||||
{
|
||||
if (this->m_tdRecArray.GetAt(iListIndex) != NULL)
|
||||
{
|
||||
delete (CRsp2DTdRecord*)m_tdRecArray.GetAt(iListIndex);
|
||||
}
|
||||
iListIndex++;
|
||||
}
|
||||
|
||||
this->m_tdRecArray.RemoveAll();
|
||||
m_fMaxR0 = (float)VAL_ZERO;
|
||||
m_fMinR0 = (float)VAL_ZERO;
|
||||
|
||||
m_fScaleR0 = (float)VAL_ZERO;
|
||||
m_iMaxLevel = (int)VAL_ZERO;
|
||||
}
|
||||
|
||||
void CTdChannel::ClearCESptRecList()
|
||||
{
|
||||
int iListIndex = (int)VAL_ZERO;
|
||||
|
||||
iListIndex = (int)VAL_ZERO;
|
||||
while (iListIndex < this->m_tdRecArray.GetSize())
|
||||
{
|
||||
if (this->m_tdRecArray.GetAt(iListIndex) != NULL)
|
||||
{
|
||||
delete (CRspCETdRecord*)(m_tdRecArray.GetAt(iListIndex));
|
||||
}
|
||||
iListIndex++;
|
||||
}
|
||||
m_fMaxR0 = (float)VAL_ZERO;
|
||||
m_fMinR0 = (float)VAL_ZERO;
|
||||
this->m_tdRecArray.RemoveAll();
|
||||
|
||||
}
|
||||
|
||||
BOOL CTdChannel::SaveRsp3DTdData(DWORD dwScID)
|
||||
{
|
||||
CRsp3DTdRecord* pRsp3DTdRecord = NULL;
|
||||
_RecordsetPtr pRecTdCha;
|
||||
_CommandPtr pCmdIns;
|
||||
CString szSql = _T("");
|
||||
int iTdRecIndex = (int)VAL_ZERO;
|
||||
|
||||
pRecTdCha.CreateInstance(_uuidof(Recordset));
|
||||
pCmdIns.CreateInstance(_uuidof(Command));
|
||||
pCmdIns->ActiveConnection = m_pConnection;
|
||||
|
||||
try
|
||||
{
|
||||
szSql.Empty();
|
||||
szSql.Format(_T("insert into tdchannel(TDID,CHnumber,AR) values(%u,%d,%d)"),
|
||||
dwScID,
|
||||
this->m_iChNum,
|
||||
this->m_pMedium->m_iAR);
|
||||
|
||||
pCmdIns->CommandText = szSql.AllocSysString();
|
||||
pCmdIns->Execute(NULL, NULL, adCmdText);
|
||||
|
||||
pRecTdCha->Open(_T("select max(ID) as ID from tdchannel"), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
||||
if ((long)VAL_ZERO != pRecTdCha->GetRecordCount())
|
||||
{
|
||||
this->m_dwID = (int)pRecTdCha->GetCollect(_T("ID")).ulVal;
|
||||
}
|
||||
pRecTdCha->Close();
|
||||
|
||||
iTdRecIndex = (int)VAL_ZERO;
|
||||
while (iTdRecIndex < m_tdRecArray.GetSize())
|
||||
{
|
||||
pRsp3DTdRecord = NULL;
|
||||
pRsp3DTdRecord = (CRsp3DTdRecord*)m_tdRecArray.GetAt(iTdRecIndex);
|
||||
|
||||
pRsp3DTdRecord->SaveData(m_dwID);
|
||||
iTdRecIndex++;
|
||||
}
|
||||
}
|
||||
catch(_com_error e)
|
||||
{
|
||||
throw e;
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL CTdChannel::SaveRsp2DTdData(DWORD dwScID)
|
||||
{
|
||||
CRsp2DTdRecord* pRsp2DTdRecord = NULL;
|
||||
_RecordsetPtr pRecTdCha;
|
||||
_CommandPtr pCmdIns;
|
||||
CString szSql = _T("");
|
||||
int iTdRecIndex = (int)VAL_ZERO;
|
||||
|
||||
pRecTdCha.CreateInstance(_uuidof(Recordset));
|
||||
pCmdIns.CreateInstance(_uuidof(Command));
|
||||
pCmdIns->ActiveConnection = m_pConnection;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
szSql.Empty();
|
||||
szSql.Format(_T("insert into tdchannel(TDID,CHnumber,AR) values(%u,%d,%d)"),
|
||||
dwScID,
|
||||
this->m_iChNum,
|
||||
this->m_pMedium->m_iAR);
|
||||
|
||||
pCmdIns->CommandText = szSql.AllocSysString();
|
||||
pCmdIns->Execute(NULL, NULL, adCmdText);
|
||||
|
||||
pRecTdCha->Open(_T("select max(ID) as ID from tdchannel"), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
||||
if ((long)VAL_ZERO != pRecTdCha->GetRecordCount())
|
||||
{
|
||||
this->m_dwID = (int)pRecTdCha->GetCollect(_T("ID")).ulVal;
|
||||
}
|
||||
pRecTdCha->Close();
|
||||
|
||||
iTdRecIndex = (int)VAL_ZERO;
|
||||
while (iTdRecIndex < m_tdRecArray.GetSize())
|
||||
{
|
||||
pRsp2DTdRecord = NULL;
|
||||
pRsp2DTdRecord = (CRsp2DTdRecord*)m_tdRecArray.GetAt(iTdRecIndex);
|
||||
|
||||
pRsp2DTdRecord->SaveData(m_dwID);
|
||||
iTdRecIndex++;
|
||||
}
|
||||
}
|
||||
catch(_com_error e)
|
||||
{
|
||||
throw e;
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL CTdChannel::SaveRspCETdData(DWORD dwScID)
|
||||
{
|
||||
CRspCETdRecord* pRspCETdRecord = NULL;
|
||||
_RecordsetPtr pRecTdCha;
|
||||
_CommandPtr pCmdIns;
|
||||
CString szSql = _T("");
|
||||
int iTdRecIndex = (int)VAL_ZERO;
|
||||
|
||||
pRecTdCha.CreateInstance(_uuidof(Recordset));
|
||||
pCmdIns.CreateInstance(_uuidof(Command));
|
||||
pCmdIns->ActiveConnection = m_pConnection;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
szSql.Empty();
|
||||
szSql.Format(_T("insert into tdchannel(TDID,CHnumber,AR) values(%u,%d,%d)"),
|
||||
dwScID,
|
||||
this->m_iChNum,
|
||||
this->m_pMedium->m_iAR);
|
||||
|
||||
pCmdIns->CommandText = szSql.AllocSysString();
|
||||
pCmdIns->Execute(NULL, NULL, adCmdText);
|
||||
|
||||
pRecTdCha->Open(_T("select max(ID) as ID from tdchannel"), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
||||
if ((long)VAL_ZERO != pRecTdCha->GetRecordCount())
|
||||
{
|
||||
this->m_dwID = (int)pRecTdCha->GetCollect(_T("ID")).ulVal;
|
||||
}
|
||||
pRecTdCha->Close();
|
||||
|
||||
iTdRecIndex = (int)VAL_ZERO;
|
||||
while (iTdRecIndex < m_tdRecArray.GetSize())
|
||||
{
|
||||
pRspCETdRecord = NULL;
|
||||
pRspCETdRecord = (CRspCETdRecord*)m_tdRecArray.GetAt(iTdRecIndex);
|
||||
|
||||
pRspCETdRecord->SaveData(m_dwID);
|
||||
iTdRecIndex++;
|
||||
}
|
||||
}
|
||||
catch(_com_error e)
|
||||
{
|
||||
throw e;
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL CTdChannel::LoadRsp3DTdData()
|
||||
{
|
||||
CRsp3DTdRecord* pRsp3DTdRecord = NULL;
|
||||
_RecordsetPtr pRecTdCon;
|
||||
|
||||
CString szSql = _T("");
|
||||
int iTdRecIndex = (int)VAL_ZERO;
|
||||
|
||||
if ((int)VAL_ZERO == this->m_tdRecArray.GetSize())
|
||||
{
|
||||
pRecTdCon.CreateInstance(_uuidof(Recordset));
|
||||
|
||||
szSql.Empty();
|
||||
szSql.Format(_T("select TSN,C1,C2,P1,P2,N,K,I,V,R0,SP,bUse from td3dcon where TCHID = %u"), this->m_dwID);
|
||||
pRecTdCon->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
||||
|
||||
this->m_tdRecArray.RemoveAll();
|
||||
while ((short)VAL_ZERO == pRecTdCon->adoEOF)
|
||||
{
|
||||
if (pRecTdCon->GetCollect(_T("bUse")).boolVal != 0)//0为access数据库中的false
|
||||
{
|
||||
pRsp3DTdRecord = new CRsp3DTdRecord(this->m_dwID, this->m_pConnection);
|
||||
pRsp3DTdRecord->m_iTsn = (int)pRecTdCon->GetCollect(_T("TSN")).lVal;
|
||||
pRsp3DTdRecord->m_iC1 = (int)pRecTdCon->GetCollect(_T("C1")).iVal;
|
||||
pRsp3DTdRecord->m_iC2 = (int)pRecTdCon->GetCollect(_T("C2")).iVal;
|
||||
pRsp3DTdRecord->m_iP1 = (int)pRecTdCon->GetCollect(_T("P1")).iVal;
|
||||
pRsp3DTdRecord->m_iP2 = (int)pRecTdCon->GetCollect(_T("P2")).iVal;
|
||||
pRsp3DTdRecord->m_fK = (float)pRecTdCon->GetCollect(_T("K")).fltVal;
|
||||
pRsp3DTdRecord->m_iN = (int)pRecTdCon->GetCollect(_T("N")).iVal;
|
||||
pRsp3DTdRecord->m_fR0 = (float)pRecTdCon->GetCollect(_T("R0")).fltVal;
|
||||
pRsp3DTdRecord->m_fI = (float)pRecTdCon->GetCollect(_T("I")).fltVal;
|
||||
pRsp3DTdRecord->m_fV = (float)pRecTdCon->GetCollect(_T("V")).fltVal;
|
||||
pRsp3DTdRecord->m_fSP = (float)pRecTdCon->GetCollect(_T("SP")).fltVal;
|
||||
|
||||
pRsp3DTdRecord->m_colorREF = RGB(0xFF,0xFF,0xFF);
|
||||
pRsp3DTdRecord->m_recPtArea.SetRectEmpty();
|
||||
|
||||
pRsp3DTdRecord->m_iLevel = this->m_pMedium->GenSptRecLevel(pRsp3DTdRecord->m_iC1, pRsp3DTdRecord->m_iC2, pRsp3DTdRecord->m_iP1, pRsp3DTdRecord->m_iP2);
|
||||
pRsp3DTdRecord->m_iPosInLevel = this->m_pMedium->GenSptRecPosInLevel(pRsp3DTdRecord->m_iC1, pRsp3DTdRecord->m_iC2, pRsp3DTdRecord->m_iP1, pRsp3DTdRecord->m_iP2);
|
||||
|
||||
this->m_tdRecArray.Add((void*)pRsp3DTdRecord);
|
||||
}
|
||||
pRecTdCon->MoveNext();
|
||||
}
|
||||
pRecTdCon->Close();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL CTdChannel::LoadRsp2DTdData()
|
||||
{
|
||||
CRsp2DTdRecord* pRsp2DTdRecord = NULL;
|
||||
_RecordsetPtr pRecTdCon;
|
||||
|
||||
CString szSql = _T("");
|
||||
int iTdRecIndex = (int)VAL_ZERO;
|
||||
//added by lsq 20160506
|
||||
//初始化最大和最小的RO值
|
||||
m_fMaxR0 = m_fMinR0 = (float)VAL_ZERO;
|
||||
//////////////////////////end////////////////////////////////////////////////
|
||||
if ((int)VAL_ZERO == this->m_tdRecArray.GetSize())
|
||||
{
|
||||
pRecTdCon.CreateInstance(_uuidof(Recordset));
|
||||
|
||||
szSql.Empty();
|
||||
szSql.Format(_T("select TSN,C1,C2,P1,P2,N,K,I,V,R0,SP,bUse from td2dcon where TCHID = %u"), this->m_dwID);
|
||||
pRecTdCon->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
||||
|
||||
this->m_tdRecArray.RemoveAll();
|
||||
while ((short)VAL_ZERO == pRecTdCon->adoEOF)
|
||||
{
|
||||
if (pRecTdCon->GetCollect(_T("bUse")).boolVal != 0)//0为access数据库中的false
|
||||
{
|
||||
pRsp2DTdRecord = new CRsp2DTdRecord(this->m_dwID, this->m_pConnection);
|
||||
if (pRsp2DTdRecord == NULL)
|
||||
{
|
||||
ASSERT(pRsp2DTdRecord != NULL);
|
||||
continue;
|
||||
}
|
||||
pRsp2DTdRecord->m_iTsn = (int)pRecTdCon->GetCollect(_T("TSN")).lVal;
|
||||
pRsp2DTdRecord->m_iC1 = (int)pRecTdCon->GetCollect(_T("C1")).iVal;
|
||||
pRsp2DTdRecord->m_iC2 = (int)pRecTdCon->GetCollect(_T("C2")).iVal;
|
||||
pRsp2DTdRecord->m_iP1 = (int)pRecTdCon->GetCollect(_T("P1")).iVal;
|
||||
pRsp2DTdRecord->m_iP2 = (int)pRecTdCon->GetCollect(_T("P2")).iVal;
|
||||
pRsp2DTdRecord->m_fK = (float)pRecTdCon->GetCollect(_T("K")).fltVal;
|
||||
pRsp2DTdRecord->m_iN = (int)pRecTdCon->GetCollect(_T("N")).iVal;
|
||||
pRsp2DTdRecord->m_fR0 = (float)pRecTdCon->GetCollect(_T("R0")).fltVal;
|
||||
pRsp2DTdRecord->m_fI = (float)pRecTdCon->GetCollect(_T("I")).fltVal;
|
||||
pRsp2DTdRecord->m_fV = (float)pRecTdCon->GetCollect(_T("V")).fltVal;
|
||||
pRsp2DTdRecord->m_fSP = (float)pRecTdCon->GetCollect(_T("SP")).fltVal;
|
||||
////////////////////////////////added by lsq 20160506//////////////////////////////////////////
|
||||
//在这里是为了在取数据库的过程中就直接得到RO的最大值和最小值
|
||||
SetMaxR0AndMinR0(pRsp2DTdRecord->m_fR0);
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
pRsp2DTdRecord->m_colorREF = RGB(0xFF,0xFF,0xFF);
|
||||
pRsp2DTdRecord->m_recPtArea.SetRectEmpty();
|
||||
|
||||
if (m_pMedium == NULL)
|
||||
{
|
||||
ASSERT(m_pMedium != NULL);
|
||||
if (pRsp2DTdRecord)
|
||||
{
|
||||
delete pRsp2DTdRecord;
|
||||
pRsp2DTdRecord = NULL;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
pRsp2DTdRecord->m_iLevel = this->m_pMedium->GenSptRecLevel(pRsp2DTdRecord->m_iC1, pRsp2DTdRecord->m_iC2, pRsp2DTdRecord->m_iP1, pRsp2DTdRecord->m_iP2);
|
||||
pRsp2DTdRecord->m_iPosInLevel = this->m_pMedium->GenSptRecPosInLevel(pRsp2DTdRecord->m_iC1, pRsp2DTdRecord->m_iC2, pRsp2DTdRecord->m_iP1, pRsp2DTdRecord->m_iP2);
|
||||
|
||||
this->m_tdRecArray.Add((void*)pRsp2DTdRecord);
|
||||
}
|
||||
pRecTdCon->MoveNext();
|
||||
}
|
||||
pRecTdCon->Close();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL CTdChannel::LoadRspCETdData()
|
||||
{
|
||||
CRspCETdRecord* pRspCETdRecord = NULL;
|
||||
_RecordsetPtr pRecTdCon;
|
||||
|
||||
CString szSql = _T("");
|
||||
int iTdRecIndex = (int)VAL_ZERO;
|
||||
|
||||
if ((int)VAL_ZERO == this->m_tdRecArray.GetSize())
|
||||
{
|
||||
pRecTdCon.CreateInstance(_uuidof(Recordset));
|
||||
|
||||
szSql.Empty();
|
||||
szSql.Format(_T("select TSN,a,b,x,y,N,K,I,V,R0,SP,bUse,dt from td1dcon where TCHID = %u"), this->m_dwID);
|
||||
pRecTdCon->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
||||
|
||||
this->m_tdRecArray.RemoveAll();
|
||||
while ((short)VAL_ZERO == pRecTdCon->adoEOF)
|
||||
{
|
||||
if (pRecTdCon->GetCollect(_T("bUse")).boolVal != 0)//0为access数据库中的false
|
||||
{
|
||||
pRspCETdRecord = new CRspCETdRecord(this->m_dwID, this->m_pConnection);
|
||||
pRspCETdRecord->m_iTsn = (int)pRecTdCon->GetCollect(_T("TSN")).lVal;
|
||||
pRspCETdRecord->m_fA = (float)pRecTdCon->GetCollect(_T("a")).fltVal;
|
||||
pRspCETdRecord->m_fB = (float)pRecTdCon->GetCollect(_T("b")).fltVal;
|
||||
pRspCETdRecord->m_fX = (float)pRecTdCon->GetCollect(_T("x")).fltVal;
|
||||
pRspCETdRecord->m_fY = (float)pRecTdCon->GetCollect(_T("y")).fltVal;
|
||||
pRspCETdRecord->m_fK = (float)pRecTdCon->GetCollect(_T("K")).fltVal;
|
||||
pRspCETdRecord->m_iN = (int)pRecTdCon->GetCollect(_T("N")).iVal;
|
||||
pRspCETdRecord->m_fR0 = (float)pRecTdCon->GetCollect(_T("R0")).fltVal;
|
||||
pRspCETdRecord->m_fI = (float)pRecTdCon->GetCollect(_T("I")).fltVal;
|
||||
pRspCETdRecord->m_fV = (float)pRecTdCon->GetCollect(_T("V")).fltVal;
|
||||
pRspCETdRecord->m_fSP = (float)pRecTdCon->GetCollect(_T("SP")).fltVal;
|
||||
pRspCETdRecord->m_Datetime = (VT_NULL == pRecTdCon->GetCollect(_T("dt")).vt) ? _T("") : (LPCTSTR)(_bstr_t)pRecTdCon->GetCollect(_T("dt"));
|
||||
|
||||
pRspCETdRecord->m_colorREF = RGB(0xFF,0xFF,0xFF);
|
||||
pRspCETdRecord->m_recPtArea.SetRectEmpty();
|
||||
|
||||
pRspCETdRecord->m_fDepth = this->m_pMedium->CalculateDepth(pRspCETdRecord->m_fA);
|
||||
|
||||
if ((((float)VAL_ZERO == this->m_fMaxR0) || (pRspCETdRecord->m_fR0 > this->m_fMaxR0)) && ((float)VAL_ZERO != pRspCETdRecord->m_fR0))
|
||||
{
|
||||
this->m_fMaxR0 = pRspCETdRecord->m_fR0;
|
||||
}
|
||||
|
||||
if ((((float)VAL_ZERO == this->m_fMinR0) || (pRspCETdRecord->m_fR0 < this->m_fMinR0)) && ((float)VAL_ZERO != pRspCETdRecord->m_fR0))
|
||||
{
|
||||
this->m_fMinR0 = pRspCETdRecord->m_fR0;
|
||||
}
|
||||
|
||||
if ((((float)VAL_ZERO == this->m_fMaxDepth) || (pRspCETdRecord->m_fDepth > this->m_fMaxDepth)) && ((float)VAL_ZERO != pRspCETdRecord->m_fDepth))
|
||||
{
|
||||
this->m_fMaxDepth = pRspCETdRecord->m_fDepth;
|
||||
}
|
||||
|
||||
// pRspCETdRecord->m_iLevel = this->m_pMedium->GenSptRecLevel(pRsp2DTdRecord->m_iC1, pRsp2DTdRecord->m_iC2, pRsp2DTdRecord->m_iP1, pRsp2DTdRecord->m_iP2);
|
||||
// pRspCETdRecord->m_iPosInLevel = this->m_pMedium->GenSptRecPosInLevel(pRsp2DTdRecord->m_iC1, pRsp2DTdRecord->m_iC2, pRsp2DTdRecord->m_iP1, pRsp2DTdRecord->m_iP2);
|
||||
|
||||
this->m_tdRecArray.Add((void*)pRspCETdRecord);
|
||||
}
|
||||
pRecTdCon->MoveNext();
|
||||
}
|
||||
pRecTdCon->Close();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL CTdChannel::LoadIpsp3DTdData()
|
||||
{
|
||||
CIpsp3DTdRecord* pIpsp3DTdRecord = NULL;
|
||||
_RecordsetPtr pRecTdCon;
|
||||
|
||||
CString szSql = _T("");
|
||||
int iTdRecIndex = (int)VAL_ZERO;
|
||||
|
||||
if ((int)VAL_ZERO == this->m_tdRecArray.GetSize())
|
||||
{
|
||||
pRecTdCon.CreateInstance(_uuidof(Recordset));
|
||||
|
||||
szSql.Empty();
|
||||
szSql.Format(_T("select TSN,C1,C2,P1,P2,N,K,I,V,R0,SP,bUse from td3dcon where TCHID = %u"), this->m_dwID);
|
||||
pRecTdCon->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
||||
|
||||
this->m_tdRecArray.RemoveAll();
|
||||
while ((short)VAL_ZERO == pRecTdCon->adoEOF)
|
||||
{
|
||||
if (pRecTdCon->GetCollect(_T("bUse")).boolVal != 0)//0为access数据库中的false
|
||||
{
|
||||
pIpsp3DTdRecord = new CIpsp3DTdRecord(this->m_dwID, this->m_pConnection);
|
||||
pIpsp3DTdRecord->m_iTsn = (int)pRecTdCon->GetCollect(_T("TSN")).lVal;
|
||||
pIpsp3DTdRecord->m_iC1 = (int)pRecTdCon->GetCollect(_T("C1")).iVal;
|
||||
pIpsp3DTdRecord->m_iC2 = (int)pRecTdCon->GetCollect(_T("C2")).iVal;
|
||||
pIpsp3DTdRecord->m_iP1 = (int)pRecTdCon->GetCollect(_T("P1")).iVal;
|
||||
pIpsp3DTdRecord->m_iP2 = (int)pRecTdCon->GetCollect(_T("P2")).iVal;
|
||||
pIpsp3DTdRecord->m_fK = (float)pRecTdCon->GetCollect(_T("K")).fltVal;
|
||||
pIpsp3DTdRecord->m_iN = (int)pRecTdCon->GetCollect(_T("N")).iVal;
|
||||
pIpsp3DTdRecord->m_fR0 = (float)pRecTdCon->GetCollect(_T("R0")).fltVal;
|
||||
pIpsp3DTdRecord->m_fI = (float)pRecTdCon->GetCollect(_T("I")).fltVal;
|
||||
pIpsp3DTdRecord->m_fV = (float)pRecTdCon->GetCollect(_T("V")).fltVal;
|
||||
pIpsp3DTdRecord->m_fSP = (float)pRecTdCon->GetCollect(_T("SP")).fltVal;
|
||||
|
||||
pIpsp3DTdRecord->m_colorREF = RGB(0xFF,0xFF,0xFF);
|
||||
pIpsp3DTdRecord->m_recPtArea.SetRectEmpty();
|
||||
|
||||
pIpsp3DTdRecord->m_iLevel = this->m_pMedium->GenSptRecLevel(pIpsp3DTdRecord->m_iC1, pIpsp3DTdRecord->m_iC2, pIpsp3DTdRecord->m_iP1, pIpsp3DTdRecord->m_iP2);
|
||||
pIpsp3DTdRecord->m_iPosInLevel = this->m_pMedium->GenSptRecPosInLevel(pIpsp3DTdRecord->m_iC1, pIpsp3DTdRecord->m_iC2, pIpsp3DTdRecord->m_iP1, pIpsp3DTdRecord->m_iP2);
|
||||
|
||||
this->m_tdRecArray.Add((void*)pIpsp3DTdRecord);
|
||||
}
|
||||
pRecTdCon->MoveNext();
|
||||
}
|
||||
pRecTdCon->Close();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL CTdChannel::LoadIpsp2DTdData()
|
||||
{
|
||||
CIpsp2DTdRecord* pIpsp2DTdRecord = NULL;
|
||||
_RecordsetPtr pRecTdCon;
|
||||
|
||||
CString szSql = _T("");
|
||||
int iTdRecIndex = (int)VAL_ZERO;
|
||||
|
||||
if ((int)VAL_ZERO == this->m_tdRecArray.GetSize())
|
||||
{
|
||||
pRecTdCon.CreateInstance(_uuidof(Recordset));
|
||||
|
||||
szSql.Empty();
|
||||
szSql.Format(_T("select TSN,C1,C2,P1,P2,N,K,I,V,R0,SP,bUse from td2dcon where TCHID = %u"), this->m_dwID);
|
||||
pRecTdCon->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
||||
|
||||
this->m_tdRecArray.RemoveAll();
|
||||
while ((short)VAL_ZERO == pRecTdCon->adoEOF)
|
||||
{
|
||||
if (pRecTdCon->GetCollect(_T("bUse")).boolVal != 0)//0为access数据库中的false
|
||||
{
|
||||
pIpsp2DTdRecord = new CIpsp2DTdRecord(this->m_dwID, this->m_pConnection);
|
||||
pIpsp2DTdRecord->m_iTsn = (int)pRecTdCon->GetCollect(_T("TSN")).lVal;
|
||||
pIpsp2DTdRecord->m_iC1 = (int)pRecTdCon->GetCollect(_T("C1")).iVal;
|
||||
pIpsp2DTdRecord->m_iC2 = (int)pRecTdCon->GetCollect(_T("C2")).iVal;
|
||||
pIpsp2DTdRecord->m_iP1 = (int)pRecTdCon->GetCollect(_T("P1")).iVal;
|
||||
pIpsp2DTdRecord->m_iP2 = (int)pRecTdCon->GetCollect(_T("P2")).iVal;
|
||||
pIpsp2DTdRecord->m_fK = (float)pRecTdCon->GetCollect(_T("K")).fltVal;
|
||||
pIpsp2DTdRecord->m_iN = (int)pRecTdCon->GetCollect(_T("N")).iVal;
|
||||
pIpsp2DTdRecord->m_fR0 = (float)pRecTdCon->GetCollect(_T("R0")).fltVal;
|
||||
pIpsp2DTdRecord->m_fI = (float)pRecTdCon->GetCollect(_T("I")).fltVal;
|
||||
pIpsp2DTdRecord->m_fV = (float)pRecTdCon->GetCollect(_T("V")).fltVal;
|
||||
pIpsp2DTdRecord->m_fSP = (float)pRecTdCon->GetCollect(_T("SP")).fltVal;
|
||||
|
||||
pIpsp2DTdRecord->m_colorREF = RGB(0xFF,0xFF,0xFF);
|
||||
pIpsp2DTdRecord->m_recPtArea.SetRectEmpty();
|
||||
|
||||
pIpsp2DTdRecord->m_iLevel = this->m_pMedium->GenSptRecLevel(pIpsp2DTdRecord->m_iC1, pIpsp2DTdRecord->m_iC2, pIpsp2DTdRecord->m_iP1, pIpsp2DTdRecord->m_iP2);
|
||||
pIpsp2DTdRecord->m_iPosInLevel = this->m_pMedium->GenSptRecPosInLevel(pIpsp2DTdRecord->m_iC1, pIpsp2DTdRecord->m_iC2, pIpsp2DTdRecord->m_iP1, pIpsp2DTdRecord->m_iP2);
|
||||
|
||||
this->m_tdRecArray.Add((void*)pIpsp2DTdRecord);
|
||||
}
|
||||
pRecTdCon->MoveNext();
|
||||
}
|
||||
pRecTdCon->Close();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL CTdChannel::LoadIpspCETdData()
|
||||
{
|
||||
CIpspCETdRecord* pIpspCETdRecord = NULL;
|
||||
_RecordsetPtr pRecTdCon;
|
||||
|
||||
CString szSql = _T("");
|
||||
int iTdRecIndex = (int)VAL_ZERO;
|
||||
|
||||
if ((int)VAL_ZERO == this->m_tdRecArray.GetSize())
|
||||
{
|
||||
pRecTdCon.CreateInstance(_uuidof(Recordset));
|
||||
|
||||
szSql.Empty();
|
||||
szSql.Format(_T("select TSN,a,b,x,y,N,K,I,V,R0,SP,bUse from td1dcon where TCHID = %u"), this->m_dwID);
|
||||
pRecTdCon->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
||||
|
||||
this->m_tdRecArray.RemoveAll();
|
||||
while ((short)VAL_ZERO == pRecTdCon->adoEOF)
|
||||
{
|
||||
if (pRecTdCon->GetCollect(_T("bUse")).boolVal != 0)//0为access数据库中的false
|
||||
{
|
||||
pIpspCETdRecord = new CIpspCETdRecord(this->m_dwID, this->m_pConnection);
|
||||
pIpspCETdRecord->m_iTsn = (int)pRecTdCon->GetCollect(_T("TSN")).lVal;
|
||||
pIpspCETdRecord->m_fA = (float)pRecTdCon->GetCollect(_T("a")).fltVal;
|
||||
pIpspCETdRecord->m_fB = (float)pRecTdCon->GetCollect(_T("b")).fltVal;
|
||||
pIpspCETdRecord->m_fX = (float)pRecTdCon->GetCollect(_T("x")).fltVal;
|
||||
pIpspCETdRecord->m_fY = (float)pRecTdCon->GetCollect(_T("y")).fltVal;
|
||||
pIpspCETdRecord->m_fK = (float)pRecTdCon->GetCollect(_T("K")).fltVal;
|
||||
pIpspCETdRecord->m_iN = (int)pRecTdCon->GetCollect(_T("N")).iVal;
|
||||
pIpspCETdRecord->m_fR0 = (float)pRecTdCon->GetCollect(_T("R0")).fltVal;
|
||||
pIpspCETdRecord->m_fI = (float)pRecTdCon->GetCollect(_T("I")).fltVal;
|
||||
pIpspCETdRecord->m_fV = (float)pRecTdCon->GetCollect(_T("V")).fltVal;
|
||||
pIpspCETdRecord->m_fSP = (float)pRecTdCon->GetCollect(_T("SP")).fltVal;
|
||||
|
||||
pIpspCETdRecord->m_colorREF = RGB(0xFF,0xFF,0xFF);
|
||||
pIpspCETdRecord->m_recPtArea.SetRectEmpty();
|
||||
|
||||
pIpspCETdRecord->m_fDepth = this->m_pMedium->CalculateDepth(pIpspCETdRecord->m_fA);
|
||||
|
||||
if ((((float)VAL_ZERO == this->m_fMaxR0) || (pIpspCETdRecord->m_fR0 > this->m_fMaxR0)) && ((float)VAL_ZERO != pIpspCETdRecord->m_fR0))
|
||||
{
|
||||
this->m_fMaxR0 = pIpspCETdRecord->m_fR0;
|
||||
}
|
||||
|
||||
if ((((float)VAL_ZERO == this->m_fMinR0) || (pIpspCETdRecord->m_fR0 < this->m_fMinR0)) && ((float)VAL_ZERO != pIpspCETdRecord->m_fR0))
|
||||
{
|
||||
this->m_fMinR0 = pIpspCETdRecord->m_fR0;
|
||||
}
|
||||
|
||||
if ((((float)VAL_ZERO == this->m_fMaxDepth) || (pIpspCETdRecord->m_fDepth > this->m_fMaxDepth)) && ((float)VAL_ZERO != pIpspCETdRecord->m_fDepth))
|
||||
{
|
||||
this->m_fMaxDepth = pIpspCETdRecord->m_fDepth;
|
||||
}
|
||||
|
||||
// pRspCETdRecord->m_iLevel = this->m_pMedium->GenSptRecLevel(pRsp2DTdRecord->m_iC1, pRsp2DTdRecord->m_iC2, pRsp2DTdRecord->m_iP1, pRsp2DTdRecord->m_iP2);
|
||||
// pRspCETdRecord->m_iPosInLevel = this->m_pMedium->GenSptRecPosInLevel(pRsp2DTdRecord->m_iC1, pRsp2DTdRecord->m_iC2, pRsp2DTdRecord->m_iP1, pRsp2DTdRecord->m_iP2);
|
||||
|
||||
this->m_tdRecArray.Add((void*)pIpspCETdRecord);
|
||||
}
|
||||
pRecTdCon->MoveNext();
|
||||
}
|
||||
pRecTdCon->Close();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL CTdChannel::LoadCEScriptFromDB()
|
||||
{
|
||||
_RecordsetPtr pRecCh = NULL;
|
||||
_RecordsetPtr pRecSptCE = NULL;
|
||||
|
||||
CString szSql = _T("");
|
||||
|
||||
CRspCETdRecord* pRspCETdRecord = NULL;
|
||||
|
||||
DWORD dwChID = (DWORD)VAL_ZERO;
|
||||
|
||||
pRecCh.CreateInstance(_uuidof(Recordset));
|
||||
|
||||
szSql.Empty();
|
||||
szSql.Format(_T("select ID from channel where SCID = %u and CHnumber = %d"), m_dwScID, m_iChNum);
|
||||
pRecCh->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
||||
|
||||
if ((long)VAL_ZERO != pRecCh->GetRecordCount())
|
||||
{
|
||||
dwChID = (DWORD)pRecCh->GetCollect(_T("ID")).ulVal;
|
||||
}
|
||||
pRecCh->Close();
|
||||
|
||||
pRecSptCE.CreateInstance(_uuidof(Recordset));
|
||||
szSql.Empty();
|
||||
szSql.Format(_T("select TSN,a,b,x,y,K,N from Script1d where CHID = %u order by TSN"), dwChID);
|
||||
|
||||
pRecSptCE->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
||||
|
||||
this->m_tdRecArray.RemoveAll();
|
||||
while ((short)VAL_ZERO == pRecSptCE->adoEOF)
|
||||
{
|
||||
pRspCETdRecord = new CRspCETdRecord(this->m_dwID, this->m_pConnection);
|
||||
pRspCETdRecord->m_iTsn = (int)pRecSptCE->GetCollect(_T("TSN")).lVal;
|
||||
pRspCETdRecord->m_fA = (float)pRecSptCE->GetCollect(_T("a")).fltVal;
|
||||
pRspCETdRecord->m_fB = (float)pRecSptCE->GetCollect(_T("b")).fltVal;
|
||||
pRspCETdRecord->m_fX = (float)pRecSptCE->GetCollect(_T("x")).fltVal;
|
||||
pRspCETdRecord->m_fY = (float)pRecSptCE->GetCollect(_T("y")).fltVal;
|
||||
pRspCETdRecord->m_fK = (float)pRecSptCE->GetCollect(_T("K")).fltVal;
|
||||
pRspCETdRecord->m_iN = (int)pRecSptCE->GetCollect(_T("N")).iVal;
|
||||
pRspCETdRecord->m_fR0 = (float)VAL_ZERO;
|
||||
pRspCETdRecord->m_fI = (float)VAL_ZERO;
|
||||
pRspCETdRecord->m_fV = (float)VAL_ZERO;
|
||||
pRspCETdRecord->m_colorREF = RGB(0xFF, 0xFF, 0xFF);
|
||||
pRspCETdRecord->m_recPtArea.SetRectEmpty();
|
||||
pRspCETdRecord->m_fDepth = ((CMediumQ*)this->m_pMedium)->CalculateDepth(pRspCETdRecord->m_fA, this->m_fDepthFactor);
|
||||
// pRspCETdRecord->m_fLevel
|
||||
|
||||
// pRspCETdRecord->m_iLevel = this->m_pMedium->GenSptRecLevel(pRspCETdRecord->m_iC1, pRspCETdRecord->m_iC2, pRspCETdRecord->m_iP1, pRspCETdRecord->m_iP2);
|
||||
// pRspCETdRecord->m_iPosInLevel = this->m_pMedium->GenSptRecPosInLevel(pRspCETdRecord->m_iC1, pRsp2DTdRecord->m_iC2, pRsp2DTdRecord->m_iP1, pRsp2DTdRecord->m_iP2);
|
||||
this->m_tdRecArray.Add((void*)pRspCETdRecord);
|
||||
pRecSptCE->MoveNext();
|
||||
}
|
||||
pRecSptCE->Close();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void CTdChannel::SetColorToTd()
|
||||
{
|
||||
int iIndex = (int)VAL_ZERO;
|
||||
CRsp2DTdRecord* pRsp2DTdRecord = NULL;
|
||||
|
||||
// this->m_fMaxR0 = 0.0;
|
||||
// this->m_fMinR0 = 0.0;
|
||||
|
||||
while (iIndex < m_tdRecArray.GetSize())
|
||||
{
|
||||
pRsp2DTdRecord = NULL;
|
||||
pRsp2DTdRecord = (CRsp2DTdRecord*)m_tdRecArray.GetAt(iIndex);
|
||||
|
||||
SetColorToTdRec(pRsp2DTdRecord);
|
||||
iIndex++;
|
||||
}
|
||||
}
|
||||
|
||||
CTdRecord* CTdChannel::GetTdRecord(int iTSN)
|
||||
{
|
||||
CTdRecord* pTdRecord = NULL;
|
||||
int iIndex = (int)VAL_ZERO;
|
||||
|
||||
if ((int)VAL_ZERO != this->m_tdRecArray.GetSize())
|
||||
{
|
||||
do
|
||||
{
|
||||
pTdRecord = (CTdRecord*)this->m_tdRecArray.GetAt(iIndex);
|
||||
|
||||
if ((this->m_dwID == pTdRecord->m_dwChID) && (pTdRecord->m_iTsn == iTSN))
|
||||
{
|
||||
return pTdRecord;
|
||||
}
|
||||
|
||||
iIndex++;
|
||||
} while (iIndex <= this->m_tdRecArray.GetUpperBound());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
Reference in New Issue
Block a user