Exemple #1
0
CDemoRecorder::CDemoRecorder(const std::string& mapName, const std::string& modName, bool serverDemo):
demoStream(std::ios::binary | std::ios::out)
{
	SetName(mapName, modName, serverDemo);
	SetFileHeader();

	file.open(demoName.c_str(), std::ios::binary | std::ios::out);
}
void XFoilAnalysisDlg::InitDialog()
{	
	QString FileName = QDir::tempPath() + "/XFLR5.log";
	m_pXFile = new QFile(FileName);
	if (!m_pXFile->open(QIODevice::WriteOnly | QIODevice::Text)) m_pXFile = NULL;

	m_pXFoilTask->m_OutStream.setDevice(m_pXFile);

	if(m_bAlpha) m_pXFoilTask->setSequence(true,  m_AlphaMin, m_AlphaMax, m_AlphaDelta);
	else         m_pXFoilTask->setSequence(false, m_ClMin, m_ClMax, m_ClDelta);

	m_pXFoilTask->setReRange(m_ReMin, m_ReMax, m_ReDelta);
	m_pXFoilTask->InitializeTask(Foil::curFoil(), Polar::curPolar(),
						    QXDirect::s_bViscous, QXDirect::s_bInitBL, false);


	SetFileHeader();

	QString str;
	m_pRmsGraph->DeleteCurves();
	Curve *pCurve0 = m_pRmsGraph->AddCurve();
	Curve *pCurve1 = m_pRmsGraph->AddCurve();

	str = "rms";
	pCurve0->SetTitle(str);
	str = "max";
	pCurve1->SetTitle(str);
	pCurve1->SetStyle(0);

	m_pRmsGraph->SetXMin(0.0);
	m_pRmsGraph->SetXMax((double)XFoilTask::s_IterLim);
	m_pRmsGraph->SetX0(0.0);
	m_pRmsGraph->SetXUnit((int)(XFoilTask::s_IterLim/5.0));

	m_pRmsGraph->SetY0(0.0);
	m_pRmsGraph->SetYMin(0.0);
	m_pRmsGraph->SetYMax(1.0);

	m_pXFoilTask->setGraphPointers(m_pRmsGraph, pCurve0, pCurve1);

	m_pctrlTextOutput->clear();
}
Exemple #3
0
void BoatAnalysisDlg::InitDialog()
{
	m_Progress = 0.0;
	m_pctrlProgress->setValue(m_Progress);
	QString FileName = QDir::tempPath() + "/sail7.log";
	m_pXFile = new QFile(FileName);
	if (!m_pXFile->open(QIODevice::WriteOnly | QIODevice::Text)) m_pXFile = NULL;

/*	if(m_pBoatPolar && (m_pBoatPolar->m_bTiltedGeom || m_pBoatPolar->m_bWakeRollUp))
	{
		//back-up the current geometry if the analysis is to be performed on the tilted geometry
		memcpy(m_pMemPanel, s_pPanel, m_MatSize * sizeof(CPanel));
		memcpy(s_pMemNode,  s_pNode,  m_nNodes * sizeof(CVector));
		memcpy(m_pRefWakePanel, s_pWakePanel, m_WakeSize * sizeof(CPanel));
		memcpy(s_pRefWakeNode,  s_pWakeNode,  m_nWakeNodes * sizeof(CVector));
	}*/

	m_pctrlTextOutput->clear();

	m_bCancel   = false;
	m_bWarning  = false;
	m_bWakeRollUp    = false;

	SetFileHeader();

	QString str = "";


	str = QString(tr("Counted %1 panel elements")+"\n").arg(m_MatSize,4);
	AddString(str);

	AddString("\n");

	m_pctrlProgress->setMinimum(0);
	m_pctrlProgress->setMaximum(100);
}
Exemple #4
0
BOOL CLLTDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	CRect WndRect;
	GetWindowRect(WndRect);
	SetWindowPos(NULL,GetSystemMetrics(SM_CXSCREEN)-WndRect.Width()-10,60,0,0,SWP_NOSIZE);

	CString str;
	CString strAppDirectory;
	char    szAppPath[MAX_PATH] = "";
	GetTempPath(MAX_PATH,szAppPath);
	strAppDirectory = szAppPath;
	str =strAppDirectory + "XFLR5.log";

	BOOL bOpen = m_XFile.Open(str, CFile::modeCreate | CFile::modeWrite);
	if(bOpen) m_bXFile = true;
	else      m_bXFile = false;
	m_pWing->m_pXFile = &m_XFile;


	SetFileHeader();
	m_ctrlOutput.SetLimitText(100000);

	m_IterRect.SetRect(20,20,460,320);
	m_IterGraph.DeleteCurves();
	m_pIterCurve = m_IterGraph.AddCurve();

	if (IsBlackAndWhite()) 
	{
		m_IterGraph.SetAxisColor(RGB(0,0,0));
		m_IterGraph.SetBkColor(RGB(255,255,255));
		m_IterGraph.SetLabelColor(RGB(0,0,0));
		m_IterGraph.SetLegendColor(RGB(0,0,0));
	}

	CClientDC dc(this);

	LOGFONT LgFt; 
	ZeroMemory(&LgFt, sizeof(LOGFONT));
	LgFt.lfHeight = - MulDiv(10, dc.GetDeviceCaps(LOGPIXELSY), 72);
	LgFt.lfWeight = FW_BOLD;
	strcpy(LgFt.lfFaceName,"Comic sans MS"); 
	m_IterGraph.SetTitleLogFont(&LgFt);
	LgFt.lfHeight = - MulDiv(8, dc.GetDeviceCaps(LOGPIXELSY), 72);
	m_IterGraph.SetLabelLogFont(&LgFt);

	if(m_pWing->m_bLLT)
	{ 
		m_pWThread = new CLLTThread(this);
		m_pWThread->m_pParent = this;
//		m_pWThread->m_bAutoDelete = true;
		m_pWThread->m_bAutoDelete = false;
		m_pWThread->m_bSequence  = m_bSequence;
		m_pWThread->m_bType4     = m_bType4;
		m_pWThread->m_Alpha      = m_Alpha;
		m_pWThread->m_AlphaMax   = m_AlphaMax;
		m_pWThread->m_DeltaAlpha = m_DeltaAlpha;
		m_pWThread->m_pWing      = m_pWing;
		m_pWThread->m_pMiarex    = m_pMiarex;
				
		m_pWThread->CreateThread(CREATE_SUSPENDED);
		VERIFY(m_pWThread->SetThreadPriority(THREAD_PRIORITY_LOWEST));

		m_pWThread->ResumeThread();
	}
	else PostMessage(WM_CLOSE);

	GetDlgItem(IDCANCEL)->SetFocus();
	SetTimer(ID_THREADTIMER, 100, NULL);
	return FALSE; 
}
Exemple #5
0
BOOL CViscDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();

	CRect WndRect;
	GetWindowRect(WndRect);
	SetWindowPos(NULL,GetSystemMetrics(SM_CXSCREEN)-WndRect.Width()-10,60,0,0,SWP_NOSIZE);
	
	CString str;
	CString strAppDirectory;

	CXDirect *pXDirect = (CXDirect*)m_pXDirect;

	char    szAppPath[MAX_PATH] = "";
	GetTempPath(MAX_PATH,szAppPath);
	strAppDirectory = szAppPath;
	str =strAppDirectory + "XFLR5.log";
	m_XFile.Open(str, CFile::modeCreate | CFile::modeWrite);
	m_pXFoil->pXFile = &m_XFile;

	SetFileHeader();

	CClientDC dc(this);

	LOGFONT LgFt; 
	ZeroMemory(&LgFt, sizeof(LOGFONT));
	LgFt.lfHeight = - MulDiv(10, dc.GetDeviceCaps(LOGPIXELSY), 72);
	strcpy(LgFt.lfFaceName,"Arial"); 
	m_RmsGraph.SetTitleLogFont(&LgFt);
	LgFt.lfHeight = - MulDiv(8, dc.GetDeviceCaps(LOGPIXELSY), 72);
	m_RmsGraph.SetLabelLogFont(&LgFt);
	m_Iterations = 0;
	ResetCurves();
	if (IsBlackAndWhite()) 
	{
		m_RmsGraph.SetAxisColor(RGB(0,0,0));
		m_RmsGraph.SetBkColor(RGB(255,255,255));
		m_RmsGraph.SetLabelColor(RGB(0,0,0));
		m_RmsGraph.SetLegendColor(RGB(0,0,0));
	}

	m_pIterThread = new CViscThread(this);

	m_pIterThread->CreateThread(CREATE_SUSPENDED);
	m_pIterThread->SetThreadPriority(THREAD_PRIORITY_LOWEST);
	m_pIterThread->m_pParent = this;
	m_pIterThread->m_pXFoil = m_pXFoil;
	m_pIterThread->m_bType4 = m_bType4;

	if(!m_bType4)
	{
		if(m_bAlpha) m_pIterThread->SetAlpha(m_AlphaMin,m_AlphaMax,m_DeltaAlpha);
		else         m_pIterThread->SetCl(m_ClMin,m_ClMax,m_DeltaCl);
	}
	else m_pIterThread->SetRe(m_ReMin,m_ReMax,m_DeltaRe);
	
	m_pIterThread->m_bAutoDelete = false;
	m_pIterThread->m_bAutoInitBL = pXDirect->m_bAutoInitBL;

	m_pIterThread->m_IterLim     = m_IterLim;
	m_pIterThread->ResumeThread();
	SetTimer(ID_THREADTIMER, 100, NULL);
	return false;  
}