Exemplo n.º 1
0
void cGraph::LoadFromDB()
{
	myGraph.clear();

	int row_count = theDB.Query(L"SELECT * FROM vertex;");

	vertex_iter_t vi;
	for( int k = 0; k < row_count; k++ ) {
		boost::add_vertex(  myGraph );
		vi = boost::vertices( myGraph ).second - 1;
		myGraph[*vi].myName = theDB.myResult[k*5+1];
		myGraph[*vi].myFixedLocation = _wtoi(theDB.myResult[k*5+4].c_str()) != 0;
		//if( myGraph[*vi].myFixedLocation ) {
			myGraph[*vi].myPoint[0] = _wtof(theDB.myResult[k*5+2].c_str());
			myGraph[*vi].myPoint[1] = _wtof(theDB.myResult[k*5+3].c_str());
		//}
	}

	row_count = theDB.Query(L"SELECT * FROM edge;");

	for( int k = 0; k < row_count; k++ ) {
		int a,b;
		a = _wtoi( theDB.myResult[k*3+1].c_str());
		b = _wtoi( theDB.myResult[k*3+2].c_str());
		boost::add_edge( a, b, myGraph );
	}
}
Exemplo n.º 2
0
void CReflectSettingDlg::OnBnClickedOk()
{
	CString szTemp;
	m_edtStartAlpha.GetWindowTextW(szTemp);
	m_fStartAlpha = _wtof(szTemp);

	if(m_fStartAlpha < 0.0f || m_fStartAlpha > 1.0f)
	{
		MessageBox(_T("Starting transparency is lesser than 0.0 or greater than 1.0"), _T("Error"), MB_OK);
		return;
	}

	m_edtEndAlpha.GetWindowTextW(szTemp);
	m_fEndAlpha = _wtof(szTemp);

	if(m_fEndAlpha < 0.0f || m_fEndAlpha > 1.0f)
	{
		MessageBox(_T("Ending transparency is lesser than 0.0 or greater than 1.0"), _T("Error"), MB_OK);
		return;
	}

	m_edtShown.GetWindowTextW(szTemp);
	m_fShown = _wtof(szTemp);

	if(m_fShown < 0.0f || m_fShown > 1.0f)
	{
		MessageBox(_T("Image shown is lesser than 0.0 or greater than 1.0"), _T("Error"), MB_OK);
		return;
	}

	m_edtGap.GetWindowTextW(szTemp);
	m_nGap = _wtoi(szTemp);

	CDialog::OnOK();
}
Exemplo n.º 3
0
CStubCreature* CMapFileIO::LoadPlayer(XML_MANAGER_HANDLE xml, XML_NODE_HANDLE hPlrNode) const
{
	CStubCreature *pPlr = 0;
	XML_NODE_HANDLE sub = RetrieveNode(xml, hPlrNode, L"position");
	if(!sub)
		return 0;
	LPWSTR xt = GetNodeAttr(xml, sub, L"x");
	if(!xt)
		return 0;
	LPWSTR yt = GetNodeAttr(xml, sub, L"y");
	if(!yt)
		return 0;
	LPWSTR zt = GetNodeAttr(xml, sub, L"z");
	if(!zt)
		return 0;
	float x = (float)_wtof(xt);
	float y = (float)_wtof(yt);
	float z = (float)_wtof(zt);
	D3DXVECTOR3 pos = D3DXVECTOR3(x, y, z);

	//deleted at LoadMap
	pPlr = new CStubCreature(0, 0, 0, 0, 0, pos, L"player", 0);

	ReleaseNode(sub);
	ReleaseTextString(xt);
	ReleaseTextString(yt);
	ReleaseTextString(zt);

	return pPlr;
}
//销毁编辑框//
void CNewConfigGraChiDlg::distroyEdit(CListCtrl *list, CEdit* distroyedit, int &Item, int &SubItem)
{
    CString strEditData;
    float tempfloat;
    int nTempData;
    distroyedit->GetWindowText(strEditData);
    strEditData = strEditData.Trim();
    if (strEditData.IsEmpty())             //如果输入为空,则销毁编辑框//
    {
        distroyedit->DestroyWindow();
        m_vectList2[Item].m_fSetValue = -3001;
        list->SetItemText(Item, 3, _T(""));
        return;
    }
    if (m_vectList2[Item].m_ValueType == 0 && (strEditData != _T("0") && strEditData != _T("1")))
    {
        AfxMessageBox(_T("非法操作,该参数值只能为“0”或“1”!"));
        distroyedit->DestroyWindow();                          //销毁对象//
        return;
    }
    if (strEditData == strEditData.SpanIncluding(_T("0123456789.")))
    {
        switch (m_vectList2[Item].m_ValueType)
        {
        case 0:
            if (strEditData==_T("0"))
            {
                m_vectList2[Item].m_fSetValue = 0;
                list->SetItemText(Item, 3, _T("0"));
            }
            else
            {
                m_vectList2[Item].m_fSetValue = 1;
                list->SetItemText(Item, 3, _T("1"));
            }
            break;
        case 1:
        case 2:
        case 3:
            nTempData = (float)_wtof(strEditData);
            m_vectList2[Item].m_fSetValue = nTempData;    //将修改后的值存入容器//
            strEditData.Format(_T("%d"), nTempData);
            list->SetItemText(Item, 3, strEditData);      //将修改写入列表框//
            break;
        case 4:
        case 5:
            tempfloat = (float)_wtof(strEditData);
            strEditData.Format(_T("%.2f"), tempfloat);
            list->SetItemText(Item, 3, strEditData);      //将修改写入列表框//
            m_vectList2[Item].m_fSetValue = tempfloat;    //将修改后的值存入容器//
            break;
        default:
            break;
        }
    }
    else
        AfxMessageBox(_T("非法操作,请输入数字!"));
    distroyedit->DestroyWindow();                          //销毁对象//
}
Exemplo n.º 5
0
ICreature* CMapFileIO::LoadCreature(XML_MANAGER_HANDLE xml, XML_NODE_HANDLE hCreNode) const
{
	ICreature* pCrt = 0;
	CSampleMobAnimator* pMa = 0;

	LPWSTR type = GetNodeAttr(xml, hCreNode, L"type");
	if(!type)
		return 0;
	LPWSTR name = GetNodeAttr(xml, hCreNode, L"name");
	if(!name)
		return 0;
	LPWSTR src = GetNodeAttr(xml, hCreNode, L"source");
	if(!src)
		return 0;

	//deleted at LittleMap.cpp
	pCrt = CCreatureManager::GetInstance().CreateCreature(type, name, src);
	_ASSERT( pCrt!=NULL );
	if( !pCrt )
		return NULL;

	//deleted at Creature's destructor
	pMa = CCreatureManager::GetInstance().CreateAnimator(type, name, src);
	pCrt->SetAnimatorRef(pMa);
	pCrt->SetName(name);

	//position
	XML_NODE_HANDLE sub = RetrieveNode(xml, hCreNode, L"Location");
	if(!sub)
		return 0;
	XML_NODE_HANDLE sub1 = RetrieveNode(xml, sub, L"position");
	LPWSTR xt = GetNodeAttr(xml, sub1, L"x");
	if(!xt)
		return 0;
	LPWSTR yt = GetNodeAttr(xml, sub1, L"y");
	if(!yt)
		return 0;
	LPWSTR zt = GetNodeAttr(xml, sub1, L"z");
	if(!zt)
		return 0;
	float x = (float)_wtof(xt);
	float y = (float)_wtof(yt);
	float z = (float)_wtof(zt);
	D3DXVECTOR3 pos = D3DXVECTOR3(x, y, z);

	pCrt->SetPosition(pos);

	ReleaseNode(sub);
	ReleaseNode(sub1);
	ReleaseTextString(name);
	ReleaseTextString(type);
	ReleaseTextString(src);
	ReleaseTextString(xt);
	ReleaseTextString(yt);
	ReleaseTextString(zt);

	return pCrt;
}
int CSDMdlMachFeaMinSizeCheck::CheckAction(void *pData, const CheckRule &checkRule, CheckResult &checkResult) 
{
	ProMdl pMdl = (ProMdl)pData;
	if (NULL == pMdl)
	{
		checkResult.nResultType = CHECK_RESULT_INVALID_MODEL;
		return checkResult.nResultType;
	}

	if (!IsMdlTypeValid(pMdl, checkRule.dwMdlFilter))
	{
		checkResult.nResultType = CHECK_RESULT_INVALID_MODEL;
		return checkResult.nResultType;
	}

	// 检查输入值有效性
	if (checkRule.arrRuleContent.GetCount() < 1 || _wtof(checkRule.arrRuleContent[0]) <= 0 || 
		DEQUAL(_wtof(checkRule.arrRuleContent[0]),0.0))
	{
		checkResult.nResultType = CHECK_RESULT_INVALID_INPUT;
		return checkResult.nResultType;
	}

	FeaMinSizeVisitData VisitData;
	VisitData.nFeaMinSizeResultType = CHECK_RESULT_NO_ERROR;
	VisitData.dMinSizeRatio  = _wtof(checkRule.arrRuleContent[0])/100; 

	ProError status;

	status = ProSolidFeatVisit((ProSolid)pMdl,
		GeoFeaVisitAction,
		GeoFeaFilterAction,
		&VisitData);

	if (status == PRO_TK_E_NOT_FOUND)
	{
		VisitData.nFeaMinSizeResultType = CHECK_RESULT_ITEM_NOT_FOUND;
		return CHECK_RESULT_ITEM_NOT_FOUND;
	}

	checkResult.arrErrorItems.RemoveAll();
	ErrorItem errItem;
	for (int i=0; i<VisitData.arrFeaMinSizeErrorIDs.GetSize(); i++)
	{
		errItem.nID = VisitData.arrFeaMinSizeErrorIDs[i];
		errItem.nType = PRO_FEATURE;
		errItem.pOwner = pMdl;
		checkResult.arrErrorItems.Add(errItem);
	}
	checkResult.nResultType = VisitData.nFeaMinSizeResultType;

	return VisitData.nFeaMinSizeResultType; 
}
Exemplo n.º 7
0
bool ParseVector2				(std::wifstream& in, vec2& v)				
{
	std::wstring buff;
	in >> buff;
	if(!isdigit(buff[0]) && buff[0] != '-')	return false;
	v.x = (FLOAT)_wtof(buff.c_str());
	in >> buff;
	if(!isdigit(buff[0]) && buff[0] != '-')	return false;
	v.y = (FLOAT)_wtof(buff.c_str());

	return true;
}
Exemplo n.º 8
0
void initVariables()
{
	int args = 0;
	auto data = CommandLineToArgvW(GetCommandLineW(), &args);

	for(int i = 1; i < args; ++i)
	{
		if(data[i][0] == '-') //We recive a parameter
		{
			if(i < args - 1) //We have a data after parameter
			{
				if(data[i + 1][0] != '-') //We have a value
				{
					if(wcscmp(data[i] + 1, L"pointSize") == 0)
					{
						pointSize = _wtof(data[i + 1]);
					}
					else if(wcscmp(data[i] + 1, L"updateDelay") == 0)
					{
						updateDataDelay = _wtoi(data[i + 1]);
					}
					else if(wcscmp(data[i] + 1, L"particles") == 0)
					{
						partCount = _wtoi(data[i + 1]);
						auto align = partCount % 4;
						if(align != 0)
							partCount -= align;
					}
					else if(wcscmp(data[i] + 1, L"animateSlowDown") == 0)
					{
						animateSlowDown = _wtoi(data[i + 1]);
					}
					else if(wcscmp(data[i] + 1, L"G") == 0)
					{
						G = _wtof(data[i + 1]);
					}
					else if(wcscmp(data[i] + 1, L"animationType") == 0)
					{
						animationType = _wtoi(data[i + 1]);
					}
					else if(wcscmp(data[i] + 1, L"mathModel") == 0)
					{
						mathModel = _wtoi(data[i + 1]);
					}
				}
				else if(wcscmp(data[i] + 1, L"manual") == 0)
				{
					ManualControl = true;
				}
			}
		}
	}
}
Exemplo n.º 9
0
BOOL MainWindow::StartReconstruction()
{
	// read in variables from GUI
	WCHAR szText[8];
	INT nxy, nz;
	FLOAT res, cutoff;
	filter_type filter;

	SendMessage(m_hDimensions[0],WM_GETTEXT,64,(LPARAM)szText);
	nxy = _wtoi(szText);
	SendMessage(m_hDimensions[1],WM_GETTEXT,64,(LPARAM)szText);
	nz = _wtoi(szText);
	SendMessage(m_hDimensions[2],WM_GETTEXT,64,(LPARAM)szText);
	res = _wtof(szText);

	filter = (filter_type)SendMessage(m_hFilter,CB_GETCURSEL,NULL,NULL);
	cutoff = SendMessage(m_hCutoff,TBM_GETPOS,NULL,NULL)/10.0;

	m_Recon = new Reconstruction(nz, nxy, nxy, res, m_Proj);
	m_Recon->SetHWND(m_hwnd);
	m_Proj->CreateFilter(filter,cutoff);

	m_thrRecon = _beginthreadex(NULL, 0, Reconstruction::ReconThread, m_Recon, 0, NULL);
	if(!m_thrRecon)
		return FALSE;

	return TRUE;
}
Exemplo n.º 10
0
int CMSaveSimulation::ReliabilitySeries(const CMString& fname)
{
	unsigned i;

	if (!open_file(fname))
   	return -1;
	wchar_t buffer[128];
	get_data_from_simulation();
	int oldformat = CMTime::SetOutputFormat(simincunits);

	long row=0;

   long nrows = 1 + relseries_records;

	for (i=0;i<reliability->Targets();i++) {
		const wchar_t* tname = reliability->Target(i)->GetString().c_str();
		for (CMTime tm=outbeg;tm<=outend;tm.inc(simincsteps,simincunits),row++) {
		   output_item(OutReliabilitySeries,tname,row,0,maxtargetlength,0);
		   output_item(OutReliabilitySeries,_wtof(tm.GetString(buffer, 128)),row,1,fieldwidth,0);
		   output_item(OutReliabilitySeries,reliability->FailPct(tm,i),row,2,fieldwidth,1);
         output_record_end(row);
      }
   }

	output_footer(OutReliabilitySeries);

	CMTime::SetOutputFormat(oldformat);
   delete fout;
   fout=0;
   return 0;
}
Exemplo n.º 11
0
void CMVArray::Set(int row,int col,const CMString& str)
{
	if (row>=0 && row<_nrows && col>=0 && col<_ncols) {
		size_t index = row*_ncols + col;
		if (isnumber(str.c_str())) {
			double d = _wtof(str.c_str());
			array[index].e = NULL;
			array[index].dVal = d;
		}
		else {
			CMExpression* e = new CMExpression(str.c_str());
			if (e->IsPolynomial()) arraystate |= containsPolynomials;
			if (e->Fail()) {
				SetState(vsFailed, 1);
				ReportError(XBadVardef, e->GetString());
			}
			array[index].e = e;
		}
		/*
		CMExpression* e = new CMExpression(str.c_str());
		if (e->IsPolynomial()) arraystate |= containsPolynomials;
		if (e->Fail()) {
  		 	SetState(vsFailed,1);
   			ReportError(XBadVardef,e->GetString());
	   }
	   array.AddAt((long)row*ncols+col,e);
	   */
	}
}
bool Project_Engine::Parse_Str_Float(wchar_t* Text_Buffer, int Line_length, int &nPosition, float& fValue)
{
    wchar_t pwzNumber[20];
    bool bResult = ReadNumber(Text_Buffer, Line_length, nPosition, pwzNumber);
    fValue = (bResult) ? (float)_wtof(pwzNumber) : 0;
    return false;
}
Exemplo n.º 13
0
int wmain(int argc, wchar_t* argv[])
{
	if(argc < 3)
	{
		std::wcerr << L"Usage: " << argv[0] << L" infile delay [forced samplerate]" << std::endl;
		std::wcerr << L"Delay is in milliseconds and may be fractional." << std::endl;
		return 1;
	}

	delay = _wtof(argv[2]);
	if(delay <= 0)
	{
		std::wcerr << L"Error: Delay must be positive millisecond value, may be fractional." << std::endl;
		return 1;
	}

	if(argc >= 4)
	{
		sampleRate = _wtoi(argv[3]);
	}

	FILE *f = _wfopen(argv[1], L"rb");
	if(f == nullptr)
	{
		std::wcerr << L"Cannot open: " << argv[1] << L" for reading!" << std::endl;
		return 1;
	}

	std::wstring newFile = argv[1];
	newFile += L".tmp";
	FILE *of = _wfopen(newFile.c_str(), L"wb");
	if(of == nullptr)
	{
		std::wcerr << L"Cannot open output file: " << newFile.c_str() << L" for writing!" << std::endl;
		return 1;
	}

	if(!DecodeWAV(f, of) && !DecodeFLAC(f, of))
	{
		std::wcerr << L"Error: Unknown file type" << std::endl;
		fclose(of);
		_wremove(newFile.c_str());
		return 1;
	}

	fclose(f);
	fclose(of);

	_stat stat;
	_wstat(argv[1], &stat);
	_utimbuf timbuf;
	timbuf.actime = stat.st_atime;
	timbuf.modtime = stat.st_mtime;
	_wutime(newFile.c_str(), &timbuf);
	
	_wremove(argv[1]);
	_wrename(newFile.c_str(), argv[1]);

	return 0;
}
//销毁编辑框//
void COldConfigGraChiDlg::distroyEdit(CListCtrl *list, CEdit* distroyedit, int &Item, int &SubItem)
{
	CString strEditData;
	distroyedit->GetWindowText(strEditData);
	strEditData = strEditData.Trim();

	if (strEditData.IsEmpty())             //如果输入为空,则销毁编辑框//
	{
		distroyedit->DestroyWindow();
		if (m_vectConfigPara[Item].m_DefaultValue!=-3001)
		{
			m_vectConfigPara[Item].m_DefaultValue = -3001;
			m_bIsParaValueChange = true;
		}
		list->SetItemText(Item, 3, _T(""));
		return;
	}
	if (strEditData == strEditData.SpanIncluding(_T("0123456789.")))
	{
		float tempfloat = (float)_wtof(strEditData);
		strEditData.Format(_T("%.2f"), tempfloat);
		list->SetItemText(Item, 3, strEditData);                 //将修改写入列表框//
		if (tempfloat != m_vectConfigPara[Item].m_DefaultValue)  //判断值是否发生了变化//
		{
			m_vectConfigPara[Item].m_DefaultValue = tempfloat;    //将修改后的值存入容器//
			m_bIsParaValueChange = true;
		}
		
	}
	else
		AfxMessageBox(_T("非法操作,请输入数字!"));
	distroyedit->DestroyWindow();                          //销毁对象//
}
Exemplo n.º 15
0
void convertScale(char targetScale)
{
	double resultDouble = _wtof(result.c_str());

	if (targetScale == 'c')
	{
		resultDouble *= 30.48;
	}
	else if (targetScale == 'f')
	{
		resultDouble *= 0.0328084;
	}
	else if (targetScale == 'k')
	{
		resultDouble *= 0.453592;
	}
	else if (targetScale == 'p')
	{
		resultDouble *= 2.20462;
	}

	std::wstringstream resultStream;
	resultStream << resultDouble;
	result = resultStream.str();
}
Exemplo n.º 16
0
void QeAddNumberPattern(std::vector<TqePatInsts>& vPatterns,
	std::vector<WCHAR>& vNumber, size_t i)
{
	if(vNumber.size() <= 2) return;

	size_t nZeros = 0;
	for(size_t j = 0; j < vNumber.size(); ++j)
	{
		if(vNumber[j] != L'0') break;
		++nZeros;
	}

	double dblCost = QE_LOG2(static_cast<double>(nZeros + 1));
	if(nZeros < vNumber.size())
	{
		vNumber.push_back(0); // Terminate string
		const double d = _wtof(&vNumber[nZeros]);
		vNumber.pop_back();

		if(d > 0.999) dblCost += QE_LOG2(d);
		else { ASSERT(FALSE); return; }
	}

	vPatterns[i].push_back(boost::shared_ptr<CQePatternInstance>(
		new CQePatternInstance(i, vNumber.size(), QE_PAT_NUMBER, dblCost)));
}
Exemplo n.º 17
0
// Ends-in Contrast Stretching의 최저값 설정
void CBMPFrame::OnIpEcsLowEnd()
{
	// TODO: 여기에 명령 처리기 코드를 추가합니다.
	CMFCRibbonEdit *pSpin = DYNAMIC_DOWNCAST(CMFCRibbonEdit,
		((CMainFrame*)GetTopLevelFrame())->GetRibbonBar()->FindByID(ID_IP_ECSLOW));
	m_bEcsLowEnd = (BYTE)_wtof(pSpin->GetEditText());
}
Exemplo n.º 18
0
void CPIDCreateDlg::OnGridEndEdit(NMHDR *pNotifyStruct, LRESULT* pResult)
{
	pids.clear();

	for (int row = 1; row < m_cPidTable.GetRowCount(); ++row) {
		CString startTemp = m_cPidTable.GetItemText(row, 1);
		CString targetTemp = m_cPidTable.GetItemText(row, 2);
		CString kp = m_cPidTable.GetItemText(row, 3);
		CString kd = m_cPidTable.GetItemText(row, 4);
		CString ki = m_cPidTable.GetItemText(row, 5);

		pids.push_back( PID( _wtof(startTemp), _wtof(targetTemp), _wtof(kp), _wtof(kd), _wtof(ki) ) );
	}

	*pResult = 0;
}
Exemplo n.º 19
0
double getDoubleValue(HWND window, int controlId)
{
	TCHAR value[16];
	GetDlgItemText(window, controlId, value, 16);

	return _wtof(value);
}
Exemplo n.º 20
0
BOOL MainWindow::SetDimText()
{
	WCHAR szText[64];
	WCHAR szText2[32];
	INT nxy, nz;
	FLOAT res, size_xy, size_z;
	SendMessage(m_hDimensions[0],WM_GETTEXT,64,(LPARAM)szText);
	nxy = _wtoi(szText);
	SendMessage(m_hDimensions[1],WM_GETTEXT,64,(LPARAM)szText);
	nz = _wtoi(szText);
	SendMessage(m_hDimensions[2],WM_GETTEXT,64,(LPARAM)szText);
	res = _wtof(szText);

	size_xy = nxy * res;
	size_z = nz * res;
	if(size_xy>1000)
	{
		size_xy /= 1000.0;
		StringCchPrintf(szText,64,L"Reconstruction volume:\n%1.3f m \u00D7 %1.3f m ", size_xy, size_xy);
	}
	else
		StringCchPrintf(szText,64,L"Reconstruction volume:\n%3.1f mm \u00D7 %3.1f mm ", size_xy, size_xy);
	if(size_z>1000)
	{
		size_z /= 1000.0;
		StringCchPrintf(szText2,32,L"\u00D7 %1.3f m", size_z);
	}
	else
		StringCchPrintf(szText2,32,L"\u00D7 %3.1f mm", size_z);
	StringCchCat(szText,sizeof(szText),szText2);
	SendMessage(m_hReconText[5],WM_SETTEXT,NULL,(LPARAM)szText);

	return TRUE;
}
Exemplo n.º 21
0
BOOL RichEditBkImg::StrPos2ItemPos(const SStringW &strPos, POSITION_ITEM & pos)
{
    if(strPos.IsEmpty()) return FALSE;

    LPCWSTR pszPos = strPos;
    switch(pszPos[0])
    {
    //case POSFLAG_REFCENTER: pos.pit=PIT_CENTER,pszPos++;break;
    //case POSFLAG_PERCENT: pos.pit=PIT_PERCENT,pszPos++;break;
    case POSFLAG_REFPREV_NEAR: pos.pit=PIT_PREV_NEAR,pszPos++;break;
    case POSFLAG_REFNEXT_NEAR: pos.pit=PIT_NEXT_NEAR,pszPos++;break;
    case POSFLAG_REFPREV_FAR: pos.pit=PIT_PREV_FAR,pszPos++;break;
    case POSFLAG_REFNEXT_FAR: pos.pit=PIT_NEXT_FAR,pszPos++;break;
    case POSFLAG_SIZE:pos.pit=PIT_SIZE,pszPos++;break;
    default: pos.pit=PIT_NORMAL;break;
    }

    pos.nRefID = -1;//not ref sibling using id
    if(pszPos [0] == L'-')
    {
        pos.cMinus = -1;
        pszPos ++;
    }else
    {
        pos.cMinus = 1;
    }
    pos.nPos=(float)_wtof(pszPos);

    return TRUE;
}
Exemplo n.º 22
0
float CIniFile::LoadFloat(CString strSecttionName,CString strKeyName,float fDefault)
{
	float fReturnValue=0.00;
	TCHAR szRead[12];
    ::GetPrivateProfileString(strSecttionName,strKeyName,_T("Error"),szRead,12,m_strFilePath);
	if(_tcscmp(szRead,_T("Error"))==0)
	{
		if (SaveValue(strSecttionName,strKeyName,fDefault))
		{ 
			fReturnValue=fDefault;
			return fReturnValue;
		}
		else
			return fReturnValue;
	}
	else
	{
#ifdef _UNICODE
		fReturnValue=float(_wtof(szRead));
#else
		fReturnValue=float(atof(szRead));
#endif
		return fReturnValue;
	}
}
Exemplo n.º 23
0
double CIniFile::LoadDouble(CString strSecttionName,CString strKeyName,double dDefault)
{
	double dReturnValue=0.00;
	TCHAR szRead[12];
    ::GetPrivateProfileString(strSecttionName,strKeyName,_T("Error"),szRead,12,m_strFilePath);
	if(_tcscmp(szRead,_T("Error"))==0)
	{
		if (SaveValue(strSecttionName,strKeyName,dDefault))
		{ 
			dReturnValue=dDefault;
			return dReturnValue;
		}
		else
    		return dReturnValue;
	}
	else
	{
#ifdef _UNICODE
		dReturnValue=_wtof(szRead);
#else
		dReturnValue=atof(szRead);
#endif
		return dReturnValue;
	}
}
Exemplo n.º 24
0
void CClusterSettingDlg::OnBnClickedOk()
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData(TRUE);
	if(m_RadioCluMethod == 0) 
	{
		//如果选择DBSCAN
		if(m_szeps.IsEmpty())   //扫描半径
		{
			MessageBox(L"扫描半径不能为空",L"聚类设置",MB_ICONERROR);
			return;
		}
		m_eps = _wtof(m_szeps);
		if(m_eps == 0)   //扫描半径
		{
			MessageBox(L"请输入合法的扫描半径",L"聚类设置",MB_ICONERROR);
			return;
		}

		if(m_szMinpts.IsEmpty())   //扫描半径
		{
			MessageBox(L"最小点数不能为空",L"聚类设置",MB_ICONERROR);
			return;
		}
		m_Minpts = _wtof(m_szMinpts);
		if(m_Minpts == 0)   //扫描半径
		{
			MessageBox(L"请输入合法的最小点数",L"聚类设置",MB_ICONERROR);
			return;
		}
	}
	else
	{		
		if(m_szClusterNum.IsEmpty())   //扫描半径
		{
			MessageBox(L"聚类类别数不能为空",L"聚类设置",MB_ICONERROR);
			return;
		}
		m_ClusterNum = _wtof(m_szClusterNum);
		if(m_ClusterNum == 0)   //扫描半径
		{
			MessageBox(L"请输入合法的聚类类别数",L"聚类设置",MB_ICONERROR);
			return;
		}
	}
	CDialogEx::OnOK();
}
Exemplo n.º 25
0
double CMSaveSimulation::last_timestep_in_interval(const CMTime& t)
{
	wchar_t buffer[128];
	CMTime tm(t);
   tm.inc(outincsteps,outincunits);
   tm.inc(-1,simincunits);
   return _wtof(tm.GetString(buffer, 128));
}
Exemplo n.º 26
0
int CSDMdlMachDeepHoleCheck::CheckAction(void *pData, const CheckRule &checkRule, CheckResult &checkResult) 
{
	ProMdl pMdl = (ProMdl)pData;
	if (NULL == pMdl)
	{
		checkResult.nResultType = CHECK_RESULT_INVALID_MODEL;
		return checkResult.nResultType;
	}
	
	if (!IsMdlTypeValid(pMdl, checkRule.dwMdlFilter))
	{
		checkResult.nResultType = CHECK_RESULT_INVALID_MODEL;
		return checkResult.nResultType;
	}

	// 检查输入值有效性
	if (checkRule.arrRuleContent.GetCount() < 1 || _wtof(checkRule.arrRuleContent[0]) <= 0 || 
		DEQUAL(_wtof(checkRule.arrRuleContent[0]),0.0))
	{
		checkResult.nResultType = CHECK_RESULT_INVALID_INPUT;
		return checkResult.nResultType;
	}

	DeepHoleFeaVisitData DeepHoleVisitData;
	DeepHoleVisitData.nDeepHoleResultType = CHECK_RESULT_NO_ERROR;
	DeepHoleVisitData.dDeepHoleRatio  = _wtof(checkRule.arrRuleContent[0]);
	ProError status;

	status = ProSolidFeatVisit((ProSolid)pMdl,
		DeepHoleFeaVisitAction,
		NULL,
		&DeepHoleVisitData);

	checkResult.arrErrorItems.RemoveAll();
	ErrorItem errItem;
	for (int i=0; i<DeepHoleVisitData.arrDeepHoleErrorIDs.GetSize(); i++)
	{
		errItem.nID = DeepHoleVisitData.arrDeepHoleErrorIDs[i];
		errItem.nType = PRO_FEATURE;
		errItem.pOwner = pMdl;
		checkResult.arrErrorItems.Add(errItem);
	}
	checkResult.nResultType = DeepHoleVisitData.nDeepHoleResultType;

	return DeepHoleVisitData.nDeepHoleResultType; 
}
Exemplo n.º 27
0
double FdoCommonOSUtil::wtof(const wchar_t* value)
{
#ifdef _WIN32
    return _wtof(value);
#else
    return wcstod(value, NULL);
#endif
}
Exemplo n.º 28
0
void CWndStyleEditor::OnEnChangeEditBottom()
{
	CString Str;
	m_rectBottom.GetWindowText(Str);
	m_Rect.bottom = (float)_wtof( Str.GetBuffer() );
	m_StyleRender.SetDrawRect(m_Rect);
	if(m_pBlock)
		((*m_pBlock)[m_BlockIndex]) = m_Rect;
}
int CSDMdlMachChamferAngCheck::CheckAction(void *pData, const CheckRule &checkRule, CheckResult &checkResult)
{
	ProMdl pMdl = (ProMdl)pData;
	if (NULL == pMdl)
	{
		checkResult.nResultType = CHECK_RESULT_INVALID_MODEL;
		return checkResult.nResultType;
	}

	if (!IsMdlTypeValid(pMdl, checkRule.dwMdlFilter))
	{
		checkResult.nResultType = CHECK_RESULT_INVALID_MODEL;
		return checkResult.nResultType;
	}

	// 检查输入值有效性
	if (checkRule.arrRuleContent.GetCount() < 1)
	{
		checkResult.nResultType = CHECK_RESULT_INVALID_INPUT;
		return checkResult.nResultType;
	}

	CStringArray arrChamferAng;
	CStringToCStringArray(checkRule.arrRuleContent[0], arrChamferAng);
	for (int i = 0; i < arrChamferAng.GetSize(); i++)
	{
		if (IsNumber(arrChamferAng.GetAt(i)) == FALSE || _wtof(arrChamferAng.GetAt(i)) < 0 || DEQUAL(_wtof(arrChamferAng.GetAt(i)),0.0))
		{
			checkResult.nResultType = CHECK_RESULT_INVALID_INPUT;
			return CHECK_RESULT_INVALID_INPUT;
		}
	}

	ChamferFeaVisitAngData visitData;
	visitData.nResultType = CHECK_RESULT_NO_ERROR;
	visitData.strAngle = checkRule.arrRuleContent[0];

	ProError status;

	status = ProSolidFeatVisit((ProSolid)pMdl,
		ChamferFeaVisitAction,
		ChamferFeaFilterAction,
		&visitData);

	checkResult.arrErrorItems.RemoveAll();
	ErrorItem errItem;
	for (int i=0; i<visitData.arrChamferAngErrorIDs.GetSize(); i++)
	{
		errItem.nID = visitData.arrChamferAngErrorIDs[i];
		errItem.nType = PRO_FEATURE;
		errItem.pOwner = pMdl;
		checkResult.arrErrorItems.Add(errItem);
	}
	checkResult.nResultType = visitData.nResultType;
	return visitData.nResultType;
	
}
Exemplo n.º 30
0
CString CMyDialogEx::calculateResult(){

	setAurithmetic(0);
	CString result, additionalNumber;
	double first, second, n_result;
	if (this->m_edit == ""){
		result = "0";
	}
	else{
		int i = 0;
		if (m_edit[0] == '-'){
			i = 1;
		}
		while (i < m_edit.GetLength()){
			if (m_edit[i] == '+' || m_edit[i] == '/' || m_edit[i] == '-' || m_edit[i] == '*'){
				result = m_edit.Mid(0, i);
				break;
			}
			i++;
		}
		if (i == m_edit.GetLength()){
			result = m_edit;
		}
		else if (i != m_edit.GetLength() - 1){
			additionalNumber = m_edit.Mid(i + 1, m_edit.GetLength() - i - 1);
			first = _wtof(result);
			second = _wtof(additionalNumber);
			if (m_edit[i] == '+'){
				n_result = first + second;
			}
			else if (m_edit[i] == '-'){
				n_result = first - second;
			}
			else if (m_edit[i] == '*'){
				n_result = first * second;
			}
			else{
				n_result = first / second;
			}
			result.Format(_T("%lf"),n_result);
		}
	}
	return(result);
}