Пример #1
0
/**
	@brief	

	@author	BHK
*/
int COutputWnd::AppendLogMsg(const string& rLog)
{
	if(m_wndOutputLog.GetSafeHwnd())
	{
		vector<string> oResult;
		CTokenizer<CIsFromString>::Tokenize(oResult , rLog , CIsFromString("\n"));
		
		for(vector<string>::iterator itr = oResult.begin();itr != oResult.end();++itr)
		{
			m_wndOutputLog.InsertString(m_wndOutputLog.GetCount() , itr->c_str());
		}
		return ERROR_SUCCESS;
	}

	return ERROR_BAD_ENVIRONMENT;
}
Пример #2
0
/**	
	@brief	The AcisConeSurf::Parse function
	@author	humkyung
	@param	psz	a parameter of type const char*
	@return	bool	
*/
bool AcisConeSurf::Parse(AcisDoc* pDoc,const TCHAR* psz)
{
	assert(pDoc && psz && "pDoc or psz is NULL");
	bool bRet=false;

	if((NULL != pDoc) && (NULL != psz))
	{
		vector<STRING_T> oResult;
		CTokenizer<CIsFromString>::Tokenize(oResult,psz,CIsFromString(_T(" \t")));
		if(700 == pDoc->GetVer())
		{ /// ACAD 2004 , ACAD 2005
			m_ptOrigin.SetX(ATOF_T(oResult[4].c_str()));
			m_ptOrigin.SetY(ATOF_T(oResult[5].c_str()));
			m_ptOrigin.SetZ(ATOF_T(oResult[6].c_str()));
			m_vecAxis.dx() = ATOF_T(oResult[7].c_str());
			m_vecAxis.dy() = ATOF_T(oResult[8].c_str());
			m_vecAxis.dz() = ATOF_T(oResult[9].c_str());
			m_vecStart.dx() = ATOF_T(oResult[10].c_str());
			m_vecStart.dy() = ATOF_T(oResult[11].c_str());
			m_vecStart.dz() = ATOF_T(oResult[12].c_str());
			m_dDelta = ATOF_T(oResult[13].c_str()); /// 1 == straight , others not
			m_varRatio.a = ATOF_T(oResult[16].c_str());
			m_varRatio.b = ATOF_T(oResult[17].c_str());
			m_dRadius = ATOF_T(oResult[18].c_str());
		}
		else
		{
			m_ptOrigin.SetX(ATOF_T(oResult[2].c_str()));
			m_ptOrigin.SetY(ATOF_T(oResult[3].c_str()));
			m_ptOrigin.SetZ(ATOF_T(oResult[4].c_str()));
			m_vecAxis.dx() = ATOF_T(oResult[5].c_str());
			m_vecAxis.dy() = ATOF_T(oResult[6].c_str());
			m_vecAxis.dz() = ATOF_T(oResult[7].c_str());
			m_vecStart.dx() = ATOF_T(oResult[8].c_str());
			m_vecStart.dy() = ATOF_T(oResult[9].c_str());
			m_vecStart.dz() = ATOF_T(oResult[10].c_str());
			m_dDelta = ATOF_T(oResult[11].c_str()); /// 1 == straight , others not
			m_varRatio.a = ATOF_T(oResult[14].c_str());
			m_varRatio.b = ATOF_T(oResult[15].c_str());
			m_dRadius = ATOF_T(oResult[16].c_str());
		}
		bRet = true;
	}

	return bRet;
}
Пример #3
0
/**	
	@brief	The AcisTorusSurf::Parse function
	@author	humkyung
	@param	psz	a parameter of type const char*
	@return	bool	
*/
bool AcisTorusSurf::Parse(AcisDoc* pDoc,const TCHAR* psz)
{
	assert(pDoc && psz && "pDoc or psz is NULL");
	bool bRet=false;

	if((NULL != pDoc) && (NULL != psz))
	{
		vector<STRING_T> oResult;
		CTokenizer<CIsFromString>::Tokenize(oResult,psz,CIsFromString(_T(" \t")));
		if(700 == pDoc->GetVer())
		{ /// ACAD 2004 , ACAD 2005
			m_ptOrigin.SetX(ATOF_T(oResult[4].c_str()));
			m_ptOrigin.SetY(ATOF_T(oResult[5].c_str()));
			m_ptOrigin.SetZ(ATOF_T(oResult[6].c_str()));
			m_vecNorm.dx()=ATOF_T(oResult[7].c_str());
			m_vecNorm.dy()=ATOF_T(oResult[8].c_str());
			m_vecNorm.dz()=ATOF_T(oResult[9].c_str());
			m_dTorusRadius = ATOF_T(oResult[10].c_str());
			m_dTubeRadius = ATOF_T(oResult[11].c_str());
			m_vecStart.dx()=ATOF_T(oResult[12].c_str());
			m_vecStart.dy()=ATOF_T(oResult[13].c_str());
			m_vecStart.dz()=ATOF_T(oResult[14].c_str());
			if(m_dTubeRadius < 0.) m_bReversed = !m_bReversed;
		}
		else
		{
			m_ptOrigin.SetX(ATOF_T(oResult[2].c_str()));
			m_ptOrigin.SetY(ATOF_T(oResult[3].c_str()));
			m_ptOrigin.SetZ(ATOF_T(oResult[4].c_str()));
			m_vecNorm.dx() = ATOF_T(oResult[5].c_str());
			m_vecNorm.dy() = ATOF_T(oResult[6].c_str());
			m_vecNorm.dz() = ATOF_T(oResult[7].c_str());
			m_dTorusRadius = ATOF_T(oResult[8].c_str());
			m_dTubeRadius = ATOF_T(oResult[9].c_str());
			m_vecStart.dx()=ATOF_T(oResult[10].c_str());
			m_vecStart.dy()=ATOF_T(oResult[11].c_str());
			m_vecStart.dz()=ATOF_T(oResult[12].c_str());
			if(m_dTubeRadius < 0.) m_bReversed = !m_bReversed;
		}

		bRet = true;
	}

	return bRet;
}
Пример #4
0
BOOL CDataResultDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	CELoadDocData& docData = CELoadDocData::GetInstance();

	//! Button Setting
	const COLORREF TextHotColor = docData.GetColorCode(_T("TEXT_HOT_COLOR"));
	m_wndOkButton.SetTextHotColor(TextHotColor);
	m_wndOkButton.SetIcon(IDI_OK_18X18);

	const COLORREF GroupBoxTextColor = RGB(0,70,213);
	m_wndResultGroupStatic.SetTextColor(GroupBoxTextColor, FALSE);
	
	m_wnd5Static.SetFontBold(TRUE);
	m_wnd6Static.SetFontBold(TRUE);
	m_wnd7Static.SetFontBold(TRUE);
	m_wnd4Static.SetFontBold(TRUE);
	
	vector<string> oResult;
	CTokenizer<CIsFromString>::Tokenize(oResult, m_rMsg.operator LPCSTR(), CIsFromString("|"));
	if(7 == oResult.size())
	{
		m_wnd1Static.SetWindowText(oResult[0].c_str());
		m_wnd2Static.SetWindowText(oResult[2].c_str());
		m_wnd3Static.SetWindowText(oResult[4].c_str());
		m_wnd4Static.SetWindowText(oResult[6].c_str());

		m_wnd5Static.SetWindowText(oResult[1].c_str());
		m_wnd6Static.SetWindowText(oResult[3].c_str());
		m_wnd7Static.SetWindowText(oResult[5].c_str());
	}

	return TRUE;  // return TRUE unless you set the focus to a control
	// EXCEPTION: OCX Property Pages should return FALSE
}
Пример #5
0
/**	
	@brief	The AcisVertex::Parse function
	@author	humkyung
	@param	psz	a parameter of type const char*
	@return	bool	
*/
bool AcisVertex::Parse(AcisDoc* pDoc,const TCHAR* psz)
{
	assert(pDoc && psz && "pDoc or psz is NULL");
	bool bRet=false;

	if((NULL != pDoc) && (NULL != psz))
	{
		vector<STRING_T> oResult;
		CTokenizer<CIsFromString>::Tokenize(oResult,psz,CIsFromString(_T(" \t")));
		if(700 == pDoc->GetVer())
		{ /// ACAD 2004 , ACAD 2005
			m_nPointIndex = ATOI_T(oResult[5].c_str() + 1);
		}
		else
		{
			m_nEdgeIndex = ATOI_T(oResult[2].c_str() + 1);
			m_nPointIndex = ATOI_T(oResult[3].c_str() + 1);
		}

		bRet = true;
	}

	return bRet;
}
Пример #6
0
/**
	@brief	

	@author BHK	

	@date 2009-05-07 오후 1:30:35	

	@param	

	@return		
*/
BOOL CCableSizingResultDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
	/*if (!CDocument::OnOpenDocument(lpszPathName))
	return FALSE;*/
	const CString rParam(CString(lpszPathName).MakeUpper());

	if((_T("CREATE AUTO POWER CABLE") == rParam) || (_T("SHOW AUTO POWER CABLE") == rParam))
	{
		CELoadDocData& docData = CELoadDocData::GetInstance();
		m_rFolderPath = docData.GetProjectFolderPath().c_str() + CString(_T("Cable Sizing Result\\"));

		CreateFolderIfNeed();
		WriteCableSizeDataToTextFile();
	}
	else if(0 == rParam.Find(_T("REV CABLE SIZING RESULT")))
	{
		vector<string> oResult;
		CTokenizer<CIsFromString>::Tokenize(oResult , rParam.operator LPCSTR() , CIsFromString("|"));
		if(2 == oResult.size())
		{
			const string rRevNo= oResult[1];

			CELoadDocData& docData = CELoadDocData::GetInstance();
			const string rMDBFilePath = docData.GetProjectMDBFilePath();

			CADODB adoDB;
			const STRING_T rConnectionString = STRING_T(PROVIDER) + _T("Data Source=") + rMDBFilePath + DB_PASSWORD;
			if(TRUE == adoDB.DBConnect(rConnectionString))
			{
				const CString rFormat(_T("SELECT * FROM T_PRODUCT_REVISION WHERE C_PRODUCT_NAME = 'Auto Power Cable' AND C_REVISION_NO = %s"));

				CString rSQL;
				rSQL.Format(rFormat , rRevNo.c_str());

				adoDB.OpenQuery(rSQL.operator LPCTSTR());
				LONG lRecordCount = 0L;
				adoDB.GetRecordCount(&lRecordCount);
				if(1 == lRecordCount)
				{
					STRING_T strValue;
					adoDB.GetFieldValue(0 , _T("C_REVISION_NO") , &strValue);
					char *pData = NULL;
					long lSize = 0L;
					adoDB.GetFieldSize(0 , _T("C_DATA") , lSize);
					if(pData = (char*)calloc(1 , sizeof(char)*lSize))
					{
						LPSECURITY_ATTRIBUTES attr;
						attr = NULL;

						const CString rRevPath = CCompareRevisionDataDoc::GetRevPath(_T("Auto Power Cable") , strValue.c_str());
						CreateFolderIfNeed(rRevPath.operator LPCSTR());

						adoDB.GetBinaryValue(0 , _T("C_DATA") , (LPVOID)pData , lSize);
						CFile f(rRevPath + _T("\\REV.ZIP") , CFile::modeCreate|CFile:: modeReadWrite);
						f.Write(pData , lSize);
						f.Close();

						CCompareRevisionDataDoc::UncompressRevFile(rRevPath + _T("\\REV.ZIP") , rRevPath);
						m_rFolderPath = rRevPath + _T("\\");
					}

					if(pData)
					{
						free((void*)pData);
						pData = NULL;
					}
				}
			}
			else
			{
				AfxMessageBox(_T("Fail to connect database"));
			}
		}
	}

	return TRUE;
}