こんにちは、あかべです。 いつもお世話になっております。 XFLR5のバージョン6.06がリリースされたので、パッケージを更新しました。アップロードしていただけませんか? 6.05-1と6.06-1のdebdiffの結果を添付します。 宜しくおねがいします。 http://mentors.debian.net/debian/pool/main/x/xflr5/xflr5_6.06-1.dsc -- Koichi Akabe vbkaisetsu at {gmail.com, debian.or.jp}
diff -Nru xflr5-6.05/debian/changelog xflr5-6.06/debian/changelog --- xflr5-6.05/debian/changelog 2011-07-31 01:31:21.000000000 +0900 +++ xflr5-6.06/debian/changelog 2012-01-29 12:04:52.000000000 +0900 @@ -1,3 +1,16 @@ +xflr5 (6.06-1) unstable; urgency=low + + * changed and hopefully improved the algorithm which intersects + wing surfaces and body + * code cleaning + * minor bug corrections and enhancements + * reduced the maximum size of sections, masses, and chorwise + panels on a wing to reduce global memory usage + * debian/control + - changed homepage (it was moved) + + -- Koichi Akabe <vbkaisetsu@xxxxxxxxx> Sun, 29 Jan 2012 12:04:33 +0900 + xflr5 (6.05-1) unstable; urgency=low * For Type 7 polars, listed the control value instead of the aoa in diff -Nru xflr5-6.05/debian/compat xflr5-6.06/debian/compat --- xflr5-6.05/debian/compat 2011-03-24 10:34:58.000000000 +0900 +++ xflr5-6.06/debian/compat 2012-01-29 08:58:36.000000000 +0900 @@ -1 +1 @@ -7 +8 diff -Nru xflr5-6.05/debian/control xflr5-6.06/debian/control --- xflr5-6.05/debian/control 2011-06-25 23:24:08.000000000 +0900 +++ xflr5-6.06/debian/control 2012-01-29 10:30:52.000000000 +0900 @@ -2,9 +2,9 @@ Section: science Priority: extra Maintainer: Koichi Akabe <vbkaisetsu@xxxxxxxxx> -Build-Depends: debhelper (>= 7.0.50~), docbook-to-man, libqt4-dev, libgl1-mesa-dev, libqt4-opengl-dev (>= 4.6.0), translate-toolkit +Build-Depends: debhelper (>= 8.0.0), docbook-to-man, libqt4-dev, libgl1-mesa-dev, libqt4-opengl-dev (>= 4.6.0), translate-toolkit Standards-Version: 3.9.2 -Homepage: http://xflr5.sourceforge.net/xflr5.htm +Homepage: http://www.xflr5.com/xflr5.htm Package: xflr5 Architecture: any @@ -24,4 +24,7 @@ Depends: ${misc:Depends} Suggests: xflr5 Description: xflr5 documentation + XFLR5 is an analysis tool for airfoils, wings and planes operating at low + Reynolds Numbers. + . This package provides the documentation for XFLR5. diff -Nru xflr5-6.05/debian/copyright xflr5-6.06/debian/copyright --- xflr5-6.05/debian/copyright 2011-05-19 15:25:15.000000000 +0900 +++ xflr5-6.06/debian/copyright 2012-01-29 08:53:57.000000000 +0900 @@ -1,15 +1,15 @@ -Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=174 +Format: http://anonscm.debian.org/viewvc/dep/web/deps/dep5/index.html?revision=248 Upstream-Name: xflr5 Upstream-Contact: Andre Deperrois <xflr5@xxxxxxxxx> -Source: http://xflr5.sourceforge.net/xflr5.htm +Source: http://www.xflr5.com/xflr5.htm Files: * -Copyright: 2007-2011, Andre Deperrois +Copyright: 2007-2012, Andre Deperrois License: GPL-2+ Files: debian/* Copyright: 2009-2010, Karoliina Salminen <karoliina.t.salminen@xxxxxxxxx> - 2011, Koichi Akabe <vbkaisetsu@xxxxxxxxx> + 2011-2012, Koichi Akabe <vbkaisetsu@xxxxxxxxx> License: GPL-2+ License: GPL-2+ diff -Nru xflr5-6.05/debian/patches/01_set_targetpath.patch xflr5-6.06/debian/patches/01_set_targetpath.patch --- xflr5-6.05/debian/patches/01_set_targetpath.patch 1970-01-01 09:00:00.000000000 +0900 +++ xflr5-6.06/debian/patches/01_set_targetpath.patch 2012-01-29 09:19:29.000000000 +0900 @@ -0,0 +1,16 @@ +Description: set target.path on xflr5.pro + target.path on upstream version is commented out. This patch remove it. +Author: Koichi Akabe <vbkaisetsu@xxxxxxxxx> +Last-Update: <2012-01-29> + +--- xflr5-6.06.orig/xflr5.pro ++++ xflr5-6.06/xflr5.pro +@@ -238,7 +238,7 @@ unix { + + # MAKE INSTALL + INSTALLS += target +-# target.path = $$BINDIR ++ target.path = $$BINDIR + } + + macx { diff -Nru xflr5-6.05/debian/patches/series xflr5-6.06/debian/patches/series --- xflr5-6.05/debian/patches/series 1970-01-01 09:00:00.000000000 +0900 +++ xflr5-6.06/debian/patches/series 2012-01-29 09:16:56.000000000 +0900 @@ -0,0 +1 @@ +01_set_targetpath.patch diff -Nru xflr5-6.05/debian/xflr5-doc.doc-base xflr5-6.06/debian/xflr5-doc.doc-base --- xflr5-6.05/debian/xflr5-doc.doc-base 1970-01-01 09:00:00.000000000 +0900 +++ xflr5-6.06/debian/xflr5-doc.doc-base 2012-01-29 09:46:29.000000000 +0900 @@ -0,0 +1,8 @@ +Document: xflr5-doc +Title: Analysis of foils and wings operating at low Reynolds numbers +Author: Andre Deperrois +Abstract: This manual describes usage of xflr5 +Section: Science/Engineering + +Format: PDF +Files: /usr/share/doc/xflr5-doc/Guidelines_v604.pdf diff -Nru xflr5-6.05/doc/ReleaseNotes.txt xflr5-6.06/doc/ReleaseNotes.txt --- xflr5-6.05/doc/ReleaseNotes.txt 2011-07-25 02:43:09.000000000 +0900 +++ xflr5-6.06/doc/ReleaseNotes.txt 2012-01-21 06:06:38.000000000 +0900 @@ -16,6 +16,13 @@ +xflr5 v6.06, January xxxth, 2011 + - changed and hopefully improved the algorithm which intersects wing surfaces and body + - code cleaning + - minor bug corrections and enhancements + - reduced the maximum size of sections, masses, and chorwise panels on a wing to reduce global memory usage + + xflr5 v6.05 beta, July 24th, 2011 - For Type 7 polars, listed the control value instead of the aoa in the top drop down box バイナリーファイル /tmp/zcWbuH4OEV/xflr5-6.05/images/copy.png と/tmp/ssOPEP4rVI/xflr5-6.06/images/copy.png は異なります バイナリーファイル /tmp/zcWbuH4OEV/xflr5-6.05/images/cut.png と/tmp/ssOPEP4rVI/xflr5-6.06/images/cut.png は異なります バイナリーファイル /tmp/zcWbuH4OEV/xflr5-6.05/images/paste.png と/tmp/ssOPEP4rVI/xflr5-6.06/images/paste.png は異なります バイナリーファイル /tmp/zcWbuH4OEV/xflr5-6.05/images/splash.png と/tmp/ssOPEP4rVI/xflr5-6.06/images/splash.png は異なります diff -Nru xflr5-6.05/src/Design/AFoil.cpp xflr5-6.06/src/Design/AFoil.cpp --- xflr5-6.05/src/Design/AFoil.cpp 2011-07-03 17:30:25.000000000 +0900 +++ xflr5-6.06/src/Design/AFoil.cpp 2012-01-25 05:25:27.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** AFoil Class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009-2012 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,8 +18,14 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *****************************************************************************/ - -#include <QtGui> + +#include <QAction> +#include <QMenu> +#include <QStatusBar> +#include <QMessageBox> +#include <QFileDialog> +#include <QDesktopWidget> +#include <QHeaderView> #include "../Globals.h" #include "../MainFrame.h" @@ -29,6 +35,7 @@ #include "AFoilTableDlg.h" #include "SplineCtrlsDlg.h" + extern CFoil *g_pCurFoil; @@ -67,10 +74,9 @@ m_bXDown = m_bYDown = m_bZDown = false; m_bIsImageLoaded = false; - m_BackImageWidth = m_BackImageHeight = 0; memset(&m_TmpPic,0, sizeof(Picture)); - memset(m_UndoPic, 0, MAXPICTURESIZE * sizeof(Picture)); + memset(m_UndoPic, 0, MAXSTACKPOS* sizeof(Picture)); m_LERad = 1.0; @@ -144,6 +150,10 @@ pMainFrame->AFoilSetTEGap->setEnabled(g_pCurFoil); pMainFrame->m_pShowLegend->setChecked(m_bShowLegend); + + pMainFrame->AFoilSplineMenu->setEnabled(!g_pCurFoil); + pMainFrame->InsertSplinePt->setEnabled(!g_pCurFoil); + pMainFrame->RemoveSplinePt->setEnabled(!g_pCurFoil); pMainFrame->SplinesAct->setChecked(m_bSF); pMainFrame->SplinedPointsAct->setChecked(!m_bSF); } @@ -162,10 +172,9 @@ int dD = fm.height(); int dW = fm.width("0.1"); - int TickSize, xTextOff, offy; + int TickSize, offy; TickSize = (int)(dD/2); - xTextOff = 14; offy = m_ptOffset.y(); QPen TextPen(pMainFrame->m_TextColor); @@ -688,19 +697,19 @@ m_NeutralColor = QColor(r,g,b); m_bNeutralLine = pSettings->value("NeutralLine").toBool(); - style = pSettings->value("SFStyle").toInt(); - width = pSettings->value("SFWidth").toInt(); - r = pSettings->value("SFColorRed").toInt(); - g = pSettings->value("SFColorGreen").toInt(); - b = pSettings->value("SFColorBlue").toInt(); + style = pSettings->value("SFStyle", SOLIDLINE).toInt(); + width = pSettings->value("SFWidth",1).toInt(); + r = pSettings->value("SFColorRed",216).toInt(); + g = pSettings->value("SFColorGreen",183).toInt(); + b = pSettings->value("SFColorBlue",83).toInt(); color = QColor(r,g,b); m_pSF->SetCurveParams(style, width, color); - style = pSettings->value("PFStyle").toInt(); - width = pSettings->value("PFWidth").toInt(); - r = pSettings->value("PFColorRed").toInt(); - g = pSettings->value("PFColorGreen").toInt(); - b = pSettings->value("PFColorBlue").toInt(); + style = pSettings->value("PFStyle", SOLIDLINE).toInt(); + width = pSettings->value("PFWidth", 1).toInt(); + r = pSettings->value("PFColorRed",216).toInt(); + g = pSettings->value("PFColorGreen",183).toInt(); + b = pSettings->value("PFColorBlue",183).toInt(); color = QColor(r,g,b); m_pPF->SetCurveParams(style, width, color); @@ -710,6 +719,11 @@ m_pPF->m_bVisible = pSettings->value("PFVisible").toBool(); m_pPF->m_bOutPoints = pSettings->value("PFOutPoints").toBool(); m_pPF->m_bCenterLine = pSettings->value("PFCenterLine").toBool(); + + m_pSF->m_Intrados.m_iRes = pSettings->value("LowerRes",30).toInt(); + m_pSF->m_Extrados.m_iRes = pSettings->value("UpperRes",30).toInt(); + + m_bLECircle = pSettings->value("LECircle").toBool(); m_bScale = pSettings->value("Scale").toBool(); m_bShowLegend = pSettings->value("Legend").toBool(); @@ -1030,50 +1044,21 @@ } else if(!m_bZoomPlus && (event->buttons() & Qt::LeftButton)) { - if(m_bSF) + if (event->modifiers() & Qt::ShiftModifier) { - if (event->modifiers() & Qt::ShiftModifier) - { - //shift --> removes the point - TakePicture(); - StorePicture(); - int n = m_pSF->m_Extrados.IsControlPoint(Real, m_fScale/m_fRefScale); - if (n>=0) - { - m_pSF->m_Extrados.RemovePoint(n); - m_pSF->Update(true); - } - else - { - int n=m_pSF->m_Intrados.IsControlPoint(Real, m_fScale/m_fRefScale); - if (n>=0) - { - m_pSF->m_Intrados.RemovePoint(n); - m_pSF->Update(false); - } - } - } - else if (event->modifiers() & Qt::ControlModifier) + //shift --> inserts a point + OnInsertCtrlPt(); + } + else if (event->modifiers() & Qt::ControlModifier) + { + //Ctrl --> removes the point + OnRemoveCtrlPt(); + } + else + { + //Selects the point + if(m_bSF) { - //Ctrl --> inserts a point - TakePicture(); - StorePicture(); - - if(Real.y>=0) - { - m_pSF->m_Extrados.InsertPoint(Real.x,Real.y); - m_pSF->Update(true); - } - else - { - m_pSF->m_Intrados.InsertPoint(Real.x,Real.y); - m_pSF->Update(false); - } - } - else - { - //Selects the point - m_pSF->m_Extrados.m_iSelect = m_pSF->m_Extrados.IsControlPoint(Real, m_fScale/m_fRefScale); m_pSF->m_Intrados.m_iSelect = m_pSF->m_Intrados.IsControlPoint(Real, m_fScale/m_fRefScale); if (m_pSF->m_Extrados.m_iSelect>=0 || m_pSF->m_Intrados.m_iSelect>=0) @@ -1087,47 +1072,8 @@ m_bTrans = true; } } - } - else - { - if (event->modifiers() & Qt::ShiftModifier) - { - //shift --> removes the point - TakePicture(); - StorePicture(); - int n = m_pPF->m_Extrados.IsControlPoint(Real, m_fScale/m_fRefScale); - if (n>=0) - { - m_pPF->m_Extrados.RemovePoint(n); - m_pPF->Update(); - } - else - { - int n=m_pPF->m_Intrados.IsControlPoint(Real, m_fScale/m_fRefScale); - if (n>=0) m_pPF->m_Intrados.RemovePoint(n); - m_pPF->Update(); - } - } - else if (event->modifiers() & Qt::ControlModifier) - { - //Ctrl --> inserts a point - TakePicture(); - StorePicture(); - if(Real.y>=0) - { - m_pPF->m_Extrados.InsertPoint(Real.x, Real.y); - m_pPF->Update(); - } - else - { - m_pPF->m_Intrados.InsertPoint(Real.x, Real.y); - m_pPF->Update(); - } - - } else - { - //Selects the point + { m_pPF->m_Extrados.m_iSelect = m_pPF->m_Extrados.IsControlPoint(Real, m_fScale/m_fRefScale) ; int n = m_pPF->m_Extrados.IsRearPoint(Real, m_fScale/m_fRefScale) ; if(n==-1) m_pPF->m_Extrados.m_iSelect = n; @@ -1145,6 +1091,7 @@ } } } + } UpdateView(); @@ -2321,8 +2268,18 @@ TakePicture(); StorePicture(); - if(m_bSF) m_pSF->Copy(&dlg.m_SF); - else m_pPF->Copy(&dlg.m_PF); + if(m_bSF) + { + m_pSF->Copy(&dlg.m_SF); + m_pSF->Update(true); + m_pSF->Update(false); + } + else + { + m_pPF->Copy(&dlg.m_PF); + m_pSF->Update(true); + m_pSF->Update(false); + } } } @@ -2605,13 +2562,13 @@ painter.fillRect(m_rCltRect, pMainFrame->m_BackgroundColor); //draw the background image in the viewport - if(m_bIsImageLoaded) + if(m_bIsImageLoaded && !m_BackImage.isNull()) { - int w = (int)((double)m_BackImageWidth * xscale); - int h = (int)((double)m_BackImageHeight * yscale); + int w = (int)((double)m_BackImage.width()* xscale); + int h = (int)((double)m_BackImage.height()* yscale); //the coordinates of the top left corner are measured from the center of the viewport - double xtop = VCenter.x() + m_ViewportTrans.x() - (int)((double)m_BackImageWidth /2.*xscale); - double ytop = VCenter.y() + m_ViewportTrans.y() - (int)((double)m_BackImageHeight /2.*yscale); + double xtop = VCenter.x() + m_ViewportTrans.x() - (int)((double)m_BackImage.width() /2.*xscale); + double ytop = VCenter.y() + m_ViewportTrans.y() - (int)((double)m_BackImage.height() /2.*yscale); painter.drawPixmap(xtop, ytop, w,h, m_BackImage); } @@ -2852,6 +2809,11 @@ pSettings->setValue("PFVisible", m_pPF->m_bVisible); pSettings->setValue("PFOutPoints", m_pPF->m_bOutPoints); pSettings->setValue("PFCenterLine", m_pPF->m_bCenterLine); + + pSettings->setValue("LowerRes", m_pSF->m_Intrados.m_iRes); + pSettings->setValue("UpperRes", m_pSF->m_Extrados.m_iRes); + + pSettings->setValue("LECircle", m_bLECircle); pSettings->setValue("Scale", m_bScale); pSettings->setValue("Legend", m_bShowLegend ); @@ -3101,7 +3063,7 @@ void QAFoil::StorePicture() { - if(m_StackPos>=50) + if(m_StackPos>=MAXSTACKPOS) { for (int i=1; i<MAXSTACKPOS; i++) { @@ -3277,11 +3239,6 @@ pMainFrame->m_LastDirName, "Image files (*.png *.jpg *.bmp)"); m_bIsImageLoaded = m_BackImage.load(PathName); - if(m_bIsImageLoaded) - { - m_BackImageWidth = m_BackImage.width(); - m_BackImageHeight = m_BackImage.height(); - } UpdateView(); } @@ -3308,6 +3265,89 @@ } +void QAFoil::OnInsertCtrlPt() +{ + //Inserts a point in the spline + if(g_pCurFoil) return; // Action can be performed only if the spline foil is selected + + TakePicture(); + StorePicture(); + CVector Real = MousetoReal(m_PointDown); + + if(m_bSF) + { + if(Real.y>=0) + { + m_pSF->m_Extrados.InsertPoint(Real.x,Real.y); + m_pSF->Update(true); + } + else + { + m_pSF->m_Intrados.InsertPoint(Real.x,Real.y); + m_pSF->Update(false); + } + } + else + { + if(Real.y>=0) + { + m_pPF->m_Extrados.InsertPoint(Real.x, Real.y); + m_pPF->Update(); + } + else + { + m_pPF->m_Intrados.InsertPoint(Real.x, Real.y); + m_pPF->Update(); + } + } +} + + +void QAFoil::OnRemoveCtrlPt() +{ + //Removes a point in the spline + if(g_pCurFoil) return; // Action can be performed only if the spline foil is selected + TakePicture(); + StorePicture(); + + CVector Real = MousetoReal(m_PointDown); + + if(m_bSF) + { + int n = m_pSF->m_Extrados.IsControlPoint(Real, m_fScale/m_fRefScale); + if (n>=0) + { + m_pSF->m_Extrados.RemovePoint(n); + m_pSF->Update(true); + } + else + { + int n=m_pSF->m_Intrados.IsControlPoint(Real, m_fScale/m_fRefScale); + if (n>=0) + { + m_pSF->m_Intrados.RemovePoint(n); + m_pSF->Update(false); + } + } + } + else + { + int n = m_pPF->m_Extrados.IsControlPoint(Real, m_fScale/m_fRefScale); + if (n>=0) + { + m_pPF->m_Extrados.RemovePoint(n); + m_pPF->Update(); + } + else + { + int n=m_pPF->m_Intrados.IsControlPoint(Real, m_fScale/m_fRefScale); + if (n>=0) m_pPF->m_Intrados.RemovePoint(n); + m_pPF->Update(); + } + } +} + + diff -Nru xflr5-6.05/src/Design/AFoil.h xflr5-6.06/src/Design/AFoil.h --- xflr5-6.05/src/Design/AFoil.h 2011-07-03 17:30:25.000000000 +0900 +++ xflr5-6.06/src/Design/AFoil.h 2012-01-23 02:03:59.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** QAFoil Class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -132,7 +132,8 @@ void OnColumnWidths(); void OnLoadBackImage(); void OnClearBackImage(); - + void OnInsertCtrlPt(); + void OnRemoveCtrlPt(); private: @@ -251,13 +252,12 @@ QCursor m_hcCross; Picture m_TmpPic; - Picture m_UndoPic[MAXPICTURESIZE]; + Picture m_UndoPic[MAXSTACKPOS]; int m_CurrentColumn; bool m_bIsImageLoaded; QPixmap m_BackImage; - int m_BackImageWidth, m_BackImageHeight; }; #endif // QAFOIL_H diff -Nru xflr5-6.05/src/Design/AFoilGridDlg.cpp xflr5-6.06/src/Design/AFoilGridDlg.cpp --- xflr5-6.05/src/Design/AFoilGridDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Design/AFoilGridDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** AFoilGridDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Design/AFoilGridDlg.h xflr5-6.06/src/Design/AFoilGridDlg.h --- xflr5-6.05/src/Design/AFoilGridDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Design/AFoilGridDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** AFoilGridDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Design/AFoilTableDlg.cpp xflr5-6.06/src/Design/AFoilTableDlg.cpp --- xflr5-6.05/src/Design/AFoilTableDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Design/AFoilTableDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** AFoilTableDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Design/AFoilTableDlg.h xflr5-6.06/src/Design/AFoilTableDlg.h --- xflr5-6.05/src/Design/AFoilTableDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Design/AFoilTableDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** AFoilGridDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Design/FoilTableDelegate.cpp xflr5-6.06/src/Design/FoilTableDelegate.cpp --- xflr5-6.05/src/Design/FoilTableDelegate.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Design/FoilTableDelegate.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** FoilTableDelegate Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,8 +19,8 @@ *****************************************************************************/ +#include <QApplication> -#include <QtGui> #include "FoilTableDelegate.h" #include "AFoil.h" #include "../Globals.h" diff -Nru xflr5-6.05/src/Design/FoilTableDelegate.h xflr5-6.06/src/Design/FoilTableDelegate.h --- xflr5-6.05/src/Design/FoilTableDelegate.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Design/FoilTableDelegate.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** FoilTableDelegate Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Design/LECircleDlg.cpp xflr5-6.06/src/Design/LECircleDlg.cpp --- xflr5-6.05/src/Design/LECircleDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Design/LECircleDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** LECircleDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Design/LECircleDlg.h xflr5-6.06/src/Design/LECircleDlg.h --- xflr5-6.05/src/Design/LECircleDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Design/LECircleDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** LECircleDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Design/SplineCtrlsDlg.cpp xflr5-6.06/src/Design/SplineCtrlsDlg.cpp --- xflr5-6.05/src/Design/SplineCtrlsDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Design/SplineCtrlsDlg.cpp 2012-01-13 07:33:39.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** SplineCtrlsDlg - Copyright (C) 2009-2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,6 +18,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *****************************************************************************/ + #include "SplineCtrlsDlg.h" #include <QGridLayout> #include <QGroupBox> @@ -221,8 +222,6 @@ connect(m_pctrlDegIntrados, SIGNAL(activated(int)), this, SLOT(OnSelChangeDegree())); connect(m_pctrlOutExtrados, SIGNAL(editingFinished()), this, SLOT(OnEditingFinished())); connect(m_pctrlOutIntrados, SIGNAL(editingFinished()), this, SLOT(OnEditingFinished())); - connect(m_pUpperFloatDelegate, SIGNAL(closeEditor(QWidget *)), this, SLOT(OnUpperCellChanged(QWidget *))); - connect(m_pLowerFloatDelegate, SIGNAL(closeEditor(QWidget *)), this, SLOT(OnLowerCellChanged(QWidget *))); } diff -Nru xflr5-6.05/src/Design/SplineCtrlsDlg.h xflr5-6.06/src/Design/SplineCtrlsDlg.h --- xflr5-6.05/src/Design/SplineCtrlsDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Design/SplineCtrlsDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** SplineCtrlsDlg - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/GLWidget.cpp xflr5-6.06/src/GLWidget.cpp --- xflr5-6.05/src/GLWidget.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/GLWidget.cpp 2012-01-13 07:33:39.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** GLWidget Class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009-2012 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,7 +24,6 @@ #define GLWINGVIEW 7 -#include <QtGui> #include <QtOpenGL> #include "MainFrame.h" #include "Miarex/Miarex.h" @@ -288,7 +287,470 @@ // GL3dWingDlg *pDlg = (GL3dWingDlg*)m_pParent; // pDlg->m_3DWingRect = m_rCltRect; } + else if(m_iView == GLBODYVIEW) + { + GL3dBodyDlg *pDlg = (GL3dBodyDlg*)m_pParent; + pDlg->m_bIs3DScaleSet = false; + pDlg->SetRectangles(); + pDlg->SetBodyScale(); + pDlg->SetBodyLineScale(); + pDlg->SetFrameScale(); + } +} + + + + +void GLWidget::CreateArcballList(ArcBall &ArcBall, double GLScale) +{ + int row, col, NumAngles, NumCircles; + double R, lat_incr, lon_incr, phi, theta; + ArcBall.GetMatrix(); + CVector eye(0.0,0.0,1.0); + CVector up(0.0,1.0,0.0); + ArcBall.SetZoom(0.45,eye,up); + + glNewList(ARCBALL,GL_COMPILE); + { + glPolygonMode(GL_FRONT_AND_BACK,GL_LINE); + + glColor3d(0.3,0.3,.5); + glLineWidth(1.0); + + R = ArcBall.ab_sphere; + + NumAngles = 50; + NumCircles = 6; + lat_incr = 90.0 / NumAngles; + lon_incr = 360.0 / NumCircles; + + for (col = 0; col < NumCircles; col++) + { + glBegin(GL_LINE_STRIP); + { + phi = (col * lon_incr) * PI/180.0; + + for (row = 1; row < NumAngles-1; row++) + { + theta = (row * lat_incr) * PI/180.0; + glVertex3d(R*cos(phi)*cos(theta)*GLScale, R*sin(theta)*GLScale, R*sin(phi)*cos(theta)*GLScale); + } + } + glEnd(); + glBegin(GL_LINE_STRIP); + { + phi = (col * lon_incr ) * PI/180.0; + + for (row = 1; row < NumAngles-1; row++) + { + theta = -(row * lat_incr) * PI/180.0; + glVertex3d(R*cos(phi)*cos(theta)*GLScale, R*sin(theta)*GLScale, R*sin(phi)*cos(theta)*GLScale); + } + } + glEnd(); + } + + + glBegin(GL_LINE_STRIP); + { + theta = 0.; + for(col=1; col<35; col++) + { + phi = (0.0 + (double)col*360.0/72.0) * PI/180.0; + glVertex3d(R * cos(phi) * cos(theta)*GLScale, R * sin(theta)*GLScale, R * sin(phi) * cos(theta)*GLScale); + } + } + glEnd(); + + glBegin(GL_LINE_STRIP); + { + theta = 0.; + for(col=1; col<35; col++) + { + phi = (0.0 + (double)col*360.0/72.0) * PI/180.0; + glVertex3d(R * cos(-phi) * cos(theta)*GLScale, R * sin(theta)*GLScale, R * sin(-phi) * cos(theta)*GLScale); + } + } + glEnd(); + } + glEndList(); + + glNewList(ARCPOINT,GL_COMPILE); + { + glPolygonMode(GL_FRONT,GL_LINE); + + glColor3d(0.3,0.1,.2); + glLineWidth(2.0); + + NumAngles = 10; + + lat_incr = 30.0 / NumAngles; + lon_incr = 30.0 / NumAngles; + + glBegin(GL_LINE_STRIP); + { + phi = 0.0;//longitude + + for (row = -NumAngles; row < NumAngles; row++) + { + theta = (row * lat_incr) * PI/180.0; + glVertex3d(R*cos(phi)*cos(theta)*GLScale, R*sin(theta)*GLScale, R*sin(phi)*cos(theta)*GLScale); + } + } + glEnd(); + + glBegin(GL_LINE_STRIP); + { + theta = 0.; + for(col=-NumAngles; col<NumAngles; col++) + { + phi = (0.0 + (double)col*30.0/NumAngles) * PI/180.0; + glVertex3d(R * cos(phi) * cos(theta)*GLScale, R * sin(theta)*GLScale, R * sin(phi) * cos(theta)*GLScale); + } + } + glEnd(); + } + glEndList(); +} + + + + +void GLWidget::GLDrawAxes(double length, QColor AxisColor, int AxisStyle, int AxisWidth) +{ + // + // Draws the axis in the OpenGL view + // + + MainFrame * pMainFrame =(MainFrame*)s_pMainFrame; + double l = .6*length; + + glPolygonMode(GL_FRONT,GL_LINE); + glLineWidth((GLfloat)(AxisWidth)); + + glColor3d(AxisColor.redF(),AxisColor.greenF(),AxisColor.blueF()); + + glEnable (GL_LINE_STIPPLE); + + if (AxisStyle == DASHLINE) glLineStipple(1, 0xCFCF); + else if(AxisStyle == DOTLINE) glLineStipple(1, 0x6666); + else if(AxisStyle == DASHDOTLINE) glLineStipple(1, 0xFF18); + else if(AxisStyle == DASHDOTDOTLINE) glLineStipple(1, 0x7E66); + else glLineStipple(1, 0xFFFF);//Solid + + // X axis____________ + glBegin(GL_LINES); + glVertex3d(-l, 0.0, 0.0); + glVertex3d( l, 0.0, 0.0); + glEnd(); + //Arrow + glBegin(GL_LINES); + glVertex3d( 1.0*l, 0.0, 0.0); + glVertex3d( 0.98*l, 0.015*l, 0.015*l); + glEnd(); + glBegin(GL_LINES); + glVertex3d( 1.0*l, 0.0, 0.0); + glVertex3d( 0.98*l,-0.015*l,-0.015*l); + glEnd(); + glDisable (GL_LINE_STIPPLE); + //XLabel + renderText( l, 0.0, 0.0, "X", pMainFrame->m_TextFont); + + + // Y axis____________ + glEnable (GL_LINE_STIPPLE); + glBegin(GL_LINES); + glVertex3d(0.0, -l, 0.0); + glVertex3d(0.0, l, 0.0); + glEnd(); + + //Arrow + glBegin(GL_LINES); + glVertex3d( 0.0, 1.0*l, 0.0); + glVertex3d( 0.015*l, 0.98*l, 0.015*l); + glEnd(); + glBegin(GL_LINES); + glVertex3d( 0.0, 1.0*l, 0.0); + glVertex3d(-0.015*l, 0.98*l,-0.015*l); + glEnd(); + glDisable (GL_LINE_STIPPLE); + //Y Label + renderText( 0.0, l, 0.0, "Y", pMainFrame->m_TextFont); + + + // Z axis____________ + glEnable (GL_LINE_STIPPLE); + glBegin(GL_LINES); + glVertex3d(0.0, 0.0, -l); + glVertex3d(0.0, 0.0, l); + glEnd(); + + //Arrow + glBegin(GL_LINES); + glVertex3d( 0.0, 0.0, 1.0*l); + glVertex3d( 0.015*l, 0.015*l, 0.98*l); + glEnd(); + glBegin(GL_LINES); + glVertex3d( 0.0, 0.0, 1.0*l); + glVertex3d(-0.015*l, -0.015*l, 0.98*l); + glEnd(); + glDisable (GL_LINE_STIPPLE); + //ZLabel + renderText( 0.0, 0.0, l, "Z", pMainFrame->m_TextFont); + + glDisable (GL_LINE_STIPPLE); +} + + + + + + +void GLWidget::GLRenderSphere(QColor cr, double radius, int NumLongitudes, int NumLatitudes) +{ + // + // Render the sphere representing the light or point masses + // + static double start_lat, start_lon,lat_incr, lon_incr, R; + static double phi1, phi2, theta1, theta2; + static GLdouble u[3], v[3], w[3], n[3]; + static int row, col; + + glDisable(GL_TEXTURE_2D); + glPolygonMode(GL_FRONT,GL_FILL); + glBegin(GL_TRIANGLES); + glColor3d(cr.redF(),cr.greenF(),cr.blueF()); + + start_lat = -90; + start_lon = 0.0; + R = radius; + + lat_incr = 180.0 / NumLatitudes; + lon_incr = 360.0 / NumLongitudes; + + for (col = 0; col < NumLongitudes; col++) + { + phi1 = (start_lon + col * lon_incr) * PI/180.0; + phi2 = (start_lon + (col + 1) * lon_incr) * PI/180.0; + + for (row = 0; row < NumLatitudes; row++) + { + theta1 = (start_lat + row * lat_incr) * PI/180.0; + theta2 = (start_lat + (row + 1) * lat_incr) * PI/180.0; + + u[0] = R * cos(phi1) * cos(theta1);//x + u[1] = R * sin(theta1);//y + u[2] = R * sin(phi1) * cos(theta1);//z + + v[0] = R * cos(phi1) * cos(theta2);//x + v[1] = R * sin(theta2);//y + v[2] = R * sin(phi1) * cos(theta2);//z + + w[0] = R * cos(phi2) * cos(theta2);//x + w[1] = R * sin(theta2);//y + w[2] = R * sin(phi2) * cos(theta2);//z + + NormalVector(u,v,w,n); + + glNormal3dv(n); + glVertex3dv(u); + glVertex3dv(v); + glVertex3dv(w); + + v[0] = R * cos(phi2) * cos(theta1);//x + v[1] = R * sin(theta1);//y + v[2] = R * sin(phi2) * cos(theta1);//z + + NormalVector(u,w,v,n); + glNormal3dv(n); + glVertex3dv(u); + glVertex3dv(w); + glVertex3dv(v); + } + } + glEnd(); } +void GLWidget::NormalVector(GLdouble p1[3], GLdouble p2[3], GLdouble p3[3], GLdouble n[3]) +{ + // + // calculate two vectors, using the middle point as the common origin + // + + GLdouble v1[3], v2[3], d; + v1[0] = p3[0] - p1[0]; + v1[1] = p3[1] - p1[1]; + v1[2] = p3[2] - p1[2]; + v2[0] = p3[0] - p2[0]; + v2[1] = p3[1] - p2[1]; + v2[2] = p3[2] - p2[2]; + + // calculate the cross product of the two vectors + n[0] = v1[1] * v2[2] - v2[1] * v1[2]; + n[1] = v1[2] * v2[0] - v2[2] * v1[0]; + n[2] = v1[0] * v2[1] - v2[0] * v1[1]; + + // normalize the vector + d = ( n[0] * n[0] + n[1] * n[1] + n[2] * n[2] ); + // try to catch very small vectors + if (d < (GLdouble)0.00000001) + { + d = (GLdouble)100000000.0; + } + else + { + d = (GLdouble)1.0 / sqrt(d); + } + + n[0] *= d; + n[1] *= d; + n[2] *= d; +} + + +void GLWidget::GLSetupLight(GLLightDlg &glLightParams, double Offset_y, double LightFactor) +{ + // + // Sets the light parameters for the OpenGl display + // + + glEnable(GL_LIGHTING); + glEnable(GL_LIGHT0); // the ambient light + glDisable(GL_LIGHT1); + glDisable(GL_LIGHT2); + glDisable(GL_LIGHT3); + glDisable(GL_LIGHT4); + glDisable(GL_LIGHT5); + glDisable(GL_LIGHT6); + glDisable(GL_LIGHT7); + + float fLightAmbient0[4]; + float fLightDiffuse0[4]; + float fLightSpecular0[4]; + float fLightPosition0[4]; + + if(LightFactor>1.0) LightFactor = 1.0f; + + // the ambient light conditions. + fLightAmbient0[0] = LightFactor*glLightParams.s_Ambient * glLightParams.s_Red; // red component + fLightAmbient0[1] = LightFactor*glLightParams.s_Ambient * glLightParams.s_Green; // green component + fLightAmbient0[2] = LightFactor*glLightParams.s_Ambient * glLightParams.s_Blue; // blue component + fLightAmbient0[3] = 1.0; // alpha + + fLightDiffuse0[0] = LightFactor*glLightParams.s_Diffuse * glLightParams.s_Red; // red component + fLightDiffuse0[1] = LightFactor*glLightParams.s_Diffuse * glLightParams.s_Green; // green component + fLightDiffuse0[2] = LightFactor*glLightParams.s_Diffuse * glLightParams.s_Blue; // blue component + fLightDiffuse0[3] = 1.0; // alpha + + fLightSpecular0[0] = LightFactor*glLightParams.s_Specular * glLightParams.s_Red; // red component + fLightSpecular0[1] = LightFactor*glLightParams.s_Specular * glLightParams.s_Green; // green component + fLightSpecular0[2] = LightFactor*glLightParams.s_Specular * glLightParams.s_Blue; // blue component + fLightSpecular0[3] = 1.0; // alpha + + // And finally, its position + + fLightPosition0[0] = (GLfloat)((glLightParams.s_XLight)); + fLightPosition0[1] = (GLfloat)((glLightParams.s_YLight + Offset_y)); + fLightPosition0[2] = (GLfloat)((glLightParams.s_ZLight)); + fLightPosition0[3] = 1.0; // W (positional light) + + + + // Enable the basic light + glLightfv(GL_LIGHT0, GL_AMBIENT, fLightAmbient0); + glLightfv(GL_LIGHT0, GL_DIFFUSE, fLightDiffuse0); + glLightfv(GL_LIGHT0, GL_SPECULAR, fLightSpecular0); + glLightfv(GL_LIGHT0, GL_POSITION, fLightPosition0); + + + float fMatAmbient[4] = {glLightParams.s_MatAmbient, glLightParams.s_MatAmbient, glLightParams.s_MatAmbient, 1.0f}; + float fMatSpecular[4] = {glLightParams.s_MatSpecular, glLightParams.s_MatSpecular, glLightParams.s_MatSpecular, 1.0f}; + float fMatDiffuse[4] = {glLightParams.s_MatDiffuse, glLightParams.s_MatDiffuse, glLightParams.s_MatDiffuse, 1.0f}; + float fMatEmission[4] = {glLightParams.s_MatEmission, glLightParams.s_MatEmission, glLightParams.s_MatEmission, 1.0f}; + + if(glLightParams.s_bColorMaterial) + { + glEnable(GL_COLOR_MATERIAL); + glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE); +// glColorMaterial(GL_FRONT, GL_AMBIENT); +// glColorMaterial(GL_FRONT, GL_DIFFUSE); +// glColorMaterial(GL_FRONT, GL_SPECULAR); + + } + else + { + glDisable(GL_COLOR_MATERIAL); + + } + glMaterialfv(GL_FRONT, GL_SPECULAR, fMatSpecular); + glMaterialfv(GL_FRONT, GL_AMBIENT, fMatAmbient); + glMaterialfv(GL_FRONT, GL_DIFFUSE, fMatDiffuse); + glMaterialfv(GL_FRONT, GL_EMISSION, fMatEmission); + glMateriali( GL_FRONT, GL_SHININESS, glLightParams.s_iMatShininess); + + if(glLightParams.s_bDepthTest) glEnable(GL_DEPTH_TEST); else glDisable(GL_DEPTH_TEST); + if(glLightParams.s_bCullFaces) glEnable(GL_CULL_FACE); else glDisable(GL_CULL_FACE); + if(glLightParams.s_bSmooth) glEnable(GL_POLYGON_SMOOTH); else glDisable(GL_POLYGON_SMOOTH); + if(glLightParams.s_bShade) glShadeModel(GL_SMOOTH); else glShadeModel(GL_FLAT); + + if(glLightParams.s_bLocalView) glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER ,0); + else glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER ,1); + + glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,0); +} + + +void GLWidget::ClientToGL(QPoint const &point, CVector &real) +{ + // + // In input, takes the 2D point in screen client area coordinates + // In output, returns the 2D OpenGL point + // + static double h2, w2; + h2 = (double)geometry().height() /2.0; + w2 = (double)geometry().width() /2.0; + + if(w2>h2) + { + real.x = ((double)point.x() - w2) / w2; + real.y = -((double)point.y() - h2) / w2; + } + else + { + real.x = ((double)point.x() - w2) / h2; + real.y = -((double)point.y() - h2) / h2; + } +} + + + +void GLWidget::GLToClient(CVector const &real, QPoint &point) +{ + // + //converts an opengl 2D vector to screen client coordinates + // + static double dx, dy, h2, w2; + + h2 = m_GLViewRect.height() /2.0; + w2 = m_GLViewRect.width() /2.0; + + dx = ( real.x + w2)/2.0; + dy = (-real.y + h2)/2.0; + + if(w2>h2) + { + point.setX((int)(dx * (double)geometry().width())); + point.setY((int)(dy * (double)geometry().width())); + } + else + { + point.setX((int)(dx * (double)geometry().height())); + point.setY((int)(dy * (double)geometry().height())); + } +} + + + + diff -Nru xflr5-6.05/src/GLWidget.h xflr5-6.06/src/GLWidget.h --- xflr5-6.05/src/GLWidget.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/GLWidget.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** GLWidget Class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009-2012 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,6 +26,8 @@ #include <QGLWidget> #include "Params.h" #include "Objects/CRectangle.h" +#include "Miarex/ArcBall.h" +#include "Miarex/GLLightDlg.h" class GLWidget : public QGLWidget { @@ -39,6 +41,13 @@ public: GLWidget(QWidget *parent = 0); + void CreateArcballList(ArcBall &ArcBall, double GLScale); + void NormalVector(GLdouble p1[3], GLdouble p2[3], GLdouble p3[3], GLdouble n[3]); + void GLRenderSphere(QColor cr, double radius, int NumLongitudes, int NumLatitudes); + void GLDrawAxes(double length, QColor AxisColor, int AxisStyle, int AxisWidth); + void GLSetupLight(GLLightDlg &glLightParams, double Offset_y, double LightFactor); + void ClientToGL(QPoint const &point, CVector &real); + void GLToClient(CVector const &real, QPoint &point); private: @@ -58,6 +67,7 @@ private slots: private: + void *m_pParent; static void *s_pMiarex; static void *s_pMainFrame; diff -Nru xflr5-6.05/src/Globals.cpp xflr5-6.06/src/Globals.cpp --- xflr5-6.05/src/Globals.cpp 2011-07-06 05:13:34.000000000 +0900 +++ xflr5-6.06/src/Globals.cpp 2012-01-15 19:44:55.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Globals Class - Copyright (C) 2008-2011 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2008-2011 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -451,9 +451,12 @@ } + void ReynoldsFormat(QString &str, double f) { int i, q, r, exp; + f = (int(f/1000.0))*1000.0; + exp = (int)log10(f); r = exp%3; q = (exp-r)/3; @@ -2690,8 +2693,8 @@ if(n>50) return false; int i,size; - double M[16*MAXSTATIONS*MAXSTATIONS];// size is 4 coefs x maxstations - double RHS[4*MAXSTATIONS*MAXSTATIONS]; + double M[16*MAXSPANSTATIONS*MAXSPANSTATIONS];// size is 4 coefs x MAXSPANSTATIONS + double RHS[4*MAXSPANSTATIONS*MAXSPANSTATIONS]; memset(M, 0, 16*n*n*sizeof(double)); memset(RHS, 0, 4*n*sizeof(double)); diff -Nru xflr5-6.05/src/Globals.h xflr5-6.06/src/Globals.h --- xflr5-6.05/src/Globals.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Globals.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Global Functions - Copyright (C) 2008-2010 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2008-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Graph/Curve.cpp xflr5-6.06/src/Graph/Curve.cpp --- xflr5-6.05/src/Graph/Curve.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Graph/Curve.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Curve Class - Copyright (C) 2003-2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Graph/Curve.h xflr5-6.06/src/Graph/Curve.h --- xflr5-6.05/src/Graph/Curve.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Graph/Curve.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Curve Class - Copyright (C) 2003-2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003-2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Graph/Graph.cpp xflr5-6.06/src/Graph/Graph.cpp --- xflr5-6.05/src/Graph/Graph.cpp 2011-07-06 05:13:34.000000000 +0900 +++ xflr5-6.06/src/Graph/Graph.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Graph Classes - Copyright (C) 2003-2010 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Graph/Graph.h xflr5-6.06/src/Graph/Graph.h --- xflr5-6.05/src/Graph/Graph.h 2011-07-06 05:13:34.000000000 +0900 +++ xflr5-6.06/src/Graph/Graph.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Graph Classes - Copyright (C) 2003 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Graph/GraphDlg.cpp xflr5-6.06/src/Graph/GraphDlg.cpp --- xflr5-6.05/src/Graph/GraphDlg.cpp 2011-07-02 04:09:24.000000000 +0900 +++ xflr5-6.06/src/Graph/GraphDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** GraphDlg Classes - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -188,7 +188,7 @@ m_pctrlXSel->addItem(tr("Total pitching moment coef."));//5 m_pctrlXSel->addItem(tr("Viscous pitching moment coef."));//6 m_pctrlXSel->addItem(tr("Induced pitching moment coef."));//7 - m_pctrlXSel->addItem(tr("Total rolling moment coef.")); //8 + m_pctrlXSel->addItem(tr("Total rolling moment coef.")); //8 m_pctrlXSel->addItem(tr("Total yawing moment coef.")); //9 m_pctrlXSel->addItem(tr("Viscous yawing moment coef."));//10 m_pctrlXSel->addItem(tr("Induced yawing moment coef."));//11 @@ -196,32 +196,33 @@ m_pctrlXSel->addItem(tr("Glide ratio Cl/Cd")); //12 m_pctrlXSel->addItem(tr("Power factor Cl^(3/2)/Cd")); //13 m_pctrlXSel->addItem(tr("1/Rt(Cl)")); //14 - m_pctrlXSel->addItem(tr("Lift")); //15 - m_pctrlXSel->addItem(tr("Drag")); //16 - m_pctrlXSel->addItem(tr("Vx")); //17 - m_pctrlXSel->addItem(tr("Vz")); //18 - m_pctrlXSel->addItem(tr("VInf")); //19 - m_pctrlXSel->addItem(tr("Descent angle atan(Cd/Cl)")); //20 - m_pctrlXSel->addItem(tr("Pitching Moment")); //21 - m_pctrlXSel->addItem(tr("Rolling Moment")); //22 - m_pctrlXSel->addItem(tr("Yawing Moment")); //23 - m_pctrlXSel->addItem(tr("Centre of pressure X-Pos")); //24 - m_pctrlXSel->addItem(tr("Centre of pressure Y-Pos")); //25 - m_pctrlXSel->addItem(tr("Bending moment")); //26 - m_pctrlXSel->addItem(tr("m.g.Vz")); //27 - m_pctrlXSel->addItem(tr("Efficiency")); //28 - m_pctrlXSel->addItem(tr("(XCp-Xcg)/MAC")); //29 - m_pctrlXSel->addItem(tr("Control Variable")); //30 - m_pctrlXSel->addItem(tr("Cy - Lateral force coef.")); //31 - m_pctrlXSel->addItem(tr("Neutral Point x-position")); //32 - m_pctrlXSel->addItem(tr("Phugoid Frequency")); //33 - m_pctrlXSel->addItem(tr("Phugoid Damping")); //34 - m_pctrlXSel->addItem(tr("Short Period Frequency")); //33 - m_pctrlXSel->addItem(tr("Short Period Damping")); //34 - m_pctrlXSel->addItem(tr("Dutch Roll Frequency")); //37 - m_pctrlXSel->addItem(tr("Dutch Roll Damping")); //38 - m_pctrlXSel->addItem(tr("Roll Damping")); //39 - m_pctrlXSel->addItem(tr("Spiral Damping")); //40 + m_pctrlXSel->addItem(tr("FX (Drag)")); //15 + m_pctrlXSel->addItem(tr("FY (Side force)")); //16 + m_pctrlXSel->addItem(tr("FZ (Lift)")); //17 + m_pctrlXSel->addItem(tr("Vx")); //18 + m_pctrlXSel->addItem(tr("Vz")); //19 + m_pctrlXSel->addItem(tr("VInf")); //20 + m_pctrlXSel->addItem(tr("Descent angle atan(Cd/Cl)")); //21 + m_pctrlXSel->addItem(tr("Pitching Moment")); //22 + m_pctrlXSel->addItem(tr("Rolling Moment")); //23 + m_pctrlXSel->addItem(tr("Yawing Moment")); //24 + m_pctrlXSel->addItem(tr("Centre of pressure X-Pos")); //25 + m_pctrlXSel->addItem(tr("Centre of pressure Y-Pos")); //26 + m_pctrlXSel->addItem(tr("Bending moment")); //27 + m_pctrlXSel->addItem(tr("m.g.Vz")); //28 + m_pctrlXSel->addItem(tr("Efficiency")); //29 + m_pctrlXSel->addItem(tr("(XCp-Xcg)/MAC")); //30 + m_pctrlXSel->addItem(tr("Control Variable")); //31 + m_pctrlXSel->addItem(tr("Cy - Lateral force coef.")); //32 + m_pctrlXSel->addItem(tr("Neutral Point x-position")); //33 + m_pctrlXSel->addItem(tr("Phugoid Frequency")); //34 + m_pctrlXSel->addItem(tr("Phugoid Damping")); //35 + m_pctrlXSel->addItem(tr("Short Period Frequency")); //36 + m_pctrlXSel->addItem(tr("Short Period Damping")); //37 + m_pctrlXSel->addItem(tr("Dutch Roll Frequency")); //38 + m_pctrlXSel->addItem(tr("Dutch Roll Damping")); //39 + m_pctrlXSel->addItem(tr("Roll Damping")); //40 + m_pctrlXSel->addItem(tr("Spiral Damping")); //41 //Y variable @@ -243,32 +244,33 @@ m_pctrlYSel->addItem(tr("Glide ratio Cl/Cd")); //12 m_pctrlYSel->addItem(tr("Power factor Cl^(3/2)/Cd")); //13 m_pctrlYSel->addItem(tr("1/Rt(Cl)")); //14 - m_pctrlYSel->addItem(tr("Lift")); //15 - m_pctrlYSel->addItem(tr("Drag")); //16 - m_pctrlYSel->addItem(tr("Vx")); //17 - m_pctrlYSel->addItem(tr("Vz")); //18 - m_pctrlYSel->addItem(tr("VInf")); //19 - m_pctrlYSel->addItem(tr("Descent angle atan(Cd/Cl)")); //20 - m_pctrlYSel->addItem(tr("Pitching Moment")); //21 - m_pctrlYSel->addItem(tr("Rolling Moment")); //22 - m_pctrlYSel->addItem(tr("Yawing Moment")); //23 - m_pctrlYSel->addItem(tr("Centre of pressure X-Pos")); //24 - m_pctrlYSel->addItem(tr("Centre of pressure Y-Pos")); //25 - m_pctrlYSel->addItem(tr("Bending moment")); //26 - m_pctrlYSel->addItem(tr("m.g.Vz")); //27 - m_pctrlYSel->addItem(tr("Efficiency")); //28 - m_pctrlYSel->addItem(tr("(XCp-Xcg)/MAC")); //29 - m_pctrlYSel->addItem(tr("Control Variable")); //30 - m_pctrlYSel->addItem(tr("Cy - Lateral force coef.")); //31 - m_pctrlYSel->addItem(tr("Neutral Point x-position")); //32 - m_pctrlYSel->addItem(tr("Phugoid Frequency")); //33 - m_pctrlYSel->addItem(tr("Phugoid Damping")); //34 - m_pctrlYSel->addItem(tr("Short Period Frequency")); //35 - m_pctrlYSel->addItem(tr("Short Period Damping")); //36 - m_pctrlYSel->addItem(tr("Dutch Roll Frequency")); //37 - m_pctrlYSel->addItem(tr("Dutch Roll Damping")); //38 - m_pctrlYSel->addItem(tr("Roll Damping")); //39 - m_pctrlYSel->addItem(tr("Spiral Damping")); //40 + m_pctrlYSel->addItem(tr("FX (Drag)")); //15 + m_pctrlYSel->addItem(tr("FY (Side force)")); //16 + m_pctrlYSel->addItem(tr("FZ (Lift)")); //17 + m_pctrlYSel->addItem(tr("Vx")); //18 + m_pctrlYSel->addItem(tr("Vz")); //19 + m_pctrlYSel->addItem(tr("VInf")); //20 + m_pctrlYSel->addItem(tr("Descent angle atan(Cd/Cl)")); //21 + m_pctrlYSel->addItem(tr("Pitching Moment")); //22 + m_pctrlYSel->addItem(tr("Rolling Moment")); //23 + m_pctrlYSel->addItem(tr("Yawing Moment")); //24 + m_pctrlYSel->addItem(tr("Centre of pressure X-Pos")); //25 + m_pctrlYSel->addItem(tr("Centre of pressure Y-Pos")); //26 + m_pctrlYSel->addItem(tr("Bending moment")); //27 + m_pctrlYSel->addItem(tr("m.g.Vz")); //28 + m_pctrlYSel->addItem(tr("Efficiency")); //29 + m_pctrlYSel->addItem(tr("(XCp-Xcg)/MAC")); //30 + m_pctrlYSel->addItem(tr("Control Variable")); //31 + m_pctrlYSel->addItem(tr("Cy - Lateral force coef.")); //32 + m_pctrlYSel->addItem(tr("Neutral Point x-position")); //33 + m_pctrlYSel->addItem(tr("Phugoid Frequency")); //34 + m_pctrlYSel->addItem(tr("Phugoid Damping")); //35 + m_pctrlYSel->addItem(tr("Short Period Frequency")); //36 + m_pctrlYSel->addItem(tr("Short Period Damping")); //37 + m_pctrlYSel->addItem(tr("Dutch Roll Frequency")); //38 + m_pctrlYSel->addItem(tr("Dutch Roll Damping")); //39 + m_pctrlYSel->addItem(tr("Roll Damping")); //40 + m_pctrlYSel->addItem(tr("Spiral Damping")); //41 } else if(m_iGraphType == 64) { @@ -441,13 +443,9 @@ void GraphDlg::OnGraphBackColor() { QColor BkColor = m_pGraph->GetBackColor(); + BkColor = QColorDialog::getColor(BkColor); + if(BkColor.isValid()) m_pGraph->SetBkColor(BkColor); - bool bOK; - QRgb rgb = BkColor.rgba(); - rgb = QColorDialog::getRgba(rgb, &bOK); - BkColor = QColor::fromRgba(rgb); - - m_pGraph->SetBkColor(BkColor); m_pctrlGraphBack->SetColor(m_pGraph->GetBackColor()); SetButtonColors(); SetApplied(false); diff -Nru xflr5-6.05/src/Graph/GraphDlg.h xflr5-6.06/src/Graph/GraphDlg.h --- xflr5-6.05/src/Graph/GraphDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Graph/GraphDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** GraphDlg Classes - Copyright (C) 2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,7 +27,7 @@ #include <QListWidget> #include <QLabel> #include <QCheckBox> -//#include <QtGui> + #include "../Graph/Graph.h" #include "../Misc/FloatEdit.h" #include "../Misc/ColorButton.h" diff -Nru xflr5-6.05/src/Graph/GraphWidget.cpp xflr5-6.06/src/Graph/GraphWidget.cpp --- xflr5-6.05/src/Graph/GraphWidget.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Graph/GraphWidget.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** GraphWidget Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Graph/GraphWidget.h xflr5-6.06/src/Graph/GraphWidget.h --- xflr5-6.05/src/Graph/GraphWidget.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Graph/GraphWidget.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** GraphWidget Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Graph/QGraph.cpp xflr5-6.06/src/Graph/QGraph.cpp --- xflr5-6.05/src/Graph/QGraph.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Graph/QGraph.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** QGraph Classes - Copyright (C) 2008-2010 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2008-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Graph/QGraph.h xflr5-6.06/src/Graph/QGraph.h --- xflr5-6.05/src/Graph/QGraph.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Graph/QGraph.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** QGraph Classes - Copyright (C) 2008-2010 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2008-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Main.cpp xflr5-6.06/src/Main.cpp --- xflr5-6.05/src/Main.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Main.cpp 2012-01-15 19:44:55.000000000 +0900 @@ -2,7 +2,7 @@ QFLR5 Application - Copyright (C) 2008-2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,8 +20,6 @@ *****************************************************************************/ - -#include <QtGui/QApplication> #include "XFLR5Application.h" #include "MainFrame.h" #include <QSplashScreen> @@ -36,6 +34,5 @@ #endif XFLR5Application app(argc, argv); return app.exec(); - } diff -Nru xflr5-6.05/src/MainFrame.cpp xflr5-6.06/src/MainFrame.cpp --- xflr5-6.05/src/MainFrame.cpp 2011-07-25 04:46:33.000000000 +0900 +++ xflr5-6.06/src/MainFrame.cpp 2012-01-28 07:05:11.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** MainFrame Class - Copyright (C) 2008-2010 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2008-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,7 +27,6 @@ #include "Miarex/GL3dWingDlg.h" #include "Miarex/GL3dBodyDlg.h" #include "Miarex/GL3DScales.h" -#include "Miarex/GL3DScales.h" #include "Miarex/StabViewDlg.h" #include "Miarex/PlaneDlg.h" #include "Miarex/StabViewDlg.h" @@ -52,6 +51,9 @@ #include "XDirect/LEDlg.h" #include "XInverse/XInverse.h" +#include <QDesktopWidget> +#include <QtGui> + #ifdef Q_WS_MAC #include <CoreFoundation/CoreFoundation.h> #endif @@ -63,7 +65,7 @@ MainFrame::MainFrame(QWidget *parent, Qt::WFlags flags) : QMainWindow(parent, flags) { - m_VersionName = QString::fromLatin1("XFLR5 v6.05 beta"); + m_VersionName = QString::fromLatin1("XFLR5 v6.06"); QString jpegPluginPath; //Jpeg format requires a specific plugin to be loaded dynmically at run time @@ -120,13 +122,14 @@ m_TextFont.setStyleHint(QFont::TypeWriter, QFont::OpenGLCompatible); m_TextFont.setFamily(m_TextFont.defaultFamily()); m_TextFont.setPointSize(10); + m_TextFont.setStyleStrategy(QFont::OpenGLCompatible); m_RefGraph.SetGraphName("Reference Graph"); m_ImageFormat = 2; m_ExportFileType = 1; m_bReverseZoom = false; - + m_bAlphaChannel = false; m_bSaveOpps = false; m_bSaveWOpps = true; m_bSaveSettings = true; @@ -134,6 +137,8 @@ m_StyleName.clear(); m_GraphExportFilter = "Comma Separated Values (*.csv)"; + m_LastDirName = QDir::homePath(); + QDesktopWidget desktop; QRect r = desktop.screenGeometry(); m_DlgPos = QPoint((int)(r.width()/3), (int)(r.height()/3)); @@ -306,7 +311,7 @@ } else if(pPolar->m_Type == pOldPlr->m_Type) { - if (pPolar->m_Type !=4) + if (pPolar->m_Type != FIXEDAOAPOLAR) { //sort by re Nbr if(pPolar->m_Reynolds < pOldPlr->m_Reynolds) @@ -596,6 +601,13 @@ newSplinesAct->setStatusTip(tr("Reset the splines")); connect(newSplinesAct, SIGNAL(triggered()), pAFoil, SLOT(OnNewSplines())); + InsertSplinePt = new QAction(tr("Insert Control Point")+"\tShift+Click", this); + connect(InsertSplinePt, SIGNAL(triggered()), pAFoil, SLOT(OnInsertCtrlPt())); + + RemoveSplinePt = new QAction(tr("Remove Control Point")+"\tCtrl+Click", this); + connect(RemoveSplinePt, SIGNAL(triggered()), pAFoil, SLOT(OnRemoveCtrlPt())); + + zoomInAct= new QAction(QIcon(":/images/OnZoomIn.png"), tr("Zoom in"), this); zoomInAct->setStatusTip(tr("Zoom the view by drawing a rectangle in the client area")); connect(zoomInAct, SIGNAL(triggered()), pAFoil, SLOT(OnZoomIn())); @@ -732,6 +744,7 @@ AFoilDesignMenu->addAction(AFoilRename); AFoilDesignMenu->addAction(AFoilDelete); AFoilDesignMenu->addAction(AFoilExport); + AFoilDesignMenu->addAction(DuplicateFoil); AFoilDesignMenu->addSeparator(); AFoilDesignMenu->addAction(HideAllFoils); AFoilDesignMenu->addAction(ShowAllFoils); @@ -752,8 +765,8 @@ AFoilSplineMenu = menuBar()->addMenu(tr("&Splines")); - AFoilSplineMenu->addAction(SplinesAct); - AFoilSplineMenu->addAction(SplinedPointsAct); + AFoilSplineMenu->addAction(InsertSplinePt); + AFoilSplineMenu->addAction(RemoveSplinePt); AFoilSplineMenu->addSeparator(); AFoilSplineMenu->addAction(UndoAFoilAct); AFoilSplineMenu->addAction(RedoAFoilAct); @@ -793,6 +806,7 @@ AFoilTableCtxMenu->addAction(AFoilRename); AFoilTableCtxMenu->addAction(AFoilDelete); AFoilTableCtxMenu->addAction(AFoilExport); + AFoilTableCtxMenu->addAction(DuplicateFoil); AFoilTableCtxMenu->addSeparator(); AFoilTableCtxMenu->addAction(AFoilNormalizeFoil); AFoilTableCtxMenu->addAction(AFoilDerotateFoil); @@ -856,6 +870,7 @@ CBody::s_pMainFrame = this; CWPolar::s_pMainFrame = this; CWOpp::s_pMainFrame = this; + OpPoint::s_pMainFrame = this; LLTAnalysisDlg::s_pMainFrame = this; PanelAnalysisDlg::s_pMainFrame = this; InertiaDlg::s_pMainFrame = this; @@ -1440,269 +1455,304 @@ { //MainMenu for Miarex Application MiarexViewMenu = menuBar()->addMenu(tr("&View")); - MiarexViewMenu->addAction(WOppAct); - MiarexViewMenu->addAction(WPolarAct); - MiarexViewMenu->addAction(W3DAct); - MiarexViewMenu->addAction(CpViewAct); - MiarexViewMenu->addAction(StabTimeAct); - MiarexViewMenu->addAction(RootLocusAct); - MiarexViewMenu->addSeparator(); - MiarexViewMenu->addAction(W3DPrefsAct); - MiarexViewMenu->addAction(W3DLightAct); - MiarexViewMenu->addAction(W3DScalesAct); - MiarexViewMenu->addSeparator(); - MiarexViewMenu->addAction(saveViewToImageFileAct); + { + MiarexViewMenu->addAction(WOppAct); + MiarexViewMenu->addAction(WPolarAct); + MiarexViewMenu->addAction(W3DAct); + MiarexViewMenu->addAction(CpViewAct); + MiarexViewMenu->addAction(StabTimeAct); + MiarexViewMenu->addAction(RootLocusAct); + MiarexViewMenu->addSeparator(); + MiarexViewMenu->addAction(W3DPrefsAct); + MiarexViewMenu->addAction(W3DLightAct); + MiarexViewMenu->addAction(W3DScalesAct); + MiarexViewMenu->addSeparator(); + MiarexViewMenu->addAction(saveViewToImageFileAct); + } UFOMenu = menuBar()->addMenu(tr("&Wing-Plane")); - UFOMenu->addAction(DefineWingAct); - UFOMenu->addAction(DefinePlaneAct); - UFOMenu->addAction(ManageUFOs); - currentUFOMenu = UFOMenu->addMenu(tr("Current UFO")); - currentUFOMenu->addAction(EditUFOAct); - currentUFOMenu->addAction(renameCurUFO); - currentUFOMenu->addAction(duplicateCurUFO); - currentUFOMenu->addAction(deleteCurUFO); - currentUFOMenu->addAction(SaveUFOAsProject); - currentUFOMenu->addSeparator(); - currentUFOMenu->addAction(scaleWingAct); - currentUFOMenu->addSeparator(); - currentUFOMenu->addAction(m_pUFOInertia); - currentUFOMenu->addSeparator(); - currentUFOMenu->addAction(exporttoAVL); - currentUFOMenu->addSeparator(); - currentUFOMenu->addAction(hideUFOWPlrs); - currentUFOMenu->addAction(showUFOWPlrs); - currentUFOMenu->addAction(deleteUFOWPlrs); - currentUFOMenu->addSeparator(); - currentUFOMenu->addAction(hideUFOWOpps); - currentUFOMenu->addAction(showUFOWOpps); - currentUFOMenu->addAction(deleteUFOWOpps); + { + UFOMenu->addAction(DefineWingAct); + UFOMenu->addAction(DefinePlaneAct); + UFOMenu->addAction(ManageUFOs); + currentUFOMenu = UFOMenu->addMenu(tr("Current UFO")); + { + currentUFOMenu->addAction(EditUFOAct); + currentUFOMenu->addAction(renameCurUFO); + currentUFOMenu->addAction(duplicateCurUFO); + currentUFOMenu->addAction(deleteCurUFO); + currentUFOMenu->addAction(SaveUFOAsProject); + currentUFOMenu->addSeparator(); + currentUFOMenu->addAction(scaleWingAct); + currentUFOMenu->addSeparator(); + currentUFOMenu->addAction(m_pUFOInertia); + currentUFOMenu->addSeparator(); + currentUFOMenu->addAction(exporttoAVL); + currentUFOMenu->addSeparator(); + currentUFOMenu->addAction(hideUFOWPlrs); + currentUFOMenu->addAction(showUFOWPlrs); + currentUFOMenu->addAction(deleteUFOWPlrs); + currentUFOMenu->addSeparator(); + currentUFOMenu->addAction(hideUFOWOpps); + currentUFOMenu->addAction(showUFOWOpps); + currentUFOMenu->addAction(deleteUFOWOpps); + } + } MiarexBodyMenu = menuBar()->addMenu(tr("&Body")); - MiarexBodyMenu->addAction(defineBody); - MiarexBodyMenu->addAction(importBody); - CurBodyMenu = MiarexBodyMenu->addMenu(tr("Current Body")); - CurBodyMenu->addAction(EditCurBody); - CurBodyMenu->addAction(exportBodyDef); - CurBodyMenu->addAction(exportBodyGeom); -// CurBodyMenu->addAction(m_pBodyInertia); - MiarexBodyMenu->addSeparator(); - MiarexBodyMenu->addAction(ManageBodies); - + { + MiarexBodyMenu->addAction(defineBody); + MiarexBodyMenu->addAction(importBody); + CurBodyMenu = MiarexBodyMenu->addMenu(tr("Current Body")); + { + CurBodyMenu->addAction(EditCurBody); + CurBodyMenu->addAction(exportBodyDef); + CurBodyMenu->addAction(exportBodyGeom); + } + MiarexBodyMenu->addSeparator(); + MiarexBodyMenu->addAction(ManageBodies); + } MiarexWPlrMenu = menuBar()->addMenu(tr("&Polars")); - MiarexWPlrMenu->addAction(defineWPolar); - MiarexWPlrMenu->addAction(defineStabPolar); -// MiarexWPlrMenu->addAction(defineCtrlPolar); - CurWPlrMenu = MiarexWPlrMenu->addMenu(tr("Current Polar")); - CurWPlrMenu->addAction(ShowPolarProps); - CurWPlrMenu->addAction(editCurWPolar); - CurWPlrMenu->addAction(renameCurWPolar); - CurWPlrMenu->addAction(deleteCurWPolar); - CurWPlrMenu->addAction(exportCurWPolar); - CurWPlrMenu->addAction(resetCurWPolar); - CurWPlrMenu->addSeparator(); - CurWPlrMenu->addAction(showAllWPlrOpps); - CurWPlrMenu->addAction(hideAllWPlrOpps); - CurWPlrMenu->addAction(deleteAllWPlrOpps); - MiarexWPlrMenu->addSeparator(); - MiarexWPlrMenu->addAction(m_pImportWPolar); - MiarexWPlrMenu->addSeparator(); - MiarexWPlrMenu->addAction(MiarexPolarFilter); - MiarexWPlrMenu->addSeparator(); - MiarexWPlrMenu->addAction(hideAllWPlrs); - MiarexWPlrMenu->addAction(showAllWPlrs); - MiarexWPlrMenu->addSeparator(); - WPlrGraphMenu = MiarexWPlrMenu->addMenu(tr("Graphs")); - WPlrGraphMenu->addAction(Graph1); - WPlrGraphMenu->addAction(Graph2); - WPlrGraphMenu->addAction(Graph3); - WPlrGraphMenu->addAction(Graph4); - WPlrGraphMenu->addSeparator(); - WPlrGraphMenu->addAction(twoGraphs); - WPlrGraphMenu->addAction(fourGraphs); - WPlrGraphMenu->addSeparator(); - WPlrGraphMenu->addAction(allWPolarGraphsSettings); - WPlrGraphMenu->addAction(allWPolarGraphsScalesAct); - WPlrGraphMenu->addAction(resetWPlrLegend); - WPlrGraphMenu->addSeparator(); - WPlrGraphMenu->addAction(highlightWOppAct); + { + MiarexWPlrMenu->addAction(defineWPolar); + MiarexWPlrMenu->addAction(defineStabPolar); + + CurWPlrMenu = MiarexWPlrMenu->addMenu(tr("Current Polar")); + { + CurWPlrMenu->addAction(ShowPolarProps); + CurWPlrMenu->addAction(editCurWPolar); + CurWPlrMenu->addAction(renameCurWPolar); + CurWPlrMenu->addAction(deleteCurWPolar); + CurWPlrMenu->addAction(exportCurWPolar); + CurWPlrMenu->addAction(resetCurWPolar); + CurWPlrMenu->addSeparator(); + CurWPlrMenu->addAction(showAllWPlrOpps); + CurWPlrMenu->addAction(hideAllWPlrOpps); + CurWPlrMenu->addAction(deleteAllWPlrOpps); + } + + MiarexWPlrMenu->addSeparator(); + MiarexWPlrMenu->addAction(m_pImportWPolar); + MiarexWPlrMenu->addSeparator(); + MiarexWPlrMenu->addAction(MiarexPolarFilter); + MiarexWPlrMenu->addSeparator(); + MiarexWPlrMenu->addAction(hideAllWPlrs); + MiarexWPlrMenu->addAction(showAllWPlrs); + MiarexWPlrMenu->addSeparator(); + + WPlrGraphMenu = MiarexWPlrMenu->addMenu(tr("Graphs")); + { + WPlrGraphMenu->addAction(Graph1); + WPlrGraphMenu->addAction(Graph2); + WPlrGraphMenu->addAction(Graph3); + WPlrGraphMenu->addAction(Graph4); + WPlrGraphMenu->addSeparator(); + WPlrGraphMenu->addAction(twoGraphs); + WPlrGraphMenu->addAction(fourGraphs); + WPlrGraphMenu->addSeparator(); + WPlrGraphMenu->addAction(allWPolarGraphsSettings); + WPlrGraphMenu->addAction(allWPolarGraphsScalesAct); + WPlrGraphMenu->addAction(resetWPlrLegend); + WPlrGraphMenu->addSeparator(); + WPlrGraphMenu->addAction(highlightWOppAct); + } + } MiarexWOppMenu = menuBar()->addMenu(tr("&OpPoint")); - CurWOppMenu = MiarexWOppMenu->addMenu(tr("Current OpPoint")); - CurWOppMenu->addAction(ShowWOppProps); - CurWOppMenu->addAction(exportCurWOpp); - CurWOppMenu->addAction(deleteCurWOpp); - MiarexWOppMenu->addSeparator(); - MiarexWOppMenu->addAction(showCurWOppOnly); - MiarexWOppMenu->addAction(showAllWOpps); - MiarexWOppMenu->addAction(hideAllWOpps); - MiarexWOppMenu->addAction(deleteAllWOpps); - MiarexWOppMenu->addSeparator(); - MiarexWOppMenu->addAction(HalfWingAct); - MiarexWOppMenu->addAction(showEllipticCurve); - MiarexWOppMenu->addAction(showXCmRefLocation); - MiarexWOppMenu->addAction(showWing2Curve); - MiarexWOppMenu->addAction(showStabCurve); - MiarexWOppMenu->addAction(showFinCurve); - MiarexWOppMenu->addSeparator(); - WOppGraphMenu = MiarexWOppMenu->addMenu(tr("Graphs")); - WOppGraphMenu->addAction(Graph1); - WOppGraphMenu->addAction(Graph2); - WOppGraphMenu->addAction(Graph3); - WOppGraphMenu->addAction(Graph4); - WOppGraphMenu->addSeparator(); - WOppGraphMenu->addAction(twoGraphs); - WOppGraphMenu->addAction(fourGraphs); - WOppGraphMenu->addSeparator(); - WOppGraphMenu->addAction(allWingGraphsSettings); - WOppGraphMenu->addAction(allWingGraphsScalesAct); - WOppGraphMenu->addAction(resetWOppLegend); + { + CurWOppMenu = MiarexWOppMenu->addMenu(tr("Current OpPoint")); + { + CurWOppMenu->addAction(ShowWOppProps); + CurWOppMenu->addAction(exportCurWOpp); + CurWOppMenu->addAction(deleteCurWOpp); + } + MiarexWOppMenu->addSeparator(); + MiarexWOppMenu->addAction(showCurWOppOnly); + MiarexWOppMenu->addAction(showAllWOpps); + MiarexWOppMenu->addAction(hideAllWOpps); + MiarexWOppMenu->addAction(deleteAllWOpps); + MiarexWOppMenu->addSeparator(); + MiarexWOppMenu->addAction(HalfWingAct); + MiarexWOppMenu->addAction(showEllipticCurve); + MiarexWOppMenu->addAction(showXCmRefLocation); + MiarexWOppMenu->addAction(showWing2Curve); + MiarexWOppMenu->addAction(showStabCurve); + MiarexWOppMenu->addAction(showFinCurve); + MiarexWOppMenu->addSeparator(); + + WOppGraphMenu = MiarexWOppMenu->addMenu(tr("Graphs")); + { + WOppGraphMenu->addAction(Graph1); + WOppGraphMenu->addAction(Graph2); + WOppGraphMenu->addAction(Graph3); + WOppGraphMenu->addAction(Graph4); + WOppGraphMenu->addSeparator(); + WOppGraphMenu->addAction(twoGraphs); + WOppGraphMenu->addAction(fourGraphs); + WOppGraphMenu->addSeparator(); + WOppGraphMenu->addAction(allWingGraphsSettings); + WOppGraphMenu->addAction(allWingGraphsScalesAct); + WOppGraphMenu->addAction(resetWOppLegend); + } + } //Miarex Analysis Menu MiarexAnalysisMenu = menuBar()->addMenu(tr("&Analysis")); - MiarexAnalysisMenu->addAction(viewLogFile); - MiarexAnalysisMenu->addAction(advancedSettings); + { + MiarexAnalysisMenu->addAction(viewLogFile); + MiarexAnalysisMenu->addAction(advancedSettings); + } //WOpp View Context Menu WOppCtxMenu = new QMenu(tr("Context Menu"),this); - WOppCtxMenu->addMenu(currentUFOMenu); - WOppCtxMenu->addSeparator(); - WOppCtxMenu->addMenu(CurBodyMenu); - WOppCtxMenu->addSeparator(); - WOppCtxMenu->addMenu(CurWPlrMenu); - WOppCtxMenu->addSeparator(); - WOppCtxMenu->addMenu(CurWOppMenu); - WOppCtxMenu->addSeparator(); - WOppCtxMenu->addAction(showCurWOppOnly); - WOppCtxMenu->addAction(showAllWOpps); - WOppCtxMenu->addAction(hideAllWOpps); - WOppCtxMenu->addAction(deleteAllWOpps); - WOppCtxMenu->addSeparator(); - WOppCurGraphMenu = WOppCtxMenu->addMenu(tr("Current Graph")); - WOppCurGraphMenu->addAction(MiarexGraphDlg); - WOppCurGraphMenu->addAction(exportCurGraphAct); - WOppCtxMenu->addMenu(WOppCurGraphMenu); - WOppCtxMenu->addMenu(WOppGraphMenu); - WOppCtxMenu->addAction(ResetWingGraphScale); - WOppCtxMenu->addSeparator(); - WOppCtxMenu->addAction(HalfWingAct); - WOppCtxMenu->addAction(showEllipticCurve); - WOppCtxMenu->addAction(showXCmRefLocation); - WOppCtxMenu->addAction(showWing2Curve); - WOppCtxMenu->addAction(showStabCurve); - WOppCtxMenu->addAction(showFinCurve); - WOppCtxMenu->addSeparator(); - WOppCtxMenu->addAction(resetWingScale); - WOppCtxMenu->addSeparator(); - WOppCtxMenu->addAction(viewLogFile); - WOppCtxMenu->addAction(saveViewToImageFileAct); + { + WOppCtxMenu->addMenu(currentUFOMenu); + WOppCtxMenu->addSeparator(); + WOppCtxMenu->addMenu(CurBodyMenu); + WOppCtxMenu->addSeparator(); + WOppCtxMenu->addMenu(CurWPlrMenu); + WOppCtxMenu->addSeparator(); + WOppCtxMenu->addMenu(CurWOppMenu); + WOppCtxMenu->addSeparator(); + WOppCtxMenu->addAction(showCurWOppOnly); + WOppCtxMenu->addAction(showAllWOpps); + WOppCtxMenu->addAction(hideAllWOpps); + WOppCtxMenu->addAction(deleteAllWOpps); + WOppCtxMenu->addSeparator(); + WOppCurGraphMenu = WOppCtxMenu->addMenu(tr("Current Graph")); + { + WOppCurGraphMenu->addAction(MiarexGraphDlg); + WOppCurGraphMenu->addAction(exportCurGraphAct); + } + WOppCtxMenu->addMenu(WOppCurGraphMenu); + WOppCtxMenu->addMenu(WOppGraphMenu); + WOppCtxMenu->addAction(ResetWingGraphScale); + WOppCtxMenu->addSeparator(); + WOppCtxMenu->addAction(HalfWingAct); + WOppCtxMenu->addAction(showEllipticCurve); + WOppCtxMenu->addAction(showXCmRefLocation); + WOppCtxMenu->addAction(showWing2Curve); + WOppCtxMenu->addAction(showStabCurve); + WOppCtxMenu->addAction(showFinCurve); + WOppCtxMenu->addSeparator(); + WOppCtxMenu->addAction(resetWingScale); + WOppCtxMenu->addSeparator(); + WOppCtxMenu->addAction(viewLogFile); + WOppCtxMenu->addAction(saveViewToImageFileAct); + } //WOpp View Context Menu WCpCtxMenu = new QMenu(tr("Context Menu"),this); - WCpCtxMenu->addMenu(currentUFOMenu); - WCpCtxMenu->addSeparator(); - WCpCtxMenu->addMenu(CurBodyMenu); - WCpCtxMenu->addSeparator(); - WCpCtxMenu->addMenu(CurWPlrMenu); - WCpCtxMenu->addSeparator(); - WCpCtxMenu->addMenu(CurWOppMenu); - WCpCtxMenu->addSeparator(); - WCpCtxMenu->addMenu(WOppCurGraphMenu); - WCpCtxMenu->addAction(ResetWingGraphScale); - WCpCtxMenu->addSeparator(); - WCpCtxMenu->addAction(showWing2Curve); - WCpCtxMenu->addAction(showStabCurve); - WCpCtxMenu->addAction(showFinCurve); - WCpCtxMenu->addSeparator(); - WCpCtxMenu->addAction(viewLogFile); - WCpCtxMenu->addAction(saveViewToImageFileAct); + { + WCpCtxMenu->addMenu(currentUFOMenu); + WCpCtxMenu->addSeparator(); + WCpCtxMenu->addMenu(CurBodyMenu); + WCpCtxMenu->addSeparator(); + WCpCtxMenu->addMenu(CurWPlrMenu); + WCpCtxMenu->addSeparator(); + WCpCtxMenu->addMenu(CurWOppMenu); + WCpCtxMenu->addSeparator(); + WCpCtxMenu->addMenu(WOppCurGraphMenu); + WCpCtxMenu->addAction(ResetWingGraphScale); + WCpCtxMenu->addSeparator(); + WCpCtxMenu->addAction(showWing2Curve); + WCpCtxMenu->addAction(showStabCurve); + WCpCtxMenu->addAction(showFinCurve); + WCpCtxMenu->addSeparator(); + WCpCtxMenu->addAction(viewLogFile); + WCpCtxMenu->addAction(saveViewToImageFileAct); + } //WTime View Context Menu WTimeCtxMenu = new QMenu(tr("Context Menu"),this); - WTimeCtxMenu->addMenu(currentUFOMenu); - WTimeCtxMenu->addSeparator(); - WTimeCtxMenu->addMenu(CurBodyMenu); - WTimeCtxMenu->addSeparator(); - WTimeCtxMenu->addMenu(CurWPlrMenu); - WTimeCtxMenu->addSeparator(); - WTimeCtxMenu->addMenu(CurWOppMenu); - WTimeCtxMenu->addSeparator(); - WTimeCtxMenu->addAction(showCurWOppOnly); - WTimeCtxMenu->addAction(showAllWOpps); - WTimeCtxMenu->addAction(hideAllWOpps); - WTimeCtxMenu->addAction(deleteAllWOpps); - WTimeCtxMenu->addSeparator(); - WTimeCtxMenu->addMenu(WOppCurGraphMenu); - WTimeCtxMenu->addMenu(WOppGraphMenu); - WTimeCtxMenu->addSeparator(); - WTimeCtxMenu->addAction(viewLogFile); - WTimeCtxMenu->addAction(saveViewToImageFileAct); - + { + WTimeCtxMenu->addMenu(currentUFOMenu); + WTimeCtxMenu->addSeparator(); + WTimeCtxMenu->addMenu(CurBodyMenu); + WTimeCtxMenu->addSeparator(); + WTimeCtxMenu->addMenu(CurWPlrMenu); + WTimeCtxMenu->addSeparator(); + WTimeCtxMenu->addMenu(CurWOppMenu); + WTimeCtxMenu->addSeparator(); + WTimeCtxMenu->addAction(showCurWOppOnly); + WTimeCtxMenu->addAction(showAllWOpps); + WTimeCtxMenu->addAction(hideAllWOpps); + WTimeCtxMenu->addAction(deleteAllWOpps); + WTimeCtxMenu->addSeparator(); + WTimeCtxMenu->addMenu(WOppCurGraphMenu); + WTimeCtxMenu->addMenu(WOppGraphMenu); + WTimeCtxMenu->addSeparator(); + WTimeCtxMenu->addAction(viewLogFile); + WTimeCtxMenu->addAction(saveViewToImageFileAct); + } //Polar View Context Menu WPlrCtxMenu = new QMenu(tr("Context Menu"),this); - WPlrCtxMenu->addMenu(currentUFOMenu); - WPlrCtxMenu->addSeparator(); - WPlrCtxMenu->addMenu(CurBodyMenu); - WPlrCtxMenu->addSeparator(); - WPlrCtxMenu->addMenu(CurWPlrMenu); - WPlrCtxMenu->addSeparator(); - WPlrCtxMenu->addMenu(WPlrGraphMenu); - WPlrCurGraphMenu = WPlrCtxMenu->addMenu(tr("Current Graph")); - WPlrCurGraphMenu->addAction(MiarexGraphDlg); - WPlrCurGraphMenu->addAction(exportCurGraphAct); - WPlrCtxMenu->addAction(resetCurGraphScales); - WPlrCtxMenu->addSeparator(); - WPlrCtxMenu->addAction(hideAllWPlrs); - WPlrCtxMenu->addAction(showAllWPlrs); - WPlrCtxMenu->addSeparator(); - WPlrCtxMenu->addAction(viewLogFile); - WPlrCtxMenu->addAction(saveViewToImageFileAct); - - //W3D View Context Menu - W3DStabCtxMenu = new QMenu(tr("Context Menu"),this); - W3DStabCtxMenu->addMenu(currentUFOMenu); - W3DStabCtxMenu->addSeparator(); - W3DStabCtxMenu->addMenu(CurBodyMenu); - W3DStabCtxMenu->addSeparator(); - W3DStabCtxMenu->addMenu(CurWPlrMenu); - W3DStabCtxMenu->addSeparator(); - W3DStabCtxMenu->addMenu(CurWOppMenu); - W3DStabCtxMenu->addSeparator(); - W3DStabCtxMenu->addAction(W3DLightAct); - W3DStabCtxMenu->addSeparator(); - W3DStabCtxMenu->addAction(viewLogFile); - W3DStabCtxMenu->addAction(saveViewToImageFileAct); + { + WPlrCtxMenu->addMenu(currentUFOMenu); + WPlrCtxMenu->addSeparator(); + WPlrCtxMenu->addMenu(CurBodyMenu); + WPlrCtxMenu->addSeparator(); + WPlrCtxMenu->addMenu(CurWPlrMenu); + WPlrCtxMenu->addSeparator(); + WPlrCtxMenu->addMenu(WPlrGraphMenu); + WPlrCurGraphMenu = WPlrCtxMenu->addMenu(tr("Current Graph")); + { + WPlrCurGraphMenu->addAction(MiarexGraphDlg); + WPlrCurGraphMenu->addAction(exportCurGraphAct); + } + WPlrCtxMenu->addAction(resetCurGraphScales); + WPlrCtxMenu->addSeparator(); + WPlrCtxMenu->addAction(hideAllWPlrs); + WPlrCtxMenu->addAction(showAllWPlrs); + WPlrCtxMenu->addSeparator(); + WPlrCtxMenu->addAction(viewLogFile); + WPlrCtxMenu->addAction(saveViewToImageFileAct); + } //W3D View Context Menu W3DCtxMenu = new QMenu(tr("Context Menu"),this); - W3DCtxMenu->addMenu(currentUFOMenu); - W3DCtxMenu->addSeparator(); - W3DCtxMenu->addMenu(CurBodyMenu); - W3DCtxMenu->addSeparator(); - W3DCtxMenu->addMenu(CurWPlrMenu); - W3DCtxMenu->addSeparator(); - W3DCtxMenu->addMenu(CurWOppMenu); - W3DCtxMenu->addSeparator(); - W3DCtxMenu->addAction(deleteAllWOpps); - W3DCtxMenu->addSeparator(); - W3DCtxMenu->addAction(W3DScalesAct); - W3DCtxMenu->addAction(W3DLightAct); - W3DCtxMenu->addSeparator(); - W3DCtxMenu->addAction(viewLogFile); - W3DCtxMenu->addAction(saveViewToImageFileAct); -} + { + W3DCtxMenu->addMenu(currentUFOMenu); + W3DCtxMenu->addSeparator(); + W3DCtxMenu->addMenu(CurBodyMenu); + W3DCtxMenu->addSeparator(); + W3DCtxMenu->addMenu(CurWPlrMenu); + W3DCtxMenu->addSeparator(); + W3DCtxMenu->addMenu(CurWOppMenu); + W3DCtxMenu->addSeparator(); + W3DCtxMenu->addAction(deleteAllWOpps); + W3DCtxMenu->addSeparator(); + W3DCtxMenu->addAction(W3DScalesAct); + W3DCtxMenu->addAction(W3DLightAct); + W3DCtxMenu->addSeparator(); + W3DCtxMenu->addAction(viewLogFile); + W3DCtxMenu->addAction(saveViewToImageFileAct); + } + //W3D Stab View Context Menu + W3DStabCtxMenu = new QMenu(tr("Context Menu"),this); + { + W3DStabCtxMenu->addMenu(currentUFOMenu); + W3DStabCtxMenu->addSeparator(); + W3DStabCtxMenu->addMenu(CurBodyMenu); + W3DStabCtxMenu->addSeparator(); + W3DStabCtxMenu->addMenu(CurWPlrMenu); + W3DStabCtxMenu->addSeparator(); + W3DStabCtxMenu->addMenu(CurWOppMenu); + W3DStabCtxMenu->addSeparator(); + W3DStabCtxMenu->addAction(W3DLightAct); + W3DStabCtxMenu->addSeparator(); + W3DStabCtxMenu->addAction(viewLogFile); + W3DStabCtxMenu->addAction(saveViewToImageFileAct); + } +} void MainFrame::CreateMiarexToolbar() { - m_pctrlUFO = new QComboBox(); - m_pctrlWPolar = new QComboBox; - m_pctrlWOpp = new QComboBox; - m_pctrl3dView = new QToolButton; m_pctrl3dView->setDefaultAction(W3DAct); m_pctrl3dView->setCheckable(true); @@ -1724,12 +1774,18 @@ m_pctrlRootLocusButton->setDefaultAction(RootLocusAct); m_pctrlRootLocusButton->setCheckable(true); + m_pctrlUFO = new QComboBox(); + m_pctrlWPolar = new QComboBox; + m_pctrlWOpp = new QComboBox; m_pctrlUFO->setMinimumWidth(150); m_pctrlWPolar->setMinimumWidth(150); m_pctrlWOpp->setMinimumWidth(80); m_pctrlUFO->setSizeAdjustPolicy(QComboBox::AdjustToContents); m_pctrlWPolar->setSizeAdjustPolicy(QComboBox::AdjustToContents); m_pctrlWOpp->setSizeAdjustPolicy(QComboBox::AdjustToContents); + m_pctrlUFO->setMaxVisibleItems(23); + m_pctrlWPolar->setMaxVisibleItems(23); + m_pctrlWOpp->setMaxVisibleItems(23); m_pctrlMiarexToolBar = addToolBar(tr("UFO")); m_pctrlMiarexToolBar->addAction(newProjectAct); @@ -1774,10 +1830,6 @@ void MainFrame::CreateXDirectToolbar() { - m_pctrlFoil = new QComboBox; - m_pctrlPolar = new QComboBox; - m_pctrlOpPoint = new QComboBox; - m_pctrlPolarView = new QToolButton; m_pctrlPolarView->setDefaultAction(PolarsAct); m_pctrlPolarView->setCheckable(true); @@ -1785,6 +1837,12 @@ m_pctrlOppView->setDefaultAction(OpPointsAct); m_pctrlOppView->setCheckable(true); + m_pctrlFoil = new QComboBox; + m_pctrlPolar = new QComboBox; + m_pctrlOpPoint = new QComboBox; + m_pctrlFoil->setMaxVisibleItems(23); + m_pctrlPolar->setMaxVisibleItems(23); + m_pctrlOpPoint->setMaxVisibleItems(23); m_pctrlFoil->setMinimumWidth(150); m_pctrlPolar->setMinimumWidth(150); m_pctrlOpPoint->setMinimumWidth(80); @@ -2039,7 +2097,7 @@ connect(NacaFoils, SIGNAL(triggered()), pXDirect, SLOT(OnNacaFoils())); DuplicateFoil = new QAction(tr("Duplicate"), this); - connect(DuplicateFoil, SIGNAL(triggered()), pXDirect, SLOT(OnDuplicateFoil())); + connect(DuplicateFoil, SIGNAL(triggered()), this, SLOT(OnDuplicateFoil())); setCpVarGraph = new QAction(tr("Cp Variable"), this); setCpVarGraph->setCheckable(true); @@ -2118,10 +2176,10 @@ currentFoilMenu = FoilMenu->addMenu(tr("Current Foil")); currentFoilMenu->addAction(setCurFoilStyle); currentFoilMenu->addSeparator(); - currentFoilMenu->addAction(DuplicateFoil); currentFoilMenu->addAction(exportCurFoil); currentFoilMenu->addAction(renameCurFoil); currentFoilMenu->addAction(deleteCurFoil); + currentFoilMenu->addAction(DuplicateFoil); currentFoilMenu->addSeparator(); currentFoilMenu->addAction(showFoilPolars); currentFoilMenu->addAction(hideFoilPolars); @@ -2315,10 +2373,10 @@ InverseResetScale->setStatusTip(tr("Resets the scale to fit the screen size")); connect(InverseResetScale, SIGNAL(triggered()), pXInverse, SLOT(OnResetFoilScale())); - InverseInsertCtrlPt = new QAction(tr("Insert Control Point"), this); + InverseInsertCtrlPt = new QAction(tr("Insert Control Point")+"\tShift+Click", this); connect(InverseInsertCtrlPt, SIGNAL(triggered()), pXInverse, SLOT(OnInsertCtrlPt())); - InverseRemoveCtrlPt = new QAction(tr("Remove Control Point"), this); + InverseRemoveCtrlPt = new QAction(tr("Remove Control Point")+"\tCtrl+Click", this); connect(InverseRemoveCtrlPt, SIGNAL(triggered()), pXInverse, SLOT(OnRemoveCtrlPt())); InvQInitial = new QAction(tr("Show Q-Initial"), this); @@ -2502,8 +2560,9 @@ -void MainFrame::DeletePlane(CPlane *pPlane, bool bResultsOnly) +void MainFrame::DeletePlane(void *pPlanePtr, bool bResultsOnly) { + CPlane *pPlane = (CPlane*)pPlanePtr; if(!pPlane || !pPlane->PlaneName().length()) return ; QMiarex *pMiarex = (QMiarex*)m_pMiarex; CWPolar* pWPolar; @@ -2586,6 +2645,7 @@ // clear everything int i; void *pObj; + for (i=m_oaPlane.size()-1; i>=0; i--) { pObj = m_oaPlane.at(i); @@ -2687,16 +2747,14 @@ -void MainFrame::DeleteWing(CWing *pThisWing, bool bResultsOnly) +void MainFrame::DeleteWing(void *pWingPtr, bool bResultsOnly) { - if(!pThisWing) - { - return; - } - SetSaveState(false); int i; - QMiarex *pMiarex = (QMiarex*)m_pMiarex; + if(!pWingPtr) return; + CWing *pThisWing = (CWing*)pWingPtr; + + SetSaveState(false); //first remove all WOpps associated to the wing CWOpp * pWOpp; @@ -2968,7 +3026,7 @@ { if (pOpPoint->m_strPlrName == pCurPolar->m_PlrName) { - if(pCurPolar->m_Type !=4) + if(pCurPolar->m_Type != FIXEDAOAPOLAR) { if(fabs(pOpPoint->Alpha - Alpha) <0.001) { @@ -3201,7 +3259,7 @@ { QPoint pt; bool bFloat; - int a, SettingsFormat; + int SettingsFormat; QSize size; @@ -3281,13 +3339,15 @@ m_TextFont.setFamily(settings.value("TextFontFamily", "Courier").toString()); m_TextFont.setPointSize(settings.value("TextFontPointSize", 10).toInt()); + m_TextFont.setStyleStrategy(QFont::OpenGLCompatible); + m_ImageFormat = settings.value("ImageFormat").toInt(); m_bSaveOpps = settings.value("SaveOpps").toBool(); m_bSaveWOpps = settings.value("SaveWOpps").toBool(); m_DlgPos.rx() = settings.value("DlgPos_x").toInt(); m_DlgPos.ry() = settings.value("DlgPos_y").toInt(); - a = settings.value("RecentFileSize").toInt(); +// a = settings.value("RecentFileSize").toInt(); QString RecentF,strange; m_RecentFiles.clear(); int n=0; @@ -3303,7 +3363,8 @@ else break; }while(n<MAXRECENTFILES); - m_bReverseZoom = settings.value("ReverseZoom").toBool(); + m_bReverseZoom = settings.value("ReverseZoom").toBool(); + m_bAlphaChannel = settings.value("AlphaChannel").toBool(); } return true; @@ -3328,13 +3389,13 @@ } QXDirect * pXDirect = (QXDirect*)m_pXDirect; QString end; - //QFileInfo fileinfo(XFile); - end = PathName.right(4); + //QFileInfo fileinfo(XFile); + end = PathName.right(4); end = end.toLower(); - //QString dir = fileinfo.canonicalPath(); + //QString dir = fileinfo.canonicalPath(); - int pos = PathName.lastIndexOf("/"); - if(pos>0) m_LastDirName = PathName.left(pos); + int pos = PathName.lastIndexOf("/"); + if(pos>0) m_LastDirName = PathName.left(pos); if(end==".plr") { QDataStream ar(&XFile); @@ -3417,15 +3478,21 @@ g_pCurFoil = pXDirect->SetFoil(); UpdateFoils(); UpdateView(); + QApplication::restoreOverrideCursor(); + } + else + { + QApplication::restoreOverrideCursor(); + QMessageBox::warning(this,tr("Warning"), tr("Error reading the file")); + DeleteProject(); } - else DeleteProject(); AddRecentFile(PathName); SetSaveState(true); SetProjectName(PathName); XFile.close(); - QApplication::restoreOverrideCursor(); + pXDirect->SetControls(); @@ -3665,7 +3732,7 @@ PathName = QFileDialog::getOpenFileName(this, tr("Open File"), m_LastDirName, tr("XFLR5 file (*.dat *.plr *.wpa)")); - if(!PathName.length()) return; + if(!PathName.length()) return; int pos = PathName.lastIndexOf("/"); if(pos>0) m_LastDirName = PathName.left(pos); @@ -3849,6 +3916,7 @@ QSettings settings(QSettings::IniFormat,QSettings::UserScope,"XFLR5"); #endif settings.clear(); + m_LastDirName = QDir::homePath(); // do not save on exit m_bSaveSettings = false; } @@ -4278,7 +4346,7 @@ m_DisplaySettingsDlg.m_pRefGraph = &m_RefGraph; m_DisplaySettingsDlg.m_StyleName = m_StyleName; m_DisplaySettingsDlg.m_bReverseZoom = m_bReverseZoom; - + m_DisplaySettingsDlg.m_bAlphaChannel = m_bAlphaChannel; m_DisplaySettingsDlg.InitDialog(); if(m_DisplaySettingsDlg.exec() ==QDialog::Accepted) @@ -4288,7 +4356,9 @@ m_TextFont = m_DisplaySettingsDlg.m_TextFont; m_StyleName = m_DisplaySettingsDlg.m_StyleName; m_bReverseZoom = m_DisplaySettingsDlg.m_pctrlReverseZoom->isChecked(); - + m_bAlphaChannel = m_DisplaySettingsDlg.m_pctrlAlphaChannel->isChecked(); + pMiarex->m_bResetglGeom = true; + pMiarex->m_bResetglBody = true; pMiarex->m_bResetglLegend = true; if(m_DisplaySettingsDlg.m_bIsGraphModified) @@ -4998,6 +5068,7 @@ settings.setValue("DlgPos_y", m_DlgPos.y()); settings.setValue("RecentFileSize", m_RecentFiles.size()); settings.setValue("ReverseZoom", m_bReverseZoom); + settings.setValue("AlphaChannel", m_bAlphaChannel); QString RecentF; for(int i=0; i<m_RecentFiles.size() && i<MAXRECENTFILES; i++) @@ -5065,7 +5136,7 @@ for(int i=0; i<m_pctrlOpPoint->count(); i++) { - if(pCurPlr->m_Type !=4) + if(pCurPlr->m_Type != FIXEDAOAPOLAR) { alpha = m_pctrlOpPoint->itemText(i).toDouble(); if(fabs(alpha-pOpp->Alpha)<0.001) @@ -5535,10 +5606,12 @@ ar >> m_WeightUnit; ar >> m_SpeedUnit; ar >> m_ForceUnit; + if(ArchiveFormat>=100005) { ar >> m_MomentUnit; } + SetUnits(m_LengthUnit, m_AreaUnit, m_SpeedUnit, m_WeightUnit, m_ForceUnit, m_MomentUnit, m_mtoUnit, m_m2toUnit, m_mstoUnit, m_kgtoUnit, m_NtoUnit, m_NmtoUnit); @@ -5806,6 +5879,8 @@ if(m_iApp==MIAREX) pMiarex->SetUFO(); + pMiarex->UpdateUnits(); + QApplication::restoreOverrideCursor(); return true; } @@ -6586,7 +6661,7 @@ pOpp = (OpPoint*)m_oaOpp[i]; if (pOpp->m_strFoilName == g_pCurFoil->m_FoilName && pOpp->m_strPlrName == pCurPlr->m_PlrName) { - if (pCurPlr->m_Type !=4) + if (pCurPlr->m_Type !=FIXEDAOAPOLAR) { // if(fabs(pOpp->Alpha)<0.0001) pOpp->Alpha = 0.0001; str = QString("%1").arg(pOpp->Alpha,8,'f',2); @@ -6602,7 +6677,7 @@ if (pXDirect->m_pCurOpp && pXDirect->m_pCurOpp->m_strFoilName==g_pCurFoil->m_FoilName) { //select it - if (pCurPlr->m_Type !=4) + if (pCurPlr->m_Type !=FIXEDAOAPOLAR) { str = QString("%8.2f").arg(pXDirect->m_pCurOpp->Alpha); } @@ -6795,3 +6870,54 @@ pMiarex->OnWOppProps(); } } + + + +void MainFrame::SetDlgPos(QDialog &Dlg) +{ + QPoint Position = m_DlgPos; + QDesktopWidget desk; + + if(Dlg.frameGeometry().width() +m_DlgPos.x()>desk.width()) Position.rx() += desk.width() -(Dlg.frameGeometry().width() +m_DlgPos.x()); + if(Dlg.frameGeometry().height()+m_DlgPos.y()>desk.height()) Position.ry() += desk.height()-(Dlg.frameGeometry().height()+m_DlgPos.y()); + + if(m_DlgPos.x()<0) Position.rx()=0; + + if(Dlg.width()>desk.rect().width()) Position.rx()=0; + if(Dlg.height()>desk.rect().height()) Position.ry()=0; + + Dlg.move(Position); +} + + + +void MainFrame::OnDuplicateFoil() +{ + if(!g_pCurFoil) return; + CFoil *pNewFoil = new CFoil(); + pNewFoil->CopyFoil(g_pCurFoil); + pNewFoil->InitFoil(); + + if(SetModFoil(pNewFoil)) + { + if(m_iApp==XFOILANALYSIS) + { + QXDirect *pXDirect = (QXDirect*)m_pXDirect; + pXDirect->m_BufferFoil.CopyFoil(pNewFoil); + pXDirect->SetFoil(); + } + else if(m_iApp==DIRECTDESIGN) + { + QAFoil *pAFoil= (QAFoil*)m_pAFoil; + //then duplicate the buffer foil and add it + CFoil *pNewFoil = new CFoil(); + pNewFoil->CopyFoil(pAFoil->m_pBufferFoil); + pAFoil->FillFoilTable(); + pAFoil->SelectFoil(pNewFoil); + } + + UpdateFoils(); + UpdateView(); + SetSaveState(false); + } +} diff -Nru xflr5-6.05/src/MainFrame.h xflr5-6.06/src/MainFrame.h --- xflr5-6.05/src/MainFrame.h 2011-07-06 05:13:34.000000000 +0900 +++ xflr5-6.06/src/MainFrame.h 2012-01-25 05:25:27.000000000 +0900 @@ -2,7 +2,7 @@ MainFrame Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008-2012 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -32,7 +32,7 @@ #include <QLabel> #include <QPointer> #include <QTranslator> -#include <QtGui/QMainWindow> +#include <QMainWindow> #include "GLWidget.h" #include <QList> #include "TwoDWidget.h" @@ -40,7 +40,6 @@ #include "Objects/Foil.h" #include "Objects/Polar.h" #include "Objects/OpPoint.h" -#include "Objects/Plane.h" #include "Graph/QGraph.h" #include "Misc/DisplaySettingsDlg.h" #include "Misc/RenameDlg.h" @@ -104,6 +103,7 @@ private slots: void AboutQFLR5(); void OnCurFoilStyle(); + void OnDuplicateFoil(); void OnGuidelines(); void OnExportCurGraph(); void OnInsertProject(); @@ -160,8 +160,8 @@ void ClientToGL(QPoint const &point, CVector &real); void DeleteProject(); - void DeletePlane(CPlane *pPlane, bool bResultsOnly = false); - void DeleteWing(CWing *pThisWing, bool bResultsOnly = false); + void DeletePlane(void *pPlanePtr, bool bResultsOnly = false); + void DeleteWing(void *pWingPtr, bool bResultsOnly = false); void GLToClient(CVector const &real, QPoint &point); void RemoveOpPoint(bool bCurrent); void SetCurrentFoil(CFoil* pFoil); @@ -169,6 +169,7 @@ void SelectOpPoint(OpPoint *pOpp); void SelectWOpp(double x); void SetCentralWidget(); + void SetDlgPos(QDialog &Dlg); void SetGraphSettings(Graph *pGraph); void SetProjectName(QString PathName); void SetMenus(); @@ -202,7 +203,6 @@ OpPoint *GetOpp(double Alpha); QColor GetColor(int type); - //recent file QString ShortenFileName(QString &PathName); void AddRecentFile(const QString &PathNAme); @@ -291,6 +291,7 @@ QAction *UndoAFoilAct, *RedoAFoilAct; QAction *HideAllFoils, *ShowAllFoils, *ShowCurrentFoil, *HideCurrentFoil; QAction *SplinesAct, *SplinedPointsAct, *storeSplineAct, *newSplinesAct, *splineControlsAct, *exportSplinesToFileAct; + QAction *InsertSplinePt, *RemoveSplinePt; QAction *AFoilTableColumns, *AFoilTableColumnWidths; QAction *AFoilLoadImage, *AFoilClearImage; QToolButton *m_pctrlZoomY, *m_pctrlZoomIn; @@ -398,7 +399,6 @@ QColor m_BorderClr; int m_ImageFormat; - int m_ExportFileType; public: QFont m_TextFont; @@ -418,6 +418,8 @@ int m_SpeedUnit; int m_ForceUnit; int m_MomentUnit; + int m_ExportFileType; + bool m_bAlphaChannel; }; diff -Nru xflr5-6.05/src/Miarex/ArcBall.cpp xflr5-6.06/src/Miarex/ArcBall.cpp --- xflr5-6.05/src/Miarex/ArcBall.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/ArcBall.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -2,7 +2,7 @@ ArcBall Class Copyright (C) Bradley Smith, March 24, 2006 - Hideously modified in 2008 by Andre Deperrois xflr5@xxxxxxxxx for miserable selfish purposes + Hideously modified in 2008 by Andre Deperrois adeperrois@xxxxxxxxx for miserable selfish purposes This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/ArcBall.h xflr5-6.06/src/Miarex/ArcBall.h --- xflr5-6.05/src/Miarex/ArcBall.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/ArcBall.h 2012-01-07 23:31:46.000000000 +0900 @@ -2,7 +2,7 @@ CArcBall Class Copyright (C) Bradley Smith, March 24, 2006 - Hideously modified in 2008-2009 by Andre Deperrois xflr5@xxxxxxxxx for miserable selfish purposes + Hideously modified in 2008-2009 by Andre Deperrois adeperrois@xxxxxxxxx for miserable selfish purposes This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/BodyGridDlg.cpp xflr5-6.06/src/Miarex/BodyGridDlg.cpp --- xflr5-6.05/src/Miarex/BodyGridDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/BodyGridDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** BodyGridDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/BodyGridDlg.h xflr5-6.06/src/Miarex/BodyGridDlg.h --- xflr5-6.05/src/Miarex/BodyGridDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/BodyGridDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** BodyGridDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/BodyScaleDlg.cpp xflr5-6.06/src/Miarex/BodyScaleDlg.cpp --- xflr5-6.05/src/Miarex/BodyScaleDlg.cpp 2011-07-15 04:40:17.000000000 +0900 +++ xflr5-6.06/src/Miarex/BodyScaleDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** BodyScaleDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/BodyScaleDlg.h xflr5-6.06/src/Miarex/BodyScaleDlg.h --- xflr5-6.05/src/Miarex/BodyScaleDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/BodyScaleDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** BodyScaleDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/BodyTableDelegate.cpp xflr5-6.06/src/Miarex/BodyTableDelegate.cpp --- xflr5-6.05/src/Miarex/BodyTableDelegate.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/BodyTableDelegate.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** BodyTableDelegate Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,7 +20,6 @@ *****************************************************************************/ -#include <QtGui> #include "BodyTableDelegate.h" diff -Nru xflr5-6.05/src/Miarex/BodyTableDelegate.h xflr5-6.06/src/Miarex/BodyTableDelegate.h --- xflr5-6.05/src/Miarex/BodyTableDelegate.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/BodyTableDelegate.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** BodyTableDelegate Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/BodyTransDlg.cpp xflr5-6.06/src/Miarex/BodyTransDlg.cpp --- xflr5-6.05/src/Miarex/BodyTransDlg.cpp 2011-07-15 04:40:17.000000000 +0900 +++ xflr5-6.06/src/Miarex/BodyTransDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** BodyTransDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/BodyTransDlg.h xflr5-6.06/src/Miarex/BodyTransDlg.h --- xflr5-6.05/src/Miarex/BodyTransDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/BodyTransDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** BodyTransDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/CtrlTableDelegate.cpp xflr5-6.06/src/Miarex/CtrlTableDelegate.cpp --- xflr5-6.05/src/Miarex/CtrlTableDelegate.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/CtrlTableDelegate.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** CtrlTableDelegate Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,9 +20,10 @@ *****************************************************************************/ -#include <QtGui> #include "CtrlTableDelegate.h" #include "Miarex.h" +#include <QApplication> + void *CtrlTableDelegate::s_pMiarex; diff -Nru xflr5-6.05/src/Miarex/CtrlTableDelegate.h xflr5-6.06/src/Miarex/CtrlTableDelegate.h --- xflr5-6.05/src/Miarex/CtrlTableDelegate.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/CtrlTableDelegate.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** CtrlTableDelegate Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/GL3DScales.cpp xflr5-6.06/src/Miarex/GL3DScales.cpp --- xflr5-6.05/src/Miarex/GL3DScales.cpp 2011-07-25 04:46:33.000000000 +0900 +++ xflr5-6.06/src/Miarex/GL3DScales.cpp 2012-01-17 04:05:16.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** GL3DScales Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,6 +25,8 @@ #include "GL3DScales.h" #include <QGridLayout> #include <QGroupBox> +#include <QDockWidget> + GL3DScales::GL3DScales(QWidget *parent) { @@ -252,6 +254,7 @@ m_pctrlNXPoint->SetValue(m_NX); } + void GL3DScales::OnCpScale() { QMiarex * pMiarex = (QMiarex*)m_pMiarex; @@ -261,7 +264,7 @@ m_pctrlLegendMin->setEnabled(!pMiarex->m_bAutoCpScale); m_pctrlLegendMax->setEnabled(!pMiarex->m_bAutoCpScale); - pMiarex->m_bResetglOpp = true; + pMiarex->m_bResetglPanelCp = true; pMiarex->m_bResetglLegend = true; pMiarex->UpdateView(); } @@ -273,7 +276,6 @@ pMiarex->m_LegendMax = m_pctrlLegendMax->Value(); pMiarex->m_LegendMin = m_pctrlLegendMin->Value(); pMiarex->m_bAutoCpScale = m_pctrlAutoCpScale->isChecked(); - ReadStreamParams(); pMiarex->m_bResetglStream = true; pMiarex->UpdateView(); @@ -285,6 +287,7 @@ QMiarex * pMiarex = (QMiarex*)m_pMiarex; pMiarex->m_LiftScale = pos/100.0/sqrt(1.01-pos/100.0); pMiarex->m_bResetglLift = true; + pMiarex->m_bResetglPanelForce = true; pMiarex->UpdateView(); } diff -Nru xflr5-6.05/src/Miarex/GL3DScales.h xflr5-6.06/src/Miarex/GL3DScales.h --- xflr5-6.05/src/Miarex/GL3DScales.h 2011-07-25 04:46:33.000000000 +0900 +++ xflr5-6.06/src/Miarex/GL3DScales.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** GL3DScales Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/GL3dBodyDlg.cpp xflr5-6.06/src/Miarex/GL3dBodyDlg.cpp --- xflr5-6.05/src/Miarex/GL3dBodyDlg.cpp 2011-07-15 04:40:17.000000000 +0900 +++ xflr5-6.06/src/Miarex/GL3dBodyDlg.cpp 2012-01-27 14:27:33.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** GL3dBodyDlg Class - Copyright (C) 2009-10 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009-10 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,7 +18,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *****************************************************************************/ - + #include "../MainFrame.h" #include "../GLWidget.h" #include "../Globals.h" @@ -27,7 +27,7 @@ #include "Miarex.h" #include "BodyScaleDlg.h" #include "GL3dBodyDlg.h" -#include "GLLightDlg.h" +#include "./GLLightDlg.h" #include "InertiaDlg.h" #include <QGridLayout> #include <QHBoxLayout> @@ -39,6 +39,7 @@ #include <QHeaderView> #include <math.h> + //2D #define BODYAXIALLINES 1304 #define BODYFRAME 1305 @@ -58,13 +59,10 @@ void* GL3dBodyDlg::s_pMainFrame; //pointer to the Frame window void* GL3dBodyDlg::s_pMiarex; //pointer to the Miarex Application window void *GL3dBodyDlg::s_pGLLightDlg; + QPoint GL3dBodyDlg::s_WindowPos=QPoint(20,20); QSize GL3dBodyDlg::s_WindowSize=QSize(900, 700); -#ifdef Q_WS_MAC -bool GL3dBodyDlg::s_bWindowMaximized=true; -#else bool GL3dBodyDlg::s_bWindowMaximized=false; -#endif QList <void*> *GL3dBodyDlg::s_poaBody; @@ -141,11 +139,10 @@ m_ArcBall.m_pOffy = &m_UFOOffset.y; m_ArcBall.m_pTransx = &m_glViewportTrans.x; m_ArcBall.m_pTransy = &m_glViewportTrans.y; - m_ArcBall.m_pRect = &m_rCltRect; + m_ArcBall.m_pRect = &m_pglWidget->m_rCltRect; - - m_pInsertPoint = new QAction(tr("Insert"), this); - m_pRemovePoint = new QAction(tr("Remove"), this); + m_pInsertPoint = new QAction(tr("Insert") + QString("\tShift+Click"), this); + m_pRemovePoint = new QAction(tr("Remove") + QString("\tCtrl+Click"), this); m_pScaleBody = new QAction(tr("Scale"), this); m_pGrid = new QAction(tr("Grid Setup"), this); m_pResetScales = new QAction(tr("Reset Scales")+("\t(R)"), this); @@ -220,26 +217,6 @@ - -void GL3dBodyDlg::ClientToGL(QPoint const &point, CVector &real) -{ - if(!m_pglWidget) return; - double h2 = (double)m_pglWidget->m_rCltRect.height() /2.0; - double w2 = (double)m_pglWidget->m_rCltRect.width() /2.0; - - if(w2>h2) - { - real.x = ((double)point.x() - w2) / w2; - real.y = -((double)point.y() - h2) / w2; - } - else - { - real.x = ((double)point.x() - w2) / h2; - real.y = -((double)point.y() - h2) / h2; - } -} - - void GL3dBodyDlg::FillFrameCell(int iItem, int iSubItem) { MainFrame *pMainFrame = (MainFrame*)(s_pMainFrame); @@ -257,12 +234,6 @@ case 1: { ind = m_pFrameModel->index(iItem, 1, QModelIndex()); - m_pFrameModel->setData(ind, m_pBody->m_FramePosition[iItem].z * pMainFrame->m_mtoUnit); - break; - } - case 2: - { - ind = m_pFrameModel->index(iItem, 2, QModelIndex()); m_pFrameModel->setData(ind, m_pBody->m_xPanels[iItem]); break; } @@ -290,7 +261,6 @@ void GL3dBodyDlg::FillFrameTableRow(int row) { - QString str, strong; QModelIndex ind; MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; @@ -298,9 +268,6 @@ m_pFrameModel->setData(ind, m_pBody->m_FramePosition[row].x * pMainFrame->m_mtoUnit); ind = m_pFrameModel->index(row, 1, QModelIndex()); - m_pFrameModel->setData(ind, m_pBody->m_FramePosition[row].z * pMainFrame->m_mtoUnit); - - ind = m_pFrameModel->index(row, 2, QModelIndex()); m_pFrameModel->setData(ind, m_pBody->m_xPanels[row]); } @@ -383,7 +350,7 @@ l=0; QColor color; - int style, width; +// int style, width; // MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; QMiarex *pMiarex = (QMiarex*)s_pMiarex; @@ -485,19 +452,16 @@ glLineWidth(pMiarex->m_OutlineWidth); - color = pMiarex->m_OutlineColor; - style = pMiarex->m_OutlineStyle; - width = pMiarex->m_OutlineWidth; - - if (style == 1) glLineStipple (1, 0x1111); - else if(style == 2) glLineStipple (1, 0x0F0F); - else if(style == 3) glLineStipple (1, 0x1C47); - else glLineStipple (1, 0xFFFF); + if (pMiarex->m_OutlineStyle == DASHLINE) glLineStipple (1, 0xCFCF); + else if(pMiarex->m_OutlineStyle == DOTLINE) glLineStipple (1, 0x6666); + else if(pMiarex->m_OutlineStyle == DASHDOTLINE) glLineStipple (1, 0xFF18); + else if(pMiarex->m_OutlineStyle == DASHDOTDOTLINE) glLineStipple (1, 0x7E66); + else glLineStipple (1, 0xFFFF); glColor3d(color.redF(), color.greenF(), color.blueF()); glMap2f(GL_MAP2_VERTEX_3, 0.0, 1.0, pBody->m_NSideLines*3, pBody->m_NStations, - 0.0, 1.0, 3, pBody->m_NSideLines, + 0.0, 1.0, 3, pBody->m_NSideLines, rightpts); glPolygonMode(GL_FRONT,GL_LINE); @@ -521,15 +485,14 @@ void GL3dBodyDlg::GLCreateBody3DSplines(CBody *pBody) { int i,j,k,l; - int p, style, width, nx, nh; + int p, nx, nh; double v; CVector Point; double xinc, hinc, u; CVector N, LATB, TALB; CVector LA, LB, TA, TB; - QColor color; -// MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; + MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; QMiarex *pMiarex = (QMiarex*)s_pMiarex; nx = qMin(500, m_NXPoints); @@ -555,15 +518,28 @@ } } - glNewList(BODYSURFACES,GL_COMPILE); + glNewList(BODYSURFACES, GL_COMPILE); { m_GLList++; - color = pBody->m_BodyColor; - glColor3d(color.redF(),color.greenF(),color.blueF()); - glLineWidth(1.0); + if(pMainFrame->m_bAlphaChannel) + { + glColor4d(pBody->m_BodyColor.redF(),pBody->m_BodyColor.greenF(),pBody->m_BodyColor.blueF(), pBody->m_BodyColor.alphaF()); + glEnable (GL_BLEND); + glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + } + else + { + glColor3d(pBody->m_BodyColor.redF(),pBody->m_BodyColor.greenF(),pBody->m_BodyColor.blueF()); + glDisable (GL_BLEND); + } glEnable(GL_DEPTH_TEST); - glPolygonMode(GL_FRONT_AND_BACK,GL_FILL); + glEnable(GL_POLYGON_OFFSET_FILL); + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + glPolygonOffset(1.0, 1.0); + + glEnable (GL_BLEND); + glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); //right side first; p=0; @@ -635,6 +611,9 @@ } glEnd(); } + glDisable(GL_DEPTH_TEST); + glDisable(GL_POLYGON_OFFSET_FILL); + glDisable(GL_BLEND); } glEndList(); @@ -642,18 +621,18 @@ { m_GLList++; + glEnable(GL_LINE_STIPPLE); glLineWidth(pMiarex->m_OutlineWidth); - color = pMiarex->m_OutlineColor; - style = pMiarex->m_OutlineStyle; - width = pMiarex->m_OutlineWidth; - if (style == 1) glLineStipple (1, 0x1111); - else if(style == 2) glLineStipple (1, 0x0F0F); - else if(style == 3) glLineStipple (1, 0x1C47); - else glLineStipple (1, 0xFFFF); + if (pMiarex->m_OutlineStyle == DASHLINE) glLineStipple (1, 0xCFCF); + else if(pMiarex->m_OutlineStyle == DOTLINE) glLineStipple (1, 0x6666); + else if(pMiarex->m_OutlineStyle == DASHDOTLINE) glLineStipple (1, 0xFF18); + else if(pMiarex->m_OutlineStyle == DASHDOTDOTLINE) glLineStipple (1, 0x7E66); + else glLineStipple (1, 0xFFFF); - glColor3d(color.redF(), color.greenF(), color.blueF()); + + glColor3d(pMiarex->m_OutlineColor.redF(), pMiarex->m_OutlineColor.greenF(), pMiarex->m_OutlineColor.blueF()); xinc = 0.1; hinc=1./(double)(nh-1); u=0.0; v = 0.0; @@ -701,7 +680,7 @@ } glEnd(); - //bot line + //bottom line u=0.0; glBegin(GL_LINE_STRIP); { @@ -714,6 +693,7 @@ } } glEnd(); + glDisable(GL_LINE_STIPPLE); } glEndList(); } @@ -1172,21 +1152,31 @@ int style, width; CVector P1, P2, P3, P4, N, P1P3, P2P4, Tj, Tjp1; + MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; QMiarex *pMiarex = (QMiarex*)s_pMiarex; glNewList(BODYSURFACES,GL_COMPILE); { m_GLList++; - glDisable (GL_LINE_STIPPLE); - glPolygonMode(GL_FRONT,GL_FILL); + if(pMainFrame->m_bAlphaChannel) + { + glColor4d(pBody->m_BodyColor.redF(),pBody->m_BodyColor.greenF(),pBody->m_BodyColor.blueF(), pBody->m_BodyColor.alphaF()); + glEnable (GL_BLEND); + glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + } + else + { + glColor3d(pBody->m_BodyColor.redF(),pBody->m_BodyColor.greenF(),pBody->m_BodyColor.blueF()); + glDisable (GL_BLEND); + } + glEnable(GL_DEPTH_TEST); glEnable(GL_POLYGON_OFFSET_FILL); - glPolygonOffset(1.0,1.0); - glLineWidth(1.0); - - color = pBody->m_BodyColor; + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + glPolygonOffset(1.0, 1.0); - glColor3d(color.redF(), color.greenF(), color.blueF()); + glDisable (GL_LINE_STIPPLE); + glLineWidth(1.0); for (k=0; k<pBody->m_NSideLines-1;k++) { @@ -1240,6 +1230,7 @@ } glDisable(GL_POLYGON_OFFSET_FILL); + glDisable(GL_BLEND); } glEndList(); @@ -1257,10 +1248,11 @@ glLineWidth(width); - if (style == 1) glLineStipple (1, 0x1111); - else if(style == 2) glLineStipple (1, 0x0F0F); - else if(style == 3) glLineStipple (1, 0x1C47); - else glLineStipple (1, 0xFFFF); + if (style == DASHLINE) glLineStipple (1, 0xCFCF); + else if(style == DOTLINE) glLineStipple (1, 0x6666); + else if(style == DASHDOTLINE) glLineStipple (1, 0xFF18); + else if(style == DASHDOTDOTLINE) glLineStipple (1, 0x7E66); + else glLineStipple (1, 0xFFFF); glColor3d(color.redF(), color.greenF(), color.blueF()); @@ -1350,11 +1342,12 @@ width = 1; glLineWidth(width); - style = 1; - if (style == 1) glLineStipple (1, 0x1111); - else if(style == 2) glLineStipple (1, 0x0F0F); - else if(style == 3) glLineStipple (1, 0x1C47); - else glLineStipple (1, 0xFFFF); + style = DASHLINE; + if (style == DASHLINE) glLineStipple (1, 0xCFCF); + else if(style == DOTLINE) glLineStipple (1, 0x6666); + else if(style == DASHDOTLINE) glLineStipple (1, 0xFF18); + else if(style == DASHDOTDOTLINE) glLineStipple (1, 0x7E66); + else glLineStipple (1, 0xFFFF); glColor3d(color.redF(), color.greenF(), color.blueF()); @@ -1398,19 +1391,14 @@ glPolygonMode(GL_FRONT,GL_LINE); color = m_pBody->m_BodyColor; - style = 0; width = 1; glLineWidth(width); - if (style == 1) glLineStipple (1, 0x1111); - else if(style == 2) glLineStipple (1, 0x0F0F); - else if(style == 3) glLineStipple (1, 0x1C47); - else glLineStipple (1, 0xFFFF); - glColor3d(color.redF(), color.greenF(), color.blueF()); - //Middle Line + style = DASHLINE; + glLineStipple (1, 0xCFCF); glBegin(GL_LINE_STRIP); { for (k=0; k<m_pBody->m_NStations;k++) @@ -1421,23 +1409,29 @@ } } glEnd(); + glDisable(GL_LINE_STIPPLE); + if(m_pBody->m_LineType==BODYPANELTYPE) { //Top Line glBegin(GL_LINE_STRIP); + { for (k=0; k<m_pBody->m_NStations;k++) glVertex3d(m_pBody->m_FramePosition[k].x, m_pBody->m_Frame[k].m_Point[0].z, m_pBody->m_FramePosition[k].y); + } glEnd(); //Bottom Line glBegin(GL_LINE_STRIP); + { for (k=0; k<m_pBody->m_NStations;k++) glVertex3d(m_pBody->m_FramePosition[k].x, m_pBody->m_Frame[k].m_Point[ m_pBody->m_Frame[k].m_NPoints-1].z, m_pBody->m_FramePosition[k].y); + } glEnd(); } else @@ -1623,10 +1617,12 @@ glLineWidth(width); - if (style == 1) glLineStipple (1, 0x1111); - else if(style == 2) glLineStipple (1, 0x0F0F); - else if(style == 3) glLineStipple (1, 0x1C47); - else glLineStipple (1, 0xFFFF); + if (style == DASHLINE) glLineStipple (1, 0xCFCF); + else if(style == DOTLINE) glLineStipple (1, 0x6666); + else if(style == DASHDOTLINE) glLineStipple (1, 0xFF18); + else if(style == DASHDOTDOTLINE) glLineStipple (1, 0x7E66); + else glLineStipple (1, 0xFFFF); + glColor3d(color.redF(), color.greenF(), color.blueF()); @@ -1756,10 +1752,13 @@ width = 3; glLineWidth(width); - if (style == 1) glLineStipple (1, 0x1111); - else if(style == 2) glLineStipple (1, 0x0F0F); - else if(style == 3) glLineStipple (1, 0x1C47); - else glLineStipple (1, 0xFFFF); + + if (style == DASHLINE) glLineStipple (1, 0xCFCF); + else if(style == DOTLINE) glLineStipple (1, 0x6666); + else if(style == DASHDOTLINE) glLineStipple (1, 0xFF18); + else if(style == DASHDOTDOTLINE) glLineStipple (1, 0x7E66); + else glLineStipple (1, 0xFFFF); + glColor3d(color.redF(), color.greenF(), color.blueF()); @@ -2011,7 +2010,7 @@ int i; double nLines; QMiarex * pMiarex = (QMiarex*)s_pMiarex; - + int style = pMiarex->m_3DAxisStyle; int MaxLines = 150; int start = 0; if(m_bAxes) start = 1; @@ -2030,10 +2029,11 @@ glColor3d(pMiarex->m_3DAxisColor.redF(), pMiarex->m_3DAxisColor.greenF(), pMiarex->m_3DAxisColor.blueF()); glLineWidth(pMiarex->m_3DAxisWidth); - if (pMiarex->m_3DAxisStyle == 1) glLineStipple (1, 0x1111); - else if(pMiarex->m_3DAxisStyle == 2) glLineStipple (1, 0x0F0F); - else if(pMiarex->m_3DAxisStyle == 3) glLineStipple (1, 0x1C47); - else glLineStipple (1, 0xFFFF); + if (style == DASHLINE) glLineStipple (1, 0xCFCF); + else if(style == DOTLINE) glLineStipple (1, 0x6666); + else if(style == DASHDOTLINE) glLineStipple (1, 0xFF18); + else if(style == DASHDOTDOTLINE) glLineStipple (1, 0x7E66); + else glLineStipple (1, 0xFFFF); glBegin(GL_LINES); { @@ -2054,10 +2054,12 @@ glColor3d(m_BodyGridDlg.m_Color2.redF(), m_BodyGridDlg.m_Color2.greenF(), m_BodyGridDlg.m_Color2.blueF()); glLineWidth(m_BodyGridDlg.m_Width2); - if (m_BodyGridDlg.m_Style2 == 1) glLineStipple (1, 0x1111); - else if(m_BodyGridDlg.m_Style2 == 2) glLineStipple (1, 0x0F0F); - else if(m_BodyGridDlg.m_Style2 == 3) glLineStipple (1, 0x1C47); - else glLineStipple (1, 0xFFFF); + style = m_BodyGridDlg.m_Style2; + if (style == DASHLINE) glLineStipple (1, 0xCFCF); + else if(style == DOTLINE) glLineStipple (1, 0x6666); + else if(style == DASHDOTLINE) glLineStipple (1, 0xFF18); + else if(style == DASHDOTDOTLINE) glLineStipple (1, 0x7E66); + else glLineStipple (1, 0xFFFF); glBegin(GL_LINES); { @@ -2110,10 +2112,12 @@ glColor3d(m_BodyGridDlg.m_MinColor2.redF(), m_BodyGridDlg.m_MinColor2.greenF(), m_BodyGridDlg.m_MinColor2.blueF()); glLineWidth(m_BodyGridDlg.m_MinWidth2); - if (m_BodyGridDlg.m_MinStyle2 == 1) glLineStipple (1, 0x1111); - else if(m_BodyGridDlg.m_MinStyle2 == 2) glLineStipple (1, 0x0F0F); - else if(m_BodyGridDlg.m_MinStyle2 == 2) glLineStipple (1, 0x1C47); - else glLineStipple (1, 0xFFFF); + style = m_BodyGridDlg.m_MinStyle2 ; + if (style == DASHLINE) glLineStipple (1, 0xCFCF); + else if(style == DOTLINE) glLineStipple (1, 0x6666); + else if(style == DASHDOTLINE) glLineStipple (1, 0xFF18); + else if(style == DASHDOTDOTLINE) glLineStipple (1, 0x7E66); + else glLineStipple (1, 0xFFFF); glBegin(GL_LINES); { @@ -2180,10 +2184,12 @@ glColor3d(pMiarex->m_3DAxisColor.redF(), pMiarex->m_3DAxisColor.greenF(), pMiarex->m_3DAxisColor.blueF()); glLineWidth(pMiarex->m_3DAxisWidth); - if (pMiarex->m_3DAxisStyle == 1) glLineStipple (1, 0x1111); - else if(pMiarex->m_3DAxisStyle == 2) glLineStipple (1, 0x0F0F); - else if(pMiarex->m_3DAxisStyle == 3) glLineStipple (1, 0x1C47); - else glLineStipple (1, 0xFFFF); + style = pMiarex->m_3DAxisStyle; + if (style == DASHLINE) glLineStipple (1, 0xCFCF); + else if(style == DOTLINE) glLineStipple (1, 0x6666); + else if(style == DASHDOTLINE) glLineStipple (1, 0xFF18); + else if(style == DASHDOTDOTLINE) glLineStipple (1, 0x7E66); + else glLineStipple (1, 0xFFFF); // BodyLine axis____________ @@ -2205,10 +2211,12 @@ glColor3d(m_BodyGridDlg.m_Color.redF(), m_BodyGridDlg.m_Color.greenF(), m_BodyGridDlg.m_Color.blueF()); glLineWidth(m_BodyGridDlg.m_Width); - if (m_BodyGridDlg.m_Style == 1) glLineStipple (1, 0x1111); - else if(m_BodyGridDlg.m_Style == 2) glLineStipple (1, 0x0F0F); - else if(m_BodyGridDlg.m_Style == 3) glLineStipple (1, 0x1C47); - else glLineStipple (1, 0xFFFF); + style = m_BodyGridDlg.m_Style; + if (style == DASHLINE) glLineStipple (1, 0xCFCF); + else if(style == DOTLINE) glLineStipple (1, 0x6666); + else if(style == DASHDOTLINE) glLineStipple (1, 0xFF18); + else if(style == DASHDOTDOTLINE) glLineStipple (1, 0x7E66); + else glLineStipple (1, 0xFFFF); glBegin(GL_LINES); { @@ -2255,10 +2263,12 @@ glLineWidth(m_BodyGridDlg.m_MinWidth); - if (m_BodyGridDlg.m_MinStyle == 1) glLineStipple (1, 0x1111); - else if(m_BodyGridDlg.m_MinStyle == 2) glLineStipple (1, 0x0F0F); - else if(m_BodyGridDlg.m_MinStyle == 3) glLineStipple (1, 0x1C47); - else glLineStipple (1, 0xFFFF); + style = m_BodyGridDlg.m_MinStyle; + if (style == DASHLINE) glLineStipple (1, 0xCFCF); + else if(style == DOTLINE) glLineStipple (1, 0x6666); + else if(style == DASHDOTLINE) glLineStipple (1, 0xFF18); + else if(style == DASHDOTDOTLINE) glLineStipple (1, 0x7E66); + else glLineStipple (1, 0xFFFF); glBegin(GL_LINES); { @@ -2344,88 +2354,6 @@ - -void GL3dBodyDlg::GLDrawAxes() -{ - double l = .8; -// if(m_pWing) l=1.1*m_pWing->m_Span/2.0; - QMiarex *pMiarex = (QMiarex*)s_pMiarex; - glPolygonMode(GL_FRONT,GL_LINE); - glLineWidth((GLfloat)(pMiarex->m_3DAxisWidth)); - - glColor3d(pMiarex->m_3DAxisColor.redF(),pMiarex->m_3DAxisColor.greenF(),pMiarex->m_3DAxisColor.blueF()); - -// X axis____________ - glEnable (GL_LINE_STIPPLE); - if(pMiarex->m_3DAxisStyle == 1) glLineStipple (1, 0x1111); - else if(pMiarex->m_3DAxisStyle== 2) glLineStipple (1, 0x0F0F); - else if(pMiarex->m_3DAxisStyle== 3) glLineStipple (1, 0x1C47); - else glLineStipple (1, 0xFFFF);// Solid - - - glBegin(GL_LINES); - glVertex3d(-.8, 0.0, 0.0); - glVertex3d( .8, 0.0, 0.0); - glEnd(); - //Arrow - glBegin(GL_LINES); - glVertex3d( 1.0*l, 0.0, 0.0); - glVertex3d( 0.98*l, 0.015*l, 0.015*l); - glEnd(); - glBegin(GL_LINES); - glVertex3d( 1.0*l, 0.0, 0.0); - glVertex3d( 0.98*l,-0.015*l,-0.015*l); - glEnd(); - glDisable (GL_LINE_STIPPLE); - //XLabel - m_pglWidget->renderText( .8, 0.0, 0.0, "X"); - - -// Y axis____________ - glEnable (GL_LINE_STIPPLE); - glBegin(GL_LINES); - glVertex3d(0.0, -.8, 0.0); - glVertex3d(0.0, .8, 0.0); - glEnd(); - - //Arrow - glBegin(GL_LINES); - glVertex3d( 0.0, 1.0*l, 0.0); - glVertex3d( 0.015*l, 0.98*l, 0.015*l); - glEnd(); - glBegin(GL_LINES); - glVertex3d( 0.0, 1.0*l, 0.0); - glVertex3d(-0.015*l, 0.98*l,-0.015*l); - glEnd(); - glDisable (GL_LINE_STIPPLE); - //Y Label - m_pglWidget->renderText( 0.0, .8, 0.0, "Y"); - -// Z axis____________ - glEnable (GL_LINE_STIPPLE); - glBegin(GL_LINES); - glVertex3d(0.0, 0.0, -.8); - glVertex3d(0.0, 0.0, .8); - glEnd(); - - - //Arrow - glBegin(GL_LINES); - glVertex3d( 0.0, 0.0, 1.0*l); - glVertex3d( 0.015*l, 0.015*l, 0.98*l); - glEnd(); - glBegin(GL_LINES); - glVertex3d( 0.0, 0.0, 1.0*l); - glVertex3d(-0.015*l, -0.015*l, 0.98*l); - glEnd(); - glDisable (GL_LINE_STIPPLE); - //ZLabel - m_pglWidget->renderText( 0.0, 0.0, .8, "Z"); - - glDisable (GL_LINE_STIPPLE); -} - - void GL3dBodyDlg::GLDraw3D() { // QMiarex *pMiarex= (QMiarex*)s_pMiarex; @@ -2471,8 +2399,6 @@ } if(m_bResetglBody ) { - int row, col, NumAngles, NumCircles; - double R, lat_incr, lon_incr, phi, theta; m_ArcBall.GetMatrix(); CVector eye(0.0,0.0,1.0); CVector up(0.0,1.0,0.0); @@ -2483,118 +2409,12 @@ glDeleteLists(ARCBALL,2); m_GLList-=2; } - glNewList(ARCBALL,GL_COMPILE); - { - m_GLList++; - glPolygonMode(GL_FRONT_AND_BACK,GL_LINE); - - glColor3d(0.3, 0.3, 0.5); - glLineWidth(1.0); - - R = m_ArcBall.ab_sphere; - - NumAngles = 50; - NumCircles = 6; - lat_incr = 90.0 / NumAngles; - lon_incr = 360.0 / NumCircles; - - for (col = 0; col < NumCircles; col++) - { - glBegin(GL_LINE_STRIP); - { - phi = (col * lon_incr) * PI/180.0; - - for (row = 1; row < NumAngles-1; row++) - { - theta = (row * lat_incr) * PI/180.0; - glVertex3d(R*cos(phi)*cos(theta), R*sin(theta), R*sin(phi)*cos(theta)); - } - } - glEnd(); - glBegin(GL_LINE_STRIP); - { - phi = (col * lon_incr ) * PI/180.0; - - for (row = 1; row < NumAngles-1; row++) - { - theta = -(row * lat_incr) * PI/180.0; - glVertex3d(R*cos(phi)*cos(theta), R*sin(theta), R*sin(phi)*cos(theta)); - } - } - glEnd(); - } - - - glBegin(GL_LINE_STRIP); - { - theta = 0.; - for(col=1; col<35; col++) - { - phi = (0.0 + (double)col*360.0/72.0) * PI/180.0; - glVertex3d(R * cos(phi) * cos(theta), R * sin(theta), R * sin(phi) * cos(theta)); - } - } - glEnd(); - - glBegin(GL_LINE_STRIP); - { - theta = 0.; - for(col=1; col<35; col++) - { - phi = (0.0 + (double)col*360.0/72.0) * PI/180.0; - glVertex3d(R * cos(-phi) * cos(theta), R * sin(theta), R * sin(-phi) * cos(theta)); - } - } - glEnd(); - } - glEndList(); - - glNewList(ARCPOINT,GL_COMPILE); - { - m_GLList++; - glPolygonMode(GL_FRONT,GL_LINE); - - glColor3d(0.3, 0.1, 0.2); - glLineWidth(2.0); - - NumAngles = 10; - - lat_incr = 30.0 / NumAngles; - lon_incr = 30.0 / NumAngles; - - glBegin(GL_LINE_STRIP); - { - phi = 0.0;//longitude - - for (row = -NumAngles; row < NumAngles; row++) - { - theta = (row * lat_incr) * PI/180.0; - glVertex3d(R*cos(phi)*cos(theta), R*sin(theta), R*sin(phi)*cos(theta)); - } - } - glEnd(); - - glBegin(GL_LINE_STRIP); - { - theta = 0.; - for(col=-NumAngles; col<NumAngles; col++) - { - phi = (0.0 + (double)col*30.0/NumAngles) * PI/180.0; - glVertex3d(R * cos(phi) * cos(theta), R * sin(theta), R * sin(phi) * cos(theta)); - } - } - glEnd(); - } - glEndList(); + m_pglWidget->CreateArcballList(m_ArcBall, 1.0); + m_GLList+=2; } if(m_bResetglBody && m_pBody) { - m_ArcBall.GetMatrix(); - CVector eye(0.0,0.0,1.0); - CVector up(0.0,1.0,0.0); - m_ArcBall.SetZoom(0.3,eye,up); - if(glIsList(BODYGEOM)) { glDeleteLists(BODYGEOM,2); @@ -2671,7 +2491,7 @@ // Draw the labels CVector real; - ClientToGL(m_MousePos, real); + m_pglWidget->ClientToGL(m_MousePos, real); QFontMetrics fm(pMainFrame->m_TextFont); int dD = fm.height(); @@ -2736,7 +2556,6 @@ int width; QMiarex *pMiarex = (QMiarex*)s_pMiarex; MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; - GLdouble pts[4]; pts[0]= 1.0; pts[1]=0.0; pts[2]=0.0; pts[3]=-m_VerticalSplit; //x=m_VerticalSplit @@ -2830,7 +2649,7 @@ glPushMatrix(); { - GLSetupLight(); + m_pglWidget->GLSetupLight(pMiarex->m_GLLightDlg, m_BodyOffset.y, 1.0); glLoadIdentity(); @@ -2866,7 +2685,7 @@ glScaled(m_glScaled, m_glScaled, m_glScaled); glTranslated(m_glRotCenter.x, m_glRotCenter.y, m_glRotCenter.z); - if(m_bAxes) GLDrawAxes(); + if(m_bAxes) m_pglWidget->GLDrawAxes(1.0, pMiarex->m_3DAxisColor, pMiarex->m_3DAxisStyle, pMiarex->m_3DAxisWidth); if(m_bglLight) @@ -2914,7 +2733,7 @@ glPushMatrix(); { glTranslated(m_pBody->m_MassPosition[im].x,m_pBody->m_MassPosition[im].y,m_pBody->m_MassPosition[im].z); - GLRenderSphere(pMiarex->m_MassColor,radius,18,18); + m_pglWidget->GLRenderSphere(pMiarex->m_MassColor,radius,18,18); m_pglWidget->renderText(0.0, 0.0, 0.02, m_pBody->m_MassTag[im]); } @@ -2934,175 +2753,6 @@ } -void GL3dBodyDlg::GLRenderSphere(QColor cr, double radius, int NumLongitudes, int NumLatitudes) -{ - glDisable(GL_TEXTURE_2D); - glPolygonMode(GL_FRONT,GL_FILL); - glBegin(GL_TRIANGLES); - glColor3d(cr.redF(),cr.greenF(),cr.blueF()); - - double start_lat = -90; - double start_lon = 0.0; - double R = radius; - - double lat_incr = 180.0 / NumLatitudes; - double lon_incr = 360.0 / NumLongitudes; - - double phi1, phi2, theta1, theta2; - GLdouble u[3], v[3], w[3], n[3]; - - int row, col; - - for (col = 0; col < NumLongitudes; col++) - { - phi1 = (start_lon + col * lon_incr) * PI/180.0; - phi2 = (start_lon + (col + 1) * lon_incr) * PI/180.0; - - for (row = 0; row < NumLatitudes; row++) - { - theta1 = (start_lat + row * lat_incr) * PI/180.0; - theta2 = (start_lat + (row + 1) * lat_incr) * PI/180.0; - - u[0] = R * cos(phi1) * cos(theta1);//x - u[1] = R * sin(theta1);//y - u[2] = R * sin(phi1) * cos(theta1);//z - - v[0] = R * cos(phi1) * cos(theta2);//x - v[1] = R * sin(theta2);//y - v[2] = R * sin(phi1) * cos(theta2);//z - - w[0] = R * cos(phi2) * cos(theta2);//x - w[1] = R * sin(theta2);//y - w[2] = R * sin(phi2) * cos(theta2);//z - - NormalVector(u,v,w,n); - - glNormal3dv(n); - glVertex3dv(u); - glVertex3dv(v); - glVertex3dv(w); - - v[0] = R * cos(phi2) * cos(theta1);//x - v[1] = R * sin(theta1);//y - v[2] = R * sin(phi2) * cos(theta1);//z - - NormalVector(u,w,v,n); - glNormal3dv(n); - glVertex3dv(u); - glVertex3dv(w); - glVertex3dv(v); - } - } - glEnd(); -} - - -void GL3dBodyDlg::GLSetupLight() -{ - GLLightDlg *pGLLightDlg = (GLLightDlg *)s_pGLLightDlg; - glEnable(GL_LIGHTING); - glEnable(GL_LIGHT0); // the ambient light - glDisable(GL_LIGHT1); - glDisable(GL_LIGHT2); - glDisable(GL_LIGHT3); - glDisable(GL_LIGHT4); - glDisable(GL_LIGHT5); - glDisable(GL_LIGHT6); - glDisable(GL_LIGHT7); - - float fLightAmbient0[4]; - float fLightDiffuse0[4]; - float fLightSpecular0[4]; - float fLightPosition0[4]; - - float LightFactor = 1.0f; -// if(LightFactor>1.0) LightFactor = 1.0f; - - // the ambient light conditions. - fLightAmbient0[0] = LightFactor*pGLLightDlg->m_Ambient * pGLLightDlg->m_Red; // red component - fLightAmbient0[1] = LightFactor*pGLLightDlg->m_Ambient * pGLLightDlg->m_Green; // green component - fLightAmbient0[2] = LightFactor*pGLLightDlg->m_Ambient * pGLLightDlg->m_Blue; // blue component - fLightAmbient0[3] = 1.0; // alpha - - fLightDiffuse0[0] = LightFactor*pGLLightDlg->m_Diffuse * pGLLightDlg->m_Red; // red component - fLightDiffuse0[1] = LightFactor*pGLLightDlg->m_Diffuse * pGLLightDlg->m_Green; // green component - fLightDiffuse0[2] = LightFactor*pGLLightDlg->m_Diffuse * pGLLightDlg->m_Blue; // blue component - fLightDiffuse0[3] = 1.0; // alpha - - fLightSpecular0[0] = LightFactor*pGLLightDlg->m_Specular * pGLLightDlg->m_Red; // red component - fLightSpecular0[1] = LightFactor*pGLLightDlg->m_Specular * pGLLightDlg->m_Green; // green component - fLightSpecular0[2] = LightFactor*pGLLightDlg->m_Specular * pGLLightDlg->m_Blue; // blue component - fLightSpecular0[3] = 1.0; // alpha - - // And finally, its position - - fLightPosition0[0] = (GLfloat)((pGLLightDlg->m_XLight)); - fLightPosition0[1] = (GLfloat)((pGLLightDlg->m_YLight + m_UFOOffset.y)); - fLightPosition0[2] = (GLfloat)((pGLLightDlg->m_ZLight)); - fLightPosition0[3] = 1.0; // W (positional light) - - - - // Enable the basic light - glLightfv(GL_LIGHT0, GL_AMBIENT, fLightAmbient0); - glLightfv(GL_LIGHT0, GL_DIFFUSE, fLightDiffuse0); - glLightfv(GL_LIGHT0, GL_SPECULAR, fLightSpecular0); - glLightfv(GL_LIGHT0, GL_POSITION, fLightPosition0); - - - float fMatAmbient[4] = {pGLLightDlg->m_MatAmbient, pGLLightDlg->m_MatAmbient, pGLLightDlg->m_MatAmbient,1.0f}; - float fMatSpecular[4] = {pGLLightDlg->m_MatSpecular, pGLLightDlg->m_MatSpecular, pGLLightDlg->m_MatSpecular,1.0f}; - float fMatDiffuse[4] = {pGLLightDlg->m_MatDiffuse, pGLLightDlg->m_MatDiffuse, pGLLightDlg->m_MatDiffuse,1.0f}; - float fMatEmission[4] = {pGLLightDlg->m_MatEmission, pGLLightDlg->m_MatEmission, pGLLightDlg->m_MatEmission,1.0f}; - - if(pGLLightDlg->m_bColorMaterial) - { - glEnable(GL_COLOR_MATERIAL); - glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE); -// glColorMaterial(GL_FRONT, GL_AMBIENT); -// glColorMaterial(GL_FRONT, GL_DIFFUSE); -// glColorMaterial(GL_FRONT, GL_SPECULAR); - - } - else - { - glDisable(GL_COLOR_MATERIAL); - - } - glMaterialfv(GL_FRONT, GL_SPECULAR, fMatSpecular); - glMaterialfv(GL_FRONT, GL_AMBIENT, fMatAmbient); - glMaterialfv(GL_FRONT, GL_DIFFUSE, fMatDiffuse); - glMaterialfv(GL_FRONT, GL_EMISSION, fMatEmission); - glMateriali(GL_FRONT, GL_SHININESS, pGLLightDlg->m_iMatShininess); - - if(pGLLightDlg->m_bDepthTest) glEnable(GL_DEPTH_TEST); else glDisable(GL_DEPTH_TEST); - if(pGLLightDlg->m_bCullFaces) glEnable(GL_CULL_FACE); else glDisable(GL_CULL_FACE); - if(pGLLightDlg->m_bSmooth) glEnable(GL_POLYGON_SMOOTH); else glDisable(GL_POLYGON_SMOOTH); - if(pGLLightDlg->m_bShade) glShadeModel(GL_SMOOTH); else glShadeModel(GL_FLAT); - - if(pGLLightDlg->m_bLocalView) glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER ,0); - else glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER ,1); - - glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,0); -} - - -void GL3dBodyDlg::GLToClient(CVector const &real, QPoint &point) -{ - if(!m_pglWidget) return; - double h = (double)m_pglWidget->geometry().height(); - double w = (double)m_pglWidget->geometry().width(); - double scale; - - if(w>=h) scale = (double)m_pglWidget->geometry().width() /2.0; - else scale = (double)m_pglWidget->geometry().height() /2.0; - -// point.rx() = (int)(scale *(1.0 + real.x)); - point.rx() = (int)(w/2.0 + real.x*scale); - point.ry() = (int)(h/2.0 - real.y*scale); -} - - void GL3dBodyDlg::InitDialog() { @@ -3110,12 +2760,11 @@ QString length; GetLengthUnit(length, pMainFrame->m_LengthUnit); m_pFrameModel->setHeaderData(0, Qt::Horizontal, "x ("+length+")"); - m_pFrameModel->setHeaderData(1, Qt::Horizontal, "z ("+length+")"); - m_pFrameModel->setHeaderData(2, Qt::Horizontal, tr("NPanels")); + m_pFrameModel->setHeaderData(1, Qt::Horizontal, tr("NPanels")); m_pPointModel->setHeaderData(0, Qt::Horizontal, "y ("+length+")"); m_pPointModel->setHeaderData(1, Qt::Horizontal, "z ("+length+")"); m_pPointModel->setHeaderData(2, Qt::Horizontal, tr("NPanels")); - + /* int w3 = (int)(m_pctrlFrameTable->width()/3); m_pctrlFrameTable->setColumnWidth(0,w3); m_pctrlFrameTable->setColumnWidth(1,w3); @@ -3174,7 +2823,10 @@ } case Qt::Key_R: { - OnResetScales(); + if(m_FrameRect.contains(m_LastPoint)) SetFrameScale(); + else if(m_BodyLineRect.contains(m_LastPoint)) SetBodyLineScale(); + else SetBodyScale(); + UpdateView(); break; } case Qt::Key_Y: @@ -3269,7 +2921,7 @@ bool bCtrl = false; if(event->modifiers() & Qt::ControlModifier) bCtrl =true; - ClientToGL(point, Real); + m_pglWidget->ClientToGL(point, Real); if(m_pglWidget->m_rCltRect.contains(point)) m_pglWidget->setFocus(); @@ -3291,7 +2943,7 @@ Delta.setX(point.x() - m_LastPoint.x()); Delta.setY(point.y() - m_LastPoint.y()); - ClientToGL(point, Real); + m_pglWidget->ClientToGL(point, Real); if(!m_pglWidget->hasFocus()) m_pglWidget->setFocus(); @@ -3304,7 +2956,7 @@ if(bCtrl&& m_BodyRect.contains(point)) { //rotate - m_ArcBall.Move(point.x(), m_pglWidget->m_rCltRect.height()-point.y()); + m_ArcBall.Move(point.x(), m_pglWidget->geometry().height()-point.y()); UpdateView(); } else if(m_bTrans) @@ -3397,7 +3049,7 @@ if(m_BodyRect.contains(point)) { //rotate - m_ArcBall.Move(point.x(), m_pglWidget->m_rCltRect.height()-point.y()); + m_ArcBall.Move(point.x(), m_pglWidget->geometry().height()-point.y()); UpdateView(); } } @@ -3444,11 +3096,13 @@ CVector Real; bool bCtrl = false; + bool bShift = false; if(event->modifiers() & Qt::ControlModifier) bCtrl =true; + if(event->modifiers() & Qt::ShiftModifier) bShift =true; - ClientToGL(point, Real); + m_pglWidget->ClientToGL(point, Real); - if(m_pglWidget->m_rCltRect.contains(point)) m_pglWidget->setFocus(); + if(m_pglWidget->geometry().contains(point)) m_pglWidget->setFocus(); if(m_bPickCenter) @@ -3462,7 +3116,7 @@ if(m_BodyRect.contains(point)) { m_bArcball = true; - m_ArcBall.Start(event->pos().x(), m_pglWidget->m_rCltRect.height()-event->pos().y()); + m_ArcBall.Start(event->pos().x(), m_pglWidget->geometry().height()-event->pos().y()); m_bCrossPoint = true; Set3DRotationCenter(); @@ -3471,10 +3125,11 @@ } else if (event->buttons() & Qt::LeftButton) { + m_ptPopUp = event->pos(); m_bTrans=true; if(m_pBody && m_BodyRect.contains(point)) { - m_ArcBall.Start(point.x(), m_pglWidget->m_rCltRect.height()-point.y()); + m_ArcBall.Start(point.x(), m_pglWidget->geometry().height()-point.y()); m_bCrossPoint = true; Set3DRotationCenter(); if (!bCtrl) @@ -3482,15 +3137,20 @@ m_bTrans = true; m_pglWidget->setCursor(Qt::ClosedHandCursor); } + else + { + m_bArcball = true; + } UpdateView(); } + else if(bShift) Insert(Real); + else if(bCtrl) Remove(Real); else if(m_pBody && m_BodyLineRect.contains(point)) { Real.x = (Real.x - m_BodyScaledOffset.x)/m_BodyScale; Real.y = (Real.y - m_BodyScaledOffset.y)/m_BodyScale; Real.z = 0.0; iF = m_pBody->IsFramePos(Real, m_BodyScale); - if(iF >=0) { TakePicture(); @@ -3599,41 +3259,6 @@ } -void GL3dBodyDlg::NormalVector(GLdouble p1[3], GLdouble p2[3], GLdouble p3[3], GLdouble n[3]) -{ - GLdouble v1[3], v2[3], d; - // calculate two vectors, using the middle point - // as the common origin - v1[0] = p3[0] - p1[0]; - v1[1] = p3[1] - p1[1]; - v1[2] = p3[2] - p1[2]; - v2[0] = p3[0] - p2[0]; - v2[1] = p3[1] - p2[1]; - v2[2] = p3[2] - p2[2]; - - // calculate the cross product of the two vectors - n[0] = v1[1] * v2[2] - v2[1] * v1[2]; - n[1] = v1[2] * v2[0] - v2[2] * v1[0]; - n[2] = v1[0] * v2[1] - v2[0] * v1[1]; - - // normalize the vector - d = ( n[0] * n[0] + n[1] * n[1] + n[2] * n[2] ); - // try to catch very small vectors - if (d < (GLdouble)0.00000001) - { - d = (GLdouble)100000000.0; - } - else - { - d = (GLdouble)1.0 / sqrt(d); - } - - n[0] *= d; - n[1] *= d; - n[2] *= d; -} - - void GL3dBodyDlg::On3DIso() { @@ -3741,7 +3366,6 @@ m_pBody->m_BodyStyle = dlg.GetStyle(); m_pBody->m_BodyWidth = dlg.GetWidth(); m_pBody->m_BodyColor = dlg.GetColor(); - m_pctrlBodyStyle->SetStyle(dlg.GetStyle()); m_pctrlBodyStyle->SetWidth(dlg.GetWidth()); m_pctrlBodyStyle->SetColor(dlg.GetColor()); @@ -3798,7 +3422,6 @@ { m_pBody = pMiarex->AddBody(pNewBody); SetBody(m_pBody); - SetBodyScale(); } } @@ -3810,7 +3433,6 @@ m_bChanged = true; int n = m_pBody->m_iActiveFrame; ReadFrameSectionData(m_pBody->m_iActiveFrame); - m_pBody->UpdateFramePos(n); m_bResetglBody = true; m_bResetglBody2D = true; m_bResetglBodyMesh = true; @@ -3880,17 +3502,21 @@ void GL3dBodyDlg::OnInsert() { + Insert(m_RealPopUp); +} + +void GL3dBodyDlg::Insert(CVector Pt) +{ CVector Real; m_bChanged = true; int FrameSel = 0; - if(m_BodyLineRect.contains(m_ptPopUp)) { TakePicture(); StorePicture(); - Real.x = (m_RealPopUp.x - m_BodyScaledOffset.x)/m_BodyScale; - Real.z = (m_RealPopUp.y - m_BodyScaledOffset.y)/m_BodyScale; + Real.x = (Pt.x - m_BodyScaledOffset.x)/m_BodyScale; + Real.z = (Pt.y - m_BodyScaledOffset.y)/m_BodyScale; Real.y = 0.0; if(m_pFrame) @@ -3911,8 +3537,8 @@ TakePicture(); StorePicture(); - Real.x = (m_RealPopUp.x - m_FrameScaledOffset.x)/m_FrameScale; - Real.y = (m_RealPopUp.y - m_FrameScaledOffset.y)/m_FrameScale; + Real.x = (Pt.x - m_FrameScaledOffset.x)/m_FrameScale; + Real.y = (Pt.y - m_FrameScaledOffset.y)/m_FrameScale; Real.z = 0.0; m_pBody->InsertPoint(Real); @@ -4059,6 +3685,12 @@ void GL3dBodyDlg::OnRemove() { + Remove(m_RealPopUp); +} + + +void GL3dBodyDlg::Remove(CVector Pt) +{ int i,n; CVector Real; @@ -4069,8 +3701,8 @@ TakePicture(); StorePicture(); - Real.x = (m_RealPopUp.x - m_BodyScaledOffset.x)/m_BodyScale; - Real.y = (m_RealPopUp.y - m_BodyScaledOffset.y)/m_BodyScale; + Real.x = (Pt.x - m_BodyScaledOffset.x)/m_BodyScale; + Real.y = (Pt.y - m_BodyScaledOffset.y)/m_BodyScale; Real.z = 0.0; n = m_pBody->IsFramePos(Real, m_BodyScale/m_BodyRefScale); if (n>=0) @@ -4089,8 +3721,8 @@ TakePicture(); StorePicture(); - Real.x = (m_RealPopUp.x - m_FrameScaledOffset.x)/m_FrameScale; - Real.y = (m_RealPopUp.y - m_FrameScaledOffset.y)/m_FrameScale; + Real.x = (Pt.x - m_FrameScaledOffset.x)/m_FrameScale; + Real.y = (Pt.y - m_FrameScaledOffset.y)/m_FrameScale; Real.z = 0.0; n = m_pFrame->IsPoint(Real, m_BodyScale/m_BodyRefScale); @@ -4117,7 +3749,10 @@ { m_bIs3DScaleSet = false; m_bResetglBody2D = true; - SetBodyScale(); + if(m_FrameRect.contains(m_ptPopUp)) SetFrameScale(); + else if(m_BodyLineRect.contains(m_ptPopUp)) SetBodyLineScale(); + else SetBodyScale(); + UpdateView(); } @@ -4202,20 +3837,8 @@ m_bResetglBody2D = true; UpdateView(); } -/* -void GL3dBodyDlg::OnSetupLight() -{ - GLLightDlg *pGLLightDlg = (GLLightDlg *)s_pGLLightDlg; - m_bShowLight = true; - UpdateView(); - pGLLightDlg->m_pGL3dBodyDlg = this; - pGLLightDlg->exec(); - m_bShowLight = false; - GLSetupLight(); - UpdateView(); -}*/ void GL3dBodyDlg::OnShowCurFrameOnly() { @@ -4275,26 +3898,18 @@ strong = pItem->text(); strong.replace(" ",""); - d =strong.toDouble(&bOK); - if(bOK) m_pBody->m_FramePosition[sel].x =d / pMainFrame->m_mtoUnit; + d = strong.toDouble(&bOK); + if(bOK) m_pBody->m_FramePosition[sel].x = d / pMainFrame->m_mtoUnit; pItem = m_pFrameModel->item(sel,1); strong = pItem->text(); strong.replace(" ",""); - d =strong.toDouble(&bOK); - if(bOK) m_pBody->m_FramePosition[sel].z =d / pMainFrame->m_mtoUnit; - - pItem = m_pFrameModel->item(sel,2); - strong = pItem->text(); - strong.replace(" ",""); - k =strong.toInt(&bOK); + k = strong.toInt(&bOK); if(bOK) m_pBody->m_xPanels[sel] = k; } - - void GL3dBodyDlg::ReadPointSectionData(int sel) { if(sel>=m_pPointModel->rowCount()) return; @@ -4363,7 +3978,8 @@ m_bIs3DScaleSet = false; m_bResetglBody2D = true; - SetBodyScale(); +// SetBodyScale(); +// SetRectangles(); ResizeTables(); } @@ -4435,7 +4051,7 @@ i=-1; dmin = 100000.0; - ClientToGL(point, B); + m_pglWidget->ClientToGL(point, B); B.x += -m_UFOOffset.x - m_glViewportTrans.x*m_glScaled; B.y += -m_UFOOffset.y + m_glViewportTrans.y*m_glScaled; @@ -4625,105 +4241,121 @@ FillPointDataTable(); } +void GL3dBodyDlg::SetBodyLineScale() +{ + if(m_pBody) m_BodyScale = (m_VerticalSplit-m_pglWidget->m_GLViewRect.left)*.7/m_pBody->Length(); + else m_BodyScale = 1.0; + m_BodyOffset.Set((m_pglWidget->m_GLViewRect.left+m_VerticalSplit)/2.0-m_pBody->Length()/2.0-m_pBody->LeadingPoint().x, + (m_pglWidget->m_GLViewRect.top+m_HorizontalSplit)/2.0, + 0.0); -void GL3dBodyDlg::SetBodyScale() + m_BodyScaledOffset.Set((1.0 - m_BodyScale)*m_BodyScalingCenter.x + m_BodyScale * m_BodyOffset.x, + (1.0 - m_BodyScale)*m_BodyScalingCenter.y + m_BodyScale * m_BodyOffset.y, + 0.0); + m_BodyRefScale = m_BodyScale; + m_BodyScalingCenter.x = (m_VerticalSplit + m_pglWidget->m_GLViewRect.left) /2.0; + m_BodyScalingCenter.y = (m_pglWidget->m_GLViewRect.top + m_HorizontalSplit) /2.0; +} + + +void GL3dBodyDlg::SetFrameScale() { int k; double height; - QPoint P1, P2; - CVector V1, V2; + if(m_pBody) + { + height = 0.0; + for(k=0; k<m_pBody->m_NStations; k++) + { + height = qMax(height,fabs( m_pBody->m_Frame[k].m_Point[0].z - m_pBody->m_Frame[k].m_Point[m_pBody->m_Frame[k].m_NPoints-1].z)); + } + m_FrameScale = (1.0-0.5)/height; + } + else m_FrameScale = 1.0; - if(m_bIs3DScaleSet /*&& !m_bAutoScales*/) return; + m_FrameOffset.Set((m_VerticalSplit + m_pglWidget->m_GLViewRect.right)/2.0, + (m_pglWidget->m_GLViewRect.top +m_pglWidget->m_GLViewRect.bottom)/2.0, + 0.0); - m_glViewportTrans.x = 0.0; - m_glViewportTrans.y = 0.0; - m_glViewportTrans.z = 0.0; - m_bIs3DScaleSet = true; - m_glTop = m_pglWidget->m_GLViewRect.top; + m_FrameScaledOffset.Set((1.0 - m_FrameScale)*m_FrameScalingCenter.x + m_FrameScale * m_FrameOffset.x, + (1.0 - m_FrameScale)*m_FrameScalingCenter.y + m_FrameScale * m_FrameOffset.y, + 0.0); - m_VerticalSplit = m_pglWidget->m_GLViewRect.width() /6.0; - m_HorizontalSplit = m_pglWidget->m_GLViewRect.height() /6.0; + m_FrameRefScale = m_FrameScale; + m_FrameScalingCenter.x = (m_VerticalSplit + m_pglWidget->m_GLViewRect.right) /2.0; + m_FrameScalingCenter.y = (m_pglWidget->m_GLViewRect.top + m_pglWidget->m_GLViewRect.bottom) /2.0; - m_UFOOffset.x = (GLfloat)(m_pglWidget->m_GLViewRect.left + m_VerticalSplit )/2.0; - m_UFOOffset.y = (GLfloat)(m_pglWidget->m_GLViewRect.bottom + m_HorizontalSplit)/2.0; - - m_glScaled = (GLfloat)(3./4.* (m_VerticalSplit+1.0) / m_pBody->Length()); - m_ArcBall.GetMatrix(); - CVector eye(0.0,0.0,1.0); - CVector up(0.0,1.0,0.0); - m_ArcBall.SetZoom(0.3,eye,up); +} - Set3DRotationCenter(); +void GL3dBodyDlg::SetRectangles() +{ + CVector V1, V2; + QPoint P1, P2; - m_BodyScalingCenter.x = (m_VerticalSplit + m_pglWidget->m_GLViewRect.left) /2.0; - m_BodyScalingCenter.y = (m_pglWidget->m_GLViewRect.top + m_HorizontalSplit) /2.0; - m_FrameScalingCenter.x = (m_VerticalSplit + m_pglWidget->m_GLViewRect.right) /2.0; - m_FrameScalingCenter.y = (m_pglWidget->m_GLViewRect.top + m_pglWidget->m_GLViewRect.bottom) /2.0; + m_glTop = m_pglWidget->m_GLViewRect.top; + + m_VerticalSplit = m_pglWidget->m_GLViewRect.width() /6.0; + m_HorizontalSplit = m_pglWidget->m_GLViewRect.height() /6.0; V1.Set(m_pglWidget->m_GLViewRect.left, m_pglWidget->m_GLViewRect.top, 0.0); V2.Set(m_VerticalSplit, m_HorizontalSplit, 0.0); - GLToClient(V1, P1); - GLToClient(V2, P2); + m_pglWidget->GLToClient(V1, P1); + m_pglWidget->GLToClient(V2, P2); m_BodyLineRect.setTopLeft(P1); m_BodyLineRect.setBottomRight(P2); V1.Set(m_VerticalSplit, m_pglWidget->m_GLViewRect.top, 0.0); V2.Set(m_pglWidget->m_GLViewRect.right, m_pglWidget->m_GLViewRect.bottom, 0.0); - GLToClient(V1, P1); - GLToClient(V2, P2); + m_pglWidget->GLToClient(V1, P1); + m_pglWidget->GLToClient(V2, P2); m_FrameRect.setTopLeft(P1); m_FrameRect.setBottomRight(P2); V1.Set(m_pglWidget->m_GLViewRect.left, m_HorizontalSplit, 0.0); V2.Set(m_VerticalSplit, m_pglWidget->m_GLViewRect.bottom, 0.0); - GLToClient(V1, P1); - GLToClient(V2, P2); + m_pglWidget->GLToClient(V1, P1); + m_pglWidget->GLToClient(V2, P2); m_BodyRect.setTopLeft(P1); m_BodyRect.setBottomRight(P2); +} - if(m_pBody) - { - m_BodyScale = (m_VerticalSplit-m_pglWidget->m_GLViewRect.left)*.7/m_pBody->Length(); - height = 0.0; - for(k=0; k<m_pBody->m_NStations; k++) - { - height = qMax(height,fabs( m_pBody->m_Frame[k].m_Point[0].z - m_pBody->m_Frame[k].m_Point[m_pBody->m_Frame[k].m_NPoints-1].z)); - } - m_FrameScale = (1.0-0.5)/height; - } - else - { - m_BodyScale = 1.0; - m_FrameScale = 1.0; - } +void GL3dBodyDlg::SetBodyScale() +{ +// if(m_bIs3DScaleSet /*&& !m_bAutoScales*/) return; - m_FrameOffset.Set((m_VerticalSplit + m_pglWidget->m_GLViewRect.right)/2.0, - (m_pglWidget->m_GLViewRect.top +m_pglWidget->m_GLViewRect.bottom)/2.0, - 0.0); + m_glViewportTrans.x = 0.0; + m_glViewportTrans.y = 0.0; + m_glViewportTrans.z = 0.0; + m_bIs3DScaleSet = true; - m_BodyOffset.Set((m_pglWidget->m_GLViewRect.left+m_VerticalSplit)/2.0-m_pBody->Length()/2.0-m_pBody->LeadingPoint().x, - (m_pglWidget->m_GLViewRect.top+m_HorizontalSplit)/2.0, - 0.0); - m_FrameScaledOffset.Set((1.0 - m_FrameScale)*m_FrameScalingCenter.x + m_FrameScale * m_FrameOffset.x, - (1.0 - m_FrameScale)*m_FrameScalingCenter.y + m_FrameScale * m_FrameOffset.y, - 0.0); + m_UFOOffset.x = (GLfloat)(m_pglWidget->m_GLViewRect.left + m_VerticalSplit )/2.0; + m_UFOOffset.y = (GLfloat)(m_pglWidget->m_GLViewRect.bottom + m_HorizontalSplit)/2.0; + + m_glScaled = (GLfloat)(3./4.* (m_VerticalSplit+1.0) / m_pBody->Length()); - m_BodyScaledOffset.Set((1.0 - m_BodyScale)*m_BodyScalingCenter.x + m_BodyScale * m_BodyOffset.x, - (1.0 - m_BodyScale)*m_BodyScalingCenter.y + m_BodyScale * m_BodyOffset.y, - 0.0); + m_ArcBall.GetMatrix(); + CVector eye(0.0,0.0,1.0); + CVector up(0.0,1.0,0.0); + m_ArcBall.SetZoom(0.3,eye,up); - CFrame::s_rViewRect = m_FrameRect; - CBody::s_rViewRect = m_BodyLineRect; - m_BodyRefScale = m_BodyScale; - m_FrameRefScale = m_FrameScale; + Set3DRotationCenter(); +} + + +void GL3dBodyDlg::SetScales(CVector Real) +{ + SetBodyScale(); + SetFrameScale(); + SetBodyLineScale(); } + void GL3dBodyDlg::SetFrame(int iFrame) { if(!m_pBody) return; @@ -4731,9 +4363,7 @@ else m_pFrame = m_pBody->m_Frame + iFrame; m_pBody->m_iActiveFrame = iFrame; -// SetFrameSel(iFrame); FillPointDataTable();; -// SetPointSel(pMiarex->m_pFrame->m_iSelect); m_bResetglBody2D = true; } @@ -4742,6 +4372,7 @@ void GL3dBodyDlg::SetPicture() { m_pBody->Duplicate(m_UndoPic+m_StackPos); +// m_pBody->SetKnots(); FillFrameDataTable(); m_pFrame = m_pBody->m_Frame + m_pBody->m_iActiveFrame; FillPointDataTable(); @@ -5006,7 +4637,7 @@ m_pFrameModel = new QStandardItemModel; m_pFrameModel->setRowCount(10);//temporary - m_pFrameModel->setColumnCount(3); + m_pFrameModel->setColumnCount(2); m_pctrlFrameTable->setModel(m_pFrameModel); QItemSelectionModel *selectionModelFrame = new QItemSelectionModel(m_pFrameModel); m_pctrlFrameTable->setSelectionModel(selectionModelFrame); @@ -5035,14 +4666,14 @@ void GL3dBodyDlg::StorePicture() { int i; - if(m_StackPos>=20) + if(m_StackPos>=MAXBODYSTACK) { - for (i=1; i<20; i++) + for (i=1; i<MAXBODYSTACK; i++) { m_UndoPic[i-1].Duplicate(m_UndoPic+i); } - m_StackPos = 19; - m_StackSize = 19; + m_StackPos = MAXBODYSTACK-1; + m_StackSize = MAXBODYSTACK-1; } m_UndoPic[m_StackPos].Duplicate(&m_TmpPic); @@ -5079,7 +4710,7 @@ QPoint CltPt = event->pos(); m_ptPopUp.rx() = CltPt.x(); m_ptPopUp.ry() = CltPt.y(); - ClientToGL(m_ptPopUp, m_RealPopUp); + m_pglWidget->ClientToGL(m_ptPopUp, m_RealPopUp); CtxMenu->exec(event->globalPos()); @@ -5094,7 +4725,7 @@ // InitDialog(); m_bResetglBody = true; m_bIs3DScaleSet = false; - SetBodyScale(); +// SetBodyScale(); ResizeTables(); @@ -5104,7 +4735,7 @@ void GL3dBodyDlg::ResizeTables() { - int ColumnWidth = (int)((double)(m_pctrlFrameTable->width())/3.25); + int ColumnWidth = (int)((double)(m_pctrlFrameTable->width())/2.5); m_pctrlFrameTable->setColumnWidth(0,ColumnWidth); m_pctrlFrameTable->setColumnWidth(1,ColumnWidth); // m_pctrlFrameTable->setColumnWidth(2,ColumnWidth); @@ -5136,25 +4767,36 @@ //The mouse button has been wheeled //Process the message // point is in client coordinates + static double ZoomFactor; + MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; + + if(event->delta()>0) + { + if(!pMainFrame->m_bReverseZoom) ZoomFactor = 1./1.06; + else ZoomFactor = 1.06; + } + else + { + if(!pMainFrame->m_bReverseZoom) ZoomFactor = 1.06; + else ZoomFactor = 1./1.06; + } if(m_BodyRect.contains(point)) { - if(event->delta()<0) m_glScaled *= (GLfloat)1.06; - else m_glScaled /= (GLfloat)1.06; + m_glScaled *= ZoomFactor; } else if(m_BodyLineRect.contains(point)) { - if(event->delta()<0) m_BodyScale *= 1.06; - else m_BodyScale /= 1.06; + m_BodyScale *= ZoomFactor; + m_BodyScaledOffset.Set((1.0 - m_BodyScale)*m_BodyScalingCenter.x + m_BodyScale * m_BodyOffset.x, - (1.0 - m_BodyScale)*m_BodyScalingCenter.y + m_BodyScale * m_BodyOffset.y, - 0.0); + (1.0 - m_BodyScale)*m_BodyScalingCenter.y + m_BodyScale * m_BodyOffset.y, + 0.0); m_bResetglBody2D=true; } else if(m_FrameRect.contains(point)) { - if(event->delta()<0) m_FrameScale *= 1.06; - else m_FrameScale /= 1.06; + m_FrameScale *= ZoomFactor; m_FrameScaledOffset.Set((1.0 - m_FrameScale)*m_FrameScalingCenter.x + m_FrameScale * m_FrameOffset.x, (1.0 - m_FrameScale)*m_FrameScalingCenter.y + m_FrameScale * m_FrameOffset.y, 0.0); @@ -5167,9 +4809,6 @@ - - - diff -Nru xflr5-6.05/src/Miarex/GL3dBodyDlg.h xflr5-6.06/src/Miarex/GL3dBodyDlg.h --- xflr5-6.05/src/Miarex/GL3dBodyDlg.h 2011-07-03 17:30:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/GL3dBodyDlg.h 2012-01-23 02:03:59.000000000 +0900 @@ -1,7 +1,7 @@ - /**************************************************************************** +/**************************************************************************** GL3dBodyDlg Class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -33,13 +33,15 @@ #include <QTableView> #include <QPushButton> #include <QSettings> -#include "../GLWidget.h" #include "ArcBall.h" #include "BodyGridDlg.h" #include "BodyTableDelegate.h" #include "../Misc/FloatEdit.h" #include "../Misc/LineButton.h" #include "../Objects/Body.h" +#include "../GLWidget.h" + +#define MAXBODYSTACK 20 class GL3dBodyDlg : public QDialog @@ -123,8 +125,6 @@ void InitDialog(); void SetFrame(int iFrame); void SetupLayout(); - void ClientToGL(QPoint const &point, CVector &real); - void GLToClient(CVector const &real, QPoint &point); void GLCreateCtrlPts(); void GLInverseMatrix(); void GLCreateBody2DBodySection(); @@ -137,16 +137,16 @@ void GLCreateBodyGrid(); void GLCreateBodyOverlay(); void GLRenderBody(); - void GLRenderSphere(QColor cr, double radius, int NumLongitudes, int NumLatitudes); - void GLSetupLight(); - void GLDrawAxes(); void GLCallViewLists(); void GLDraw3D(); void GLDrawBodyLegend(); void GLDrawBodyLineScale(); void GLDrawBodyFrameScale(); + void SetScales(CVector Real); + void SetRectangles(); void SetBodyScale(); - void NormalVector(GLdouble p1[3], GLdouble p2[3], GLdouble p3[3], GLdouble n[3]); + void SetBodyLineScale(); + void SetFrameScale(); void Set3DRotationCenter(); void Set3DRotationCenter(QPoint point); void SetBody(CBody *pBody); @@ -160,17 +160,20 @@ void StorePicture(); void TakePicture(); + void Insert(CVector Pt); + void Remove(CVector Pt); + private: static void *s_pMiarex; static void *s_pMainFrame; static void *s_pGLLightDlg; + GLWidget *m_pglWidget; static QPoint s_WindowPos; static QSize s_WindowSize; static bool s_bWindowMaximized; - GLWidget *m_pglWidget; QWidget *m_pctrlControlsWidget; @@ -203,7 +206,7 @@ QAction *m_pInertia; CBody m_TmpPic; - CBody m_UndoPic[20]; + CBody m_UndoPic[MAXBODYSTACK]; int m_StackPos, m_StackSize;// undo : current stack position and current stack size bool m_bStored; bool m_bResetFrame; diff -Nru xflr5-6.05/src/Miarex/GL3dWingDlg.cpp xflr5-6.06/src/Miarex/GL3dWingDlg.cpp --- xflr5-6.05/src/Miarex/GL3dWingDlg.cpp 2011-06-12 06:55:22.000000000 +0900 +++ xflr5-6.06/src/Miarex/GL3dWingDlg.cpp 2012-01-28 19:34:55.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** GL3dWingDlg Class - Copyright (C) 2009-2010 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -48,10 +48,15 @@ void* GL3dWingDlg::s_pMainFrame; //pointer to the Frame window void* GL3dWingDlg::s_pMiarex; //pointer to the Miarex Application window void *GL3dWingDlg::s_pGLLightDlg; + QList <void*> *GL3dWingDlg::s_poaWing; QList <void*> *GL3dWingDlg::s_poaFoil; +QPoint GL3dWingDlg::s_WindowPos=QPoint(20,20); +QSize GL3dWingDlg::s_WindowSize=QSize(900, 700); +bool GL3dWingDlg::s_bWindowMaximized=false; + GL3dWingDlg::GL3dWingDlg(void *pParent) { @@ -102,10 +107,6 @@ m_PointDown.setY(0); - m_Precision[0] = 3; - m_Precision[1] = 3; - m_Precision[2] = 0; - memset(MatIn, 0, 16*sizeof(double)); memset(MatOut, 0, 16*sizeof(double)); @@ -113,7 +114,7 @@ m_ArcBall.m_pOffy = &m_UFOOffset.y; m_ArcBall.m_pTransx = &m_glViewportTrans.x; m_ArcBall.m_pTransy = &m_glViewportTrans.y; - m_ArcBall.m_pRect = &m_pglWidget->m_rCltRect; + m_ArcBall.m_pRect = &m_pGLWidget->m_rCltRect; m_pResetScales = new QAction(tr("Reset Scales"), this); m_pInsertBefore = new QAction(tr("Insert Before"), this); @@ -140,6 +141,7 @@ m_pctrlWingName->setFocus(); return false; } + for (int k=1; k<=m_pWing->m_NPanel; k++) { if(m_pWing->m_TPos[k]*1.00001 < m_pWing->m_TPos[k-1]) @@ -149,6 +151,20 @@ } } + int NYPanels = 0; + for(int j=0; j<m_pWing->m_NPanel; j++) + { + NYPanels += m_pWing->m_NYPanels[j]; + } + if(NYPanels*2>=MAXSPANSTATIONS) + { + QString strange = QString(" %1").arg(MAXSPANSTATIONS/2); + strange = tr("Too many spanwise panels.\nThe maximum number is")+strange; + + QMessageBox::warning(this, tr("Warning"), strange); + return false; + } + if(VLMGetPanelTotal()>VLMMAXMATSIZE/2) { QMessageBox::warning(this, tr("Warning"), tr("Too many panels\nReduce the mesh size")); @@ -166,25 +182,6 @@ -void GL3dWingDlg::ClientToGL(QPoint const &point, CVector &real) -{ - if(!m_pglWidget) return; - double h2 = (double)m_pglWidget->m_rCltRect.height() /2.0; - double w2 = (double)m_pglWidget->m_rCltRect.width() /2.0; - - if(w2>h2) - { - real.x = ((double)point.x() - w2) / w2; - real.y = -((double)point.y() - h2) / w2; - } - else - { - real.x = ((double)point.x() - w2) / h2; - real.y = -((double)point.y() - h2) / h2; - } -} - - void GL3dWingDlg::ComputeGeometry() { // Computes the wing's characteristics from the panel data @@ -398,7 +395,7 @@ QMiarex *pMiarex = (QMiarex*)s_pMiarex; QColor color; - int style, width, j,l,k; + int width, j,l,k; CVector A, B, C, D, N, LATB, TALB; glNewList(MESHPANELS,GL_COMPILE); @@ -408,7 +405,7 @@ glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); color = pMiarex->m_VLMColor; - style = pMiarex->m_VLMStyle; +// style = pMiarex->m_VLMStyle; width = pMiarex->m_VLMWidth; glLineWidth(width); @@ -540,7 +537,7 @@ glPolygonOffset(1.0, 1.0); color = pMainFrame->m_BackgroundColor; - style = pMiarex->m_VLMStyle; +// style = pMiarex->m_VLMStyle; width = pMiarex->m_VLMWidth; glColor3d(color.redF(),color.greenF(),color.blueF()); @@ -822,8 +819,6 @@ if(m_bResetglWing) { - int row, col, NumAngles, NumCircles; - double R, lat_incr, lon_incr, phi, theta; m_ArcBall.GetMatrix(); CVector eye(0.0,0.0,1.0); CVector up(0.0,1.0,0.0); @@ -834,109 +829,9 @@ glDeleteLists(ARCBALL,2); m_GLList-=2; } - glNewList(ARCBALL,GL_COMPILE); - { - m_GLList++; - glPolygonMode(GL_FRONT_AND_BACK,GL_LINE); - - glColor3d(0.3,0.3,.5); - glLineWidth(1.0); - - R = m_ArcBall.ab_sphere; - - NumAngles = 50; - NumCircles = 6; - lat_incr = 90.0 / NumAngles; - lon_incr = 360.0 / NumCircles; - - for (col = 0; col < NumCircles; col++) - { - glBegin(GL_LINE_STRIP); - { - phi = (col * lon_incr) * PI/180.0; - - for (row = 1; row < NumAngles-1; row++) - { - theta = (row * lat_incr) * PI/180.0; - glVertex3d(R*cos(phi)*cos(theta), R*sin(theta), R*sin(phi)*cos(theta)); - } - } - glEnd(); - glBegin(GL_LINE_STRIP); - { - phi = (col * lon_incr ) * PI/180.0; - - for (row = 1; row < NumAngles-1; row++) - { - theta = -(row * lat_incr) * PI/180.0; - glVertex3d(R*cos(phi)*cos(theta), R*sin(theta), R*sin(phi)*cos(theta)); - } - } - glEnd(); - } - - - glBegin(GL_LINE_STRIP); - { - theta = 0.; - for(col=1; col<35; col++) - { - phi = (0.0 + (double)col*360.0/72.0) * PI/180.0; - glVertex3d(R * cos(phi) * cos(theta), R * sin(theta), R * sin(phi) * cos(theta)); - } - } - glEnd(); - - glBegin(GL_LINE_STRIP); - { - theta = 0.; - for(col=1; col<35; col++) - { - phi = (0.0 + (double)col*360.0/72.0) * PI/180.0; - glVertex3d(R * cos(-phi) * cos(theta), R * sin(theta), R * sin(-phi) * cos(theta)); - } - } - glEnd(); - } - glEndList(); - - glNewList(ARCPOINT,GL_COMPILE); - { - m_GLList++; - glPolygonMode(GL_FRONT,GL_LINE); - - glColor3d(0.3,0.1,.2); - glLineWidth(2.0); + m_pGLWidget->CreateArcballList(m_ArcBall, 1.0); + m_GLList+=2; - NumAngles = 10; - - lat_incr = 30.0 / NumAngles; - lon_incr = 30.0 / NumAngles; - - glBegin(GL_LINE_STRIP); - { - phi = 0.0;//longitude - - for (row = -NumAngles; row < NumAngles; row++) - { - theta = (row * lat_incr) * PI/180.0; - glVertex3d(R*cos(phi)*cos(theta), R*sin(theta), R*sin(phi)*cos(theta)); - } - } - glEnd(); - - glBegin(GL_LINE_STRIP); - { - theta = 0.; - for(col=-NumAngles; col<NumAngles; col++) - { - phi = (0.0 + (double)col*30.0/NumAngles) * PI/180.0; - glVertex3d(R * cos(phi) * cos(theta), R * sin(theta), R * sin(phi) * cos(theta)); - } - } - glEnd(); - } - glEndList(); } if(m_bResetglSectionHighlight || m_bResetglWing) @@ -975,91 +870,11 @@ } -void GL3dWingDlg::GLDrawAxes() -{ - double l = .8; -// if(m_pWing) l=1.1*m_pWing->m_Span/2.0; - QMiarex *pMiarex = (QMiarex*)s_pMiarex; - glPolygonMode(GL_FRONT,GL_LINE); - glLineWidth((GLfloat)(pMiarex->m_3DAxisWidth)); - - glColor3d(pMiarex->m_3DAxisColor.redF(),pMiarex->m_3DAxisColor.greenF(),pMiarex->m_3DAxisColor.blueF()); - -// X axis____________ - glEnable (GL_LINE_STIPPLE); - if(pMiarex->m_3DAxisStyle == 1) glLineStipple (1, 0x1111); - else if(pMiarex->m_3DAxisStyle== 2) glLineStipple (1, 0x0F0F); - else if(pMiarex->m_3DAxisStyle== 3) glLineStipple (1, 0x1C47); - else glLineStipple (1, 0xFFFF);// Solid - - - glBegin(GL_LINES); - glVertex3d(-.8, 0.0, 0.0); - glVertex3d( .8, 0.0, 0.0); - glEnd(); - //Arrow - glBegin(GL_LINES); - glVertex3d( 1.0*l, 0.0, 0.0); - glVertex3d( 0.98*l, 0.015*l, 0.015*l); - glEnd(); - glBegin(GL_LINES); - glVertex3d( 1.0*l, 0.0, 0.0); - glVertex3d( 0.98*l,-0.015*l,-0.015*l); - glEnd(); - glDisable (GL_LINE_STIPPLE); - //XLabel - m_pglWidget->renderText( .8, 0.0, 0.0, "X"); - - -// Y axis____________ - glEnable (GL_LINE_STIPPLE); - glBegin(GL_LINES); - glVertex3d(0.0, -.8, 0.0); - glVertex3d(0.0, .8, 0.0); - glEnd(); - //Arrow - glBegin(GL_LINES); - glVertex3d( 0.0, 1.0*l, 0.0); - glVertex3d( 0.015*l, 0.98*l, 0.015*l); - glEnd(); - glBegin(GL_LINES); - glVertex3d( 0.0, 1.0*l, 0.0); - glVertex3d(-0.015*l, 0.98*l,-0.015*l); - glEnd(); - glDisable (GL_LINE_STIPPLE); - //Y Label - m_pglWidget->renderText(0.0, .8, 0.0,"Y"); - - -// Z axis____________ - glEnable (GL_LINE_STIPPLE); - glBegin(GL_LINES); - glVertex3d(0.0, 0.0, -.8); - glVertex3d(0.0, 0.0, .8); - glEnd(); - - - //Arrow - glBegin(GL_LINES); - glVertex3d( 0.0, 0.0, 1.0*l); - glVertex3d( 0.015*l, 0.015*l, 0.98*l); - glEnd(); - glBegin(GL_LINES); - glVertex3d( 0.0, 0.0, 1.0*l); - glVertex3d(-0.015*l, -0.015*l, 0.98*l); - glEnd(); - glDisable (GL_LINE_STIPPLE); - //ZLabel - m_pglWidget->renderText(0.0, 0.0, .8, "Z"); - - glDisable (GL_LINE_STIPPLE); -} - - void GL3dWingDlg::GLDrawFoils() { MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; + int j; CFoil *pFoil; @@ -1069,14 +884,14 @@ { pFoil = m_pWing->m_Surface[j].m_pFoilA; - if(pFoil) m_pglWidget->renderText(m_pWing->m_Surface[j].m_TA.x, m_pWing->m_Surface[j].m_TA.y, m_pWing->m_Surface[j].m_TA.z, + if(pFoil) m_pGLWidget->renderText(m_pWing->m_Surface[j].m_TA.x, m_pWing->m_Surface[j].m_TA.y, m_pWing->m_Surface[j].m_TA.z, pFoil->m_FoilName); } j = m_pWing->m_NSurfaces-1; pFoil = m_pWing->m_Surface[j].m_pFoilB; - if(pFoil) m_pglWidget->renderText(m_pWing->m_Surface[j].m_TB.x, m_pWing->m_Surface[j].m_TB.y, m_pWing->m_Surface[j].m_TB.z, + if(pFoil) m_pGLWidget->renderText(m_pWing->m_Surface[j].m_TB.x, m_pWing->m_Surface[j].m_TB.y, m_pWing->m_Surface[j].m_TB.z, pFoil->m_FoilName); } @@ -1101,74 +916,12 @@ -void GL3dWingDlg::GLRenderSphere(QColor cr, double radius, int NumLongitudes, int NumLatitudes) -{ - glDisable(GL_TEXTURE_2D); - glPolygonMode(GL_FRONT,GL_FILL); - glBegin(GL_TRIANGLES); - glColor3d(cr.redF(),cr.greenF(),cr.blueF()); - - double start_lat = -90; - double start_lon = 0.0; - double R = radius; - - double lat_incr = 180.0 / NumLatitudes; - double lon_incr = 360.0 / NumLongitudes; - - double phi1, phi2, theta1, theta2; - GLdouble u[3], v[3], w[3], n[3]; - - int row, col; - - for (col = 0; col < NumLongitudes; col++) - { - phi1 = (start_lon + col * lon_incr) * PI/180.0; - phi2 = (start_lon + (col + 1) * lon_incr) * PI/180.0; - - for (row = 0; row < NumLatitudes; row++) - { - theta1 = (start_lat + row * lat_incr) * PI/180.0; - theta2 = (start_lat + (row + 1) * lat_incr) * PI/180.0; - - u[0] = R * cos(phi1) * cos(theta1);//x - u[1] = R * sin(theta1);//y - u[2] = R * sin(phi1) * cos(theta1);//z - - v[0] = R * cos(phi1) * cos(theta2);//x - v[1] = R * sin(theta2);//y - v[2] = R * sin(phi1) * cos(theta2);//z - - w[0] = R * cos(phi2) * cos(theta2);//x - w[1] = R * sin(theta2);//y - w[2] = R * sin(phi2) * cos(theta2);//z - - NormalVector(u,v,w,n); - - glNormal3dv(n); - glVertex3dv(u); - glVertex3dv(v); - glVertex3dv(w); - - v[0] = R * cos(phi2) * cos(theta1);//x - v[1] = R * sin(theta1);//y - v[2] = R * sin(phi2) * cos(theta1);//z - - NormalVector(u,w,v,n); - glNormal3dv(n); - glVertex3dv(u); - glVertex3dv(w); - glVertex3dv(v); - } - } - glEnd(); -} - - void GL3dWingDlg::GLRenderView() { // MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; QMiarex *pMiarex = (QMiarex*)s_pMiarex; + GLdouble pts[4]; pts[0]= 0.0; pts[1]=0.0; pts[2]=-1.0; pts[3]= m_ClipPlanePos; //x=m_VerticalSplit glClipPlane(GL_CLIP_PLANE1, pts); @@ -1182,7 +935,7 @@ glPushMatrix(); { - GLSetupLight(); + m_pGLWidget->GLSetupLight(pMiarex->m_GLLightDlg, m_UFOOffset.y, 1.0); glDisable(GL_LIGHTING); glDisable(GL_LIGHT0); /* if(m_bShowLight) @@ -1233,7 +986,7 @@ glScaled(m_glScaled, m_glScaled, m_glScaled); glTranslated(m_glRotCenter.x, m_glRotCenter.y, m_glRotCenter.z); - if(m_bAxes) GLDrawAxes(); + if(m_bAxes) m_pGLWidget->GLDrawAxes(1, pMiarex->m_3DAxisColor, pMiarex->m_3DAxisStyle, pMiarex->m_3DAxisWidth); glDisable(GL_LIGHTING); glDisable(GL_LIGHT0); @@ -1286,8 +1039,8 @@ { glTranslated(m_pWing->m_MassPosition[im].x,m_pWing->m_MassPosition[im].y,m_pWing->m_MassPosition[im].z); double radius = .02;//2cm - GLRenderSphere(pMiarex->m_MassColor,radius,18,18); - m_pglWidget->renderText(0.0, 0.0, 0.02, m_pWing->m_MassTag[im]); + m_pGLWidget->GLRenderSphere(pMiarex->m_MassColor,radius,18,18); + m_pGLWidget->renderText(0.0, 0.0, 0.02, m_pWing->m_MassTag[im]); } glPopMatrix(); @@ -1306,112 +1059,6 @@ -void GL3dWingDlg::GLSetupLight() -{ - GLLightDlg *pGLLightDlg = (GLLightDlg *)s_pGLLightDlg; - glEnable(GL_LIGHTING); - glEnable(GL_LIGHT0); // the ambient light - glDisable(GL_LIGHT1); - glDisable(GL_LIGHT2); - glDisable(GL_LIGHT3); - glDisable(GL_LIGHT4); - glDisable(GL_LIGHT5); - glDisable(GL_LIGHT6); - glDisable(GL_LIGHT7); - - float fLightAmbient0[4]; - float fLightDiffuse0[4]; - float fLightSpecular0[4]; - float fLightPosition0[4]; - - float LightFactor = 1.0f; -// if(LightFactor>1.0) LightFactor = 1.0f; - - // the ambient light conditions. - fLightAmbient0[0] = LightFactor*pGLLightDlg->m_Ambient * pGLLightDlg->m_Red; // red component - fLightAmbient0[1] = LightFactor*pGLLightDlg->m_Ambient * pGLLightDlg->m_Green; // green component - fLightAmbient0[2] = LightFactor*pGLLightDlg->m_Ambient * pGLLightDlg->m_Blue; // blue component - fLightAmbient0[3] = 1.0; // alpha - - fLightDiffuse0[0] = LightFactor*pGLLightDlg->m_Diffuse * pGLLightDlg->m_Red; // red component - fLightDiffuse0[1] = LightFactor*pGLLightDlg->m_Diffuse * pGLLightDlg->m_Green; // green component - fLightDiffuse0[2] = LightFactor*pGLLightDlg->m_Diffuse * pGLLightDlg->m_Blue; // blue component - fLightDiffuse0[3] = 1.0; // alpha - - fLightSpecular0[0] = LightFactor*pGLLightDlg->m_Specular * pGLLightDlg->m_Red; // red component - fLightSpecular0[1] = LightFactor*pGLLightDlg->m_Specular * pGLLightDlg->m_Green; // green component - fLightSpecular0[2] = LightFactor*pGLLightDlg->m_Specular * pGLLightDlg->m_Blue; // blue component - fLightSpecular0[3] = 1.0; // alpha - - // And finally, its position - - fLightPosition0[0] = (GLfloat)((pGLLightDlg->m_XLight)); - fLightPosition0[1] = (GLfloat)((pGLLightDlg->m_YLight + m_UFOOffset.y)); - fLightPosition0[2] = (GLfloat)((pGLLightDlg->m_ZLight)); - fLightPosition0[3] = 1.0; // W (positional light) - - - - // Enable the basic light - glLightfv(GL_LIGHT0, GL_AMBIENT, fLightAmbient0); - glLightfv(GL_LIGHT0, GL_DIFFUSE, fLightDiffuse0); - glLightfv(GL_LIGHT0, GL_SPECULAR, fLightSpecular0); - glLightfv(GL_LIGHT0, GL_POSITION, fLightPosition0); - - - float fMatAmbient[4] = {pGLLightDlg->m_MatAmbient, pGLLightDlg->m_MatAmbient, pGLLightDlg->m_MatAmbient,1.0f}; - float fMatSpecular[4] = {pGLLightDlg->m_MatSpecular, pGLLightDlg->m_MatSpecular, pGLLightDlg->m_MatSpecular,1.0f}; - float fMatDiffuse[4] = {pGLLightDlg->m_MatDiffuse, pGLLightDlg->m_MatDiffuse, pGLLightDlg->m_MatDiffuse,1.0f}; - float fMatEmission[4] = {pGLLightDlg->m_MatEmission, pGLLightDlg->m_MatEmission, pGLLightDlg->m_MatEmission,1.0f}; - - if(pGLLightDlg->m_bColorMaterial) - { - glEnable(GL_COLOR_MATERIAL); - glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE); -// glColorMaterial(GL_FRONT, GL_AMBIENT); -// glColorMaterial(GL_FRONT, GL_DIFFUSE); -// glColorMaterial(GL_FRONT, GL_SPECULAR); - - } - else - { - glDisable(GL_COLOR_MATERIAL); - - } - glMaterialfv(GL_FRONT, GL_SPECULAR, fMatSpecular); - glMaterialfv(GL_FRONT, GL_AMBIENT, fMatAmbient); - glMaterialfv(GL_FRONT, GL_DIFFUSE, fMatDiffuse); - glMaterialfv(GL_FRONT, GL_EMISSION, fMatEmission); - glMateriali(GL_FRONT, GL_SHININESS, pGLLightDlg->m_iMatShininess); - - if(pGLLightDlg->m_bDepthTest) glEnable(GL_DEPTH_TEST); else glDisable(GL_DEPTH_TEST); - if(pGLLightDlg->m_bCullFaces) glEnable(GL_CULL_FACE); else glDisable(GL_CULL_FACE); - if(pGLLightDlg->m_bSmooth) glEnable(GL_POLYGON_SMOOTH); else glDisable(GL_POLYGON_SMOOTH); - if(pGLLightDlg->m_bShade) glShadeModel(GL_SMOOTH); else glShadeModel(GL_FLAT); - - if(pGLLightDlg->m_bLocalView) glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER ,0); - else glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER ,1); - - glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,0); -} - - -void GL3dWingDlg::GLToClient(CVector const &real, QPoint &point) -{ - if(!m_pglWidget) return; - double h = (double)m_pglWidget->geometry().height(); - double w = (double)m_pglWidget->geometry().width(); - double scale; - - if(w>=h) scale = (double)m_pglWidget->geometry().width() / 2.0; - else scale = (double)m_pglWidget->geometry().height() / 2.0; - -// point.rx() = (int)(scale *(1.0 + real.x)); - point.rx() = (int)(w/2.0 + real.x*scale); - point.ry() = (int)(h/2.0 - real.y*scale); -} - - bool GL3dWingDlg::InitDialog(CWing *pWing) { QString str; @@ -1487,9 +1134,9 @@ connect(m_pWingDelegate, SIGNAL(closeEditor(QWidget *)), this, SLOT(OnCellChanged(QWidget *))); int *precision = new int[10]; - precision[0] = 2;//five digits for x and y coordinates - precision[1] = 2; - precision[2] = 2; + precision[0] = 3; + precision[1] = 3; + precision[2] = 3; precision[3] = 1; precision[4] = 2; precision[5] = 1; @@ -1509,10 +1156,10 @@ void GL3dWingDlg::keyPressEvent(QKeyEvent *event) { - bool bShift = false; - bool bCtrl = false; - if(event->modifiers() & Qt::ShiftModifier) bShift =true; - if(event->modifiers() & Qt::ControlModifier) bCtrl =true; +// bool bShift = false; +// bool bCtrl = false; +// if(event->modifiers() & Qt::ShiftModifier) bShift =true; +// if(event->modifiers() & Qt::ControlModifier) bCtrl =true; switch (event->key()) { @@ -1582,14 +1229,14 @@ void GL3dWingDlg::MouseMoveEvent(QMouseEvent *event) { QPoint point(event->pos().x(), event->pos().y()); - QPoint glPoint(event->pos().x() + m_pglWidget->geometry().x(), event->pos().y()+m_pglWidget->geometry().y()); + QPoint glPoint(event->pos().x() + m_pGLWidget->geometry().x(), event->pos().y()+m_pGLWidget->geometry().y()); m_MousePos = event->pos(); CVector Real; QPoint Delta(point.x() - m_LastPoint.x(), point.y() - m_LastPoint.y()); - ClientToGL(point, Real); + m_pGLWidget->ClientToGL(point, Real); -// if(!m_pglWidget->hasFocus()) m_pglWidget->setFocus(); +// if(!m_pGLWidget->hasFocus()) m_pGLWidget->setFocus(); bool bCtrl = false; @@ -1597,19 +1244,19 @@ if (event->buttons() & Qt::LeftButton) { - if(bCtrl&& m_pglWidget->geometry().contains(glPoint)) + if(bCtrl&& m_pGLWidget->geometry().contains(glPoint)) { //rotate - m_ArcBall.Move(point.x(), m_pglWidget->m_rCltRect.height()-point.y()); + m_ArcBall.Move(point.x(), m_pGLWidget->m_rCltRect.height()-point.y()); UpdateView(); } else if(m_bTrans) { //translate - if(m_pglWidget->geometry().contains(glPoint)) + if(m_pGLWidget->geometry().contains(glPoint)) { - m_glViewportTrans.x += (GLfloat)(Delta.x()*2.0/m_glScaled/m_pglWidget->m_rCltRect.width()); - m_glViewportTrans.y += (GLfloat)(Delta.y()*2.0/m_glScaled/m_pglWidget->m_rCltRect.width()); + m_glViewportTrans.x += (GLfloat)(Delta.x()*2.0/m_glScaled/m_pGLWidget->m_rCltRect.width()); + m_glViewportTrans.y += (GLfloat)(Delta.y()*2.0/m_glScaled/m_pGLWidget->m_rCltRect.width()); m_glRotCenter.x = MatOut[0][0]*(m_glViewportTrans.x) + MatOut[0][1]*(-m_glViewportTrans.y) + MatOut[0][2]*m_glViewportTrans.z; m_glRotCenter.y = MatOut[1][0]*(m_glViewportTrans.x) + MatOut[1][1]*(-m_glViewportTrans.y) + MatOut[1][2]*m_glViewportTrans.z; @@ -1624,7 +1271,7 @@ { if(m_pWing) { - m_ArcBall.Move(point.x(), m_pglWidget->m_rCltRect.height()-point.y()); + m_ArcBall.Move(point.x(), m_pGLWidget->m_rCltRect.height()-point.y()); UpdateView(); } } @@ -1637,23 +1284,23 @@ { // the event has been sent by GLWidget, so event is in GL Widget coordinates // but m_3DWingRect is in window client coordinates - // the difference is m_pglWidget->geometry() ! + // the difference is m_pGLWidget->geometry() ! QPoint point(event->pos().x(), event->pos().y()); - QPoint glPoint(event->pos().x() + m_pglWidget->geometry().x(), event->pos().y()+m_pglWidget->geometry().y()); + QPoint glPoint(event->pos().x() + m_pGLWidget->geometry().x(), event->pos().y()+m_pGLWidget->geometry().y()); CVector Real; bool bCtrl = false; if(event->modifiers() & Qt::ControlModifier) bCtrl =true; - ClientToGL(point, Real); + m_pGLWidget->ClientToGL(point, Real); - if(m_pglWidget->geometry().contains(glPoint)) m_pglWidget->setFocus(); + if(m_pGLWidget->geometry().contains(glPoint)) m_pGLWidget->setFocus(); if (event->buttons() & Qt::MidButton) { m_bArcball = true; - m_ArcBall.Start(event->pos().x(), m_pglWidget->m_rCltRect.height()-event->pos().y()); + m_ArcBall.Start(event->pos().x(), m_pGLWidget->m_rCltRect.height()-event->pos().y()); m_bCrossPoint = true; Set3DRotationCenter(); @@ -1671,18 +1318,21 @@ { m_bTrans=true; - if(m_pWing && m_pglWidget->geometry().contains(glPoint)) + if(m_pWing && m_pGLWidget->geometry().contains(glPoint)) { - m_ArcBall.Start(point.x(), m_pglWidget->m_rCltRect.height()-point.y()); + m_ArcBall.Start(point.x(), m_pGLWidget->m_rCltRect.height()-point.y()); m_bCrossPoint = true; Set3DRotationCenter(); if (!bCtrl) { m_bTrans = true; - m_pglWidget->setCursor(Qt::ClosedHandCursor); - + m_pGLWidget->setCursor(Qt::ClosedHandCursor); + } + else + { + m_bArcball = true; } - UpdateView(); + UpdateView(); } } } @@ -1697,7 +1347,7 @@ void GL3dWingDlg::MouseReleaseEvent(QMouseEvent *event) { - m_pglWidget->setCursor(Qt::CrossCursor); + m_pGLWidget->setCursor(Qt::CrossCursor); m_bTrans = false; m_bDragPoint = false; @@ -1721,40 +1371,6 @@ -void GL3dWingDlg::NormalVector(GLdouble p1[3], GLdouble p2[3], GLdouble p3[3], GLdouble n[3]) -{ - GLdouble v1[3], v2[3], d; - // calculate two vectors, using the middle point - // as the common origin - v1[0] = p3[0] - p1[0]; - v1[1] = p3[1] - p1[1]; - v1[2] = p3[2] - p1[2]; - v2[0] = p3[0] - p2[0]; - v2[1] = p3[1] - p2[1]; - v2[2] = p3[2] - p2[2]; - - // calculate the cross product of the two vectors - n[0] = v1[1] * v2[2] - v2[1] * v1[2]; - n[1] = v1[2] * v2[0] - v2[2] * v1[0]; - n[2] = v1[0] * v2[1] - v2[0] * v1[1]; - - // normalize the vector - d = ( n[0] * n[0] + n[1] * n[1] + n[2] * n[2] ); - // try to catch very small vectors - if (d < (GLdouble)0.00000001) - { - d = (GLdouble)100000000.0; - } - else - { - d = (GLdouble)1.0 / sqrt(d); - } - - n[0] *= d; - n[1] *= d; - n[2] *= d; -} - void GL3dWingDlg::On3DIso() @@ -1867,14 +1483,13 @@ return; } - int ny, k, size, total; + int ny, k, size; size = m_pWingModel->rowCount(); if(size<=2) return; ny = m_pWing->m_NYPanels[m_iSection-1] + m_pWing->m_NYPanels[m_iSection]; - total = VLMGetPanelTotal(); for (k=m_iSection; k<size-1; k++) { m_pWing->m_TPos[k] = m_pWing->m_TPos[k+1]; @@ -1924,7 +1539,6 @@ //save inertia properties int NMass; - double MassValue[MAXMASSES]; CVector MassPosition[MAXMASSES]; QString MassTag[MAXMASSES]; @@ -1932,7 +1546,7 @@ for(int i=0; i< MAXMASSES; i++) { - MassValue[i] = m_pWing->m_MassValue[i]; +// MassValue[i] = m_pWing->m_MassValue[i]; MassPosition[i] = m_pWing->m_MassPosition[i]; MassTag[i] = m_pWing->m_MassTag[i]; } @@ -1949,7 +1563,7 @@ for(int i=0; i< MAXMASSES; i++) { - MassValue[i] = m_pWing->m_MassValue[i]; +// MassValue[i] = m_pWing->m_MassValue[i]; MassPosition[i] = m_pWing->m_MassPosition[i]; MassTag[i] = m_pWing->m_MassTag[i]; } @@ -1970,7 +1584,7 @@ { if(m_iSection <0 || m_iSection>m_pWing->m_NPanel) return; - if (m_pWing->m_NPanel==MAXPANELS) + if (m_pWing->m_NPanel>=MAXSPANSECTIONS) { QMessageBox::warning(this, tr("Warning"), tr("The maximum number of panels has been reached")); return; @@ -1980,8 +1594,9 @@ QMessageBox::warning(this, tr("Warning"), tr("No insertion possible before the first section")); return; } - int k,n,total, ny; - total = VLMGetPanelTotal(); + + int k,n, ny; + n = m_iSection; for (k=m_pWing->m_NPanel; k>=n; k--) { @@ -2027,18 +1642,17 @@ void GL3dWingDlg::OnInsertAfter() { if(m_iSection <0 || m_iSection>m_pWing->m_NPanel) return; - if (m_pWing->m_NPanel==MAXPANELS) + if (m_pWing->m_NPanel>=MAXSPANSECTIONS) { QMessageBox::warning(this, tr("Warning"), tr("The maximum number of panels has been reached")); return; } - int k,n,ny,total; + int k,n,ny; n = m_iSection; if(n<0) n=m_pWing->m_NPanel; ny = m_pWing->m_NYPanels[n]; - total = VLMGetPanelTotal(); for (k=m_pWing->m_NPanel+1; k>n; k--) { @@ -2098,7 +1712,7 @@ if(index.row()>m_pWing->m_NPanel) { //the user has filled a cell in the last line - if(index.row()<MAXPANELS-1) + if(index.row()<MAXSPANSECTIONS-1) { //so add an item before reading m_pWing->m_NPanel++; @@ -2128,6 +1742,10 @@ m_pWing->ComputeGeometry(); m_pWing->ComputeBodyAxisInertia(); + s_bWindowMaximized= isMaximized(); + s_WindowPos = pos(); + s_WindowSize = size(); + accept(); } @@ -2160,20 +1778,6 @@ UpdateView(); } -/* -void GL3dWingDlg::OnSetupLight() -{ - GLLightDlg *pGLLightDlg = (GLLightDlg *)s_pGLLightDlg; - m_bShowLight = true; - UpdateView(); - pGLLightDlg->m_pGL3dWingDlg = this; - pGLLightDlg->exec(); - - m_bShowLight = false; - - GLSetupLight(); - UpdateView(); -}*/ void GL3dWingDlg::OnScaleWing() @@ -2249,12 +1853,11 @@ void GL3dWingDlg::OnWingColor() { if(!m_pWing) return; - QColor WingColor = m_pWing->m_WingColor; - bool bOK; - QRgb rgb = WingColor.rgba(); - rgb = QColorDialog::getRgba(rgb, &bOK); - m_pWing->m_WingColor = QColor::fromRgba(rgb); + QColor WingColor = QColorDialog::getColor(m_pWing->m_WingColor, + this, "Select the wing color", QColorDialog::ShowAlphaChannel); + if(WingColor.isValid()) m_pWing->m_WingColor = WingColor; + m_pctrlWingColor->SetColor(m_pWing->m_WingColor); m_bResetglWing = true; UpdateView(); @@ -2264,7 +1867,7 @@ void GL3dWingDlg::ReadParams() { - m_pWing->m_WingName = m_pctrlWingName->text(); + m_pWing->m_WingName = m_pctrlWingName->text(); QString strange = m_pctrlWingDescription->toPlainText(); if(strange == tr("Wing Description")) strange=""; m_pWing->m_WingDescription = strange; @@ -2300,7 +1903,7 @@ pItem = m_pWingModel->item(sel,1); strong =pItem->text(); strong.replace(" ",""); - d =strong.toDouble(&bOK); + d =strong.toDouble(&bOK); if(bOK) m_pWing->m_TChord[sel] =d / pMainFrame->m_mtoUnit; pItem = m_pWingModel->item(sel,2); @@ -2315,7 +1918,6 @@ d =strong.toDouble(&bOK); if(bOK) m_pWing->m_TDihedral[sel] =d; - pItem = m_pWingModel->item(sel,4); strong =pItem->text(); strong.replace(" ",""); @@ -2340,13 +1942,14 @@ strong.replace(" ",""); d =strong.toDouble(&bOK); if(bOK) m_pWing->m_NXPanels[sel] =(int)qMax(1.0,d); + m_pWing->m_NXPanels[sel] = qMin(m_pWing->m_NXPanels[sel], MAXCHORDPANELS); pItem = m_pWingModel->item(sel,7); strong =pItem->text(); strong.replace(" ",""); - if(strong==tr("Uniform")) m_pWing->m_XPanelDist[sel] = 0; - else if(strong==tr("Cosine")) m_pWing->m_XPanelDist[sel] = 1; - else if(strong==tr("Sine")) m_pWing->m_XPanelDist[sel] = 2; + if(strong==tr("Uniform")) m_pWing->m_XPanelDist[sel] = 0; + else if(strong==tr("Cosine")) m_pWing->m_XPanelDist[sel] = 1; + else if(strong==tr("Sine")) m_pWing->m_XPanelDist[sel] = 2; else if(strong==tr("-Sine")) m_pWing->m_XPanelDist[sel] = -2; pItem = m_pWingModel->item(sel,8); @@ -2359,11 +1962,10 @@ strong =pItem->text(); strong.replace(" ",""); - if(strong==tr("Uniform")) m_pWing->m_YPanelDist[sel] = 0; - else if(strong==tr("Cosine")) m_pWing->m_YPanelDist[sel] = 1; - else if(strong==tr("Sine")) m_pWing->m_YPanelDist[sel] = 2; + if(strong==tr("Uniform")) m_pWing->m_YPanelDist[sel] = 0; + else if(strong==tr("Cosine")) m_pWing->m_YPanelDist[sel] = 1; + else if(strong==tr("Sine")) m_pWing->m_YPanelDist[sel] = 2; else if(strong==tr("-Sine")) m_pWing->m_YPanelDist[sel] = -2; - } @@ -2381,6 +1983,10 @@ } else if(QMessageBox::Cancel == Ans) return; } + + s_bWindowMaximized= isMaximized(); + s_WindowPos = pos(); + s_WindowSize = size(); // reject(); done(QDialog::Rejected); } @@ -2388,24 +1994,6 @@ void GL3dWingDlg::resizeEvent(QResizeEvent *event) { -/* m_3DWingRect = m_pglWidget->geometry(); -// SetWingScale(); - - double w = (double)m_pctrlWingTable->width()*.97; - int w6 = (int)(w/6.); - int w8 = (int)(w/8.); - int w12 = (int)(w/12.); - - m_pctrlWingTable->setColumnWidth(0, w12); - m_pctrlWingTable->setColumnWidth(1, w12); - m_pctrlWingTable->setColumnWidth(2, w12); - m_pctrlWingTable->setColumnWidth(3, w12); - m_pctrlWingTable->setColumnWidth(4, w12); - m_pctrlWingTable->setColumnWidth(5, w6); - m_pctrlWingTable->setColumnWidth(6, w12); - m_pctrlWingTable->setColumnWidth(7, w8); - m_pctrlWingTable->setColumnWidth(8, w12); - m_pctrlWingTable->setColumnWidth(9, w8);*/ } @@ -2438,14 +2026,12 @@ //finds the closest panel under the point, //and changes the rotation vector and viewport translation int i, j; - CVector N, LATB, TALB, LA, LB, TA, TB; + CVector N, LA, LB, TA, TB; CVector I, A, B, AA, BB, PP, U; - double dmin; i=-1; - dmin = 100000.0; - ClientToGL(point, B); + m_pGLWidget->ClientToGL(point, B); B.x += -m_UFOOffset.x - m_glViewportTrans.x*m_glScaled; B.y += -m_UFOOffset.y + m_glViewportTrans.y*m_glScaled; @@ -2490,7 +2076,6 @@ AA, U, I, dist); if(bIntersect) { - dmin = dist; PP.Set(I); break; } @@ -2650,9 +2235,9 @@ szPolicyMaximum.setHorizontalPolicy(QSizePolicy::Maximum); szPolicyMaximum.setVerticalPolicy(QSizePolicy::Maximum); - m_pglWidget = new GLWidget(this); - m_pglWidget->m_iView = 7; - m_ArcBall.m_pGLWidget = m_pglWidget; + m_pGLWidget = new GLWidget(this); + m_pGLWidget->m_iView = 7; + m_ArcBall.m_pGLWidget = m_pGLWidget; /*_____________Start Top Layout Here____________*/ QVBoxLayout *DefLayout = new QVBoxLayout; @@ -2686,10 +2271,10 @@ m_pctrlWingTable->setSelectionMode(QAbstractItemView::SingleSelection); m_pctrlWingTable->setSelectionBehavior(QAbstractItemView::SelectRows); m_pctrlWingTable->setEditTriggers(QAbstractItemView::CurrentChanged | - QAbstractItemView::DoubleClicked | - QAbstractItemView::SelectedClicked | - QAbstractItemView::EditKeyPressed | - QAbstractItemView::AnyKeyPressed); + QAbstractItemView::DoubleClicked | + QAbstractItemView::SelectedClicked | + QAbstractItemView::EditKeyPressed | + QAbstractItemView::AnyKeyPressed); QHeaderView *HorizontalHeader = m_pctrlWingTable->horizontalHeader(); HorizontalHeader->setStretchLastSection(true); // HorizontalHeader->setResizeMode(QHeaderView::Stretch); @@ -2705,7 +2290,7 @@ QVBoxLayout *LeftLayout = new QVBoxLayout; LeftLayout->addWidget(m_pctrlControlsWidget); - LeftLayout->addWidget(m_pglWidget,1); + LeftLayout->addWidget(m_pGLWidget,1); m_pctrlLength1 = new QLabel("mm"); m_pctrlLength2 = new QLabel("mm"); @@ -2790,7 +2375,7 @@ lab26->setAlignment(Qt::AlignRight); DataLayout->addWidget(lab20,6,1); DataLayout->addWidget(lab21,7,1); - DataLayout->addWidget(lab22,8,1); +// DataLayout->addWidget(lab22,8,1); DataLayout->addWidget(lab23,9,1); DataLayout->addWidget(lab24,10,1); DataLayout->addWidget(lab25,11,1); @@ -2812,14 +2397,14 @@ m_pctrlNFlaps->setAlignment(Qt::AlignRight); DataLayout->addWidget(m_pctrlGeomChord, 6,2); DataLayout->addWidget(m_pctrlMAC, 7,2); - DataLayout->addWidget(m_pctrlMACSpanPos, 8,2); +// DataLayout->addWidget(m_pctrlMACSpanPos, 8,2); DataLayout->addWidget(m_pctrlAspectRatio, 9,2); DataLayout->addWidget(m_pctrlTaperRatio, 10,2); DataLayout->addWidget(m_pctrlSweep, 11,2); DataLayout->addWidget(m_pctrlNFlaps, 12,2); DataLayout->addWidget(m_pctrlLength3, 6, 3); DataLayout->addWidget(m_pctrlLength4, 7, 3); - DataLayout->addWidget(m_pctrlLength5, 8, 3); +// DataLayout->addWidget(m_pctrlLength5, 8, 3); QLabel *lab30 = new QLabel(QString::fromUtf8("°")); lab30->setAlignment(Qt::AlignLeft); DataLayout->addWidget(lab30, 11, 3); @@ -2945,12 +2530,16 @@ void GL3dWingDlg::showEvent(QShowEvent *event) { + move(s_WindowPos); + resize(s_WindowSize); + if(s_bWindowMaximized) setWindowState(Qt::WindowMaximized); + // InitDialog(); // resizeEvent(NULL); m_bChanged = false; m_bResetglWing = true; SetWingScale(); -// m_3DWingRect = m_pglWidget->geometry(); +// m_3DWingRect = m_pGLWidget->geometry(); double w = (double)m_pctrlWingTable->width()*.97; int w6 = (int)(w/6.); @@ -2976,7 +2565,7 @@ void GL3dWingDlg::UpdateView() { - if(isVisible()) m_pglWidget->updateGL(); + if(isVisible()) m_pGLWidget->updateGL(); } @@ -3054,14 +2643,14 @@ { MainFrame*pMainFrame = (MainFrame*)s_pMainFrame; double ZoomFactor; - QPoint glPoint(event->pos().x() + m_pglWidget->geometry().x(), event->pos().y()+m_pglWidget->geometry().y()); + QPoint glPoint(event->pos().x() + m_pGLWidget->geometry().x(), event->pos().y()+m_pGLWidget->geometry().y()); - if(m_pglWidget->geometry().contains(glPoint)) m_pglWidget->setFocus(); //The mouse button has been wheeled + if(m_pGLWidget->geometry().contains(glPoint)) m_pGLWidget->setFocus(); //The mouse button has been wheeled if(!pMainFrame->m_bReverseZoom) ZoomFactor = 1./1.06; else ZoomFactor = 1.06; - if(m_pglWidget->geometry().contains(glPoint)) + if(m_pGLWidget->geometry().contains(glPoint)) { if(event->delta()>0) m_glScaled *= ZoomFactor; else m_glScaled /= ZoomFactor; diff -Nru xflr5-6.05/src/Miarex/GL3dWingDlg.h xflr5-6.06/src/Miarex/GL3dWingDlg.h --- xflr5-6.05/src/Miarex/GL3dWingDlg.h 2011-06-12 06:55:22.000000000 +0900 +++ xflr5-6.06/src/Miarex/GL3dWingDlg.h 2012-01-28 19:34:55.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** GL3dWingDlg Class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -34,9 +34,9 @@ #include <QStandardItemModel> #include <QTableView> #include <QPushButton> -#include "../GLWidget.h" #include "ArcBall.h" #include "WingDelegate.h" +#include "../GLWidget.h" #include "../Misc/FloatEdit.h" #include "../Misc/ColorButton.h" #include "../Misc/LineButton.h" @@ -122,19 +122,13 @@ bool InitDialog(CWing *pWing); void Connect(); void SetupLayout(); - void ClientToGL(QPoint const &point, CVector &real); - void GLToClient(CVector const &real, QPoint &point); void GLCreateMesh(); void GLRenderView(); void GLDrawFoils(); void GLCreateSectionHighlight(); void GLInverseMatrix(); - void GLRenderSphere(QColor cr, double radius, int NumLongitudes, int NumLatitudes); - void GLSetupLight(); - void GLDrawAxes(); void GLCallViewLists(); void GLDraw3D(); - void NormalVector(GLdouble p1[3], GLdouble p2[3], GLdouble p3[3], GLdouble n[3]); void Set3DRotationCenter(); void Set3DRotationCenter(QPoint point); void SetWingScale(); @@ -150,6 +144,12 @@ static void *s_pGLLightDlg; static QList <void*> *s_poaFoil; static QList <void*> *s_poaWing; + static QPoint s_WindowPos; + static QSize s_WindowSize; + static bool s_bWindowMaximized; + + + GLWidget *m_pGLWidget; QLineEdit *m_pctrlWingName; QTextEdit *m_pctrlWingDescription; @@ -184,7 +184,6 @@ QAction *m_pInsertBefore, *m_pInsertAfter, *m_pDeleteSection; QWidget *m_pctrlControlsWidget; - GLWidget *m_pglWidget; CWing *m_pWing; @@ -210,7 +209,6 @@ int m_StackPos, m_StackSize;// undo : current stack position and current stack size int m_GLList; // int m_iView; - int m_Precision[10]; // double m_yMAC; double m_glTop, m_HorizontalSplit, m_VerticalSplit;//screen split ratio for body 3D view diff -Nru xflr5-6.05/src/Miarex/GLCreateLists.cpp xflr5-6.06/src/Miarex/GLCreateLists.cpp --- xflr5-6.05/src/Miarex/GLCreateLists.cpp 2011-07-25 02:43:09.000000000 +0900 +++ xflr5-6.06/src/Miarex/GLCreateLists.cpp 2012-01-28 07:05:11.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** GLCreateLists - Copyright (C) 2010-2010 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2010-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -28,49 +28,75 @@ #include "StabViewDlg.h" #include "../Misc/ProgressDlg.h" +#define SIDEPOINTS 51 -void GLCreateGeom(void *pQMiarex, CWing *pWing, int List) +void GLCreateGeom(void *pQMiarex, CWing *pWing, int List, CBody *pBody) { if(!pWing) return; QMiarex * pMiarex = (QMiarex*)pQMiarex; + MainFrame *pMainFrame = (MainFrame*)pMiarex->s_pMainFrame; - static int j, l, style, width; - static double x; - static CVector Pt, PtNormal, A, B, C, D, N, BD, AC; - static QColor color; + static int j, l ; + static double x, xDistrib[SIDEPOINTS]; + static CVector Pt, PtA, PtB, PtNormal, A, B, C, D, N, BD, AC; + static CVector PtILeft[2*SIDEPOINTS],PtIRight[2*SIDEPOINTS]; static CFoil * pFoilA, *pFoilB; N.Set(0.0, 0.0, 0.0); - glNewList(List,GL_COMPILE); + + double xx; + double param = 50;// increase to refine L.E. and T.E. + for(int i=0; i<SIDEPOINTS; i++) { - pMiarex->m_GLList++; - glLineWidth(1.0); - color = pWing->m_WingColor; - style = 0; - width = 0; + xx = (double)i/(double)(SIDEPOINTS-1); + xDistrib[i] = (asinh(param*(xx-0.5))/asinh(param/2.)+1.)/2.; + } - glColor3d(color.redF(),color.greenF(),color.blueF()); + glNewList(List, GL_COMPILE); + { + pMiarex->m_GLList++; - glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + if(pMainFrame->m_bAlphaChannel) + { + glColor4d(pWing->m_WingColor.redF(),pWing->m_WingColor.greenF(),pWing->m_WingColor.blueF(), pWing->m_WingColor.alphaF()); + glEnable (GL_BLEND); + glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + } + else + { + glColor3d(pWing->m_WingColor.redF(),pWing->m_WingColor.greenF(),pWing->m_WingColor.blueF()); + glDisable (GL_BLEND); + } + glEnable(GL_DEPTH_TEST); glEnable(GL_POLYGON_OFFSET_FILL); + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); glPolygonOffset(1.0, 1.0); - glEnable(GL_DEPTH_TEST); //top surface for (j=0; j<pWing->m_NSurfaces; j++) { glBegin(GL_QUAD_STRIP); { - for (l=0; l<=100; l++) + for (l=0; l<SIDEPOINTS; l++) { - x = (double)l/100.0; + x = xDistrib[l]; + pWing->m_Surface[j].GetPoint(x,x,0.0,PtA, PtNormal,1); + pWing->m_Surface[j].GetPoint(x,x,1.0,PtB, PtNormal,1); - pWing->m_Surface[j].GetPoint(x,x,0.0,Pt, PtNormal,1); - glNormal3d(PtNormal.x, PtNormal.y, PtNormal.z); - glVertex3d(Pt.x, Pt.y, Pt.z); + if(pBody && pWing->m_Surface[j].IsCenterSurf() && pWing->m_Surface[j].IsLeftSurf()) + { + pBody->Intersect(PtA, PtB, PtB, false); + PtIRight[l] = PtB; + } + else if(pBody && pWing->m_Surface[j].IsCenterSurf() && pWing->m_Surface[j].IsRightSurf()) + { + pBody->Intersect(PtA, PtB, PtA, true); + PtILeft[l] = PtA; + } - pWing->m_Surface[j].GetPoint(x,x,1.0,Pt, PtNormal,1); - glVertex3d(Pt.x, Pt.y, Pt.z); + glNormal3d(PtNormal.x, PtNormal.y, PtNormal.z); + glVertex3d(PtA.x, PtA.y, PtA.z); + glVertex3d(PtB.x, PtB.y, PtB.z); } } glEnd(); @@ -81,28 +107,34 @@ { glBegin(GL_QUAD_STRIP); { - for (l=0; l<=100; l++) + for (l=0; l<SIDEPOINTS; l++) { - x = (double)l/100.0; - - pWing->m_Surface[j].GetPoint(x,x,0.0,Pt, PtNormal,-1); + x = xDistrib[l]; + pWing->m_Surface[j].GetPoint(x,x,0.0,PtA, PtNormal,-1); + pWing->m_Surface[j].GetPoint(x,x,1.0,PtB, PtNormal,-1); + if(pBody && pWing->m_Surface[j].IsCenterSurf() && pWing->m_Surface[j].IsLeftSurf()) + { + pBody->Intersect(PtA, PtB, PtB, false); + PtIRight[l+SIDEPOINTS] = PtB; + } + else if(pBody && pWing->m_Surface[j].IsCenterSurf() && pWing->m_Surface[j].IsRightSurf()) + { + pBody->Intersect(PtA, PtB, PtA, true); + PtILeft[l+SIDEPOINTS] = PtA; + } glNormal3d(PtNormal.x, PtNormal.y, PtNormal.z); - glVertex3d(Pt.x, Pt.y, Pt.z); - - pWing->m_Surface[j].GetPoint(x,x,1.0,Pt, PtNormal,-1); - glVertex3d(Pt.x, Pt.y, Pt.z); + glVertex3d(PtA.x, PtA.y, PtA.z); + glVertex3d(PtB.x, PtB.y, PtB.z); } } glEnd(); - } for (j=0; j<pWing->m_NSurfaces; j++) { - //All surfaces - //Left surface - if(pWing->m_Surface[j].m_bIsTipLeft) + //Tip left surface + if(pWing->m_Surface[j].IsTipLeft()) { glBegin(GL_QUAD_STRIP); { @@ -119,10 +151,9 @@ N.Normalize(); glNormal3d( N.x, N.y, N.z); - for (l=0; l<=100; l++) + for (l=0; l<SIDEPOINTS; l++) { - x = (double)l/100.0; - + x = xDistrib[l]; pWing->m_Surface[j].GetPoint(x,x,0.0,Pt, PtNormal,1); glVertex3d(Pt.x, Pt.y, Pt.z); @@ -133,9 +164,10 @@ } glEnd(); } - if(pWing->m_Surface[j].m_bIsTipRight) + if (pWing->m_Surface[j].IsTipRight() && + (!pWing->IsFin() || (pWing->IsFin()&&!pBody)) ) { - //right surface + //Tip right surface glBegin(GL_QUAD_STRIP); { pWing->m_Surface[j].GetPanel(pWing->m_Surface[j].m_NYPanels-1,0, 1); @@ -151,10 +183,9 @@ N.Normalize(); glNormal3d( N.x, N.y, N.z); - for (l=0; l<=100; l++) + for (l=0; l<SIDEPOINTS; l++) { - x = (double)l/100.0; - + x = xDistrib[l]; pWing->m_Surface[j].GetPoint(x,x,1.0,Pt, PtNormal,1); glVertex3d(Pt.x, Pt.y, Pt.z); @@ -166,8 +197,9 @@ glEnd(); } } + glDisable(GL_DEPTH_TEST); glDisable(GL_POLYGON_OFFSET_FILL); - glDisable (GL_LINE_STIPPLE); + glDisable(GL_BLEND); } glEndList(); @@ -178,73 +210,106 @@ glPolygonMode(GL_FRONT,GL_LINE); glEnable (GL_LINE_STIPPLE); - glLineWidth((GLfloat)pMiarex->m_OutlineWidth); - color = pMiarex->m_OutlineColor; - style = pMiarex->m_OutlineStyle; - width = pMiarex->m_OutlineWidth; + if (pMiarex->m_OutlineStyle == 1) glLineStipple (1, 0xCFCF); + else if(pMiarex->m_OutlineStyle == 2) glLineStipple (1, 0x6666); + else if(pMiarex->m_OutlineStyle == 3) glLineStipple (1, 0xFF18); + else if(pMiarex->m_OutlineStyle == 4) glLineStipple (1, 0x7E66); + else glLineStipple (1, 0xFFFF); - if (style == 1) glLineStipple (1, 0xCFCF); - else if(style == 2) glLineStipple (1, 0x6666); - else if(style == 3) glLineStipple (1, 0xFF18); - else if(style == 4) glLineStipple (1, 0x7E66); - else glLineStipple (1, 0xFFFF); - - glColor3d(color.redF(),color.greenF(),color.blueF()); - glLineWidth((GLfloat)width); + glColor3d(pMiarex->m_OutlineColor.redF(),pMiarex->m_OutlineColor.greenF(),pMiarex->m_OutlineColor.blueF()); + glLineWidth((GLfloat)pMiarex->m_OutlineWidth); //TOP outline for (j=0; j<pWing->m_NSurfaces; j++) { glBegin(GL_LINE_STRIP); { - for (l=0; l<=100; l++) + for (l=0; l<SIDEPOINTS; l++) { - x = (double)l/100.0; - pWing->m_Surface[j].GetPoint(x,x,0.0,Pt, PtNormal,1); - glVertex3d(Pt.x, Pt.y, Pt.z); + //top left surface outline + if(pBody && pWing->m_Surface[j].IsCenterSurf() && pWing->m_Surface[j].IsRightSurf()) + { +// pBody->Intersect(PtA, PtB, PtA, true); + PtA = PtILeft[l]; + } + else + { + x = xDistrib[l]; + pWing->m_Surface[j].GetPoint(x ,x ,0.0 ,PtA, PtNormal, 1); + pWing->m_Surface[j].GetPoint(x, x, 1.0, PtB, PtNormal, 1); + } + glVertex3d(PtA.x, PtA.y, PtA.z); } } glEnd(); glBegin(GL_LINE_STRIP); { - for (l=0; l<=100; l++) + for (l=0; l<SIDEPOINTS; l++) { - x = (double)l/100.0; - pWing->m_Surface[j].GetPoint(x,x,1.0,Pt, PtNormal,1); - glVertex3d(Pt.x, Pt.y, Pt.z); + //bottom left surface outline + if(pBody && pWing->m_Surface[j].IsCenterSurf() && pWing->m_Surface[j].IsRightSurf()) + { +// pBody->Intersect(PtA, PtB, PtA, true); + PtA = PtILeft[l+SIDEPOINTS]; + } + else + { + x = (double)l/(double)(SIDEPOINTS-1); + pWing->m_Surface[j].GetPoint(x ,x ,0.0 ,PtA, PtNormal, -1); + pWing->m_Surface[j].GetPoint(x, x, 1.0, PtB, PtNormal, -1); + } + + glVertex3d(PtA.x, PtA.y, PtA.z); } } glEnd(); - } - //BOTTOM outline - for (j=0; j<pWing->m_NSurfaces; j++) - { glBegin(GL_LINE_STRIP); { - for (l=0; l<=100; l++) + //top right surface outline + for (l=0; l<SIDEPOINTS; l++) { - x = (double)l/100.0; - pWing->m_Surface[j].GetPoint(x,x,0.0,Pt, PtNormal,-1); - glVertex3d(Pt.x, Pt.y, Pt.z); + if(pBody && pWing->m_Surface[j].IsCenterSurf() && pWing->m_Surface[j].IsLeftSurf()) + { +// pBody->Intersect(PtA, PtB, PtB, false); + PtB = PtIRight[l]; + } + else + { + x = xDistrib[l]; + pWing->m_Surface[j].GetPoint(x ,x ,0.0 ,PtA, PtNormal, 1); + pWing->m_Surface[j].GetPoint(x, x, 1.0, PtB, PtNormal, 1); + } + + glVertex3d(PtB.x, PtB.y, PtB.z); } } glEnd(); - glBegin(GL_LINE_STRIP); { - for (l=0; l<=100; l++) + //bottom right surface outline + for (l=0; l<SIDEPOINTS; l++) { - x = (double)l/100.0; - pWing->m_Surface[j].GetPoint(x,x,1.0,Pt, PtNormal,-1); - glVertex3d(Pt.x, Pt.y, Pt.z); + if(pBody && pWing->m_Surface[j].IsCenterSurf() && pWing->m_Surface[j].IsLeftSurf()) + { +// pBody->Intersect(PtA, PtB, PtB, false); + PtB = PtIRight[l+SIDEPOINTS]; + } + else + { + x = xDistrib[l]; + pWing->m_Surface[j].GetPoint(x ,x ,0.0 ,PtA, PtNormal, -1); + pWing->m_Surface[j].GetPoint(x, x, 1.0, PtB, PtNormal, -1); + } + + glVertex3d(PtB.x, PtB.y, PtB.z); } } glEnd(); - } + //WingContour //Leading edge outline for (j=0; j<pWing->m_NSurfaces; j++) @@ -350,14 +415,14 @@ pWing->m_Surface[j].GetPoint(pWing->m_Surface[j].m_pFoilA->m_LEXHinge/100.0, pWing->m_Surface[j].m_pFoilA->m_LEXHinge/100.0, 0.0, Pt, -1); - else pWing->m_Surface[j].GetPoint(1.0, 1.0, 0.0, Pt, -1); + else pWing->m_Surface[j].GetPoint(1.0, 1.0, 0.0, Pt, -1); glVertex3d(Pt.x, Pt.y, Pt.z); if(pFoilB->m_bLEFlap) pWing->m_Surface[j].GetPoint(pWing->m_Surface[j].m_pFoilB->m_LEXHinge/100.0, pWing->m_Surface[j].m_pFoilB->m_LEXHinge/100.0, 1.0, Pt, -1); - else pWing->m_Surface[j].GetPoint(1.0, 1.0, 1.0, Pt, -1); + else pWing->m_Surface[j].GetPoint(1.0, 1.0, 1.0, Pt, -1); glVertex3d(Pt.x, Pt.y, Pt.z); } glEnd(); @@ -365,7 +430,7 @@ } glDisable (GL_LINE_STIPPLE); } - glEndList(); + glEndList(); } @@ -384,7 +449,7 @@ int nPanels; double color; double lmin, lmax, range; - double *tab; + float *tab; double CpInf[2*VLMMAXMATSIZE], CpSup[2*VLMMAXMATSIZE], Cp100[2*VLMMAXMATSIZE]; CVector LA,LB,TA,TB; @@ -511,7 +576,6 @@ } - void GLDrawCpLegend(void *pQMiarex) { int i; @@ -522,7 +586,7 @@ double labellength, ClientToGL; - double f, fi,dD, ZPos,dz,Right1, Right2; + double f, fi,ZPos,dz,Right1; double range, delta; QFontMetrics fm(pMainFrame->m_TextFont); @@ -548,10 +612,10 @@ ClientToGL = 2.0/h; } - dD = 12.0/w*2.0; +// dD = 12.0/w*2.0; Right1 = .94*XPos; - Right2 = .98*XPos; +// Right2 = .98*XPos; range = (pMiarex->m_LegendMax - pMiarex->m_LegendMin); delta = range / 20; @@ -588,70 +652,70 @@ void GLCreateCpLegendClr(void *pQMiarex) { - int i; - QMiarex *pMiarex = (QMiarex*)pQMiarex; + int i; + QMiarex *pMiarex = (QMiarex*)pQMiarex; + + double ClientToGL; - double ClientToGL; + double fi,dD, ZPos,dz,Right1, Right2; + double color = 0.0; + double range; - double fi,dD, ZPos,dz,Right1, Right2; - double color = 0.0; - double range, delta; - - double w = (double)pMiarex->m_r3DCltRect.width(); - double h = (double)pMiarex->m_r3DCltRect.height(); - double XPos; - - if(w>h) - { - XPos = 1.0; + double w = (double)pMiarex->m_r3DCltRect.width(); + double h = (double)pMiarex->m_r3DCltRect.height(); + double XPos; + + if(w>h) + { + XPos = 1.0; // ZPos = h/w * (-1.0 + 2.0/3.0); - dz = h/w*1.0/20.0; - ZPos = h/w - 23.0*dz; - ClientToGL = 2.0/w; - } - else - { - XPos = w/h; + dz = h/w*1.0/20.0; + ZPos = h/w - 23.0*dz; + ClientToGL = 2.0/w; + } + else + { + XPos = w/h; // ZPos = (-1.0 + 2.0/3.0); - dz = 1.0/20.0; - ZPos = 1.0 - 23.0*dz; - ClientToGL = 2.0/h; - } - - dD = 12.0/w*2.0; - - Right1 = .94*XPos; - Right2 = .98*XPos; - - range = (pMiarex->m_LegendMax - pMiarex->m_LegendMin); - delta = range / 20; - - - glNewList(WOPPCPLEGENDCLR,GL_COMPILE); - { - pMiarex->m_GLList++; - glDisable(GL_LIGHTING); - glDisable(GL_LIGHT0); - - glPolygonMode(GL_FRONT,GL_FILL); - - glBegin(GL_QUAD_STRIP); - { - for (i=0; i<=20; i++) - { - fi = (double)i*dz; - color += 0.05; - - glColor3d(GLGetRed(color),GLGetGreen(color),GLGetBlue(color)); - glVertex3d(Right1, ZPos+fi, 0.0); - glVertex3d(Right2, ZPos+fi, 0.0); - } - } - glEnd(); - } - glEndList(); + dz = 1.0/20.0; + ZPos = 1.0 - 23.0*dz; + ClientToGL = 2.0/h; + } + + dD = 12.0/w*2.0; + + Right1 = .94*XPos; + Right2 = .98*XPos; + + range = (pMiarex->m_LegendMax - pMiarex->m_LegendMin); + + glNewList(WOPPCPLEGENDCLR,GL_COMPILE); + { + pMiarex->m_GLList++; + glDisable(GL_LIGHTING); + glDisable(GL_LIGHT0); + +// glPolygonMode(GL_FRONT,GL_FILL); + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + + glBegin(GL_QUAD_STRIP); + { + for (i=0; i<=20; i++) + { + fi = (double)i*dz; + color += 0.05; + + glColor3d(GLGetRed(color),GLGetGreen(color),GLGetBlue(color)); + glVertex3d(Right1, ZPos+fi, 0.0); + glVertex3d(Right2, ZPos+fi, 0.0); + } + } + glEnd(); + } + glEndList(); } + void GLCreateDownwash(void *pQMiarex, CWing *pWing, CWOpp *pWOpp, int List) { // pWing is either the Wing, the stab, or the fin @@ -1010,7 +1074,7 @@ i++; } } - if(!pWing->m_bIsFin) + if(!pWing->IsFin()) { if(pMiarex->m_bICd) { @@ -1635,11 +1699,11 @@ } -void GLCreateStreamLines(void *pQMiarex, CWing *Wing[4], CVector *pNode, CWPolar *pWPolar, CWOpp *pWOpp) +void GLCreateStreamLines(void *pQMiarex, CWing *Wing[MAXWINGS], CVector *pNode, CWPolar *pWPolar, CWOpp *pWOpp) { QMiarex * pMiarex = (QMiarex*)pQMiarex; MainFrame *pMainFrame = (MainFrame*)pMiarex->s_pMainFrame; - if(!Wing[0] || !pWOpp || !pWPolar || pWPolar->m_AnalysisMethod==1) + if(!Wing[0] || !pWOpp || !pWPolar || pWPolar->m_AnalysisMethod==LLTMETHOD) { glNewList(VLMSTREAMLINES,GL_COMPILE); glEndList(); pMiarex->m_GLList++; @@ -1652,7 +1716,7 @@ CWing *pWing; ProgressDlg dlg; - dlg.setWindowTitle("Streamines calculation"); + dlg.setWindowTitle("Streamlines calculation"); dlg.InitDialog(0, pMiarex->m_MatSize); dlg.setWindowModality(Qt::WindowModal); dlg.SetValue(0); @@ -1663,7 +1727,8 @@ bool bFound; int i; int m, p, style, width, iWing; - double ds, *Gamma, *Mu, *Sigma; + double ds; + float *Gamma, *Mu, *Sigma; QColor color; CVector C, D, D1, VA, VAT, VB, VBT, VT, VInf, TC, TD; @@ -1672,7 +1737,7 @@ D1.Set(987654321.0, 0.0, 0.0); CPOpp *pPOpp = pMiarex->m_pCurPOpp; - + if(pMiarex->m_pCurPOpp) { Gamma = pPOpp->m_G; @@ -1693,7 +1758,6 @@ } -// pMiarex->m_pVLMDlg->m_pWing = Wing[0]; pMiarex->m_pPanelDlg->m_pWing = Wing[0]; @@ -1714,11 +1778,11 @@ style = pMiarex->m_WakeStyle; - if (style == 1) glLineStipple (1, 0xCFCF); - else if(style == 2) glLineStipple (1, 0x6666); - else if(style == 3) glLineStipple (1, 0xFF18); - else if(style == 4) glLineStipple (1, 0x7E66); - else glLineStipple (1, 0xFFFF); + if (style == DASHLINE) glLineStipple (1, 0xCFCF); + else if(style == DOTLINE) glLineStipple (1, 0x6666); + else if(style == DASHDOTLINE) glLineStipple (1, 0xFF18); + else if(style == DASHDOTDOTLINE) glLineStipple (1, 0x7E66); + else glLineStipple (1, 0xFFFF); glColor3d(color.redF(), color.greenF(), color.blueF()); @@ -1871,7 +1935,7 @@ QMiarex * pMiarex = (QMiarex*)pQMiarex; MainFrame *pMainFrame = (MainFrame*)pMiarex->s_pMainFrame; - if(!pWOpp || pWOpp->m_AnalysisMethod==1) + if(!pWOpp || pWOpp->m_AnalysisMethod==LLTMETHOD) { glNewList(SURFACESPEEDS, GL_COMPILE); pMiarex->m_GLList++; @@ -1888,30 +1952,34 @@ int p, style; double factor; - double length, sinT, cosT, beta, *Gamma, *Mu, *Sigma; + double length, sinT, cosT, beta; +// float Gamma[VLMMAXMATSIZE]; + float Mu[VLMMAXMATSIZE], Sigma[VLMMAXMATSIZE]; double x1, x2, y1, y2, z1, z2, xe, ye, ze, dlx, dlz; CVector C, V, VT; CVector RefPoint(0.0,0.0,0.0); factor = pMiarex->m_VelocityScale/100.0; - CPOpp *pPOpp = pMiarex->m_pCurPOpp; - if(pPOpp) + + int pos = 0; + if(pMiarex->m_pCurPOpp) { - Gamma = pPOpp->m_G; - Mu = pPOpp->m_G; - Sigma = pPOpp->m_Sigma; + for(int iw=0; iw<MAXWINGS; iw++) + { + if(pMiarex->m_pWingList[iw]) + { +// memcpy(Gamma+pos, pMiarex->m_pWOpp[iw]->m_G, pMiarex->m_pWingList[iw]->m_MatSize*sizeof(float)); + memcpy(Mu+pos, pMiarex->m_pWOpp[iw]->m_G, pMiarex->m_pWingList[iw]->m_MatSize*sizeof(float)); + memcpy(Sigma+pos, pMiarex->m_pWOpp[iw]->m_Sigma, pMiarex->m_pWingList[iw]->m_MatSize*sizeof(float)); + pos += pMiarex->m_pWingList[iw]->m_MatSize; + } + } } else if (pWOpp) { - Gamma = pWOpp->m_G; - Mu = pWOpp->m_G; - Sigma = pWOpp->m_Sigma; - } - else - { - Gamma = NULL; - Mu = NULL; - Sigma = NULL; +// memcpy(Gamma, pWOpp->m_G, pWOpp->m_NVLMPanels*sizeof(float)); + memcpy(Mu, pWOpp->m_G, pWOpp->m_NVLMPanels*sizeof(float)); + memcpy(Sigma, pWOpp->m_Sigma, pWOpp->m_NVLMPanels*sizeof(float)); } glNewList(SURFACESPEEDS, GL_COMPILE); @@ -1932,77 +2000,75 @@ glColor3d(pMiarex->m_WakeColor.redF(), pMiarex->m_WakeColor.greenF(), pMiarex->m_WakeColor.blueF()); - if(Gamma) + for (p=0; p<pMiarex->m_MatSize; p++) { - for (p=0; p<pMiarex->m_MatSize; p++) - { - VT.Set(pWOpp->m_QInf,0.0,0.0); + VT.Set(pWOpp->m_QInf,0.0,0.0); - if(pWPolar->m_AnalysisMethod==PANELMETHOD) - { - if(pPanel[p].m_iPos==0) C.Copy(pPanel[p].CtrlPt); - else C.Copy(pPanel[p].CollPt); - pMiarex->m_pPanelDlg->GetSpeedVector(C, Mu, Sigma, V); + if(pWPolar->m_AnalysisMethod==PANELMETHOD) + { + if(pPanel[p].m_iPos==0) C.Copy(pPanel[p].CtrlPt); + else C.Copy(pPanel[p].CollPt); + pMiarex->m_pPanelDlg->GetSpeedVector(C, Mu, Sigma, V); - VT += V; + VT += V; // if(!pWPolar->m_bTiltedGeom) - C.RotateY(RefPoint, pWOpp->m_Alpha); - //Tilt the geometry w.r.t. sideslip + C.RotateY(RefPoint, pWOpp->m_Alpha); + //Tilt the geometry w.r.t. sideslip // C.RotateZ(RefPoint, -pWOpp->m_Beta); - } - - length = VT.VAbs()*factor; - xe = C.x+factor*VT.x; - ye = C.y+factor*VT.y; - ze = C.z+factor*VT.z; - if(length>0.0) - { - cosT = (xe-C.x)/length; - sinT = (ze-C.z)/length; - dlx = 0.15*length; - dlz = 0.07*length; - beta = atan((ye-C.y)/length)*180.0/PI; - } - else { - cosT = 0.0; - sinT = 0.0; - dlx = 0.0; - dlz = 0.0; - } - - x1 = xe -dlx*cosT - dlz*sinT; - y1 = ye; - z1 = ze -dlx*sinT + dlz*cosT; - - x2 = xe -dlx*cosT + dlz*sinT; - y2 = ye; - z2 = ze -dlx*sinT - dlz*cosT; + } - glBegin(GL_LINES); - { - glVertex3d(C.x, C.y, C.z); - glVertex3d(xe,ye,ze); - } - glEnd(); + length = VT.VAbs()*factor; + xe = C.x+factor*VT.x; + ye = C.y+factor*VT.y; + ze = C.z+factor*VT.z; + if(length>0.0) + { + cosT = (xe-C.x)/length; + sinT = (ze-C.z)/length; + dlx = 0.15*length; + dlz = 0.07*length; + beta = atan((ye-C.y)/length)*180.0/PI; + } + else { + cosT = 0.0; + sinT = 0.0; + dlx = 0.0; + dlz = 0.0; + } + + x1 = xe -dlx*cosT - dlz*sinT; + y1 = ye; + z1 = ze -dlx*sinT + dlz*cosT; + + x2 = xe -dlx*cosT + dlz*sinT; + y2 = ye; + z2 = ze -dlx*sinT - dlz*cosT; - glBegin(GL_LINES); - { - glVertex3d(xe, ye, ze); - glVertex3d(x1, y1, z1); - } - glEnd(); + glBegin(GL_LINES); + { + glVertex3d(C.x, C.y, C.z); + glVertex3d(xe,ye,ze); + } + glEnd(); - glBegin(GL_LINES); - { - glVertex3d(xe, ye, ze); - glVertex3d(x2, y2, z2); - } - glEnd(); + glBegin(GL_LINES); + { + glVertex3d(xe, ye, ze); + glVertex3d(x1, y1, z1); + } + glEnd(); - dlg.SetValue(p); - if(dlg.IsCanceled()) break; + glBegin(GL_LINES); + { + glVertex3d(xe, ye, ze); + glVertex3d(x2, y2, z2); } + glEnd(); + + dlg.SetValue(p); + if(dlg.IsCanceled()) break; } + glDisable (GL_LINE_STIPPLE); } glEndList(); @@ -2058,7 +2124,7 @@ } else { - if(!pWing->m_bIsFin) + if(!pWing->IsFin()) { glBegin(GL_LINE_STRIP); { @@ -2140,7 +2206,7 @@ } else { - if(!pWing->m_bIsFin) + if(!pWing->IsFin()) { glBegin(GL_LINE_STRIP); { @@ -2423,8 +2489,6 @@ - - void GLDrawWOppLegend(void* pQMiarex, CWing *pWing, CWOpp *pWOpp) { if(!pWing || !pWOpp) return; @@ -2541,7 +2605,7 @@ } -void GLCreatePanelForce(void *pQMiarex, CWPolar *pWPolar, CPanel *pPanel, CWOpp *pWOpp, CPOpp *pPOpp) +void GLCreatePanelForce(void *pQMiarex, CWPolar *pWPolar, CWOpp *pWOpp, CPOpp *pPOpp) { // @@ -2557,13 +2621,12 @@ } QMiarex * pMiarex = (QMiarex*)pQMiarex; - int p, nPanels; + int p; double force, angle, cosa, sina2, cosa2, color; - double ClientToGL; - double dD, ZPos,dz,Right1, Right2; - double rmin, rmax, range, delta; - double XPos, w, h; - double *tab; +// double ClientToGL; +// double dD, ZPos,dz,Right1, Right2; + double rmin, rmax, range, w, h; + double coef = 1.; Quaternion Qt; // Quaternion operator to align the reference arrow to the panel's normal CVector Omega; //rotation vector to align the reference arrow to the panel's normal @@ -2578,29 +2641,34 @@ w = (double)pMiarex->m_r3DCltRect.width(); h = (double)pMiarex->m_r3DCltRect.height(); - if(pPOpp) - { - tab = pPOpp->m_Cp; - nPanels = pPOpp->m_NPanels; - } - else + CWing *pWingList[MAXWINGS]; + CWOpp *pWOppList[MAXWINGS]; + for(int ip=0; ip<MAXWINGS; ip++) { - tab = pWOpp->m_Cp; - nPanels = pWOpp->m_NVLMPanels; + pWingList[ip] = pMiarex->m_pWingList[ip]; + pWOppList[ip] = pMiarex->m_pWOpp[ip]; } + //define the range of values to set the colors in accordance rmin = 1.e10; rmax = -rmin; - for (p=0; p<pMiarex->m_MatSize; p++) + for(int iw=0; iw<MAXWINGS; iw++) { - if(tab[p]*pPanel[p].GetArea()>rmax) rmax = tab[p]*pPanel[p].GetArea(); - if(tab[p]*pPanel[p].GetArea()<rmin) rmin = tab[p]*pPanel[p].GetArea(); + if(pWingList[iw]) + { + for (p=0; p<pWingList[iw]->m_MatSize; p++) + { + rmax = qMax(rmax,pWOppList[iw]->m_Cp[p]*pWingList[iw]->m_pPanel[p].GetArea()); + rmin = qMin(rmin,pWOppList[iw]->m_Cp[p]*pWingList[iw]->m_pPanel[p].GetArea()); + } + } } rmin *= 0.5*pWPolar->m_Density *pWOpp->m_QInf*pWOpp->m_QInf *pMiarex->m_LiftScale *coef; rmax *= 0.5*pWPolar->m_Density *pWOpp->m_QInf*pWOpp->m_QInf *pMiarex->m_LiftScale *coef; range = rmax - rmin; + CPanel *pPanel; glNewList(PANELFORCEARROWS, GL_COMPILE); { @@ -2608,140 +2676,194 @@ glLineWidth(1.0); // glColor3d(pMiarex->m_XCPColor.redF(), pMiarex->m_XCPColor.greenF(), pMiarex->m_XCPColor.blueF()); - for (p=0; p<pMiarex->m_MatSize; p++) + for(int iw=0; iw<MAXWINGS; iw++) { - // plot Cp ? f ? f/s=q.Cp ? - force = 0.5*pWPolar->m_Density *pWOpp->m_QInf*pWOpp->m_QInf *tab[p]*pPanel[p].GetArea(); - force *= pMiarex->m_LiftScale *coef; - color = (force-rmin)/range; - glColor3d(GLGetRed(color),GLGetGreen(color),GLGetBlue(color)); - - if(pWPolar->m_AnalysisMethod==VLMMETHOD) O = pPanel[p].CtrlPt; - else O = pPanel[p].CollPt; - - // Rotate the reference arrow to align it with the panel normal - - if(R==P) - { - Qt.Set(0.0, 0.0,0.0,1.0); //Null quaternion - } - else + if(pWingList[iw]) { - cosa = R.dot(pPanel[p].Normal); - sina2 = sqrt((1.0 - cosa)*0.5); - cosa2 = sqrt((1.0 + cosa)*0.5); - angle = acos(cosa2)*180.0/PI; - - Omega = R * pPanel[p].Normal;//crossproduct - Omega.Normalize(); - Omega *=sina2; - Qt.Set(cosa2, Omega.x, Omega.y, Omega.z); - } - - Qt.Conjugate(R, P); - Qt.Conjugate(R1, P1); - Qt.Conjugate(R2, P2); - - // Scale the pressure vector - P *= force; - P1 *= force; - P2 *= force; - - // Plot - if(pPanel[p].m_iPos==0) - { - glBegin(GL_LINES); + for (p=0; p<pWingList[iw]->m_MatSize; p++) { - glVertex3d(O.x, O.y, O.z); - glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); - } - glEnd(); + pPanel = pWingList[iw]->m_pPanel; + // plot Cp? f? f/s=q.Cp? + force = 0.5*pWPolar->m_Density *pWOpp->m_QInf*pWOpp->m_QInf *pWOppList[iw]->m_Cp[p]*pWingList[iw]->m_pPanel[p].GetArea(); + force *= pMiarex->m_LiftScale *coef; + color = (force-rmin)/range; + glColor3d(GLGetRed(color),GLGetGreen(color),GLGetBlue(color)); - if(force>0) - { - glBegin(GL_LINES); - { - glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); - glVertex3d(O.x+P.x+P1.x, O.y+P.y+P1.y, O.z+P.z+P1.z); - } - glEnd(); - glBegin(GL_LINES); - { - glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); - glVertex3d(O.x+P.x+P2.x, O.y+P.y+P2.y, O.z+P.z+P2.z); - } - glEnd(); - } - else - { - glBegin(GL_LINES); - { - glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); - glVertex3d(O.x+P.x+P1.x, O.y+P.y+P1.y, O.z+P.z+P1.z); - } - glEnd(); - glBegin(GL_LINES); - { - glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); - glVertex3d(O.x+P.x+P2.x, O.y+P.y+P2.y, O.z+P.z+P2.z); - } - glEnd(); - } - } - else - { - if(tab[p]>0) - { - // compression, point towards the surface -// P.Set(-P.x, -P.y, -P.z); - glBegin(GL_LINES); - { - glVertex3d(O.x, O.y, O.z); - glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); - } - glEnd(); - glBegin(GL_LINES); - { - glVertex3d(O.x, O.y, O.z); - glVertex3d(O.x-P1.x, O.y-P1.y, O.z-P1.z); - } - glEnd(); - glBegin(GL_LINES); + if(pWPolar->m_AnalysisMethod==VLMMETHOD) O = pPanel[p].CtrlPt; + else O = pPanel[p].CollPt; + + // Rotate the reference arrow to align it with the panel normal + + if(R==P) { - glVertex3d(O.x, O.y+P.y, O.z); - glVertex3d(O.x-P2.x, O.y-P2.y, O.z-P2.z); + Qt.Set(0.0, 0.0,0.0,1.0); //Null quaternion } - glEnd(); - } - else - { - // depression, point outwards from the surface - P.Set(-P.x, -P.y, -P.z); - glBegin(GL_LINES); + else { - glVertex3d(O.x, O.y, O.z); - glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); + cosa = R.dot(pPanel[p].Normal); + sina2 = sqrt((1.0 - cosa)*0.5); + cosa2 = sqrt((1.0 + cosa)*0.5); + angle = acos(cosa2)*180.0/PI; + + Omega = R * pPanel[p].Normal;//crossproduct + Omega.Normalize(); + Omega *=sina2; + Qt.Set(cosa2, Omega.x, Omega.y, Omega.z); } - glEnd(); - glBegin(GL_LINES); + + Qt.Conjugate(R, P); + Qt.Conjugate(R1, P1); + Qt.Conjugate(R2, P2); + + // Scale the pressure vector + P *= force; + P1 *= force; + P2 *= force; + + // Plot + if(pPanel[p].m_iPos==0) { - glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); - glVertex3d(O.x+P.x-P1.x, O.y+P.y-P1.y, O.z+P.z-P1.z); + glBegin(GL_LINES); + { + glVertex3d(O.x, O.y, O.z); + glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); + } + glEnd(); + + if(force>0) + { + glBegin(GL_LINES); + { + glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); + glVertex3d(O.x+P.x+P1.x, O.y+P.y+P1.y, O.z+P.z+P1.z); + } + glEnd(); + glBegin(GL_LINES); + { + glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); + glVertex3d(O.x+P.x+P2.x, O.y+P.y+P2.y, O.z+P.z+P2.z); + } + glEnd(); + } + else + { + glBegin(GL_LINES); + { + glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); + glVertex3d(O.x+P.x+P1.x, O.y+P.y+P1.y, O.z+P.z+P1.z); + } + glEnd(); + glBegin(GL_LINES); + { + glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); + glVertex3d(O.x+P.x+P2.x, O.y+P.y+P2.y, O.z+P.z+P2.z); + } + glEnd(); + } } - glEnd(); - glBegin(GL_LINES); + else { - glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); - glVertex3d(O.x+P.x-P2.x, O.y+P.y-P2.y, O.z+P.z-P2.z); + if(pWOppList[iw]->m_Cp[p]>0) + { + // compression, point towards the surface + // P.Set(-P.x, -P.y, -P.z); + glBegin(GL_LINES); + { + glVertex3d(O.x, O.y, O.z); + glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); + } + glEnd(); + glBegin(GL_LINES); + { + glVertex3d(O.x, O.y, O.z); + glVertex3d(O.x-P1.x, O.y-P1.y, O.z-P1.z); + } + glEnd(); + glBegin(GL_LINES); + { + glVertex3d(O.x, O.y+P.y, O.z); + glVertex3d(O.x-P2.x, O.y-P2.y, O.z-P2.z); + } + glEnd(); + } + else + { + // depression, point outwards from the surface + P.Set(-P.x, -P.y, -P.z); + glBegin(GL_LINES); + { + glVertex3d(O.x, O.y, O.z); + glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); + } + glEnd(); + glBegin(GL_LINES); + { + glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); + glVertex3d(O.x+P.x-P1.x, O.y+P.y-P1.y, O.z+P.z-P1.z); + } + glEnd(); + glBegin(GL_LINES); + { + glVertex3d(O.x+P.x, O.y+P.y, O.z+P.z); + glVertex3d(O.x+P.x-P2.x, O.y+P.y-P2.y, O.z+P.z-P2.z); + } + glEnd(); + } } - glEnd(); } } } } glEndList(); +} +void GLDrawPanelForceLegend(void *pQMiarex, CWPolar *pWPolar, CPanel *pPanel, CWOpp *pWOpp, CPOpp *pPOpp) +{ + QMiarex * pMiarex = (QMiarex*)pQMiarex; + GLWidget *pGLWidget = (GLWidget*)pMiarex->s_pGLWidget; + MainFrame *pMainFrame = (MainFrame*)pMiarex->s_pMainFrame; + int p, i; + double labellength, ClientToGL; + double f, fi, ZPos,dz,Right1, Right2; + double rmin, rmax, range, delta; + double XPos, w, h; + + QString strong, strForce; + QFontMetrics fm(pMainFrame->m_TextFont); + + w = (double)pMiarex->m_r3DCltRect.width(); + h = (double)pMiarex->m_r3DCltRect.height(); + + GetForceUnit(strForce, pMainFrame->m_ForceUnit); + + CWing *pWingList[MAXWINGS]; + CWOpp *pWOppList[MAXWINGS]; + for(int ip=0; ip<MAXWINGS; ip++) + { + pWingList[ip] = pMiarex->m_pWingList[ip]; + pWOppList[ip] = pMiarex->m_pWOpp[ip]; + } + + + //define the range of values to set the colors in accordance + rmin = 1.e10; + rmax = -rmin; + for(int iw=0; iw<MAXWINGS; iw++) + { + if(pWingList[iw]) + { + for (p=0; p<pWingList[iw]->m_MatSize; p++) + { + rmax = qMax(rmax,pWOppList[iw]->m_Cp[p]*pWingList[iw]->m_pPanel[p].GetArea()); + rmin = qMin(rmin,pWOppList[iw]->m_Cp[p]*pWingList[iw]->m_pPanel[p].GetArea()); + } + } + } + rmin *= 0.5*pWPolar->m_Density *pWOpp->m_QInf*pWOpp->m_QInf *pMainFrame->m_NtoUnit; + rmax *= 0.5*pWPolar->m_Density *pWOpp->m_QInf*pWOpp->m_QInf *pMainFrame->m_NtoUnit; + range = rmax - rmin; + if(w>h) { @@ -2758,101 +2880,36 @@ ClientToGL = 2.0/h; } - dD = 12.0/w*2.0; +// dD = 12.0/w*2.0; Right1 = .94*XPos; Right2 = .98*XPos; delta = range / 20.0; -} - - -void GLDrawPanelForceLegend(void *pQMiarex, CWPolar *pWPolar, CPanel *pPanel, CWOpp *pWOpp, CPOpp *pPOpp) -{ - QMiarex * pMiarex = (QMiarex*)pQMiarex; - GLWidget *pGLWidget = (GLWidget*)pMiarex->s_pGLWidget; - MainFrame *pMainFrame = (MainFrame*)pMiarex->s_pMainFrame; - int p, nPanels,i; - double labellength, ClientToGL; - double f, fi,dD, ZPos,dz,Right1, Right2; - double rmin, rmax, range, delta; - double XPos, w, h; - double *tab; - QString strong, strForce; - QFontMetrics fm(pMainFrame->m_TextFont); - - w = (double)pMiarex->m_r3DCltRect.width(); - h = (double)pMiarex->m_r3DCltRect.height(); - - GetForceUnit(strForce, pMainFrame->m_ForceUnit); - if(pPOpp) - { - tab = pPOpp->m_Cp; - nPanels = pPOpp->m_NPanels; - } - else - { - tab = pWOpp->m_Cp; - nPanels = pWOpp->m_NVLMPanels; - } - - //define the range of values to set the colors in accordance - rmin = 1.e10; - rmax = -rmin; - for (p=0; p<pMiarex->m_MatSize; p++) - { - if(tab[p]*pPanel[p].GetArea()>rmax) rmax = tab[p]*pPanel[p].GetArea(); - if(tab[p]*pPanel[p].GetArea()<rmin) rmin = tab[p]*pPanel[p].GetArea(); - } - rmin *= 0.5*pWPolar->m_Density *pWOpp->m_QInf*pWOpp->m_QInf *pMainFrame->m_NtoUnit; - rmax *= 0.5*pWPolar->m_Density *pWOpp->m_QInf*pWOpp->m_QInf *pMainFrame->m_NtoUnit; - range = rmax - rmin; - - - if(w>h) - { - XPos = 1.0; - dz = h/w*1.0/20.0; - ZPos = h/w - 23.0*dz; - ClientToGL = 2.0/w; - } - else - { - XPos = w/h; - dz = 1.0/20.0; - ZPos = 1.0 - 23.0*dz; - ClientToGL = 2.0/h; - } - - dD = 12.0/w*2.0; - - Right1 = .94*XPos; - Right2 = .98*XPos; - delta = range / 20.0; + //glNewList(PANELFORCELEGENDTXT,GL_COMPILE); + { + //pMiarex->m_GLList++; + glDisable(GL_LIGHTING); + glDisable(GL_LIGHT0); - //glNewList(PANELFORCELEGENDTXT,GL_COMPILE); - { - //pMiarex->m_GLList++; - glDisable(GL_LIGHTING); - glDisable(GL_LIGHT0); + glPolygonMode(GL_FRONT,GL_LINE); - glPolygonMode(GL_FRONT,GL_LINE); + glColor3d(pMainFrame->m_TextColor.redF(),pMainFrame->m_TextColor.greenF(),pMainFrame->m_TextColor.blueF()); + // Draw the labels + for (i=0; i<=20; i ++) + { + f = rmin + (double)i * delta; + fi = (double)i*dz ; + strong = QString("%1").arg(f, 5,'g',3); + labellength = (fm.width(strong)+5) * ClientToGL; + pGLWidget->renderText(Right1-labellength, ZPos+fi, 0.0, strong, pMainFrame->m_TextFont); + } + labellength = (fm.width(strong)+5) * ClientToGL; + pGLWidget->renderText(Right1-labellength, ZPos+21.0*dz, 0.0, strForce, pMainFrame->m_TextFont); + } + //glEndList(); +} - glColor3d(pMainFrame->m_TextColor.redF(),pMainFrame->m_TextColor.greenF(),pMainFrame->m_TextColor.blueF()); - // Draw the labels - for (i=0; i<=20; i ++) - { - f = rmin + (double)i * delta; - fi = (double)i*dz ; - strong = QString("%1").arg(f, 5,'g',3); - labellength = (fm.width(strong)+5) * ClientToGL; - pGLWidget->renderText(Right1-labellength, ZPos+fi, 0.0, strong, pMainFrame->m_TextFont); - } - labellength = (fm.width(strong)+5) * ClientToGL; - pGLWidget->renderText(Right1-labellength, ZPos+21.0*dz, 0.0, strForce, pMainFrame->m_TextFont); - } - //glEndList(); -} diff -Nru xflr5-6.05/src/Miarex/GLCreateLists.h xflr5-6.06/src/Miarex/GLCreateLists.h --- xflr5-6.05/src/Miarex/GLCreateLists.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/GLCreateLists.h 2012-01-21 06:06:38.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** GLCreateLists - Copyright (C) 2010-2010 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2010-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,12 +24,11 @@ #define GLCREATELISTS_H #include <QtOpenGL> -#include "../Objects/Wing.h" +#include "../Objects/Plane.h" #include "../Objects/POpp.h" #include "../Objects/WPolar.h" - -void GLCreateGeom(void *pQMiarex, CWing *pWing, int List); +void GLCreateGeom(void *pQMiarex, CWing *pWing, int List, CBody *pBody=NULL); void GLCreateCp(void *pQMiarex, CVector *pNode, CPanel *pPanel, CWOpp *pWOpp, CPOpp *pPOpp); void GLDrawCpLegend(void *pQMiarex); void GLCreateCpLegendClr(void *pQMiarex); @@ -40,13 +39,13 @@ void GLCreateLiftStrip(void *pQMiarex, CWing *pWing, CWPolar *pWPolar, CWOpp *pWOpp, int List); void GLCreateMoments(void *pQMiarex, CWing *pWing, CWPolar *pWPolar, CWOpp *pWOpp); void GLCreateLiftForce(void *pQMiarex, CWPolar *pWPolar, CWOpp *pWOpp); -void GLCreateStreamLines(void *pQMiarex, CWing *Wing[4], CVector *pNode, CWPolar *pWPolar, CWOpp *pWOpp); +void GLCreateStreamLines(void *pQMiarex, CWing *pWing[MAXWINGS], CVector *pNode, CWPolar *pWPolar, CWOpp *pWOpp); void GLCreateSurfSpeeds(void *pQMiarex, CPanel *pPanel, CWPolar *pWPolar, CWOpp *pWOpp); void GLCreateVortices(void *pQMiarex, CPanel *pPanel, CVector *pNode, CWPolar *pWPolar); void GLCreateTrans(void *pQMiarex, CWing *pWing, CWOpp *pWOpp, int List); void GLDrawWingLegend(void *pQMiarex, CWing *pWing, CPlane *pPlane, CWPolar *pWPolar); void GLDrawWOppLegend(void* pQMiarex, CWing *pWing, CWOpp *pWOpp); -void GLCreatePanelForce(void *pQMiarex, CWPolar *pWPolar, CPanel *pPanel, CWOpp *pWOpp, CPOpp *pPOpp); +void GLCreatePanelForce(void *pQMiarex, CWPolar *pWPolar, CWOpp *pWOpp, CPOpp *pPOpp); void GLDrawPanelForceLegend(void *pQMiarex, CWPolar *pWPolar, CPanel *pPanel, CWOpp *pWOpp, CPOpp *pPOpp); #endif // GLCREATELISTS_H diff -Nru xflr5-6.05/src/Miarex/GLLightDlg.cpp xflr5-6.06/src/Miarex/GLLightDlg.cpp --- xflr5-6.05/src/Miarex/GLLightDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/GLLightDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** GLLightDlg class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,41 +20,31 @@ *****************************************************************************/ #include "GLLightDlg.h" -#include "Miarex.h" +#include "../GLWidget.h" #include <QGroupBox> #include <QGridLayout> #include <QVBoxLayout> #include <QHBoxLayout> #include <QLabel> +float GLLightDlg::s_Ambient, GLLightDlg::s_Diffuse, GLLightDlg::s_Specular; +float GLLightDlg::s_MatAmbient, GLLightDlg::s_MatDiffuse, GLLightDlg::s_MatSpecular, GLLightDlg::s_MatEmission; +float GLLightDlg::s_Red, GLLightDlg::s_Green, GLLightDlg::s_Blue; +float GLLightDlg::s_XLight, GLLightDlg::s_YLight, GLLightDlg::s_ZLight; +int GLLightDlg::s_iMatShininess; +bool GLLightDlg::s_bCullFaces, GLLightDlg::s_bShade, GLLightDlg::s_bSmooth, GLLightDlg::s_bLocalView, GLLightDlg::s_bDepthTest; +bool GLLightDlg::s_bColorMaterial; +bool GLLightDlg::s_bLight; + + GLLightDlg::GLLightDlg() { m_pGL3dBodyDlg = m_pGL3dWingDlg = NULL; - m_bCullFaces = false; - m_bShade = true; - m_bSmooth = true; - m_bLocalView = true; - m_bDepthTest = true; - m_bColorMaterial = true; - - m_Red = 1.0f; - m_Green = 1.0f; - m_Blue = 1.0f; - - m_Ambient = 0.25f; - m_Diffuse = 0.58f; - m_Specular = 0.05f; - - m_MatAmbient = -0.51f; - m_MatDiffuse = -0.43f; - m_MatSpecular = -0.08f; - m_MatEmission = -0.04f; - m_iMatShininess = 0; - - m_XLight = 0.56f; - m_YLight = 0.02f; - m_ZLight = 0.68f; + + m_Size = 5.0; + SetDefaults(m_Size); + SetupLayout(); setWindowTitle(tr("OpenGL Light Options")); @@ -83,9 +73,9 @@ connect(m_pctrlLocalView, SIGNAL(clicked()), this, SLOT(OnChanged())); connect(m_pctrlLight, SIGNAL(clicked()), this, SLOT(OnLight())); - } + void GLLightDlg::SetupLayout() { m_pctrlDiffuse = new QSlider(Qt::Horizontal); @@ -164,125 +154,148 @@ m_pctrlZLight->setMaximum(100); m_pctrlZLight->setTickInterval(10); - QGridLayout *LightIntensity = new QGridLayout; - QLabel *lab1 = new QLabel(tr("Diffuse")); - QLabel *lab2 = new QLabel(tr("Ambient")); - QLabel *lab3 = new QLabel(tr("Specular")); - LightIntensity->addWidget(lab1,1,1); - LightIntensity->addWidget(lab2,2,1); - LightIntensity->addWidget(lab3,3,1); - LightIntensity->addWidget(m_pctrlDiffuse,1,2); - LightIntensity->addWidget(m_pctrlAmbient,2,2); - LightIntensity->addWidget(m_pctrlSpecular,3,2); QGroupBox *LightIntensityBox = new QGroupBox(tr("Light Intensity")); - LightIntensityBox->setLayout(LightIntensity); + QGridLayout *LightIntensity = new QGridLayout; + { + QLabel *lab1 = new QLabel(tr("Diffuse")); + QLabel *lab2 = new QLabel(tr("Ambient")); + QLabel *lab3 = new QLabel(tr("Specular")); + LightIntensity->addWidget(lab1,1,1); + LightIntensity->addWidget(lab2,2,1); + LightIntensity->addWidget(lab3,3,1); + LightIntensity->addWidget(m_pctrlDiffuse,1,2); + LightIntensity->addWidget(m_pctrlAmbient,2,2); + LightIntensity->addWidget(m_pctrlSpecular,3,2); + LightIntensityBox->setLayout(LightIntensity); + } - QGridLayout *LightColor = new QGridLayout; - QLabel *lab11 = new QLabel(tr("Red")); - QLabel *lab12 = new QLabel(tr("Green")); - QLabel *lab13 = new QLabel(tr("Blue")); - LightColor->addWidget(lab11,1,1); - LightColor->addWidget(lab12,2,1); - LightColor->addWidget(lab13,3,1); - LightColor->addWidget(m_pctrlRed,1,2); - LightColor->addWidget(m_pctrlGreen,2,2); - LightColor->addWidget(m_pctrlBlue,3,2); QGroupBox *LightColorBox = new QGroupBox(tr("Light Color")); - LightColorBox->setLayout(LightColor); + { + QGridLayout *LightColor = new QGridLayout; + QLabel *lab11 = new QLabel(tr("Red")); + QLabel *lab12 = new QLabel(tr("Green")); + QLabel *lab13 = new QLabel(tr("Blue")); + LightColor->addWidget(lab11,1,1); + LightColor->addWidget(lab12,2,1); + LightColor->addWidget(lab13,3,1); + LightColor->addWidget(m_pctrlRed,1,2); + LightColor->addWidget(m_pctrlGreen,2,2); + LightColor->addWidget(m_pctrlBlue,3,2); + LightColorBox->setLayout(LightColor); + } - QGridLayout *LightPosition = new QGridLayout; - QLabel *lab21 = new QLabel(tr("x")); - QLabel *lab22 = new QLabel(tr("y")); - QLabel *lab23 = new QLabel(tr("z")); - LightPosition->addWidget(lab21,1,1); - LightPosition->addWidget(lab22,2,1); - LightPosition->addWidget(lab23,3,1); - LightPosition->addWidget(m_pctrlXLight,1,2); - LightPosition->addWidget(m_pctrlYLight,2,2); - LightPosition->addWidget(m_pctrlZLight,3,2); QGroupBox *LightPositionBox = new QGroupBox(tr("Light Position")); - LightPositionBox->setLayout(LightPosition); + { + QGridLayout *LightPosition = new QGridLayout; + QLabel *lab21 = new QLabel(tr("x")); + QLabel *lab22 = new QLabel(tr("y")); + QLabel *lab23 = new QLabel(tr("z")); + LightPosition->addWidget(lab21,1,1); + LightPosition->addWidget(lab22,2,1); + LightPosition->addWidget(lab23,3,1); + LightPosition->addWidget(m_pctrlXLight,1,2); + LightPosition->addWidget(m_pctrlYLight,2,2); + LightPosition->addWidget(m_pctrlZLight,3,2); + LightPositionBox->setLayout(LightPosition); + } - QGridLayout *MaterialData = new QGridLayout; - QLabel *lab31 = new QLabel(tr("Diffuse")); - QLabel *lab32 = new QLabel(tr("Ambient")); - QLabel *lab33 = new QLabel(tr("Specular")); - QLabel *lab34 = new QLabel(tr("Emissions")); - QLabel *lab35 = new QLabel(tr("Shininess")); - MaterialData->addWidget(lab31,1,1); - MaterialData->addWidget(lab32,2,1); - MaterialData->addWidget(lab33,3,1); - MaterialData->addWidget(lab34,4,1); - MaterialData->addWidget(lab35,5,1); - MaterialData->addWidget(m_pctrlMatDiffuse,1,2); - MaterialData->addWidget(m_pctrlMatAmbient,2,2); - MaterialData->addWidget(m_pctrlMatSpecular,3,2); - MaterialData->addWidget(m_pctrlMatEmission,4,2); - MaterialData->addWidget(m_pctrlMatShininess,5,2); QGroupBox *MaterialDataBox = new QGroupBox(tr("Material")); - MaterialDataBox->setLayout(MaterialData); + { + QGridLayout *MaterialData = new QGridLayout; + QLabel *lab31 = new QLabel(tr("Diffuse")); + QLabel *lab32 = new QLabel(tr("Ambient")); + QLabel *lab33 = new QLabel(tr("Specular")); + QLabel *lab34 = new QLabel(tr("Emissions")); + QLabel *lab35 = new QLabel(tr("Shininess")); + MaterialData->addWidget(lab31,1,1); + MaterialData->addWidget(lab32,2,1); + MaterialData->addWidget(lab33,3,1); + MaterialData->addWidget(lab34,4,1); + MaterialData->addWidget(lab35,5,1); + MaterialData->addWidget(m_pctrlMatDiffuse,1,2); + MaterialData->addWidget(m_pctrlMatAmbient,2,2); + MaterialData->addWidget(m_pctrlMatSpecular,3,2); + MaterialData->addWidget(m_pctrlMatEmission,4,2); + MaterialData->addWidget(m_pctrlMatShininess,5,2); + MaterialDataBox->setLayout(MaterialData); + } - QVBoxLayout *CheckLayout = new QVBoxLayout; - m_pctrlColorMaterial = new QCheckBox(tr("Color Material")); - m_pctrlCullFaces = new QCheckBox(tr("Cull Faces")); - m_pctrlSmooth = new QCheckBox(tr("Smooth Quads")); - m_pctrlDepthTest = new QCheckBox(tr("Depth Test")); - m_pctrlShade = new QCheckBox(tr("Smooth Shading")); - m_pctrlLocalView = new QCheckBox(tr("Local View")); - CheckLayout->addWidget(m_pctrlColorMaterial); - CheckLayout->addWidget(m_pctrlCullFaces); - CheckLayout->addWidget(m_pctrlSmooth); - CheckLayout->addWidget(m_pctrlDepthTest); - CheckLayout->addWidget(m_pctrlShade); - CheckLayout->addWidget(m_pctrlLocalView); QGroupBox *CheckBoxes = new QGroupBox(tr("Options")); - CheckBoxes->setLayout(CheckLayout); + { + QVBoxLayout *CheckLayout = new QVBoxLayout; + m_pctrlColorMaterial = new QCheckBox(tr("Color Material")); + m_pctrlCullFaces = new QCheckBox(tr("Cull Faces")); + m_pctrlSmooth = new QCheckBox(tr("Smooth Quads")); + m_pctrlDepthTest = new QCheckBox(tr("Depth Test")); + m_pctrlShade = new QCheckBox(tr("Smooth Shading")); + m_pctrlLocalView = new QCheckBox(tr("Local View")); + CheckLayout->addWidget(m_pctrlColorMaterial); + CheckLayout->addWidget(m_pctrlCullFaces); + CheckLayout->addWidget(m_pctrlSmooth); + CheckLayout->addWidget(m_pctrlDepthTest); + CheckLayout->addWidget(m_pctrlShade); + CheckLayout->addWidget(m_pctrlLocalView); + CheckBoxes->setLayout(CheckLayout); + } QHBoxLayout *CommandButtons = new QHBoxLayout; - m_pctrlClose = new QPushButton(tr("Close")); - m_pctrlDefaults = new QPushButton(tr("Reset Defaults")); - CommandButtons->addStretch(1); - CommandButtons->addWidget(m_pctrlDefaults); - CommandButtons->addStretch(1); - CommandButtons->addWidget(m_pctrlClose); - CommandButtons->addStretch(1); + { + m_pctrlClose = new QPushButton(tr("Close")); + m_pctrlDefaults = new QPushButton(tr("Reset Defaults")); + CommandButtons->addStretch(1); + CommandButtons->addWidget(m_pctrlDefaults); + CommandButtons->addStretch(1); + CommandButtons->addWidget(m_pctrlClose); + CommandButtons->addStretch(1); + } QVBoxLayout *LeftSide = new QVBoxLayout; - LeftSide->addStretch(1); - LeftSide->addWidget(LightIntensityBox); - LeftSide->addStretch(1); - LeftSide->addWidget(LightColorBox); - LeftSide->addStretch(1); - LeftSide->addWidget(LightPositionBox); - LeftSide->addStretch(1); + { + LeftSide->addStretch(1); + LeftSide->addWidget(LightIntensityBox); + LeftSide->addStretch(1); + LeftSide->addWidget(LightColorBox); + LeftSide->addStretch(1); + LeftSide->addWidget(LightPositionBox); + LeftSide->addStretch(1); + } QVBoxLayout *RightSide = new QVBoxLayout; - RightSide->addStretch(1); - RightSide->addWidget(MaterialDataBox); - RightSide->addStretch(1); - RightSide->addWidget(CheckBoxes); - RightSide->addStretch(1); + { + RightSide->addStretch(1); + RightSide->addWidget(MaterialDataBox); + RightSide->addStretch(1); + RightSide->addWidget(CheckBoxes); + RightSide->addStretch(1); + } QHBoxLayout *TopLayout = new QHBoxLayout; - TopLayout->addLayout(LeftSide); - TopLayout->addLayout(RightSide); + { + TopLayout->addLayout(LeftSide); + TopLayout->addLayout(RightSide); + } - m_pctrlLight = new QCheckBox(tr("Light")); QVBoxLayout *MainLayout = new QVBoxLayout; - MainLayout->addWidget(m_pctrlLight);; - MainLayout->addLayout(TopLayout); - MainLayout->addLayout(CommandButtons); + { + m_pctrlLight = new QCheckBox(tr("Light")); + MainLayout->addWidget(m_pctrlLight);; + MainLayout->addLayout(TopLayout); + MainLayout->addLayout(CommandButtons); + } setLayout(MainLayout); } + void GLLightDlg::Apply() { ReadParams(); - QMiarex *pMiarex = (QMiarex*)m_pMiarex; - pMiarex->UpdateView(); + + GLWidget *pGLWidget = (GLWidget*)m_pGLWidget; + pGLWidget->updateGL(); } + void GLLightDlg::OnSlider(int pos) { Apply(); @@ -295,104 +308,78 @@ } - void GLLightDlg::OnDefaults() { - QMiarex *pMiarex = (QMiarex*)m_pMiarex; - - m_bLight = true; - m_bCullFaces = false; - m_bShade = true; - m_bSmooth = true; - m_bLocalView = true; - m_bDepthTest = true; - m_bColorMaterial = true; - - m_Red = 1.0f; - m_Green = 1.0f; - m_Blue = 1.0f; - - m_Ambient = 0.25f; - m_Diffuse = 0.58f; - m_Specular = 0.05f; - - m_MatAmbient = -0.51f; - m_MatDiffuse = -0.43f; - m_MatSpecular = -0.08f; - m_MatEmission = -0.04f; - m_iMatShininess = 0; - - m_XLight = 0.56f; - m_YLight = 0.02f; - m_ZLight = 0.68f; + GLWidget *pGLWidget = (GLWidget*)m_pGLWidget; + SetDefaults(m_Size); SetParams(); SetEnabled(); - pMiarex->UpdateView(); + pGLWidget->updateGL(); } void GLLightDlg::ReadParams(void) { - m_bLight = m_pctrlLight->isChecked(); + s_bLight = m_pctrlLight->isChecked(); - m_Red = (float)m_pctrlRed->value() /100.0f; - m_Green = (float)m_pctrlGreen->value() /100.0f; - m_Blue = (float)m_pctrlBlue->value() /100.0f; - - m_Ambient = (float)m_pctrlAmbient->value() / 100.0f; - m_Diffuse = (float)m_pctrlDiffuse->value() / 100.0f; - m_Specular = (float)m_pctrlSpecular->value() / 100.0f; - - m_MatAmbient = (float)m_pctrlMatAmbient->value() /100.0f; - m_MatSpecular = (float)m_pctrlMatSpecular->value() /100.0f; - m_MatDiffuse = (float)m_pctrlMatDiffuse->value() /100.0f; - m_MatEmission = (float)m_pctrlMatEmission->value() /100.0f; - m_iMatShininess = m_pctrlMatShininess->value(); - - m_bCullFaces = m_pctrlCullFaces->isChecked(); - m_bColorMaterial = m_pctrlColorMaterial->isChecked(); - m_bSmooth = m_pctrlSmooth->isChecked(); - m_bShade = m_pctrlShade->isChecked(); - m_bLocalView = m_pctrlLocalView->isChecked(); - m_bDepthTest = m_pctrlDepthTest->isChecked(); - - float factor = 50.0f; - m_XLight = ((float)m_pctrlXLight->value()-50.0f)/factor; - m_YLight = ((float)m_pctrlYLight->value()-50.0f)/factor; - m_ZLight = ((float)m_pctrlZLight->value()-50.0f)/factor; + s_Red = (float)m_pctrlRed->value() /100.0f; + s_Green = (float)m_pctrlGreen->value() /100.0f; + s_Blue = (float)m_pctrlBlue->value() /100.0f; + + s_MatAmbient = (float)m_pctrlMatAmbient->value() /100.0f; + s_MatSpecular = (float)m_pctrlMatSpecular->value() /100.0f; + s_MatDiffuse = (float)m_pctrlMatDiffuse->value() /100.0f; + s_MatEmission = (float)m_pctrlMatEmission->value() /100.0f; + s_iMatShininess = m_pctrlMatShininess->value(); + + s_bCullFaces = m_pctrlCullFaces->isChecked(); + s_bColorMaterial = m_pctrlColorMaterial->isChecked(); + s_bSmooth = m_pctrlSmooth->isChecked(); + s_bShade = m_pctrlShade->isChecked(); + s_bLocalView = m_pctrlLocalView->isChecked(); + s_bDepthTest = m_pctrlDepthTest->isChecked(); + + s_Ambient = (float)m_pctrlAmbient->value() / 100.0f; + s_Diffuse = (float)m_pctrlDiffuse->value() / 100.0f; + s_Specular = (float)m_pctrlSpecular->value() / 100.0f; + + float factor = 5.0f; + s_XLight = ((float)m_pctrlXLight->value()-50.0f)/factor; + s_YLight = ((float)m_pctrlYLight->value()-50.0f)/factor; + s_ZLight = ((float)m_pctrlZLight->value())/factor; } void GLLightDlg::SetParams(void) { - m_pctrlLight->setChecked(m_bLight); - float factor = 50.0f; - m_pctrlXLight->setValue((int)((m_XLight+1.0)*factor)); - m_pctrlYLight->setValue((int)((m_YLight+1.0)*factor)); - m_pctrlZLight->setValue((int)((m_ZLight+1.0)*factor)); - - m_pctrlRed->setValue( (int)(m_Red*100.0)); - m_pctrlGreen->setValue((int)(m_Green*100.0)); - m_pctrlBlue->setValue( (int)(m_Blue*100.0)); - - m_pctrlAmbient->setValue( (int)(m_Ambient*100.0)); - m_pctrlDiffuse->setValue( (int)(m_Diffuse*100.0)); - m_pctrlSpecular->setValue( (int)(m_Specular*100.0)); - - m_pctrlMatAmbient->setValue( (int)(m_MatAmbient*100.0)); - m_pctrlMatDiffuse->setValue( (int)(m_MatDiffuse*100.0)); - m_pctrlMatSpecular->setValue( (int)(m_MatSpecular*100.0)); - m_pctrlMatEmission->setValue( (int)(m_MatEmission*100.0)); - m_pctrlMatShininess->setValue(m_iMatShininess); - - m_pctrlCullFaces->setChecked(m_bCullFaces); - m_pctrlSmooth->setChecked(m_bSmooth); - m_pctrlShade->setChecked(m_bShade); - m_pctrlLocalView->setChecked(m_bLocalView); - m_pctrlDepthTest->setChecked(m_bDepthTest); - m_pctrlColorMaterial->setChecked(m_bColorMaterial); + m_pctrlLight->setChecked(s_bLight); + float factor = 5.0f; + m_pctrlXLight->setValue((int)((s_XLight+10.0)*factor)); + m_pctrlYLight->setValue((int)((s_YLight+10.0)*factor)); + m_pctrlZLight->setValue((int)((s_ZLight)*factor)); + + m_pctrlAmbient->setValue( (int)(s_Ambient *100.0)); + m_pctrlDiffuse->setValue( (int)(s_Diffuse *100.0)); + m_pctrlSpecular->setValue( (int)(s_Specular *100.0)); + + m_pctrlRed->setValue( (int)(s_Red *100.0)); + m_pctrlGreen->setValue((int)(s_Green*100.0)); + m_pctrlBlue->setValue( (int)(s_Blue *100.0)); + + m_pctrlMatAmbient->setValue( (int)(s_MatAmbient *100.0)); + m_pctrlMatDiffuse->setValue( (int)(s_MatDiffuse *100.0)); + m_pctrlMatSpecular->setValue( (int)(s_MatSpecular*100.0)); + m_pctrlMatEmission->setValue( (int)(s_MatEmission*100.0)); + m_pctrlMatShininess->setValue(s_iMatShininess); + + m_pctrlCullFaces->setChecked(s_bCullFaces); + m_pctrlSmooth->setChecked(s_bSmooth); + m_pctrlShade->setChecked(s_bShade); + m_pctrlLocalView->setChecked(s_bLocalView); + m_pctrlDepthTest->setChecked(s_bDepthTest); + m_pctrlColorMaterial->setChecked(s_bColorMaterial); } @@ -402,57 +389,89 @@ pSettings->beginGroup("GLLight"); { // we're reading/loading - m_Ambient= pSettings->value("Ambient").toDouble(); - m_Diffuse= pSettings->value("Diffuse").toDouble(); - m_Specular= pSettings->value("Specular").toDouble(); - m_MatAmbient= pSettings->value("MatAmbient").toDouble(); - m_MatDiffuse= pSettings->value("MatDiffuse").toDouble(); - m_MatSpecular = pSettings->value("MatSpecular").toDouble(); - m_MatEmission= pSettings->value("MatEmission").toDouble(); - m_iMatShininess= pSettings->value("MatShininess").toDouble(); - m_XLight = pSettings->value("XLight").toDouble(); - m_YLight = pSettings->value("YLight").toDouble(); - m_ZLight= pSettings->value("ZLight").toDouble(); - m_Red= pSettings->value("RedLight").toDouble(); - m_Green = pSettings->value("GreenLight").toDouble(); - m_Blue= pSettings->value("BlueLight").toDouble(); - m_bCullFaces = pSettings->value("CullFaces").toBool(); - m_bSmooth = pSettings->value("Smooth").toBool(); - m_bShade = pSettings->value("Shade").toBool(); - m_bLocalView = pSettings->value("LocalView").toBool(); - m_bDepthTest = pSettings->value("DepthTest").toBool(); - m_bColorMaterial = pSettings->value("ColorMaterial").toBool(); + s_Ambient = pSettings->value("Ambient",0.18).toDouble(); + s_Diffuse = pSettings->value("Diffuse",0.26).toDouble(); + s_Specular = pSettings->value("Specular",0.05).toDouble(); + s_MatAmbient = pSettings->value("MatAmbient",-0.51).toDouble(); + s_MatDiffuse = pSettings->value("MatDiffuse",-0.43).toDouble(); + s_MatSpecular = pSettings->value("MatSpecular",-0.08).toDouble(); + s_MatEmission = pSettings->value("MatEmission",-0.04).toDouble(); + s_iMatShininess = pSettings->value("MatShininess",0).toDouble(); + s_XLight = pSettings->value("XLight", 0.56).toDouble(); + s_YLight = pSettings->value("YLight", 0.02).toDouble(); + s_ZLight = pSettings->value("ZLight", 0.68).toDouble(); + s_Red = pSettings->value("RedLight",1.0).toDouble(); + s_Green = pSettings->value("GreenLight",1.0).toDouble(); + s_Blue = pSettings->value("BlueLight",1.0).toDouble(); + s_bCullFaces = pSettings->value("CullFaces",false).toBool(); + s_bSmooth = pSettings->value("Smooth",true).toBool(); + s_bShade = pSettings->value("Shade",true).toBool(); + s_bLocalView = pSettings->value("LocalView",true).toBool(); + s_bDepthTest = pSettings->value("DepthTest",true).toBool(); + s_bColorMaterial = pSettings->value("ColorMaterial",true).toBool(); + s_bLight = pSettings->value("bLight", true).toBool(); } pSettings->endGroup(); return true; +} + +void GLLightDlg::SetDefaults(double size) +{ + s_Red = 1.0f; + s_Green = 1.0f; + s_Blue = 1.0f; + + s_Ambient = 0.18f; + s_Diffuse = 0.26f; + s_Specular = 0.05f; + + s_MatAmbient = -0.51f; + s_MatDiffuse = -0.43f; + s_MatSpecular = -0.08f; + s_MatEmission = -0.04f; + s_iMatShininess = 0; + + s_XLight = 0.56f * m_Size;//.2 + s_YLight = 0.02f * m_Size;//1.2 + s_ZLight = 5.0f * m_Size;//20 + + s_bLight = true; + s_bCullFaces = false; + s_bShade = true; + s_bSmooth = true; + s_bLocalView = true; + s_bDepthTest = true; + s_bColorMaterial = true; } + bool GLLightDlg::SaveSettings(QSettings *pSettings) { pSettings->beginGroup("GLLight"); { - pSettings->setValue("Ambient",m_Ambient); - pSettings->setValue("Diffuse",m_Diffuse); - pSettings->setValue("Specular",m_Specular); - pSettings->setValue("MatAmbient",m_MatAmbient); - pSettings->setValue("MatDiffuse",m_MatDiffuse); - pSettings->setValue("MatSpecular",m_MatSpecular ); - pSettings->setValue("MatEmission",m_MatEmission); - pSettings->setValue("MatShininess",m_iMatShininess); - pSettings->setValue("XLight",m_XLight); - pSettings->setValue("YLight",m_YLight); - pSettings->setValue("ZLight",m_ZLight); - pSettings->setValue("RedLight",m_Red); - pSettings->setValue("GreenLight",m_Green); - pSettings->setValue("BlueLight",m_Blue); - pSettings->setValue("CullFaces",m_bCullFaces); - pSettings->setValue("Smooth",m_bSmooth); - pSettings->setValue("Shade",m_bShade); - pSettings->setValue("LocalView",m_bLocalView); - pSettings->setValue("DepthTest",m_bDepthTest); - pSettings->setValue("ColorMaterial",m_bColorMaterial); + pSettings->setValue("Ambient",s_Ambient); + pSettings->setValue("Diffuse",s_Diffuse); + pSettings->setValue("Specular",s_Specular); + pSettings->setValue("MatAmbient",s_MatAmbient); + pSettings->setValue("MatDiffuse",s_MatDiffuse); + pSettings->setValue("MatSpecular",s_MatSpecular ); + pSettings->setValue("MatEmission",s_MatEmission); + pSettings->setValue("MatShininess",s_iMatShininess); + pSettings->setValue("XLight",s_XLight); + pSettings->setValue("YLight",s_YLight); + pSettings->setValue("ZLight",s_ZLight); + pSettings->setValue("RedLight",s_Red); + pSettings->setValue("GreenLight",s_Green); + pSettings->setValue("BlueLight",s_Blue); + pSettings->setValue("CullFaces",s_bCullFaces); + pSettings->setValue("Smooth",s_bSmooth); + pSettings->setValue("Shade",s_bShade); + pSettings->setValue("LocalView",s_bLocalView); + pSettings->setValue("DepthTest",s_bDepthTest); + pSettings->setValue("ColorMaterial",s_bColorMaterial); + pSettings->setValue("bLight", s_bLight); } pSettings->endGroup(); @@ -468,37 +487,37 @@ void GLLightDlg::OnLight() { - m_bLight = m_pctrlLight->isChecked(); + s_bLight = m_pctrlLight->isChecked(); SetEnabled(); } void GLLightDlg::SetEnabled() { - m_pctrlRed->setEnabled(m_bLight); - m_pctrlGreen->setEnabled(m_bLight); - m_pctrlBlue->setEnabled(m_bLight); - - m_pctrlAmbient->setEnabled(m_bLight); - m_pctrlDiffuse->setEnabled(m_bLight); - m_pctrlSpecular->setEnabled(m_bLight); - - m_pctrlMatAmbient->setEnabled(m_bLight); - m_pctrlMatSpecular->setEnabled(m_bLight); - m_pctrlMatDiffuse->setEnabled(m_bLight); - m_pctrlMatEmission->setEnabled(m_bLight); - m_pctrlMatShininess->setEnabled(m_bLight); - - m_pctrlCullFaces->setEnabled(m_bLight); - m_pctrlColorMaterial->setEnabled(m_bLight); - m_pctrlSmooth->setEnabled(m_bLight); - m_pctrlShade->setEnabled(m_bLight); - m_pctrlLocalView->setEnabled(m_bLight); - m_pctrlDepthTest->setEnabled(m_bLight); - - m_pctrlXLight->setEnabled(m_bLight); - m_pctrlYLight->setEnabled(m_bLight); - m_pctrlZLight->setEnabled(m_bLight); + m_pctrlRed->setEnabled(s_bLight); + m_pctrlGreen->setEnabled(s_bLight); + m_pctrlBlue->setEnabled(s_bLight); + + m_pctrlAmbient->setEnabled(s_bLight); + m_pctrlDiffuse->setEnabled(s_bLight); + m_pctrlSpecular->setEnabled(s_bLight); + + m_pctrlMatAmbient->setEnabled(s_bLight); + m_pctrlMatSpecular->setEnabled(s_bLight); + m_pctrlMatDiffuse->setEnabled(s_bLight); + m_pctrlMatEmission->setEnabled(s_bLight); + m_pctrlMatShininess->setEnabled(s_bLight); + + m_pctrlCullFaces->setEnabled(s_bLight); + m_pctrlColorMaterial->setEnabled(s_bLight); + m_pctrlSmooth->setEnabled(s_bLight); + m_pctrlShade->setEnabled(s_bLight); + m_pctrlLocalView->setEnabled(s_bLight); + m_pctrlDepthTest->setEnabled(s_bLight); + + m_pctrlXLight->setEnabled(s_bLight); + m_pctrlYLight->setEnabled(s_bLight); + m_pctrlZLight->setEnabled(s_bLight); } diff -Nru xflr5-6.05/src/Miarex/GLLightDlg.h xflr5-6.06/src/Miarex/GLLightDlg.h --- xflr5-6.05/src/Miarex/GLLightDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/GLLightDlg.h 2012-01-14 23:16:50.000000000 +0900 @@ -2,7 +2,7 @@ /**************************************************************************** GLLightDlg class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -35,14 +35,16 @@ Q_OBJECT friend class QMiarex; + friend class GLWidget; friend class GL3dBodyDlg; friend class GL3dWingDlg; public: - GLLightDlg(); + GLLightDlg(); void InitDialog(); void Apply(); void ReadParams(void); + void SetDefaults(double size); void SetParams(void); bool LoadSettings(QSettings *pSettings); bool SaveSettings(QSettings *pSettings); @@ -87,16 +89,18 @@ private: void *m_pGL3dBodyDlg; void *m_pGL3dWingDlg; - void *m_pMiarex; + void *m_pGLWidget; - float m_Ambient, m_Diffuse, m_Specular; - float m_MatAmbient, m_MatDiffuse, m_MatSpecular, m_MatEmission; - float m_Red, m_Green, m_Blue; - float m_XLight, m_YLight, m_ZLight; - int m_iMatShininess; - bool m_bCullFaces, m_bShade, m_bSmooth, m_bLocalView, m_bDepthTest; - bool m_bColorMaterial; - bool m_bLight; + static float s_Ambient, s_Diffuse, s_Specular; + static float s_MatAmbient, s_MatDiffuse, s_MatSpecular, s_MatEmission; + static float s_Red, s_Green, s_Blue; + static float s_XLight, s_YLight, s_ZLight; + static int s_iMatShininess; + static bool s_bCullFaces, s_bShade, s_bSmooth, s_bLocalView, s_bDepthTest; + static bool s_bColorMaterial; + static bool s_bLight; + + double m_Size; public: diff -Nru xflr5-6.05/src/Miarex/ImportWingDlg.cpp xflr5-6.06/src/Miarex/ImportWingDlg.cpp --- xflr5-6.05/src/Miarex/ImportWingDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/ImportWingDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ImportWingDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/ImportWingDlg.h xflr5-6.06/src/Miarex/ImportWingDlg.h --- xflr5-6.05/src/Miarex/ImportWingDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/ImportWingDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ImportWingDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/InertiaDlg.cpp xflr5-6.06/src/Miarex/InertiaDlg.cpp --- xflr5-6.05/src/Miarex/InertiaDlg.cpp 2011-07-06 05:13:34.000000000 +0900 +++ xflr5-6.06/src/Miarex/InertiaDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** InertiaDlg Class - Copyright (C) 2009-2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,16 +21,18 @@ //performs an automatic evaluation of the object's CoG an inertia properties -#include "../MainFrame.h" -#include "../Globals.h" -#include "InertiaDlg.h" #include <QHBoxLayout> #include <QVBoxLayout> #include <QGroupBox> #include <QHeaderView> #include <QTextStream> #include <QFileDialog> +#include <QAction> +#include <QMenu> +#include "../MainFrame.h" +#include "../Globals.h" +#include "InertiaDlg.h" void *InertiaDlg::s_pMainFrame; @@ -301,18 +303,26 @@ void InertiaDlg::InitDialog() { MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; - QString str, str1, strong; + QString strong, strMass, strLength; - GetWeightUnit(str, pMainFrame->m_WeightUnit); - m_pctrlMassUnit->setText(str); - m_pctrlMassUnit2->setText(str); - GetLengthUnit(str1, pMainFrame->m_LengthUnit); - m_pctrlLengthUnit->setText(str1); - m_pctrlLengthUnit2->setText(str1); - strong = str+"."+str1+QString::fromUtf8("²"); + GetWeightUnit(strMass, pMainFrame->m_WeightUnit); + GetLengthUnit(strLength, pMainFrame->m_LengthUnit); + + m_pctrlMassUnit->setText(strMass); + m_pctrlMassUnit2->setText(strMass); + m_pctrlLengthUnit->setText(strLength); + m_pctrlLengthUnit2->setText(strLength); + strong = strMass+"."+strLength+QString::fromUtf8("²"); m_pctrlInertiaUnit1->setText(strong); m_pctrlInertiaUnit2->setText(strong); + m_pMassModel->setHeaderData(0, Qt::Horizontal, tr("Mass") +" ("+strMass+")"); + m_pMassModel->setHeaderData(1, Qt::Horizontal, tr("x") +" ("+strLength+")"); + m_pMassModel->setHeaderData(2, Qt::Horizontal, tr("y")+" ("+strLength+")"); + m_pMassModel->setHeaderData(3, Qt::Horizontal, tr("z")+" ("+strLength+")"); + m_pMassModel->setHeaderData(4, Qt::Horizontal, tr("Description")); + + m_pctrlWingInertia->setEnabled(false); m_pctrlWing2Inertia->setEnabled(false); m_pctrlStabInertia->setEnabled(false); @@ -1013,14 +1023,6 @@ m_pMassModel->setRowCount(10);//temporary m_pMassModel->setColumnCount(5); - GetWeightUnit(strMass, pMainFrame->m_WeightUnit); - m_pMassModel->setHeaderData(0, Qt::Horizontal, tr("Mass") +" ("+strMass+")"); - GetLengthUnit(strLength, pMainFrame->m_LengthUnit); - m_pMassModel->setHeaderData(1, Qt::Horizontal, tr("x") +" ("+strLength+")"); - m_pMassModel->setHeaderData(2, Qt::Horizontal, tr("y")+" ("+strLength+")"); - m_pMassModel->setHeaderData(3, Qt::Horizontal, tr("z")+" ("+strLength+")"); - m_pMassModel->setHeaderData(4, Qt::Horizontal, tr("Description")); - m_pctrlMassView->setModel(m_pMassModel); m_pctrlMassView->setColumnWidth(0,70); m_pctrlMassView->setColumnWidth(1,55); @@ -1188,7 +1190,7 @@ dlg.m_pBody = NULL; dlg.InitDialog(); dlg.move(pos().x()+25, pos().y()+25); - dlg.exec(); + if(dlg.exec()==QDialog::Accepted) m_bChanged=true; ComputeInertia(); } @@ -1202,7 +1204,7 @@ dlg.m_pBody = NULL; dlg.InitDialog(); dlg.move(pos().x()+25, pos().y()+25); - dlg.exec(); + if(dlg.exec()==QDialog::Accepted) m_bChanged=true; ComputeInertia(); } @@ -1216,7 +1218,7 @@ dlg.m_pBody = NULL; dlg.InitDialog(); dlg.move(pos().x()+25, pos().y()+25); - dlg.exec(); + if(dlg.exec()==QDialog::Accepted) m_bChanged=true; ComputeInertia(); } @@ -1230,7 +1232,7 @@ dlg.m_pBody = NULL; dlg.InitDialog(); dlg.move(pos().x()+25, pos().y()+25); - dlg.exec(); + if(dlg.exec()==QDialog::Accepted) m_bChanged=true; ComputeInertia(); } @@ -1244,6 +1246,6 @@ dlg.m_pWing = NULL; dlg.InitDialog(); dlg.move(pos().x()+25, pos().y()+25); - dlg.exec(); + if(dlg.exec()==QDialog::Accepted) m_bChanged=true; ComputeInertia(); } diff -Nru xflr5-6.05/src/Miarex/InertiaDlg.h xflr5-6.06/src/Miarex/InertiaDlg.h --- xflr5-6.05/src/Miarex/InertiaDlg.h 2011-06-12 06:55:22.000000000 +0900 +++ xflr5-6.06/src/Miarex/InertiaDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** InertiaDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,6 +29,7 @@ #include <QPushButton> #include <QTableView> #include <QStandardItemModel> + #include "../Params.h" #include "../Misc/FloatEditDelegate.h" #include "../Misc/FloatEdit.h" diff -Nru xflr5-6.05/src/Miarex/LLTAnalysis.cpp xflr5-6.06/src/Miarex/LLTAnalysis.cpp --- xflr5-6.05/src/Miarex/LLTAnalysis.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/LLTAnalysis.cpp 2012-01-15 19:44:55.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** LLTAnalysis Class - Copyright (C) 2011 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2011 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -154,7 +154,7 @@ double ICm = 0.0; double eta, sigma; double Cm0; - double ViscCm[MAXSTATIONS+1], InducedCm[MAXSTATIONS+1]; + double ViscCm[MAXSPANSTATIONS+1], InducedCm[MAXSPANSTATIONS+1]; bool bOutRe, bError; bool bPointOutRe, bPointOutAlpha; @@ -319,8 +319,8 @@ bool LLTAnalysis::LLTSetLinearSolution(double Alpha) { - double aij[MAXSTATIONS*MAXSTATIONS];// coefficient matrix - double rhs[MAXSTATIONS+1];//right hand side + double aij[MAXSPANSTATIONS*MAXSPANSTATIONS];// coefficient matrix + double rhs[MAXSPANSTATIONS+1];//right hand side memset(aij, 0, sizeof(aij)); memset(rhs, 0, sizeof(rhs)); diff -Nru xflr5-6.05/src/Miarex/LLTAnalysis.h xflr5-6.06/src/Miarex/LLTAnalysis.h --- xflr5-6.05/src/Miarex/LLTAnalysis.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/LLTAnalysis.h 2012-01-15 19:44:55.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** LLTAnalysis Class - Copyright (C) 2011 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2011 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -71,25 +71,25 @@ int m_IterLim; - double m_Chord[MAXSTATIONS+1]; //chord at stations - double m_Offset[MAXSTATIONS+1]; //offset at LLT stations - double m_Twist[MAXSTATIONS+1]; //twist at LLT stations - double m_SpanPos[MAXSTATIONS+1]; //Span position of LLT stations - double m_StripArea[MAXSTATIONS+1]; //Local strip area at LLT stations - - - double m_Re[MAXSTATIONS+1]; - double m_Cl[MAXSTATIONS+1]; - double m_Ai[MAXSTATIONS+1]; - double m_ICd[MAXSTATIONS+1]; //Induced Drag coefficient at stations - double m_PCd[MAXSTATIONS+1]; //Viscous Drag coefficient at stations - double m_Cm[MAXSTATIONS+1]; //Total pitching moment coefficient at stations - double m_CmAirf[MAXSTATIONS+1]; //Aill part of Pitching moment coefficient at stations - double m_XCPSpanRel[MAXSTATIONS+1]; //Center of Pressure pos at stations - double m_XCPSpanAbs[MAXSTATIONS+1]; //Center of Pressure pos at stations - double m_BendingMoment[MAXSTATIONS+1]; //bending moment at stations - double m_XTrTop[MAXSTATIONS+1]; //Upper transition location at stations - double m_XTrBot[MAXSTATIONS+1]; //Lower transition location at stations + double m_Chord[MAXSPANSTATIONS+1]; //chord at stations + double m_Offset[MAXSPANSTATIONS+1]; //offset at LLT stations + double m_Twist[MAXSPANSTATIONS+1]; //twist at LLT stations + double m_SpanPos[MAXSPANSTATIONS+1]; //Span position of LLT stations + double m_StripArea[MAXSPANSTATIONS+1]; //Local strip area at LLT stations + + + double m_Re[MAXSPANSTATIONS+1]; + double m_Cl[MAXSPANSTATIONS+1]; + double m_Ai[MAXSPANSTATIONS+1]; + double m_ICd[MAXSPANSTATIONS+1]; //Induced Drag coefficient at stations + double m_PCd[MAXSPANSTATIONS+1]; //Viscous Drag coefficient at stations + double m_Cm[MAXSPANSTATIONS+1]; //Total pitching moment coefficient at stations + double m_CmAirf[MAXSPANSTATIONS+1]; //Aill part of Pitching moment coefficient at stations + double m_XCPSpanRel[MAXSPANSTATIONS+1]; //Center of Pressure pos at stations + double m_XCPSpanAbs[MAXSPANSTATIONS+1]; //Center of Pressure pos at stations + double m_BendingMoment[MAXSPANSTATIONS+1]; //bending moment at stations + double m_XTrTop[MAXSPANSTATIONS+1]; //Upper transition location at stations + double m_XTrBot[MAXSPANSTATIONS+1]; //Lower transition location at stations double m_mtoUnit; QString m_LengthUnit; diff -Nru xflr5-6.05/src/Miarex/LLTAnalysisDlg.cpp xflr5-6.06/src/Miarex/LLTAnalysisDlg.cpp --- xflr5-6.05/src/Miarex/LLTAnalysisDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/LLTAnalysisDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** LLTAnalysisDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,8 +19,14 @@ *****************************************************************************/ -#include <QtGui> #include <math.h> +#include <QApplication> +#include <QDir> +#include <QDateTime> +#include <QDesktopWidget> +#include <QVBoxLayout> +#include <QHBoxLayout> + #include "LLTAnalysisDlg.h" #include "Miarex.h" #include "../MainFrame.h" diff -Nru xflr5-6.05/src/Miarex/LLTAnalysisDlg.h xflr5-6.06/src/Miarex/LLTAnalysisDlg.h --- xflr5-6.05/src/Miarex/LLTAnalysisDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/LLTAnalysisDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** LLTAnalysisDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/ManageBodiesDlg.cpp xflr5-6.06/src/Miarex/ManageBodiesDlg.cpp --- xflr5-6.05/src/Miarex/ManageBodiesDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/ManageBodiesDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ManageBodiesDlg Classes - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/ManageBodiesDlg.h xflr5-6.06/src/Miarex/ManageBodiesDlg.h --- xflr5-6.05/src/Miarex/ManageBodiesDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/ManageBodiesDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ManageBodiesDlg Classes - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/ManageUFOsDlg.cpp xflr5-6.06/src/Miarex/ManageUFOsDlg.cpp --- xflr5-6.05/src/Miarex/ManageUFOsDlg.cpp 2011-06-12 06:55:22.000000000 +0900 +++ xflr5-6.06/src/Miarex/ManageUFOsDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ManageUFOsDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/ManageUFOsDlg.h xflr5-6.06/src/Miarex/ManageUFOsDlg.h --- xflr5-6.05/src/Miarex/ManageUFOsDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/ManageUFOsDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ManageUFOsDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/Miarex.cpp xflr5-6.06/src/Miarex/Miarex.cpp --- xflr5-6.05/src/Miarex/Miarex.cpp 2011-07-25 02:43:09.000000000 +0900 +++ xflr5-6.06/src/Miarex/Miarex.cpp 2012-01-28 07:05:11.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Miarex - Copyright (C) 2008-2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008-2012 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,6 +24,7 @@ // It dispatches user commands towards object definition, analysis and post-processing // + #include <QGLWidget> #include <QAction> #include "Miarex.h" @@ -33,7 +34,6 @@ #include "../Globals.h" #include <math.h> - void *QMiarex::s_pMainFrame; void *QMiarex::s_p2DWidget; void *QMiarex::s_pGLWidget; @@ -400,7 +400,7 @@ m_bTransGraph = true; m_bFoilNames = false; m_bShowMasses = false; - m_bPanelForce = false; + m_bPanelForce = false; m_bLongitudinal = true; m_bCurWOppOnly = true; m_bStoreWOpp = true; @@ -428,6 +428,8 @@ m_bResetglWake = true; m_bResetglLegend = true; m_bResetglFlow = true; + m_bResetglPanelForce = true; + m_bResetglPanelCp = true; m_bArcball = false; m_bStream = false; @@ -487,6 +489,8 @@ GL3dWingDlg::s_pGLLightDlg = &m_GLLightDlg; GL3dBodyDlg::s_pGLLightDlg = &m_GLLightDlg; +// QEvent event(QEvent::Resize); +// QApplication::sendEvent(&m_WingDlg, &event); SetupLayout(); // m_pctrlHalfWing->setChecked(m_bHalfWing); @@ -710,7 +714,7 @@ pPOpp->m_Color = pMainFrame->GetColor(6); bool bFound; - for(i=0; i<30;i++) + for(i=0; i<MAXCOLORS;i++) { bFound = false; for (j=0; j<m_poaWOpp->size();j++) @@ -758,7 +762,7 @@ } - pWOpp->m_MaxBending = Cb; + pWOpp->m_MaxBending = (float)Cb; if(m_pCurWPolar->m_AnalysisMethod==VLMMETHOD) { @@ -870,19 +874,22 @@ } - pPOpp->m_PlaneWOpp[1].m_Alpha = pPOpp->m_Alpha; - pPOpp->m_PlaneWOpp[2].m_Alpha = pPOpp->m_Alpha; - pPOpp->m_PlaneWOpp[3].m_Alpha = pPOpp->m_Alpha; - pPOpp->m_PlaneWOpp[1].m_QInf = pPOpp->m_QInf; - pPOpp->m_PlaneWOpp[2].m_QInf = pPOpp->m_QInf; - pPOpp->m_PlaneWOpp[3].m_QInf = pPOpp->m_QInf; - - if(Cp) memcpy(pPOpp->m_Cp, Cp, sizeof(pPOpp->m_Cp)); - - if(Gamma) memcpy(pPOpp->m_G, Gamma, sizeof(pPOpp->m_G)); + for(int iw=0;iw<MAXWINGS; iw++) + { + pPOpp->m_PlaneWOpp[iw].m_Alpha = pPOpp->m_Alpha; + pPOpp->m_PlaneWOpp[iw].m_QInf = pPOpp->m_QInf; + } - if(Sigma) memcpy(pPOpp->m_Sigma, Sigma, sizeof(pPOpp->m_G)); + for(int ip=0; ip<pPOpp->m_NPanels; ip++) + { +// if(Cp) memcpy(pPOpp->m_Cp, Cp, sizeof(pPOpp->m_Cp)); +// if(Gamma) memcpy(pPOpp->m_G, Gamma, sizeof(pPOpp->m_G)); +// if(Sigma) memcpy(pPOpp->m_Sigma, Sigma, sizeof(pPOpp->m_G)); + pPOpp->m_Cp[ip] = (float)Cp[ip]; + if(Gamma) pPOpp->m_G[ip] = (float)Gamma[ip]; + if(Sigma) pPOpp->m_Sigma[ip] = (float)Sigma[ip]; + } p = 0; @@ -890,7 +897,13 @@ { if(m_pWingList[iw]) { - memcpy(pPOpp->m_PlaneWOpp[iw].m_Cp, pPOpp->m_Cp+p, m_pWingList[iw]->m_MatSize*sizeof(double)); +// memcpy(pPOpp->m_PlaneWOpp[iw].m_Cp, pPOpp->m_Cp+p, m_pWingList[iw]->m_MatSize*sizeof(float)); + for(int ip=0; ip<m_pWingList[iw]->m_MatSize;ip++) + { + pPOpp->m_PlaneWOpp[iw].m_Cp[ip] = (float)Cp[ip+p]; + pPOpp->m_PlaneWOpp[iw].m_G[ip] = (float)Gamma[ip+p]; + pPOpp->m_PlaneWOpp[iw].m_Sigma[ip] = (float)Sigma[ip+p]; + } p+=m_pWingList[iw]->m_MatSize; } } @@ -912,7 +925,7 @@ { if (pPOpp->m_PlrName == pOldPOpp->m_PlrName) { - if(pPOpp->m_Type <3 || pPOpp->m_Type==5 || pPOpp->m_Type==6) + if(pPOpp->m_Type <3) { if(fabs(pPOpp->m_Alpha - pOldPOpp->m_Alpha)<0.005) { @@ -976,18 +989,18 @@ if (!bIsInserted) m_poaPOpp->append(pPOpp); - pPOpp->m_PlaneWOpp[0].m_Color = pPOpp->m_Color; + pPOpp->m_PlaneWOpp[0].m_Color = pPOpp->m_Color; pPOpp->m_PlaneWOpp[1].m_Color = pPOpp->m_Color; - pPOpp->m_PlaneWOpp[2].m_Color = pPOpp->m_Color; - pPOpp->m_PlaneWOpp[3].m_Color = pPOpp->m_Color; - pPOpp->m_PlaneWOpp[0].m_Style = pPOpp->m_Style; + pPOpp->m_PlaneWOpp[2].m_Color = pPOpp->m_Color; + pPOpp->m_PlaneWOpp[3].m_Color = pPOpp->m_Color; + pPOpp->m_PlaneWOpp[0].m_Style = pPOpp->m_Style; pPOpp->m_PlaneWOpp[1].m_Style = pPOpp->m_Style; - pPOpp->m_PlaneWOpp[2].m_Style = pPOpp->m_Style; - pPOpp->m_PlaneWOpp[3].m_Style = pPOpp->m_Style; - pPOpp->m_PlaneWOpp[0].m_Width = pPOpp->m_Width; + pPOpp->m_PlaneWOpp[2].m_Style = pPOpp->m_Style; + pPOpp->m_PlaneWOpp[3].m_Style = pPOpp->m_Style; + pPOpp->m_PlaneWOpp[0].m_Width = pPOpp->m_Width; pPOpp->m_PlaneWOpp[1].m_Width = pPOpp->m_Width; - pPOpp->m_PlaneWOpp[2].m_Width = pPOpp->m_Width; - pPOpp->m_PlaneWOpp[3].m_Width = pPOpp->m_Width; + pPOpp->m_PlaneWOpp[2].m_Width = pPOpp->m_Width; + pPOpp->m_PlaneWOpp[3].m_Width = pPOpp->m_Width; // m_pCurPOpp = pPOpp; // m_pCurWOpp = &m_pCurPOpp->m_PlaneWOpp[0]; } @@ -1107,7 +1120,7 @@ //load WOpp with data pNewPoint->m_Color = pMainFrame->GetColor(5); bool bFound; - for(i=0; i<30;i++) + for(i=0; i<MAXCOLORS;i++) { bFound = false; for (j=0; j<m_poaWOpp->size();j++) @@ -1170,22 +1183,22 @@ for (l=1; l<m_pCurWing->m_NStation; l++) { - pNewPoint->m_SpanPos[l] = -m_pLLTDlg->m_LLT.m_SpanPos[l]; - pNewPoint->m_StripArea[l] = m_pLLTDlg->m_LLT.m_StripArea[l]; - pNewPoint->m_Ai[l] = m_pLLTDlg->m_LLT.m_Ai[m_NStation-l]; - pNewPoint->m_Cl[l] = m_pLLTDlg->m_LLT.m_Cl[m_NStation-l]; - pNewPoint->m_PCd[l] = m_pLLTDlg->m_LLT.m_PCd[m_NStation-l]; - pNewPoint->m_ICd[l] = m_pLLTDlg->m_LLT.m_ICd[m_NStation-l]; - pNewPoint->m_Cm[l] = m_pLLTDlg->m_LLT.m_Cm[m_NStation-l]; - pNewPoint->m_CmAirf[l] = m_pLLTDlg->m_LLT.m_CmAirf[m_NStation-l]; - pNewPoint->m_XCPSpanRel[l] = m_pLLTDlg->m_LLT.m_XCPSpanRel[m_NStation-l]; - pNewPoint->m_XCPSpanAbs[l] = m_pLLTDlg->m_LLT.m_XCPSpanAbs[m_NStation-l]; - pNewPoint->m_Re[l] = m_pLLTDlg->m_LLT.m_Re[m_NStation-l]; - pNewPoint->m_Chord[l] = m_pLLTDlg->m_LLT.m_Chord[m_NStation-l]; - pNewPoint->m_Twist[l] = m_pLLTDlg->m_LLT.m_Twist[m_NStation-l]; - pNewPoint->m_XTrTop[l] = m_pLLTDlg->m_LLT.m_XTrTop[m_NStation-l]; - pNewPoint->m_XTrBot[l] = m_pLLTDlg->m_LLT.m_XTrBot[m_NStation-l]; - pNewPoint->m_BendingMoment[l] = m_pLLTDlg->m_LLT.m_BendingMoment[m_NStation-l]; + pNewPoint->m_SpanPos[l] = -(float)m_pLLTDlg->m_LLT.m_SpanPos[l]; + pNewPoint->m_StripArea[l] = (float)m_pLLTDlg->m_LLT.m_StripArea[l]; + pNewPoint->m_Ai[l] = (float)m_pLLTDlg->m_LLT.m_Ai[m_NStation-l]; + pNewPoint->m_Cl[l] = (float)m_pLLTDlg->m_LLT.m_Cl[m_NStation-l]; + pNewPoint->m_PCd[l] = (float)m_pLLTDlg->m_LLT.m_PCd[m_NStation-l]; + pNewPoint->m_ICd[l] = (float)m_pLLTDlg->m_LLT.m_ICd[m_NStation-l]; + pNewPoint->m_Cm[l] = (float)m_pLLTDlg->m_LLT.m_Cm[m_NStation-l]; + pNewPoint->m_CmAirf[l] = (float)m_pLLTDlg->m_LLT.m_CmAirf[m_NStation-l]; + pNewPoint->m_XCPSpanRel[l] = (float)m_pLLTDlg->m_LLT.m_XCPSpanRel[m_NStation-l]; + pNewPoint->m_XCPSpanAbs[l] = (float)m_pLLTDlg->m_LLT.m_XCPSpanAbs[m_NStation-l]; + pNewPoint->m_Re[l] = (float)m_pLLTDlg->m_LLT.m_Re[m_NStation-l]; + pNewPoint->m_Chord[l] = (float)m_pLLTDlg->m_LLT.m_Chord[m_NStation-l]; + pNewPoint->m_Twist[l] = (float)m_pLLTDlg->m_LLT.m_Twist[m_NStation-l]; + pNewPoint->m_XTrTop[l] = (float)m_pLLTDlg->m_LLT.m_XTrTop[m_NStation-l]; + pNewPoint->m_XTrBot[l] = (float)m_pLLTDlg->m_LLT.m_XTrBot[m_NStation-l]; + pNewPoint->m_BendingMoment[l] = (float)m_pLLTDlg->m_LLT.m_BendingMoment[m_NStation-l]; memset(pNewPoint->m_Cp, 0, sizeof(pNewPoint->m_Cp)); if(fabs(m_pLLTDlg->m_LLT.m_BendingMoment[l])>fabs(Cb)) Cb = m_pLLTDlg->m_LLT.m_BendingMoment[l]; } @@ -1224,30 +1237,36 @@ for (l=0; l<m_pCurWing->m_NStation; l++) { - pNewPoint->m_SpanPos[l] = m_pCurWing->m_SpanPos[l]; - pNewPoint->m_StripArea[l] = m_pCurWing->m_StripArea[l]; + pNewPoint->m_Ai[l] = (float)m_pCurWing->m_Ai[l]; + pNewPoint->m_SpanPos[l] = (float)m_pCurWing->m_SpanPos[l]; + pNewPoint->m_StripArea[l] = (float)m_pCurWing->m_StripArea[l]; + pNewPoint->m_Re[l] = (float)m_pCurWing->m_Re[l]; + pNewPoint->m_Cl[l] = (float)m_pCurWing->m_Cl[l]; + pNewPoint->m_ICd[l] = (float)m_pCurWing->m_ICd[l]; + pNewPoint->m_PCd[l] = (float)m_pCurWing->m_PCd[l]; + pNewPoint->m_Cm[l] = (float)m_pCurWing->m_Cm[l]; + pNewPoint->m_CmAirf[l] = (float)m_pCurWing->m_CmAirf[l]; + pNewPoint->m_XCPSpanRel[l] = (float)m_pCurWing->m_XCPSpanRel[l]; + pNewPoint->m_XCPSpanAbs[l] = (float)m_pCurWing->m_XCPSpanAbs[l]; + pNewPoint->m_Chord[l] = (float)m_pCurWing->m_Chord[l]; + pNewPoint->m_Twist[l] = (float)m_pCurWing->m_Twist[l]; + pNewPoint->m_XTrTop[l] = (float)m_pCurWing->m_XTrTop[l]; + pNewPoint->m_XTrBot[l] = (float)m_pCurWing->m_XTrBot[l]; + pNewPoint->m_BendingMoment[l] = (float)m_pCurWing->m_BendingMoment[l]; + if(fabs(m_pCurWing->m_BendingMoment[l])>fabs(Cb)) Cb = m_pCurWing->m_BendingMoment[l]; } - memcpy(pNewPoint->m_Cl, m_pCurWing->m_Cl, sizeof(m_pCurWing->m_Cl)); - memcpy(pNewPoint->m_PCd, m_pCurWing->m_PCd, sizeof(m_pCurWing->m_PCd)); - memcpy(pNewPoint->m_Cm, m_pCurWing->m_Cm, sizeof(m_pCurWing->m_Cm)); - memcpy(pNewPoint->m_CmAirf, m_pCurWing->m_CmAirf, sizeof(m_pCurWing->m_CmAirf)); - memcpy(pNewPoint->m_XCPSpanRel, m_pCurWing->m_XCPSpanRel, sizeof(m_pCurWing->m_XCPSpanRel)); - memcpy(pNewPoint->m_XCPSpanAbs, m_pCurWing->m_XCPSpanAbs, sizeof(m_pCurWing->m_XCPSpanAbs)); - memcpy(pNewPoint->m_Re, m_pCurWing->m_Re, sizeof(m_pCurWing->m_Re)); - memcpy(pNewPoint->m_Chord, m_pCurWing->m_Chord, sizeof(m_pCurWing->m_Chord)); - memcpy(pNewPoint->m_Twist, m_pCurWing->m_Twist, sizeof(m_pCurWing->m_Twist)); - memcpy(pNewPoint->m_XTrTop, m_pCurWing->m_XTrTop, sizeof(m_pCurWing->m_XTrTop)); - memcpy(pNewPoint->m_XTrBot, m_pCurWing->m_XTrBot, sizeof(m_pCurWing->m_XTrBot)); - memcpy(pNewPoint->m_BendingMoment, m_pCurWing->m_BendingMoment, sizeof(m_pCurWing->m_BendingMoment)); - memcpy(pNewPoint->m_ICd, m_pCurWing->m_ICd, sizeof(pNewPoint->m_ICd)); + memcpy(pNewPoint->m_Vd, m_pCurWing->m_Vd, sizeof(pNewPoint->m_Vd)); memcpy(pNewPoint->m_F, m_pCurWing->m_F, sizeof(pNewPoint->m_F)); - memcpy(pNewPoint->m_Ai, m_pCurWing->m_Ai, sizeof(pNewPoint->m_Ai)); - memcpy(pNewPoint->m_Cp, Cp, sizeof(pNewPoint->m_Cp)); - memcpy(pNewPoint->m_G, Gamma, sizeof(pNewPoint->m_G)); - memcpy(pNewPoint->m_Sigma, Sigma, sizeof(pNewPoint->m_G)); + for(int ip=0; ip<m_pCurWing->m_MatSize; ip++) + { + pNewPoint->m_Cp[ip] = (float)Cp[ip]; + pNewPoint->m_G[ip] = (float)Gamma[ip]; + pNewPoint->m_Sigma[ip] = (float)Sigma[ip]; + } + if(m_pCurWPolar->m_bWakeRollUp) { @@ -1320,7 +1339,7 @@ memcpy(pNewPoint->m_BLat , m_pPanelDlg->m_BLat, MAXCONTROLS * 4*sizeof(double)); } - pNewPoint->m_MaxBending = Cb; + pNewPoint->m_MaxBending = (float)Cb; } //add the data to the polar object @@ -1502,7 +1521,6 @@ // depending on the currently selected objects // MainFrame* pMainFrame = (MainFrame*)s_pMainFrame; - QString str_translation; if(pMainFrame->m_UFOType=="Plane") str_translation=tr("Current Plane"); else if(pMainFrame->m_UFOType=="Wing") str_translation=tr("Current Wing"); @@ -1617,7 +1635,7 @@ m_pctrlLift->setEnabled((m_iView==WOPPVIEW||m_iView==W3DVIEW) && m_pCurWOpp); m_pctrlTrans->setEnabled((m_iView==WOPPVIEW||m_iView==W3DVIEW) && m_pCurWOpp); - m_pctrlWOppAnimate->setEnabled((m_iView==WOPPVIEW||m_iView==W3DVIEW) && m_pCurWOpp); + m_pctrlWOppAnimate->setEnabled((m_iView==WOPPVIEW||m_iView==W3DVIEW) && m_pCurWOpp && m_pCurWPolar->m_Type!=STABILITYPOLAR); m_pctrlAnimateWOppSpeed->setEnabled((m_iView==WOPPVIEW||m_iView==W3DVIEW) && m_pCurWOpp); m_pctrlIDrag->setEnabled(m_iView==W3DVIEW && m_pCurWOpp); m_pctrlVDrag->setEnabled(m_iView==W3DVIEW && m_pCurWOpp); @@ -1651,31 +1669,28 @@ pMainFrame->W3DScalesAct->setChecked(pMainFrame->m_pctrl3DScalesWidget->isVisible()); + m_pctrlOutline->setChecked(m_bOutline); + m_pctrlPanels->setChecked(m_bVLMPanels); + m_pctrlAxes->setChecked(m_bAxes); + m_pctrlCp->setChecked(m_b3DCp); + m_pctrlPanelForce->setChecked(m_bPanelForce); + m_pctrlDownwash->setChecked(m_bDownwash); + m_pctrlMoment->setChecked(m_bMoments); + m_pctrlTrans->setChecked(m_bXTop); + m_pctrlLift->setChecked(m_bXCP); + m_pctrlIDrag->setChecked(m_bICd); + m_pctrlVDrag->setChecked(m_bVCd); + m_pctrlAxes->setChecked(m_bAxes); + m_pctrlLight->setChecked(m_bglLight); + m_pctrlSurfaces->setChecked(m_bSurfaces); + m_pctrlOutline->setChecked(m_bOutline); + m_pctrlStream->setChecked(m_bStream); + m_pctrlClipPlanePos->setValue((int)(m_ClipPlanePos*100.0)); + SetCurveParams(); } -void QMiarex::ClientToGL(QPoint const &point, CVector &real) -{ - // - // In input, takes the 2D point in screen client area coordinates - // In output, returns the 2D OpenGL point - // - static double h2, w2; - h2 = (double)m_r3DCltRect.height() /2.0; - w2 = (double)m_r3DCltRect.width() /2.0; - - if(w2>h2) - { - real.x = ((double)point.x() - w2) / w2; - real.y = -((double)point.y() - h2) / w2; - } - else - { - real.x = ((double)point.x() - w2) / h2; - real.y = -((double)point.y() - h2) / h2; - } -} void QMiarex::CreateCpCurves() @@ -1706,12 +1721,7 @@ } int coef = 2; - bool b2Sides = true; - if(m_pCurWPolar->m_bThinSurfaces) - { - b2Sides = false; - coef = 1; - } + if(m_pCurWPolar->m_bThinSurfaces) coef = 1; m_CurSpanPos = qMax(-1.0, m_CurSpanPos); m_CurSpanPos = qMin( 1.0, m_CurSpanPos); @@ -2150,7 +2160,7 @@ } -int QMiarex::CreateElements(CSurface *pSurface) +int QMiarex::CreateWingElements(CSurface *pSurface) { // // Creates the panel elements that will be used either by the VLM or the Panel method. @@ -2716,35 +2726,35 @@ pWOpp->m_XCP = pWing->m_XCP; pWOpp->m_YCP = pWing->m_YCP; - memcpy(pWOpp->m_Ai, pWing->m_Ai, sizeof(pWing->m_Ai)); - memcpy(pWOpp->m_Cl, pWing->m_Cl, sizeof(pWing->m_Cl)); - memcpy(pWOpp->m_PCd, pWing->m_PCd, sizeof(pWing->m_PCd)); - memcpy(pWOpp->m_ICd, pWing->m_ICd, sizeof(pWing->m_ICd)); - memcpy(pWOpp->m_Cm, pWing->m_Cm, sizeof(pWing->m_Cm)); - memcpy(pWOpp->m_CmAirf, pWing->m_CmAirf, sizeof(pWing->m_CmAirf)); - memcpy(pWOpp->m_XCPSpanRel, pWing->m_XCPSpanRel, sizeof(pWing->m_XCPSpanRel)); - memcpy(pWOpp->m_XCPSpanAbs, pWing->m_XCPSpanAbs, sizeof(pWing->m_XCPSpanAbs)); - memcpy(pWOpp->m_Re, pWing->m_Re, sizeof(pWing->m_Re)); - memcpy(pWOpp->m_Chord, pWing->m_Chord, sizeof(pWing->m_Chord)); - memcpy(pWOpp->m_Twist, pWing->m_Twist, sizeof(pWing->m_Twist)); - memcpy(pWOpp->m_XTrTop, pWing->m_XTrTop, sizeof(pWing->m_XTrTop)); - memcpy(pWOpp->m_XTrBot, pWing->m_XTrBot, sizeof(pWing->m_XTrBot)); - memcpy(pWOpp->m_BendingMoment, pWing->m_BendingMoment, sizeof(pWing->m_BendingMoment)); - memcpy(pWOpp->m_Vd, pWing->m_Vd, sizeof(pWOpp->m_Vd)); - memcpy(pWOpp->m_F, pWing->m_F, sizeof(pWOpp->m_F)); - double Cb =0.0; - for (int l=0; l<pWing->m_NStation; l++) + for(int l=0; l<pWing->m_NStation; l++) { + pWOpp->m_Ai[l] = (float)pWing->m_Ai[l]; + pWOpp->m_Cl[l] = (float)pWing->m_Cl[l]; + pWOpp->m_PCd[l] = (float)pWing->m_PCd[l]; + pWOpp->m_ICd[l] = (float)pWing->m_ICd[l]; + pWOpp->m_Cm[l] = (float)pWing->m_Cm[l]; + pWOpp->m_CmAirf[l] = (float)pWing->m_CmAirf[l]; + pWOpp->m_XCPSpanRel[l] = (float)pWing->m_XCPSpanRel[l]; + pWOpp->m_XCPSpanAbs[l] = (float)pWing->m_XCPSpanAbs[l]; + pWOpp->m_Re[l] = (float)pWing->m_Re[l]; + pWOpp->m_Chord[l] = (float)pWing->m_Chord[l]; + pWOpp->m_Twist[l] = (float)pWing->m_Twist[l]; + pWOpp->m_XTrTop[l] = (float)pWing->m_XTrTop[l]; + pWOpp->m_XTrBot[l] = (float)pWing->m_XTrBot[l]; + pWOpp->m_BendingMoment[l] = (float)pWing->m_BendingMoment[l]; + pWOpp->m_Vd[l] = pWing->m_Vd[l]; + pWOpp->m_F[l] = pWing->m_F[l]; + pWOpp->m_SpanPos[l] = pWing->m_SpanPos[l]; pWOpp->m_StripArea[l] = pWing->m_StripArea[l]; Cb = qMax(Cb, pWing->m_BendingMoment[l]); } - pWOpp->m_MaxBending = Cb; + pWOpp->m_MaxBending = (float)Cb; } -#define MAXGRAPHS 4 + void QMiarex::CreateWOppCurves() { // @@ -2759,7 +2769,7 @@ QString str; int i,k; - for(int ig=0; ig<4; ig++) m_WingGraph[ig].DeleteCurves(); + for(int ig=0; ig<MAXGRAPHS; ig++) m_WingGraph[ig].DeleteCurves(); // Browse through the array of wing operating points // add a curve for those selected, and fill them with data @@ -3972,8 +3982,8 @@ else if(m_iView==WSTABVIEW) CreateStabilityCurves(); else if(m_iView==WOPPVIEW) CreateWOppCurves(); else if(m_iView==WCPVIEW) CreateCpCurves(); - } + SetUFO(); pMainFrame->UpdateUFOs(); m_bIs2DScaleSet = false; @@ -4276,22 +4286,23 @@ if((YVar==14 || YVar==17 || YVar==18) && y<0) bAdd = false; //Set user units - if(XVar==15 || XVar==16) x *= pMainFrame->m_NtoUnit; //force - if(YVar==15 || YVar==16) y *= pMainFrame->m_NtoUnit; //force - if(XVar==17 || XVar==18 || XVar==19) x *= pMainFrame->m_mstoUnit;//speed - if(YVar==17 || YVar==18 || YVar==19) y *= pMainFrame->m_mstoUnit;//speed - - if(XVar==21 || XVar==22 || XVar==23) x *= pMainFrame->m_NmtoUnit;//moment - if(YVar==21 || YVar==22 || YVar==23) y *= pMainFrame->m_NmtoUnit;//moment + if(XVar==15 || XVar==16 || XVar==17) x *= pMainFrame->m_NtoUnit; //force + if(YVar==15 || YVar==16 || YVar==17) y *= pMainFrame->m_NtoUnit; //force + + if(XVar==18 || XVar==19 || XVar==20) x *= pMainFrame->m_mstoUnit;//speed + if(YVar==18 || YVar==19 || YVar==20) y *= pMainFrame->m_mstoUnit;//speed + + if(XVar==22 || XVar==23 || XVar==24) x *= pMainFrame->m_NmtoUnit;//moment + if(YVar==22 || YVar==23 || YVar==24) y *= pMainFrame->m_NmtoUnit;//moment - if(XVar==24 || XVar==25) x *= pMainFrame->m_mtoUnit;//force - if(YVar==24 || YVar==25) y *= pMainFrame->m_mtoUnit;//force + if(XVar==25 || XVar==26) x *= pMainFrame->m_mtoUnit;//force + if(YVar==25 || YVar==26) y *= pMainFrame->m_mtoUnit;//force - if(XVar==26) x *= pMainFrame->m_NmtoUnit;//moment - if(YVar==26) y *= pMainFrame->m_NmtoUnit;//moment + if(XVar==27) x *= pMainFrame->m_NmtoUnit;//moment + if(YVar==27) y *= pMainFrame->m_NmtoUnit;//moment - if(XVar==32) x *= pMainFrame->m_mtoUnit;//length - if(YVar==32) y *= pMainFrame->m_mtoUnit;//length + if(XVar==33) x *= pMainFrame->m_mtoUnit;//length + if(YVar==33) y *= pMainFrame->m_mtoUnit;//length if(bAdd) @@ -4520,28 +4531,6 @@ } - -void QMiarex::GLToClient(CVector const &real, QPoint &point) -{ - // - //converts an opengl 2D vector to screen client coordinates - // - if(!s_pGLWidget) return; - static double dx, dy, h2, w2; - - GLWidget *pGLWidget = (GLWidget*)s_pGLWidget; - h2 = pGLWidget->m_GLViewRect.height() /2.0; - w2 = pGLWidget->m_GLViewRect.width() /2.0; - - dx = real.x + w2; - dy = -real.y + h2; - - point.setX((int)(dx * m_r3DCltRect.width())); - point.setY((int)(dy * m_r3DCltRect.height())); -} - - - void QMiarex::GLCallViewLists() { // @@ -4610,7 +4599,7 @@ if(m_pWingList[iw]) glCallList(WINGOUTLINE+iw); if(m_pCurPlane) glTranslated((m_pCurPlane)->BodyPos().x, 0.0, (m_pCurPlane)->BodyPos().z); - if(m_pCurBody) glCallList(BODYGEOM); + if(m_pCurBody) glCallList(BODYGEOM); if(m_pCurPlane) glTranslated(-(m_pCurPlane)->BodyPos().x, 0.0, -(m_pCurPlane)->BodyPos().z); } @@ -4629,7 +4618,10 @@ { for(int iw=0; iw<MAXWINGS; iw++) { - if(m_pWingList[iw]) glCallList(WINGSURFACES+iw); + if(m_pWingList[iw]) + { + glCallList(WINGSURFACES+iw); + } } if(m_pCurBody) @@ -4668,96 +4660,10 @@ } - -void QMiarex::GLDrawAxes() -{ - // - // Draws the axis in the OpenGL view - // - - MainFrame * pMainFrame =(MainFrame*)s_pMainFrame; - double l = .8; -// if(m_pCurWing) l=1.1*m_pCurwing->m_PlanformSpan/2.0; - GLWidget *pGLWidget = (GLWidget*)s_pGLWidget; - glPolygonMode(GL_FRONT,GL_LINE); - glLineWidth((GLfloat)(m_3DAxisWidth)); - - glColor3d(m_3DAxisColor.redF(),m_3DAxisColor.greenF(),m_3DAxisColor.blueF()); - - glEnable (GL_LINE_STIPPLE); - if(m_3DAxisStyle == 1) glLineStipple (1, 0x1111); - else if(m_3DAxisStyle== 2) glLineStipple (1, 0x0F0F); - else if(m_3DAxisStyle== 3) glLineStipple (1, 0x1C47); - else glLineStipple (1, 0xFFFF);// Solid - - // X axis____________ - glBegin(GL_LINES); - glVertex3d(-.8, 0.0, 0.0); - glVertex3d( .8, 0.0, 0.0); - glEnd(); - //Arrow - glBegin(GL_LINES); - glVertex3d( 1.0*l, 0.0, 0.0); - glVertex3d( 0.98*l, 0.015*l, 0.015*l); - glEnd(); - glBegin(GL_LINES); - glVertex3d( 1.0*l, 0.0, 0.0); - glVertex3d( 0.98*l,-0.015*l,-0.015*l); - glEnd(); - glDisable (GL_LINE_STIPPLE); - //XLabel - pGLWidget->renderText( l, 0.0, 0.0, "X", pMainFrame->m_TextFont); - - - // Y axis____________ - glEnable (GL_LINE_STIPPLE); - glBegin(GL_LINES); - glVertex3d(0.0, -l, 0.0); - glVertex3d(0.0, l, 0.0); - glEnd(); - - //Arrow - glBegin(GL_LINES); - glVertex3d( 0.0, 1.0*l, 0.0); - glVertex3d( 0.015*l, 0.98*l, 0.015*l); - glEnd(); - glBegin(GL_LINES); - glVertex3d( 0.0, 1.0*l, 0.0); - glVertex3d(-0.015*l, 0.98*l,-0.015*l); - glEnd(); - glDisable (GL_LINE_STIPPLE); - //Y Label - pGLWidget->renderText( 0.0, l, 0.0, "Y", pMainFrame->m_TextFont); - - - // Z axis____________ - glEnable (GL_LINE_STIPPLE); - glBegin(GL_LINES); - glVertex3d(0.0, 0.0, -l); - glVertex3d(0.0, 0.0, l); - glEnd(); - - //Arrow - glBegin(GL_LINES); - glVertex3d( 0.0, 0.0, 1.0*l); - glVertex3d( 0.015*l, 0.015*l, 0.98*l); - glEnd(); - glBegin(GL_LINES); - glVertex3d( 0.0, 0.0, 1.0*l); - glVertex3d(-0.015*l, -0.015*l, 0.98*l); - glEnd(); - glDisable (GL_LINE_STIPPLE); - //ZLabel - pGLWidget->renderText( 0.0, 0.0, l, "Z", pMainFrame->m_TextFont); - - glDisable (GL_LINE_STIPPLE); -} - - void QMiarex::GLDraw3D() { // - // creates the OPenGL lists for 3D display + // creates the OpenGL lists for 3D display // if (!m_pCurWing) { @@ -4766,23 +4672,26 @@ m_bResetglOpp = true; } - MainFrame * pMainFrame =(MainFrame*)s_pMainFrame; + QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); + MainFrame * pMainFrame =(MainFrame*)s_pMainFrame; + GLWidget *pGLWidget = (GLWidget*)s_pGLWidget; glClearColor(pMainFrame->m_BackgroundColor.redF(), pMainFrame->m_BackgroundColor.greenF(), pMainFrame->m_BackgroundColor.blueF(),0.0); - if(m_bResetglBody && m_pCurBody) + if(!glIsList(ARCBALL)) { - m_ArcBall.GetMatrix(); - CVector eye(0.0,0.0,1.0); - CVector up(0.0,1.0,0.0); - m_ArcBall.SetZoom(0.3,eye,up); + pGLWidget->CreateArcballList(m_ArcBall, m_GLScale); + m_GLList++; + } + if(m_bResetglBody && m_pCurBody) + { if(glIsList(BODYGEOM)) { glDeleteLists(BODYGEOM,2); m_GLList -=2; } - if(m_pCurBody->m_LineType==BODYPANELTYPE) m_GL3dBody.GLCreateBody3DFlatPanels(m_pCurBody); + if(m_pCurBody->m_LineType==BODYPANELTYPE) m_GL3dBody.GLCreateBody3DFlatPanels(m_pCurBody); else if(m_pCurBody->m_LineType==BODYSPLINETYPE) m_GL3dBody.GLCreateBody3DSplines(m_pCurBody); m_bResetglBody = false; @@ -4806,138 +4715,26 @@ m_bResetglBodyMesh = false; } - if(m_bResetglBody || m_bResetglGeom) + if(m_bResetglGeom && (m_iView==W3DVIEW || m_iView==WSTABVIEW)) { - int row, col, NumAngles, NumCircles; - double R, lat_incr, lon_incr, phi, theta; - m_ArcBall.GetMatrix(); - CVector eye(0.0,0.0,1.0); - CVector up(0.0,1.0,0.0); - m_ArcBall.SetZoom(0.45,eye,up); - - if(glIsList(ARCBALL)) + CBody TranslatedBody; + if(m_pCurBody && m_pCurPlane) { - glDeleteLists(ARCBALL,2); - m_GLList-=2; + TranslatedBody.Duplicate(m_pCurBody); + TranslatedBody.Translate(m_pCurPlane->BodyPos()); } - glNewList(ARCBALL,GL_COMPILE); + for(int iw=0; iw<MAXWINGS; iw++) { - m_GLList++; - glPolygonMode(GL_FRONT_AND_BACK,GL_LINE); - - glColor3d(0.3,0.3,.5); - glLineWidth(1.0); - - R = m_ArcBall.ab_sphere; - - NumAngles = 50; - NumCircles = 6; - lat_incr = 90.0 / NumAngles; - lon_incr = 360.0 / NumCircles; - - for (col = 0; col < NumCircles; col++) + if(glIsList(WINGSURFACES+iw)) { - glBegin(GL_LINE_STRIP); - { - phi = (col * lon_incr) * PI/180.0; - - for (row = 1; row < NumAngles-1; row++) - { - theta = (row * lat_incr) * PI/180.0; - glVertex3d(R*cos(phi)*cos(theta)*m_GLScale, R*sin(theta)*m_GLScale, R*sin(phi)*cos(theta)*m_GLScale); - } - } - glEnd(); - glBegin(GL_LINE_STRIP); - { - phi = (col * lon_incr ) * PI/180.0; - - for (row = 1; row < NumAngles-1; row++) - { - theta = -(row * lat_incr) * PI/180.0; - glVertex3d(R*cos(phi)*cos(theta)*m_GLScale, R*sin(theta)*m_GLScale, R*sin(phi)*cos(theta)*m_GLScale); - } - } - glEnd(); - } - - - glBegin(GL_LINE_STRIP); - { - theta = 0.; - for(col=1; col<35; col++) - { - phi = (0.0 + (double)col*360.0/72.0) * PI/180.0; - glVertex3d(R * cos(phi) * cos(theta)*m_GLScale, R * sin(theta)*m_GLScale, R * sin(phi) * cos(theta)*m_GLScale); - } - } - glEnd(); - - glBegin(GL_LINE_STRIP); - { - theta = 0.; - for(col=1; col<35; col++) - { - phi = (0.0 + (double)col*360.0/72.0) * PI/180.0; - glVertex3d(R * cos(-phi) * cos(theta)*m_GLScale, R * sin(theta)*m_GLScale, R * sin(-phi) * cos(theta)*m_GLScale); - } - } - glEnd(); - } - glEndList(); - - glNewList(ARCPOINT,GL_COMPILE); - { - m_GLList++; - glPolygonMode(GL_FRONT,GL_LINE); - - glColor3d(0.3,0.1,.2); - glLineWidth(2.0); - - NumAngles = 10; - - lat_incr = 30.0 / NumAngles; - lon_incr = 30.0 / NumAngles; - - glBegin(GL_LINE_STRIP); - { - phi = 0.0;//longitude - - for (row = -NumAngles; row < NumAngles; row++) - { - theta = (row * lat_incr) * PI/180.0; - glVertex3d(R*cos(phi)*cos(theta)*m_GLScale, R*sin(theta)*m_GLScale, R*sin(phi)*cos(theta)*m_GLScale); - } - } - glEnd(); - - glBegin(GL_LINE_STRIP); - { - theta = 0.; - for(col=-NumAngles; col<NumAngles; col++) - { - phi = (0.0 + (double)col*30.0/NumAngles) * PI/180.0; - glVertex3d(R * cos(phi) * cos(theta)*m_GLScale, R * sin(theta)*m_GLScale, R * sin(phi) * cos(theta)*m_GLScale); - } + glDeleteLists(WINGSURFACES+iw,1); + glDeleteLists(WINGSURFACES+iw+4,1); + m_GLList-=2; } - glEnd(); - } - glEndList(); - } - - if(m_bResetglGeom && (m_iView==W3DVIEW || m_iView==WSTABVIEW)) - { - for(int iw=0; iw<MAXWINGS; iw++) - { if(m_pWingList[iw]) { - if(glIsList(WINGSURFACES+iw)) - { - glDeleteLists(WINGSURFACES+iw,1); - glDeleteLists(WINGSURFACES+iw+4,1); - m_GLList-=2; - } - GLCreateGeom(this, m_pWingList[iw], WINGSURFACES+iw); + if(m_pCurBody && m_pCurPlane) GLCreateGeom(this, m_pWingList[iw], WINGSURFACES+iw, &TranslatedBody); + else GLCreateGeom(this, m_pWingList[iw], WINGSURFACES+iw, m_pCurBody); } } m_bResetglGeom = false; @@ -4965,8 +4762,8 @@ { if(glIsList(WINGWAKEPANELS)) { - glDeleteLists(WINGWAKEPANELS,1); - m_GLList-=1; +// glDeleteLists(WINGWAKEPANELS,1); +// m_GLList-=1; } if (m_pCurWPolar && m_pCurWPolar->m_AnalysisMethod==PANELMETHOD) { @@ -4975,16 +4772,6 @@ m_bResetglWake = false; } - if((m_bResetglLegend || m_bResetglLift || m_bResetglOpp) && m_iView==W3DVIEW) - { - if(glIsList(PANELFORCEARROWS)) - { - glDeleteLists(PANELFORCEARROWS,1); - m_GLList -=1; - } - GLCreatePanelForce(this, m_pCurWPolar,m_Panel,m_pCurWOpp, m_pCurPOpp); - } - if((m_bResetglLift || m_bResetglOpp) && m_iView==W3DVIEW) { if(glIsList(LIFTFORCE)) @@ -5032,17 +4819,21 @@ m_bResetglLift = false; } + if((m_bResetglDrag || m_bResetglOpp) && m_iView==W3DVIEW) { + for(int iw=0; iw<MAXWINGS; iw++) + { + if(glIsList(VLMWINGDRAG+iw )) + { + glDeleteLists(VLMWINGDRAG+iw,1); + m_GLList -=1; + } + } if (m_pWingList[0] && m_pWOpp[0]) { for(int iw=0; iw<MAXWINGS; iw++) { - if(glIsList(VLMWINGDRAG+iw )) - { - glDeleteLists(VLMWINGDRAG+iw,1); - m_GLList -=1; - } if(m_pWingList[iw]) { GLCreateDrag(this, m_pWingList[iw], m_pCurWPolar, m_pWOpp[iw], VLMWINGDRAG+iw); @@ -5054,15 +4845,18 @@ if((m_bResetglDownwash || m_bResetglOpp) && m_iView==W3DVIEW) { + for(int iw=0; iw<MAXWINGS; iw++) + { + if(glIsList(VLMWINGWASH+iw)) + { + glDeleteLists(VLMWINGWASH+iw,1); + m_GLList--; + } + } if(m_pWingList[0] && m_pWOpp[0]) { for(int iw=0; iw<MAXWINGS; iw++) { - if(glIsList(VLMWINGWASH+iw)) - { - glDeleteLists(VLMWINGWASH+iw,1); - m_GLList--; - } if(m_pWingList[iw]) { GLCreateDownwash(this, m_pWingList[iw],m_pWOpp[iw], VLMWINGWASH+iw); @@ -5073,37 +4867,47 @@ m_bResetglDownwash = false; } - if(m_bResetglOpp && m_iView==W3DVIEW) + if((m_bResetglPanelForce || m_bResetglOpp) && m_iView==W3DVIEW) { + if(glIsList(PANELFORCEARROWS)) + { + glDeleteLists(PANELFORCEARROWS,1); + m_GLList -=1; + } if (m_pCurWing && m_pCurWOpp) { - if(glIsList(PANELCP)) - { - glDeleteLists(PANELCP,1); - m_GLList-=1; - } + GLCreatePanelForce(this, m_pCurWPolar,m_pCurWOpp, m_pCurPOpp); + } + m_bResetglPanelForce = false; + } + if((m_bResetglPanelCp || m_bResetglOpp) && m_iView==W3DVIEW) + { + if(glIsList(PANELCP)) + { + glDeleteLists(PANELCP,1); + m_GLList-=1; + } + + if (m_pCurWing && m_pCurWOpp) + { GLCreateCp(this, m_Node, m_Panel, m_pCurWOpp, m_pCurPOpp); } - m_bResetglOpp = false; + m_bResetglPanelCp = false; } if((m_bResetglLegend || m_bResetglOpp || m_bResetglGeom) && (m_iView==W3DVIEW || m_iView==WSTABVIEW)) { - //if(glIsList(WINGLEGEND)) - //{ - // glDeleteLists(WINGLEGEND,1); - // m_GLList -= 1; - //} - //GLCreateWingLegend(this, m_pCurWing, m_pCurPlane, m_pCurWPolar); - - if(m_pCurWOpp) - { - glDeleteLists(WOPPCPLEGENDCLR,1); - m_GLList -= 1; - GLCreateCpLegendClr(this); - } + if(glIsList(WOPPCPLEGENDCLR)) + { + glDeleteLists(WOPPCPLEGENDCLR,1); + m_GLList -= 1; + } + if(m_pCurWOpp) + { + GLCreateCpLegendClr(this); + } m_bResetglLegend = false; } @@ -5111,53 +4915,41 @@ // then draw with streamlines if((m_bResetglStream || m_bResetglOpp) && m_iView==W3DVIEW) { + if(glIsList(VLMSTREAMLINES)) + { + glDeleteLists(VLMSTREAMLINES,1); + m_GLList -=1; + } if(m_bStream) { //no need to recalculate if not showing if(m_pCurWing && m_pCurWOpp && m_pCurWOpp->m_AnalysisMethod>=2) { - if(glIsList(VLMSTREAMLINES)) - { - glDeleteLists(VLMSTREAMLINES,1); - m_GLList -=1; - } - - -/* //back-up the current geometry, before it is tilted for streamlines calculation - memcpy(m_MemPanel, m_Panel, m_MatSize * sizeof(CPanel)); - memcpy(m_MemNode, m_Node, m_nNodes * sizeof(CVector)); - memcpy(m_RefWakePanel, m_WakePanel, m_WakeSize * sizeof(CPanel)); - memcpy(m_RefWakeNode, m_WakeNode, m_nWakeNodes * sizeof(CVector));*/ - GLCreateStreamLines(this, m_pWingList, m_Node, m_pCurWPolar, m_pCurWOpp); m_bResetglStream = false; - -/* //restore the initial geometry - memcpy(m_Panel, m_MemPanel, m_MatSize * sizeof(CPanel)); - memcpy(m_Node, m_MemNode, m_nNodes * sizeof(CVector)); - memcpy(m_WakePanel, m_RefWakePanel, m_WakeSize * sizeof(CPanel)); - memcpy(m_WakeNode, m_RefWakeNode, m_nWakeNodes * sizeof(CVector));*/ - } } } if((m_bResetglFlow || m_bResetglOpp) && m_iView==W3DVIEW) { + if(glIsList(SURFACESPEEDS)) + { + glDeleteLists(SURFACESPEEDS,1); + m_GLList -=1; + } if(m_bSpeeds) { if(m_pCurWing && m_pCurWOpp && m_pCurWOpp->m_AnalysisMethod>=2) { - if(glIsList(SURFACESPEEDS)) - { - glDeleteLists(SURFACESPEEDS,1); - m_GLList -=1; - } GLCreateSurfSpeeds(this, m_Panel, m_pCurWPolar, m_pCurWOpp); m_bResetglFlow = false; } } } + m_bResetglOpp = false; + + QApplication::restoreOverrideCursor(); } @@ -5170,6 +4962,7 @@ GLWidget *pGLWidget = (GLWidget*)s_pGLWidget; QString MassUnit; GetWeightUnit(MassUnit, pMainFrame->m_WeightUnit); + glColor3d(m_MassColor.redF(), m_MassColor.greenF(), m_MassColor.blueF()); double radius = .01;//2cm double zdist = 25.0/(double)m_r3DCltRect.width(); @@ -5179,7 +4972,7 @@ if(m_pWingList[iw]) { // glColor3d(m_MassColor.redF()*.75, m_MassColor.greenF()*.75, m_MassColor.blueF()*.75); - glColor3d(0.0, 0.0, 0.7); + glColor3d(0.3, 0.3, 1.0); glPushMatrix(); { if(m_pCurPlane) @@ -5213,7 +5006,7 @@ glTranslated(m_pWingList[iw]->m_MassPosition[im].x, m_pWingList[iw]->m_MassPosition[im].y, m_pWingList[iw]->m_MassPosition[im].z); - GLRenderSphere(m_MassColor,radius,18,18); + pGLWidget->GLRenderSphere(m_MassColor,radius,18,18); pGLWidget->renderText(0.0, 0.0, 0.0 +.02, m_pWingList[iw]->m_MassTag[im] +QString(" %1").arg(m_pWingList[iw]->m_MassValue[im]*pMainFrame->m_kgtoUnit, 7,'g',3) @@ -5231,7 +5024,7 @@ glPushMatrix(); { glTranslated(m_pCurPlane->m_MassPosition[im].x,m_pCurPlane->m_MassPosition[im].y,m_pCurPlane->m_MassPosition[im].z); - GLRenderSphere(m_MassColor,radius,18,18); + pGLWidget->GLRenderSphere(m_MassColor,radius,18,18); pGLWidget->renderText(0.0,0.0,0.0+.02, m_pCurPlane->m_MassTag[im] +QString(" %1").arg(m_pCurPlane->m_MassValue[im]*pMainFrame->m_kgtoUnit, 7,'g',3) @@ -5274,7 +5067,7 @@ m_pCurPlane->BodyPos().z); } - GLRenderSphere(m_MassColor,radius,18,18); + pGLWidget->GLRenderSphere(m_MassColor,radius,18,18); pGLWidget->renderText(0.0, 0.0, 0.0+.02, m_pCurBody->m_MassTag[im] @@ -5302,7 +5095,7 @@ glPushMatrix(); { glTranslated(CoG.x,CoG.y,CoG.z); - GLRenderSphere(QColor(255,0,0),radius,18,18); + pGLWidget->GLRenderSphere(QColor(255,0,0),radius,18,18); pGLWidget->renderText(0.0, 0.0, 0.0+.02, "CoG "+QString("%1").arg(Mass*pMainFrame->m_kgtoUnit, 7,'g',3) +MassUnit); @@ -5325,7 +5118,7 @@ glColor3d(pMainFrame->m_TextColor.redF(), pMainFrame->m_TextColor.greenF(), pMainFrame->m_TextColor.blueF()); - for(int iw=0; iw<4; iw++) + for(int iw=0; iw<MAXWINGS; iw++) { if(m_pWingList[iw]) { @@ -5373,6 +5166,10 @@ // Renders the OpenGl 3D view // GLWidget *pGLWidget = (GLWidget*)s_pGLWidget; + double LightFactor; + if(m_pCurWing) LightFactor = (GLfloat)pow(m_pCurWing->m_PlanformSpan/2.0,.1); + else LightFactor = 1.0; + static GLdouble pts[4]; pts[0]= 0.0; pts[1]=0.0; pts[2]=-1.0; pts[3]= m_ClipPlanePos; //x=m_VerticalSplit glClipPlane(GL_CLIP_PLANE1, pts); @@ -5389,7 +5186,7 @@ if(m_ClipPlanePos>4.9999) glDisable(GL_CLIP_PLANE1); else glEnable(GL_CLIP_PLANE1); - GLSetupLight(); + pGLWidget->GLSetupLight(m_GLLightDlg, m_UFOOffset.y,LightFactor); glDisable(GL_LIGHTING); glDisable(GL_LIGHT0); @@ -5406,15 +5203,15 @@ glDisable(GL_LIGHT0); glPushMatrix(); { - glTranslated(( m_GLLightDlg.m_XLight+ m_UFOOffset.x)*m_GLScale, - ( m_GLLightDlg.m_YLight+ m_UFOOffset.y)*m_GLScale, - m_GLLightDlg.m_ZLight*m_GLScale); - double radius = (m_GLLightDlg.m_ZLight+2.0)/40.0*m_GLScale; + glTranslated(( m_GLLightDlg.s_XLight+ m_UFOOffset.x)*m_GLScale, + ( m_GLLightDlg.s_YLight+ m_UFOOffset.y)*m_GLScale, + m_GLLightDlg.s_ZLight*m_GLScale); + double radius = (m_GLLightDlg.s_ZLight+2.0)/40.0*m_GLScale; QColor color; - color = QColor((int)(m_GLLightDlg.m_Red *255), - (int)(m_GLLightDlg.m_Green*255), - (int)(m_GLLightDlg.m_Blue *255)); - GLRenderSphere(color,radius,18,18); + color = QColor((int)(m_GLLightDlg.s_Red *255), + (int)(m_GLLightDlg.s_Green*255), + (int)(m_GLLightDlg.s_Blue *255)); + pGLWidget->GLRenderSphere(color,radius,18,18); } glPopMatrix(); } @@ -5447,7 +5244,7 @@ glScaled(m_glScaled, m_glScaled, m_glScaled); glTranslated(m_glRotCenter.x, m_glRotCenter.y, m_glRotCenter.z); - if(m_bAxes) GLDrawAxes(); + if(m_bAxes) pGLWidget->GLDrawAxes(1.0/m_glScaled, m_3DAxisColor, m_3DAxisStyle, m_3DAxisWidth); if(m_pCurWPolar && m_pCurWPolar->m_Type==STABILITYPOLAR) { @@ -5467,19 +5264,21 @@ glLoadIdentity(); glDisable(GL_CLIP_PLANE1); - if(m_pCurWing) GLDrawWingLegend(this, m_pCurWing, m_pCurPlane, m_pCurWPolar); //glCallList(WINGLEGEND); + + if(m_pCurWing) GLDrawWingLegend(this, m_pCurWing, m_pCurPlane, m_pCurWPolar); //glCallList(WINGLEGEND); if(m_pCurWOpp) GLDrawWOppLegend(this, m_pCurWing, m_pCurWOpp); // glCallList(WOPPLEGEND); + if (m_b3DCp && m_pCurWOpp && m_pCurWOpp->m_AnalysisMethod>=2 ) { - GLDrawCpLegend(this); - //glCallList(WOPPCPLEGENDTXT); - glCallList(WOPPCPLEGENDCLR); + GLDrawCpLegend(this); + //glCallList(WOPPCPLEGENDTXT); + glCallList(WOPPCPLEGENDCLR); } else if (m_bPanelForce && m_pCurWOpp && m_pCurWOpp->m_AnalysisMethod>=2 ) { - GLDrawPanelForceLegend(this, m_pCurWPolar,m_Panel,m_pCurWOpp, m_pCurPOpp); - //glCallList(PANELFORCELEGENDTXT); - glCallList(WOPPCPLEGENDCLR); + GLDrawPanelForceLegend(this, m_pCurWPolar,m_Panel,m_pCurWOpp, m_pCurPOpp); + //glCallList(PANELFORCELEGENDTXT); + glCallList(WOPPCPLEGENDCLR); } } glPopMatrix(); @@ -5487,167 +5286,6 @@ } -void QMiarex::GLRenderSphere(QColor cr, double radius, int NumLongitudes, int NumLatitudes) -{ - // - // Render the sphere representing the light or point masses - // - static double start_lat, start_lon,lat_incr, lon_incr, R; - static double phi1, phi2, theta1, theta2; - static GLdouble u[3], v[3], w[3], n[3]; - static int row, col; - - glDisable(GL_TEXTURE_2D); - glPolygonMode(GL_FRONT,GL_FILL); - glBegin(GL_TRIANGLES); - glColor3d(cr.redF(),cr.greenF(),cr.blueF()); - - start_lat = -90; - start_lon = 0.0; - R = radius; - - lat_incr = 180.0 / NumLatitudes; - lon_incr = 360.0 / NumLongitudes; - - for (col = 0; col < NumLongitudes; col++) - { - phi1 = (start_lon + col * lon_incr) * PI/180.0; - phi2 = (start_lon + (col + 1) * lon_incr) * PI/180.0; - - for (row = 0; row < NumLatitudes; row++) - { - theta1 = (start_lat + row * lat_incr) * PI/180.0; - theta2 = (start_lat + (row + 1) * lat_incr) * PI/180.0; - - u[0] = R * cos(phi1) * cos(theta1);//x - u[1] = R * sin(theta1);//y - u[2] = R * sin(phi1) * cos(theta1);//z - - v[0] = R * cos(phi1) * cos(theta2);//x - v[1] = R * sin(theta2);//y - v[2] = R * sin(phi1) * cos(theta2);//z - - w[0] = R * cos(phi2) * cos(theta2);//x - w[1] = R * sin(theta2);//y - w[2] = R * sin(phi2) * cos(theta2);//z - - NormalVector(u,v,w,n); - - glNormal3dv(n); - glVertex3dv(u); - glVertex3dv(v); - glVertex3dv(w); - - v[0] = R * cos(phi2) * cos(theta1);//x - v[1] = R * sin(theta1);//y - v[2] = R * sin(phi2) * cos(theta1);//z - - NormalVector(u,w,v,n); - glNormal3dv(n); - glVertex3dv(u); - glVertex3dv(w); - glVertex3dv(v); - } - } - glEnd(); -} - - -void QMiarex::GLSetupLight() -{ - // - // Sets the light parameters for the OpenGl display - // - - glEnable(GL_LIGHTING); - glEnable(GL_LIGHT0); // the ambient light - glDisable(GL_LIGHT1); - glDisable(GL_LIGHT2); - glDisable(GL_LIGHT3); - glDisable(GL_LIGHT4); - glDisable(GL_LIGHT5); - glDisable(GL_LIGHT6); - glDisable(GL_LIGHT7); - - float fLightAmbient0[4]; - float fLightDiffuse0[4]; - float fLightSpecular0[4]; - float fLightPosition0[4]; - - float LightFactor = 1.0f; - if(m_pCurWing) LightFactor = (GLfloat)pow(m_pCurWing->m_PlanformSpan/2.0,0.1); -// if(LightFactor>1.0) LightFactor = 1.0f; - - // the ambient light conditions. - fLightAmbient0[0] = LightFactor*m_GLLightDlg.m_Ambient * m_GLLightDlg.m_Red; // red component - fLightAmbient0[1] = LightFactor*m_GLLightDlg.m_Ambient * m_GLLightDlg.m_Green; // green component - fLightAmbient0[2] = LightFactor*m_GLLightDlg.m_Ambient * m_GLLightDlg.m_Blue; // blue component - fLightAmbient0[3] = 1.0; // alpha - - fLightDiffuse0[0] = LightFactor*m_GLLightDlg.m_Diffuse * m_GLLightDlg.m_Red; // red component - fLightDiffuse0[1] = LightFactor*m_GLLightDlg.m_Diffuse * m_GLLightDlg.m_Green; // green component - fLightDiffuse0[2] = LightFactor*m_GLLightDlg.m_Diffuse * m_GLLightDlg.m_Blue; // blue component - fLightDiffuse0[3] = 1.0; // alpha - - fLightSpecular0[0] = LightFactor*m_GLLightDlg.m_Specular * m_GLLightDlg.m_Red; // red component - fLightSpecular0[1] = LightFactor*m_GLLightDlg.m_Specular * m_GLLightDlg.m_Green; // green component - fLightSpecular0[2] = LightFactor*m_GLLightDlg.m_Specular * m_GLLightDlg.m_Blue; // blue component - fLightSpecular0[3] = 1.0; // alpha - - // And finally, its position - - fLightPosition0[0] = (GLfloat)((m_GLLightDlg.m_XLight)); - fLightPosition0[1] = (GLfloat)((m_GLLightDlg.m_YLight + m_UFOOffset.y)); - fLightPosition0[2] = (GLfloat)((m_GLLightDlg.m_ZLight)); - fLightPosition0[3] = 1.0; // W (positional light) - - - - // Enable the basic light - glLightfv(GL_LIGHT0, GL_AMBIENT, fLightAmbient0); - glLightfv(GL_LIGHT0, GL_DIFFUSE, fLightDiffuse0); - glLightfv(GL_LIGHT0, GL_SPECULAR, fLightSpecular0); - glLightfv(GL_LIGHT0, GL_POSITION, fLightPosition0); - - - float fMatAmbient[4] = {m_GLLightDlg.m_MatAmbient, m_GLLightDlg.m_MatAmbient, m_GLLightDlg.m_MatAmbient, 1.0f}; - float fMatSpecular[4] = {m_GLLightDlg.m_MatSpecular, m_GLLightDlg.m_MatSpecular, m_GLLightDlg.m_MatSpecular, 1.0f}; - float fMatDiffuse[4] = {m_GLLightDlg.m_MatDiffuse, m_GLLightDlg.m_MatDiffuse, m_GLLightDlg.m_MatDiffuse, 1.0f}; - float fMatEmission[4] = {m_GLLightDlg.m_MatEmission, m_GLLightDlg.m_MatEmission, m_GLLightDlg.m_MatEmission, 1.0f}; - - if(m_GLLightDlg.m_bColorMaterial) - { - glEnable(GL_COLOR_MATERIAL); - glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE); -// glColorMaterial(GL_FRONT, GL_AMBIENT); -// glColorMaterial(GL_FRONT, GL_DIFFUSE); -// glColorMaterial(GL_FRONT, GL_SPECULAR); - - } - else - { - glDisable(GL_COLOR_MATERIAL); - - } - glMaterialfv(GL_FRONT, GL_SPECULAR, fMatSpecular); - glMaterialfv(GL_FRONT, GL_AMBIENT, fMatAmbient); - glMaterialfv(GL_FRONT, GL_DIFFUSE, fMatDiffuse); - glMaterialfv(GL_FRONT, GL_EMISSION, fMatEmission); - glMateriali( GL_FRONT, GL_SHININESS, m_GLLightDlg.m_iMatShininess); - - if(m_GLLightDlg.m_bDepthTest) glEnable(GL_DEPTH_TEST); else glDisable(GL_DEPTH_TEST); - if(m_GLLightDlg.m_bCullFaces) glEnable(GL_CULL_FACE); else glDisable(GL_CULL_FACE); - if(m_GLLightDlg.m_bSmooth) glEnable(GL_POLYGON_SMOOTH); else glDisable(GL_POLYGON_SMOOTH); - if(m_GLLightDlg.m_bShade) glShadeModel(GL_SMOOTH); else glShadeModel(GL_FLAT); - - if(m_GLLightDlg.m_bLocalView) glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER ,0); - else glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER ,1); - - glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,0); -} - - - bool QMiarex::InitializePanels() { // @@ -5742,9 +5380,9 @@ CPanel *ptr = m_Panel; // dlg.setValue(5); - int NXWakePanels; - if(m_pCurWPolar) NXWakePanels = m_pCurWPolar->m_NXWakePanels; - else NXWakePanels = 1; +// int NXWakePanels; +// if(m_pCurWPolar) NXWakePanels = m_pCurWPolar->m_NXWakePanels; +// else NXWakePanels = 1; int coef = 1; if(m_pCurWPolar) @@ -5753,7 +5391,7 @@ else coef = 2; } - for(int iw=0; iw<4; iw++) + for(int iw=0; iw<MAXWINGS; iw++) { if(m_pWingList[iw]) { @@ -5761,7 +5399,7 @@ for(j=0; j<m_pWingList[iw]->m_NSurfaces;j++) { m_pWingList[iw]->m_Surface[j].ResetFlap(); - Nel = CreateElements(m_pWingList[iw]->m_Surface+j); + Nel = CreateWingElements(m_pWingList[iw]->m_Surface+j); m_pWingList[iw]->m_MatSize += Nel; } m_pWingList[iw]->m_pPanel = ptr; @@ -6193,6 +5831,19 @@ MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; switch (event->key()) { +/* case Qt::Key_M: + { + for(int i=m_poaWPolar->size()-1; i>=0; i--) + { + CWPolar *pWPolar = (CWPolar*)m_poaWPolar->at(i); + delete pWPolar; + m_poaWPolar->removeAt(i); + } + m_pCurWOpp = NULL; + m_pCurPOpp = NULL; + m_pCurWPolar = NULL; + pMainFrame->UpdateUFOs(); + }*/ case Qt::Key_Return: { if (event->modifiers().testFlag(Qt::AltModifier)) @@ -6559,10 +6210,6 @@ pMainFrame->m_DlgPos= m_pLLTDlg->pos(); pMainFrame->UpdateWOpps(); SetWOpp(false, V0); - - if(m_iView==WPOLARVIEW) CreateWPolarCurves(); - - UpdateView(); } @@ -6822,7 +6469,7 @@ GLWidget *pGLWidget = (GLWidget*)s_pGLWidget; CVector Real; - ClientToGL(point, Real); + pGLWidget->ClientToGL(point, Real); if(m_r3DCltRect.contains(point)) pGLWidget->setFocus(); Set3DRotationCenter(point); @@ -6873,6 +6520,7 @@ static bool bCtrl; static QPoint Delta, point; static double xu, yu, x1, y1, xmin, xmax, ymin, ymax; + GLWidget *pGLWidget = (GLWidget*)s_pGLWidget; Delta.setX(event->pos().x() - m_LastPoint.x()); Delta.setY(event->pos().y() - m_LastPoint.y()); @@ -6883,7 +6531,7 @@ if(event->modifiers() & Qt::ControlModifier) bCtrl =true; if(m_iView==W3DVIEW || (m_iView==WSTABVIEW && m_iStabilityView==STAB3DVIEW)) { - ClientToGL(point, Real); + pGLWidget->ClientToGL(point, Real); if (event->buttons() & Qt::LeftButton) { @@ -6906,18 +6554,9 @@ } } else if ((event->buttons() & Qt::MidButton) && !bCtrl) - //scaling { - // we zoom the graph or the wing - - if(m_pCurWing) - { //zoom 3D wing -// if(pt.y()-m_LastPoint.y()>0) m_glScaled *= (GLfloat)1.02; -// else m_glScaled /= (GLfloat)1.02; - - m_ArcBall.Move(point.x(), m_r3DCltRect.height()-point.y()); - UpdateView(); - } + m_ArcBall.Move(point.x(), m_r3DCltRect.height()-point.y()); + UpdateView(); } } else @@ -7037,6 +6676,7 @@ // MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; StabViewDlg *pStabView =(StabViewDlg*)pMainFrame->m_pStabView; + GLWidget *pGLWidget = (GLWidget*)s_pGLWidget; static complex<double> eigenvalue; static int i,j,k, isel, jsel,xval, yval; static double diff, dmax; @@ -7062,7 +6702,6 @@ if(m_iView==W3DVIEW || (m_iView==WSTABVIEW && m_iStabilityView==STAB3DVIEW)) { - GLWidget *pGLWidget = (GLWidget*)s_pGLWidget; // point is in client coordinates CVector Real; @@ -7073,7 +6712,7 @@ bCtrl =true; } - ClientToGL(point, Real); + pGLWidget->ClientToGL(point, Real); if(m_r3DCltRect.contains(point)) pGLWidget->setFocus(); if(m_bPickCenter) @@ -7226,43 +6865,6 @@ -void QMiarex::NormalVector(GLdouble p1[3], GLdouble p2[3], GLdouble p3[3], GLdouble n[3]) -{ - // - // calculate two vectors, using the middle point as the common origin - // - - GLdouble v1[3], v2[3], d; - v1[0] = p3[0] - p1[0]; - v1[1] = p3[1] - p1[1]; - v1[2] = p3[2] - p1[2]; - v2[0] = p3[0] - p2[0]; - v2[1] = p3[1] - p2[1]; - v2[2] = p3[2] - p2[2]; - - // calculate the cross product of the two vectors - n[0] = v1[1] * v2[2] - v2[1] * v1[2]; - n[1] = v1[2] * v2[0] - v2[2] * v1[0]; - n[2] = v1[0] * v2[1] - v2[0] * v1[1]; - - // normalize the vector - d = ( n[0] * n[0] + n[1] * n[1] + n[2] * n[2] ); - // try to catch very small vectors - if (d < (GLdouble)0.00000001) - { - d = (GLdouble)100000000.0; - } - else - { - d = (GLdouble)1.0 / sqrt(d); - } - - n[0] *= d; - n[1] *= d; - n[2] *= d; -} - - void QMiarex::On3DView() { // @@ -8221,11 +7823,8 @@ void QMiarex::OnCurveColor() { - bool bOK; - QRgb rgb = m_CurveColor.rgba(); - rgb = QColorDialog::getRgba(rgb, &bOK); - m_CurveColor = QColor::fromRgba(rgb); - + QColor Color = QColorDialog::getColor(m_CurveColor); + if(Color.isValid()) m_CurveColor = Color; FillComboBoxes(); UpdateCurve(); @@ -9008,7 +8607,7 @@ m_GL3dBody.InitDialog(); m_GL3dBody.move(GL3dBodyDlg::s_WindowPos); m_GL3dBody.resize(GL3dBodyDlg::s_WindowSize); - if(GL3dBodyDlg::s_bWindowMaximized) m_GL3dBody.setWindowState(Qt::WindowMaximized); + if(GL3dBodyDlg::s_bWindowMaximized) m_GL3dBody.setWindowState(Qt::WindowMaximized); if(m_GL3dBody.exec() == QDialog::Accepted) { @@ -9161,7 +8760,6 @@ m_WingDlg.m_bAcceptName= false; m_WingDlg.InitDialog(pModWing); - if(QDialog::Accepted == m_WingDlg.exec()) { if(m_WingDlg.m_bChanged) @@ -9234,6 +8832,7 @@ { delete pModWing; // clean up } +// pMainFrame->m_DlgPos = m_WingDlg.pos(); } @@ -9632,9 +9231,8 @@ else FileName = m_pCurWing->WingName(); FileName.replace("/", " "); FileName = QFileDialog::getSaveFileName(this, tr("Export UFO"), - pMainFrame->m_LastDirName + "/"+FileName, - tr("AVL Text File (*.avl)"), - &filter); + pMainFrame->m_LastDirName + "/"+FileName, + tr("AVL Text File (*.avl)"), &filter); if(!FileName.length()) return; int pos = FileName.lastIndexOf("/"); @@ -9658,10 +9256,11 @@ out << ("\n"); strong = QString("%1 %2 %3 | Sref Cref Bref\n") - .arg(m_pCurWing->m_PlanformArea*pMainFrame->m_mtoUnit*pMainFrame->m_mtoUnit, 8, 'f', 3) - .arg(m_pCurWing->m_MAChord*pMainFrame->m_mtoUnit, 8, 'f', 3) - .arg(m_pCurWing->m_PlanformSpan*pMainFrame->m_mtoUnit, 8, 'f', 3); + .arg(m_pCurWing->m_PlanformArea*pMainFrame->m_mtoUnit*pMainFrame->m_mtoUnit, 8, 'f', 3) + .arg(m_pCurWing->m_MAChord*pMainFrame->m_mtoUnit, 8, 'f', 3) + .arg(m_pCurWing->m_PlanformSpan*pMainFrame->m_mtoUnit, 8, 'f', 3); out << strong; + out << "# Note : check consistency of area unit above with length units of the file"; if(m_pCurPlane) strong = QString("%1 %2 %3 | Xref Yref Zref\n") @@ -10075,6 +9674,7 @@ QTextStream in(&XFile); int res, Line; + Line = 0; bool bRead; bRead = ReadAVLString(in, Line, strong);// XFoil or XFLR5 version @@ -11325,17 +10925,23 @@ void QMiarex::OnSetupLight() { if(m_iView!=W3DVIEW && m_iView!=WSTABVIEW) return; + GLWidget *pGLWidget = (GLWidget*)s_pGLWidget; + m_bShowLight = true; UpdateView(); - m_GLLightDlg.m_bLight = m_bglLight; - m_GLLightDlg.m_pMiarex = this; + GLLightDlg::s_bLight = m_bglLight; + m_GLLightDlg.m_pGLWidget = s_pGLWidget; + m_GLLightDlg.exec(); - m_bglLight = m_GLLightDlg.m_bLight; + m_bglLight = GLLightDlg::s_bLight; m_bShowLight = false; - GLSetupLight(); + double LightFactor; + if(m_pCurWing) LightFactor = (GLfloat)pow(m_pCurWing->m_PlanformSpan/2.0,0.1); + else LightFactor = 1.0; + pGLWidget->GLSetupLight(m_GLLightDlg, m_UFOOffset.y, LightFactor); UpdateView(); } @@ -11471,7 +11077,7 @@ for (int i=0; i< m_poaWPolar->size(); i++) { pWPolar = (CWPolar*)m_poaWPolar->at(i); - if(pWPolar->m_Alpha.size() && pWPolar->m_UFOName==UFOName) + if(pWPolar->m_Alpha.size() && pWPolar->m_UFOName==UFOName && pWPolar->m_bAutoInertia) { // if(pWPolar->m_Type==STABILITYPOLAR) // { @@ -11529,7 +11135,7 @@ return; } - //last case, user wants to overwrite, so reset all type 7 polars and WOpps and POpps associated to the UFO + //last case, user wants to overwrite, so reset all polars, WOpps and POpps with autoinertia associated to the UFO for (int i=0; i<m_poaWPolar->size(); i++) { pWPolar = (CWPolar*)m_poaWPolar->at(i); @@ -11538,26 +11144,27 @@ pWPolar->ResetWPlr(); if(m_pCurPlane) pWPolar->SetInertia(m_pCurPlane, true); else if(m_pCurWing) pWPolar->SetInertia(m_pCurWing, false); + for (int i=m_poaWOpp->size()-1; i>=0; i--) + { + CWOpp *pWOpp = (CWOpp*)m_poaWOpp->at(i); + if(pWOpp && pWOpp->m_WingName==UFOName && pWOpp->m_PlrName==pWPolar->m_PlrName) + { + m_poaWOpp->removeAt(i); + delete pWOpp; + } + } + for (int i=m_poaPOpp->size()-1; i>=0; i--) + { + CPOpp *pPOpp = (CPOpp*)m_poaPOpp->at(i); + if(pPOpp && pPOpp->m_PlaneName==UFOName && pPOpp->m_PlrName==pWPolar->m_PlrName) + { + m_poaPOpp->removeAt(i); + delete pPOpp; + } + } } } - for (int i=m_poaWOpp->size()-1; i>=0; i--) - { - CWOpp *pWOpp = (CWOpp*)m_poaWOpp->at(i); - if(pWOpp && pWOpp->m_WingName==UFOName) - { - m_poaWOpp->removeAt(i); - delete pWOpp; - } - } - for (int i=m_poaPOpp->size()-1; i>=0; i--) - { - CPOpp *pPOpp = (CPOpp*)m_poaPOpp->at(i); - if(pPOpp && pPOpp->m_PlaneName==UFOName) - { - m_poaPOpp->removeAt(i); - delete pPOpp; - } - } + m_pCurWOpp = NULL; m_pCurPOpp = NULL; } @@ -11720,10 +11327,10 @@ TextPen.setWidth(1); painter.setPen(TextPen); - int dwidth, dheight; - QFontMetrics fm(pMainFrame->m_TextFont); - dheight = fm.height(); - dwidth = fm.width(tr("abcdefghijklmnopqrstuvwxyz012345678")); +// int dwidth, dheight; +// QFontMetrics fm(pMainFrame->m_TextFont); +// dheight = fm.height(); +// dwidth = fm.width(tr("abcdefghijklmnopqrstuvwxyz012345678")); if(m_pCurWing) { @@ -11923,13 +11530,13 @@ QString Result, str, strong; QString str1; static double Mass; - static int margin, dwidth, dheight; + static int margin,dheight; margin = 10; QFontMetrics fm(pMainFrame->m_TextFont); dheight = fm.height(); - dwidth = fm.width(tr("abcdefghijklmnopqrstuvwxyz012345678")); +// dwidth = fm.width(tr("abcdefghijklmnopqrstuvwxyz012345678")); int D = 0; int LeftPos = margin; int ZPos = m_r2DCltRect.height()-11*dheight; @@ -12293,11 +11900,11 @@ QPoint O(ORef); QPoint offset; - double scalex, scaley; + double scaley; offset.rx() = ORef.x(); offset.ry() = ORef.y(); - scalex = scale; +// scalex = scale; scaley = scale; O.rx() = offset.x(); O.ry() = offset.y(); @@ -12353,7 +11960,8 @@ m_pPanelDlg->m_pPlane = m_pCurPlane; m_pPanelDlg->m_pBody = m_pCurBody; m_pPanelDlg->m_pWing = m_pCurWing; - for(int iw=0; iw<4; iw++) m_pPanelDlg->m_pWingList[iw] = m_pWingList[iw]; + + for(int iw=0; iw<MAXWINGS; iw++) m_pPanelDlg->m_pWingList[iw] = m_pWingList[iw]; if(m_pCurWPolar->m_Type==FIXEDAOAPOLAR) { @@ -12394,12 +12002,6 @@ if(m_pCurPlane) SetPOpp(false, m_pPanelDlg->m_Alpha); else if(m_pCurWing) SetWOpp(false, m_pPanelDlg->m_Alpha); - - if(m_iView==WPOLARVIEW) CreateWPolarCurves(); - else if(m_iView==WSTABVIEW) CreateStabilityCurves(); - - UpdateView(); - } @@ -12917,11 +12519,12 @@ int i, j, p; CVector I, A, B, AA, BB, PP, U; double dmin, dist; + GLWidget *pGLWidget = (GLWidget*)s_pGLWidget; i=-1; dmin = 100000.0; - ClientToGL(point, B); + pGLWidget->ClientToGL(point, B); B.x += -m_UFOOffset.x - m_glViewportTrans.x*m_glScaled; B.y += -m_UFOOffset.y + m_glViewportTrans.y*m_glScaled; @@ -13097,24 +12700,6 @@ m_pctrlAlphaMax->SetValue(m_ControlMax); m_pctrlAlphaDelta->SetValue(m_ControlDelta); } - - m_pctrlOutline->setChecked(m_bOutline); - m_pctrlPanels->setChecked(m_bVLMPanels); - m_pctrlAxes->setChecked(m_bAxes); - m_pctrlCp->setChecked(m_b3DCp); - m_pctrlPanelForce->setChecked(m_bPanelForce); - m_pctrlDownwash->setChecked(m_bDownwash); - m_pctrlMoment->setChecked(m_bMoments); - m_pctrlTrans->setChecked(m_bXTop); - m_pctrlLift->setChecked(m_bXCP); - m_pctrlIDrag->setChecked(m_bICd); - m_pctrlVDrag->setChecked(m_bVCd); - m_pctrlAxes->setChecked(m_bAxes); - m_pctrlLight->setChecked(m_bglLight); - m_pctrlSurfaces->setChecked(m_bSurfaces); - m_pctrlOutline->setChecked(m_bOutline); - m_pctrlStream->setChecked(m_bStream); - m_pctrlClipPlanePos->setValue((int)(m_ClipPlanePos*100.0)); } @@ -13584,6 +13169,7 @@ } } + pModPlane->RenameWings(); return true; } @@ -13716,6 +13302,7 @@ m_pCurWOpp = NULL; m_pCurPOpp = NULL; m_poaWing->removeAt(k); + if(pWing==m_pCurWing) m_pCurWing = NULL; delete pWing; bExists = false; @@ -13724,6 +13311,7 @@ } } else if(pOldPlane) + { // if(pOldPlane->m_bActive) QMessageBox::warning(window(), tr("Warning"),tr("Cannot overwrite current plane")); // else @@ -14009,7 +13597,6 @@ m_bResetglMesh = true; -// QColor WingColor = m_WingColor; CVector T(0.0,0.0,0.0); double dx, dz; @@ -14017,7 +13604,6 @@ if(m_pCurPlane) { -// WingColor = m_pWingList[0]->m_WingColor; if(m_pCurPlane->Body()) { dx = m_pCurPlane->BodyPos().x; @@ -14112,6 +13698,7 @@ + void QMiarex::SetupLayout() { QSizePolicy szPolicyExpanding; @@ -14128,258 +13715,294 @@ setSizePolicy(szPolicyMaximum); //_______________________Analysis - m_pctrlSequence = new QCheckBox(tr("Sequence")); - QGridLayout *SequenceGroup = new QGridLayout; - QLabel *AlphaMinLab = new QLabel(tr("Start=")); - QLabel *AlphaMaxLab = new QLabel(tr("End=")); - QLabel *AlphaDeltaLab = new QLabel(tr("D=")); - AlphaDeltaLab->setFont(QFont("Symbol")); - AlphaDeltaLab->setAlignment(Qt::AlignRight); - AlphaMinLab->setAlignment(Qt::AlignRight); - AlphaMaxLab->setAlignment(Qt::AlignRight); - m_pctrlAlphaMin = new FloatEdit(0.0, 3); - m_pctrlAlphaMax = new FloatEdit(1., 3); - m_pctrlAlphaDelta = new FloatEdit(0.5, 3); - - m_pctrlUnit1 = new QLabel(QString::fromUtf8("°")); - m_pctrlUnit2 = new QLabel(QString::fromUtf8("°")); - m_pctrlUnit3 = new QLabel(QString::fromUtf8("°")); - -/* m_pctrlAlphaMin->setMinimumHeight(20); - m_pctrlAlphaMax->setMinimumHeight(20); - m_pctrlAlphaDelta->setMinimumHeight(20);*/ - m_pctrlAlphaMin->setAlignment(Qt::AlignRight); - m_pctrlAlphaMax->setAlignment(Qt::AlignRight); - m_pctrlAlphaDelta->setAlignment(Qt::AlignRight); - SequenceGroup->addWidget(AlphaMinLab,1,1); - SequenceGroup->addWidget(AlphaMaxLab,2,1); - SequenceGroup->addWidget(AlphaDeltaLab,3,1); - SequenceGroup->addWidget(m_pctrlAlphaMin,1,2); - SequenceGroup->addWidget(m_pctrlAlphaMax,2,2); - SequenceGroup->addWidget(m_pctrlAlphaDelta,3,2); - SequenceGroup->addWidget(m_pctrlUnit1,1,3); - SequenceGroup->addWidget(m_pctrlUnit2,2,3); - SequenceGroup->addWidget(m_pctrlUnit3,3,3); - - m_pctrlInitLLTCalc = new QCheckBox(tr("Init LLT")); - m_pctrlStoreWOpp = new QCheckBox(tr("Store OpPoint")); - m_pctrlAnalyze = new QPushButton(tr("Analyze")); - - QHBoxLayout *AnalysisSettings = new QHBoxLayout; - AnalysisSettings->addWidget(m_pctrlInitLLTCalc); - AnalysisSettings->addWidget(m_pctrlStoreWOpp); - - QVBoxLayout *AnalysisGroup = new QVBoxLayout; - AnalysisGroup->addWidget(m_pctrlSequence); - AnalysisGroup->addLayout(SequenceGroup); - AnalysisGroup->addStretch(1); - AnalysisGroup->addLayout(AnalysisSettings); - AnalysisGroup->addWidget(m_pctrlAnalyze); QGroupBox *AnalysisBox = new QGroupBox(tr("Analysis settings")); - AnalysisBox->setLayout(AnalysisGroup); + { + QVBoxLayout *AnalysisGroupLayout = new QVBoxLayout; + { + m_pctrlSequence = new QCheckBox(tr("Sequence")); + QGridLayout *SequenceGroupLayout = new QGridLayout; + { + QLabel *AlphaMinLab = new QLabel(tr("Start=")); + QLabel *AlphaMaxLab = new QLabel(tr("End=")); + QLabel *AlphaDeltaLab = new QLabel(tr("D=")); + AlphaDeltaLab->setFont(QFont("Symbol")); + AlphaDeltaLab->setAlignment(Qt::AlignRight); + AlphaMinLab->setAlignment(Qt::AlignRight); + AlphaMaxLab->setAlignment(Qt::AlignRight); + m_pctrlAlphaMin = new FloatEdit(0.0, 3); + m_pctrlAlphaMax = new FloatEdit(1., 3); + m_pctrlAlphaDelta = new FloatEdit(0.5, 3); + + m_pctrlUnit1 = new QLabel(QString::fromUtf8("°")); + m_pctrlUnit2 = new QLabel(QString::fromUtf8("°")); + m_pctrlUnit3 = new QLabel(QString::fromUtf8("°")); + + /* m_pctrlAlphaMin->setMinimumHeight(20); + m_pctrlAlphaMax->setMinimumHeight(20); + m_pctrlAlphaDelta->setMinimumHeight(20);*/ + m_pctrlAlphaMin->setAlignment(Qt::AlignRight); + m_pctrlAlphaMax->setAlignment(Qt::AlignRight); + m_pctrlAlphaDelta->setAlignment(Qt::AlignRight); + SequenceGroupLayout->addWidget(AlphaMinLab,1,1); + SequenceGroupLayout->addWidget(AlphaMaxLab,2,1); + SequenceGroupLayout->addWidget(AlphaDeltaLab,3,1); + SequenceGroupLayout->addWidget(m_pctrlAlphaMin,1,2); + SequenceGroupLayout->addWidget(m_pctrlAlphaMax,2,2); + SequenceGroupLayout->addWidget(m_pctrlAlphaDelta,3,2); + SequenceGroupLayout->addWidget(m_pctrlUnit1,1,3); + SequenceGroupLayout->addWidget(m_pctrlUnit2,2,3); + SequenceGroupLayout->addWidget(m_pctrlUnit3,3,3); + } + QHBoxLayout *AnalysisSettingsLayout = new QHBoxLayout; + { + m_pctrlInitLLTCalc = new QCheckBox(tr("Init LLT")); + m_pctrlStoreWOpp = new QCheckBox(tr("Store OpPoint")); + AnalysisSettingsLayout->addWidget(m_pctrlInitLLTCalc); + AnalysisSettingsLayout->addWidget(m_pctrlStoreWOpp); + } + + m_pctrlAnalyze = new QPushButton(tr("Analyze")); + + AnalysisGroupLayout->addWidget(m_pctrlSequence); + AnalysisGroupLayout->addLayout(SequenceGroupLayout); + AnalysisGroupLayout->addStretch(1); + AnalysisGroupLayout->addLayout(AnalysisSettingsLayout); + AnalysisGroupLayout->addWidget(m_pctrlAnalyze); + } -//_______________________Display - QGridLayout *CheckDispLayout = new QGridLayout; - m_pctrlPanelForce = new QCheckBox(tr("Panel Forces")); - m_pctrlPanelForce->setToolTip(tr("Display the force 1/2.rho.V2.S.Cp acting on the panel")); - m_pctrlLift = new QCheckBox(tr("Lift")); - m_pctrlIDrag = new QCheckBox(tr("Ind. Drag")); - m_pctrlVDrag = new QCheckBox(tr("Visc. Drag")); - m_pctrlTrans = new QCheckBox(tr("Trans.")); - m_pctrlMoment = new QCheckBox(tr("Moment")); - m_pctrlDownwash = new QCheckBox(tr("Downw.")); - m_pctrlCp = new QCheckBox(tr("Cp")); - m_pctrlSurfVel = new QCheckBox(tr("Surf. Vel.")); - m_pctrlStream = new QCheckBox(tr("Stream")); - m_pctrlWOppAnimate = new QCheckBox(tr("Animate")); -// m_pctrlHighlightOpp = new QCheckBox(tr("Highlight OpPoint")); - - - m_pctrlAnimateWOppSpeed = new QSlider(Qt::Horizontal); - m_pctrlAnimateWOppSpeed->setMinimum(0); - m_pctrlAnimateWOppSpeed->setMaximum(500); - m_pctrlAnimateWOppSpeed->setSliderPosition(250); - m_pctrlAnimateWOppSpeed->setTickInterval(50); - m_pctrlAnimateWOppSpeed->setTickPosition(QSlider::TicksBelow); - CheckDispLayout->addWidget(m_pctrlCp, 1,1); - CheckDispLayout->addWidget(m_pctrlPanelForce, 1, 2); - CheckDispLayout->addWidget(m_pctrlLift, 2, 1); - CheckDispLayout->addWidget(m_pctrlMoment, 2, 2); - CheckDispLayout->addWidget(m_pctrlIDrag, 3, 1); - CheckDispLayout->addWidget(m_pctrlVDrag, 3, 2); - CheckDispLayout->addWidget(m_pctrlTrans, 4, 1); - CheckDispLayout->addWidget(m_pctrlDownwash, 4, 2); - CheckDispLayout->addWidget(m_pctrlSurfVel, 5, 1); - CheckDispLayout->addWidget(m_pctrlStream, 5, 2); - CheckDispLayout->addWidget(m_pctrlWOppAnimate, 6, 1); - CheckDispLayout->addWidget(m_pctrlAnimateWOppSpeed,6,2); + AnalysisBox->setLayout(AnalysisGroupLayout); + } +//_______________________Display QGroupBox *DisplayBox = new QGroupBox(tr("Results")); - DisplayBox->setLayout(CheckDispLayout); + { + QGridLayout *CheckDispLayout = new QGridLayout; + { + m_pctrlPanelForce = new QCheckBox(tr("Panel Forces")); + m_pctrlPanelForce->setToolTip(tr("Display the force 1/2.rho.V2.S.Cp acting on the panel")); + m_pctrlLift = new QCheckBox(tr("Lift")); + m_pctrlIDrag = new QCheckBox(tr("Ind. Drag")); + m_pctrlVDrag = new QCheckBox(tr("Visc. Drag")); + m_pctrlTrans = new QCheckBox(tr("Trans.")); + m_pctrlMoment = new QCheckBox(tr("Moment")); + m_pctrlDownwash = new QCheckBox(tr("Downw.")); + m_pctrlCp = new QCheckBox(tr("Cp")); + m_pctrlSurfVel = new QCheckBox(tr("Surf. Vel.")); + m_pctrlStream = new QCheckBox(tr("Stream")); + m_pctrlWOppAnimate = new QCheckBox(tr("Animate")); + // m_pctrlHighlightOpp = new QCheckBox(tr("Highlight OpPoint")); + + + m_pctrlAnimateWOppSpeed = new QSlider(Qt::Horizontal); + m_pctrlAnimateWOppSpeed->setMinimum(0); + m_pctrlAnimateWOppSpeed->setMaximum(500); + m_pctrlAnimateWOppSpeed->setSliderPosition(250); + m_pctrlAnimateWOppSpeed->setTickInterval(50); + m_pctrlAnimateWOppSpeed->setTickPosition(QSlider::TicksBelow); + CheckDispLayout->addWidget(m_pctrlCp, 1,1); + CheckDispLayout->addWidget(m_pctrlPanelForce, 1, 2); + CheckDispLayout->addWidget(m_pctrlLift, 2, 1); + CheckDispLayout->addWidget(m_pctrlMoment, 2, 2); + CheckDispLayout->addWidget(m_pctrlIDrag, 3, 1); + CheckDispLayout->addWidget(m_pctrlVDrag, 3, 2); + CheckDispLayout->addWidget(m_pctrlTrans, 4, 1); + CheckDispLayout->addWidget(m_pctrlDownwash, 4, 2); + CheckDispLayout->addWidget(m_pctrlSurfVel, 5, 1); + CheckDispLayout->addWidget(m_pctrlStream, 5, 2); + CheckDispLayout->addWidget(m_pctrlWOppAnimate, 6, 1); + CheckDispLayout->addWidget(m_pctrlAnimateWOppSpeed,6,2); + + } + DisplayBox->setLayout(CheckDispLayout); + } QGroupBox *PolarPropsBox = new QGroupBox(tr("Polar properties")); - m_pctrlPolarProps1 = new QTextEdit; - m_pctrlPolarProps1->setReadOnly(true); -// m_pctrlPolarProps1->setWordWrapMode(QTextOption::NoWrap); - QHBoxLayout *PolarPropsLayout = new QHBoxLayout; - PolarPropsLayout->addWidget(m_pctrlPolarProps1); - PolarPropsLayout->addStretch(1); - PolarPropsBox->setLayout(PolarPropsLayout); + { + m_pctrlPolarProps1 = new QTextEdit; + m_pctrlPolarProps1->setReadOnly(true); + // m_pctrlPolarProps1->setWordWrapMode(QTextOption::NoWrap); + QHBoxLayout *PolarPropsLayout = new QHBoxLayout; + { + PolarPropsLayout->addWidget(m_pctrlPolarProps1); + PolarPropsLayout->addStretch(1); + } + PolarPropsBox->setLayout(PolarPropsLayout); + } //_______________________Curve params - QVBoxLayout *CurveGroup = new QVBoxLayout; - m_pctrlShowCurve = new QCheckBox(tr("Curve")); - m_pctrlShowPoints = new QCheckBox(tr("Points")); -// m_pctrlShowCurve->setMinimumHeight(10); -// m_pctrlShowPoints->setMinimumHeight(10); - m_pctrlCurveStyle = new LineCbBox(); - m_pctrlCurveWidth = new LineCbBox(); - m_pctrlCurveColor = new LineButton; - for (int i=0; i<5; i++) - { - m_pctrlCurveStyle->addItem(tr("item")); - m_pctrlCurveWidth->addItem(tr("item")); - } - m_pStyleDelegate = new LineDelegate; - m_pWidthDelegate = new LineDelegate; - m_pctrlCurveStyle->setItemDelegate(m_pStyleDelegate); - m_pctrlCurveWidth->setItemDelegate(m_pWidthDelegate); - - QHBoxLayout *ShowCurve = new QHBoxLayout; - ShowCurve->addWidget(m_pctrlShowCurve); - ShowCurve->addWidget(m_pctrlShowPoints); - - QGridLayout *CurveStyleLayout = new QGridLayout; - QLabel *lab200 = new QLabel(tr("Style")); - QLabel *lab201 = new QLabel(tr("Width")); - QLabel *lab202 = new QLabel(tr("Color")); - lab200->setAlignment(Qt::AlignRight |Qt::AlignVCenter); - lab201->setAlignment(Qt::AlignRight |Qt::AlignVCenter); - lab202->setAlignment(Qt::AlignRight |Qt::AlignVCenter); - CurveStyleLayout->addWidget(lab200,1,1); - CurveStyleLayout->addWidget(lab201,2,1); - CurveStyleLayout->addWidget(lab202,3,1); - CurveStyleLayout->addWidget(m_pctrlCurveStyle,1,2); - CurveStyleLayout->addWidget(m_pctrlCurveWidth,2,2); - CurveStyleLayout->addWidget(m_pctrlCurveColor,3,2); - CurveStyleLayout->setColumnStretch(2,5); - - CurveGroup->addLayout(ShowCurve); - CurveGroup->addLayout(CurveStyleLayout); - CurveGroup->addStretch(1); QGroupBox *CurveBox = new QGroupBox(tr("Curve settings")); - CurveBox->setLayout(CurveGroup); - + { + QVBoxLayout *CurveGroupLayout = new QVBoxLayout; + { + m_pctrlShowCurve = new QCheckBox(tr("Curve")); + m_pctrlShowPoints = new QCheckBox(tr("Points")); + // m_pctrlShowCurve->setMinimumHeight(10); + // m_pctrlShowPoints->setMinimumHeight(10); + m_pctrlCurveStyle = new LineCbBox(); + m_pctrlCurveWidth = new LineCbBox(); + m_pctrlCurveColor = new LineButton; + for (int i=0; i<5; i++) + { + m_pctrlCurveStyle->addItem(tr("item")); + m_pctrlCurveWidth->addItem(tr("item")); + } + m_pStyleDelegate = new LineDelegate; + m_pWidthDelegate = new LineDelegate; + m_pctrlCurveStyle->setItemDelegate(m_pStyleDelegate); + m_pctrlCurveWidth->setItemDelegate(m_pWidthDelegate); + + QHBoxLayout *ShowCurve = new QHBoxLayout; + { + ShowCurve->addWidget(m_pctrlShowCurve); + ShowCurve->addWidget(m_pctrlShowPoints); + } + + QGridLayout *CurveStyleLayout = new QGridLayout; + { + QLabel *lab200 = new QLabel(tr("Style")); + QLabel *lab201 = new QLabel(tr("Width")); + QLabel *lab202 = new QLabel(tr("Color")); + lab200->setAlignment(Qt::AlignRight |Qt::AlignVCenter); + lab201->setAlignment(Qt::AlignRight |Qt::AlignVCenter); + lab202->setAlignment(Qt::AlignRight |Qt::AlignVCenter); + CurveStyleLayout->addWidget(lab200,1,1); + CurveStyleLayout->addWidget(lab201,2,1); + CurveStyleLayout->addWidget(lab202,3,1); + CurveStyleLayout->addWidget(m_pctrlCurveStyle,1,2); + CurveStyleLayout->addWidget(m_pctrlCurveWidth,2,2); + CurveStyleLayout->addWidget(m_pctrlCurveColor,3,2); + CurveStyleLayout->setColumnStretch(2,5); + } + + CurveGroupLayout->addLayout(ShowCurve); + CurveGroupLayout->addLayout(CurveStyleLayout); + CurveGroupLayout->addStretch(1); + } + CurveBox->setLayout(CurveGroupLayout); + } //_______________________Cp Params - QVBoxLayout *CpParams = new QVBoxLayout; - m_pctrlCpSectionSlider = new QSlider(Qt::Horizontal); - m_pctrlCpSectionSlider->setMinimum(-100); - m_pctrlCpSectionSlider->setMaximum(100); - m_pctrlCpSectionSlider->setSliderPosition(00); - m_pctrlCpSectionSlider->setTickInterval(10); - m_pctrlCpSectionSlider->setTickPosition(QSlider::TicksBelow); - QHBoxLayout *CpPos = new QHBoxLayout; - QLabel *label1000 = new QLabel(tr("Span Position")); - m_pctrlSpanPos = new FloatEdit(0.0, 3); - CpPos->addWidget(label1000); - CpPos->addWidget(m_pctrlSpanPos); - QHBoxLayout *CpSections = new QHBoxLayout; - m_pctrlKeepCpSection = new QPushButton(tr("Keep")); - m_pctrlResetCpSection = new QPushButton(tr("Reset")); - CpSections->addWidget(m_pctrlKeepCpSection); - CpSections->addWidget(m_pctrlResetCpSection); - CpParams->addWidget(m_pctrlCpSectionSlider); - CpParams->addLayout(CpPos); - CpParams->addLayout(CpSections); - CpParams->addStretch(1); QGroupBox *CpBox = new QGroupBox(tr("Cp Sections")); - CpBox->setLayout(CpParams); + { + QVBoxLayout *CpParams = new QVBoxLayout; + { + m_pctrlCpSectionSlider = new QSlider(Qt::Horizontal); + m_pctrlCpSectionSlider->setMinimum(-100); + m_pctrlCpSectionSlider->setMaximum(100); + m_pctrlCpSectionSlider->setSliderPosition(00); + m_pctrlCpSectionSlider->setTickInterval(10); + m_pctrlCpSectionSlider->setTickPosition(QSlider::TicksBelow); + QHBoxLayout *CpPos = new QHBoxLayout; + { + QLabel *label1000 = new QLabel(tr("Span Position")); + m_pctrlSpanPos = new FloatEdit(0.0, 3); + CpPos->addWidget(label1000); + CpPos->addWidget(m_pctrlSpanPos); + } + QHBoxLayout *CpSections = new QHBoxLayout; + { + m_pctrlKeepCpSection = new QPushButton(tr("Keep")); + m_pctrlResetCpSection = new QPushButton(tr("Reset")); + CpSections->addWidget(m_pctrlKeepCpSection); + CpSections->addWidget(m_pctrlResetCpSection); + } + CpParams->addWidget(m_pctrlCpSectionSlider); + CpParams->addLayout(CpPos); + CpParams->addLayout(CpSections); + CpParams->addStretch(1); + } + CpBox->setLayout(CpParams); + } //_______________________3D view controls - QVBoxLayout *ThreeDViewControls = new QVBoxLayout; - QGridLayout *ThreeDParams = new QGridLayout; - m_pctrlAxes = new QCheckBox(tr("Axes")); - m_pctrlLight = new QCheckBox(tr("Light")); - m_pctrlSurfaces = new QCheckBox(tr("Surfaces")); - m_pctrlOutline = new QCheckBox(tr("Outline")); - m_pctrlPanels = new QCheckBox(tr("Panels")); - m_pctrlFoilNames = new QCheckBox(tr("Foil Names")); - m_pctrlVortices = new QCheckBox(tr("Vortices")); - m_pctrlMasses = new QCheckBox(tr("Masses")); - - ThreeDParams->addWidget(m_pctrlAxes, 1,1); -// ThreeDParams->addWidget(m_pctrlLight, 1,2); - ThreeDParams->addWidget(m_pctrlPanels, 1,2); - ThreeDParams->addWidget(m_pctrlSurfaces, 2,1); - ThreeDParams->addWidget(m_pctrlOutline, 2,2); - ThreeDParams->addWidget(m_pctrlFoilNames, 3,1); - ThreeDParams->addWidget(m_pctrlMasses, 3,2); - - QGridLayout *ThreeDView = new QGridLayout; - m_pctrlX = new QPushButton("X"); - m_pctrlY = new QPushButton("Y"); - m_pctrlZ = new QPushButton("Z"); - m_pctrlIso = new QPushButton("Iso"); - - - ThreeDView->addWidget(m_pctrlX,1,1); - ThreeDView->addWidget(m_pctrlY,1,2); - ThreeDView->addWidget(m_pctrlZ,2,1); - ThreeDView->addWidget(m_pctrlIso,2,2); - - m_pctrlPickCenter = new QPushButton(tr("Pick Center")); - m_pctrlPickCenter->setToolTip(tr("Activate the button, then click on the object to center it in the viewport; alternatively, double click on the object")); - m_pctrlReset = new QPushButton(tr("Reset")); - m_pctrlPickCenter->setCheckable(true); - - ThreeDView->addWidget(m_pctrlReset,3,1); - ThreeDView->addWidget(m_pctrlPickCenter,3,2); - - QHBoxLayout *ClipLayout = new QHBoxLayout; - QLabel *ClipLabel = new QLabel(tr("Clip:")); - m_pctrlClipPlanePos = new QSlider(Qt::Horizontal); - m_pctrlClipPlanePos->setMinimum(-300); - m_pctrlClipPlanePos->setMaximum(300); - m_pctrlClipPlanePos->setSliderPosition(0); - m_pctrlClipPlanePos->setTickInterval(30); - m_pctrlClipPlanePos->setTickPosition(QSlider::TicksBelow); - ClipLayout->addWidget(ClipLabel); - ClipLayout->addWidget(m_pctrlClipPlanePos,1); - - ThreeDViewControls->addLayout(ThreeDParams); - ThreeDViewControls->addLayout(ThreeDView); - ThreeDViewControls->addLayout(ClipLayout); - ThreeDViewControls->addStretch(1); QGroupBox *ThreeDViewBox = new QGroupBox(tr("Display")); - ThreeDViewBox->setLayout(ThreeDViewControls); + { + QVBoxLayout *ThreeDViewControls = new QVBoxLayout; + { + QGridLayout *ThreeDParams = new QGridLayout; + { + m_pctrlAxes = new QCheckBox(tr("Axes")); + m_pctrlLight = new QCheckBox(tr("Light")); + m_pctrlSurfaces = new QCheckBox(tr("Surfaces")); + m_pctrlOutline = new QCheckBox(tr("Outline")); + m_pctrlPanels = new QCheckBox(tr("Panels")); + m_pctrlFoilNames = new QCheckBox(tr("Foil Names")); + m_pctrlVortices = new QCheckBox(tr("Vortices")); + m_pctrlMasses = new QCheckBox(tr("Masses")); + + ThreeDParams->addWidget(m_pctrlAxes, 1,1); + // ThreeDParams->addWidget(m_pctrlLight, 1,2); + ThreeDParams->addWidget(m_pctrlPanels, 1,2); + ThreeDParams->addWidget(m_pctrlSurfaces, 2,1); + ThreeDParams->addWidget(m_pctrlOutline, 2,2); + ThreeDParams->addWidget(m_pctrlFoilNames, 3,1); + ThreeDParams->addWidget(m_pctrlMasses, 3,2); + } + + QGridLayout *ThreeDView = new QGridLayout; + { + m_pctrlX = new QPushButton("X"); + m_pctrlY = new QPushButton("Y"); + m_pctrlZ = new QPushButton("Z"); + m_pctrlIso = new QPushButton("Iso"); + + ThreeDView->addWidget(m_pctrlX,1,1); + ThreeDView->addWidget(m_pctrlY,1,2); + ThreeDView->addWidget(m_pctrlZ,2,1); + ThreeDView->addWidget(m_pctrlIso,2,2); + + m_pctrlPickCenter = new QPushButton(tr("Pick Center")); + m_pctrlPickCenter->setToolTip(tr("Activate the button, then click on the object to center it in the viewport; alternatively, double click on the object")); + m_pctrlReset = new QPushButton(tr("Reset")); + m_pctrlPickCenter->setCheckable(true); + + ThreeDView->addWidget(m_pctrlReset,3,1); + ThreeDView->addWidget(m_pctrlPickCenter,3,2); + } + + QHBoxLayout *ClipLayout = new QHBoxLayout; + { + QLabel *ClipLabel = new QLabel(tr("Clip:")); + m_pctrlClipPlanePos = new QSlider(Qt::Horizontal); + m_pctrlClipPlanePos->setMinimum(-300); + m_pctrlClipPlanePos->setMaximum(300); + m_pctrlClipPlanePos->setSliderPosition(0); + m_pctrlClipPlanePos->setTickInterval(30); + m_pctrlClipPlanePos->setTickPosition(QSlider::TicksBelow); + ClipLayout->addWidget(ClipLabel); + ClipLayout->addWidget(m_pctrlClipPlanePos,1); + } + ThreeDViewControls->addLayout(ThreeDParams); + ThreeDViewControls->addLayout(ThreeDView); + ThreeDViewControls->addLayout(ClipLayout); + ThreeDViewControls->addStretch(1); -//_________________________Main Layout - m_pctrlMiddleControls = new QStackedWidget; - m_pctrlMiddleControls->addWidget(DisplayBox); - m_pctrlMiddleControls->addWidget(PolarPropsBox); - m_pctrlMiddleControls->addWidget(CpBox); - - m_pctrBottomControls = new QStackedWidget; - m_pctrBottomControls->addWidget(CurveBox); - m_pctrBottomControls->addWidget(ThreeDViewBox); + } + ThreeDViewBox->setLayout(ThreeDViewControls); + } +//_________________________Main Layout QVBoxLayout *mainLayout = new QVBoxLayout; - //mainLayout->addStretch(1); - mainLayout->addWidget(AnalysisBox); - //mainLayout->addStretch(1); - mainLayout->addWidget(m_pctrlMiddleControls); - //mainLayout->addStretch(1); - mainLayout->addWidget(m_pctrBottomControls); - //mainLayout->addStretch(1); - + { + m_pctrlMiddleControls = new QStackedWidget; + m_pctrlMiddleControls->addWidget(DisplayBox); + m_pctrlMiddleControls->addWidget(PolarPropsBox); + m_pctrlMiddleControls->addWidget(CpBox); + + m_pctrBottomControls = new QStackedWidget; + m_pctrBottomControls->addWidget(CurveBox); + m_pctrBottomControls->addWidget(ThreeDViewBox); + + mainLayout->addWidget(AnalysisBox); + mainLayout->addWidget(m_pctrlMiddleControls); + mainLayout->addWidget(m_pctrBottomControls); + } setLayout(mainLayout); } - void QMiarex::SetWGraphScale() { MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; @@ -14898,83 +14521,87 @@ pGraph->SetXTitle(tr("1/Rt(CL)")); break; case 15: - if(pMainFrame->m_ForceUnit==0) pGraph->SetXTitle(tr("Lift (N)")); - else pGraph->SetXTitle(tr("Lift (lbf)")); + if(pMainFrame->m_ForceUnit==0) pGraph->SetXTitle(tr("Fx (N)")); + else pGraph->SetXTitle(tr("Fx (lbf)")); break; case 16: - if(pMainFrame->m_ForceUnit==0) pGraph->SetXTitle(tr("Drag (N)")); - else pGraph->SetXTitle(tr("Drag (lbf)")); + if(pMainFrame->m_ForceUnit==0) pGraph->SetXTitle(tr("Fy (N)")); + else pGraph->SetXTitle(tr("Fy (lbf)")); break; case 17: - pGraph->SetXTitle(tr("Vx ")+StrSpeed); + if(pMainFrame->m_ForceUnit==0) pGraph->SetXTitle(tr("Fz (N)")); + else pGraph->SetXTitle(tr("Fz (lbf)")); break; case 18: - pGraph->SetXTitle(tr("Vz ")+StrSpeed); + pGraph->SetXTitle(tr("Vx ")+StrSpeed); break; case 19: - pGraph->SetXTitle(tr("V ")+StrSpeed); + pGraph->SetXTitle(tr("Vz ")+StrSpeed); break; case 20: - pGraph->SetXTitle(tr("Gamma")); + pGraph->SetXTitle(tr("V ")+StrSpeed); break; case 21: - pGraph->SetXTitle(tr("Pitching Moment")); + pGraph->SetXTitle(tr("Gamma")); break; case 22: - pGraph->SetXTitle(tr("Rolling Moment")); + pGraph->SetXTitle(tr("Pitching Moment")); break; case 23: - pGraph->SetXTitle(tr("Yawing Moment")); + pGraph->SetXTitle(tr("Rolling Moment")); break; case 24: - pGraph->SetXTitle(tr("XCP ")+ StrLength); + pGraph->SetXTitle(tr("Yawing Moment")); break; case 25: - pGraph->SetXTitle(tr("YCP ")+ StrLength); + pGraph->SetXTitle(tr("XCP ")+ StrLength); break; case 26: - pGraph->SetXTitle(tr("BM ")+ StrMoment); + pGraph->SetXTitle(tr("YCP ")+ StrLength); break; case 27: - pGraph->SetXTitle(tr("m.g.Vz (W)")); + pGraph->SetXTitle(tr("BM ")+ StrMoment); break; case 28: - pGraph->SetXTitle(tr("Efficiency")); + pGraph->SetXTitle(tr("m.g.Vz (W)")); break; case 29: - pGraph->SetXTitle(tr("(XCp-XCG)/MAC(%)")); + pGraph->SetXTitle(tr("Efficiency")); break; case 30: - pGraph->SetXTitle(tr("ctrl")); + pGraph->SetXTitle(tr("(XCp-XCG)/MAC(%)")); break; case 31: - pGraph->SetXTitle(tr("CY")); + pGraph->SetXTitle(tr("ctrl")); break; case 32: - pGraph->SetXTitle(tr("XNP")); + pGraph->SetXTitle(tr("CY")); break; case 33: - pGraph->SetXTitle(tr("Ph. Freq(Hz)")); + pGraph->SetXTitle(tr("XNP")); break; case 34: - pGraph->SetXTitle(tr("Ph. Damping")); + pGraph->SetXTitle(tr("Ph. Freq(Hz)")); break; case 35: - pGraph->SetXTitle(tr("SP Freq (Hz)")); + pGraph->SetXTitle(tr("Ph. Damping")); break; case 36: - pGraph->SetXTitle(tr("SP Damping")); + pGraph->SetXTitle(tr("SP Freq (Hz)")); break; case 37: - pGraph->SetXTitle(tr("DR Freq(Hz)")); + pGraph->SetXTitle(tr("SP Damping")); break; case 38: - pGraph->SetXTitle(tr("DR Damping")); + pGraph->SetXTitle(tr("DR Freq(Hz)")); break; case 39: - pGraph->SetXTitle(tr("Roll Damping")); + pGraph->SetXTitle(tr("DR Damping")); break; case 40: + pGraph->SetXTitle(tr("Roll Damping")); + break; + case 41: pGraph->SetXTitle(tr("Spiral Damping")); break; default: @@ -15030,83 +14657,87 @@ pGraph->SetYTitle(tr("1/Rt(CL)")); break; case 15: - if(pMainFrame->m_ForceUnit==0) pGraph->SetYTitle(tr("Lift (N)")); - else pGraph->SetYTitle(tr("Lift (lbf)")); + if(pMainFrame->m_ForceUnit==0) pGraph->SetYTitle(tr("Fx (N)")); + else pGraph->SetYTitle(tr("Fx (lbf)")); break; case 16: - if(pMainFrame->m_ForceUnit==0) pGraph->SetYTitle(tr("Drag (N)")); - else pGraph->SetYTitle(tr("Drag (lbf)")); + if(pMainFrame->m_ForceUnit==0) pGraph->SetYTitle(tr("Fy (N)")); + else pGraph->SetYTitle(tr("Fy (lbf)")); break; case 17: - pGraph->SetYTitle(tr("Vx ")+StrSpeed); + if(pMainFrame->m_ForceUnit==0) pGraph->SetYTitle(tr("Fz (N)")); + else pGraph->SetYTitle(tr("Fz (lbf)")); break; case 18: - pGraph->SetYTitle(tr("Vz ")+StrSpeed); + pGraph->SetYTitle(tr("Vx ")+StrSpeed); break; case 19: - pGraph->SetYTitle(tr("V ")+StrSpeed); + pGraph->SetYTitle(tr("Vz ")+StrSpeed); break; case 20: - pGraph->SetYTitle(tr("Gamma")); + pGraph->SetYTitle(tr("V ")+StrSpeed); break; case 21: - pGraph->SetYTitle(tr("Pitching Moment")); + pGraph->SetYTitle(tr("Gamma")); break; case 22: - pGraph->SetYTitle(tr("Rolling Moment")); + pGraph->SetYTitle(tr("Pitching Moment")); break; case 23: - pGraph->SetYTitle(tr("Yawing Moment")); + pGraph->SetYTitle(tr("Rolling Moment")); break; case 24: - pGraph->SetYTitle(tr("XCP ")+ StrLength); + pGraph->SetYTitle(tr("Yawing Moment")); break; case 25: - pGraph->SetYTitle(tr("YCP ")+ StrLength); + pGraph->SetYTitle(tr("XCP ")+ StrLength); break; case 26: - pGraph->SetYTitle(tr("BM ")+ StrMoment); + pGraph->SetYTitle(tr("YCP ")+ StrLength); break; case 27: - pGraph->SetYTitle(tr("m.g.Vz (W)")); + pGraph->SetYTitle(tr("BM ")+ StrMoment); break; case 28: - pGraph->SetYTitle(tr("Efficiency")); + pGraph->SetYTitle(tr("m.g.Vz (W)")); break; case 29: - pGraph->SetYTitle(tr("(XCp-XCG)/MAC(%)")); + pGraph->SetYTitle(tr("Efficiency")); break; case 30: - pGraph->SetYTitle(tr("ctrl")); + pGraph->SetYTitle(tr("(XCp-XCG)/MAC(%)")); break; case 31: - pGraph->SetYTitle(tr("CY")); + pGraph->SetYTitle(tr("ctrl")); break; case 32: - pGraph->SetYTitle(tr("XNP")); + pGraph->SetYTitle(tr("CY")); break; case 33: - pGraph->SetYTitle(tr("Ph. Freq(Hz)")); + pGraph->SetYTitle(tr("XNP")); break; case 34: - pGraph->SetYTitle(tr("Ph. Damping")); + pGraph->SetYTitle(tr("Ph. Freq(Hz)")); break; case 35: - pGraph->SetYTitle(tr("SP Freq (Hz)")); + pGraph->SetYTitle(tr("Ph. Damping")); break; case 36: - pGraph->SetYTitle(tr("SP Damping")); + pGraph->SetYTitle(tr("SP Freq (Hz)")); break; case 37: - pGraph->SetYTitle(tr("DR Freq(Hz)")); + pGraph->SetYTitle(tr("SP Damping")); break; case 38: - pGraph->SetYTitle(tr("DR Damping")); + pGraph->SetYTitle(tr("DR Freq(Hz)")); break; case 39: - pGraph->SetYTitle(tr("Roll Damping")); + pGraph->SetYTitle(tr("DR Damping")); break; case 40: + pGraph->SetYTitle(tr("Roll Damping")); + break; + case 41: pGraph->SetYTitle(tr("Spiral Damping")); break; default: @@ -15116,6 +14747,7 @@ } + void QMiarex::showEvent(QShowEvent *event) { SetAnalysisParams(); @@ -15378,7 +15010,7 @@ else { if(!pMainFrame->m_bReverseZoom) ZoomFactor = 1.06; - else ZoomFactor = 1./1.06; + else ZoomFactor = 1./1.06; } if(m_iView==W3DVIEW || (m_iView==WSTABVIEW&&m_iStabilityView==STAB3DVIEW)) @@ -15428,8 +15060,6 @@ } - - void QMiarex::OnWPolarProps() { if(!m_pCurWPolar) return; @@ -15589,7 +15219,7 @@ } // flap controls - for(int iw=0; iw<4; iw++) + for(int iw=0; iw<MAXWINGS; iw++) { pWing = m_pWingList[iw]; if(pWing) diff -Nru xflr5-6.05/src/Miarex/Miarex.h xflr5-6.06/src/Miarex/Miarex.h --- xflr5-6.05/src/Miarex/Miarex.h 2011-07-06 05:13:34.000000000 +0900 +++ xflr5-6.06/src/Miarex/Miarex.h 2012-01-21 06:06:38.000000000 +0900 @@ -1,6 +1,6 @@ /**************************************************************************** - Miarex Copyright (C) 2008-2010 Andre Deperrois XFLR5@xxxxxxxxx + Miarex Copyright (C) 2008-2012 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -249,19 +249,12 @@ void showEvent(QShowEvent *event); void mouseDoubleClickEvent (QMouseEvent *event); - void ClientToGL(QPoint const &point, CVector &real); - void GLToClient(CVector const &real, QPoint &point); - void GLDrawFoils(); void GLDrawMasses(); void GLInverseMatrix(); void GLRenderView(); - void GLRenderSphere(QColor cr, double radius, int NumLongitudes, int NumLatitudes); - void GLSetupLight(); - void GLDrawAxes(); void GLCallViewLists(); void GLDraw3D(); - void NormalVector(GLdouble p1[3], GLdouble p2[3], GLdouble p3[3], GLdouble n[3]); void Set3DRotationCenter(); void Set3DRotationCenter(QPoint point); @@ -334,7 +327,7 @@ void PaintCurWOppLegend(QPainter &painter); int CreateBodyElements(); - int CreateElements(CSurface *pSurface); + int CreateWingElements(CSurface *pSurface); int IsWakeNode(CVector &Pt); int IsNode(CVector &Pt); @@ -450,7 +443,7 @@ CVector m_L[(MAXBODYFRAMES+1)*(MAXSIDELINES+1)]; //temporary points to save calculation times for body NURBS surfaces CVector m_T[(MAXBODYFRAMES+1)*(MAXSIDELINES+1)]; - CSurface *m_pSurface[8*MAXPANELS]; // An array with the pointers to the wings surfaces + CSurface *m_pSurface[8*MAXSPANSECTIONS]; // An array with the pointers to the wings surfaces QList<void *> *m_poaFoil; // a pointer to the foil array QList<void *> *m_poaPolar; // a pointer to the foil polar array @@ -481,6 +474,7 @@ bool m_bResetglMesh; // true if the mesh OpenGL list needs to be re-generated bool m_bResetglWake; // true if the wake OpenGL list needs to be re-generated bool m_bResetglOpp, m_bResetglLift, m_bResetglDrag, m_bResetglDownwash; // true if the OpenGL lists need to be re-generated + bool m_bResetglPanelForce, m_bResetglPanelCp; bool m_bResetglStream; // true if the streamlines OpenGL list needs to be re-generated bool m_bResetglLegend; //needs to be reset is window has been resized bool m_bResetglBody; // true if the openGL list for the body needs to be re-generated @@ -597,8 +591,6 @@ CPlane * m_pCurPlane; // the currently selected Plane CBody *m_pCurBody; // the currently selected body - CWing *m_pWingList[4]; // pointers to the four wings of the currently selected plane - CWOpp *m_pWOpp[4]; // pointers to the operating points of the four wings of the currently selected plane CVector P,W,V,T; @@ -674,7 +666,9 @@ CPanel m_WakePanel[VLMMAXMATSIZE]; // the reference current wake panel array CPanel m_RefWakePanel[VLMMAXMATSIZE]; // the reference wake panel array if wake needs to be reset - + CWing *m_pWingList[MAXWINGS]; // pointers to the four wings of the currently selected plane + CWOpp *m_pWOpp[MAXWINGS]; // pointers to the operating points of the four wings of the currently selected plane + }; #endif // QMIAREX_H diff -Nru xflr5-6.05/src/Miarex/PanelAnalysisDlg.cpp xflr5-6.06/src/Miarex/PanelAnalysisDlg.cpp --- xflr5-6.05/src/Miarex/PanelAnalysisDlg.cpp 2011-06-28 04:32:59.000000000 +0900 +++ xflr5-6.06/src/Miarex/PanelAnalysisDlg.cpp 2012-01-23 02:03:59.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** PanelAnalysisDlg Class - Copyright (C) 2009-2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009-2012 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -54,7 +54,6 @@ m_QInfMax = 0.0; m_QInfDelta = 0.0; - m_pWPolar = NULL; RFF = 10.0; eps = 1.e-7; @@ -97,7 +96,6 @@ m_pPlane = NULL; m_ppSurface = NULL; - m_pWPolar = NULL; // m_ppPanel = NULL; m_pPanel = NULL; @@ -169,15 +167,16 @@ nrhs = (int)fabs((m_AlphaMax-m_Alpha)*1.0001/m_AlphaDelta) + 1; if(!m_bSequence) nrhs = 1; - else if(nrhs>=100) + else if(nrhs>=VLMMAXRHS) { - QMessageBox::warning(this, tr("Warning"),tr("The number of points to be calculated will be limited to 100")); - nrhs = 100; + QString strange = QString("The number of points to be calculated will be limited to %1").arg(VLMMAXRHS); + QMessageBox::warning(this, tr("Warning"), strange); + nrhs = VLMMAXRHS; } int MaxWakeIter = 1; - int Size= m_MatSize; - if(m_b3DSymetric) Size = m_SymSize; +// int Size= m_MatSize; +// if(m_b3DSymetric) Size = m_SymSize; //ESTIMATED UNIT TIMES FOR OPERATIONS @@ -461,8 +460,8 @@ CVector V, VS, C, CC, TrPt; double phi, phiSym; - double PHC[MAXSTATIONS]; - CVector VHC[MAXSTATIONS]; + double PHC[MAXSPANSTATIONS]; + CVector VHC[MAXSPANSTATIONS]; AddString(tr(" Adding the wake's contribution...")+"\n"); @@ -601,17 +600,17 @@ // is set arbitrarily to the geometrical orgin so that phi = V.dot(WindDirectio) x point_position //______________________________________________________________________________________ // - int kw, lw, pw, p, pp, Size; + int kw, lw, pw, p, pp; static CVector V, VS, C, CC, TrPt; double phi, phiSym; - double PHC[MAXSTATIONS]; - CVector VHC[MAXSTATIONS]; + double PHC[MAXSPANSTATIONS]; + CVector VHC[MAXSPANSTATIONS]; AddString(tr(" Adding the wake's contribution...")+"\n"); - if(m_b3DSymetric) Size = m_SymSize; - else Size = m_MatSize; +// if(m_b3DSymetric) Size = m_SymSize; +// else Size = m_MatSize; int m, mm; m = mm = 0; @@ -734,7 +733,7 @@ QString strong; int i, q, pos; - double alpha, Lift, IDrag, *Mu, *Sigma; + double alpha, IDrag, *Mu, *Sigma; double ThinSize = 0.0; CVector WindNormal, Force, WingForce; @@ -743,7 +742,7 @@ AddString(tr(" Calculating aerodynamic coefficients in the far field plane")+"\n"); - for(i=0; i<4; i++) + for(i=0; i<MAXWINGS; i++) { if(m_pWingList[i]) ThinSize += (double)m_pWingList[i]->m_MatSize; } @@ -760,7 +759,7 @@ } else alpha = m_OpAlpha; WindNormal.Set(-sin(alpha*PI/180.0), 0.0, cos(alpha*PI/180.0)); - Lift = 0.0; +// Lift = 0.0; pos = 0; Mu = m_Mu + q*m_MatSize; Sigma = m_Sigma + q*m_MatSize; @@ -775,17 +774,17 @@ WingForce.Set(0.0, 0.0, 0.0); m_pWingList[i]->PanelTrefftz(QInf, alpha, Mu, Sigma, pos, WingForce, IDrag, m_pWPolar, m_pWakePanel, m_pWakeNode); - m_WingForce[q*4+i] = WingForce; + m_WingForce[q*MAXWINGS+i] = WingForce; Force += WingForce; //save the results... will save another FF calculation when computing operating point - m_WingIDrag[q*4+i] = IDrag; + m_WingIDrag[q*MAXWINGS+i] = IDrag; - memcpy(m_Cl + q*4*MAXSTATIONS + i*MAXSTATIONS, m_pWingList[i]->m_Cl, m_pWingList[i]->m_NStation*sizeof(double)); - memcpy(m_ICd + q*4*MAXSTATIONS + i*MAXSTATIONS, m_pWingList[i]->m_ICd, m_pWingList[i]->m_NStation*sizeof(double)); - memcpy(m_Ai + q*4*MAXSTATIONS + i*MAXSTATIONS, m_pWingList[i]->m_Ai, m_pWingList[i]->m_NStation*sizeof(double)); - memcpy(m_F + q*4*MAXSTATIONS + i*MAXSTATIONS, m_pWingList[i]->m_F, m_pWingList[i]->m_NStation*sizeof(CVector)); - memcpy(m_Vd + q*4*MAXSTATIONS + i*MAXSTATIONS, m_pWingList[i]->m_Vd, m_pWingList[i]->m_NStation*sizeof(CVector)); + memcpy(m_Cl + q*MAXWINGS*MAXSPANSTATIONS + i*MAXSPANSTATIONS, m_pWingList[i]->m_Cl, m_pWingList[i]->m_NStation*sizeof(double)); + memcpy(m_ICd + q*MAXWINGS*MAXSPANSTATIONS + i*MAXSPANSTATIONS, m_pWingList[i]->m_ICd, m_pWingList[i]->m_NStation*sizeof(double)); + memcpy(m_Ai + q*MAXWINGS*MAXSPANSTATIONS + i*MAXSPANSTATIONS, m_pWingList[i]->m_Ai, m_pWingList[i]->m_NStation*sizeof(double)); + memcpy(m_F + q*MAXWINGS*MAXSPANSTATIONS + i*MAXSPANSTATIONS, m_pWingList[i]->m_F, m_pWingList[i]->m_NStation*sizeof(CVector)); + memcpy(m_Vd + q*MAXWINGS*MAXSPANSTATIONS + i*MAXSPANSTATIONS, m_pWingList[i]->m_Vd, m_pWingList[i]->m_NStation*sizeof(CVector)); pos += m_pWingList[i]->m_MatSize; @@ -886,14 +885,14 @@ //scale the strip force and downwash fields for (q=0; q<nval;q++) { - for(i=0; i<4; i++) + for(i=0; i<MAXWINGS; i++) { if(m_pWingList[i]) { for(int m=0; m<m_pWingList[i]->m_NStation; m++) { - m_F[ m+ q*4*MAXSTATIONS + i*MAXSTATIONS] *= m_3DQInf[q] * m_3DQInf[q]; - m_Vd[m+ q*4*MAXSTATIONS + i*MAXSTATIONS] *= m_3DQInf[q] * m_3DQInf[q]; + m_F[ m+ q*MAXWINGS*MAXSPANSTATIONS + i*MAXSPANSTATIONS] *= m_3DQInf[q] * m_3DQInf[q]; + m_Vd[m+ q*MAXWINGS*MAXSPANSTATIONS + i*MAXSPANSTATIONS] *= m_3DQInf[q] * m_3DQInf[q]; } } } @@ -988,20 +987,20 @@ pos = 0; - for(int iw=0; iw<4; iw++) + for(int iw=0; iw<MAXWINGS; iw++) { if(m_pWingList[iw]) { AddString(tr(" Calculating wing...") + m_pWingList[iw]->m_WingName+"\n"); //restore the saved FF results - Force += m_WingForce[qrhs*4+iw]; - IDrag += m_WingIDrag[qrhs*4+iw]; + Force += m_WingForce[qrhs*MAXWINGS+iw]; + IDrag += m_WingIDrag[qrhs*MAXWINGS+iw]; - memcpy(m_pWingList[iw]->m_Cl, m_Cl + qrhs*4*MAXSTATIONS + iw*MAXSTATIONS, m_pWingList[iw]->m_NStation*sizeof(double)); - memcpy(m_pWingList[iw]->m_ICd, m_ICd + qrhs*4*MAXSTATIONS + iw*MAXSTATIONS, m_pWingList[iw]->m_NStation*sizeof(double)); - memcpy(m_pWingList[iw]->m_Ai, m_Ai + qrhs*4*MAXSTATIONS + iw*MAXSTATIONS, m_pWingList[iw]->m_NStation*sizeof(double)); - memcpy(m_pWingList[iw]->m_F, m_F + qrhs*4*MAXSTATIONS + iw*MAXSTATIONS, m_pWingList[iw]->m_NStation*sizeof(CVector)); - memcpy(m_pWingList[iw]->m_Vd, m_Vd + qrhs*4*MAXSTATIONS + iw*MAXSTATIONS, m_pWingList[iw]->m_NStation*sizeof(CVector)); + memcpy(m_pWingList[iw]->m_Cl, m_Cl + qrhs*MAXWINGS*MAXSPANSTATIONS + iw*MAXSPANSTATIONS, m_pWingList[iw]->m_NStation*sizeof(double)); + memcpy(m_pWingList[iw]->m_ICd, m_ICd + qrhs*MAXWINGS*MAXSPANSTATIONS + iw*MAXSPANSTATIONS, m_pWingList[iw]->m_NStation*sizeof(double)); + memcpy(m_pWingList[iw]->m_Ai, m_Ai + qrhs*MAXWINGS*MAXSPANSTATIONS + iw*MAXSPANSTATIONS, m_pWingList[iw]->m_NStation*sizeof(double)); + memcpy(m_pWingList[iw]->m_F, m_F + qrhs*MAXWINGS*MAXSPANSTATIONS + iw*MAXSPANSTATIONS, m_pWingList[iw]->m_NStation*sizeof(CVector)); + memcpy(m_pWingList[iw]->m_Vd, m_Vd + qrhs*MAXWINGS*MAXSPANSTATIONS + iw*MAXSPANSTATIONS, m_pWingList[iw]->m_NStation*sizeof(CVector)); //Get viscous interpolations m_pWingList[iw]->PanelComputeViscous(QInf, Alpha, m_pWPolar, WingVDrag, m_pWPolar->m_bViscous, OutString); @@ -1267,7 +1266,7 @@ //following VSAERO theory manual //the on-body tangential perturbation speed is the derivative of the doublet strength int p, q; - static double Alpha, *Mu, * Sigma, *Cp; + static double Alpha, *Mu, *Cp; static CVector Qp, VInf, VLocal; double Speed2, cosa, sina; @@ -1286,7 +1285,7 @@ VInf = Qp * m_3DQInf[q]; Mu = m_Mu + q * m_MatSize; - Sigma = m_Sigma + q * m_MatSize; +// Sigma = m_Sigma + q * m_MatSize; Cp = m_Cp + q * m_MatSize; for (p=0; p<m_MatSize; p++) @@ -1316,7 +1315,7 @@ VInf = Qp * m_3DQInf[q]; Mu = m_Mu + q * m_MatSize; - Sigma = m_Sigma + q * m_MatSize; +// Sigma = m_Sigma + q * m_MatSize; Cp = m_Cp + q * m_MatSize; for (p=0; p<m_MatSize; p++) @@ -1595,6 +1594,41 @@ } +void PanelAnalysisDlg::GetSpeedVector(CVector const &C, float *Mu, float *Sigma, CVector &VT, bool bAll) +{ + CVector V; + int pp, pw, lw; + double phi, sign; + + VT.Set(0.0,0.0,0.0); + + for (pp=0; pp<m_MatSize;pp++) + { + if(m_bCancel) return; + + if(m_pPanel[pp].m_iPos!=0) //otherwise Sigma[pp] =0.0, so contribution is zero also + { + GetSourceInfluence(C, m_pPanel+pp, V, phi); + VT += V * Sigma[pp] ; + } + GetDoubletInfluence(C, m_pPanel+pp, V, phi, false, bAll); + + VT += V * Mu[pp]; + + // Is the panel pp shedding a wake ? + if(m_pPanel[pp].m_bIsTrailing && m_pPanel[pp].m_iPos!=0) + { + //If so, we need to add the contribution of the wake column shedded by this panel + if(m_pPanel[pp].m_iPos==-1) sign=-1.0; else sign=1.0; + pw = m_pPanel[pp].m_iWake; + for(lw=0; lw<m_pWPolar->m_NXWakePanels; lw++) + { + GetDoubletInfluence(C, m_pWakePanel+pw+lw, V, phi, true, bAll); + VT += V * Mu[pp]*sign; + } + } + } +} void PanelAnalysisDlg::InitDialog() { m_Progress = 0.0; @@ -1801,7 +1835,7 @@ bool PanelAnalysisDlg::ReLoop() { QString str; - int nrhs, Size; + int nrhs; double Alpha = 0.0; QMiarex *pMiarex = (QMiarex*)s_pMiarex; @@ -1810,16 +1844,17 @@ nrhs = (int)fabs((m_QInfMax-m_QInf)*1.0001/m_QInfDelta) +1 ; if(!m_bSequence) nrhs = 1; - else if(nrhs>=100) + else if(nrhs>=VLMMAXRHS) { - QMessageBox::warning(this, tr("Warning"),tr("The number of points to be calculated will be limited to 100")); - nrhs = 100; + QString strange = QString("The number of points to be calculated will be limited to %1").arg(VLMMAXRHS); + QMessageBox::warning(this, tr("Warning"), strange); + nrhs = VLMMAXRHS; } // int MaxWakeIter = 1; - if(m_b3DSymetric) Size = m_SymSize; - else Size = m_MatSize; +// if(m_b3DSymetric) Size = m_SymSize; +// else Size = m_MatSize; //ESTIMATED UNIT TIMES FOR OPERATIONS @@ -2213,15 +2248,15 @@ // The doublet and source strengths are for a unit speed // The scaling to speed is performed at the next step, depending on the polar type // - int nrhs, q, p; + int q, p; double alpha, cosa, sina; - int Size = m_MatSize; - if(m_b3DSymetric) Size = m_SymSize; +// int Size = m_MatSize; +// if(m_b3DSymetric) Size = m_SymSize; AddString(" Calculating doublet strength...\n"); - if(m_pWPolar->m_Type!=FIXEDAOAPOLAR) nrhs = nval; - else nrhs = 0; +// if(m_pWPolar->m_Type!=FIXEDAOAPOLAR) nrhs = nval; +// else nrhs = 0; //______________________________________________________________________________________ // reconstruct all results from cosine and sine unit vectors @@ -2397,17 +2432,18 @@ nrhs = (int)fabs((m_AlphaMax-m_Alpha)*1.0001/m_AlphaDelta) + 1; if(!m_bSequence) nrhs = 1; - else if(nrhs>=100) + else if(nrhs>=VLMMAXRHS) { - QMessageBox::warning(this, tr("Warning"),tr("The number of points to be calculated will be limited to 100")); - nrhs = 100; + QString strange = QString("The number of points to be calculated will be limited to %1").arg(VLMMAXRHS); + QMessageBox::warning(this, tr("Warning"), strange); + nrhs = VLMMAXRHS; } if(!m_pWPolar->m_bWakeRollUp) MaxWakeIter = 1; else MaxWakeIter = qMax(m_MaxWakeIter, 1); - int Size = m_MatSize; - if(m_b3DSymetric) Size = m_SymSize; +// int Size = m_MatSize; +// if(m_b3DSymetric) Size = m_SymSize; //ESTIMATED UNIT TIMES FOR OPERATIONS @@ -2787,10 +2823,11 @@ if(!m_bSequence) nrhs = 1; else if(nrhs==0) nrhs = 1;//compute at least nominal control positions, even if none is active nor defined - else if(nrhs>=100) + else if(nrhs>=VLMMAXRHS) { - QMessageBox::warning(this, tr("Warning"), "The number of points to be calculated will be limited to 100"); - nrhs = 100; + QString strange = QString("The number of points to be calculated will be limited to %1").arg(VLMMAXRHS); + QMessageBox::warning(this, tr("Warning"), strange); + nrhs = VLMMAXRHS; } double TotalTime = 10.0*(double)m_MatSize/400. //BuildInfluenceMatrix @@ -3029,7 +3066,7 @@ void PanelAnalysisDlg::ComputeNDStabDerivatives() { QString str; - double b, S, mac, q, theta0, Cw0, Cx0, Cz0; + double b, S, mac, q, theta0, Cw0; double mass = m_pWPolar->m_Mass; double rho = m_pWPolar->m_Density; @@ -3040,8 +3077,8 @@ theta0 = 0.0;//steady level flight only ? Cw0 = mass * 9.81/q/S; //E&R p.127 - Cx0 = Cw0 * sin(theta0); //E&R p.119 - Cz0 = -Cw0 * cos(theta0); //E&R p.118 +// Cx0 = Cw0 * sin(theta0); //E&R p.119 +// Cz0 = -Cw0 * cos(theta0); //E&R p.118 //E&R p. 118, table 4.4 CXu = (Xu - rho * u0*S*Cw0*sin(theta0))/(0.5*rho*u0*S); @@ -3678,7 +3715,7 @@ strong+= strange + "\n"; if(m_bTrace) AddString(strong); - if(m_pWPolar->m_BankAngle>PRECISION) + if(fabs(m_pWPolar->m_BankAngle)>PRECISION) { m_radius = u0*u0/9.81/tan(phi); m_W = u0/m_radius; @@ -4009,7 +4046,7 @@ // static CVector WindDirection, H, Force, Moment, V0, is, js, ks; static int j, p, pos, NCtrls; - static double DeltaAngle, SignedDeltaAngle, q,S,b,mac,cosa, sina; + static double DeltaAngle, SignedDeltaAngle, q, S, b, mac, cosa, sina; QString str; Quaternion Quat; diff -Nru xflr5-6.05/src/Miarex/PanelAnalysisDlg.h xflr5-6.06/src/Miarex/PanelAnalysisDlg.h --- xflr5-6.05/src/Miarex/PanelAnalysisDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/PanelAnalysisDlg.h 2012-01-15 19:44:55.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** PanelAnalysisDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009-2012 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -192,8 +192,6 @@ CVector m_Speed[VLMMAXMATSIZE]; - CVector *m_pR[5]; - CVector PJK, a, b, s, T1, T2, T, h; QString m_strOut; QString m_VersionName; @@ -212,10 +210,7 @@ CWPolar *m_pWPolar; - CBody *m_pBody; - - CPlane *m_pPlane; //temp data @@ -225,18 +220,21 @@ CVector R[5]; CVector r0, r1, r2, Psi, t, Far; double r1v,r2v,ftmp, Omega; - + CVector *m_pR[5]; + CVector PJK, a, b, s, T1, T2, T, h; + public: - double m_Ai[ 4*VLMMAXRHS * MAXSTATIONS]; //temporary results from far field calculation - double m_Cl[ 4*VLMMAXRHS * MAXSTATIONS]; //temporary results from far field calculation - double m_ICd[4*VLMMAXRHS * MAXSTATIONS]; - CVector m_F[ 4*VLMMAXRHS * MAXSTATIONS]; - CVector m_Vd[ 4*VLMMAXRHS * MAXSTATIONS]; - CVector m_WingForce[4*VLMMAXRHS]; - double m_WingIDrag[4*VLMMAXRHS]; + double m_Ai[ MAXWINGS*VLMMAXRHS * MAXSPANSTATIONS]; //temporary results from far field calculation + double m_Cl[ MAXWINGS*VLMMAXRHS * MAXSPANSTATIONS]; //temporary results from far field calculation + double m_ICd[MAXWINGS*VLMMAXRHS * MAXSPANSTATIONS]; + CVector m_F[ MAXWINGS*VLMMAXRHS * MAXSPANSTATIONS]; + CVector m_Vd[ MAXWINGS*VLMMAXRHS * MAXSPANSTATIONS]; + CVector m_WingForce[MAXWINGS*VLMMAXRHS]; + double m_WingIDrag[MAXWINGS*VLMMAXRHS]; CWing *m_pWing; //pointer to the geometry class of the wing - CWing * m_pWingList[4]; //pointer to the plane's four wings + CWing * m_pWingList[MAXWINGS]; //pointer to the plane's four wings void GetSpeedVector(CVector const &C, double *Mu, double *Sigma, CVector &VT, bool bAll=true); + void GetSpeedVector(CVector const &C, float *Mu, float *Sigma, CVector &VT, bool bAll=true); public://stability analysis method and variables diff -Nru xflr5-6.05/src/Miarex/PlaneDlg.cpp xflr5-6.06/src/Miarex/PlaneDlg.cpp --- xflr5-6.05/src/Miarex/PlaneDlg.cpp 2011-07-25 02:43:09.000000000 +0900 +++ xflr5-6.06/src/Miarex/PlaneDlg.cpp 2012-01-15 19:44:55.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** PlaneDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009-2012 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,6 +19,13 @@ *****************************************************************************/ +#include <QGridLayout> +#include <QVBoxLayout> +#include <QHBoxLayout> +#include <QGroupBox> +#include <QMessageBox> +#include <math.h> + #include "../Globals.h" #include "../MainFrame.h" @@ -26,12 +33,6 @@ #include "PlaneDlg.h" #include "ImportWingDlg.h" #include "InertiaDlg.h" -#include <QGridLayout> -#include <QVBoxLayout> -#include <QHBoxLayout> -#include <QGroupBox> -#include <QMessageBox> -#include <math.h> QList <void*> *PlaneDlg::s_poaWing; @@ -196,6 +197,7 @@ void PlaneDlg::OnBiplane() { + m_bChanged = true; m_pPlane->m_bBiplane = m_pctrlBiplane->isChecked(); if(m_pPlane->Wing2()) { @@ -518,13 +520,14 @@ } else { + //restore everything m_pPlane->m_NMass = NMass; for(int i=0; i< MAXMASSES; i++) { - MassValue[i] = m_pPlane->m_MassValue[i]; - MassPosition[i] = m_pPlane->m_MassPosition[i]; - MassTag[i] = m_pPlane->m_MassTag[i]; + m_pPlane->m_MassValue[i] = MassValue[i]; + m_pPlane->m_MassPosition[i] = MassPosition[i]; + m_pPlane->m_MassTag[i] = MassTag[i]; } } } @@ -533,10 +536,7 @@ void PlaneDlg::OnPlaneName() { m_pPlane->m_PlaneName = m_pctrlPlaneName->text(); - m_pPlane->m_Wing.m_WingName = m_pPlane->PlaneName()+"_Wing"; - m_pPlane->m_Wing2.m_WingName = m_pPlane->PlaneName()+"_Wing2"; - m_pPlane->m_Stab.m_WingName = m_pPlane->PlaneName()+"_Elev"; - m_pPlane->m_Fin.m_WingName = m_pPlane->PlaneName()+"_Fin"; + m_pPlane->RenameWings(); } @@ -588,10 +588,10 @@ } } } - if(nSurfaces >2*MAXPANELS) + if(nSurfaces >2*MAXSPANSECTIONS) { strong = QString(tr("Total number of wing panels =%1\n Max Number =%2\nA reduction of the number of wing panels is required")) - .arg(nSurfaces).arg(MAXPANELS); + .arg(nSurfaces).arg(MAXSPANSECTIONS); QMessageBox::warning(this, tr("Warning"), strong); return ; } @@ -723,17 +723,14 @@ MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; int i, pos; CBody *pBody = NULL; - if(m_pPlane->Body()) m_pctrlBody->setChecked(true); - else m_pctrlBody->setChecked(false); - + else m_pctrlBody->setChecked(false); m_pctrlBodyList->clear(); for(i=0; i<s_poaBody->size(); i++) { pBody = (CBody*)s_poaBody->at(i); m_pctrlBodyList->addItem(pBody->m_BodyName); } - if(m_pPlane->Body() && pBody) { pos = m_pctrlBodyList->findText(m_pPlane->m_pBody->m_BodyName); @@ -741,8 +738,12 @@ } else { - if(m_pctrlBodyList->count()) m_pctrlBodyList->setCurrentIndex(0); - else m_pctrlBody->setEnabled(false); + if(m_pctrlBodyList->count()) + { + m_pctrlBodyList->setCurrentIndex(0); + m_pctrlBody->setEnabled(true); + } + else m_pctrlBody->setEnabled(false); m_pctrlBodyList->setEnabled(false); m_pctrlXBody->setEnabled(false); m_pctrlZBody->setEnabled(false); diff -Nru xflr5-6.05/src/Miarex/PlaneDlg.h xflr5-6.06/src/Miarex/PlaneDlg.h --- xflr5-6.05/src/Miarex/PlaneDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/PlaneDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** PlaneDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/StabPolarDlg.cpp xflr5-6.06/src/Miarex/StabPolarDlg.cpp --- xflr5-6.05/src/Miarex/StabPolarDlg.cpp 2011-07-02 04:09:24.000000000 +0900 +++ xflr5-6.06/src/Miarex/StabPolarDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** StabPolarDlg Class - Copyright (C) 2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/StabPolarDlg.h xflr5-6.06/src/Miarex/StabPolarDlg.h --- xflr5-6.05/src/Miarex/StabPolarDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/StabPolarDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** StabPolarDlg Class - Copyright (C) 2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/StabViewDlg.cpp xflr5-6.06/src/Miarex/StabViewDlg.cpp --- xflr5-6.05/src/Miarex/StabViewDlg.cpp 2011-07-03 17:30:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/StabViewDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** StabViewDlg Class - Copyright (C) 2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -537,8 +537,8 @@ szPolicyMinimum.setHorizontalPolicy(QSizePolicy::Minimum); szPolicyMinimum.setVerticalPolicy(QSizePolicy::Minimum); QSizePolicy szPolicyMaximum; - szPolicyMaximum.setHorizontalPolicy(QSizePolicy::Expanding); - szPolicyMaximum.setVerticalPolicy(QSizePolicy::Expanding); + szPolicyMaximum.setHorizontalPolicy(QSizePolicy::Maximum); + szPolicyMaximum.setVerticalPolicy(QSizePolicy::Maximum); setSizePolicy(szPolicyMaximum); QFont SymbolFont("Symbol"); diff -Nru xflr5-6.05/src/Miarex/StabViewDlg.h xflr5-6.06/src/Miarex/StabViewDlg.h --- xflr5-6.05/src/Miarex/StabViewDlg.h 2011-05-27 05:15:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/StabViewDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** StabViewDlg Class - Copyright (C) 200-2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 200-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/UFOTableDelegate.cpp xflr5-6.06/src/Miarex/UFOTableDelegate.cpp --- xflr5-6.05/src/Miarex/UFOTableDelegate.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/UFOTableDelegate.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** UFOTableDelegate Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,7 +20,6 @@ *****************************************************************************/ -#include <QtGui> #include "UFOTableDelegate.h" #include "Miarex.h" diff -Nru xflr5-6.05/src/Miarex/UFOTableDelegate.h xflr5-6.06/src/Miarex/UFOTableDelegate.h --- xflr5-6.05/src/Miarex/UFOTableDelegate.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/UFOTableDelegate.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** UFOTableDelegate Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/W3dPrefsDlg.cpp xflr5-6.06/src/Miarex/W3dPrefsDlg.cpp --- xflr5-6.05/src/Miarex/W3dPrefsDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/W3dPrefsDlg.cpp 2012-01-21 06:06:38.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** W3dPrefsDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -169,16 +169,12 @@ void W3dPrefsDlg::OnMasses() { - bool bOK = true; + QColor Color = QColorDialog::getColor(m_MassColor, + this, "Select the color", QColorDialog::ShowAlphaChannel); + if(Color.isValid()) m_MassColor = Color; + m_pctrlMassColor->SetColor(m_MassColor); - QRgb rgb = m_MassColor.rgba(); - rgb = QColorDialog::getRgba(rgb, &bOK); - if(bOK) - { - m_MassColor = QColor::fromRgba(rgb); - m_pctrlMassColor->SetColor(m_MassColor); - } - repaint(); + update(); } void W3dPrefsDlg::OnWingColor() @@ -193,10 +189,11 @@ m_OutlineColor = LPdlg.GetColor(); m_OutlineStyle = LPdlg.GetStyle(); m_OutlineWidth = LPdlg.GetWidth(); + m_pctrlOutline->SetStyle(m_OutlineStyle, m_OutlineWidth, m_OutlineColor); } - repaint(); } + void W3dPrefsDlg::On3DAxis() { LinePickerDlg LPdlg; @@ -210,10 +207,11 @@ m_3DAxisColor = LPdlg.GetColor(); m_3DAxisStyle = LPdlg.GetStyle(); m_3DAxisWidth = LPdlg.GetWidth(); + m_pctrlAxis->SetStyle(m_3DAxisStyle,m_3DAxisWidth, m_3DAxisColor); } - repaint(); } + void W3dPrefsDlg::OnTopTrans() { LinePickerDlg LPdlg; @@ -227,8 +225,8 @@ m_TopColor = LPdlg.GetColor(); m_TopStyle = LPdlg.GetStyle(); m_TopWidth = LPdlg.GetWidth(); + m_pctrlTopTrans->SetStyle(m_TopStyle, m_TopWidth, m_TopColor); } - repaint(); } void W3dPrefsDlg::OnBotTrans() @@ -244,8 +242,8 @@ m_BotColor = LPdlg.GetColor(); m_BotStyle = LPdlg.GetStyle(); m_BotWidth = LPdlg.GetWidth(); + m_pctrlBotTrans->SetStyle(m_BotStyle, m_BotWidth, m_BotColor); } - repaint(); } void W3dPrefsDlg::OnIDrag() @@ -261,8 +259,8 @@ m_IDragColor = LPdlg.GetColor(); m_IDragStyle = LPdlg.GetStyle(); m_IDragWidth = LPdlg.GetWidth(); + m_pctrlInducedDrag->SetStyle(m_IDragStyle, m_IDragWidth, m_IDragColor); } - repaint(); } void W3dPrefsDlg::OnVDrag() @@ -278,8 +276,8 @@ m_VDragColor = LPdlg.GetColor(); m_VDragStyle = LPdlg.GetStyle(); m_VDragWidth = LPdlg.GetWidth(); + m_pctrlViscousDrag->SetStyle(m_VDragStyle, m_VDragWidth, m_VDragColor); } - repaint(); } void W3dPrefsDlg::OnXCP() @@ -295,9 +293,10 @@ m_XCPColor = LPdlg.GetColor(); m_XCPStyle = LPdlg.GetStyle(); m_XCPWidth = LPdlg.GetWidth(); + m_pctrlLift->SetStyle(m_XCPStyle, m_XCPWidth, m_XCPColor); } - repaint(); } + void W3dPrefsDlg::OnMoments() { LinePickerDlg LPdlg; @@ -311,8 +310,8 @@ m_MomentColor = LPdlg.GetColor(); m_MomentStyle = LPdlg.GetStyle(); m_MomentWidth = LPdlg.GetWidth(); + m_pctrlMoments->SetStyle(m_MomentStyle, m_MomentWidth, m_MomentColor); } - repaint(); } void W3dPrefsDlg::OnDownwash() @@ -328,8 +327,8 @@ m_DownwashColor = LPdlg.GetColor(); m_DownwashStyle = LPdlg.GetStyle(); m_DownwashWidth = LPdlg.GetWidth(); + m_pctrlDownwash->SetStyle(m_DownwashStyle, m_DownwashWidth, m_DownwashColor); } - repaint(); } void W3dPrefsDlg::OnStreamLines() @@ -345,10 +344,12 @@ m_StreamLinesColor = LPdlg.GetColor(); m_StreamLinesStyle = LPdlg.GetStyle(); m_StreamLinesWidth = LPdlg.GetWidth(); + m_pctrlStreamLines->SetStyle(m_StreamLinesStyle, m_StreamLinesWidth, m_StreamLinesColor); } - repaint(); + update(); } + void W3dPrefsDlg::OnWakePanels() { LinePickerDlg LPdlg; @@ -362,10 +363,11 @@ m_WakeColor = LPdlg.GetColor(); m_WakeStyle = LPdlg.GetStyle(); m_WakeWidth = LPdlg.GetWidth(); + m_pctrlWakePanels->SetStyle(m_WakeStyle, m_WakeWidth, m_WakeColor); } - repaint(); } + void W3dPrefsDlg::OnVLMMesh() { LinePickerDlg LPdlg; @@ -379,10 +381,11 @@ m_VLMColor = LPdlg.GetColor(); m_VLMStyle = LPdlg.GetStyle(); m_VLMWidth = LPdlg.GetWidth(); + m_pctrlVLMMesh->SetStyle(m_VLMStyle, m_VLMWidth, m_VLMColor); } - repaint(); } + void W3dPrefsDlg::OnShowWake() { m_bWakePanels = m_pctrlShowWake->isChecked(); diff -Nru xflr5-6.05/src/Miarex/W3dPrefsDlg.h xflr5-6.06/src/Miarex/W3dPrefsDlg.h --- xflr5-6.05/src/Miarex/W3dPrefsDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/W3dPrefsDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** W3dPrefsDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/WAdvancedDlg.cpp xflr5-6.06/src/Miarex/WAdvancedDlg.cpp --- xflr5-6.05/src/Miarex/WAdvancedDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/WAdvancedDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** WAdvancedDlg Class - Copyright (C) 2009-2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/WAdvancedDlg.h xflr5-6.06/src/Miarex/WAdvancedDlg.h --- xflr5-6.05/src/Miarex/WAdvancedDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/WAdvancedDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** WAdvancedDlg Class - Copyright (C) 2009-2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/WPolarDlg.cpp xflr5-6.06/src/Miarex/WPolarDlg.cpp --- xflr5-6.05/src/Miarex/WPolarDlg.cpp 2011-06-18 04:48:30.000000000 +0900 +++ xflr5-6.06/src/Miarex/WPolarDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** WPolarDlg Class - Copyright (C) 2009-2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/WPolarDlg.h xflr5-6.06/src/Miarex/WPolarDlg.h --- xflr5-6.05/src/Miarex/WPolarDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/WPolarDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** WPolarDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/WingDelegate.cpp xflr5-6.06/src/Miarex/WingDelegate.cpp --- xflr5-6.05/src/Miarex/WingDelegate.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/WingDelegate.cpp 2012-01-15 19:44:55.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** WingDelegate Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,7 +20,6 @@ *****************************************************************************/ -//#include <QtGui> #include "../Objects/Foil.h" #include "WingDelegate.h" #include "GL3dWingDlg.h" @@ -42,7 +41,7 @@ editor->SetPrecision(m_Precision[index.column()]); if(index.column()==6) editor->SetMax(MAXCHORDPANELS-1); - if(index.column()==8) editor->SetMax(MAXSTATIONS-1); + if(index.column()==8) editor->SetMax(MAXSPANSTATIONS-1); return editor; } else diff -Nru xflr5-6.05/src/Miarex/WingDelegate.h xflr5-6.06/src/Miarex/WingDelegate.h --- xflr5-6.05/src/Miarex/WingDelegate.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/WingDelegate.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** WingDelegate Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/WingScaleDlg.cpp xflr5-6.06/src/Miarex/WingScaleDlg.cpp --- xflr5-6.05/src/Miarex/WingScaleDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/WingScaleDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** WingScaleDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Miarex/WingScaleDlg.h xflr5-6.06/src/Miarex/WingScaleDlg.h --- xflr5-6.05/src/Miarex/WingScaleDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Miarex/WingScaleDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** WingScaleDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/AboutQ5.cpp xflr5-6.06/src/Misc/AboutQ5.cpp --- xflr5-6.05/src/Misc/AboutQ5.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/AboutQ5.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** AboutQ5 Class - Copyright (C) 2008-2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2008-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +19,6 @@ *****************************************************************************/ -#include <QtGui> #include "AboutQ5.h" #include "../MainFrame.h" #include <QBitmap> @@ -44,7 +43,7 @@ QLabel *lab1 = new QLabel(pMainFrame->m_VersionName); lab1->setAlignment(Qt::AlignVCenter| Qt::AlignLeft); QLabel *XFLR5Link = new QLabel; - XFLR5Link->setText("<a href=http://xflr5.sourceforge.net/xflr5.htm>http://xflr5.sourceforge.net/xflr5.htm</a>"); + XFLR5Link->setText("<a href=http://www.xflr5.com>http://www.xflr5.com</a>"); XFLR5Link->setOpenExternalLinks(true); XFLR5Link->setTextInteractionFlags(Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse); XFLR5Link->setAlignment(Qt::AlignVCenter| Qt::AlignLeft); @@ -57,7 +56,7 @@ QLabel *lab2 = new QLabel(tr("Copyright (C) M. Drela and H. Youngren 2000 - XFoil v6.94")); QLabel *lab3 = new QLabel(tr("Copyright (C) Matthieu Scherrer 2004 - Miarex v1.00")); - QLabel *lab4 = new QLabel(tr("Copyright (C) Andre Deperrois 2003-2011")); + QLabel *lab4 = new QLabel(tr("Copyright (C) Andre Deperrois 2003-2012")); QLabel *lab5 = new QLabel(tr("This program is distributed in the hope that it will be useful,")); QLabel *lab6 = new QLabel(tr("but WITHOUT ANY WARRANTY; without even the implied warranty of")); QLabel *lab7 = new QLabel(tr("MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.")); @@ -65,7 +64,9 @@ QLabel *lab9 = new QLabel(tr("Any other usage is strongly disapproved")); QLabel *lab10 = new QLabel(tr("Program distributed under the terms of the GNU General Public License")); QLabel *lab11 = new QLabel(tr("German translation by Martin Willner (mjw@xxxxxxxxx)")); - QLabel *lab12 = new QLabel(tr("French translation by Jean-Luc Coulon")); + QLabel *lab12 = new QLabel(tr("Japanese translation by IKUSU, Koichi Akabe, Misatus, dynamicsoar, hide253")); + QLabel *lab13 = new QLabel(tr("icchy_07, ina111, ohayo_cycling, ohisa_64, ozawa64.")); + QLabel *lab14 = new QLabel(tr("French translation by Jean-Luc Coulon")); QPushButton *OKButton = new QPushButton(tr("OK")); connect(OKButton, SIGNAL(clicked()),this, SLOT(accept())); @@ -83,6 +84,9 @@ MainLayout->addStretch(1); MainLayout->addWidget(lab11); MainLayout->addWidget(lab12); + MainLayout->addWidget(lab13); + MainLayout->addWidget(lab14); + MainLayout->addSpacing(20); MainLayout->addStretch(1); MainLayout->addWidget(lab5); MainLayout->addWidget(lab6); diff -Nru xflr5-6.05/src/Misc/AboutQ5.h xflr5-6.06/src/Misc/AboutQ5.h --- xflr5-6.05/src/Misc/AboutQ5.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/AboutQ5.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** AboutQ5 Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/ColorButton.cpp xflr5-6.06/src/Misc/ColorButton.cpp --- xflr5-6.05/src/Misc/ColorButton.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/ColorButton.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ColorButton Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/ColorButton.h xflr5-6.06/src/Misc/ColorButton.h --- xflr5-6.05/src/Misc/ColorButton.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/ColorButton.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ColorButton Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/DisplaySettingsDlg.cpp xflr5-6.06/src/Misc/DisplaySettingsDlg.cpp --- xflr5-6.05/src/Misc/DisplaySettingsDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/DisplaySettingsDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** - QDipSettingsDlg Class - Copyright (C) 2008-2008 Andre Deperrois xflr5@xxxxxxxxx + DisplaySettingsDlg Class + Copyright (C) 2008-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -39,7 +39,7 @@ m_pMainFrame = pParent; m_bIsGraphModified = false; m_bReverseZoom = false; - + m_bAlphaChannel = false; SetupLayout(); connect(m_pctrlStyles, SIGNAL(activated(const QString &)),this, SLOT(OnStyleChanged(const QString &))); @@ -99,6 +99,7 @@ FontBox->setLayout(FontLayout); m_pctrlReverseZoom = new QCheckBox(tr("Reverse zoom direction using mouse wheel")); + m_pctrlAlphaChannel = new QCheckBox(tr("Enable 3D transparency")); QHBoxLayout *CommandButtons = new QHBoxLayout; OKButton = new QPushButton(tr("OK")); @@ -121,6 +122,8 @@ MainLayout->addWidget(GraphBox); MainLayout->addStretch(1); MainLayout->addWidget(m_pctrlReverseZoom); + MainLayout->addStretch(1); + MainLayout->addWidget(m_pctrlAlphaChannel); MainLayout->addSpacing(20); MainLayout->addStretch(1); MainLayout->addLayout(CommandButtons); @@ -138,7 +141,7 @@ m_pctrlTextFont->setText(FontName); m_pctrlStyles->setCurrentIndex(m_pctrlStyles->findText(m_StyleName)); m_pctrlReverseZoom->setChecked(m_bReverseZoom); - + m_pctrlAlphaChannel->setChecked(m_bAlphaChannel); QPalette palette = m_pctrlTextClr->palette(); QColor listColor = palette.color(QPalette::Button); if(listColor.isValid()) @@ -163,10 +166,9 @@ void DisplaySettingsDlg::OnBackgroundColor() { - bool bOK = true; - QRgb rgba = m_BackgroundColor.rgba(); - rgba = QColorDialog::getRgba(rgba, &bOK); - m_BackgroundColor = QColor::fromRgba(rgba); + QColor Color = QColorDialog::getColor(m_BackgroundColor); + if(Color.isValid()) m_BackgroundColor = Color; + m_pctrlBackColor->SetColor(m_BackgroundColor); QPalette palette = m_pctrlTextClr->palette(); @@ -267,10 +269,8 @@ void DisplaySettingsDlg::OnTextColor() { - bool bOK = true; - QRgb rgba = m_TextColor.rgba(); - rgba = QColorDialog::getRgba(rgba, &bOK); - m_TextColor = QColor::fromRgba(rgba); + QColor Color = QColorDialog::getColor(m_TextColor); + if(Color.isValid()) m_TextColor = Color; QPalette palette = m_pctrlTextClr->palette(); QColor listColor = palette.color(QPalette::Button); diff -Nru xflr5-6.05/src/Misc/DisplaySettingsDlg.h xflr5-6.06/src/Misc/DisplaySettingsDlg.h --- xflr5-6.05/src/Misc/DisplaySettingsDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/DisplaySettingsDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** DisplaySettingsDlg Class - Copyright (C) 2008-2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2008-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -58,7 +58,7 @@ QPushButton *m_pctrlTextFont; QPushButton *m_pctrlGraphSettings; QPushButton *OKButton, *CancelButton; - QCheckBox *m_pctrlReverseZoom; + QCheckBox *m_pctrlReverseZoom, *m_pctrlAlphaChannel; QComboBox *m_pctrlStyles; QString m_StyleName; @@ -71,7 +71,7 @@ QGraph *m_pRefGraph; QGraph m_MemGraph; bool m_bIsGraphModified; - bool m_bReverseZoom; + bool m_bReverseZoom, m_bAlphaChannel; }; diff -Nru xflr5-6.05/src/Misc/EditPlrDlg.cpp xflr5-6.06/src/Misc/EditPlrDlg.cpp --- xflr5-6.05/src/Misc/EditPlrDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/EditPlrDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** EditPlrDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/EditPlrDlg.h xflr5-6.06/src/Misc/EditPlrDlg.h --- xflr5-6.05/src/Misc/EditPlrDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/EditPlrDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** EditPlrDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/FloatEdit.cpp xflr5-6.06/src/Misc/FloatEdit.cpp --- xflr5-6.05/src/Misc/FloatEdit.cpp 2011-07-06 05:13:34.000000000 +0900 +++ xflr5-6.06/src/Misc/FloatEdit.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** AboutQ5 Class - Copyright (C) 2008-2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2008-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/FloatEdit.h xflr5-6.06/src/Misc/FloatEdit.h --- xflr5-6.05/src/Misc/FloatEdit.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/FloatEdit.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** FloatEdit Class - Copyright (C) 2008-2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2008-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/FloatEditDelegate.cpp xflr5-6.06/src/Misc/FloatEditDelegate.cpp --- xflr5-6.05/src/Misc/FloatEditDelegate.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/FloatEditDelegate.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** FloatEditDelegate Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/FloatEditDelegate.h xflr5-6.06/src/Misc/FloatEditDelegate.h --- xflr5-6.05/src/Misc/FloatEditDelegate.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/FloatEditDelegate.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** FloatEditDelegate Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/LineButton.cpp xflr5-6.06/src/Misc/LineButton.cpp --- xflr5-6.05/src/Misc/LineButton.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/LineButton.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** LineButton Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/LineButton.h xflr5-6.06/src/Misc/LineButton.h --- xflr5-6.05/src/Misc/LineButton.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/LineButton.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** QLineButton Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/LineCbBox.cpp xflr5-6.06/src/Misc/LineCbBox.cpp --- xflr5-6.05/src/Misc/LineCbBox.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/LineCbBox.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** LineCbBox Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/LineCbBox.h xflr5-6.06/src/Misc/LineCbBox.h --- xflr5-6.05/src/Misc/LineCbBox.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/LineCbBox.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** LineCbBox Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/LineDelegate.cpp xflr5-6.06/src/Misc/LineDelegate.cpp --- xflr5-6.05/src/Misc/LineDelegate.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/LineDelegate.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** LineDelegate Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,7 +20,6 @@ *****************************************************************************/ -#include <QtGui> #include "LineDelegate.h" #include "../Globals.h" diff -Nru xflr5-6.05/src/Misc/LineDelegate.h xflr5-6.06/src/Misc/LineDelegate.h --- xflr5-6.05/src/Misc/LineDelegate.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/LineDelegate.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** LineDelegate Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/LinePickerDlg.cpp xflr5-6.06/src/Misc/LinePickerDlg.cpp --- xflr5-6.05/src/Misc/LinePickerDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/LinePickerDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** LinePicker Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,10 +20,16 @@ *****************************************************************************/ -#include <QtGui> +#include <QKeyEvent> +#include <QColorDialog> +#include <QLabel> +#include <QGridLayout> + #include "LinePickerDlg.h" #include "../Globals.h" + + LinePickerDlg::LinePickerDlg(void *pParent) { setWindowTitle(tr("Line Picker")); @@ -164,11 +170,9 @@ void LinePickerDlg::OnColor() { - bool bOK = true; - - QRgb rgb = m_Color.rgba(); - rgb = QColorDialog::getRgba(rgb, &bOK); - m_Color = QColor::fromRgba(rgb); + QColor Color = QColorDialog::getColor(m_Color, + this, "Color Selection", QColorDialog::ShowAlphaChannel); + if(Color.isValid()) m_Color = Color; FillBoxes(); repaint(); diff -Nru xflr5-6.05/src/Misc/LinePickerDlg.h xflr5-6.06/src/Misc/LinePickerDlg.h --- xflr5-6.05/src/Misc/LinePickerDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/LinePickerDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** LinePicker Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/ModDlg.cpp xflr5-6.06/src/Misc/ModDlg.cpp --- xflr5-6.05/src/Misc/ModDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/ModDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ModDlg class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/ModDlg.h xflr5-6.06/src/Misc/ModDlg.h --- xflr5-6.05/src/Misc/ModDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/ModDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ModDlg class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/NewNameDlg.cpp xflr5-6.06/src/Misc/NewNameDlg.cpp --- xflr5-6.05/src/Misc/NewNameDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/NewNameDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** NewNameDlg Classes - Copyright (C) 2010 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/NewNameDlg.h xflr5-6.06/src/Misc/NewNameDlg.h --- xflr5-6.05/src/Misc/NewNameDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/NewNameDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** NewNameDlg Classes - Copyright (C) 2010 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/ObjectPropsDlg.cpp xflr5-6.06/src/Misc/ObjectPropsDlg.cpp --- xflr5-6.05/src/Misc/ObjectPropsDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/ObjectPropsDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ObjectPropsDlg Class - Copyright (C) 2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -47,7 +47,7 @@ void ObjectPropsDlg::SetupLayout() { setMinimumHeight(400); - setMinimumWidth(450); + setMinimumWidth(700); m_pctrlDescription = new QTextEdit; m_pctrlDescription->setFontFamily("Courier"); @@ -85,13 +85,13 @@ { if(m_pPolar) { - m_pPolar->GetPolarProperties(strange); + m_pPolar->GetPolarProperties(strange, true); setWindowTitle(tr("Polar Properties")); } else if(m_pOpp) { - m_pOpp->GetOppProperties(strange); + m_pOpp->GetOppProperties(strange, true); setWindowTitle(tr("Operating Point Properties")); } } @@ -99,12 +99,12 @@ { if(m_pWPolar) { - m_pWPolar->GetPolarProperties(strange); + m_pWPolar->GetPolarProperties(strange, true); setWindowTitle(tr("Polar Properties")); } else if(m_pWOpp) { - m_pWOpp->GetWOppProperties(strange); + m_pWOpp->GetWOppProperties(strange, true); setWindowTitle(tr("Operating Point Properties")); } } diff -Nru xflr5-6.05/src/Misc/ObjectPropsDlg.h xflr5-6.06/src/Misc/ObjectPropsDlg.h --- xflr5-6.05/src/Misc/ObjectPropsDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/ObjectPropsDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ObjectPropsDlg Class - Copyright (C) 2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/PolarFilterDlg.cpp xflr5-6.06/src/Misc/PolarFilterDlg.cpp --- xflr5-6.05/src/Misc/PolarFilterDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/PolarFilterDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** PolarFilterDlg Class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/PolarFilterDlg.h xflr5-6.06/src/Misc/PolarFilterDlg.h --- xflr5-6.05/src/Misc/PolarFilterDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/PolarFilterDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** PolarFilterDlg Class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/ProgressDlg.cpp xflr5-6.06/src/Misc/ProgressDlg.cpp --- xflr5-6.05/src/Misc/ProgressDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/ProgressDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ProgressDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/ProgressDlg.h xflr5-6.06/src/Misc/ProgressDlg.h --- xflr5-6.05/src/Misc/ProgressDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/ProgressDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ProgressDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/RenameDlg.cpp xflr5-6.06/src/Misc/RenameDlg.cpp --- xflr5-6.05/src/Misc/RenameDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/RenameDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** RenameDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,7 +22,7 @@ #include "RenameDlg.h" - +#include <QMessageBox> RenameDlg::RenameDlg(void *pParent) diff -Nru xflr5-6.05/src/Misc/RenameDlg.h xflr5-6.06/src/Misc/RenameDlg.h --- xflr5-6.05/src/Misc/RenameDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/RenameDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** RenameDlg Classes - Copyright (C) 2003-2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,7 +24,13 @@ #define RENAMEDLG_H #include <QDialog> -#include <QtGui> +#include <QLabel> +#include <QVBoxLayout> +#include <QLineEdit> +#include <QPushButton> +#include <QKeyEvent> +#include <QHBoxLayout> +#include <QListWidget> class RenameDlg : public QDialog { diff -Nru xflr5-6.05/src/Misc/SaveOptionsDlg.cpp xflr5-6.06/src/Misc/SaveOptionsDlg.cpp --- xflr5-6.05/src/Misc/SaveOptionsDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/SaveOptionsDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** SaveOptionsDlg - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/SaveOptionsDlg.h xflr5-6.06/src/Misc/SaveOptionsDlg.h --- xflr5-6.05/src/Misc/SaveOptionsDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/SaveOptionsDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** SaveOptionsDlg - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/TranslatorDlg.cpp xflr5-6.06/src/Misc/TranslatorDlg.cpp --- xflr5-6.05/src/Misc/TranslatorDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/TranslatorDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** TranslatorDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -28,7 +28,6 @@ #include <QDir> #include <QMessageBox> #include <QTranslator> -#include <QtDebug> TranslatorDlg::TranslatorDlg(void *pParent) { diff -Nru xflr5-6.05/src/Misc/TranslatorDlg.h xflr5-6.06/src/Misc/TranslatorDlg.h --- xflr5-6.05/src/Misc/TranslatorDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/TranslatorDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** TranslatorDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Misc/UnitsDlg.cpp xflr5-6.06/src/Misc/UnitsDlg.cpp --- xflr5-6.05/src/Misc/UnitsDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/UnitsDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** UnitsDlg Class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -68,6 +68,8 @@ m_pctrlSpeedFactor->setAlignment(Qt::AlignRight | Qt::AlignCenter); m_pctrlForceFactor->setAlignment(Qt::AlignRight | Qt::AlignCenter); m_pctrlMomentFactor->setAlignment(Qt::AlignRight | Qt::AlignCenter); + + UnitsLayout->addWidget(m_pctrlLengthFactor, 1,2); UnitsLayout->addWidget(m_pctrlSurfaceFactor, 2,2); UnitsLayout->addWidget(m_pctrlSpeedFactor, 3,2); @@ -75,12 +77,12 @@ UnitsLayout->addWidget(m_pctrlForceFactor, 5,2); UnitsLayout->addWidget(m_pctrlMomentFactor, 6,2); - m_pctrlLength = new QComboBox; + m_pctrlLength = new QComboBox; m_pctrlSurface = new QComboBox; - m_pctrlSpeed = new QComboBox; - m_pctrlWeight = new QComboBox; - m_pctrlForce = new QComboBox; - m_pctrlMoment = new QComboBox; + m_pctrlSpeed = new QComboBox; + m_pctrlWeight = new QComboBox; + m_pctrlForce = new QComboBox; + m_pctrlMoment = new QComboBox; UnitsLayout->addWidget(m_pctrlLength, 1,3); UnitsLayout->addWidget(m_pctrlSurface, 2,3); UnitsLayout->addWidget(m_pctrlSpeed, 3,3); @@ -89,6 +91,27 @@ UnitsLayout->addWidget(m_pctrlMoment, 6,3); + m_pctrlLengthInvFactor = new QLabel(" "); + m_pctrlSurfaceInvFactor = new QLabel(" "); + m_pctrlWeightInvFactor = new QLabel(" "); + m_pctrlSpeedInvFactor = new QLabel(" "); + m_pctrlForceInvFactor = new QLabel(" "); + m_pctrlMomentInvFactor = new QLabel(" "); + m_pctrlLengthInvFactor->setAlignment(Qt::AlignRight | Qt::AlignCenter); + m_pctrlSurfaceInvFactor->setAlignment(Qt::AlignRight | Qt::AlignCenter); + m_pctrlWeightInvFactor->setAlignment(Qt::AlignRight | Qt::AlignCenter); + m_pctrlSpeedInvFactor->setAlignment(Qt::AlignRight | Qt::AlignCenter); + m_pctrlForceInvFactor->setAlignment(Qt::AlignRight | Qt::AlignCenter); + m_pctrlMomentInvFactor->setAlignment(Qt::AlignRight | Qt::AlignCenter); + UnitsLayout->addWidget(m_pctrlLengthInvFactor, 1,4); + UnitsLayout->addWidget(m_pctrlSurfaceInvFactor, 2,4); + UnitsLayout->addWidget(m_pctrlSpeedInvFactor, 3,4); + UnitsLayout->addWidget(m_pctrlWeightInvFactor, 4,4); + UnitsLayout->addWidget(m_pctrlForceInvFactor, 5,4); + UnitsLayout->addWidget(m_pctrlMomentInvFactor, 6,4); + UnitsLayout->setColumnStretch(4,2); + UnitsLayout->setColumnMinimumWidth(4,220); + QHBoxLayout *CommandButtons = new QHBoxLayout; OKButton = new QPushButton(tr("OK")); @@ -103,6 +126,7 @@ MainLayout->addWidget(m_pctrlQuestion); MainLayout->addLayout(UnitsLayout); MainLayout->addStretch(1); + MainLayout->addSpacing(20); MainLayout->addLayout(CommandButtons); MainLayout->addStretch(1); @@ -125,30 +149,36 @@ { QStringList list; list <<"mm" << "cm"<<"dm"<<"m"<<"in"<<"ft"; + m_pctrlLength->clear(); m_pctrlLength->addItems(list); //5 - m_pctrlSurface->addItem("mm2"); //0 - m_pctrlSurface->addItem("cm2"); //1 - m_pctrlSurface->addItem("dm2"); //2 - m_pctrlSurface->addItem("m2"); //3 - m_pctrlSurface->addItem("in2"); //4 - m_pctrlSurface->addItem("ft2"); //5 + m_pctrlSurface->clear(); + m_pctrlSurface->addItem(QString::fromUtf8("mm²")); //0 + m_pctrlSurface->addItem(QString::fromUtf8("cm²")); //1 + m_pctrlSurface->addItem(QString::fromUtf8("dm²")); //2 + m_pctrlSurface->addItem(QString::fromUtf8("m²")); //3 + m_pctrlSurface->addItem(QString::fromUtf8("in²")); //4 + m_pctrlSurface->addItem(QString::fromUtf8("ft²")); //5 + m_pctrlSpeed->clear(); m_pctrlSpeed->addItem("m/s"); //0 m_pctrlSpeed->addItem("km/h"); //1 m_pctrlSpeed->addItem("ft/s"); //2 m_pctrlSpeed->addItem("kt (int.)"); //3 m_pctrlSpeed->addItem("mph"); //4 + m_pctrlWeight->clear(); m_pctrlWeight->addItem("g"); //0 m_pctrlWeight->addItem("kg"); //1 m_pctrlWeight->addItem("oz"); //2 m_pctrlWeight->addItem("lb"); //3 - m_pctrlForce->addItem("N"); //0 + m_pctrlForce->clear(); + m_pctrlForce->addItem("N"); //0 m_pctrlForce->addItem("lbf"); //1 - m_pctrlMoment->addItem("N.m"); //0 + m_pctrlMoment->clear(); + m_pctrlMoment->addItem("N.m"); //0 m_pctrlMoment->addItem("lbf.in"); //1 m_pctrlMoment->addItem("lbf.ft"); //2 @@ -191,25 +221,38 @@ GetLengthUnit(str,m_Length); strange= QString(" 1 m = %1").arg(m_mtoUnit,15,'f',5); m_pctrlLengthFactor->setText(strange); + strange= "1 "+str+" = " +QString("%1 m").arg(1./m_mtoUnit,15,'f',5); + m_pctrlLengthInvFactor->setText(strange); + GetAreaUnit(str,m_Area); - strange= QString(" 1 m2 = %1").arg(m_m2toUnit,15,'f',5); + strange= QString(QString::fromUtf8(" 1 m² = %1")).arg(m_m2toUnit,15,'f',5); m_pctrlSurfaceFactor->setText(strange); + strange= "1 "+str+" = " +QString("%1 m").arg(1./m_m2toUnit,15,'f',5); + m_pctrlSurfaceInvFactor->setText(strange); GetWeightUnit(str,m_Weight); strange= QString(" 1 kg = %1").arg(m_kgtoUnit,15,'f',5); m_pctrlWeightFactor->setText(strange); + strange= "1 "+str+" = " +QString("%1 kg").arg(1./m_kgtoUnit,15,'f',5); + m_pctrlWeightInvFactor->setText(strange); GetSpeedUnit(str,m_Speed); strange= QString(" 1 m/s = %1").arg(m_mstoUnit,15,'f',5); m_pctrlSpeedFactor->setText(strange); + strange= "1 "+str+" = " +QString("%1 m/s").arg(1./m_mstoUnit,15,'f',5); + m_pctrlSpeedInvFactor->setText(strange); GetForceUnit(str,m_Force); strange= QString(" 1 N = %1").arg(m_NtoUnit,15,'f',5); m_pctrlForceFactor->setText(strange); + strange= "1 "+str+" = " +QString("%1 N").arg(1./m_NtoUnit,15,'f',5); + m_pctrlForceInvFactor->setText(strange); GetMomentUnit(str,m_Moment); strange= QString(" 1 N.m = %1").arg(m_NmtoUnit,15,'f',5); m_pctrlMomentFactor->setText(strange); + strange= "1 "+str+" = " +QString("%1 N.m").arg(1./m_NmtoUnit,15,'f',5); + m_pctrlMomentInvFactor->setText(strange); } diff -Nru xflr5-6.05/src/Misc/UnitsDlg.h xflr5-6.06/src/Misc/UnitsDlg.h --- xflr5-6.05/src/Misc/UnitsDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Misc/UnitsDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** UnitsDlg Class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -49,13 +49,12 @@ QComboBox *m_pctrlSpeed; QComboBox *m_pctrlLength; QComboBox *m_pctrlForce; - QLabel *m_pctrlForceFactor; - QLabel *m_pctrlLengthFactor; - QLabel *m_pctrlSpeedFactor; - QLabel *m_pctrlSurfaceFactor; - QLabel *m_pctrlWeightFactor; - QLabel *m_pctrltrQuestionFactor; - QLabel *m_pctrlMomentFactor; + QLabel *m_pctrlForceFactor, *m_pctrlForceInvFactor; + QLabel *m_pctrlLengthFactor, *m_pctrlLengthInvFactor; + QLabel *m_pctrlSpeedFactor, *m_pctrlSpeedInvFactor; + QLabel *m_pctrlSurfaceFactor, *m_pctrlSurfaceInvFactor; + QLabel *m_pctrlWeightFactor, *m_pctrlWeightInvFactor; + QLabel *m_pctrlMomentFactor, *m_pctrlMomentInvFactor; QLabel *m_pctrlQuestion; private: diff -Nru xflr5-6.05/src/Objects/Body.cpp xflr5-6.06/src/Objects/Body.cpp --- xflr5-6.05/src/Objects/Body.cpp 2011-07-15 04:40:17.000000000 +0900 +++ xflr5-6.06/src/Objects/Body.cpp 2012-01-21 06:06:38.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** CBody Class - Copyright (C) 2007-2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2007-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,13 +27,14 @@ #include <math.h> #include <QMessageBox> #include <QFileDialog> +#include <QtDebug> + void *CBody::s_pMainFrame; double CBody::s_xKnots[MAXBODYFRAMES*2]; double CBody::s_hKnots[MAXSIDELINES*2]; double CBody::s_XPanelPos[300]; -QRect CBody::s_rViewRect; @@ -43,7 +44,7 @@ m_BodyName = QObject::tr("BodyName"); - m_BodyColor = QColor(210,240,240); + m_BodyColor = QColor(200,228, 216); m_BodyStyle = 0; m_BodyWidth = 1; @@ -451,15 +452,17 @@ void CBody::Duplicate(CBody *pBody) { - m_BodyColor = pBody->m_BodyColor; - m_NSideLines = pBody->m_NSideLines; - m_NStations = pBody->m_NStations; - m_nxDegree = pBody->m_nxDegree; - m_nhDegree = pBody->m_nhDegree; - m_nxPanels = pBody->m_nxPanels; - m_nhPanels = pBody->m_nhPanels; - m_LineType = pBody->m_LineType; - m_bClosedSurface = pBody->m_bClosedSurface; + if(!pBody) return; + + m_BodyColor = pBody->m_BodyColor; + m_NSideLines = pBody->m_NSideLines; + m_NStations = pBody->m_NStations; + m_nxDegree = pBody->m_nxDegree; + m_nhDegree = pBody->m_nhDegree; + m_nxPanels = pBody->m_nxPanels; + m_nhPanels = pBody->m_nhPanels; + m_LineType = pBody->m_LineType; + m_bClosedSurface = pBody->m_bClosedSurface; m_BodyDescription = pBody->m_BodyDescription; m_VolumeMass = pBody->m_VolumeMass; @@ -724,14 +727,16 @@ { //returns the point corresponding to the parametric values u and v //assumes that the knots have been set previously - CVector V, Vh; - int i,j; + static CVector V, Vh; + static int i,j; + + V.x= V.y=V.z = 0.0; if(u>=1.0) u=0.99999999999; if(v>=1.0) v=0.99999999999; for(i=0; i<m_NStations; i++) { - Vh.Set(0.0,0.0,0.0); + Vh.x= Vh.y=Vh.z = 0.0; for(j=0; j<m_NSideLines; j++) { cs = SplineBlend(j, m_nhDegree, v, s_hKnots); @@ -1248,16 +1253,16 @@ } + bool CBody::IntersectNURBS(CVector A, CVector B, CVector &I, bool bRight) { //intersect line AB with right or left body surface //intersection point is I - CVector N, tmp, M0, M1; - double u, v, dist, t, tp; + static CVector tmp, M0, M1, J; + double dist2, t; int iter = 0; int itermax = 20; - double dmax = 1.0e-6; - dist = 1000.0;//m + dist2 = 1000.0;//m M0.Set(0.0, A.y, A.z); M1.Set(0.0, B.y, B.z); @@ -1267,7 +1272,7 @@ tmp = A; A = B; B = tmp; } //M0 is the outside Point, M1 is the inside point - M0 = A; M1 = B; + M0 = A; M1 = B; //define which side to intersect with if(M0.y>=0.0) bRight = true; else bRight = false; @@ -1278,34 +1283,62 @@ I = M1; return false; } - + + J.Set(0.0,0.0,0.0); I = (M0+M1)/2.0; t=0.5; - while(dist>dmax && iter<itermax) + while(iter<itermax && dist2>1.e-07) { - //first we get the u parameter corresponding to point I - tp = t; - u = Getu(I.x); - t_Q.Set(I.x, 0.0, 0.0); - t_r = (I-t_Q); - v = Getv(u, t_r, bRight); - GetPoint(u, v, bRight, t_N); - - //project t_N on M0M1 line - t = - ( (M0.x - t_N.x) * (M1.x-M0.x) + (M0.y - t_N.y) * (M1.y-M0.y) + (M0.z - t_N.z)*(M1.z-M0.z)) - /( (M1.x - M0.x) * (M1.x-M0.x) + (M1.y - M0.y) * (M1.y-M0.y) + (M1.z - M0.z)*(M1.z-M0.z)); - - I.x = M0.x + t * (M1.x-M0.x); - I.y = M0.y + t * (M1.y-M0.y); - I.z = M0.z + t * (M1.z-M0.z); - -// dist = sqrt((t_N.x-I.x)*(t_N.x-I.x) + (t_N.y-I.y)*(t_N.y-I.y) + (t_N.z-I.z)*(t_N.z-I.z)); - dist = fabs(t-tp); - iter++; + if(IsInNURBSBody(I)) + { + M1.x = I.x; + M1.y = I.y; + M1.z = I.z; + } + else + { + M0.x = I.x; + M0.y = I.y; + M0.z = I.z; + } + I.x = (M0.x+M1.x)/2.0; + I.y = (M0.y+M1.y)/2.0; + I.z = (M0.z+M1.z)/2.0; + dist2 = (I.x-J.x)*(I.x-J.x) + (I.y-J.y)*(I.y-J.y) + (I.z-J.z)*(I.z-J.z); + J.x = I.x; + J.y = I.y; + J.z = I.z; + iter++; } - return dist<dmax; +// qDebug()<<"Iter="<<iter<<"dist="<<dist2; + return iter<itermax; } +/* +while(dist>dmax && iter<itermax) +{ + //first we get the u parameter corresponding to point I + tp = t; + u = Getu(I.x); + t_Q.Set(I.x, 0.0, 0.0); + t_r = (I-t_Q); + v = Getv(u, t_r, bRight); + GetPoint(u, v, bRight, t_N); + + //project t_N on M0M1 line + t = - ( (M0.x - t_N.x) * (M1.x-M0.x) + (M0.y - t_N.y) * (M1.y-M0.y) + (M0.z - t_N.z)*(M1.z-M0.z)) + /( (M1.x - M0.x) * (M1.x-M0.x) + (M1.y - M0.y) * (M1.y-M0.y) + (M1.z - M0.z)*(M1.z-M0.z)); + + I.x = M0.x + t * (M1.x-M0.x); + I.y = M0.y + t * (M1.y-M0.y); + I.z = M0.z + t * (M1.z-M0.z); + + dist = fabs(t-tp); + iter++; +} +*/ + + bool CBody::IntersectPanels(CVector A, CVector B, CVector &I) { bool b1, b2, b3, b4, b5; @@ -1463,24 +1496,45 @@ bool CBody::IsInNURBSBody(CVector Pt) { - double u, v; - bool bRight; + static double u, v; + static bool bRight; u = Getu(Pt.x); - t_r.Set(0.0, Pt.y, Pt.z); + t_r.x = 0.0; + t_r.y = Pt.y; + t_r.z = Pt.z; - if(Pt.y>=0.0) bRight = true; else bRight = false; + bRight = (Pt.y>=0.0); v = Getv(u, t_r, bRight); GetPoint(u, v, bRight, t_N); t_N.x = 0.0; - if(t_r.VAbs()>t_N.VAbs()) return false; - return true; + return (t_r.VAbs()<=t_N.VAbs()); } +double CBody::DistToNURBSBody(CVector Pt) +{ + static double u, v; + static bool bRight; + + u = Getu(Pt.x); + t_r.x = 0.0; + t_r.y = Pt.y; + t_r.z = Pt.z; + + bRight = (Pt.y>=0.0); + + v = Getv(u, t_r, bRight); + GetPoint(u, v, bRight, t_N); + + t_N.x = 0.0; + + return t_N.VAbs()/t_r.VAbs(); +} + int CBody::ReadFrame(QTextStream &in, int &Line, CFrame *pFrame, double const &Unit) { @@ -1598,8 +1652,9 @@ if(bIsStoring) { - if(ProjectFormat>=5) ar << 1004; + if(ProjectFormat>=5) ar << 1005; else if(ProjectFormat==4) ar << 1002; + //1005 : added body alpha color + provisions //1004 : QFLRv0.03 : added mass properties for inertia calculations //1003 : QFLR5 v0.02 : added body description field //1002 : Added axial and hoop mesh panel numbers for linetype fuselage @@ -1638,7 +1693,8 @@ for(i=0; i<m_NMass; i++) ar << (float)m_MassPosition[i].x << (float)m_MassPosition[i].y << (float)m_MassPosition[i].z; for(i=0; i<m_NMass; i++) WriteCString(ar, m_MassTag[i]); } - ar << 0.0f << 0.0f; + ar << (float)m_BodyColor.alphaF(); + ar << 0.0f; } else { @@ -1704,10 +1760,10 @@ for(i=0; i<m_NMass; i++) ReadCString(ar, m_MassTag[i]); } ar >> f; + if(ArchiveFormat>=1005) m_BodyColor.setAlphaF(f); ar >> f; SetKnots(); - } return true; } @@ -1836,6 +1892,11 @@ ComputeCenterLine(); } +void CBody::Translate(CVector T, bool bFrameOnly, int FrameID) +{ + Translate(T.x, T.y, T.z, bFrameOnly, FrameID); +} + void CBody::UpdateFramePos(int iFrame) { diff -Nru xflr5-6.05/src/Objects/Body.h xflr5-6.06/src/Objects/Body.h --- xflr5-6.05/src/Objects/Body.h 2011-07-15 04:40:17.000000000 +0900 +++ xflr5-6.06/src/Objects/Body.h 2012-01-21 06:06:38.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** CBody Class - Copyright (C) 2007-2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2007-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,6 +26,9 @@ #include "Frame.h" #include "../Params.h" +#include <QTextStream> +#include <QColor> + class CBody { public: @@ -56,6 +59,7 @@ double GetSectionArcLength(double x); double SplineBlend(int const &index, int const &p, double const &t, double *knots); double TotalMass(); + double DistToNURBSBody(CVector Pt); CVector LeadingPoint(); @@ -72,8 +76,9 @@ void InterpolateSurface(); void RemoveActiveFrame(); void RemoveSideLine(int SideLine); - void Scale(double XFactor, double YFactor, double ZFactor, bool bFrameOnly, int FrameID); - void Translate(double XTrans, double YTrans, double ZTrans, bool bFrameOnly, int FrameID); + void Scale(double XFactor, double YFactor, double ZFactor, bool bFrameOnly=false, int FrameID=0); + void Translate(double XTrans, double YTrans, double ZTrans, bool bFrameOnly=false, int FrameID=0); + void Translate(CVector T, bool bFrameOnly=false, int FrameID=0); void SetKnots(); void SetPanelPos(); void UpdateFramePos(int iFrame); @@ -129,7 +134,6 @@ static double s_xKnots[MAXBODYFRAMES*2]; static double s_hKnots[MAXSIDELINES*2]; static double s_XPanelPos[300]; - static QRect s_rViewRect; }; #endif diff -Nru xflr5-6.05/src/Objects/CRectangle.cpp xflr5-6.06/src/Objects/CRectangle.cpp --- xflr5-6.05/src/Objects/CRectangle.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/CRectangle.cpp 1970-01-01 09:00:00.000000000 +0900 @@ -1,185 +0,0 @@ -/**************************************************************************** - - CRectangle Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -*****************************************************************************/ - -////////////////////////////////////////////////////////////////////// -// -// Re-writing of the MFC CRect class -// -////////////////////////////////////////////////////////////////////// -#include <math.h> - -#include "./CRectangle.h" - -CRectangle::CRectangle(void) -{ - left = 0; - right = 0; - top = 0; - bottom = 0; -} - -CRectangle::~CRectangle(void) -{ -} - - -CRectangle::CRectangle(double l,double t,double r,double b) -{ - left = l; - right = r; - top = t; - bottom = b; -} - - -CRectangle::CRectangle(CVector TopLeft, CVector BottomRight) -{ - left = TopLeft.x; - right = BottomRight.x; - top = TopLeft.y; - bottom = BottomRight.y; -} - -CRectangle::CRectangle(CRectangle const &Rect) -{ - left = Rect.left; - right = Rect.right; - top = Rect.top; - bottom = Rect.bottom; -} - -void CRectangle::CopyRect(CRectangle *pRect) -{ - //InflateRect subtracts units from the left and top and adds units to the right and bottom - left = pRect->left; - right = pRect->right; - top = pRect->top; - bottom = pRect->bottom; -} - - - -void CRectangle::DeflateRect(double x, double y) -{ - //DeflateRect adds units to the left and top and subtracts units from the right and bottom - left +=x; - right -=x; - top +=y; - bottom -=y; -} - -void CRectangle::DeflateRect(double l, double t, double r, double b) -{ - //DeflateRect adds units to the left and top and subtracts units from the right and bottom - left +=l; - right -=r; - top +=t; - bottom -=b; -} - -double CRectangle::height() -{ - return(top-bottom); -} - -void CRectangle::InflateRect(double x, double y) -{ - //InflateRect subtracts units from the left and top and adds units to the right and bottom - left -=x; - right +=x; - top -=y; - bottom +=y; -} - -void CRectangle::InflateRect(double l, double t, double r, double b) -{ - //InflateRect subtracts units from the left and top and adds units to the right and bottom - left -=l; - right +=r; - top -=t; - bottom +=b; -} - -bool CRectangle::IsRectEmpty() -{ - if(bottom==top && right==left) return true; - else return false; -} - -void CRectangle::NormalizeRect() -{ - double tmp; - if (left > right) - { - tmp = left; - left = right; - right = tmp; - } - if(bottom>top) - { - tmp = bottom; - bottom = top; - top = tmp; - } -} - - - - -bool CRectangle::PtInRect(CVector pt) -{ - // Differs from the MFC class where, quote - // "A point is within CRect if it lies on the left or top side or is within all four sides. - // A point on the right or bottom side is outside CRect." - - if(left<pt.x && pt.x<right && bottom<pt.y && pt.y<top ) return true; - return false; -} - -void CRectangle::SetRect(double l, double t, double r, double b) -{ - left =l; - right =r; - top =t; - bottom =b; -} - -void CRectangle::SetRect(CRectangle const &Rect) -{ - left = Rect.left; - right = Rect.right; - top = Rect.top; - bottom = Rect.bottom; -} - - -void CRectangle::SetRectEmpty() -{ - left = 0; - right = 0; - top = 0; - bottom = 0; -} - -double CRectangle::width() -{ - return (right-left); -} diff -Nru xflr5-6.05/src/Objects/CRectangle.h xflr5-6.06/src/Objects/CRectangle.h --- xflr5-6.05/src/Objects/CRectangle.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/CRectangle.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,61 +1,157 @@ -/**************************************************************************** - - CRectangle Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -*****************************************************************************/ - -////////////////////////////////////////////////////////////////////// -// -// Re-writing of the MFC CRect class -// -////////////////////////////////////////////////////////////////////// - -#ifndef CRECTANGLE_H -#define CRECTANGLE_H - -#include "CVector.h" - -class CRectangle -{ -public: - CRectangle(void); - ~CRectangle(void); - CRectangle(double l,double t,double r,double b); - CRectangle(CVector TopLeft, CVector BottomRight); - CRectangle(CRectangle const &Rect); - - double left; - double top; - double right; - double bottom; - - bool IsRectEmpty(); - bool PtInRect(CVector pt); - double width(); - double height(); - void SetRectEmpty(); - void DeflateRect(double x, double y); - void DeflateRect(double l, double t, double r, double b); - void InflateRect(double x, double y); - void InflateRect(double l, double t, double r, double b); - void SetRect(double l, double t, double r, double b); - void SetRect(CRectangle const &Rect); - void NormalizeRect(); - void CopyRect(CRectangle *pRect); -}; -#endif +/**************************************************************************** + + CRectangle Class + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +*****************************************************************************/ + + +#ifndef CRECTANGLE_H +#define CRECTANGLE_H + +#include "CVector.h" + +class CRectangle +{ +public: + CRectangle(void) + { + left = 0; + right = 0; + top = 0; + bottom = 0; + }; + + CRectangle(double const &l, double const &t, double const&r, double const&b) + { + left = l; + right = r; + top = t; + bottom = b; + }; + + CRectangle(CVector const &TopLeft, CVector const &BottomRight) + { + left = TopLeft.x; + right = BottomRight.x; + top = TopLeft.y; + bottom = BottomRight.y; + }; + + void CopyRect(CRectangle *pRect) + { + left = pRect->left; + right = pRect->right; + top = pRect->top; + bottom = pRect->bottom; + }; + + + CRectangle(CRectangle const &Rect) + { + left = Rect.left; + right = Rect.right; + top = Rect.top; + bottom = Rect.bottom; + } +// ~CRectangle(void); + + + bool IsRectEmpty() + { + if(bottom==top && right==left) return true; + else return false; + }; + bool PtInRect(CVector const &pt) + { + if(left<pt.x && pt.x<right && bottom<pt.y && pt.y<top ) return true; + return false; + }; + double width(){return (right-left);}; + double height(){return(top-bottom);}; + void SetRectEmpty(){left = right = top = bottom = 0;}; + void DeflateRect(double const &x, double const&y) + { + //DeflateRect adds units to the left and top and subtracts units from the right and bottom + left +=x; + right -=x; + top +=y; + bottom -=y; + }; + + void DeflateRect(double const &l, double const &t, double const&r, double const&b) + { + //DeflateRect adds units to the left and top and subtracts units from the right and bottom + left +=l; + right -=r; + top +=t; + bottom -=b; + }; + + void InflateRect(double const &x, double const&y) + { + //InflateRect subtracts units from the left and top and adds units to the right and bottom + left -=x; + right +=x; + top -=y; + bottom +=y; + }; + void InflateRect(double const &l, double const &t, double const&r, double const&b) + { + //InflateRect subtracts units from the left and top and adds units to the right and bottom + left -=l; + right +=r; + top -=t; + bottom +=b; + }; + void SetRect(double const &l, double const &t, double const&r, double const&b) + { + left =l; + right =r; + top =t; + bottom =b; + }; + void SetRect(CRectangle const &Rect) + { + left = Rect.left; + right = Rect.right; + top = Rect.top; + bottom = Rect.bottom; + }; + void NormalizeRect() + { + double tmp; + if (left > right) + { + tmp = left; + left = right; + right = tmp; + } + if(bottom>top) + { + tmp = bottom; + bottom = top; + top = tmp; + } + }; + + double left; + double top; + double right; + double bottom; +}; +#endif diff -Nru xflr5-6.05/src/Objects/CVector.cpp xflr5-6.06/src/Objects/CVector.cpp --- xflr5-6.05/src/Objects/CVector.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/CVector.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Vector Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Objects/CVector.h xflr5-6.06/src/Objects/CVector.h --- xflr5-6.05/src/Objects/CVector.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/CVector.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** CVector Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Objects/Foil.cpp xflr5-6.06/src/Objects/Foil.cpp --- xflr5-6.05/src/Objects/Foil.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Foil.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Reference Foil Class - Copyright (C) 2003-2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2003-2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Objects/Foil.h xflr5-6.06/src/Objects/Foil.h --- xflr5-6.05/src/Objects/Foil.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Foil.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Reference Foil Class - Copyright (C) 2003-2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003-2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Objects/Frame.cpp xflr5-6.06/src/Objects/Frame.cpp --- xflr5-6.05/src/Objects/Frame.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Frame.cpp 2012-01-11 04:57:52.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** CFrame Class - Copyright (C) 2007-2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2007-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,7 +26,6 @@ #include <math.h> // CFrame -QRect CFrame::s_rViewRect; int CFrame::s_iSelect; CFrame::CFrame() diff -Nru xflr5-6.05/src/Objects/Frame.h xflr5-6.06/src/Objects/Frame.h --- xflr5-6.05/src/Objects/Frame.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Frame.h 2012-01-11 04:57:52.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** CFrame Class - Copyright (C) 2007 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2007 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,8 +22,11 @@ #ifndef CFRAME_H #define CFRAME_H -#include "Spline.h" +//#include "Spline.h" +#include "../Params.h" #include "CRectangle.h" +#include <QDataStream> +#include <QRect> class CFrame : public QObject { @@ -41,9 +44,8 @@ static int s_iSelect; int m_NPoints; // the number of points defining the frame CVector m_Point[MAXSIDELINES]; // the point's positions - CSpline m_Spline; +// CSpline m_Spline; - static QRect s_rViewRect; }; diff -Nru xflr5-6.05/src/Objects/OpPoint.cpp xflr5-6.06/src/Objects/OpPoint.cpp --- xflr5-6.05/src/Objects/OpPoint.cpp 2011-06-12 06:55:22.000000000 +0900 +++ xflr5-6.06/src/Objects/OpPoint.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** OpPoint Class - Copyright (C) 2003 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2003 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,6 +27,9 @@ #include "OpPoint.h" #include "../Globals.h" +#include "../MainFrame.h" + +void *OpPoint::s_pMainFrame; OpPoint::OpPoint() { @@ -196,22 +199,25 @@ } -bool OpPoint::ExportOpp(QTextStream &out, QString Version, int FileType) +bool OpPoint::ExportOpp(QTextStream &out, QString Version, int FileType, bool bDataOnly) { int k; QString strong; - out << Version+"\n"; + if(!bDataOnly) + { + out << Version+"\n"; - strong = m_strFoilName + "\n"; - out<< strong; - strong = m_strPlrName + "\n"; - out<< strong; - if(FileType==1) strong=QString("Alpha = %1, Re = %2, Ma = %3, ACrit =%4 \n\n") - .arg(Alpha,5,'f',1).arg(Reynolds,8,'f',0).arg(Mach,6,'f',4).arg(ACrit,4,'f',1); - else strong=QString("Alpha =, %1, Re =, %2, Ma =, %3, ACrit =, %4 \n\n") - .arg(Alpha,5,'f',1).arg(Reynolds,8,'f',0).arg(Mach,6,'f',4).arg(ACrit,4,'f',1); - out<< strong; + strong = m_strFoilName + "\n"; + out<< strong; + strong = m_strPlrName + "\n"; + out<< strong; + if(FileType==1) strong=QString("Alpha = %1, Re = %2, Ma = %3, ACrit =%4 \n\n") + .arg(Alpha,5,'f',1).arg(Reynolds,8,'f',0).arg(Mach,6,'f',4).arg(ACrit,4,'f',1); + else strong=QString("Alpha =, %1, Re =, %2, Ma =, %3, ACrit =, %4 \n\n") + .arg(Alpha,5,'f',1).arg(Reynolds,8,'f',0).arg(Mach,6,'f',4).arg(ACrit,4,'f',1); + out<< strong; + } if(FileType==1) out << " x Cpi Cpv Qi Qv\n"; else out << "x,Cpi,Cpv,Qi,Qv\n"; @@ -231,7 +237,7 @@ } -void OpPoint::GetOppProperties(QString &OpPointProperties) +void OpPoint::GetOppProperties(QString &OpPointProperties, bool bData) { QString strong; OpPointProperties.clear(); @@ -282,6 +288,14 @@ strong = QString(QObject::tr("L.E. Flap moment")+" = %1 ").arg(m_LEHMom,9,'f',5); OpPointProperties += strong + "\n"; } + + if(!bData) return; + QTextStream out; + strong.clear(); + out.setString(&strong); + MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; + ExportOpp(out, pMainFrame->m_VersionName, pMainFrame->m_ExportFileType, true); + OpPointProperties += "\n"+strong; } diff -Nru xflr5-6.05/src/Objects/OpPoint.h xflr5-6.06/src/Objects/OpPoint.h --- xflr5-6.05/src/Objects/OpPoint.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/OpPoint.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** OpPoint Class - Copyright (C) 2003 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -43,6 +43,7 @@ OpPoint(); private: + static void *s_pMainFrame; bool m_bVisc, m_bDispSurf; bool m_bTEFlap, m_bLEFlap; // int Format; @@ -71,9 +72,9 @@ private: - bool ExportOpp(QTextStream &out, QString Version, int FileType); + bool ExportOpp(QTextStream &out, QString Version, int FileType, bool bDataOnly=false); bool Serialize(QDataStream &ar, bool bIsStoring, int ArchiveFormat=0); - void GetOppProperties(QString &OpPointProperties); + void GetOppProperties(QString &OpPointProperties, bool bData=false); }; #endif diff -Nru xflr5-6.05/src/Objects/POpp.cpp xflr5-6.06/src/Objects/POpp.cpp --- xflr5-6.05/src/Objects/POpp.cpp 2011-07-07 05:22:55.000000000 +0900 +++ xflr5-6.06/src/Objects/POpp.cpp 2012-01-21 06:06:38.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** POpp Class - Copyright (C) 2006-2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2006-2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -51,8 +51,9 @@ m_QInf = 0.0; m_Ctrl = 0.0; - memset(m_Cp, 0, sizeof(m_Cp)); - memset(m_G, 0, sizeof(m_G)); + memset(m_Cp, 0, sizeof(m_Cp)); + memset(m_Sigma, 0, sizeof(m_Sigma)); + memset(m_G, 0, sizeof(m_G)); } @@ -62,11 +63,14 @@ int ArchiveFormat; int a, k; // int p, p0; - float f; + float f, g, h; if(bIsStoring) { - ar << 1007; + if(ProjectFormat>=6) ar << 1009; + else ar << 1007; + //1009 : restored the serialization of Cp, Gamma, Sigma arrays... + //1008 : removed the serialization of Cp, Gamma, Sigma arrays //1007 : added Sideslip Beta //1006 : added Panel's source strengths Sigma //1005 : added second wing results for a biplane @@ -96,10 +100,16 @@ ar << (float)m_Beta; ar << m_NPanels; - for (k=0; k<=m_NPanels; k++) ar << (float)m_Cp[k]; - for (k=0; k<=m_NPanels; k++) ar << (float)m_G[k]; - for (k=0; k<=m_NPanels; k++) ar << (float)m_Sigma[k]; - + if(ProjectFormat<6) + { + for (k=0; k<=m_NPanels; k++) ar << (float)m_Cp[k]; + for (k=0; k<=m_NPanels; k++) ar << (float)m_G[k]; + for (k=0; k<=m_NPanels; k++) ar << (float)m_Sigma[k]; + } + else + { + for (k=0; k<m_NPanels; k++) ar<<(float)m_Cp[k]<<(float)m_Sigma[k]<<(float)m_G[k]; + } ar << m_VLMType; for(int iw=0; iw<MAXWINGS; iw++) @@ -194,32 +204,46 @@ ar >> f; } } - if(ArchiveFormat>=1002) + if(ArchiveFormat>=1002 ) { ar >>m_NPanels; - for (k=0; k<=m_NPanels; k++) + if(ArchiveFormat<=1007) { - ar >> f; - m_Cp[k] = f; + for (k=0; k<=m_NPanels; k++) + { + ar >> f; + // m_Cp[k] = f; + } } } - if(ArchiveFormat>=1003) + if(ArchiveFormat>=1003 && ArchiveFormat<=1007) { for (k=0; k<=m_NPanels; k++) { ar >> f; - if(ArchiveFormat<1004) m_G[k] = f/1000.0; - else m_G[k] = f; +// if(ArchiveFormat<1004) m_G[k] = f/1000.0; +// else m_G[k] = f; } } - if(ArchiveFormat>=1006) + if(ArchiveFormat>=1006 && ArchiveFormat<=1007) { for (k=0; k<=m_NPanels; k++) { ar >> f; - m_Sigma[k] = f; +// m_Sigma[k] = f; + } + } + + if(ArchiveFormat>=1009) + { + for (k=0; k<m_NPanels; k++) + { + ar >> f >> g >> h; + m_Cp[k] = f; + m_Sigma[k] = g; + m_G[k] = h; } } diff -Nru xflr5-6.05/src/Objects/POpp.h xflr5-6.06/src/Objects/POpp.h --- xflr5-6.05/src/Objects/POpp.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/POpp.h 2012-01-21 06:06:38.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** POpp Class - Copyright (C) 2006 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2006 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -39,11 +39,6 @@ bool SerializePOpp(QDataStream &ar, bool bIsStoring, int ProjectFormat); private: -// CWOpp m_WingWOpp; // the wing's operating point -// CWOpp m_Wing2WOpp; // the second wing's operating point -// CWOpp m_StabWOpp; // the elevator's operating point -// CWOpp m_FinWOpp; // the fin's operating point - CWOpp m_PlaneWOpp[MAXWINGS]; QString m_PlaneName; // the plane's name to which the POpp belongs @@ -53,15 +48,12 @@ double m_Beta; double m_Bank; double m_Ctrl; //Control Variable -// double m_Weight; // the plane's weight int m_NStation; // unused int m_Type; // analysis type int m_VLMType; // for future use - bool m_bWing[4]; // main wing, 2nd wing, elevator, fin -// bool m_bBiplane; // if a biplane -// bool m_bStab, m_bFin; // if there is an elevator and a fin, respectively + bool m_bWing[MAXWINGS]; // main wing, 2nd wing, elevator, fin bool m_bVLM1; // true if the POpp is the result of a classic VLM analysis bool m_bOut; // true if the point is unconverged (interpolation outside the polar mesh) bool m_bIsVisible; @@ -72,9 +64,9 @@ QColor m_Color; public: - double m_G[VLMMAXMATSIZE]; // the VLM vortex strengths, or the panel's doublet's strengths - double m_Sigma[VLMMAXMATSIZE]; // the panel's source strengths - double m_Cp[VLMMAXMATSIZE]; // the Cp array + float m_G[VLMMAXMATSIZE]; // the VLM vortex strengths, or the panel's doublet's strengths + float m_Sigma[VLMMAXMATSIZE]; // the panel's source strengths + float m_Cp[VLMMAXMATSIZE]; // the Cp array int m_NPanels; // the number of VLM or 3D-panels }; #endif diff -Nru xflr5-6.05/src/Objects/Panel.cpp xflr5-6.06/src/Objects/Panel.cpp --- xflr5-6.05/src/Objects/Panel.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Panel.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** CPanel Class - Copyright (C) 2006-2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2006-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Objects/Panel.h xflr5-6.06/src/Objects/Panel.h --- xflr5-6.05/src/Objects/Panel.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Panel.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** CPanel Class - Copyright (C) 2006 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2006 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Objects/Pf.cpp xflr5-6.06/src/Objects/Pf.cpp --- xflr5-6.05/src/Objects/Pf.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Pf.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Splined Curve Foil class - Copyright (C) 2004 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2004 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Objects/Pf.h xflr5-6.06/src/Objects/Pf.h --- xflr5-6.05/src/Objects/Pf.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Pf.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Splined Curve Foil class - Copyright (C) 2004 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2004 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Objects/Plane.cpp xflr5-6.06/src/Objects/Plane.cpp --- xflr5-6.05/src/Objects/Plane.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Plane.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** CPlane Class - Copyright (C) 2006-2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2006-2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -328,7 +328,10 @@ void CPlane::Duplicate(CPlane *pPlane) { - m_PlaneName = pPlane->m_PlaneName; + m_PlaneName = pPlane->m_PlaneName; + m_PlaneDescription = pPlane->m_PlaneDescription; + RenameWings(); + m_bFin = pPlane->m_bFin; m_bSymFin = pPlane->m_bSymFin; m_bDoubleFin = pPlane->m_bDoubleFin; @@ -356,6 +359,7 @@ m_Stab.m_WingColor = pPlane->m_Stab.m_WingColor; m_Fin.m_WingColor = pPlane->m_Fin.m_WingColor; + m_TotalMass = pPlane->m_TotalMass; m_CoG = pPlane->m_CoG; m_CoGIxx = pPlane->m_CoGIxx; @@ -373,9 +377,9 @@ m_bBody = pPlane->m_bBody ; m_pBody = pPlane->m_pBody; - m_PlaneDescription = pPlane->m_PlaneDescription; } + double CPlane::TailVolume() { if(m_bStab) return m_TailVolume; diff -Nru xflr5-6.05/src/Objects/Plane.h xflr5-6.06/src/Objects/Plane.h --- xflr5-6.05/src/Objects/Plane.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Plane.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** CPlane Class - Copyright (C) 2006-2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2006-2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Objects/Polar.cpp xflr5-6.06/src/Objects/Polar.cpp --- xflr5-6.05/src/Objects/Polar.cpp 2011-05-29 14:54:09.000000000 +0900 +++ xflr5-6.06/src/Objects/Polar.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Polar Class - Copyright (C) 2003 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2003 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -50,37 +50,41 @@ -void CPolar::ExportPolar(QTextStream &out, int FileType) +void CPolar::ExportPolar(QTextStream &out, int FileType, bool bDataOnly) { QString Header, strong; int j; MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; - strong =pMainFrame->m_VersionName + "\n\n"; - out << strong; - strong =(" Calculated polar for: "); - strong += m_FoilName + "\n\n"; - out << strong; - strong = QString(" %1 %2").arg(m_ReType).arg(m_MaType); - if(m_ReType==1) strong += (" Reynolds number fixed "); - else if(m_ReType==2) strong += (" Reynolds number ~ 1/sqrt(CL)"); - else if(m_ReType==3) strong += (" Reynolds number ~ 1/CL "); - if(m_MaType==1) strong += (" Mach number fixed "); - else if(m_MaType==2) strong += (" Mach number ~ 1/sqrt(CL) "); - else if(m_MaType==3) strong += (" Mach number ~ 1/CL "); - strong +="\n\n"; - out << strong; - strong=QString((" xtrf = %1 (top) %2 (bottom)\n")) - .arg(m_XTop,0,'f',3).arg(m_XBot,0,'f',3); - out << strong; - - strong = QString(" Mach = %1 Re = %2 e 6 Ncrit = %3\n\n") - .arg(m_Mach,7,'f',3).arg(m_Reynolds/1.e6,9,'f',3).arg(m_ACrit,7,'f',3); - out << strong; + + if(!bDataOnly) + { + strong =pMainFrame->m_VersionName + "\n\n"; + out << strong; + strong =(" Calculated polar for: "); + strong += m_FoilName + "\n\n"; + out << strong; + strong = QString(" %1 %2").arg(m_ReType).arg(m_MaType); + if(m_ReType==1) strong += (" Reynolds number fixed "); + else if(m_ReType==2) strong += (" Reynolds number ~ 1/sqrt(CL)"); + else if(m_ReType==3) strong += (" Reynolds number ~ 1/CL "); + if(m_MaType==1) strong += (" Mach number fixed "); + else if(m_MaType==2) strong += (" Mach number ~ 1/sqrt(CL) "); + else if(m_MaType==3) strong += (" Mach number ~ 1/CL "); + strong +="\n\n"; + out << strong; + strong=QString((" xtrf = %1 (top) %2 (bottom)\n")) + .arg(m_XTop,0,'f',3).arg(m_XBot,0,'f',3); + out << strong; + + strong = QString(" Mach = %1 Re = %2 e 6 Ncrit = %3\n\n") + .arg(m_Mach,7,'f',3).arg(m_Reynolds/1.e6,9,'f',3).arg(m_ACrit,7,'f',3); + out << strong; + } if(m_Type != 4) { - if(FileType==1) Header = (" alpha CL CD CDp CM Top Xtr Bot Xtr Cpmin Chinge XCp \n"); - else Header = ("alpha,CL,CD,CDp,CM,Top Xtr,Bot Xtr,Cpmin,Chinge,XCp\n"); + if(FileType==1) Header = (" alpha CL CD CDp Cm Top Xtr Bot Xtr Cpmin Chinge XCp \n"); + else Header = ("alpha,CL,CD,CDp,Cm,Top Xtr,Bot Xtr,Cpmin,Chinge,XCp\n"); out << Header; if(FileType==1) { @@ -89,7 +93,7 @@ } for (j=0; j<m_Alpha.size(); j++) { - if(FileType==1) strong = QString(" %1 %2 %3 %4 %5") + if(FileType==1) strong = QString(" %1 %2 %3 %4 %5") .arg(m_Alpha[j],7,'f',3) .arg(m_Cl[j],7,'f',4) .arg(m_Cd[j],8,'f',5) @@ -116,8 +120,8 @@ } else { - if(FileType==1) Header=QString((" alpha Re CL CD CDp CM Top Xtr Bot Xtr Cpmin Chinge XCp \n")); - else Header=QString(("alpha,Re,CL,CD,CDp,CM,Top Xtr,Bot Xtr,Cpmin,Chinge,XCp\n")); + if(FileType==1) Header=QString((" alpha Re CL CD CDp Cm Top Xtr Bot Xtr Cpmin Chinge XCp \n")); + else Header=QString(("alpha,Re,CL,CD,CDp,Cm,Top Xtr,Bot Xtr,Cpmin,Chinge,XCp\n")); out << Header; if(FileType==1) { @@ -721,7 +725,7 @@ } -void CPolar::GetPolarProperties(QString &PolarProperties) +void CPolar::GetPolarProperties(QString &PolarProperties, bool bData) { QString strong; PolarProperties = m_PlrName +"\n\n"; @@ -777,5 +781,13 @@ PolarProperties += strong; strong = QString(QObject::tr("Number of data points") +" = %1").arg(m_Alpha .size()); - PolarProperties += strong; + PolarProperties += "\n" +strong; + + if(!bData) return; + QTextStream out; + strong.clear(); + out.setString(&strong); + MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; + ExportPolar(out, pMainFrame->m_ExportFileType, true); + PolarProperties += "\n"+strong; } diff -Nru xflr5-6.05/src/Objects/Polar.h xflr5-6.06/src/Objects/Polar.h --- xflr5-6.05/src/Objects/Polar.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Polar.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Polar Class - Copyright (C) 2003 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -64,8 +64,8 @@ void AddData(OpPoint* pOpPoint); void AddData(void* ptrXFoil); - void ExportPolar(QTextStream &out, int FileType); - void GetPolarProperties(QString &PolarProperties); + void ExportPolar(QTextStream &out, int FileType, bool bDataOnly=false); + void GetPolarProperties(QString &PolarProperties, bool bData=false); void ResetPolar(); CPolar(); diff -Nru xflr5-6.05/src/Objects/Quaternion.cpp xflr5-6.06/src/Objects/Quaternion.cpp --- xflr5-6.05/src/Objects/Quaternion.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Quaternion.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Quaternion Class - Copyright (C) 2008-2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2008-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Objects/Quaternion.h xflr5-6.06/src/Objects/Quaternion.h --- xflr5-6.05/src/Objects/Quaternion.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Quaternion.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Quaternion Class - Copyright (C) 2008-2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2008-2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Objects/Sf.cpp xflr5-6.06/src/Objects/Sf.cpp --- xflr5-6.05/src/Objects/Sf.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Sf.cpp 2012-01-23 02:03:59.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Spline Foil Class - Copyright (C) 2003-2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2003-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -31,7 +31,7 @@ { m_FoilStyle = 0; m_FoilWidth = 1; - m_FoilColor = QColor(50,180,130); + m_FoilColor = QColor(119, 183, 83); m_OutPoints = 0; m_bVisible = true; m_bOutPoints = false; diff -Nru xflr5-6.05/src/Objects/Sf.h xflr5-6.06/src/Objects/Sf.h --- xflr5-6.05/src/Objects/Sf.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Sf.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Spline Foil Class - Copyright (C) 2003-2010 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Objects/Spline.cpp xflr5-6.06/src/Objects/Spline.cpp --- xflr5-6.05/src/Objects/Spline.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Spline.cpp 2012-01-13 07:33:39.000000000 +0900 @@ -2,7 +2,7 @@ Spline Class Copyright (C) 1996 Paul Bourke http://astronomy.swin.edu.au/~pbourke/curves/spline/ - Copyright (C) 2003 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -403,15 +403,18 @@ } else { - if (fabs(m_knots[i+p] - m_knots[i])<pres && fabs(m_knots[i+p+1] - m_knots[i+1])<pres) + if (fabs(m_knots[i+p] - m_knots[i])<pres && fabs(m_knots[i+p+1] - m_knots[i+1])<pres) return 0.0; - else if (fabs(m_knots[i+p] - m_knots[i])<pres) + + else if (fabs(m_knots[i+p] - m_knots[i])<pres) return (m_knots[i+p+1]-t) / (m_knots[i+p+1]-m_knots[i+1]) * SplineBlend(i+1, p-1, t); - else if (fabs(m_knots[i+p+1]-m_knots[i+1])<pres) + + else if (fabs(m_knots[i+p+1]-m_knots[i+1])<pres) return (t - m_knots[i]) / (m_knots[i+p] - m_knots[i]) * SplineBlend(i, p-1, t); - else + + else return (t - m_knots[i]) / (m_knots[i+p]-m_knots[i]) * SplineBlend(i, p-1, t) + - (m_knots[i+p+1]-t) / (m_knots[i+p+1]-m_knots[i+1]) * SplineBlend(i+1 ,p-1, t); + (m_knots[i+p+1]-t) / (m_knots[i+p+1]-m_knots[i+1]) * SplineBlend(i+1 ,p-1, t); } } diff -Nru xflr5-6.05/src/Objects/Spline.h xflr5-6.06/src/Objects/Spline.h --- xflr5-6.05/src/Objects/Spline.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Spline.h 2012-01-07 23:31:46.000000000 +0900 @@ -2,7 +2,7 @@ Spline Class Copyright (C) 1996 Paul Bourke http://astronomy.swin.edu.au/~pbourke/curves/spline/ - Copyright (C) 2003 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/Objects/Surface.cpp xflr5-6.06/src/Objects/Surface.cpp --- xflr5-6.05/src/Objects/Surface.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Surface.cpp 2012-01-21 06:06:38.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** CSurface Class - Copyright (C) 2005-2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2005-2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -48,7 +48,6 @@ #include "../Objects/Quaternion.h" - CVector CSurface::LA;//save time by preventing allocation & release of memory CVector CSurface::LB; CVector CSurface::TA; @@ -734,8 +733,8 @@ { QMessageBox msgBox; msgBox.setStandardButtons(QMessageBox::Ok); - msgBox.setWindowTitle(tr("Warning")); - msgBox.setText(tr("Continuous foils for surface do not have the same initial flap angle... aborting\n")); + msgBox.setWindowTitle(QObject::tr("Warning")); + msgBox.setText(QObject::tr("Continuous foils for surface do not have the same initial flap angle... aborting\n")); msgBox.exec(); return false; @@ -869,15 +868,76 @@ } + +void CSurface::SetNormal() +{ + static CVector LATB, TALB; + LATB = m_TB - m_LA; + TALB = m_LB - m_TA; + Normal = LATB * TALB; + Normal.Normalize(); +} + + + void CSurface::SetSidePoints(CBody * pBody, double dx, double dz) { //creates the left and right tip points between which the panels will be interpolated int l; - double cosdA = Normal.dot(NormalA); - double cosdB = Normal.dot(NormalB); - + double cosdA, cosdB; + static CBody TBody; + if(pBody) + { + TBody.Duplicate(pBody); + TBody.Translate(dx, 0.0, dz); + } + + cosdA = Normal.dot(NormalA); + cosdB = Normal.dot(NormalB); + chordA = GetChord(0.0);//todo : compare with |m_LA-m_TA| + chordB = GetChord(1.0); + //SideA, SideB are mid points (VLM) or bottom points (3DPanels) //SideA_T, SideB_T, are top points (3DPanels); + if(m_pFoilA && m_pFoilB) + { + zA = m_pFoilA->GetLowerY(m_xPointA[0])*chordA; + zB = m_pFoilB->GetLowerY(m_xPointB[0])*chordB; + SideA_B[0] = m_TA + NormalA * zA/cosdA; + SideB_B[0] = m_TB + NormalB * zB/cosdB; + + zA = m_pFoilA->GetUpperY(m_xPointA[0])*chordA; + zB = m_pFoilB->GetUpperY(m_xPointB[0])*chordB; + SideA_T[0] = m_TA + NormalA * zA/cosdA; + SideB_T[0] = m_TB + NormalB * zB/cosdB; + + zA = m_pFoilA->GetMidY(m_xPointA[0])*chordA; + zB = m_pFoilB->GetMidY(m_xPointB[0])*chordB; + SideA[0] = m_TA + NormalA * zA/cosdA; + SideB[0] = m_TB + NormalB * zB/cosdB; + } + else + { + SideA[0] = m_TA; + SideB[0] = m_TB; + SideA_T[0] = m_TA; + SideB_T[0] = m_TB; + SideA_B[0] = m_TA; + SideB_B[0] = m_TB; + } + if(pBody && m_bIsCenterSurf && m_bIsLeftSurf) + { + if(TBody.Intersect(SideA_B[0], SideB_B[0], SideB_B[0], false)) m_bJoinRight = false; + if(TBody.Intersect(SideA_T[0], SideB_T[0], SideB_T[0], false)) m_bJoinRight = false; + if(TBody.Intersect(SideA[0], SideB[0], SideB[0], false)) m_bJoinRight = false;; + } + else if(pBody && m_bIsCenterSurf && m_bIsRightSurf) + { + TBody.Intersect(SideA_B[0], SideB_B[0], SideA_B[0], true); + TBody.Intersect(SideA_T[0], SideB_T[0], SideA_T[0], true); + TBody.Intersect(SideA[0], SideB[0], SideA[0], true); + } + for (l=0; l<m_NXPanels; l++) { @@ -886,10 +946,7 @@ xTA = m_xPointA[l]; xTB = m_xPointB[l]; - chordA = GetChord(0.0);//todo : compare with |m_LA-m_TA| - chordB = GetChord(1.0); - - GetPoint(xLA, xLB, 0.0, LA, 0); + GetPoint(xLA, xLB, 0.0, LA, 0); GetPoint(xTA, xTB, 0.0, TA, 0); GetPoint(xLA, xLB, 1.0, LB, 0); @@ -910,29 +967,10 @@ SideB_T[l+1] = LB + NormalB * zB/cosdB; //create middle surface side points - zA = m_pFoilA->GetMidY(xLA)*chordA; zB = m_pFoilB->GetMidY(xLB)*chordB; SideA[l+1] = LA + NormalA * zA/cosdA; SideB[l+1] = LB + NormalB * zB/cosdB; - - if(l==0) - { - zA = m_pFoilA->GetLowerY(xTA)*chordA; - zB = m_pFoilB->GetLowerY(xTB)*chordB; - SideA_B[0] = TA + NormalA * zA/cosdA; - SideB_B[0] = TB + NormalB * zB/cosdB; - - zA = m_pFoilA->GetUpperY(xTA)*chordA; - zB = m_pFoilB->GetUpperY(xTB)*chordB; - SideA_T[0] = TA + NormalA * zA/cosdA; - SideB_T[0] = TB + NormalB * zB/cosdB; - - zA = m_pFoilA->GetMidY(xTA)*chordA; - zB = m_pFoilB->GetMidY(xTB)*chordB; - SideA[0] = TA + NormalA * zA/cosdA; - SideB[0] = TB + NormalB * zB/cosdB; - } } else { @@ -942,104 +980,24 @@ SideB_T[l+1] = LB; SideA_B[l+1] = LA; SideB_B[l+1] = LB; - if(l==0) - { - SideA[0] = TA; - SideB[0] = TB; - SideA_T[0] = TA; - SideB_T[0] = TB; - SideA_B[0] = TA; - SideB_B[0] = TB; - } } - SideA_B[l+1].x -=dx; - SideA_B[l+1].z -=dz; - SideB_B[l+1].x -=dx; - SideB_B[l+1].z -=dz; - SideA_T[l+1].x -=dx; - SideA_T[l+1].z -=dz; - SideB_T[l+1].x -=dx; - SideB_T[l+1].z -=dz; - SideA[l+1].x -=dx; - SideA[l+1].z -=dz; - SideB[l+1].x -=dx; - SideB[l+1].z -=dz; - - if(pBody && m_bIsCenterSurf && m_bIsLeftSurf) { - - if(pBody->Intersect(SideA_B[l+1], SideB_B[l+1], SideB_B[l+1], false)) m_bJoinRight = false; - if(pBody->Intersect(SideA_T[l+1], SideB_T[l+1], SideB_T[l+1], false)) m_bJoinRight = false; - if(pBody->Intersect(SideA[l+1], SideB[l+1], SideB[l+1], false)) m_bJoinRight = false; - + if(TBody.Intersect(SideA_B[l+1], SideB_B[l+1], SideB_B[l+1], false)) m_bJoinRight = false; + if(TBody.Intersect(SideA_T[l+1], SideB_T[l+1], SideB_T[l+1], false)) m_bJoinRight = false; + if(TBody.Intersect(SideA[l+1], SideB[l+1], SideB[l+1], false)) m_bJoinRight = false; } - else if(pBody && m_bIsCenterSurf && m_bIsRightSurf) { - pBody->Intersect(SideA_B[l+1], SideB_B[l+1], SideA_B[l+1], true); - pBody->Intersect(SideA_T[l+1], SideB_T[l+1], SideA_T[l+1], true); - pBody->Intersect(SideA[l+1], SideB[l+1], SideA[l+1], true); - } - - if(l==0) - { - SideA_B[0].x -=dx; - SideA_B[0].z -=dz; - SideB_B[0].x -=dx; - SideB_B[0].z -=dz; - SideA_T[0].x -=dx; - SideA_T[0].z -=dz; - SideB_T[0].x -=dx; - SideB_T[0].z -=dz; - SideA[0].x -=dx; - SideA[0].z -=dz; - SideB[0].x -=dx; - SideB[0].z -=dz; - - if(pBody && m_bIsCenterSurf && m_bIsLeftSurf) - { - if(pBody->Intersect(SideA_B[0], SideB_B[0], SideB_B[0], false)) m_bJoinRight = false; - if(pBody->Intersect(SideA_T[0], SideB_T[0], SideB_T[0], false)) m_bJoinRight = false; - if(pBody->Intersect(SideA[0], SideB[0], SideB[0], false)) m_bJoinRight = false;; - } - else if(pBody && m_bIsCenterSurf && m_bIsRightSurf) - { - pBody->Intersect(SideA_B[0], SideB_B[0], SideA_B[0], true); - pBody->Intersect(SideA_T[0], SideB_T[0], SideA_T[0], true); - pBody->Intersect(SideA[0], SideB[0], SideA[0], true); - } - SideA_B[0].x += dx; - SideA_B[0].z += dz; - SideB_B[0].x += dx; - SideB_B[0].z += dz; - SideA_T[0].x += dx; - SideA_T[0].z += dz; - SideB_T[0].x += dx; - SideB_T[0].z += dz; - SideA[0].x += dx; - SideA[0].z += dz; - SideB[0].x += dx; - SideB[0].z += dz; + TBody.Intersect(SideA_B[l+1], SideB_B[l+1], SideA_B[l+1], true); + TBody.Intersect(SideA_T[l+1], SideB_T[l+1], SideA_T[l+1], true); + TBody.Intersect(SideA[l+1], SideB[l+1], SideA[l+1], true); } - - SideA_B[l+1].x +=dx; - SideA_B[l+1].z +=dz; - SideB_B[l+1].x +=dx; - SideB_B[l+1].z +=dz; - SideA_T[l+1].x +=dx; - SideA_T[l+1].z +=dz; - SideB_T[l+1].x +=dx; - SideB_T[l+1].z +=dz; - SideA[l+1].x +=dx; - SideA[l+1].z +=dz; - SideB[l+1].x +=dx; - SideB[l+1].z +=dz; } //merge trailing edge points in case the foil has a T.E. gap - + CVector Node; Node = (SideA_B[0] + SideA_T[0])/2.0; @@ -1052,17 +1010,6 @@ } - -void CSurface::SetNormal() -{ - static CVector LATB, TALB; - LATB = m_TB - m_LA; - TALB = m_LB - m_TA; - Normal = LATB * TALB; - Normal.Normalize(); -} - - void CSurface::SetTwist() { static CVector A4, B4, L, U, T, O; diff -Nru xflr5-6.05/src/Objects/Surface.h xflr5-6.06/src/Objects/Surface.h --- xflr5-6.05/src/Objects/Surface.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Surface.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** CSurface Class - Copyright (C) 2005-2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2005-2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,10 +27,8 @@ #include "Body.h" #include "CVector.h" -class CSurface : public QObject +class CSurface { - Q_OBJECT - friend class CWing; friend class QMiarex; friend class MainFrame; @@ -69,6 +67,13 @@ void CreateXZSymetric(CSurface const &Surface); void CreateXPoints(); + bool IsCenterSurf() {return m_bIsCenterSurf;} + bool IsLeftSurf() {return m_bIsLeftSurf;} + bool IsRightSurf() {return m_bIsRightSurf;} + bool IsTipLeft() {return m_bIsTipLeft;} + bool IsTipRight() {return m_bIsTipRight;} + bool IsInSymPlane() {return m_bIsInSymPlane;} + bool IsFlapPanel(int const &p); bool IsFlapNode(int const &nNode); bool RotateFlap(double const &Angle, bool bBCOnly=false); @@ -96,6 +101,7 @@ bool m_bIsInSymPlane; bool m_bTEFlap; bool m_bIsLeftSurf, m_bIsRightSurf; + bool m_bIsTipLeft, m_bIsTipRight; bool m_bIsCenterSurf;//true if is either left or right center surface... need to connect to body CVector m_LA, m_LB, m_TA, m_TB; @@ -127,7 +133,6 @@ public: bool m_bJoinRight; //true if the surface's right side should be connected to the next right surface's right left side - for panel analysis only - bool m_bIsTipLeft, m_bIsTipRight; static CVector LA, LB, TA, TB;//leading and trailing corners of strip k int m_NYPanels; int m_NXPanels; diff -Nru xflr5-6.05/src/Objects/WOpp.cpp xflr5-6.06/src/Objects/WOpp.cpp --- xflr5-6.05/src/Objects/WOpp.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/WOpp.cpp 2012-01-15 19:44:55.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** WOpp Class - Copyright (C) 2005-2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2005-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ #include "../Globals.h" #include <math.h> #include <QTextStream> - +#include <QtDebug> void *CWOpp::s_pMainFrame; void *CWOpp::s_pMiarex; @@ -116,7 +116,7 @@ } -bool CWOpp::Export(QTextStream &out, int FileType) +bool CWOpp::Export(QTextStream &out, int FileType, bool bDataOnly) { QString Header, strong, Format; int k; @@ -251,7 +251,7 @@ ar << m_NVLMPanels; for (p=0; p<m_NVLMPanels;p++) ar << (float)m_Cp[p] ; for (p=0; p<m_NVLMPanels;p++) ar << (float)m_G[p] ; - if(m_AnalysisMethod==3) + if(m_AnalysisMethod==PANELMETHOD) { for (p=0; p<m_NVLMPanels;p++) ar << (float)m_Sigma[p] ; } @@ -263,7 +263,7 @@ { ar << (float)m_FlapMoment[k]; } - if(ProjectFormat>=6) + if(ProjectFormat>5) { for(k=0; k<8;k++) { @@ -449,6 +449,7 @@ } } + if(ArchiveFormat>=1009) { for (p=0; p<m_NVLMPanels;p++) @@ -459,7 +460,8 @@ } if(ArchiveFormat>1010) { - if(m_AnalysisMethod==3){ + if(m_AnalysisMethod==PANELMETHOD) + { for (p=0; p<m_NVLMPanels;p++) { ar >> f; m_Sigma[p] = f; @@ -589,7 +591,7 @@ -void CWOpp::GetWOppProperties(QString &WOppProperties) +void CWOpp::GetWOppProperties(QString &WOppProperties, bool bData) { MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; QString strong, strange, lenunit, massunit, speedunit; @@ -628,7 +630,7 @@ strong = QString(QObject::tr("Mass")+" = %1 ").arg(m_Weight*pMainFrame->m_kgtoUnit,7,'f',3); WOppProperties += strong + massunit + "\n"; - if(m_Beta>PRECISION) + if(fabs(m_Beta)>PRECISION) { strong = QString(QObject::tr("Beta")+" = %1").arg(m_Beta,7,'f',2); WOppProperties += strong +QString::fromUtf8("°")+"\n\n"; diff -Nru xflr5-6.05/src/Objects/WOpp.h xflr5-6.06/src/Objects/WOpp.h --- xflr5-6.05/src/Objects/WOpp.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/WOpp.h 2012-01-15 19:44:55.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** WOpp Class - Copyright (C) 2005-2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2005-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -47,9 +47,9 @@ private: //________________METHODS____________________________________ bool SerializeWOpp(QDataStream &ar, bool bIsStoring, int ProjectFormat); - bool Export(QTextStream &out, int FileType); + bool Export(QTextStream &out, int FileType, bool bDataOnly=false); void GetBWStyle(QColor &color, int &style, int &width); - void GetWOppProperties(QString &WOppProperties); + void GetWOppProperties(QString &WOppProperties, bool bData=false); double GetMaxLift(); private: @@ -75,16 +75,16 @@ double m_FirstWakePanel; double m_WakeFactor; double m_Weight; - double m_Twist[MAXSTATIONS+1]; // twist at span stations + float m_Twist[MAXSPANSTATIONS+1]; // twist at span stations //RESULTS - double m_Re[MAXSTATIONS+1]; // Reynolds number at stations - double m_Cm[MAXSTATIONS+1]; //Total pitching moment coefficient at stations - double m_CmAirf[MAXSTATIONS+1]; //airfoil Pitching moment coefficient at stations about 1/4 chord point - double m_BendingMoment[MAXSTATIONS+1]; + float m_Re[MAXSPANSTATIONS+1]; // Reynolds number at stations + float m_Cm[MAXSPANSTATIONS+1]; //Total pitching moment coefficient at stations + float m_CmAirf[MAXSPANSTATIONS+1]; //airfoil Pitching moment coefficient at stations about 1/4 chord point + float m_BendingMoment[MAXSPANSTATIONS+1]; double m_CY, m_CX; //Side force, drag coefficients - double m_MaxBending; // max bending moment along the span + float m_MaxBending; // max bending moment along the span //non dimensional stability derivatives @@ -111,24 +111,24 @@ double m_Span; double m_MAChord; double m_QInf; - double m_Cp[VLMMAXMATSIZE]; // lift coeffs for each panel - double m_G[VLMMAXMATSIZE]; // vortice or doublet strengths - double m_Sigma[VLMMAXMATSIZE]; // source strengths + float m_Cp[VLMMAXMATSIZE]; // lift coeffs for each panel + float m_G[VLMMAXMATSIZE]; // vortice or doublet strengths + float m_Sigma[VLMMAXMATSIZE]; // source strengths double m_Alpha, m_Beta, m_Phi; - double m_SpanPos[MAXSTATIONS+1]; // station spanwise positions - double m_Ai[MAXSTATIONS+1]; //Induced angles, in degrees - double m_Chord[MAXSTATIONS+1]; // chord at stations - double m_ICd[MAXSTATIONS+1]; //Drag coefficient at stations - double m_PCd[MAXSTATIONS+1]; //Drag coefficient at stations - double m_Cl[MAXSTATIONS+1]; //Lift coefficient at stations - double m_XCPSpanRel[MAXSTATIONS+1]; //Centre of pressure position at stations - double m_XCPSpanAbs[MAXSTATIONS+1]; //Centre of pressure position at stations - double m_StripArea[MAXSTATIONS+1]; - double m_XTrTop[MAXSTATIONS+1]; // Transition location - top - double m_XTrBot[MAXSTATIONS+1]; // Transition location - bottom - CVector m_Vd[MAXSTATIONS]; // speed deflection at trailing edge - CVector m_F[MAXSTATIONS]; // Stripforce - double m_FlapMoment[MAXPANELS]; // flap hinge moments + float m_SpanPos[MAXSPANSTATIONS+1]; // station spanwise positions + float m_Ai[MAXSPANSTATIONS+1]; //Induced angles, in degrees + float m_Chord[MAXSPANSTATIONS+1]; // chord at stations + float m_ICd[MAXSPANSTATIONS+1]; //Drag coefficient at stations + float m_PCd[MAXSPANSTATIONS+1]; //Drag coefficient at stations + float m_Cl[MAXSPANSTATIONS+1]; //Lift coefficient at stations + float m_XCPSpanRel[MAXSPANSTATIONS+1]; //Centre of pressure position at stations + float m_XCPSpanAbs[MAXSPANSTATIONS+1]; //Centre of pressure position at stations + float m_StripArea[MAXSPANSTATIONS+1]; + float m_XTrTop[MAXSPANSTATIONS+1]; // Transition location - top + float m_XTrBot[MAXSPANSTATIONS+1]; // Transition location - bottom + CVector m_Vd[MAXSPANSTATIONS]; // speed deflection at trailing edge + CVector m_F[MAXSPANSTATIONS]; // Stripforce + double m_FlapMoment[MAXSPANSECTIONS]; // flap hinge moments double m_CL; // Wing lift coefficient double m_VCD; // wing viscous drag coefficient diff -Nru xflr5-6.05/src/Objects/WPolar.cpp xflr5-6.06/src/Objects/WPolar.cpp --- xflr5-6.05/src/Objects/WPolar.cpp 2011-07-03 17:30:25.000000000 +0900 +++ xflr5-6.06/src/Objects/WPolar.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,2159 +1,2203 @@ -/**************************************************************************** - - WPolar Class - Copyright (C) 2005-2010 Andre Deperrois XFLR5@xxxxxxxxx - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -*****************************************************************************/ - - -#include "WPolar.h" -#include "../Globals.h" -#include "../MainFrame.h" -#include "../Miarex/Miarex.h" -#include <math.h> -#include <QMessageBox> - - -void *CWPolar::s_pMainFrame; -void *CWPolar::s_pMiarex; - -CWPolar::CWPolar() -{ - m_bIsVisible = true; - m_bShowPoints = false; - - m_bVLM1 = true; - m_bThinSurfaces = true; - m_bWakeRollUp = false; - m_bTiltedGeom = false; - m_bViscous = true; -// m_bPolar = true; - m_bGround = false; - m_bDirichlet = true; - m_bAVLControls = false; - - m_NXWakePanels = 1; - m_TotalWakeLength = 1.0; - m_WakePanelFactor =1.1; - - m_AnalysisMethod = 0; - m_Type = 1; - m_RefAreaType = 1; - m_Style = 0; - m_Width = 1; - m_Color = 255;//red - - m_BankAngle = 0.0; - m_Beta = 0.0; - m_QInf = 10.0; - m_Mass = 1.0; -// m_XCmRef = 0.0; - m_ASpec = 0.0; - m_WArea = 0.0; - m_WMAChord = 0.0; - m_WSpan = 0.0; - m_AMem = 0.0; - m_Height = 0.0; - m_Density = 1.225; - m_Viscosity = 1.5e-5;//m2/s - - m_nControls = 0; - memset(m_MinControl, 0, sizeof(m_MinControl)); - memset(m_MaxControl, 0, sizeof(m_MaxControl)); - memset(m_bActiveControl, 0, sizeof(m_bActiveControl)); - memset(m_EigenValue, 0, 2*8*MAXPOLARPOINTS*sizeof(double)); - - m_bAutoInertia = true; - m_CoGIxx = m_CoGIyy = m_CoGIzz = m_CoGIxz =0.0; - m_CoG.Set(0.0,0.0,0.0); -} - - -void CWPolar::AddPoint(CPOpp *pPOpp) -{ - bool bInserted = false; - int i,j,l; - int size = m_Alpha.size(); - MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; - CWOpp *pWOpp = &pPOpp->m_PlaneWOpp[0]; - if(size) - { - for (i=0; i<size; i++) - { - if(m_Type <4) - { - if (fabs(pPOpp->m_Alpha - m_Alpha[i]) < 0.001) - { - // then erase former result - m_Alpha[i] = pWOpp->m_Alpha; - m_QInfinite[i] = pWOpp->m_QInf; - m_Cl[i] = pWOpp->m_CL; - m_CY[i] = pWOpp->m_CY; - m_ICd[i] = pWOpp->m_ICD; - m_PCd[i] = pWOpp->m_VCD; - m_TCd[i] = pWOpp->m_ICD + pWOpp->m_VCD; - - m_GCm[i] = pWOpp->m_GCm; - m_VCm[i] = pWOpp->m_VCm; - m_ICm[i] = pWOpp->m_ICm; - m_GRm[i] = pWOpp->m_GRm; - m_GYm[i] = pWOpp->m_GYm; - m_VYm[i] = pWOpp->m_VYm; - m_IYm[i] = pWOpp->m_IYm; - - m_XCP[i] = pWOpp->m_XCP; - m_YCP[i] = pWOpp->m_YCP; - m_MaxBending[i] = pWOpp->m_MaxBending; - m_Ctrl[i] = pWOpp->m_Ctrl; - m_XNP[i] = pWOpp->m_XNP; - bInserted = true; - break; - } - else if (pPOpp->m_Alpha < m_Alpha[i]) - { - // sort by crescending alphas - m_Alpha.insert(i, pWOpp->m_Alpha); - m_QInfinite.insert(i, pWOpp->m_QInf); - m_Cl.insert(i, pWOpp->m_CL); - m_CY.insert(i, pWOpp->m_CY); - m_ICd.insert(i, pWOpp->m_ICD); - m_PCd.insert(i, pWOpp->m_VCD); - m_TCd.insert(i, pWOpp->m_ICD + pWOpp->m_VCD); - - m_GCm.insert(i, pWOpp->m_GCm); - m_VCm.insert(i, pWOpp->m_VCm); - m_ICm.insert(i, pWOpp->m_ICm); - m_GRm.insert(i, pWOpp->m_GRm); - m_GYm.insert(i, pWOpp->m_GYm); - m_VYm.insert(i, pWOpp->m_VYm); - m_IYm.insert(i, pWOpp->m_IYm); - - m_XCP.insert(i, pWOpp->m_XCP); - m_YCP.insert(i, pWOpp->m_YCP); - m_MaxBending.insert(i, pWOpp->m_MaxBending); - m_Ctrl.insert(i, pWOpp->m_Ctrl); - m_XNP.insert(i, pWOpp->m_XNP); - - m_ShortPeriodDamping.insert(i,0.0); - m_ShortPeriodFrequency.insert(i,0.0); - m_PhugoidDamping.insert(i,0.0); - m_PhugoidFrequency.insert(i,0.0); - m_DutchRollDamping.insert(i,0.0); - m_DutchRollFrequency.insert(i,0.0); - m_RollDamping.insert(i,0.0); - m_SpiralDamping.insert(i,0.0); - - m_1Cl.insert(i,0.0);//make room for computed values - m_ClCd.insert(i,0.0); - m_Cl32Cd.insert(i,0.0); - m_Vx.insert(i,0.0); - m_Vz.insert(i,0.0); - m_L.insert(i,0.0); - m_D.insert(i,0.0); - m_Gamma.insert(i,0.0); - m_Rm.insert(i, 0.0); - m_Pm.insert(i, 0.0); - m_Ym.insert(i, 0.0); - m_VertPower.insert(i, 0.0); - m_Oswald.insert(i, 0.0); - m_SM.insert(i, 0.0); - - bInserted = true; - break; - } - } - else if(m_Type==FIXEDAOAPOLAR) - { - // type 4, sort by speed - if (fabs(pPOpp->m_QInf - m_QInfinite[i]) < 0.001) - { - // then erase former result - m_Alpha[i] = pWOpp->m_Alpha; - m_Cl[i] = pWOpp->m_CL; - m_CY[i] = pWOpp->m_CY; - m_ICd[i] = pWOpp->m_ICD; - m_PCd[i] = pWOpp->m_VCD; - m_TCd[i] = pWOpp->m_ICD + pWOpp->m_VCD; - - m_GCm[i] = pWOpp->m_GCm; - m_VCm[i] = pWOpp->m_VCm; - m_ICm[i] = pWOpp->m_ICm; - m_GRm[i] = pWOpp->m_GRm; - m_GYm[i] = pWOpp->m_GYm; - m_VYm[i] = pWOpp->m_VYm; - m_IYm[i] = pWOpp->m_IYm; - - m_QInfinite[i] = pWOpp->m_QInf; - m_XCP[i] = pWOpp->m_XCP; - m_YCP[i] = pWOpp->m_YCP; - m_MaxBending[i] = pWOpp->m_MaxBending; - m_Ctrl[i] = pWOpp->m_Ctrl; - m_XNP[i] = pWOpp->m_XNP; - bInserted = true; - break; - } - else if (pPOpp->m_QInf < m_QInfinite[i]) - { - // sort by crescending speed - m_Alpha.insert(i, pWOpp->m_Alpha); - m_Cl.insert(i, pWOpp->m_CL); - m_CY.insert(i, pWOpp->m_CY); - m_ICd.insert(i, pWOpp->m_ICD); - m_PCd.insert(i, pWOpp->m_VCD); - m_TCd.insert(i, pWOpp->m_ICD + pWOpp->m_VCD); - - m_GCm.insert(i, pWOpp->m_GCm); - m_VCm.insert(i, pWOpp->m_VCm); - m_ICm.insert(i, pWOpp->m_ICm); - m_GRm.insert(i, pWOpp->m_GRm); - m_GYm.insert(i, pWOpp->m_GYm); - m_VYm.insert(i, pWOpp->m_VYm); - m_IYm.insert(i, pWOpp->m_IYm); - - m_QInfinite.insert(i, pWOpp->m_QInf); - m_XCP.insert(i, pWOpp->m_XCP); - m_YCP.insert(i, pWOpp->m_YCP); - m_MaxBending.insert(i, pWOpp->m_MaxBending); - m_Ctrl.insert(i, pWOpp->m_Ctrl); - m_XNP.insert(i, pWOpp->m_XNP); - - m_ShortPeriodDamping.insert(i,0.0); - m_ShortPeriodFrequency.insert(i,0.0); - m_PhugoidDamping.insert(i,0.0); - m_PhugoidFrequency.insert(i,0.0); - m_DutchRollDamping.insert(i,0.0); - m_DutchRollFrequency.insert(i,0.0); - m_RollDamping.insert(i,0.0); - m_SpiralDamping.insert(i,0.0); - m_1Cl.insert(i,0.0);//make room for computed values - m_ClCd.insert(i,0.0); - m_Cl32Cd.insert(i,0.0); - m_Vx.insert(i,0.0); - m_Vz.insert(i,0.0); - m_L.insert(i,0.0); - m_D.insert(i,0.0); - m_Gamma.insert(i,0.0); - m_Rm.insert(i, 0.0); - m_Pm.insert(i, 0.0); - m_Ym.insert(i, 0.0); - m_VertPower.insert(i, 0.0); - m_Oswald.insert(i, 0.0); - m_SM.insert(i, 0.0); - - bInserted = true; - break; - } - } - else if(m_Type==STABILITYPOLAR) - { - // Control or stability analysis, sort by control value - if (fabs(pPOpp->m_Alpha - m_Alpha[i])<0.0001) - { - // then erase former result - m_Alpha[i] = pWOpp->m_Alpha; - m_Cl[i] = pWOpp->m_CL; - m_CY[i] = pWOpp->m_CY; - m_ICd[i] = pWOpp->m_ICD; - m_PCd[i] = pWOpp->m_VCD; - m_TCd[i] = pWOpp->m_ICD + pWOpp->m_VCD; - - m_GCm[i] = pWOpp->m_GCm; - m_VCm[i] = pWOpp->m_VCm; - m_ICm[i] = pWOpp->m_ICm; - m_GRm[i] = pWOpp->m_GRm; - m_GYm[i] = pWOpp->m_GYm; - m_VYm[i] = pWOpp->m_VYm; - m_IYm[i] = pWOpp->m_IYm; - - m_QInfinite[i] = pWOpp->m_QInf; - m_XCP[i] = pWOpp->m_XCP; - m_YCP[i] = pWOpp->m_YCP; - m_MaxBending[i] = pWOpp->m_MaxBending; - m_Ctrl[i] = pWOpp->m_Ctrl; - m_XNP[i] = pWOpp->m_XNP; - if(m_Type==7) - { - //store the eigenthings - for(l=0; l<8; l++) m_EigenValue[l][i] = pWOpp->m_EigenValue[l]; - } - bInserted = true; - break; - } - else if (pPOpp->m_Ctrl < m_Ctrl[i]) - { - // sort by crescending control values - m_Alpha.insert(i, pWOpp->m_Alpha); - m_Cl.insert(i, pWOpp->m_CL); - m_CY.insert(i, pWOpp->m_CY); - m_ICd.insert(i, pWOpp->m_ICD); - m_PCd.insert(i, pWOpp->m_VCD); - m_TCd.insert(i, pWOpp->m_ICD + pWOpp->m_VCD); - - m_GCm.insert(i, pWOpp->m_GCm); - m_VCm.insert(i, pWOpp->m_VCm); - m_ICm.insert(i, pWOpp->m_ICm); - m_GRm.insert(i, pWOpp->m_GRm); - m_GYm.insert(i, pWOpp->m_GYm); - m_VYm.insert(i, pWOpp->m_VYm); - m_IYm.insert(i, pWOpp->m_IYm); - - m_QInfinite.insert(i, pWOpp->m_QInf); - m_XCP.insert(i, pWOpp->m_XCP); - m_YCP.insert(i, pWOpp->m_YCP); - m_MaxBending.insert(i, pWOpp->m_MaxBending); - m_Ctrl.insert(i, pWOpp->m_Ctrl); - m_XNP.insert(i, pWOpp->m_XNP); - - m_ShortPeriodDamping.insert(i,0.0); - m_ShortPeriodFrequency.insert(i,0.0); - m_PhugoidDamping.insert(i,0.0); - m_PhugoidFrequency.insert(i,0.0); - m_DutchRollDamping.insert(i,0.0); - m_DutchRollFrequency.insert(i,0.0); - m_RollDamping.insert(i,0.0); - m_SpiralDamping.insert(i,0.0); - m_1Cl.insert(i,0.0);//make room for computed values - m_ClCd.insert(i,0.0); - m_Cl32Cd.insert(i,0.0); - m_Vx.insert(i,0.0); - m_Vz.insert(i,0.0); - m_L.insert(i,0.0); - m_D.insert(i,0.0); - m_Gamma.insert(i,0.0); - m_Rm.insert(i, 0.0); - m_Pm.insert(i, 0.0); - m_Ym.insert(i, 0.0); - m_VertPower.insert(i, 0.0); - m_Oswald.insert(i, 0.0); - m_SM.insert(i, 0.0); - - //make room - for(l=0; l<8; l++) - for(j=m_Alpha.size(); j>i; j--) - { - m_EigenValue[l][j] = m_EigenValue[l][j-1]; - } - - //store the eigenthings - for(l=0; l<8; l++) m_EigenValue[l][i] = pWOpp->m_EigenValue[l]; - - bInserted = true; - break; - } - } - } - } - - if(bInserted) CalculatePoint(i); - else - { - // data is appended at the end - int size = m_Alpha.size(); - if(size>=MAXPOLARPOINTS) - { - QString strong = QObject::tr("The max number of polar points has been reached"); - QMessageBox::warning(pMainFrame, QObject::tr("Warning"), strong); - return; - } - m_Alpha.append(pWOpp->m_Alpha); - m_Cl.append(pWOpp->m_CL); - m_CY.append(pWOpp->m_CY); - m_ICd.append(pWOpp->m_ICD); - m_PCd.append(pWOpp->m_VCD); - m_TCd.append(pWOpp->m_ICD + pWOpp->m_VCD); - - m_GCm.append(pWOpp->m_GCm); - m_VCm.append(pWOpp->m_VCm); - m_ICm.append(pWOpp->m_ICm); - m_GRm.append(pWOpp->m_GRm); - m_GYm.append(pWOpp->m_GYm); - m_VYm.append(pWOpp->m_VYm); - m_IYm.append(pWOpp->m_IYm); - - m_QInfinite.append(pWOpp->m_QInf); - m_XCP.append(pWOpp->m_XCP); - m_YCP.append(pWOpp->m_YCP); - m_MaxBending.append(pWOpp->m_MaxBending); - m_Ctrl.append(pWOpp->m_Ctrl); - m_XNP.append(pWOpp->m_XNP); - - m_ShortPeriodDamping.append(0.0); - m_ShortPeriodFrequency.append(0.0); - m_PhugoidDamping.append(0.0); - m_PhugoidFrequency.append(0.0); - m_DutchRollDamping.append(0.0); - m_DutchRollFrequency.append(0.0); - m_RollDamping.append(0.0); - m_SpiralDamping.append(0.0); - - m_1Cl.append(0.0);//make room for computed values - m_ClCd.append(0.0); - m_Cl32Cd.append(0.0); - m_Vx.append(0.0); - m_Vz.append(0.0); - m_L.append(0.0); - m_D.append(0.0); - m_Gamma.append(0.0); - m_Rm.append(0.0); - m_Pm.append(0.0); - m_Ym.append(0.0); - m_VertPower.append(0.0); - m_Oswald.append(0.0); - m_SM.append(0.0); - - if(m_Type==STABILITYPOLAR) - { - //store the eigenthings - for (l=0; l<8; l++) m_EigenValue[l][size] = pWOpp->m_EigenValue[l]; - } - CalculatePoint(size); - } -} - - -void CWPolar::AddPoint(CWOpp *pWOpp) -{ - bool bInserted = false; - int l; - int i=0; - int size = m_Alpha.size(); - if(size) - { - for (i=0; i<size; i++) - { - if(m_Type <4) - { - if (fabs(pWOpp->m_Alpha - m_Alpha[i]) < 0.001) - { - // then erase former result - m_Alpha[i] = pWOpp->m_Alpha; - m_Cl[i] = pWOpp->m_CL; - m_CY[i] = pWOpp->m_CY; - m_ICd[i] = pWOpp->m_ICD; - m_PCd[i] = pWOpp->m_VCD; - m_TCd[i] = pWOpp->m_ICD + pWOpp->m_VCD; - - m_GCm[i] = pWOpp->m_GCm; - m_VCm[i] = pWOpp->m_VCm; - m_ICm[i] = pWOpp->m_ICm; - m_GRm[i] = pWOpp->m_GRm; - m_GYm[i] = pWOpp->m_GYm; - m_VYm[i] = pWOpp->m_VYm; - m_IYm[i] = pWOpp->m_IYm; - - m_QInfinite[i] = pWOpp->m_QInf; - m_XCP[i] = pWOpp->m_XCP; - m_YCP[i] = pWOpp->m_YCP; - m_MaxBending[i] = pWOpp->m_MaxBending; - m_Ctrl[i] = pWOpp->m_Ctrl; - m_XNP[i] = pWOpp->m_XNP; - bInserted = true; - break; - } - else if (pWOpp->m_Alpha < m_Alpha[i]) - { - // sort by crescending alphas - m_Alpha.insert(i, pWOpp->m_Alpha); - m_Cl.insert(i, pWOpp->m_CL); - m_CY.insert(i, pWOpp->m_CY); - m_ICd.insert(i, pWOpp->m_ICD); - m_PCd.insert(i, pWOpp->m_VCD); - m_TCd.insert(i, pWOpp->m_ICD + pWOpp->m_VCD); - - m_GCm.insert(i, pWOpp->m_GCm); - m_VCm.insert(i, pWOpp->m_VCm); - m_ICm.insert(i, pWOpp->m_ICm); - m_GRm.insert(i, pWOpp->m_GRm); - m_GYm.insert(i, pWOpp->m_GYm); - m_VYm.insert(i, pWOpp->m_VYm); - m_IYm.insert(i, pWOpp->m_IYm); - - m_QInfinite.insert(i, pWOpp->m_QInf); - m_XCP.insert(i, pWOpp->m_XCP); - m_YCP.insert(i, pWOpp->m_YCP); - m_MaxBending.insert(i, pWOpp->m_MaxBending); - m_Ctrl.insert(i, pWOpp->m_Ctrl); - m_XNP.insert(i, pWOpp->m_XNP); - - - m_ShortPeriodDamping.insert(i,0.0); - m_ShortPeriodFrequency.insert(i,0.0); - m_PhugoidDamping.insert(i,0.0); - m_PhugoidFrequency.insert(i,0.0); - m_DutchRollDamping.insert(i,0.0); - m_DutchRollFrequency.insert(i,0.0); - m_RollDamping.insert(i,0.0); - m_SpiralDamping.insert(i,0.0); - - m_1Cl.insert(i,0.0);//make room for computed values - m_ClCd.insert(i,0.0); - m_Cl32Cd.insert(i,0.0); - m_Vx.insert(i,0.0); - m_Vz.insert(i,0.0); - m_L.insert(i,0.0); - m_D.insert(i,0.0); - m_Gamma.insert(i,0.0); - m_Rm.insert(i, 0.0); - m_Pm.insert(i, 0.0); - m_Ym.insert(i, 0.0); - m_VertPower.insert(i, 0.0); - m_Oswald.insert(i, 0.0); - m_SM.insert(i, 0.0); - - bInserted = true; - break; - } - } - else if (m_Type==FIXEDAOAPOLAR) - { - // type 4, sort by speed - if (fabs(pWOpp->m_QInf - m_QInfinite[i]) < 0.001) - { - // then erase former result - m_Alpha[i] = pWOpp->m_Alpha; - m_Cl[i] = pWOpp->m_CL; - m_CY[i] = pWOpp->m_CY; - m_ICd[i] = pWOpp->m_ICD; - m_PCd[i] = pWOpp->m_VCD; - m_TCd[i] = pWOpp->m_ICD + pWOpp->m_VCD; - - m_GCm[i] = pWOpp->m_GCm; - m_VCm[i] = pWOpp->m_VCm; - m_ICm[i] = pWOpp->m_ICm; - m_GRm[i] = pWOpp->m_GRm; - m_GYm[i] = pWOpp->m_GYm; - m_VYm[i] = pWOpp->m_VYm; - m_IYm[i] = pWOpp->m_IYm; - - m_QInfinite[i] = pWOpp->m_QInf; - m_XCP[i] = pWOpp->m_XCP; - m_YCP[i] = pWOpp->m_YCP; - m_MaxBending[i] = pWOpp->m_MaxBending; - m_Ctrl[i] = pWOpp->m_Ctrl; - m_XNP[i] = pWOpp->m_XNP; - - bInserted = true; - break; - } - else if (pWOpp->m_QInf < m_QInfinite[i]) - { - // sort by crescending alphas - m_Alpha.insert(i, pWOpp->m_Alpha); - m_Cl.insert(i, pWOpp->m_CL); - m_CY.insert(i, pWOpp->m_CY); - m_ICd.insert(i, pWOpp->m_ICD); - m_PCd.insert(i, pWOpp->m_VCD); - m_TCd.insert(i, pWOpp->m_ICD + pWOpp->m_VCD); - - m_GCm.insert(i, pWOpp->m_GCm); - m_VCm.insert(i, pWOpp->m_VCm); - m_ICm.insert(i, pWOpp->m_ICm); - m_GRm.insert(i, pWOpp->m_GRm); - m_GYm.insert(i, pWOpp->m_GYm); - m_VYm.insert(i, pWOpp->m_VYm); - m_IYm.insert(i, pWOpp->m_IYm); - - m_QInfinite.insert(i, pWOpp->m_QInf); - m_XCP.insert(i, pWOpp->m_XCP); - m_YCP.insert(i, pWOpp->m_YCP); - m_MaxBending.insert(i, pWOpp->m_MaxBending); - m_Ctrl.insert(i, pWOpp->m_Ctrl); - m_XNP.insert(i, pWOpp->m_XNP); - - - m_ShortPeriodDamping.insert(i,0.0); - m_ShortPeriodFrequency.insert(i,0.0); - m_PhugoidDamping.insert(i,0.0); - m_PhugoidFrequency.insert(i,0.0); - m_DutchRollDamping.insert(i,0.0); - m_DutchRollFrequency.insert(i,0.0); - m_RollDamping.insert(i,0.0); - m_SpiralDamping.insert(i,0.0); - m_1Cl.insert(i,0.0);//make room for computed values - m_ClCd.insert(i,0.0); - m_Cl32Cd.insert(i,0.0); - m_Vx.insert(i,0.0); - m_Vz.insert(i,0.0); - m_L.insert(i,0.0); - m_D.insert(i,0.0); - m_Gamma.insert(i,0.0); - m_Rm.insert(i, 0.0); - m_Pm.insert(i, 0.0); - m_Ym.insert(i, 0.0); - m_VertPower.insert(i, 0.0); - m_Oswald.insert(i, 0.0); - m_SM.insert(i, 0.0); - - bInserted = true; - break; - } - } - else if (m_Type==STABILITYPOLAR) - { - // Control or Stability Polar, sort by crescending ctrl value - if (fabs(pWOpp->m_Alpha - m_Alpha[i])<0.0001) - { - // then erase former result - m_Alpha[i] = pWOpp->m_Alpha; - m_Cl[i] = pWOpp->m_CL; - m_CY[i] = pWOpp->m_CY; - m_ICd[i] = pWOpp->m_ICD; - m_PCd[i] = pWOpp->m_VCD; - m_TCd[i] = pWOpp->m_ICD + pWOpp->m_VCD; - - m_GCm[i] = pWOpp->m_GCm; - m_VCm[i] = pWOpp->m_VCm; - m_ICm[i] = pWOpp->m_ICm; - m_GRm[i] = pWOpp->m_GRm; - m_GYm[i] = pWOpp->m_GYm; - m_VYm[i] = pWOpp->m_VYm; - m_IYm[i] = pWOpp->m_IYm; - - m_QInfinite[i] = pWOpp->m_QInf; - m_XCP[i] = pWOpp->m_XCP; - m_YCP[i] = pWOpp->m_YCP; - m_MaxBending[i] = pWOpp->m_MaxBending; - m_Ctrl[i] = pWOpp->m_Ctrl; - m_XNP[i] = pWOpp->m_XNP; - - - //store the eigenthings - for(l=0; l<8; l++) - { - m_EigenValue[l][i] = pWOpp->m_EigenValue[l]; - } - - bInserted = true; - break; - } - else if (pWOpp->m_Ctrl < m_Ctrl[i]) - { - m_Alpha.insert(i, pWOpp->m_Alpha); - m_Cl.insert(i, pWOpp->m_CL); - m_CY.insert(i, pWOpp->m_CY); - m_ICd.insert(i, pWOpp->m_ICD); - m_PCd.insert(i, pWOpp->m_VCD); - m_TCd.insert(i, pWOpp->m_ICD + pWOpp->m_VCD); - - m_GCm.insert(i, pWOpp->m_GCm); - m_VCm.insert(i, pWOpp->m_VCm); - m_ICm.insert(i, pWOpp->m_ICm); - m_GRm.insert(i, pWOpp->m_GRm); - m_GYm.insert(i, pWOpp->m_GYm); - m_VYm.insert(i, pWOpp->m_VYm); - m_IYm.insert(i, pWOpp->m_IYm); - - m_QInfinite.insert(i, pWOpp->m_QInf); - m_XCP.insert(i, pWOpp->m_XCP); - m_YCP.insert(i, pWOpp->m_YCP); - m_MaxBending.insert(i, pWOpp->m_MaxBending); - m_Ctrl.insert(i, pWOpp->m_Ctrl); - m_XNP.insert(i, pWOpp->m_XNP); - - - m_ShortPeriodDamping.insert(i,0.0); - m_ShortPeriodFrequency.insert(i,0.0); - m_PhugoidDamping.insert(i,0.0); - m_PhugoidFrequency.insert(i,0.0); - m_DutchRollDamping.insert(i,0.0); - m_DutchRollFrequency.insert(i,0.0); - m_RollDamping.insert(i,0.0); - m_SpiralDamping.insert(i,0.0); - - m_1Cl.insert(i,0.0);//make room for computed values - m_ClCd.insert(i,0.0); - m_Cl32Cd.insert(i,0.0); - m_Vx.insert(i,0.0); - m_Vz.insert(i,0.0); - m_L.insert(i,0.0); - m_D.insert(i,0.0); - m_Gamma.insert(i,0.0); - m_Rm.insert(i, 0.0); - m_Pm.insert(i, 0.0); - m_Ym.insert(i, 0.0); - m_VertPower.insert(i, 0.0); - m_Oswald.insert(i, 0.0); - m_SM.insert(i, 0.0); - - //make room - for(l=0; l<8; l++) - for(int j=m_Alpha.size(); j>i; j--) - m_EigenValue[l][j] = m_EigenValue[l][j-1]; - //store the eigenthings - for(l=0; l<8; l++) - { - m_EigenValue[l][i] = pWOpp->m_EigenValue[l]; - } - - bInserted = true; - break; - } - } - } - } - if(bInserted) CalculatePoint(i); - else - { - // data is appended at the end - m_Alpha.append(pWOpp->m_Alpha); - m_Cl.append(pWOpp->m_CL); - m_CY.append(pWOpp->m_CY); - m_ICd.append(pWOpp->m_ICD); - m_PCd.append(pWOpp->m_VCD); - m_TCd.append(pWOpp->m_ICD + pWOpp->m_VCD); - - m_GCm.append(pWOpp->m_GCm); - m_VCm.append(pWOpp->m_VCm); - m_ICm.append(pWOpp->m_ICm); - m_GRm.append(pWOpp->m_GRm); - m_GYm.append(pWOpp->m_GYm); - m_VYm.append(pWOpp->m_VYm); - m_IYm.append(pWOpp->m_IYm); - - m_QInfinite.append(pWOpp->m_QInf); - m_XCP.append(pWOpp->m_XCP); - m_YCP.append(pWOpp->m_YCP); - m_MaxBending.append(pWOpp->m_MaxBending); - m_Ctrl.append(pWOpp->m_Ctrl); - m_XNP.append(pWOpp->m_XNP); - - - m_ShortPeriodDamping.append(0.0); - m_ShortPeriodFrequency.append(0.0); - m_PhugoidDamping.append(0.0); - m_PhugoidFrequency.append(0.0); - m_DutchRollDamping.append(0.0); - m_DutchRollFrequency.append(0.0); - m_RollDamping.append(0.0); - m_SpiralDamping.append(0.0); - - m_1Cl.append(0.0);//make room for computed values - m_ClCd.append(0.0); - m_Cl32Cd.append(0.0); - m_Vx.append(0.0); - m_Vz.append(0.0); - m_L.append(0.0); - m_D.append(0.0); - m_Gamma.append(0.0); - m_Rm.append(0.0); - m_Pm.append(0.0); - m_Ym.append(0.0); - m_VertPower.append(0.0); - m_Oswald.append(0.0); - m_SM.append(0.0); - - if(m_Type==STABILITYPOLAR) - { - int size = m_Alpha.size(); - if(size>=MAXPOLARPOINTS) return; - //store the eigenthings - for(l=0; l<8; l++) - { - m_EigenValue[l][size-1] = pWOpp->m_EigenValue[l]; - } - } - CalculatePoint(size); - } -} - - -void CWPolar::AddPoint(double alpha, double CL, double ICd, double PCd, double CY, - double GCm, double VCm, double ICm, double GRm, double GYm, double IYm, double QInf, double XCP) -{ - bool bInserted = false; - int i; - int size = m_Alpha.size(); - - if(size) - { - for (i=0; i<size; i++) - { - if(m_Type <4) - { - if (fabs(alpha - m_Alpha[i]) < 0.001) - { - // then erase former result - m_Alpha[i] = alpha; - m_Cl[i] = CL; - m_CY[i] = CY; - m_ICd[i] = ICd; - m_PCd[i] = PCd; - m_TCd[i] = ICd+PCd; - - m_GCm[i] = GCm; - m_VCm[i] = VCm; - m_ICm[i] = ICm; - m_GRm[i] = GRm; - m_GYm[i] = GYm; - m_VYm[i] = 0.0; - m_IYm[i] = IYm; - - m_QInfinite[i] = QInf; - m_XCP[i] = XCP; - m_YCP[i] = 0.0; - m_MaxBending[i] = 0.0; - m_Ctrl[i] = 0.0; - m_XNP[i] = 0.0; - bInserted = true; - break; - } - else if (alpha < m_Alpha[i]) - { - // sort by crescending alphas - m_Alpha.insert(i, alpha); - m_Cl.insert(i, CL); - m_CY.insert(i, CY); - m_ICd.insert(i, ICd); - m_PCd.insert(i, PCd); - m_TCd.insert(i, ICd + PCd); - - m_GCm.insert(i, GCm); - m_VCm.insert(i, VCm); - m_ICm.insert(i, ICm); - m_GRm.insert(i, GRm); - m_GYm.insert(i, GYm); - m_VYm.insert(i, 0.0); - m_IYm.insert(i, IYm); - - m_QInfinite.insert(i, QInf); - m_XCP.insert(i, XCP); - m_YCP.insert(i, 0.0); - m_MaxBending.insert(i, 0.0); - m_Ctrl.insert(i, 0.0); - m_XNP.insert(i, 0.0); - - m_ShortPeriodDamping.insert(i,0.0); - m_ShortPeriodFrequency.insert(i,0.0); - m_PhugoidDamping.insert(i,0.0); - m_PhugoidFrequency.insert(i,0.0); - m_DutchRollDamping.insert(i,0.0); - m_DutchRollFrequency.insert(i,0.0); - m_RollDamping.insert(i,0.0); - m_SpiralDamping.insert(i,0.0); - - m_1Cl.insert(i,0.0);//make room for computed values - m_ClCd.insert(i,0.0); - m_Cl32Cd.insert(i,0.0); - m_Vx.insert(i,0.0); - m_Vz.insert(i,0.0); - m_L.insert(i,0.0); - m_D.insert(i,0.0); - m_Gamma.insert(i,0.0); - m_Rm.insert(i, 0.0); - m_Pm.insert(i, 0.0); - m_Ym.insert(i, 0.0); - m_VertPower.insert(i, 0.0); - m_Oswald.insert(i, 0.0); - m_SM.insert(i, 0.0); - - bInserted = true; - break; - } - } - } - } - if(bInserted) CalculatePoint(i); - else - { - // data is appended at the end - m_Alpha.append(alpha); - m_Cl.append(CL); - m_CY.append(CY); - m_ICd.append(ICd); - m_PCd.append(PCd); - m_TCd.append(ICd + PCd); - - m_GCm.append(GCm); - m_VCm.append(VCm); - m_ICm.append(ICm); - m_GRm.append(GRm); - m_GYm.append(GYm); - m_VYm.append(0.0); - m_IYm.append(IYm); - - m_QInfinite.append(QInf); - m_XCP.append(XCP); - m_YCP.append(0.0); - m_MaxBending.append(0.0); - m_Ctrl.append(0.0); - m_XNP.append(0.0); - - m_ShortPeriodDamping.append(0.0); - m_ShortPeriodFrequency.append(0.0); - m_PhugoidDamping.append(0.0); - m_PhugoidFrequency.append(0.0); - m_DutchRollDamping.append(0.0); - m_DutchRollFrequency.append(0.0); - m_RollDamping.append(0.0); - m_SpiralDamping.append(0.0); - - m_1Cl.append(0.0);//make room for computed values - m_ClCd.append(0.0); - m_Cl32Cd.append(0.0); - m_Vx.append(0.0); - m_Vz.append(0.0); - m_L.append(0.0); - m_D.append(0.0); - m_Gamma.append(0.0); - m_Rm.append(0.0); - m_Pm.append(0.0); - m_Ym.append(0.0); - m_VertPower.append(0.0); - m_Oswald.append(0.0); - m_SM.append(0.0); - - CalculatePoint(size); - } -} - -void CWPolar::CalculatePoint(int i) -{ - //finish calculations -// double cl = m_Cl[i]; -// double tcd = m_TCd[i]; -// double Qinf = m_QInfinite[i]; - - m_ClCd[i] = m_Cl[i]/m_TCd[i]; - - if(m_Cl[i]>0.0) { - m_1Cl[i] = (double)(1./sqrt(m_Cl[i])); - m_Cl32Cd[i] = (double)pow(m_Cl[i],1.5)/m_TCd[i]; - } - else { - m_1Cl[i] = -1.0;//will not be plotted - m_Cl32Cd[i] = -(double)pow(-m_Cl[i],1.5)/m_TCd[i]; - } - - if(fabs(m_Cl[i])>0.) m_Gamma[i] = atan(m_TCd[i]/m_Cl[i]) * 180.0/PI; - else m_Gamma[i] = 90.0; - m_Vz[i] = (double)sqrt(2*m_Mass*9.81/m_Density/m_WArea)/m_Cl32Cd[i]; - m_Vx[i] = m_QInfinite[i] * (double)cos(m_Gamma[i]*PI/180.0); - - //dynamic pressure - double q = 0.5 * m_Density * m_QInfinite[i]*m_QInfinite[i]; - - m_L[i] = q * m_Cl[i]*m_WArea; - m_D[i] = q * m_TCd[i]*m_WArea; - - m_Rm[i] = q * m_WArea * m_GRm[i] * m_WSpan;// in N.m - m_Ym[i] = q * m_WArea * m_GYm[i] * m_WSpan;// in N.m - m_Pm[i] = q * m_WArea * m_GCm[i] * m_WMAChord;// in N.m - - //power for horizontal flight - m_VertPower[i] = m_Mass * 9.81 * m_Vz[i]; - - double AR = m_WSpan*m_WSpan/m_WArea; - - if(m_ICd[i]==0.0) m_Oswald[i] = 0.0; - else m_Oswald[i] = m_Cl[i]*m_Cl[i]/PI/m_ICd[i]/AR; - - m_SM[i] = (m_XCP[i]-m_CoG.x)/m_WMAChord *100.00; - - complex<double> c; - double OmegaN, Omega1, Dsi, Sigma1; - double sum, prod; - - c = m_EigenValue[2][i]; - sum = c.real() * 2.0; // is a real number - prod = c.real()*c.real() + c.imag()*c.imag(); // is a positive real number - OmegaN = fabs(c.imag()); - if(OmegaN>PRECISION) Omega1 = sqrt(prod); - else Omega1 = 0.0; - Sigma1 = sum /2.0; - if(Omega1 > PRECISION) Dsi = -Sigma1/Omega1; - else Dsi = 0.0; - m_PhugoidDamping[i] = Dsi; - m_PhugoidFrequency[i] = fabs(c.imag()/2.0/PI); - - c = m_EigenValue[0][i]; - sum = c.real() * 2.0; // is a real number - prod = c.real()*c.real() + c.imag()*c.imag(); // is a positive real number - OmegaN = fabs(c.imag()); - if(OmegaN>PRECISION) Omega1 = sqrt(prod); - else Omega1 = 0.0; - Sigma1 = sum /2.0; - if(Omega1 > PRECISION) Dsi = -Sigma1/Omega1; - else Dsi = 0.0; - m_ShortPeriodDamping[i] = Dsi; - m_ShortPeriodFrequency[i] = fabs(c.imag()/2.0/PI); - - c = m_EigenValue[5][i]; - sum = c.real() * 2.0; // is a real number - prod = c.real()*c.real() + c.imag()*c.imag(); // is a positive real number - OmegaN = fabs(c.imag()); - if(OmegaN>PRECISION) Omega1 = sqrt(prod); - else Omega1 = 0.0; - Sigma1 = sum /2.0; - if(Omega1 > PRECISION) Dsi = -Sigma1/Omega1; - else Dsi = 0.0; - m_DutchRollDamping[i] = Dsi; - m_DutchRollFrequency[i] = fabs(c.imag()/2.0/PI); - - m_RollDamping[i]= m_EigenValue[4][i].real(); - m_SpiralDamping[i]= m_EigenValue[7][i].real(); -} - - -/* N = Cn.q.s.b - L = Ct.q.s.b - M = Cm.q.s.c' -*/ - - -void CWPolar::Copy(CWPolar *pWPolar) -{ - int i; - m_bIsVisible = pWPolar->m_bIsVisible; - m_bShowPoints = pWPolar->m_bShowPoints; - m_bTiltedGeom = pWPolar->m_bTiltedGeom; - m_bViscous = pWPolar->m_bViscous; - m_bVLM1 = pWPolar->m_bVLM1; - m_bWakeRollUp = pWPolar->m_bWakeRollUp; - m_AnalysisMethod = pWPolar->m_AnalysisMethod; - m_bThinSurfaces = pWPolar->m_bThinSurfaces; - m_nControls = pWPolar->m_nControls; - - int size = m_Alpha.size(); - for(i=size-1; i>=0; i--) - Remove(i); - - size = pWPolar->m_Alpha.size(); - - for(i=0; i<size; i++) - { - m_Alpha.insert(i, pWPolar->m_Alpha[i]); - m_Cl.insert(i, pWPolar-> m_Cl[i]); - m_CY.insert(i, pWPolar-> m_CY[i]); - m_ICd.insert(i, pWPolar-> m_ICd[i]); - m_PCd.insert(i, pWPolar-> m_PCd[i]); - m_TCd.insert(i, pWPolar-> m_TCd[i]); - - m_GCm.insert(i, pWPolar-> m_GCm[i]); - m_VCm.insert(i, pWPolar-> m_VCm[i]); - m_ICm.insert(i, pWPolar-> m_ICm[i]); - m_GRm.insert(i, pWPolar-> m_GRm[i]); - m_GYm.insert(i, pWPolar-> m_GYm[i]); - m_VYm.insert(i, pWPolar-> m_VYm[i]); - m_IYm.insert(i, pWPolar-> m_IYm[i]); - - m_ClCd.insert(i, pWPolar-> m_ClCd[i]); - m_1Cl.insert(i, pWPolar-> m_1Cl[i]); - m_Cl32Cd.insert(i, pWPolar-> m_Cl32Cd[i]); - m_QInfinite.insert(i, pWPolar-> m_QInfinite[i]); - - m_Gamma.insert(i, pWPolar-> m_Gamma[i]); - m_XCP.insert(i, pWPolar-> m_XCP[i]); - m_YCP.insert(i, pWPolar-> m_YCP[i]); - m_MaxBending.insert(i, pWPolar-> m_MaxBending[i]); - m_VertPower.insert(i, pWPolar-> m_VertPower[i]); - - m_Oswald.insert(i, pWPolar-> m_Oswald[i]); - m_SM.insert(i, pWPolar-> m_SM[i]); - m_Ctrl.insert(i, pWPolar-> m_Ctrl[i]); - m_XNP.insert(i, pWPolar->m_XNP[i]); - m_ShortPeriodDamping.insert(i, pWPolar->m_ShortPeriodDamping[i]); - m_ShortPeriodFrequency.insert(i, pWPolar->m_ShortPeriodFrequency[i]); - m_PhugoidDamping.insert(i, pWPolar->m_PhugoidDamping[i]); - m_PhugoidFrequency.insert(i, pWPolar->m_PhugoidFrequency[i]); - m_DutchRollDamping.insert(i,pWPolar->m_DutchRollDamping[i]); - m_DutchRollFrequency.insert(i,pWPolar->m_DutchRollFrequency[i]); - m_RollDamping.insert(i,pWPolar->m_RollDamping[i]); - m_SpiralDamping.insert(i,pWPolar->m_SpiralDamping[i]); - - m_L.insert(i, pWPolar-> m_L[i]); - m_D.insert(i, pWPolar-> m_D[i]); - m_Vx.insert(i, pWPolar-> m_Vx[i]); - - m_Vz.insert(i, pWPolar-> m_Vz[i]); - m_Pm.insert(i, pWPolar-> m_Pm[i]); - m_Ym.insert(i, pWPolar-> m_Ym[i]); - m_Rm.insert(i, pWPolar-> m_Rm[i]); - - //make room - for(int l=0; l<8; l++) - for(int j=m_Alpha.size(); j>i; j--) - { - m_EigenValue[l][j] = m_EigenValue[l][j-1]; - } - for(int l=0; l<8; l++) - m_EigenValue[l][i] = pWPolar->m_EigenValue[l][i]; - } -} - - -void CWPolar::Export(QTextStream &out, int FileType) -{ - MainFrame* pMainFrame = (MainFrame*)s_pMainFrame; - int j; - QString Header, strong, str; - if (FileType==1) - { - strong =pMainFrame->m_VersionName + "\n\n"; - out << strong; - - strong ="Wing name : "+ m_UFOName + "\n"; - out << strong; - - strong ="Wing polar name : "+ m_PlrName + "\n"; - out << strong; - - GetSpeedUnit(str, pMainFrame->m_SpeedUnit); - str +="\n\n"; - strong = QString("Freestream speed : %1 ").arg(m_QInf*pMainFrame->m_mstoUnit,7,'f',3); - strong +=str; - out << strong; - - Header = " alpha CL ICd PCd TCd CY Cm Rm Ym IYm QInf XCP\n"; - out << Header; - Header = " _________ ________ ________ _________ _________ _________ _________ _________ _________ _________ _________ _________\n"; - out << Header; - for (j=0; j<m_Alpha.size(); j++) - { - strong = QString(" %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12\n") - .arg(m_Alpha[j],8,'f',3) - .arg(m_Cl[j], 9,'f',6) - .arg(m_ICd[j],9,'f',6) - .arg(m_PCd[j],9,'f',6) - .arg(m_TCd[j],9,'f',6) - .arg(m_CY[j] ,9,'f',6) - .arg(m_GCm[j],9,'f',6) - .arg(m_GRm[j],9,'f',6) - .arg(m_GYm[j],9,'f',6) - .arg(m_IYm[j],9,'f',6) - .arg(m_QInfinite[j],8,'f',4) - .arg(m_XCP[j],9,'f',4); - - out << strong; - } - } - else if (FileType==2) - { - strong =pMainFrame->m_VersionName + "\n\n"; - out << strong; - - strong ="Wing name :, "+ m_UFOName + "\n"; - out << strong; - - strong ="Wing polar name :, "+ m_PlrName + "\n"; - out << strong; - - GetSpeedUnit(str, pMainFrame->m_SpeedUnit); - str +="\n\n"; - strong = QString("Freestream speed :, %1 ").arg(m_QInf*pMainFrame->m_mstoUnit,3,'f',1); - strong +=str; - out << strong; - - Header = "alpha, CL, ICd, PCd, TCd, CY, GCm, GRm,GYm, IYm, QInf, XCP\n"; - out << Header; - Header = " _________, ________, ________, _________, _________, _________, _________, _________, _________, _________, _________, _________\n"; - out << Header; - for (j=0; j<m_Alpha.size(); j++) - { -// strong.Format(" %8.3f, %9.6f, %9.6f, %9.6f, %9.6f, %9.6f, %9.6f, %9.6f, %9.6f, %9.6f, %8.4f, %9.4f\n", - strong = QString(" %1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12\n") - .arg(m_Alpha[j],8,'f',3) - .arg(m_Cl[j], 9,'f',6) - .arg(m_ICd[j],9,'f',6) - .arg(m_PCd[j],9,'f',6) - .arg(m_TCd[j],9,'f',6) - .arg(m_CY[j] ,9,'f',6) - .arg(m_GCm[j],9,'f',6) - .arg(m_GRm[j],9,'f',6) - .arg(m_GYm[j],9,'f',6) - .arg(m_IYm[j],9,'f',6) - .arg(m_QInfinite[j],8,'f',4) - .arg(m_XCP[j],9,'f',4); - - out << strong; - - } - } - out << "\n\n"; - - return ; -} - - - - -void * CWPolar::GetUFOPlrVariable(int iVar) -{ - // returns a pointer to the variable array defined by its index iVar - void * pVar; - switch (iVar) - { - case 0: - pVar = &m_Alpha; - break; - case 1: - pVar = &m_Cl; - break; - case 2: - pVar = &m_PCd; - break; - case 3: - pVar = &m_ICd; - break; - case 4: - pVar = &m_TCd; - break; - case 5: - pVar = &m_GCm; - break; - case 6: - pVar = &m_VCm; - break; - case 7: - pVar = &m_ICm; - break; - case 8: - pVar = &m_GRm; - break; - case 9: - pVar = &m_GYm; - break; - case 10: - pVar = &m_VYm; - break; - case 11: - pVar = &m_IYm; - break; - case 12: - pVar = &m_ClCd; - break; - case 13: - pVar = &m_Cl32Cd; - break; - case 14: - pVar = &m_Cl; - break; - case 15: - pVar = &m_L; - break; - case 16: - pVar = &m_D; - break; - case 17: - pVar = &m_Vx; - break; - case 18: - pVar = &m_Vz; - break; - case 19: - pVar = &m_QInfinite; - break; - case 20: - pVar = &m_Gamma; - break; - case 21: - pVar = &m_Pm; - break; - case 22: - pVar = &m_Rm; - break; - case 23: - pVar = &m_Ym; - break; - case 24: - pVar = &m_XCP; - break; - case 25: - pVar = &m_YCP; - break; - case 26: - pVar = &m_MaxBending; - break; - case 27: - pVar = &m_VertPower; - break; - case 28: - pVar = &m_Oswald; - break; - case 29: - pVar = &m_SM; - break; - case 30: - pVar = &m_Ctrl; - break; - case 31: - pVar = &m_CY; - break; - case 32: - pVar = &m_XNP; - break; - case 33: - pVar = &m_PhugoidFrequency; - break; - case 34: - pVar = &m_PhugoidDamping; - break; - case 35: - pVar = &m_ShortPeriodFrequency; - break; - case 36: - pVar = &m_ShortPeriodDamping; - break; - case 37: - pVar = &m_DutchRollFrequency; - break; - case 38: - pVar = &m_DutchRollDamping; - break; - case 39: - pVar = &m_RollDamping; - break; - case 40: - pVar = &m_SpiralDamping; - break; - default: - pVar = &m_Alpha; - break; - } - return pVar; -} - -void CWPolar::Remove(int i) -{ - int size = m_Alpha.size(); - m_Alpha.removeAt(i); - m_Cl.removeAt(i); - m_CY.removeAt(i); - m_ICd.removeAt(i); - m_PCd.removeAt(i); - m_TCd.removeAt(i); - - m_GCm.removeAt(i); - m_VCm.removeAt(i); - m_ICm.removeAt(i); - m_GRm.removeAt(i); - m_GYm.removeAt(i); - m_VYm.removeAt(i); - m_IYm.removeAt(i); - - m_XCP.removeAt(i); - m_YCP.removeAt(i); - m_MaxBending.removeAt(i); - m_VertPower.removeAt(i); - - m_Oswald.removeAt(i); - m_SM.removeAt(i); - m_Ctrl.removeAt(i); - m_XNP.removeAt(i); - m_ShortPeriodDamping.removeAt(i); - m_ShortPeriodFrequency.removeAt(i); - m_PhugoidFrequency.removeAt(i); - m_PhugoidDamping.removeAt(i); - - m_DutchRollDamping.removeAt(i); - m_DutchRollFrequency.removeAt(i); - m_RollDamping.removeAt(i); - m_SpiralDamping.removeAt(i); - - m_ClCd.removeAt(i); - m_1Cl.removeAt(i); - m_Cl32Cd.removeAt(i); - - m_QInfinite.removeAt(i); - m_Gamma.removeAt(i); - m_L.removeAt(i); - m_D.removeAt(i); - m_Vx.removeAt(i); - - m_Vz.removeAt(i); - m_Pm.removeAt(i); - m_Ym.removeAt(i); - m_Rm.removeAt(i); - - for(int j=i; j<size; j++) - { - for(int l=0; l<8; l++) - m_EigenValue[l][j] = m_EigenValue[l][j+1]; - } -} - - - -void CWPolar::ResetWPlr() -{ - int size = m_Alpha.size(); - m_Alpha.clear(); - m_Cl.clear(); - m_CY.clear(); - m_ICd.clear(); - m_PCd.clear(); - m_TCd.clear(); - - m_GCm.clear(); - m_VCm.clear(); - m_ICm.clear(); - m_GRm.clear(); - m_GYm.clear(); - m_VYm.clear(); - m_IYm.clear(); - - m_XCP.clear(); - m_YCP.clear(); - m_MaxBending.clear(); - m_VertPower.clear(); - - m_Oswald.clear(); - m_SM.clear(); - m_Ctrl.clear(); - m_XNP.clear(); - m_ShortPeriodDamping.clear(); - m_ShortPeriodFrequency.clear(); - m_PhugoidDamping.clear(); - m_PhugoidFrequency.clear(); - - m_DutchRollDamping.clear(); - m_DutchRollFrequency.clear(); - m_RollDamping.clear(); - m_SpiralDamping.clear(); - - m_ClCd.clear(); - m_1Cl.clear(); - m_Cl32Cd.clear(); - - m_QInfinite.clear(); - m_Gamma.clear(); - m_L.clear(); - m_D.clear(); - m_Vx.clear(); - - m_Vz.clear(); - m_Pm.clear(); - m_Ym.clear(); - m_Rm.clear(); - - for(int l=0; l<8; l++) - for(int j=0; j<size; j++) - m_EigenValue[l][j] = 0.0; - -} - - -bool CWPolar::SerializeWPlr(QDataStream &ar, bool bIsStoring, int ProjectFormat) -{ - int n; - float f,r0,r1,r2,r3,i0,i1,i2,i3; - int i, j; - - m_PolarFormat = 1022; - // 1022 : added XNP position and provision for 50 more variables - // 1021 : XFLR5 v6.02 - deleted autoinertia for older format polars - // 1020 : QFLR6 v0.00 - added inertia tensor values - // 1019 : QFLR6 v0.00 - added eigenvalues - // 1018 : QFLR5 v0.04 - replaced m_XcmRef by m_Cog - // 1017 : QFLR5 v0.03 - added viscous and induced pitching moments - // 1016 : added lateral force coefficient - // 1015 : added lateral force coefficient - // 1014 : added control results - // 1013 : added control variables - // 1012 : redefined the moment coefficients - // 1011 : added wake roll-up parameters - // 1010 : added ground effect variables langth changed length unit to m - // 1009 : added viscous flag - // 1008 : added Tilted Geometry flag - // 1007 : added NXWakePanels - // 1006 : added Wake Roll Up flag - // 1005 : added VLM method types - // 1004 : with corrected PCd calculation - // 1003 : added bending moment V18 - // 1002 : added XCmRef - // 1001 : v0.00 - - if(bIsStoring) - { - //write variables - if(ProjectFormat>5) ar << m_PolarFormat; // identifies the format of the file - else ar << 1016; - WriteCString(ar,m_UFOName); - WriteCString(ar,m_PlrName); - ar << (float)m_WArea << (float)m_WMAChord << (float)m_WSpan ; - ar << m_Style << m_Width; - WriteCOLORREF(ar, m_Color); - ar << m_AnalysisMethod; - if (m_bVLM1) ar << 1; else ar << 0; - if (m_bThinSurfaces) ar << 1; else ar << 0; - if (m_bTiltedGeom) ar << 1; else ar << 0; - if (m_bDirichlet) ar << 0; else ar << 1; - if (m_bViscous) ar << 1; else ar << 0; - if (m_bGround) ar << 1; else ar << 0; - ar << (float)m_Height; - - ar << m_NXWakePanels << (float)m_TotalWakeLength << (float)m_WakePanelFactor; - - if (m_bIsVisible) ar << 1; else ar << 0; - if (m_bShowPoints) ar << 1; else ar << 0; - ar << m_Type; - ar << (float)m_QInf; - ar << (float)m_Mass; - ar << (float)m_ASpec ; - ar << (float)m_Beta ; - if(ProjectFormat<5) ar << (float)m_CoG.x; - else ar << (float)m_CoG.x << (float)m_CoG.y << (float)m_CoG.z; - ar <<( float)m_Density << (float)m_Viscosity; - - ar << m_RefAreaType; - - ar <<m_Alpha.size(); - for (i=0; i< m_Alpha.size(); i++) - { - ar << (float)m_Alpha[i] << (float)m_Cl[i] << (float)m_CY[i] << (float)m_ICd[i] << (float)m_PCd[i] ; - - ar << (float)m_GCm[i]; - if(ProjectFormat>=5) ar << (float)m_VCm[i] << (float)m_ICm[i]; - - ar << (float)m_GRm[i]; - - ar << (float)m_GYm[i] << 0.0f << (float)m_VYm[i] << (float)m_IYm[i]; - - ar << (float)m_QInfinite[i]; - - ar << (float)m_XCP[i] << (float)m_YCP[i] << (float)m_MaxBending[i]; - - ar << (float)m_Ctrl[i]; - if(ProjectFormat>5) ar<<(float)m_XNP[i]; - } - - ar << m_nControls; - for(i=0; i<m_nControls; i++) - { - ar << (float)m_MinControl[i] << (float)m_MaxControl[i]; - } - for(i=0; i<m_nControls; i++) - { - if(m_bActiveControl[i]) ar<<1 ; else ar <<0; - } - if(ProjectFormat>5) - { - for(i=0; i<m_Alpha.size(); i++) - { - ar <<(float)m_EigenValue[0][i].real() <<(float)m_EigenValue[1][i].real() <<(float)m_EigenValue[2][i].real() <<(float)m_EigenValue[3][i].real(); - ar <<(float)m_EigenValue[0][i].imag() <<(float)m_EigenValue[1][i].imag() <<(float)m_EigenValue[2][i].imag() <<(float)m_EigenValue[3][i].imag(); - ar <<(float)m_EigenValue[4][i].real() <<(float)m_EigenValue[5][i].real() <<(float)m_EigenValue[6][i].real() <<(float)m_EigenValue[7][i].real(); - ar <<(float)m_EigenValue[4][i].imag() <<(float)m_EigenValue[5][i].imag() <<(float)m_EigenValue[6][i].imag() <<(float)m_EigenValue[7][i].imag(); - } - - if(m_bAutoInertia) ar<<1; else ar<<0; - ar<<(float)m_CoGIxx<<(float)m_CoGIyy<<(float)m_CoGIzz<<(float)m_CoGIxz; - } - - if(ProjectFormat>=5) - { - //float provision - for(int i=0; i<20; i++) ar<<(float)i; - - //int provision - if(m_bAVLControls) ar<<1; else ar<<0; - for(int i=1; i<20; i++) ar<<i; - } - - return true; - } - else - { - //read variables - ar >> m_PolarFormat; - if (m_PolarFormat <=1000 || m_PolarFormat>1100) - { - m_PlrName =""; - return false; - } - ReadCString(ar, m_UFOName); - ReadCString(ar, m_PlrName); - ar>> f; - m_WArea = f; - if (m_WArea<0) return false; - - ar>> f; - m_WMAChord = f; - if (m_WMAChord<0) return false; - - ar>> f; - m_WSpan = f; - if (m_WSpan<0) return false; - - ar >> m_Style >> m_Width; - if (m_Style<0 || m_Style> 10) return false; - - if (m_Width<0 || m_Width> 10) return false; - - ReadCOLORREF(ar, m_Color); - - ar >> m_AnalysisMethod; - if (m_AnalysisMethod<0 || m_AnalysisMethod>10) return false; - - if(m_AnalysisMethod==0 || m_AnalysisMethod==2) - { - m_AnalysisMethod=PANELMETHOD; - m_bThinSurfaces = true; - } - - if(m_PolarFormat>=1005) - { - ar >> n; - if (n!=0 && n!=1) return false; - - if(n) m_bVLM1 =true; else m_bVLM1 = false; - ar >> n; - if (n!=0 && n!=1) return false; - - if(n) m_bThinSurfaces =true; else m_bThinSurfaces = false; - } - if(m_PolarFormat>=1008) - { - ar >> n; - if (n!=0 && n!=1) return false; - if(n) m_bTiltedGeom =true; else m_bTiltedGeom = false; - } - - if(m_PolarFormat>=1006) - { - ar >> n; - if (n!=0 && n!=1) return false; - if(n) m_bDirichlet = false; else m_bDirichlet = true; - } - if(m_PolarFormat>=1009) - { - ar >> n; - if (n!=0 && n!=1) return false; - if(n) m_bViscous =true; else m_bViscous = false; - } - - if(m_PolarFormat>=1010) - { - ar >> n; - if (n!=0 && n!=1) return false; - - if(n) m_bGround =true; else m_bGround = false; - ar >> f; m_Height = f; - } - - if(m_PolarFormat>=1007) - { - ar >> m_NXWakePanels; - if (m_NXWakePanels<0 || m_NXWakePanels>1000) return false; - } - if(m_PolarFormat>=1011) - { - ar >> f; m_TotalWakeLength = f; - ar >> f; m_WakePanelFactor = f; - } - - ar >> n; - if (n!=0 && n!=1) return false; - else { - if(n) m_bIsVisible =true; else m_bIsVisible = false; - } - ar >> n; - if (n!=0 && n!=1) return false; - else { - if(n) m_bShowPoints =true; else m_bShowPoints = false; - } - - ar >> n; - if (n<1 || n>10) return false; - m_Type = n; - - ar >> f; m_QInf = f; - ar >> f; m_Mass = f; - ar >> f; m_ASpec = f; - if(m_PolarFormat>=1015) ar >> f; m_Beta = f; - if(m_PolarFormat<1018 && m_PolarFormat>=1002) - { - ar >> f; m_CoG.x = f; - } - else if(m_PolarFormat>=1018) - { - ar >> f; m_CoG.x = f; - ar >> f; m_CoG.y = f; - ar >> f; m_CoG.z = f; - } -// if(m_PolarFormat>=1002) ar >> f; m_XCmRef = f; - ar >> f; m_Density=f; - ar >> f; m_Viscosity=f; - - if(m_PolarFormat>=1016) ar >> m_RefAreaType; - else m_RefAreaType = 1; - - ar >> n; - if (n<0 || n> 100000) return false; - - if(m_PolarFormat<1010) - { - m_WArea /=100.0; - m_WMAChord /=1000.0; - m_WSpan /=1000.0; - m_CoG.x /=1000.0; - } - float Alpha, Cl, CY, ICd, PCd, GCm, GRm, GYm, VCm, ICm, VYm, IYm, QInfinite, XCP, YCP, Ctrl, Cb, XNP; - f = Alpha = Cl = CY = ICd = PCd = GCm = GRm = GYm = VCm = ICm = VYm = IYm = QInfinite = XCP = YCP = Ctrl = Cb =0.0; - bool bExists; - for (i=0; i< n; i++) - { - ar >> Alpha >> Cl; - if(m_PolarFormat>=1015) ar>>CY; - ar >> ICd >> PCd; - ar >> GCm; - if(m_PolarFormat>=1017) ar >> VCm >> ICm; - ar >> GRm >> GYm >> f >> VYm >> IYm; - if(m_PolarFormat<1012) GCm = GRm = GYm = VCm = VYm = IYm = 0.0; - ar >> QInfinite >> XCP >> YCP; - - if(m_PolarFormat<1010) - { - XCP /=1000.0; - YCP /=1000.0; - } - - if (m_PolarFormat>=1003) - ar >> Cb; - else - Cb = 0.0; - - if (m_PolarFormat>=1014) ar >> Ctrl; - else Ctrl = 0.0; - - if (m_PolarFormat>=1022) ar >> XNP; - else XNP = 0.0; - - bExists = false; - if(m_Type!=4) - { - for (j=0; j<m_Alpha.size(); j++) - { - if(fabs(Alpha-m_Alpha[j])<0.001) - { - bExists = true; - break; - } - } - } - else - { - for (j=0; j<m_Alpha.size(); j++) - { - if(fabs(QInfinite-m_QInfinite[j])<0.001) - { - bExists = true; - break; - } - } - } - - m_Alpha.append(Alpha); - m_Cl.append(Cl); - m_CY.append(CY); - m_ICd.append(ICd); - m_PCd.append(PCd); - m_TCd.append(ICd+PCd); - - m_GCm.append(GCm); - m_VCm.append(VCm); - m_ICm.append(ICm); - m_GRm.append(GRm); - m_GYm.append(GYm); - m_VYm.append(VYm); - m_IYm.append(IYm); - - m_QInfinite.append(QInfinite); - - m_XCP.append(XCP); - m_YCP.append(YCP); - m_MaxBending.append(Cb); - m_Ctrl.append(Ctrl); - m_XNP.append(XNP); - - m_PhugoidDamping.append(0.0); - m_PhugoidFrequency.append(0.0); - m_ShortPeriodDamping.append(0.0); - m_ShortPeriodFrequency.append(0.0); - m_DutchRollDamping.append(0.0); - m_DutchRollFrequency.append(0.0); - m_RollDamping.append(0.0); - m_SpiralDamping.append(0.0); - - - m_1Cl.append(0.0); - m_ClCd.append(0.0); - m_Cl32Cd.append(0.0); - m_Vx.append(0.0); - m_Vz.append(0.0); - m_L.append(0.0); - m_D.append(0.0); - m_Gamma.append(0.0); - m_Rm.append(0.0); - m_Pm.append(0.0); - m_Ym.append(0.0); - m_VertPower.append(0.0); - m_Oswald.append(0.0); - m_SM.append(0.0); - - } - if(m_PolarFormat>1012) - { - ar >> m_nControls; - if(abs(m_nControls)>1000) m_nControls = 0; - for(i=0; i<m_nControls; i++) - { - ar >> f; m_MinControl[i] = f; - ar >> f; m_MaxControl[i] = f; - } - for(i=0; i<m_nControls; i++) - { - ar >> n; - if (n!=0 && n!=1) return false; - else { - if(n) m_bActiveControl[i] =true; else m_bActiveControl[i] = false; - } - } - } - if(m_PolarFormat>=1019) - { - n = m_Alpha.size(); - - // if(m_AnalysisMethod==4) n++; - for(i=0; i< n; i++) - { - ar>>r0>>r1>>r2>>r3; - ar>>i0>>i1>>i2>>i3; - - m_EigenValue[0][i] = complex<double>(r0,i0); - m_EigenValue[1][i] = complex<double>(r1,i1); - m_EigenValue[2][i] = complex<double>(r2,i2); - m_EigenValue[3][i] = complex<double>(r3,i3); - ar>>r0>>r1>>r2>>r3; - ar>>i0>>i1>>i2>>i3; - m_EigenValue[4][i] = complex<double>(r0,i0); - m_EigenValue[5][i] = complex<double>(r1,i1); - m_EigenValue[6][i] = complex<double>(r2,i2); - m_EigenValue[7][i] = complex<double>(r3,i3); - CalculatePoint(i); - } - } - if(m_PolarFormat>=1020) - { - ar >> n; - if(n && m_PolarFormat>1020) m_bAutoInertia =true; else m_bAutoInertia = false; - ar>>r0>>r1>>r2>>r3; - m_CoGIxx = r0; - m_CoGIyy = r1; - m_CoGIzz = r2; - m_CoGIxz = r3; - } - else - { - m_bAutoInertia = false; - m_CoGIxx = m_CoGIyy = m_CoGIzz = m_CoGIxz = 0.0; - } - if(m_PolarFormat>=1022) - { - //float provision - for(int i=0; i<20; i++) ar>>f; - - //int provision - ar>>n; - if(n) m_bAVLControls = true; else m_bAVLControls=false; - for(int i=1; i<20; i++) ar>>n; - } - } - - return true; -} - - - -void CWPolar::GetPolarProperties(QString &PolarProperties) -{ - MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; - QString strong, lenunit, massunit, speedunit; - GetLengthUnit(lenunit, pMainFrame->m_LengthUnit); - GetWeightUnit(massunit, pMainFrame->m_WeightUnit); - GetSpeedUnit(speedunit, pMainFrame->m_SpeedUnit); - - QString inertiaunit = massunit+"."+lenunit+QString::fromUtf8("²"); - - PolarProperties.clear(); - - strong = QString(QObject::tr("Type")+" %1").arg(m_Type); - if(m_Type==FIXEDSPEEDPOLAR) strong += " ("+QObject::tr("Fixed speed") +")\n"; - else if(m_Type==FIXEDLIFTPOLAR) strong += " ("+QObject::tr("Fixed lift") +")\n"; - else if(m_Type==FIXEDAOAPOLAR) strong += " ("+QObject::tr("Fixed angle of attack") +")\n"; - else if(m_Type==STABILITYPOLAR) strong += " ("+QObject::tr("Stability analysis") +")\n"; - PolarProperties += strong; - - if(m_Type==FIXEDSPEEDPOLAR) - { - strong = QString(QObject::tr("VInf =")+"%1 ").arg(m_QInf,10,'g',2); - PolarProperties += strong + speedunit+"\n"; - } - else if(m_Type==FIXEDAOAPOLAR) - { - strong = QString(QObject::tr("Alpha =")+"%1").arg(m_ASpec,7,'f',2); - PolarProperties += strong +QString::fromUtf8("°")+"\n"; - } - - if(m_Beta>PRECISION) - { - strong = QString(QObject::tr("Beta")+" = %1").arg(m_Beta,7,'f',2); - PolarProperties += strong +QString::fromUtf8("°")+"\n"; - } - -// PolarProperties += QObject::tr("Method")+" = "; - if(m_AnalysisMethod==LLTMETHOD) PolarProperties +=QObject::tr("LLT"); - else if(m_AnalysisMethod==PANELMETHOD && !m_bThinSurfaces) PolarProperties +=QObject::tr("3D-Panels"); - else if(m_AnalysisMethod==PANELMETHOD && m_bVLM1) PolarProperties +=QObject::tr("3D-Panels/VLM1"); - else if(m_AnalysisMethod==PANELMETHOD && !m_bVLM1) PolarProperties +=QObject::tr("3D-Panels/VLM2"); - PolarProperties +="\n"; - - - //Control data - if(m_Type==STABILITYPOLAR) - { - int j; - QMiarex *pMiarex= (QMiarex*)s_pMiarex; - CPlane *pPlane = pMiarex->GetPlane(m_UFOName); - int iCtrl = 0; - - if(!m_bAVLControls) strong = "Min/max type controls\n"; - else strong = "AVL type controls\n"; - PolarProperties +=strong; - - - if(pPlane) - { - if(!m_bAVLControls&&m_bActiveControl[iCtrl]) - { - strong = QString(QString::fromUtf8("Wing Tilt: %1°/%2°\n")) - .arg(m_MinControl[iCtrl],5,'f',2) - .arg(m_MaxControl[iCtrl],5,'f',2); - PolarProperties +=strong; - } - else if(m_bAVLControls&&m_MaxControl[iCtrl]) - { - strong = QString(QString::fromUtf8("Wing Tilt: gain=%1°/unit\n")).arg(m_MaxControl[iCtrl],0,'f',2); - PolarProperties +=strong; - } - iCtrl=1; - if(pPlane->Stab()) - { - if(!m_bAVLControls&&m_bActiveControl[iCtrl]) - { - strong = QString(QString::fromUtf8("Elevator Tilt : %1°/%2°\n")) - .arg(m_MinControl[iCtrl],5,'f',2) - .arg(m_MaxControl[iCtrl],5,'f',2); - PolarProperties +=strong; - } - else if(m_bAVLControls&&m_MaxControl[iCtrl]) - { - strong = QString(QString::fromUtf8("Elev. Tilt: gain=%1°/unit\n")).arg(m_MaxControl[iCtrl],0,'f',2); - PolarProperties +=strong; - } - iCtrl=2; - } - } - - CWing *pStab, *pFin, *pWing; - pStab = pFin = pWing = NULL; - if(pPlane) - { - pWing = pPlane->Wing(); - pStab = pPlane->Stab(); - pFin = pPlane->Fin(); - } - else pWing = pMiarex->GetWing(m_UFOName); - - // flap controls - //wing first - int nFlap = 0; - if(pWing) - { - for (j=0; j<pWing->m_NSurfaces; j++) - { - if(pWing->m_Surface[j].m_bTEFlap) - { - if(!m_bAVLControls&&m_bActiveControl[iCtrl]) - { - strong = QString(QString::fromUtf8("Wing Flap %1: %2°/%3°\n")) - .arg(nFlap+1) - .arg(m_MinControl[iCtrl],5,'f',2) - .arg(m_MaxControl[iCtrl],5,'f',2); - PolarProperties +=strong; - } - else if(m_bAVLControls&&m_MaxControl[iCtrl]) - { - strong = QString(QString::fromUtf8("Wing Flap %1: g=%2°/unit\n")) - .arg(nFlap+1) - .arg(m_MaxControl[iCtrl],5,'f',2); - PolarProperties +=strong; - } - nFlap++; - iCtrl++; - } - } - } - - //elevator next - nFlap = 0; - if(pStab) - { - for (j=0; j<pStab->m_NSurfaces; j++) - { - if(pStab->m_Surface[j].m_bTEFlap) - { - if(!m_bAVLControls&&m_bActiveControl[iCtrl]) - { - strong = QString(QString::fromUtf8("Elev. Flap %1: %2°/%3°\n")) - .arg(nFlap+1) - .arg(m_MinControl[iCtrl],5,'f',2) - .arg(m_MaxControl[iCtrl],5,'f',2); - PolarProperties +=strong; - } - else if(m_bAVLControls&&m_MaxControl[iCtrl]) - { - strong = QString(QString::fromUtf8("Elev. Flap %1: gain=%2°/unit\n")) - .arg(nFlap+1) - .arg(m_MaxControl[iCtrl],5,'f',2); - PolarProperties +=strong; - } - nFlap++; - iCtrl++; - } - } - } - - nFlap = 0; - if(pFin) - { - for (j=0; j<pFin->m_NSurfaces; j++) - { - if(pFin->m_Surface[j].m_bTEFlap) - { - if(!m_bAVLControls&&m_bActiveControl[iCtrl]) - { - strong = QString(QString::fromUtf8("Fin Flap %1: %2°/%3°\n")) - .arg(nFlap+1) - .arg(m_MinControl[iCtrl],5,'f',2) - .arg(m_MaxControl[iCtrl],5,'f',2); - PolarProperties +=strong; - } - else if(m_bAVLControls&&m_MaxControl[iCtrl]) - { - strong = QString(QString::fromUtf8("Fin Flap %1: gain=%2°/unit\n")) - .arg(nFlap+1) - .arg(m_MaxControl[iCtrl],5,'f',2); - PolarProperties +=strong; - } - nFlap++; - iCtrl++; - } - } - } - } - - - if(m_bAutoInertia) - { - PolarProperties += "Using plane inertia\n"; - } - - strong = QString(QObject::tr("Mass")+" = %1 ").arg(m_Mass*pMainFrame->m_kgtoUnit,10,'f',3); - PolarProperties += strong + massunit + "\n"; - - strong = QString(QObject::tr("CoG.x")+" = %1 ").arg(m_CoG.x*pMainFrame->m_mtoUnit,10,'g',4); - PolarProperties += strong + lenunit + "\n"; - - strong = QString(QObject::tr("CoG.z")+" = %1 ").arg(m_CoG.z*pMainFrame->m_mtoUnit,10,'g',4); - PolarProperties += strong + lenunit + "\n"; - - if(m_Type==STABILITYPOLAR) - { - strong = QString("Ixx = %1 ").arg(m_CoGIxx*pMainFrame->m_mtoUnit*pMainFrame->m_mtoUnit*pMainFrame->m_kgtoUnit,10,'g',4); - PolarProperties += strong + inertiaunit + "\n"; - strong = QString("Iyy = %1 ").arg(m_CoGIyy*pMainFrame->m_mtoUnit*pMainFrame->m_mtoUnit*pMainFrame->m_kgtoUnit,10,'g',4); - PolarProperties += strong + inertiaunit + "\n"; - strong = QString("Izz = %1 ").arg(m_CoGIzz*pMainFrame->m_mtoUnit*pMainFrame->m_mtoUnit*pMainFrame->m_kgtoUnit,10,'g',4); - PolarProperties += strong + inertiaunit + "\n"; - strong = QString("Ixz = %1 ").arg(m_CoGIxz*pMainFrame->m_mtoUnit*pMainFrame->m_mtoUnit*pMainFrame->m_kgtoUnit,10,'g',4); - PolarProperties += strong + inertiaunit + "\n"; - } - - if(m_AnalysisMethod !=LLTMETHOD) - { - if(m_bDirichlet) strong = QObject::tr("B.C. = Dirichlet"); - else strong = QObject::tr("B.C. = Neumann"); - PolarProperties += strong +"\n"; - } - - PolarProperties += QObject::tr("Analysis type")+" = "; - if(m_bViscous) PolarProperties += QObject::tr("Viscous")+"\n"; - else PolarProperties += QObject::tr("Inviscid")+"\n"; - - PolarProperties += QObject::tr("Ref. Area = "); - if(m_RefAreaType==1) PolarProperties += QObject::tr("Planform area")+"\n"; - else PolarProperties += QObject::tr("Projected area")+"\n"; - - if(m_bTiltedGeom) PolarProperties += QObject::tr("Tilted geometry")+"\n"; - - if(m_bGround) - { - strong = QString(QObject::tr("Ground height")+" = %1").arg(m_Height*pMainFrame->m_mtoUnit)+lenunit+"\n"; - PolarProperties += strong; - } - - strong = QString(QObject::tr("Density =")+"%1 kg/m3\n").arg(m_Density,12,'g',4); - PolarProperties += strong; - - strong = QString(QObject::tr("Viscosity =")+"%1").arg(m_Viscosity,12,'g',4); - strong += "m"+QString::fromUtf8("²")+"/s\n"; - PolarProperties += strong; - - strong = QString(QObject::tr("Data points") +" = %1\n").arg(m_Alpha.size()); - PolarProperties += strong; - -} - - -void CWPolar::SetInertia(void *ptr, bool bPlane) -{ - CPlane *pPlane = NULL; - CWing *pWing = NULL; - if(bPlane) - { - pPlane = (CPlane*)ptr; - m_Mass = pPlane->TotalMass(); - m_CoG = pPlane->CoG(); - m_CoGIxx = pPlane->m_CoGIxx; - m_CoGIyy = pPlane->m_CoGIyy; - m_CoGIzz = pPlane->m_CoGIzz; - m_CoGIxz = pPlane->m_CoGIxz; - } - else - { - pWing = (CWing*)ptr; - m_Mass = pWing->TotalMass(); - m_CoG = pWing->m_CoG; - m_CoGIxx = pWing->m_CoGIxx; - m_CoGIyy = pWing->m_CoGIyy; - m_CoGIzz = pWing->m_CoGIzz; - m_CoGIxz = pWing->m_CoGIxz; - } - ResetWPlr(); -} - - +/**************************************************************************** + + WPolar Class + Copyright (C) 2005-2012 Andre Deperrois adeperrois@xxxxxxxxx + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +*****************************************************************************/ + + +#include "WPolar.h" +#include "../Globals.h" +#include "../MainFrame.h" +#include "../Miarex/Miarex.h" +#include <math.h> +#include <QMessageBox> + + +void *CWPolar::s_pMainFrame; +void *CWPolar::s_pMiarex; + +CWPolar::CWPolar() +{ + m_bIsVisible = true; + m_bShowPoints = false; + + m_bVLM1 = true; + m_bThinSurfaces = true; + m_bWakeRollUp = false; + m_bTiltedGeom = false; + m_bViscous = true; +// m_bPolar = true; + m_bGround = false; + m_bDirichlet = true; + m_bAVLControls = false; + + m_NXWakePanels = 1; + m_TotalWakeLength = 1.0; + m_WakePanelFactor =1.1; + + m_AnalysisMethod = 0; + m_Type = FIXEDSPEEDPOLAR; + m_RefAreaType = 1; + m_Style = 0; + m_Width = 1; + m_Color = 255;//red + + m_BankAngle = 0.0; + m_Beta = 0.0; + m_QInf = 10.0; + m_Mass = 1.0; +// m_XCmRef = 0.0; + m_ASpec = 0.0; + m_WArea = 0.0; + m_WMAChord = 0.0; + m_WSpan = 0.0; + m_AMem = 0.0; + m_Height = 0.0; + m_Density = 1.225; + m_Viscosity = 1.5e-5;//m2/s + + m_nControls = 0; + memset(m_MinControl, 0, sizeof(m_MinControl)); + memset(m_MaxControl, 0, sizeof(m_MaxControl)); + memset(m_bActiveControl, 0, sizeof(m_bActiveControl)); + memset(m_EigenValue, 0, 2*8*MAXPOLARPOINTS*sizeof(double)); + + m_bAutoInertia = true; + m_CoGIxx = m_CoGIyy = m_CoGIzz = m_CoGIxz =0.0; + m_CoG.Set(0.0,0.0,0.0); +} + + +void CWPolar::AddPoint(CPOpp *pPOpp) +{ + bool bInserted = false; + int i,j,l; + int size = m_Alpha.size(); + MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; + CWOpp *pWOpp = &pPOpp->m_PlaneWOpp[0]; + if(size) + { + for (i=0; i<size; i++) + { + if(m_Type <4) + { + if (fabs(pPOpp->m_Alpha - m_Alpha[i]) < 0.001) + { + // then erase former result + m_Alpha[i] = pWOpp->m_Alpha; + m_QInfinite[i] = pWOpp->m_QInf; + m_CL[i] = pWOpp->m_CL; + m_CY[i] = pWOpp->m_CY; + m_ICd[i] = pWOpp->m_ICD; + m_PCd[i] = pWOpp->m_VCD; + m_TCd[i] = pWOpp->m_ICD + pWOpp->m_VCD; + + m_GCm[i] = pWOpp->m_GCm; + m_VCm[i] = pWOpp->m_VCm; + m_ICm[i] = pWOpp->m_ICm; + m_GRm[i] = pWOpp->m_GRm; + m_GYm[i] = pWOpp->m_GYm; + m_VYm[i] = pWOpp->m_VYm; + m_IYm[i] = pWOpp->m_IYm; + + m_XCP[i] = pWOpp->m_XCP; + m_YCP[i] = pWOpp->m_YCP; + m_MaxBending[i] = pWOpp->m_MaxBending; + m_Ctrl[i] = pWOpp->m_Ctrl; + m_XNP[i] = pWOpp->m_XNP; + bInserted = true; + break; + } + else if (pPOpp->m_Alpha < m_Alpha[i]) + { + // sort by crescending alphas + m_Alpha.insert(i, pWOpp->m_Alpha); + m_QInfinite.insert(i, pWOpp->m_QInf); + m_CL.insert(i, pWOpp->m_CL); + m_CY.insert(i, pWOpp->m_CY); + m_ICd.insert(i, pWOpp->m_ICD); + m_PCd.insert(i, pWOpp->m_VCD); + m_TCd.insert(i, pWOpp->m_ICD + pWOpp->m_VCD); + + m_GCm.insert(i, pWOpp->m_GCm); + m_VCm.insert(i, pWOpp->m_VCm); + m_ICm.insert(i, pWOpp->m_ICm); + m_GRm.insert(i, pWOpp->m_GRm); + m_GYm.insert(i, pWOpp->m_GYm); + m_VYm.insert(i, pWOpp->m_VYm); + m_IYm.insert(i, pWOpp->m_IYm); + + m_XCP.insert(i, pWOpp->m_XCP); + m_YCP.insert(i, pWOpp->m_YCP); + m_MaxBending.insert(i, pWOpp->m_MaxBending); + m_Ctrl.insert(i, pWOpp->m_Ctrl); + m_XNP.insert(i, pWOpp->m_XNP); + + m_ShortPeriodDamping.insert(i,0.0); + m_ShortPeriodFrequency.insert(i,0.0); + m_PhugoidDamping.insert(i,0.0); + m_PhugoidFrequency.insert(i,0.0); + m_DutchRollDamping.insert(i,0.0); + m_DutchRollFrequency.insert(i,0.0); + m_RollDamping.insert(i,0.0); + m_SpiralDamping.insert(i,0.0); + + m_1Cl.insert(i,0.0);//make room for computed values + m_ClCd.insert(i,0.0); + m_Cl32Cd.insert(i,0.0); + m_Vx.insert(i,0.0); + m_Vz.insert(i,0.0); + m_FZ.insert(i,0.0); + m_FY.insert(i,0.0); + m_FX.insert(i,0.0); + m_Gamma.insert(i,0.0); + m_Rm.insert(i, 0.0); + m_Pm.insert(i, 0.0); + m_Ym.insert(i, 0.0); + m_VertPower.insert(i, 0.0); + m_Oswald.insert(i, 0.0); + m_SM.insert(i, 0.0); + + bInserted = true; + break; + } + } + else if(m_Type==FIXEDAOAPOLAR) + { + // type 4, sort by speed + if (fabs(pPOpp->m_QInf - m_QInfinite[i]) < 0.001) + { + // then erase former result + m_Alpha[i] = pWOpp->m_Alpha; + m_CL[i] = pWOpp->m_CL; + m_CY[i] = pWOpp->m_CY; + m_ICd[i] = pWOpp->m_ICD; + m_PCd[i] = pWOpp->m_VCD; + m_TCd[i] = pWOpp->m_ICD + pWOpp->m_VCD; + + m_GCm[i] = pWOpp->m_GCm; + m_VCm[i] = pWOpp->m_VCm; + m_ICm[i] = pWOpp->m_ICm; + m_GRm[i] = pWOpp->m_GRm; + m_GYm[i] = pWOpp->m_GYm; + m_VYm[i] = pWOpp->m_VYm; + m_IYm[i] = pWOpp->m_IYm; + + m_QInfinite[i] = pWOpp->m_QInf; + m_XCP[i] = pWOpp->m_XCP; + m_YCP[i] = pWOpp->m_YCP; + m_MaxBending[i] = pWOpp->m_MaxBending; + m_Ctrl[i] = pWOpp->m_Ctrl; + m_XNP[i] = pWOpp->m_XNP; + bInserted = true; + break; + } + else if (pPOpp->m_QInf < m_QInfinite[i]) + { + // sort by crescending speed + m_Alpha.insert(i, pWOpp->m_Alpha); + m_CL.insert(i, pWOpp->m_CL); + m_CY.insert(i, pWOpp->m_CY); + m_ICd.insert(i, pWOpp->m_ICD); + m_PCd.insert(i, pWOpp->m_VCD); + m_TCd.insert(i, pWOpp->m_ICD + pWOpp->m_VCD); + + m_GCm.insert(i, pWOpp->m_GCm); + m_VCm.insert(i, pWOpp->m_VCm); + m_ICm.insert(i, pWOpp->m_ICm); + m_GRm.insert(i, pWOpp->m_GRm); + m_GYm.insert(i, pWOpp->m_GYm); + m_VYm.insert(i, pWOpp->m_VYm); + m_IYm.insert(i, pWOpp->m_IYm); + + m_QInfinite.insert(i, pWOpp->m_QInf); + m_XCP.insert(i, pWOpp->m_XCP); + m_YCP.insert(i, pWOpp->m_YCP); + m_MaxBending.insert(i, pWOpp->m_MaxBending); + m_Ctrl.insert(i, pWOpp->m_Ctrl); + m_XNP.insert(i, pWOpp->m_XNP); + + m_ShortPeriodDamping.insert(i,0.0); + m_ShortPeriodFrequency.insert(i,0.0); + m_PhugoidDamping.insert(i,0.0); + m_PhugoidFrequency.insert(i,0.0); + m_DutchRollDamping.insert(i,0.0); + m_DutchRollFrequency.insert(i,0.0); + m_RollDamping.insert(i,0.0); + m_SpiralDamping.insert(i,0.0); + m_1Cl.insert(i,0.0);//make room for computed values + m_ClCd.insert(i,0.0); + m_Cl32Cd.insert(i,0.0); + m_Vx.insert(i,0.0); + m_Vz.insert(i,0.0); + m_FZ.insert(i,0.0); + m_FY.insert(i,0.0); + m_FX.insert(i,0.0); + m_Gamma.insert(i,0.0); + m_Rm.insert(i, 0.0); + m_Pm.insert(i, 0.0); + m_Ym.insert(i, 0.0); + m_VertPower.insert(i, 0.0); + m_Oswald.insert(i, 0.0); + m_SM.insert(i, 0.0); + + bInserted = true; + break; + } + } + else if(m_Type==STABILITYPOLAR) + { + // Control or stability analysis, sort by control value + if (fabs(pPOpp->m_Alpha - m_Alpha[i])<0.0001) + { + // then erase former result + m_Alpha[i] = pWOpp->m_Alpha; + m_CL[i] = pWOpp->m_CL; + m_CY[i] = pWOpp->m_CY; + m_ICd[i] = pWOpp->m_ICD; + m_PCd[i] = pWOpp->m_VCD; + m_TCd[i] = pWOpp->m_ICD + pWOpp->m_VCD; + + m_GCm[i] = pWOpp->m_GCm; + m_VCm[i] = pWOpp->m_VCm; + m_ICm[i] = pWOpp->m_ICm; + m_GRm[i] = pWOpp->m_GRm; + m_GYm[i] = pWOpp->m_GYm; + m_VYm[i] = pWOpp->m_VYm; + m_IYm[i] = pWOpp->m_IYm; + + m_QInfinite[i] = pWOpp->m_QInf; + m_XCP[i] = pWOpp->m_XCP; + m_YCP[i] = pWOpp->m_YCP; + m_MaxBending[i] = pWOpp->m_MaxBending; + m_Ctrl[i] = pWOpp->m_Ctrl; + m_XNP[i] = pWOpp->m_XNP; + //store the eigenthings + for(l=0; l<8; l++) m_EigenValue[l][i] = pWOpp->m_EigenValue[l]; + + bInserted = true; + break; + } + else if (pPOpp->m_Ctrl < m_Ctrl[i]) + { + // sort by crescending control values + m_Alpha.insert(i, pWOpp->m_Alpha); + m_CL.insert(i, pWOpp->m_CL); + m_CY.insert(i, pWOpp->m_CY); + m_ICd.insert(i, pWOpp->m_ICD); + m_PCd.insert(i, pWOpp->m_VCD); + m_TCd.insert(i, pWOpp->m_ICD + pWOpp->m_VCD); + + m_GCm.insert(i, pWOpp->m_GCm); + m_VCm.insert(i, pWOpp->m_VCm); + m_ICm.insert(i, pWOpp->m_ICm); + m_GRm.insert(i, pWOpp->m_GRm); + m_GYm.insert(i, pWOpp->m_GYm); + m_VYm.insert(i, pWOpp->m_VYm); + m_IYm.insert(i, pWOpp->m_IYm); + + m_QInfinite.insert(i, pWOpp->m_QInf); + m_XCP.insert(i, pWOpp->m_XCP); + m_YCP.insert(i, pWOpp->m_YCP); + m_MaxBending.insert(i, pWOpp->m_MaxBending); + m_Ctrl.insert(i, pWOpp->m_Ctrl); + m_XNP.insert(i, pWOpp->m_XNP); + + m_ShortPeriodDamping.insert(i,0.0); + m_ShortPeriodFrequency.insert(i,0.0); + m_PhugoidDamping.insert(i,0.0); + m_PhugoidFrequency.insert(i,0.0); + m_DutchRollDamping.insert(i,0.0); + m_DutchRollFrequency.insert(i,0.0); + m_RollDamping.insert(i,0.0); + m_SpiralDamping.insert(i,0.0); + m_1Cl.insert(i,0.0);//make room for computed values + m_ClCd.insert(i,0.0); + m_Cl32Cd.insert(i,0.0); + m_Vx.insert(i,0.0); + m_Vz.insert(i,0.0); + m_FZ.insert(i,0.0); + m_FY.insert(i,0.0); + m_FX.insert(i,0.0); + m_Gamma.insert(i,0.0); + m_Rm.insert(i, 0.0); + m_Pm.insert(i, 0.0); + m_Ym.insert(i, 0.0); + m_VertPower.insert(i, 0.0); + m_Oswald.insert(i, 0.0); + m_SM.insert(i, 0.0); + + //make room + for(l=0; l<8; l++) + for(j=m_Alpha.size(); j>i; j--) + { + m_EigenValue[l][j] = m_EigenValue[l][j-1]; + } + + //store the eigenthings + for(l=0; l<8; l++) m_EigenValue[l][i] = pWOpp->m_EigenValue[l]; + + bInserted = true; + break; + } + } + } + } + + if(bInserted) CalculatePoint(i); + else + { + // data is appended at the end + int size = m_Alpha.size(); + if(size>=MAXPOLARPOINTS) + { + QString strong = QObject::tr("The max number of polar points has been reached"); + QMessageBox::warning(pMainFrame, QObject::tr("Warning"), strong); + return; + } + m_Alpha.append(pWOpp->m_Alpha); + m_CL.append(pWOpp->m_CL); + m_CY.append(pWOpp->m_CY); + m_ICd.append(pWOpp->m_ICD); + m_PCd.append(pWOpp->m_VCD); + m_TCd.append(pWOpp->m_ICD + pWOpp->m_VCD); + + m_GCm.append(pWOpp->m_GCm); + m_VCm.append(pWOpp->m_VCm); + m_ICm.append(pWOpp->m_ICm); + m_GRm.append(pWOpp->m_GRm); + m_GYm.append(pWOpp->m_GYm); + m_VYm.append(pWOpp->m_VYm); + m_IYm.append(pWOpp->m_IYm); + + m_QInfinite.append(pWOpp->m_QInf); + m_XCP.append(pWOpp->m_XCP); + m_YCP.append(pWOpp->m_YCP); + m_MaxBending.append(pWOpp->m_MaxBending); + m_Ctrl.append(pWOpp->m_Ctrl); + m_XNP.append(pWOpp->m_XNP); + + m_ShortPeriodDamping.append(0.0); + m_ShortPeriodFrequency.append(0.0); + m_PhugoidDamping.append(0.0); + m_PhugoidFrequency.append(0.0); + m_DutchRollDamping.append(0.0); + m_DutchRollFrequency.append(0.0); + m_RollDamping.append(0.0); + m_SpiralDamping.append(0.0); + + m_1Cl.append(0.0);//make room for computed values + m_ClCd.append(0.0); + m_Cl32Cd.append(0.0); + m_Vx.append(0.0); + m_Vz.append(0.0); + m_FZ.append(0.0); + m_FY.append(0.0); + m_FX.append(0.0); + m_Gamma.append(0.0); + m_Rm.append(0.0); + m_Pm.append(0.0); + m_Ym.append(0.0); + m_VertPower.append(0.0); + m_Oswald.append(0.0); + m_SM.append(0.0); + + if(m_Type==STABILITYPOLAR) + { + //store the eigenthings + for (l=0; l<8; l++) m_EigenValue[l][size] = pWOpp->m_EigenValue[l]; + } + CalculatePoint(size); + } +} + + +void CWPolar::AddPoint(CWOpp *pWOpp) +{ + bool bInserted = false; + int l; + int i=0; + int size = m_Alpha.size(); + if(size) + { + for (i=0; i<size; i++) + { + if(m_Type <4) + { + if (fabs(pWOpp->m_Alpha - m_Alpha[i]) < 0.001) + { + // then erase former result + m_Alpha[i] = pWOpp->m_Alpha; + m_CL[i] = pWOpp->m_CL; + m_CY[i] = pWOpp->m_CY; + m_ICd[i] = pWOpp->m_ICD; + m_PCd[i] = pWOpp->m_VCD; + m_TCd[i] = pWOpp->m_ICD + pWOpp->m_VCD; + + m_GCm[i] = pWOpp->m_GCm; + m_VCm[i] = pWOpp->m_VCm; + m_ICm[i] = pWOpp->m_ICm; + m_GRm[i] = pWOpp->m_GRm; + m_GYm[i] = pWOpp->m_GYm; + m_VYm[i] = pWOpp->m_VYm; + m_IYm[i] = pWOpp->m_IYm; + + m_QInfinite[i] = pWOpp->m_QInf; + m_XCP[i] = pWOpp->m_XCP; + m_YCP[i] = pWOpp->m_YCP; + m_MaxBending[i] = pWOpp->m_MaxBending; + m_Ctrl[i] = pWOpp->m_Ctrl; + m_XNP[i] = pWOpp->m_XNP; + bInserted = true; + break; + } + else if (pWOpp->m_Alpha < m_Alpha[i]) + { + // sort by crescending alphas + m_Alpha.insert(i, pWOpp->m_Alpha); + m_CL.insert(i, pWOpp->m_CL); + m_CY.insert(i, pWOpp->m_CY); + m_ICd.insert(i, pWOpp->m_ICD); + m_PCd.insert(i, pWOpp->m_VCD); + m_TCd.insert(i, pWOpp->m_ICD + pWOpp->m_VCD); + + m_GCm.insert(i, pWOpp->m_GCm); + m_VCm.insert(i, pWOpp->m_VCm); + m_ICm.insert(i, pWOpp->m_ICm); + m_GRm.insert(i, pWOpp->m_GRm); + m_GYm.insert(i, pWOpp->m_GYm); + m_VYm.insert(i, pWOpp->m_VYm); + m_IYm.insert(i, pWOpp->m_IYm); + + m_QInfinite.insert(i, pWOpp->m_QInf); + m_XCP.insert(i, pWOpp->m_XCP); + m_YCP.insert(i, pWOpp->m_YCP); + m_MaxBending.insert(i, pWOpp->m_MaxBending); + m_Ctrl.insert(i, pWOpp->m_Ctrl); + m_XNP.insert(i, pWOpp->m_XNP); + + + m_ShortPeriodDamping.insert(i,0.0); + m_ShortPeriodFrequency.insert(i,0.0); + m_PhugoidDamping.insert(i,0.0); + m_PhugoidFrequency.insert(i,0.0); + m_DutchRollDamping.insert(i,0.0); + m_DutchRollFrequency.insert(i,0.0); + m_RollDamping.insert(i,0.0); + m_SpiralDamping.insert(i,0.0); + + m_1Cl.insert(i,0.0);//make room for computed values + m_ClCd.insert(i,0.0); + m_Cl32Cd.insert(i,0.0); + m_Vx.insert(i,0.0); + m_Vz.insert(i,0.0); + m_FZ.insert(i,0.0); + m_FY.insert(i,0.0); + m_FX.insert(i,0.0); + m_Gamma.insert(i,0.0); + m_Rm.insert(i, 0.0); + m_Pm.insert(i, 0.0); + m_Ym.insert(i, 0.0); + m_VertPower.insert(i, 0.0); + m_Oswald.insert(i, 0.0); + m_SM.insert(i, 0.0); + + bInserted = true; + break; + } + } + else if (m_Type==FIXEDAOAPOLAR) + { + // type 4, sort by speed + if (fabs(pWOpp->m_QInf - m_QInfinite[i]) < 0.001) + { + // then erase former result + m_Alpha[i] = pWOpp->m_Alpha; + m_CL[i] = pWOpp->m_CL; + m_CY[i] = pWOpp->m_CY; + m_ICd[i] = pWOpp->m_ICD; + m_PCd[i] = pWOpp->m_VCD; + m_TCd[i] = pWOpp->m_ICD + pWOpp->m_VCD; + + m_GCm[i] = pWOpp->m_GCm; + m_VCm[i] = pWOpp->m_VCm; + m_ICm[i] = pWOpp->m_ICm; + m_GRm[i] = pWOpp->m_GRm; + m_GYm[i] = pWOpp->m_GYm; + m_VYm[i] = pWOpp->m_VYm; + m_IYm[i] = pWOpp->m_IYm; + + m_QInfinite[i] = pWOpp->m_QInf; + m_XCP[i] = pWOpp->m_XCP; + m_YCP[i] = pWOpp->m_YCP; + m_MaxBending[i] = pWOpp->m_MaxBending; + m_Ctrl[i] = pWOpp->m_Ctrl; + m_XNP[i] = pWOpp->m_XNP; + + bInserted = true; + break; + } + else if (pWOpp->m_QInf < m_QInfinite[i]) + { + // sort by crescending alphas + m_Alpha.insert(i, pWOpp->m_Alpha); + m_CL.insert(i, pWOpp->m_CL); + m_CY.insert(i, pWOpp->m_CY); + m_ICd.insert(i, pWOpp->m_ICD); + m_PCd.insert(i, pWOpp->m_VCD); + m_TCd.insert(i, pWOpp->m_ICD + pWOpp->m_VCD); + + m_GCm.insert(i, pWOpp->m_GCm); + m_VCm.insert(i, pWOpp->m_VCm); + m_ICm.insert(i, pWOpp->m_ICm); + m_GRm.insert(i, pWOpp->m_GRm); + m_GYm.insert(i, pWOpp->m_GYm); + m_VYm.insert(i, pWOpp->m_VYm); + m_IYm.insert(i, pWOpp->m_IYm); + + m_QInfinite.insert(i, pWOpp->m_QInf); + m_XCP.insert(i, pWOpp->m_XCP); + m_YCP.insert(i, pWOpp->m_YCP); + m_MaxBending.insert(i, pWOpp->m_MaxBending); + m_Ctrl.insert(i, pWOpp->m_Ctrl); + m_XNP.insert(i, pWOpp->m_XNP); + + + m_ShortPeriodDamping.insert(i,0.0); + m_ShortPeriodFrequency.insert(i,0.0); + m_PhugoidDamping.insert(i,0.0); + m_PhugoidFrequency.insert(i,0.0); + m_DutchRollDamping.insert(i,0.0); + m_DutchRollFrequency.insert(i,0.0); + m_RollDamping.insert(i,0.0); + m_SpiralDamping.insert(i,0.0); + m_1Cl.insert(i,0.0);//make room for computed values + m_ClCd.insert(i,0.0); + m_Cl32Cd.insert(i,0.0); + m_Vx.insert(i,0.0); + m_Vz.insert(i,0.0); + m_FZ.insert(i,0.0); + m_FY.insert(i,0.0); + m_FX.insert(i,0.0); + m_Gamma.insert(i,0.0); + m_Rm.insert(i, 0.0); + m_Pm.insert(i, 0.0); + m_Ym.insert(i, 0.0); + m_VertPower.insert(i, 0.0); + m_Oswald.insert(i, 0.0); + m_SM.insert(i, 0.0); + + bInserted = true; + break; + } + } + else if (m_Type==STABILITYPOLAR) + { + // Control or Stability Polar, sort by crescending ctrl value + if (fabs(pWOpp->m_Alpha - m_Alpha[i])<0.0001) + { + // then erase former result + m_Alpha[i] = pWOpp->m_Alpha; + m_CL[i] = pWOpp->m_CL; + m_CY[i] = pWOpp->m_CY; + m_ICd[i] = pWOpp->m_ICD; + m_PCd[i] = pWOpp->m_VCD; + m_TCd[i] = pWOpp->m_ICD + pWOpp->m_VCD; + + m_GCm[i] = pWOpp->m_GCm; + m_VCm[i] = pWOpp->m_VCm; + m_ICm[i] = pWOpp->m_ICm; + m_GRm[i] = pWOpp->m_GRm; + m_GYm[i] = pWOpp->m_GYm; + m_VYm[i] = pWOpp->m_VYm; + m_IYm[i] = pWOpp->m_IYm; + + m_QInfinite[i] = pWOpp->m_QInf; + m_XCP[i] = pWOpp->m_XCP; + m_YCP[i] = pWOpp->m_YCP; + m_MaxBending[i] = pWOpp->m_MaxBending; + m_Ctrl[i] = pWOpp->m_Ctrl; + m_XNP[i] = pWOpp->m_XNP; + + + //store the eigenthings + for(l=0; l<8; l++) + { + m_EigenValue[l][i] = pWOpp->m_EigenValue[l]; + } + + bInserted = true; + break; + } + else if (pWOpp->m_Ctrl < m_Ctrl[i]) + { + m_Alpha.insert(i, pWOpp->m_Alpha); + m_CL.insert(i, pWOpp->m_CL); + m_CY.insert(i, pWOpp->m_CY); + m_ICd.insert(i, pWOpp->m_ICD); + m_PCd.insert(i, pWOpp->m_VCD); + m_TCd.insert(i, pWOpp->m_ICD + pWOpp->m_VCD); + + m_GCm.insert(i, pWOpp->m_GCm); + m_VCm.insert(i, pWOpp->m_VCm); + m_ICm.insert(i, pWOpp->m_ICm); + m_GRm.insert(i, pWOpp->m_GRm); + m_GYm.insert(i, pWOpp->m_GYm); + m_VYm.insert(i, pWOpp->m_VYm); + m_IYm.insert(i, pWOpp->m_IYm); + + m_QInfinite.insert(i, pWOpp->m_QInf); + m_XCP.insert(i, pWOpp->m_XCP); + m_YCP.insert(i, pWOpp->m_YCP); + m_MaxBending.insert(i, pWOpp->m_MaxBending); + m_Ctrl.insert(i, pWOpp->m_Ctrl); + m_XNP.insert(i, pWOpp->m_XNP); + + + m_ShortPeriodDamping.insert(i,0.0); + m_ShortPeriodFrequency.insert(i,0.0); + m_PhugoidDamping.insert(i,0.0); + m_PhugoidFrequency.insert(i,0.0); + m_DutchRollDamping.insert(i,0.0); + m_DutchRollFrequency.insert(i,0.0); + m_RollDamping.insert(i,0.0); + m_SpiralDamping.insert(i,0.0); + + m_1Cl.insert(i,0.0);//make room for computed values + m_ClCd.insert(i,0.0); + m_Cl32Cd.insert(i,0.0); + m_Vx.insert(i,0.0); + m_Vz.insert(i,0.0); + m_FZ.insert(i,0.0); + m_FY.insert(i,0.0); + m_FX.insert(i,0.0); + m_Gamma.insert(i,0.0); + m_Rm.insert(i, 0.0); + m_Pm.insert(i, 0.0); + m_Ym.insert(i, 0.0); + m_VertPower.insert(i, 0.0); + m_Oswald.insert(i, 0.0); + m_SM.insert(i, 0.0); + + //make room + for(l=0; l<8; l++) + for(int j=m_Alpha.size(); j>i; j--) + m_EigenValue[l][j] = m_EigenValue[l][j-1]; + //store the eigenthings + for(l=0; l<8; l++) + { + m_EigenValue[l][i] = pWOpp->m_EigenValue[l]; + } + + bInserted = true; + break; + } + } + } + } + if(bInserted) CalculatePoint(i); + else + { + // data is appended at the end + m_Alpha.append(pWOpp->m_Alpha); + m_CL.append(pWOpp->m_CL); + m_CY.append(pWOpp->m_CY); + m_ICd.append(pWOpp->m_ICD); + m_PCd.append(pWOpp->m_VCD); + m_TCd.append(pWOpp->m_ICD + pWOpp->m_VCD); + + m_GCm.append(pWOpp->m_GCm); + m_VCm.append(pWOpp->m_VCm); + m_ICm.append(pWOpp->m_ICm); + m_GRm.append(pWOpp->m_GRm); + m_GYm.append(pWOpp->m_GYm); + m_VYm.append(pWOpp->m_VYm); + m_IYm.append(pWOpp->m_IYm); + + m_QInfinite.append(pWOpp->m_QInf); + m_XCP.append(pWOpp->m_XCP); + m_YCP.append(pWOpp->m_YCP); + m_MaxBending.append(pWOpp->m_MaxBending); + m_Ctrl.append(pWOpp->m_Ctrl); + m_XNP.append(pWOpp->m_XNP); + + + m_ShortPeriodDamping.append(0.0); + m_ShortPeriodFrequency.append(0.0); + m_PhugoidDamping.append(0.0); + m_PhugoidFrequency.append(0.0); + m_DutchRollDamping.append(0.0); + m_DutchRollFrequency.append(0.0); + m_RollDamping.append(0.0); + m_SpiralDamping.append(0.0); + + m_1Cl.append(0.0);//make room for computed values + m_ClCd.append(0.0); + m_Cl32Cd.append(0.0); + m_Vx.append(0.0); + m_Vz.append(0.0); + m_FZ.append(0.0); + m_FY.append(0.0); + m_FX.append(0.0); + m_Gamma.append(0.0); + m_Rm.append(0.0); + m_Pm.append(0.0); + m_Ym.append(0.0); + m_VertPower.append(0.0); + m_Oswald.append(0.0); + m_SM.append(0.0); + + if(m_Type==STABILITYPOLAR) + { + int size = m_Alpha.size(); + if(size>=MAXPOLARPOINTS) return; + //store the eigenthings + for(l=0; l<8; l++) + { + m_EigenValue[l][size-1] = pWOpp->m_EigenValue[l]; + } + } + CalculatePoint(size); + } +} + + +void CWPolar::AddPoint(double alpha, double CL, double ICd, double PCd, double CY, + double GCm, double VCm, double ICm, double GRm, double GYm, double IYm, double QInf, double XCP) +{ + bool bInserted = false; + int i; + int size = m_Alpha.size(); + + if(size) + { + for (i=0; i<size; i++) + { + if(m_Type <4) + { + if (fabs(alpha - m_Alpha[i]) < 0.001) + { + // then erase former result + m_Alpha[i] = alpha; + m_CL[i] = CL; + m_CY[i] = CY; + m_ICd[i] = ICd; + m_PCd[i] = PCd; + m_TCd[i] = ICd+PCd; + + m_GCm[i] = GCm; + m_VCm[i] = VCm; + m_ICm[i] = ICm; + m_GRm[i] = GRm; + m_GYm[i] = GYm; + m_VYm[i] = 0.0; + m_IYm[i] = IYm; + + m_QInfinite[i] = QInf; + m_XCP[i] = XCP; + m_YCP[i] = 0.0; + m_MaxBending[i] = 0.0; + m_Ctrl[i] = 0.0; + m_XNP[i] = 0.0; + bInserted = true; + break; + } + else if (alpha < m_Alpha[i]) + { + // sort by crescending alphas + m_Alpha.insert(i, alpha); + m_CL.insert(i, CL); + m_CY.insert(i, CY); + m_ICd.insert(i, ICd); + m_PCd.insert(i, PCd); + m_TCd.insert(i, ICd + PCd); + + m_GCm.insert(i, GCm); + m_VCm.insert(i, VCm); + m_ICm.insert(i, ICm); + m_GRm.insert(i, GRm); + m_GYm.insert(i, GYm); + m_VYm.insert(i, 0.0); + m_IYm.insert(i, IYm); + + m_QInfinite.insert(i, QInf); + m_XCP.insert(i, XCP); + m_YCP.insert(i, 0.0); + m_MaxBending.insert(i, 0.0); + m_Ctrl.insert(i, 0.0); + m_XNP.insert(i, 0.0); + + m_ShortPeriodDamping.insert(i,0.0); + m_ShortPeriodFrequency.insert(i,0.0); + m_PhugoidDamping.insert(i,0.0); + m_PhugoidFrequency.insert(i,0.0); + m_DutchRollDamping.insert(i,0.0); + m_DutchRollFrequency.insert(i,0.0); + m_RollDamping.insert(i,0.0); + m_SpiralDamping.insert(i,0.0); + + m_1Cl.insert(i,0.0);//make room for computed values + m_ClCd.insert(i,0.0); + m_Cl32Cd.insert(i,0.0); + m_Vx.insert(i,0.0); + m_Vz.insert(i,0.0); + m_FZ.insert(i,0.0); + m_FY.insert(i,0.0); + m_FX.insert(i,0.0); + m_Gamma.insert(i,0.0); + m_Rm.insert(i, 0.0); + m_Pm.insert(i, 0.0); + m_Ym.insert(i, 0.0); + m_VertPower.insert(i, 0.0); + m_Oswald.insert(i, 0.0); + m_SM.insert(i, 0.0); + + bInserted = true; + break; + } + } + } + } + if(bInserted) CalculatePoint(i); + else + { + // data is appended at the end + m_Alpha.append(alpha); + m_CL.append(CL); + m_CY.append(CY); + m_ICd.append(ICd); + m_PCd.append(PCd); + m_TCd.append(ICd + PCd); + + m_GCm.append(GCm); + m_VCm.append(VCm); + m_ICm.append(ICm); + m_GRm.append(GRm); + m_GYm.append(GYm); + m_VYm.append(0.0); + m_IYm.append(IYm); + + m_QInfinite.append(QInf); + m_XCP.append(XCP); + m_YCP.append(0.0); + m_MaxBending.append(0.0); + m_Ctrl.append(0.0); + m_XNP.append(0.0); + + m_ShortPeriodDamping.append(0.0); + m_ShortPeriodFrequency.append(0.0); + m_PhugoidDamping.append(0.0); + m_PhugoidFrequency.append(0.0); + m_DutchRollDamping.append(0.0); + m_DutchRollFrequency.append(0.0); + m_RollDamping.append(0.0); + m_SpiralDamping.append(0.0); + + m_1Cl.append(0.0);//make room for computed values + m_ClCd.append(0.0); + m_Cl32Cd.append(0.0); + m_Vx.append(0.0); + m_Vz.append(0.0); + m_FZ.append(0.0); + m_FY.append(0.0); + m_FX.append(0.0); + m_Gamma.append(0.0); + m_Rm.append(0.0); + m_Pm.append(0.0); + m_Ym.append(0.0); + m_VertPower.append(0.0); + m_Oswald.append(0.0); + m_SM.append(0.0); + + CalculatePoint(size); + } +} + +void CWPolar::CalculatePoint(int i) +{ + //finish calculations +// double cl = m_CL[i]; +// double tcd = m_TCd[i]; +// double Qinf = m_QInfinite[i]; + + m_ClCd[i] = m_CL[i]/m_TCd[i]; + + if(m_CL[i]>0.0) { + m_1Cl[i] = (double)(1./sqrt(m_CL[i])); + m_Cl32Cd[i] = (double)pow(m_CL[i],1.5)/m_TCd[i]; + } + else { + m_1Cl[i] = -1.0;//will not be plotted + m_Cl32Cd[i] = -(double)pow(-m_CL[i],1.5)/m_TCd[i]; + } + + if(fabs(m_CL[i])>0.) m_Gamma[i] = atan(m_TCd[i]/m_CL[i]) * 180.0/PI; + else m_Gamma[i] = 90.0; + m_Vz[i] = (double)sqrt(2*m_Mass*9.81/m_Density/m_WArea)/m_Cl32Cd[i]; + m_Vx[i] = m_QInfinite[i] * (double)cos(m_Gamma[i]*PI/180.0); + + //dynamic pressure + double q = 0.5 * m_Density * m_QInfinite[i]*m_QInfinite[i]; + + m_FZ[i] = q * m_CL[i]*m_WArea; + m_FY[i] = q * m_CY[i]*m_WArea; + m_FX[i] = q * m_TCd[i]*m_WArea; + + m_Rm[i] = q * m_WArea * m_GRm[i] * m_WSpan;// in N.m + m_Ym[i] = q * m_WArea * m_GYm[i] * m_WSpan;// in N.m + m_Pm[i] = q * m_WArea * m_GCm[i] * m_WMAChord;// in N.m + + //power for horizontal flight + m_VertPower[i] = m_Mass * 9.81 * m_Vz[i]; + + double AR = m_WSpan*m_WSpan/m_WArea; + + if(m_ICd[i]==0.0) m_Oswald[i] = 0.0; + else m_Oswald[i] = m_CL[i]*m_CL[i]/PI/m_ICd[i]/AR; + + m_SM[i] = (m_XCP[i]-m_CoG.x)/m_WMAChord *100.00; + + complex<double> c; + double OmegaN, Omega1, Dsi, Sigma1; + double sum, prod; + + c = m_EigenValue[2][i]; + sum = c.real() * 2.0; // is a real number + prod = c.real()*c.real() + c.imag()*c.imag(); // is a positive real number + OmegaN = fabs(c.imag()); + if(OmegaN>PRECISION) Omega1 = sqrt(prod); + else Omega1 = 0.0; + Sigma1 = sum /2.0; + if(Omega1 > PRECISION) Dsi = -Sigma1/Omega1; + else Dsi = 0.0; + m_PhugoidDamping[i] = Dsi; + m_PhugoidFrequency[i] = fabs(c.imag()/2.0/PI); + + c = m_EigenValue[0][i]; + sum = c.real() * 2.0; // is a real number + prod = c.real()*c.real() + c.imag()*c.imag(); // is a positive real number + OmegaN = fabs(c.imag()); + if(OmegaN>PRECISION) Omega1 = sqrt(prod); + else Omega1 = 0.0; + Sigma1 = sum /2.0; + if(Omega1 > PRECISION) Dsi = -Sigma1/Omega1; + else Dsi = 0.0; + m_ShortPeriodDamping[i] = Dsi; + m_ShortPeriodFrequency[i] = fabs(c.imag()/2.0/PI); + + c = m_EigenValue[5][i]; + sum = c.real() * 2.0; // is a real number + prod = c.real()*c.real() + c.imag()*c.imag(); // is a positive real number + OmegaN = fabs(c.imag()); + if(OmegaN>PRECISION) Omega1 = sqrt(prod); + else Omega1 = 0.0; + Sigma1 = sum /2.0; + if(Omega1 > PRECISION) Dsi = -Sigma1/Omega1; + else Dsi = 0.0; + m_DutchRollDamping[i] = Dsi; + m_DutchRollFrequency[i] = fabs(c.imag()/2.0/PI); + + m_RollDamping[i]= m_EigenValue[4][i].real(); + m_SpiralDamping[i]= m_EigenValue[7][i].real(); +} + + +/* N = Cn.q.s.b + L = Ct.q.s.b + M = Cm.q.s.c' +*/ + + +void CWPolar::Copy(CWPolar *pWPolar) +{ + int i; + m_bIsVisible = pWPolar->m_bIsVisible; + m_bShowPoints = pWPolar->m_bShowPoints; + m_bTiltedGeom = pWPolar->m_bTiltedGeom; + m_bViscous = pWPolar->m_bViscous; + m_bVLM1 = pWPolar->m_bVLM1; + m_bWakeRollUp = pWPolar->m_bWakeRollUp; + m_AnalysisMethod = pWPolar->m_AnalysisMethod; + m_bThinSurfaces = pWPolar->m_bThinSurfaces; + m_nControls = pWPolar->m_nControls; + + int size = m_Alpha.size(); + for(i=size-1; i>=0; i--) + Remove(i); + + size = pWPolar->m_Alpha.size(); + + for(i=0; i<size; i++) + { + m_Alpha.insert(i, pWPolar->m_Alpha[i]); + m_CL.insert(i, pWPolar-> m_CL[i]); + m_CY.insert(i, pWPolar-> m_CY[i]); + m_ICd.insert(i, pWPolar-> m_ICd[i]); + m_PCd.insert(i, pWPolar-> m_PCd[i]); + m_TCd.insert(i, pWPolar-> m_TCd[i]); + + m_GCm.insert(i, pWPolar-> m_GCm[i]); + m_VCm.insert(i, pWPolar-> m_VCm[i]); + m_ICm.insert(i, pWPolar-> m_ICm[i]); + m_GRm.insert(i, pWPolar-> m_GRm[i]); + m_GYm.insert(i, pWPolar-> m_GYm[i]); + m_VYm.insert(i, pWPolar-> m_VYm[i]); + m_IYm.insert(i, pWPolar-> m_IYm[i]); + + m_ClCd.insert(i, pWPolar-> m_ClCd[i]); + m_1Cl.insert(i, pWPolar-> m_1Cl[i]); + m_Cl32Cd.insert(i, pWPolar-> m_Cl32Cd[i]); + m_QInfinite.insert(i, pWPolar-> m_QInfinite[i]); + + m_Gamma.insert(i, pWPolar-> m_Gamma[i]); + m_XCP.insert(i, pWPolar-> m_XCP[i]); + m_YCP.insert(i, pWPolar-> m_YCP[i]); + m_MaxBending.insert(i, pWPolar-> m_MaxBending[i]); + m_VertPower.insert(i, pWPolar-> m_VertPower[i]); + + m_Oswald.insert(i, pWPolar-> m_Oswald[i]); + m_SM.insert(i, pWPolar-> m_SM[i]); + m_Ctrl.insert(i, pWPolar-> m_Ctrl[i]); + m_XNP.insert(i, pWPolar->m_XNP[i]); + m_ShortPeriodDamping.insert(i, pWPolar->m_ShortPeriodDamping[i]); + m_ShortPeriodFrequency.insert(i, pWPolar->m_ShortPeriodFrequency[i]); + m_PhugoidDamping.insert(i, pWPolar->m_PhugoidDamping[i]); + m_PhugoidFrequency.insert(i, pWPolar->m_PhugoidFrequency[i]); + m_DutchRollDamping.insert(i,pWPolar->m_DutchRollDamping[i]); + m_DutchRollFrequency.insert(i,pWPolar->m_DutchRollFrequency[i]); + m_RollDamping.insert(i,pWPolar->m_RollDamping[i]); + m_SpiralDamping.insert(i,pWPolar->m_SpiralDamping[i]); + + m_FZ.insert(i, pWPolar-> m_FZ[i]); + m_FY.insert(i, pWPolar-> m_FY[i]); + m_FX.insert(i, pWPolar-> m_FX[i]); + m_Vx.insert(i, pWPolar-> m_Vx[i]); + + m_Vz.insert(i, pWPolar-> m_Vz[i]); + m_Pm.insert(i, pWPolar-> m_Pm[i]); + m_Ym.insert(i, pWPolar-> m_Ym[i]); + m_Rm.insert(i, pWPolar-> m_Rm[i]); + + //make room + for(int l=0; l<8; l++) + for(int j=m_Alpha.size(); j>i; j--) + { + m_EigenValue[l][j] = m_EigenValue[l][j-1]; + } + for(int l=0; l<8; l++) + m_EigenValue[l][i] = pWPolar->m_EigenValue[l][i]; + } +} + + +void CWPolar::Export(QTextStream &out, int FileType, bool bDataOnly) +{ + MainFrame* pMainFrame = (MainFrame*)s_pMainFrame; + int j; + QString Header, strong, str; + + if (FileType==1) + { + if(!bDataOnly) + { + strong =pMainFrame->m_VersionName + "\n\n"; + out << strong; + + strong ="Wing name : "+ m_UFOName + "\n"; + out << strong; + + strong ="Wing polar name : "+ m_PlrName + "\n"; + out << strong; + + GetSpeedUnit(str, pMainFrame->m_SpeedUnit); + str +="\n\n"; + + if(m_Type==FIXEDSPEEDPOLAR) + { + strong = QString("Freestream speed : %1 ").arg(m_QInf*pMainFrame->m_mstoUnit,7,'f',3); + strong +=str + "\n"; + } + else if(m_Type==FIXEDAOAPOLAR) + { + strong = QString("Alpha = %1").arg(m_ASpec) + QString::fromUtf8("°") + "\n"; + } + else strong = "\n"; + + out << strong; + } + + Header = " alpha CL ICd PCd TCd CY Cm Rm Ym IYm QInf XCP\n"; + out << Header; + Header = " _________ ________ ________ _________ _________ _________ _________ _________ _________ _________ _________ _________\n"; + out << Header; + for (j=0; j<m_Alpha.size(); j++) + { + strong = QString(" %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12\n") + .arg(m_Alpha[j],8,'f',3) + .arg(m_CL[j], 9,'f',6) + .arg(m_ICd[j],9,'f',6) + .arg(m_PCd[j],9,'f',6) + .arg(m_TCd[j],9,'f',6) + .arg(m_CY[j] ,9,'f',6) + .arg(m_GCm[j],9,'f',6) + .arg(m_GRm[j],9,'f',6) + .arg(m_GYm[j],9,'f',6) + .arg(m_IYm[j],9,'f',6) + .arg(m_QInfinite[j],8,'f',4) + .arg(m_XCP[j],9,'f',4); + + out << strong; + } + } + else if (FileType==2) + { + if(!bDataOnly) + { + strong =pMainFrame->m_VersionName + "\n\n"; + out << strong; + + strong ="Wing name :, "+ m_UFOName + "\n"; + out << strong; + + strong ="Wing polar name :, "+ m_PlrName + "\n"; + out << strong; + + GetSpeedUnit(str, pMainFrame->m_SpeedUnit); + str +="\n\n"; + strong = QString("Freestream speed :, %1 ").arg(m_QInf*pMainFrame->m_mstoUnit,3,'f',1); + strong +=str; + out << strong; + } + + Header = "alpha, CL, ICd, PCd, TCd, CY, GCm, GRm,GYm, IYm, QInf, XCP\n"; + out << Header; + Header = " _________, ________, ________, _________, _________, _________, _________, _________, _________, _________, _________, _________\n"; + out << Header; + for (j=0; j<m_Alpha.size(); j++) + { +// strong.Format(" %8.3f, %9.6f, %9.6f, %9.6f, %9.6f, %9.6f, %9.6f, %9.6f, %9.6f, %9.6f, %8.4f, %9.4f\n", + strong = QString(" %1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12\n") + .arg(m_Alpha[j],8,'f',3) + .arg(m_CL[j], 9,'f',6) + .arg(m_ICd[j],9,'f',6) + .arg(m_PCd[j],9,'f',6) + .arg(m_TCd[j],9,'f',6) + .arg(m_CY[j] ,9,'f',6) + .arg(m_GCm[j],9,'f',6) + .arg(m_GRm[j],9,'f',6) + .arg(m_GYm[j],9,'f',6) + .arg(m_IYm[j],9,'f',6) + .arg(m_QInfinite[j],8,'f',4) + .arg(m_XCP[j],9,'f',4); + + out << strong; + + } + } + out << "\n\n"; + + return ; +} + + + + +void * CWPolar::GetUFOPlrVariable(int iVar) +{ + // returns a pointer to the variable array defined by its index iVar + void * pVar; + switch (iVar) + { + case 0: + pVar = &m_Alpha; + break; + case 1: + pVar = &m_CL; + break; + case 2: + pVar = &m_PCd; + break; + case 3: + pVar = &m_ICd; + break; + case 4: + pVar = &m_TCd; + break; + case 5: + pVar = &m_GCm; + break; + case 6: + pVar = &m_VCm; + break; + case 7: + pVar = &m_ICm; + break; + case 8: + pVar = &m_GRm; + break; + case 9: + pVar = &m_GYm; + break; + case 10: + pVar = &m_VYm; + break; + case 11: + pVar = &m_IYm; + break; + case 12: + pVar = &m_ClCd; + break; + case 13: + pVar = &m_Cl32Cd; + break; + case 14: + pVar = &m_1Cl; + break; + case 15: + pVar = &m_FX; + break; + case 16: + pVar = &m_FY; + break; + case 17: + pVar = &m_FZ; + break; + case 18: + pVar = &m_Vx; + break; + case 19: + pVar = &m_Vz; + break; + case 20: + pVar = &m_QInfinite; + break; + case 21: + pVar = &m_Gamma; + break; + case 22: + pVar = &m_Pm; + break; + case 23: + pVar = &m_Rm; + break; + case 24: + pVar = &m_Ym; + break; + case 25: + pVar = &m_XCP; + break; + case 26: + pVar = &m_YCP; + break; + case 27: + pVar = &m_MaxBending; + break; + case 28: + pVar = &m_VertPower; + break; + case 29: + pVar = &m_Oswald; + break; + case 30: + pVar = &m_SM; + break; + case 31: + pVar = &m_Ctrl; + break; + case 32: + pVar = &m_CY; + break; + case 33: + pVar = &m_XNP; + break; + case 34: + pVar = &m_PhugoidFrequency; + break; + case 35: + pVar = &m_PhugoidDamping; + break; + case 36: + pVar = &m_ShortPeriodFrequency; + break; + case 37: + pVar = &m_ShortPeriodDamping; + break; + case 38: + pVar = &m_DutchRollFrequency; + break; + case 39: + pVar = &m_DutchRollDamping; + break; + case 40: + pVar = &m_RollDamping; + break; + case 41: + pVar = &m_SpiralDamping; + break; + default: + pVar = &m_Alpha; + break; + } + return pVar; +} + +void CWPolar::Remove(int i) +{ + int size = m_Alpha.size(); + m_Alpha.removeAt(i); + m_CL.removeAt(i); + m_CY.removeAt(i); + m_ICd.removeAt(i); + m_PCd.removeAt(i); + m_TCd.removeAt(i); + + m_GCm.removeAt(i); + m_VCm.removeAt(i); + m_ICm.removeAt(i); + m_GRm.removeAt(i); + m_GYm.removeAt(i); + m_VYm.removeAt(i); + m_IYm.removeAt(i); + + m_XCP.removeAt(i); + m_YCP.removeAt(i); + m_MaxBending.removeAt(i); + m_VertPower.removeAt(i); + + m_Oswald.removeAt(i); + m_SM.removeAt(i); + m_Ctrl.removeAt(i); + m_XNP.removeAt(i); + m_ShortPeriodDamping.removeAt(i); + m_ShortPeriodFrequency.removeAt(i); + m_PhugoidFrequency.removeAt(i); + m_PhugoidDamping.removeAt(i); + + m_DutchRollDamping.removeAt(i); + m_DutchRollFrequency.removeAt(i); + m_RollDamping.removeAt(i); + m_SpiralDamping.removeAt(i); + + m_ClCd.removeAt(i); + m_1Cl.removeAt(i); + m_Cl32Cd.removeAt(i); + + m_QInfinite.removeAt(i); + m_Gamma.removeAt(i); + m_FZ.removeAt(i); + m_FY.removeAt(i); + m_FX.removeAt(i); + m_Vx.removeAt(i); + + m_Vz.removeAt(i); + m_Pm.removeAt(i); + m_Ym.removeAt(i); + m_Rm.removeAt(i); + + for(int j=i; j<size; j++) + { + for(int l=0; l<8; l++) + m_EigenValue[l][j] = m_EigenValue[l][j+1]; + } +} + + + +void CWPolar::ResetWPlr() +{ + int size = m_Alpha.size(); + m_Alpha.clear(); + m_CL.clear(); + m_CY.clear(); + m_ICd.clear(); + m_PCd.clear(); + m_TCd.clear(); + + m_GCm.clear(); + m_VCm.clear(); + m_ICm.clear(); + m_GRm.clear(); + m_GYm.clear(); + m_VYm.clear(); + m_IYm.clear(); + + m_XCP.clear(); + m_YCP.clear(); + m_MaxBending.clear(); + m_VertPower.clear(); + + m_Oswald.clear(); + m_SM.clear(); + m_Ctrl.clear(); + m_XNP.clear(); + m_ShortPeriodDamping.clear(); + m_ShortPeriodFrequency.clear(); + m_PhugoidDamping.clear(); + m_PhugoidFrequency.clear(); + + m_DutchRollDamping.clear(); + m_DutchRollFrequency.clear(); + m_RollDamping.clear(); + m_SpiralDamping.clear(); + + m_ClCd.clear(); + m_1Cl.clear(); + m_Cl32Cd.clear(); + + m_QInfinite.clear(); + m_Gamma.clear(); + m_FZ.clear(); + m_FY.clear(); + m_FX.clear(); + m_Vx.clear(); + + m_Vz.clear(); + m_Pm.clear(); + m_Ym.clear(); + m_Rm.clear(); + + for(int l=0; l<8; l++) + for(int j=0; j<size; j++) + m_EigenValue[l][j] = 0.0; + +} + + +bool CWPolar::SerializeWPlr(QDataStream &ar, bool bIsStoring, int ProjectFormat) +{ + int n; + float f,r0,r1,r2,r3,i0,i1,i2,i3; + int i, j; + + m_PolarFormat = 1022; + // 1022 : added XNP position and provision for 50 more variables + // 1021 : XFLR5 v6.02 - deleted autoinertia for older format polars + // 1020 : QFLR6 v0.00 - added inertia tensor values + // 1019 : QFLR6 v0.00 - added eigenvalues + // 1018 : QFLR5 v0.04 - replaced m_XcmRef by m_Cog + // 1017 : QFLR5 v0.03 - added viscous and induced pitching moments + // 1016 : added lateral force coefficient + // 1015 : added lateral force coefficient + // 1014 : added control results + // 1013 : added control variables + // 1012 : redefined the moment coefficients + // 1011 : added wake roll-up parameters + // 1010 : added ground effect variables langth changed length unit to m + // 1009 : added viscous flag + // 1008 : added Tilted Geometry flag + // 1007 : added NXWakePanels + // 1006 : added Wake Roll Up flag + // 1005 : added VLM method types + // 1004 : with corrected PCd calculation + // 1003 : added bending moment V18 + // 1002 : added XCmRef + // 1001 : v0.00 + + if(bIsStoring) + { + //write variables + if(ProjectFormat>5) ar << m_PolarFormat; // identifies the format of the file + else ar << 1018; + WriteCString(ar,m_UFOName); + WriteCString(ar,m_PlrName); + ar << (float)m_WArea << (float)m_WMAChord << (float)m_WSpan ; + ar << m_Style << m_Width; + WriteCOLORREF(ar, m_Color); + ar << m_AnalysisMethod; + if (m_bVLM1) ar << 1; else ar << 0; + if (m_bThinSurfaces) ar << 1; else ar << 0; + if (m_bTiltedGeom) ar << 1; else ar << 0; + if (m_bDirichlet) ar << 0; else ar << 1; + if (m_bViscous) ar << 1; else ar << 0; + if (m_bGround) ar << 1; else ar << 0; + ar << (float)m_Height; + + ar << m_NXWakePanels << (float)m_TotalWakeLength << (float)m_WakePanelFactor; + + if (m_bIsVisible) ar << 1; else ar << 0; + if (m_bShowPoints) ar << 1; else ar << 0; + ar << m_Type; + ar << (float)m_QInf; + ar << (float)m_Mass; + ar << (float)m_ASpec ; + ar << (float)m_Beta ; + if(ProjectFormat<5) ar << (float)m_CoG.x; + else ar << (float)m_CoG.x << (float)m_CoG.y << (float)m_CoG.z; + ar <<( float)m_Density << (float)m_Viscosity; + + ar << m_RefAreaType; + + ar <<m_Alpha.size(); + for (i=0; i< m_Alpha.size(); i++) + { + ar << (float)m_Alpha[i] << (float)m_CL[i] << (float)m_CY[i] << (float)m_ICd[i] << (float)m_PCd[i] ; + + ar << (float)m_GCm[i]; + ar << (float)m_VCm[i] << (float)m_ICm[i]; + + ar << (float)m_GRm[i]; + + ar << (float)m_GYm[i] << 0.0f << (float)m_VYm[i] << (float)m_IYm[i]; + + ar << (float)m_QInfinite[i]; + + ar << (float)m_XCP[i] << (float)m_YCP[i] << (float)m_MaxBending[i]; + + ar << (float)m_Ctrl[i]; + if(ProjectFormat>5) ar<<(float)m_XNP[i]; + } + + ar << m_nControls; + for(i=0; i<m_nControls; i++) + { + ar << (float)m_MinControl[i] << (float)m_MaxControl[i]; + } + for(i=0; i<m_nControls; i++) + { + if(m_bActiveControl[i]) ar<<1 ; else ar <<0; + } + if(ProjectFormat>5) + { + for(i=0; i<m_Alpha.size(); i++) + { + ar <<(float)m_EigenValue[0][i].real() <<(float)m_EigenValue[1][i].real() <<(float)m_EigenValue[2][i].real() <<(float)m_EigenValue[3][i].real(); + ar <<(float)m_EigenValue[0][i].imag() <<(float)m_EigenValue[1][i].imag() <<(float)m_EigenValue[2][i].imag() <<(float)m_EigenValue[3][i].imag(); + ar <<(float)m_EigenValue[4][i].real() <<(float)m_EigenValue[5][i].real() <<(float)m_EigenValue[6][i].real() <<(float)m_EigenValue[7][i].real(); + ar <<(float)m_EigenValue[4][i].imag() <<(float)m_EigenValue[5][i].imag() <<(float)m_EigenValue[6][i].imag() <<(float)m_EigenValue[7][i].imag(); + } + + if(m_bAutoInertia) ar<<1; else ar<<0; + ar<<(float)m_CoGIxx<<(float)m_CoGIyy<<(float)m_CoGIzz<<(float)m_CoGIxz; + } + + if(ProjectFormat>5) + { + //float provision + for(int i=0; i<20; i++) ar<<(float)i; + + //int provision + if(m_bAVLControls) ar<<1; else ar<<0; + for(int i=1; i<20; i++) ar<<i; + } + + return true; + } + else + { + //read variables + ar >> m_PolarFormat; + if (m_PolarFormat <=1000 || m_PolarFormat>1100) + { + m_PlrName =""; + return false; + } + ReadCString(ar, m_UFOName); + ReadCString(ar, m_PlrName); + ar>> f; + m_WArea = f; + if (m_WArea<0) return false; + + ar>> f; + m_WMAChord = f; + if (m_WMAChord<0) return false; + + ar>> f; + m_WSpan = f; + if (m_WSpan<0) return false; + + ar >> m_Style >> m_Width; + if (m_Style<0 || m_Style> 10) return false; + + if (m_Width<0 || m_Width> 10) return false; + + ReadCOLORREF(ar, m_Color); + + ar >> m_AnalysisMethod; + if (m_AnalysisMethod<0 || m_AnalysisMethod>10) return false; + + if(m_AnalysisMethod==0 || m_AnalysisMethod==2) + { + m_AnalysisMethod=PANELMETHOD; + m_bThinSurfaces = true; + } + + if(m_PolarFormat>=1005) + { + ar >> n; + if (n!=0 && n!=1) return false; + + if(n) m_bVLM1 =true; else m_bVLM1 = false; + ar >> n; + if (n!=0 && n!=1) return false; + + if(n) m_bThinSurfaces =true; else m_bThinSurfaces = false; + } + if(m_PolarFormat>=1008) + { + ar >> n; + if (n!=0 && n!=1) return false; + if(n) m_bTiltedGeom =true; else m_bTiltedGeom = false; + } + + if(m_PolarFormat>=1006) + { + ar >> n; + if (n!=0 && n!=1) return false; + if(n) m_bDirichlet = false; else m_bDirichlet = true; + } + if(m_PolarFormat>=1009) + { + ar >> n; + if (n!=0 && n!=1) return false; + if(n) m_bViscous =true; else m_bViscous = false; + } + + if(m_PolarFormat>=1010) + { + ar >> n; + if (n!=0 && n!=1) return false; + + if(n) m_bGround =true; else m_bGround = false; + ar >> f; m_Height = f; + } + + if(m_PolarFormat>=1007) + { + ar >> m_NXWakePanels; + if (m_NXWakePanels<0 || m_NXWakePanels>1000) return false; + } + if(m_PolarFormat>=1011) + { + ar >> f; m_TotalWakeLength = f; + ar >> f; m_WakePanelFactor = f; + } + + ar >> n; + if (n!=0 && n!=1) return false; + else { + if(n) m_bIsVisible =true; else m_bIsVisible = false; + } + ar >> n; + if (n!=0 && n!=1) return false; + else { + if(n) m_bShowPoints =true; else m_bShowPoints = false; + } + + ar >> n; + if (n<1 || n>10) return false; + m_Type = n; + + ar >> f; m_QInf = f; + ar >> f; m_Mass = f; + ar >> f; m_ASpec = f; + if(m_PolarFormat>=1015) + { + ar >> f; + m_Beta = f; + } + else m_Beta = 0.0; + if(m_PolarFormat<1018 && m_PolarFormat>=1002) + { + ar >> f; m_CoG.x = f; + } + else if(m_PolarFormat>=1018) + { + ar >> f; m_CoG.x = f; + ar >> f; m_CoG.y = f; + ar >> f; m_CoG.z = f; + } +// if(m_PolarFormat>=1002) ar >> f; m_XCmRef = f; + ar >> f; m_Density=f; + ar >> f; m_Viscosity=f; + + if(m_PolarFormat>=1016) ar >> m_RefAreaType; + else m_RefAreaType = 1; + + ar >> n; + if (n<0 || n> 100000) return false; + + if(m_PolarFormat<1010) + { + m_WArea /=100.0; + m_WMAChord /=1000.0; + m_WSpan /=1000.0; + m_CoG.x /=1000.0; + } + float Alpha, Cl, CY, ICd, PCd, GCm, GRm, GYm, VCm, ICm, VYm, IYm, QInfinite, XCP, YCP, Ctrl, Cb, XNP; + f = Alpha = Cl = CY = ICd = PCd = GCm = GRm = GYm = VCm = ICm = VYm = IYm = QInfinite = XCP = YCP = Ctrl = Cb =0.0; + bool bExists; + for (i=0; i< n; i++) + { + ar >> Alpha >> Cl; + if(m_PolarFormat>=1015) ar>>CY; + ar >> ICd >> PCd; + ar >> GCm; + if(m_PolarFormat>=1017) ar >> VCm >> ICm; + ar >> GRm >> GYm >> f >> VYm >> IYm; + if(m_PolarFormat<1012) GCm = GRm = GYm = VCm = VYm = IYm = 0.0; + ar >> QInfinite >> XCP >> YCP; + + if(m_PolarFormat<1010) + { + XCP /=1000.0; + YCP /=1000.0; + } + + if (m_PolarFormat>=1003) + ar >> Cb; + else + Cb = 0.0; + + if (m_PolarFormat>=1014) ar >> Ctrl; + else Ctrl = 0.0; + + if (m_PolarFormat>=1022) ar >> XNP; + else XNP = 0.0; + + bExists = false; + if(m_Type!=4) + { + for (j=0; j<m_Alpha.size(); j++) + { + if(fabs(Alpha-m_Alpha[j])<0.001) + { + bExists = true; + break; + } + } + } + else + { + for (j=0; j<m_Alpha.size(); j++) + { + if(fabs(QInfinite-m_QInfinite[j])<0.001) + { + bExists = true; + break; + } + } + } + + m_Alpha.append(Alpha); + m_CL.append(Cl); + m_CY.append(CY); + m_ICd.append(ICd); + m_PCd.append(PCd); + m_TCd.append(ICd+PCd); + + m_GCm.append(GCm); + m_VCm.append(VCm); + m_ICm.append(ICm); + m_GRm.append(GRm); + m_GYm.append(GYm); + m_VYm.append(VYm); + m_IYm.append(IYm); + + m_QInfinite.append(QInfinite); + + m_XCP.append(XCP); + m_YCP.append(YCP); + m_MaxBending.append(Cb); + m_Ctrl.append(Ctrl); + m_XNP.append(XNP); + + m_PhugoidDamping.append(0.0); + m_PhugoidFrequency.append(0.0); + m_ShortPeriodDamping.append(0.0); + m_ShortPeriodFrequency.append(0.0); + m_DutchRollDamping.append(0.0); + m_DutchRollFrequency.append(0.0); + m_RollDamping.append(0.0); + m_SpiralDamping.append(0.0); + + + m_1Cl.append(0.0); + m_ClCd.append(0.0); + m_Cl32Cd.append(0.0); + m_Vx.append(0.0); + m_Vz.append(0.0); + m_FZ.append(0.0); + m_FY.append(0.0); + m_FX.append(0.0); + m_Gamma.append(0.0); + m_Rm.append(0.0); + m_Pm.append(0.0); + m_Ym.append(0.0); + m_VertPower.append(0.0); + m_Oswald.append(0.0); + m_SM.append(0.0); + + } + if(m_PolarFormat>1012) + { + ar >> m_nControls; + if(abs(m_nControls)>1000) m_nControls = 0; + for(i=0; i<m_nControls; i++) + { + ar >> f; m_MinControl[i] = f; + ar >> f; m_MaxControl[i] = f; + } + for(i=0; i<m_nControls; i++) + { + ar >> n; + if (n!=0 && n!=1) return false; + else { + if(n) m_bActiveControl[i] =true; else m_bActiveControl[i] = false; + } + } + } + if(m_PolarFormat>=1019) + { + n = m_Alpha.size(); + + // if(m_AnalysisMethod==4) n++; + for(i=0; i< n; i++) + { + ar>>r0>>r1>>r2>>r3; + ar>>i0>>i1>>i2>>i3; + + m_EigenValue[0][i] = complex<double>(r0,i0); + m_EigenValue[1][i] = complex<double>(r1,i1); + m_EigenValue[2][i] = complex<double>(r2,i2); + m_EigenValue[3][i] = complex<double>(r3,i3); + ar>>r0>>r1>>r2>>r3; + ar>>i0>>i1>>i2>>i3; + m_EigenValue[4][i] = complex<double>(r0,i0); + m_EigenValue[5][i] = complex<double>(r1,i1); + m_EigenValue[6][i] = complex<double>(r2,i2); + m_EigenValue[7][i] = complex<double>(r3,i3); + CalculatePoint(i); + } + } + if(m_PolarFormat>=1020) + { + ar >> n; + if(n && m_PolarFormat>1020) m_bAutoInertia =true; else m_bAutoInertia = false; + ar>>r0>>r1>>r2>>r3; + m_CoGIxx = r0; + m_CoGIyy = r1; + m_CoGIzz = r2; + m_CoGIxz = r3; + } + else + { + m_bAutoInertia = false; + m_CoGIxx = m_CoGIyy = m_CoGIzz = m_CoGIxz = 0.0; + } + if(m_PolarFormat>=1022) + { + //float provision + for(int i=0; i<20; i++) ar>>f; + + //int provision + ar>>n; + if(n) m_bAVLControls = true; else m_bAVLControls=false; + for(int i=1; i<20; i++) ar>>n; + } + } + + return true; +} + + + +void CWPolar::GetPolarProperties(QString &PolarProperties, bool bData) +{ + MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; + QString strong, lenunit, massunit, speedunit; + GetLengthUnit(lenunit, pMainFrame->m_LengthUnit); + GetWeightUnit(massunit, pMainFrame->m_WeightUnit); + GetSpeedUnit(speedunit, pMainFrame->m_SpeedUnit); + + QString inertiaunit = massunit+"."+lenunit+QString::fromUtf8("²"); + + PolarProperties.clear(); + + strong = QString(QObject::tr("Type")+" %1").arg(m_Type); + if(m_Type==FIXEDSPEEDPOLAR) strong += " ("+QObject::tr("Fixed speed") +")\n"; + else if(m_Type==FIXEDLIFTPOLAR) strong += " ("+QObject::tr("Fixed lift") +")\n"; + else if(m_Type==FIXEDAOAPOLAR) strong += " ("+QObject::tr("Fixed angle of attack") +")\n"; + else if(m_Type==STABILITYPOLAR) strong += " ("+QObject::tr("Stability analysis") +")\n"; + PolarProperties += strong; + + if(m_Type==FIXEDSPEEDPOLAR) + { + strong = QString(QObject::tr("VInf =")+"%1 ").arg(m_QInf,10,'g',2); + PolarProperties += strong + speedunit+"\n"; + } + else if(m_Type==FIXEDAOAPOLAR) + { + strong = QString(QObject::tr("Alpha =")+"%1").arg(m_ASpec,7,'f',2); + PolarProperties += strong +QString::fromUtf8("°")+"\n"; + } + + if(fabs(m_Beta)>PRECISION) + { + strong = QString(QObject::tr("Beta")+" = %1").arg(m_Beta,7,'f',2); + PolarProperties += strong +QString::fromUtf8("°")+"\n"; + } + +// PolarProperties += QObject::tr("Method")+" = "; + if(m_AnalysisMethod==LLTMETHOD) PolarProperties +=QObject::tr("LLT"); + else if(m_AnalysisMethod==PANELMETHOD && !m_bThinSurfaces) PolarProperties +=QObject::tr("3D-Panels"); + else if(m_AnalysisMethod==PANELMETHOD && m_bVLM1) PolarProperties +=QObject::tr("3D-Panels/VLM1"); + else if(m_AnalysisMethod==PANELMETHOD && !m_bVLM1) PolarProperties +=QObject::tr("3D-Panels/VLM2"); + PolarProperties +="\n"; + + + //Control data + if(m_Type==STABILITYPOLAR) + { + int j; + QMiarex *pMiarex= (QMiarex*)s_pMiarex; + CPlane *pPlane = pMiarex->GetPlane(m_UFOName); + int iCtrl = 0; + + if(!m_bAVLControls) strong = "Min/max type controls\n"; + else strong = "AVL type controls\n"; + PolarProperties +=strong; + + + if(pPlane) + { + if(!m_bAVLControls&&m_bActiveControl[iCtrl]) + { + strong = QString(QString::fromUtf8("Wing Tilt: %1°/%2°\n")) + .arg(m_MinControl[iCtrl],5,'f',2) + .arg(m_MaxControl[iCtrl],5,'f',2); + PolarProperties +=strong; + } + else if(m_bAVLControls&&m_MaxControl[iCtrl]) + { + strong = QString(QString::fromUtf8("Wing Tilt: gain=%1°/unit\n")).arg(m_MaxControl[iCtrl],0,'f',2); + PolarProperties +=strong; + } + iCtrl=1; + if(pPlane->Stab()) + { + if(!m_bAVLControls&&m_bActiveControl[iCtrl]) + { + strong = QString(QString::fromUtf8("Elevator Tilt : %1°/%2°\n")) + .arg(m_MinControl[iCtrl],5,'f',2) + .arg(m_MaxControl[iCtrl],5,'f',2); + PolarProperties +=strong; + } + else if(m_bAVLControls&&m_MaxControl[iCtrl]) + { + strong = QString(QString::fromUtf8("Elev. Tilt: gain=%1°/unit\n")).arg(m_MaxControl[iCtrl],0,'f',2); + PolarProperties +=strong; + } + iCtrl=2; + } + } + + CWing *pStab, *pFin, *pWing; + pStab = pFin = pWing = NULL; + if(pPlane) + { + pWing = pPlane->Wing(); + pStab = pPlane->Stab(); + pFin = pPlane->Fin(); + } + else pWing = pMiarex->GetWing(m_UFOName); + + // flap controls + //wing first + int nFlap = 0; + if(pWing) + { + for (j=0; j<pWing->m_NSurfaces; j++) + { + if(pWing->m_Surface[j].m_bTEFlap) + { + if(!m_bAVLControls&&m_bActiveControl[iCtrl]) + { + strong = QString(QString::fromUtf8("Wing Flap %1: %2°/%3°\n")) + .arg(nFlap+1) + .arg(m_MinControl[iCtrl],5,'f',2) + .arg(m_MaxControl[iCtrl],5,'f',2); + PolarProperties +=strong; + } + else if(m_bAVLControls&&m_MaxControl[iCtrl]) + { + strong = QString(QString::fromUtf8("Wing Flap %1: g=%2°/unit\n")) + .arg(nFlap+1) + .arg(m_MaxControl[iCtrl],5,'f',2); + PolarProperties +=strong; + } + nFlap++; + iCtrl++; + } + } + } + + //elevator next + nFlap = 0; + if(pStab) + { + for (j=0; j<pStab->m_NSurfaces; j++) + { + if(pStab->m_Surface[j].m_bTEFlap) + { + if(!m_bAVLControls&&m_bActiveControl[iCtrl]) + { + strong = QString(QString::fromUtf8("Elev. Flap %1: %2°/%3°\n")) + .arg(nFlap+1) + .arg(m_MinControl[iCtrl],5,'f',2) + .arg(m_MaxControl[iCtrl],5,'f',2); + PolarProperties +=strong; + } + else if(m_bAVLControls&&m_MaxControl[iCtrl]) + { + strong = QString(QString::fromUtf8("Elev. Flap %1: gain=%2°/unit\n")) + .arg(nFlap+1) + .arg(m_MaxControl[iCtrl],5,'f',2); + PolarProperties +=strong; + } + nFlap++; + iCtrl++; + } + } + } + + nFlap = 0; + if(pFin) + { + for (j=0; j<pFin->m_NSurfaces; j++) + { + if(pFin->m_Surface[j].m_bTEFlap) + { + if(!m_bAVLControls&&m_bActiveControl[iCtrl]) + { + strong = QString(QString::fromUtf8("Fin Flap %1: %2°/%3°\n")) + .arg(nFlap+1) + .arg(m_MinControl[iCtrl],5,'f',2) + .arg(m_MaxControl[iCtrl],5,'f',2); + PolarProperties +=strong; + } + else if(m_bAVLControls&&m_MaxControl[iCtrl]) + { + strong = QString(QString::fromUtf8("Fin Flap %1: gain=%2°/unit\n")) + .arg(nFlap+1) + .arg(m_MaxControl[iCtrl],5,'f',2); + PolarProperties +=strong; + } + nFlap++; + iCtrl++; + } + } + } + } + + + if(m_bAutoInertia) + { + PolarProperties += "Using plane inertia\n"; + } + + strong = QString(QObject::tr("Mass")+" = %1 ").arg(m_Mass*pMainFrame->m_kgtoUnit,10,'f',3); + PolarProperties += strong + massunit + "\n"; + + strong = QString(QObject::tr("CoG.x")+" = %1 ").arg(m_CoG.x*pMainFrame->m_mtoUnit,10,'g',4); + PolarProperties += strong + lenunit + "\n"; + + strong = QString(QObject::tr("CoG.z")+" = %1 ").arg(m_CoG.z*pMainFrame->m_mtoUnit,10,'g',4); + PolarProperties += strong + lenunit + "\n"; + + if(m_Type==STABILITYPOLAR) + { + strong = QString("Ixx = %1 ").arg(m_CoGIxx*pMainFrame->m_mtoUnit*pMainFrame->m_mtoUnit*pMainFrame->m_kgtoUnit,10,'g',4); + PolarProperties += strong + inertiaunit + "\n"; + strong = QString("Iyy = %1 ").arg(m_CoGIyy*pMainFrame->m_mtoUnit*pMainFrame->m_mtoUnit*pMainFrame->m_kgtoUnit,10,'g',4); + PolarProperties += strong + inertiaunit + "\n"; + strong = QString("Izz = %1 ").arg(m_CoGIzz*pMainFrame->m_mtoUnit*pMainFrame->m_mtoUnit*pMainFrame->m_kgtoUnit,10,'g',4); + PolarProperties += strong + inertiaunit + "\n"; + strong = QString("Ixz = %1 ").arg(m_CoGIxz*pMainFrame->m_mtoUnit*pMainFrame->m_mtoUnit*pMainFrame->m_kgtoUnit,10,'g',4); + PolarProperties += strong + inertiaunit + "\n"; + } + + if(m_AnalysisMethod !=LLTMETHOD) + { + if(m_bDirichlet) strong = QObject::tr("B.C. = Dirichlet"); + else strong = QObject::tr("B.C. = Neumann"); + PolarProperties += strong +"\n"; + } + + PolarProperties += QObject::tr("Analysis type")+" = "; + if(m_bViscous) PolarProperties += QObject::tr("Viscous")+"\n"; + else PolarProperties += QObject::tr("Inviscid")+"\n"; + + PolarProperties += QObject::tr("Ref. Area = "); + if(m_RefAreaType==1) PolarProperties += QObject::tr("Planform area")+"\n"; + else PolarProperties += QObject::tr("Projected area")+"\n"; + + if(m_bTiltedGeom) PolarProperties += QObject::tr("Tilted geometry")+"\n"; + + if(m_bGround) + { + strong = QString(QObject::tr("Ground height")+" = %1").arg(m_Height*pMainFrame->m_mtoUnit)+lenunit+"\n"; + PolarProperties += strong; + } + + strong = QString(QObject::tr("Density =")+"%1 kg/m3\n").arg(m_Density,12,'g',4); + PolarProperties += strong; + + strong = QString(QObject::tr("Viscosity =")+"%1").arg(m_Viscosity,12,'g',4); + strong += "m"+QString::fromUtf8("²")+"/s\n"; + PolarProperties += strong; + + strong = QString(QObject::tr("Data points") +" = %1\n").arg(m_Alpha.size()); + PolarProperties += "\n"+strong; + + if(!bData) return; + QTextStream out; + strong.clear(); + out.setString(&strong); + Export(out, pMainFrame->m_ExportFileType, true); + PolarProperties += "\n"+strong; +} + + +void CWPolar::SetInertia(void *ptr, bool bPlane) +{ + CPlane *pPlane = NULL; + CWing *pWing = NULL; + if(bPlane) + { + pPlane = (CPlane*)ptr; + m_Mass = pPlane->TotalMass(); + m_CoG = pPlane->CoG(); + m_CoGIxx = pPlane->m_CoGIxx; + m_CoGIyy = pPlane->m_CoGIyy; + m_CoGIzz = pPlane->m_CoGIzz; + m_CoGIxz = pPlane->m_CoGIxz; + } + else + { + pWing = (CWing*)ptr; + m_Mass = pWing->TotalMass(); + m_CoG = pWing->m_CoG; + m_CoGIxx = pWing->m_CoGIxx; + m_CoGIyy = pWing->m_CoGIyy; + m_CoGIzz = pWing->m_CoGIzz; + m_CoGIxz = pWing->m_CoGIxz; + } + ResetWPlr(); +} + + diff -Nru xflr5-6.05/src/Objects/WPolar.h xflr5-6.06/src/Objects/WPolar.h --- xflr5-6.05/src/Objects/WPolar.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/WPolar.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** WPolar Class - Copyright (C) 2005-2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2005-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -49,8 +49,8 @@ void AddPoint(CPOpp* pPOpp); void AddPoint(double alpha, double CL, double ICd, double PCd, double CY, double GCm, double VCm, double ICm, double GRm, double GYm, double IYm, double QInf, double XCP); void CalculatePoint(int i); - void Export(QTextStream &out, int FileType); - void GetPolarProperties(QString &Properties); + void Export(QTextStream &out, int FileType, bool bDataOnly=false); + void GetPolarProperties(QString &Properties, bool bData=false); void Remove(int i); void SetInertia(void *ptr, bool bPlane); void *GetUFOPlrVariable(int iVar); @@ -95,7 +95,7 @@ // the rest is litterature QList <double> m_Alpha; //angle of attack - QList <double> m_Cl; //lift coef. + QList <double> m_CL; //lift coef. QList <double> m_CY; //Side Force QList <double> m_ICd; //induced drag coef. QList <double> m_PCd; //profile drag coef. @@ -110,8 +110,9 @@ QList <double> m_ClCd; //glide ratio QList <double> m_Cl32Cd; //powerfactor QList <double> m_QInfinite; //free stream speed - type2 Wpolars - QList <double> m_L;//Wing lift - QList <double> m_D;//Wing Drag + QList <double> m_FX;//Wing Drag + QList <double> m_FY;//Wing Side force + QList <double> m_FZ;//Wing Lift QList <double> m_1Cl;//1/Cl, special for Matthieu QList <double> m_Vx;//horizontal speed QList <double> m_Vz;//Sink speed = sqrt(2mg/rho/S)/powerfactor diff -Nru xflr5-6.05/src/Objects/Wing.cpp xflr5-6.06/src/Objects/Wing.cpp --- xflr5-6.05/src/Objects/Wing.cpp 2011-06-12 06:55:22.000000000 +0900 +++ xflr5-6.06/src/Objects/Wing.cpp 2012-01-27 14:27:33.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Wing Class - Copyright (C) 2005-2010 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2005-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -128,7 +128,7 @@ m_AVLIndex = -(int)(qrand()/10000);//improbable value... - m_MatSize = 0; + m_MatSize = 0; m_NSurfaces = 0; m_AR = 0.0;// Aspect ratio @@ -141,9 +141,9 @@ m_NPanel = 1; m_nFlaps = 0; - m_NYPanels[0] = 12; - m_NXPanels[0] = 8; - m_NXPanels[1] = 8; + m_NYPanels[0] = 19; + m_NXPanels[0] = 13; + m_NXPanels[1] = 13; m_YPanelDist[0] = 0; m_TChord[0] = .180; @@ -154,7 +154,7 @@ m_TOffset[1] = 0.060; double length = m_TLength[0]; - for (i=0; i<=MAXPANELS; i++) + for (i=0; i<=MAXSPANSECTIONS; i++) { length += m_TLength[i]; m_TPos[i] = length; @@ -162,7 +162,7 @@ } - for (i=0;i<=MAXPANELS; i++) + for (i=0;i<=MAXSPANSECTIONS; i++) { m_RFoil.append(" "); m_LFoil.append(" "); @@ -275,8 +275,8 @@ // CoG = center of gravity position // CoGIxx, CoGIyy, CoGIzz, CoGIxz = inertia of properties calculated at the CoG // - double ElemVolume[NXSTATIONS*NYSTATIONS*MAXPANELS]; - CVector PtVolume[NXSTATIONS*NYSTATIONS*MAXPANELS]; + double ElemVolume[NXSTATIONS*NYSTATIONS*MAXSPANSECTIONS]; + CVector PtVolume[NXSTATIONS*NYSTATIONS*MAXSPANSECTIONS]; int j,k,l; double rho, LocalSpan, LocalVolume; double LocalChord, LocalArea, tau; @@ -474,7 +474,7 @@ CVector PLA, PTA, PLB, PTB, Offset, T1; CVector Trans(T.x, 0.0, T.z); CVector O(0.0,0.0,0.0); - CVector VNormal[MAXPANELS+1], VNSide[MAXPANELS+1]; + CVector VNormal[MAXSPANSECTIONS+1], VNSide[MAXSPANSECTIONS+1]; double MinPanelSize; MainFrame *pMainFrame = (MainFrame*)s_pMainFrame; @@ -747,7 +747,7 @@ int j,k,l,m; double y, yob, tau; double x0,y0,y1,y2; - double SpanPosition[MAXSTATIONS]; + double SpanPosition[MAXSPANSTATIONS]; CVector C; if(NStation !=0) @@ -828,7 +828,7 @@ int j,k,l,m; double y, yob, tau; double x0,y0,y1,y2; - double SpanPosition[MAXSTATIONS]; + double SpanPosition[MAXSPANSTATIONS]; CVector C; if(NStation !=0) @@ -926,7 +926,7 @@ m_bDoubleFin = pWing->m_bDoubleFin; m_bDoubleSymFin = pWing->m_bDoubleSymFin; - for (i=0; i<=MAXPANELS; i++) + for (i=0; i<=MAXSPANSECTIONS; i++) { m_TChord[i] = pWing->m_TChord[i]; m_TPos[i] = pWing->m_TPos[i]; @@ -1420,7 +1420,7 @@ int nw, iTA, iTB; int j, k, l, p, pp, m, mm; double InducedAngle, IYm, cosa, sina; - double GammaStrip[MAXSTATIONS]; + double GammaStrip[MAXSPANSTATIONS]; CVector C, Wg, dF, StripForce, WindDirection, WindNormal, VInf; if(pWPolar->m_bTiltedGeom) @@ -1600,7 +1600,7 @@ void CWing::PanelSetBending(bool bThinSurface) { - double ypos[MAXSTATIONS+1], zpos[MAXSTATIONS+1]; + double ypos[MAXSPANSTATIONS+1], zpos[MAXSPANSTATIONS+1]; int j,k,jj,coef,p; double bm; CVector Dist(0.0,0.0,0.0); @@ -1672,7 +1672,8 @@ // Scales the wing chord-wise so that the root chord is set to the NewChord value double ratio = NewChord/m_TChord[0]; - for (int i=0; i<=MAXPANELS; i++){ + for (int i=0; i<=MAXSPANSECTIONS; i++) + { m_TChord[i] *= ratio; m_TOffset[i] *= ratio; } @@ -1684,7 +1685,8 @@ { // Scales the wing span-wise to the NewSpan value - for (int i=0; i<=MAXPANELS; i++){ + for (int i=0; i<=MAXSPANSECTIONS; i++) + { m_TPos[i] *= NewSpan/m_PlanformSpan; m_TLength[i] *= NewSpan/m_PlanformSpan; } @@ -1702,8 +1704,9 @@ if(bIsStoring) { // storing code - if(ProjectFormat>=5) ar << 1009; - else if(ProjectFormat==4) ar << 1007; + if(ProjectFormat>5) ar << 1010; + else if(ProjectFormat==5) ar << 1009; + //1010 : added storage of alpha channel + added a provision for ints and floats //1009 : QFLR5 v0.03 : added mass properties for inertia calculations //1008 : QFLR5 v0.02 : Added wing description field //1007 : Changed length units to m @@ -1750,6 +1753,12 @@ for(i=0; i<m_NMass; i++) ar << (float)m_MassPosition[i].x << (float)m_MassPosition[i].y << (float)m_MassPosition[i].z; for(i=0; i<m_NMass; i++) WriteCString(ar, m_MassTag[i]); } + if(ProjectFormat>5) + { + ar << m_WingColor.alpha(); + for(int i=0; i<20; i++) ar<<(float)0.0f; + for(int i=0; i<20; i++) ar<<0; + } return true; } else @@ -1861,8 +1870,8 @@ } else ar >> m_NXPanels[i]; - m_NXPanels[i] = qMax(1,m_NXPanels[i] ); - m_NXPanels[i] = qMin(MAXCHORDPANELS, m_NXPanels[i]); +// m_NXPanels[i] = qMax(1,m_NXPanels[i] ); +// m_NXPanels[i] = qMin(MAXCHORDPANELS, m_NXPanels[i]); } for (i=0; i<=m_NPanel; i++) @@ -1873,8 +1882,8 @@ m_NYPanels[i] = (int)f; } else ar >> m_NYPanels[i]; - m_NYPanels[i] = qMax(1,m_NYPanels[i] ); - m_NYPanels[i] = qMin(50, m_NYPanels[i]); +// m_NYPanels[i] = qMax(1,m_NYPanels[i] ); +// m_NYPanels[i] = qMin(100, m_NYPanels[i]); } int total = 0; for (i=0; i<m_NPanel; i++) @@ -1882,9 +1891,9 @@ total += m_NYPanels[i]; } - if(total*2>=MAXSTATIONS) + if(total*2>=MAXSPANSTATIONS) { - double ratio = MAXSTATIONS/total/2.0; + double ratio = MAXSPANSTATIONS/total/2.0; for (i=0; i<=m_NPanel; i++) { m_NYPanels[i] = (int) (ratio*m_NYPanels[i]); @@ -1934,6 +1943,13 @@ for(i=0; i<m_NMass; i++) ReadCString(ar, m_MassTag[i]); } + if(ArchiveFormat>=1010) + { + ar >> k; m_WingColor.setAlpha(k); + for(int i=0; i<20; i++) ar>>f; + for(int i=0; i<20; i++) ar>>k; + } + ComputeGeometry(); return true; } diff -Nru xflr5-6.05/src/Objects/Wing.h xflr5-6.06/src/Objects/Wing.h --- xflr5-6.05/src/Objects/Wing.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Objects/Wing.h 2012-01-15 19:44:55.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Wing Class - Copyright (C) 2005-2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2005-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ #include "WPolar.h" #include "Surface.h" #include "Panel.h" - +#include <QFile> class CWing { @@ -108,6 +108,11 @@ bool SerializeWing(QDataStream &ar, bool bIsStoring, int ProjectFormat); bool ExportAVLWing(QTextStream &out, int index, double x, double y, double z, double Thetax, double Thetay); + bool IsWingOut() {return m_bWingOut;} + bool IsFin() {return m_bIsFin;} + bool IsDoubleFin() {return m_bDoubleFin;} + bool IsSymFin() {return m_bSymFin;} + bool IsDoubleSymFin() {return m_bDoubleSymFin;} // bool SplineInterpolation(int n, double *x, double *y, double *a, double *b, double *c, double *d); // double GetInterpolation(double t, double *y, int m, double *a, double *b, double *c, double *d); @@ -127,13 +132,14 @@ bool m_bWingOut; // true if the wing OpPoint is outside the flight envelope of the available Type1 polars bool m_bSymetric; // true if the wing's geometry is symmetric + bool m_bIsFin, m_bDoubleFin, m_bSymFin, m_bDoubleSymFin; //fin flags int m_NStation; // number of stations for wing calculation int m_nNodes; // the number of VLM panel nodes int m_AVLIndex; // need to export to AVL int m_nFlaps; // the number of T.E. flaps, numbered from left wing to right wing - double m_FlapMoment[2*MAXPANELS]; + double m_FlapMoment[2*MAXSPANSECTIONS]; double m_QInf0; @@ -153,41 +159,40 @@ double m_GYm, m_VYm, m_IYm; // Induced Yawing Moment double m_GRm; // Geometric Rolling Moment - int m_NXPanels[MAXPANELS+1]; // VLM Panels along chord, for each Wing Panel - int m_NYPanels[MAXPANELS+1]; // VLM Panels along span, for each Wing Panel - int m_XPanelDist[MAXPANELS+1]; // VLM Panel distribution type, for each Wing Panel - int m_YPanelDist[MAXPANELS+1]; // VLM Panel distribution type, for each Wing Panel + int m_NXPanels[MAXSPANSECTIONS+1]; // VLM Panels along chord, for each Wing Panel + int m_NYPanels[MAXSPANSECTIONS+1]; // VLM Panels along span, for each Wing Panel + int m_XPanelDist[MAXSPANSECTIONS+1]; // VLM Panel distribution type, for each Wing Panel + int m_YPanelDist[MAXSPANSECTIONS+1]; // VLM Panel distribution type, for each Wing Panel // Span Coefficients resulting from VLM or LLT calculation - double m_Ai[MAXSTATIONS+1]; //Induced angles, in degrees - double m_Cl[MAXSTATIONS+1]; //Lift coefficient at stations - double m_ICd[MAXSTATIONS+1]; //Induced Drag coefficient at stations - double m_PCd[MAXSTATIONS+1]; //Viscous Drag coefficient at stations - double m_Re[MAXSTATIONS+1]; //Reynolds number at stations - double m_XTrTop[MAXSTATIONS+1]; //Upper transition location at stations - double m_XTrBot[MAXSTATIONS+1]; //Lower transition location at stations - double m_Cm[MAXSTATIONS+1]; //Total pitching moment coefficient at stations - double m_CmAirf[MAXSTATIONS+1]; //Aill part of Pitching moment coefficient at stations - double m_XCPSpanRel[MAXSTATIONS+1]; //Center of Pressure pos at stations - double m_XCPSpanAbs[MAXSTATIONS+1]; //Center of Pressure pos at stations - double m_Chord[MAXSTATIONS+1]; //chord at stations - double m_Offset[MAXSTATIONS+1]; //offset at LLT stations - double m_Twist[MAXSTATIONS+1]; //twist at LLT stations - double m_StripArea[MAXSTATIONS+1]; - double m_BendingMoment[MAXSTATIONS+1]; //bending moment at stations - double m_SpanPos[MAXSTATIONS+1]; //span positions of LLT stations + double m_Ai[MAXSPANSTATIONS+1]; //Induced angles, in degrees + double m_Cl[MAXSPANSTATIONS+1]; //Lift coefficient at stations + double m_ICd[MAXSPANSTATIONS+1]; //Induced Drag coefficient at stations + double m_PCd[MAXSPANSTATIONS+1]; //Viscous Drag coefficient at stations + double m_Re[MAXSPANSTATIONS+1]; //Reynolds number at stations + double m_XTrTop[MAXSPANSTATIONS+1]; //Upper transition location at stations + double m_XTrBot[MAXSPANSTATIONS+1]; //Lower transition location at stations + double m_Cm[MAXSPANSTATIONS+1]; //Total pitching moment coefficient at stations + double m_CmAirf[MAXSPANSTATIONS+1]; //Aill part of Pitching moment coefficient at stations + double m_XCPSpanRel[MAXSPANSTATIONS+1]; //Center of Pressure pos at stations + double m_XCPSpanAbs[MAXSPANSTATIONS+1]; //Center of Pressure pos at stations + double m_Chord[MAXSPANSTATIONS+1]; //chord at stations + double m_Offset[MAXSPANSTATIONS+1]; //offset at LLT stations + double m_Twist[MAXSPANSTATIONS+1]; //twist at LLT stations + double m_StripArea[MAXSPANSTATIONS+1]; + double m_BendingMoment[MAXSPANSTATIONS+1]; //bending moment at stations + double m_SpanPos[MAXSPANSTATIONS+1]; //span positions of LLT stations double m_xHinge[MAXCHORDPANELS]; //chorwise position of flap hinges double m_xPanel[MAXCHORDPANELS]; //chorwise position of VLM panels QString m_WingDescription; - QStringList m_RFoil; // name of the right foils QStringList m_LFoil; // name of the left foils - CVector m_Vd[MAXSTATIONS]; // downwash vector at span stations - CVector m_F[MAXSTATIONS]; // lift vector at span stations + CVector m_Vd[MAXSPANSTATIONS]; // downwash vector at span stations + CVector m_F[MAXSPANSTATIONS]; // lift vector at span stations public: QString m_WingName; //the wing's name @@ -197,18 +202,17 @@ int m_NSurfaces; // The number of VLM Surfaces (=2 x Wing Panels) int m_NPanel; // number of span panels in wing definition - CSurface m_Surface[2*MAXPANELS]; + CSurface m_Surface[2*MAXSPANSECTIONS]; - double m_TChord[MAXPANELS+1]; // Chord length at each panel side - double m_TLength[MAXPANELS+1]; // the length of each panel - double m_TPos[MAXPANELS+1]; // b-position of each panel end on developed surface - double m_TYProj[MAXPANELS+1]; // b-position of each panel end projected on horizontal surface - double m_TOffset[MAXPANELS+1]; // b-position of each panel end - double m_TDihedral[MAXPANELS+1]; // b-position of each panel end - double m_TZPos[MAXPANELS+1]; // vertical offset - calculation result only - double m_TTwist[MAXPANELS+1]; //Twist value of each foil (measured to the wing root) + double m_TChord[MAXSPANSECTIONS+1]; // Chord length at each panel side + double m_TLength[MAXSPANSECTIONS+1]; // the length of each panel + double m_TPos[MAXSPANSECTIONS+1]; // b-position of each panel end on developed surface + double m_TYProj[MAXSPANSECTIONS+1]; // b-position of each panel end projected on horizontal surface + double m_TOffset[MAXSPANSECTIONS+1]; // b-position of each panel end + double m_TDihedral[MAXSPANSECTIONS+1]; // b-position of each panel end + double m_TZPos[MAXSPANSECTIONS+1]; // vertical offset - calculation result only + double m_TTwist[MAXSPANSECTIONS+1]; //Twist value of each foil (measured to the wing root) - bool m_bIsFin, m_bDoubleFin, m_bSymFin, m_bDoubleSymFin; //fin flags double m_MAChord; // mean aerodynamic chord double m_PlanformSpan; double m_ProjectedSpan; diff -Nru xflr5-6.05/src/Params.h xflr5-6.06/src/Params.h --- xflr5-6.05/src/Params.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/Params.h 2012-01-23 02:03:59.000000000 +0900 @@ -6,15 +6,22 @@ #define MAXRECENTFILES 8 #define SETTINGSFORMAT 100623 #define PRECISION 0.00000000001 //values are assumed 0 if less than this value +#define MAXCOLORS 30 // Applications #define XFOILANALYSIS 1 #define DIRECTDESIGN 2 #define INVERSEDESIGN 3 #define MIAREX 4 -#define XBODY 5 -//View parameters +//GLVIEW +#define GLMIAREXVIEW 3 +#define GLBODYVIEW 5 +#define GLWINGVIEW 7 + + + +//Miarex View parameters #define WOPPVIEW 1 #define WPOLARVIEW 2 #define W3DVIEW 3 @@ -43,24 +50,25 @@ //3D analysis parameters #define MAXWINGS 4 //wing, wing2, elevator, fin, in that order -#define MAXPANELS 50 // max number of sections on a half wing -#define MAXSTATIONS 500 // max number of stations for LLT or VLM analysis -#define MAXCHORDPANELS 100 -#define VLMMAXMATSIZE 5000 +#define MAXSPANSECTIONS 30 // max number of sections on a half wing +#define MAXSPANSTATIONS 250 // max number of stations for LLT or VLM analysis +#define MAXCHORDPANELS 50 // max number of panels in the chordwise direction +#define VLMMAXMATSIZE 5000 // max number of VLM panels over the whole plane #define VLMHALF 2500 -#define VLMMAXRHS 100 // max number of points which may be calculated in a single sequence +#define VLMMAXRHS 50 // max number of points which may be calculated in a single sequence #define MAXCONTROLS 40 // max controls per wing section -#define SPLINECONTROLSIZE 50 // maximum number of control points -#define MAXPICTURESIZE 40 // maximum number of undo operations in direct design #define MAXBODYFRAMES 60 #define MAXSIDELINES 40 -#define MAXMASSES 40 +#define MAXMASSES 30 #define MAXPOLARPOINTS 1000 #define MAXMODEFRAMES 200 #define BODYPANELTYPE 1 #define BODYSPLINETYPE 2 +//Direct Design +#define MAXSTACKPOS 50 // max number of undo pictures on the stack in direct design +#define SPLINECONTROLSIZE 50 // maximum number of control points //XFoil Direct Parameters @@ -79,8 +87,6 @@ #define IMX4 16 // = IMX/4 added arcds -//Foil Direct design -#define MAXSTACKPOS 50 // max number of undo pictures on the stack //MIAREX @@ -141,7 +147,7 @@ #define VLMVORTICES 1386 #define PANELCP 1390 -#define PANELFORCEARROWS 1391 +#define PANELFORCEARROWS 1391 #define PANELFORCELEGENDTXT 1392 #define BODYGEOM 1400 @@ -154,6 +160,15 @@ #define MODELEGEND 1416 +#define SOLIDLINE 0 +#define DASHLINE 1 +#define DOTLINE 2 +#define DASHDOTLINE 3 +#define DASHDOTDOTLINE 4 + +#define MAXGRAPHS 4 + + #define QUESTION (BB || !BB) //Shakespeare #endif // PARAMS_H diff -Nru xflr5-6.05/src/TwoDWidget.cpp xflr5-6.06/src/TwoDWidget.cpp --- xflr5-6.05/src/TwoDWidget.cpp 2011-07-06 05:13:34.000000000 +0900 +++ xflr5-6.06/src/TwoDWidget.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,8 +1,28 @@ +/**************************************************************************** + TwoDWidget Class + Copyright (C) 2009-2012 Andre Deperrois adeperrois@xxxxxxxxx + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +*****************************************************************************/ -#include <QtGui> -#include "MainFrame.h" #include <math.h> +#include <QMenu> + +#include "MainFrame.h" #include "Graph/QGraph.h" #include "Graph/Curve.h" #include "Miarex/Miarex.h" diff -Nru xflr5-6.05/src/TwoDWidget.h xflr5-6.06/src/TwoDWidget.h --- xflr5-6.05/src/TwoDWidget.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/TwoDWidget.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,3 +1,25 @@ +/**************************************************************************** + + TwoDWidget Class + Copyright (C) 2009-2012 Andre Deperrois adeperrois@xxxxxxxxx + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +*****************************************************************************/ + + #ifndef TwoDWidget_H #define TwoDWidget_H diff -Nru xflr5-6.05/src/XDirect/BatchDlg.cpp xflr5-6.06/src/XDirect/BatchDlg.cpp --- xflr5-6.05/src/XDirect/BatchDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/BatchDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** BatchDlg Class - Copyright (C) 2003-2010 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/BatchDlg.h xflr5-6.06/src/XDirect/BatchDlg.h --- xflr5-6.05/src/XDirect/BatchDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/BatchDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** BatchDlg Class - Copyright (C) 2003-2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/BatchThreadDlg.cpp xflr5-6.06/src/XDirect/BatchThreadDlg.cpp --- xflr5-6.05/src/XDirect/BatchThreadDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/BatchThreadDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** BatchThreadDlg Class - Copyright (C) 2003-2010 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/BatchThreadDlg.h xflr5-6.06/src/XDirect/BatchThreadDlg.h --- xflr5-6.05/src/XDirect/BatchThreadDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/BatchThreadDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** BatchThreadDlg Class - Copyright (C) 2003-2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/CAddDlg.cpp xflr5-6.06/src/XDirect/CAddDlg.cpp --- xflr5-6.05/src/XDirect/CAddDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/CAddDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Corner Add class - Copyright (C) 2004-2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2004-2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,11 +19,15 @@ *****************************************************************************/ +#include <QMessageBox> + #include "CAddDlg.h" #include "XDirect.h" #include "../Design/AFoil.h" #include "XFoil.h" + + void *CAddDlg::s_pXFoil; CAddDlg::CAddDlg() diff -Nru xflr5-6.05/src/XDirect/CAddDlg.h xflr5-6.06/src/XDirect/CAddDlg.h --- xflr5-6.05/src/XDirect/CAddDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/CAddDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Corner Add class - Copyright (C) 2004-2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2004-2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,7 +23,10 @@ #define CADDDLG_H #include <QDialog> -#include <QtGui> +#include <QLabel> +#include <QRadioButton> + + #include "../Objects/Foil.h" #include "../Misc/FloatEdit.h" diff -Nru xflr5-6.05/src/XDirect/FlapDlg.cpp xflr5-6.06/src/XDirect/FlapDlg.cpp --- xflr5-6.05/src/XDirect/FlapDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/FlapDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** FlapDlg class - Copyright (C) 2004-2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2004-2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -123,29 +123,29 @@ void FlapDlg::InitDialog() { - if(m_pMemFoil->m_bTEFlap) m_pctrlTEFlapCheck->setChecked(true); + m_pctrlTEFlapCheck->setChecked(m_pMemFoil->m_bTEFlap); + EnableTEFlap(m_pMemFoil->m_bTEFlap); m_pctrlTEFlapAngle->SetValue(m_pMemFoil->m_TEFlapAngle); m_pctrlTEXHinge->SetValue(m_pMemFoil->m_TEXHinge); m_pctrlTEYHinge->SetValue(m_pMemFoil->m_TEYHinge); - if(m_pMemFoil->m_bLEFlap) m_pctrlLEFlapCheck->setChecked(true); + m_pctrlLEFlapCheck->setChecked(m_pMemFoil->m_bLEFlap); EnableLEFlap(m_pMemFoil->m_bLEFlap); m_pctrlLEFlapAngle->SetValue(m_pMemFoil->m_LEFlapAngle); m_pctrlLEXHinge->SetValue(m_pMemFoil->m_LEXHinge); m_pctrlLEYHinge->SetValue(m_pMemFoil->m_LEYHinge); } + void FlapDlg::ReadParams() { - if(m_pctrlLEFlapCheck->isChecked()) m_bLEFlap = true; - else m_bLEFlap = false; + m_bLEFlap = m_pctrlLEFlapCheck->isChecked(); m_LEFlapAngle = m_pctrlLEFlapAngle->Value(); m_LEXHinge = m_pctrlLEXHinge->Value(); m_LEYHinge = m_pctrlLEYHinge->Value(); - if(m_pctrlTEFlapCheck->isChecked()) m_bTEFlap = true; - else m_bTEFlap = false; + m_bTEFlap = m_pctrlTEFlapCheck->isChecked(); m_TEFlapAngle = m_pctrlTEFlapAngle->Value(); m_TEXHinge = m_pctrlTEXHinge->Value(); m_TEYHinge = m_pctrlTEYHinge->Value(); diff -Nru xflr5-6.05/src/XDirect/FlapDlg.h xflr5-6.06/src/XDirect/FlapDlg.h --- xflr5-6.05/src/XDirect/FlapDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/FlapDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** FlapDlg class - Copyright (C) 2004-2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2004-2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/FoilCoordDlg.cpp xflr5-6.06/src/XDirect/FoilCoordDlg.cpp --- xflr5-6.05/src/XDirect/FoilCoordDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/FoilCoordDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** FoilCoordDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/FoilCoordDlg.h xflr5-6.06/src/XDirect/FoilCoordDlg.h --- xflr5-6.05/src/XDirect/FoilCoordDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/FoilCoordDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** FoilCoordDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/FoilGeomDlg.cpp xflr5-6.06/src/XDirect/FoilGeomDlg.cpp --- xflr5-6.05/src/XDirect/FoilGeomDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/FoilGeomDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** FoilGeomDlg Class - Copyright (C) 2008-2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008-2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/FoilGeomDlg.h xflr5-6.06/src/XDirect/FoilGeomDlg.h --- xflr5-6.05/src/XDirect/FoilGeomDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/FoilGeomDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** FoilGeomDlg Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/FoilPolarDlg.cpp xflr5-6.06/src/XDirect/FoilPolarDlg.cpp --- xflr5-6.05/src/XDirect/FoilPolarDlg.cpp 2011-06-18 04:48:30.000000000 +0900 +++ xflr5-6.06/src/XDirect/FoilPolarDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** FoilPolarDlg Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,6 +19,8 @@ *****************************************************************************/ +#include <QGroupBox> + #include "FoilPolarDlg.h" #include "XDirect.h" #include "../Globals.h" diff -Nru xflr5-6.05/src/XDirect/FoilPolarDlg.h xflr5-6.06/src/XDirect/FoilPolarDlg.h --- xflr5-6.05/src/XDirect/FoilPolarDlg.h 2011-06-18 04:48:30.000000000 +0900 +++ xflr5-6.06/src/XDirect/FoilPolarDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** FoilPolarDlg Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,7 +24,8 @@ #define FOILPOLARDLG_H #include <QDialog> -#include <QtGui> +#include <QRadioButton> +#include <QLabel> #include <QString> #include "../Misc/FloatEdit.h" diff -Nru xflr5-6.05/src/XDirect/InterpolateFoilsDlg.cpp xflr5-6.06/src/XDirect/InterpolateFoilsDlg.cpp --- xflr5-6.05/src/XDirect/InterpolateFoilsDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/InterpolateFoilsDlg.cpp 2012-01-25 05:25:27.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** InterpolateFoilsDlg Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,6 +19,8 @@ *****************************************************************************/ +#include <QGroupBox> + #include "InterpolateFoilsDlg.h" #include "../MainFrame.h" #include "XFoil.h" @@ -122,6 +124,8 @@ int i; CFoil* pFoil; + m_pctrlFoil1->clear(); + m_pctrlFoil2->clear(); for (i=0; i<m_poaFoil->size(); i++) { pFoil = (CFoil*)m_poaFoil->at(i); @@ -287,8 +291,9 @@ if(m_pctrlFrac->Value()>100.0) m_pctrlFrac->SetValue(100.0); if(m_pctrlFrac->Value()<0.0) m_pctrlFrac->SetValue(0.0); - m_Frac = m_pctrlFrac->Value(); + m_Frac = m_pctrlFrac->Value(); m_pctrlSlider->setSliderPosition((int)m_Frac); + m_Frac = 100.0 - m_Frac; Update(); } diff -Nru xflr5-6.05/src/XDirect/InterpolateFoilsDlg.h xflr5-6.06/src/XDirect/InterpolateFoilsDlg.h --- xflr5-6.05/src/XDirect/InterpolateFoilsDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/InterpolateFoilsDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** InterpolateFoilsDlg Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,7 +25,10 @@ #define INTERPOLATEFOILSDLG_H #include <QDialog> -#include <QtGui> +#include <QLineEdit> +#include <QComboBox> +#include <QLabel> +#include <QSlider> #include "../Objects/Foil.h" #include "../Misc/FloatEdit.h" diff -Nru xflr5-6.05/src/XDirect/LEDlg.cpp xflr5-6.06/src/XDirect/LEDlg.cpp --- xflr5-6.05/src/XDirect/LEDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/LEDlg.cpp 2012-01-25 05:25:27.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** LEDlg Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,8 +19,8 @@ *****************************************************************************/ +#include <QMessageBox> -#include <QtGui> #include "LEDlg.h" #include "XFoil.h" #include "XDirect.h" @@ -186,9 +186,9 @@ } m_LErfac = m_pctrlLE->Value(); - m_Blend = m_pctrlBlend->Value(); + m_Blend = m_pctrlBlend->Value()/100.0; - pXFoil->lerad(m_LErfac,m_Blend/100.0); + pXFoil->lerad(m_LErfac,m_Blend); if(pXFoil->n>IQX) { diff -Nru xflr5-6.05/src/XDirect/LEDlg.h xflr5-6.06/src/XDirect/LEDlg.h --- xflr5-6.05/src/XDirect/LEDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/LEDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** LEDlg Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/ManageFoilsDlg.cpp xflr5-6.06/src/XDirect/ManageFoilsDlg.cpp --- xflr5-6.05/src/XDirect/ManageFoilsDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/ManageFoilsDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ManageFoilsDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/ManageFoilsDlg.h xflr5-6.06/src/XDirect/ManageFoilsDlg.h --- xflr5-6.05/src/XDirect/ManageFoilsDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/ManageFoilsDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ManageFoilsDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/NacaFoilDlg.cpp xflr5-6.06/src/XDirect/NacaFoilDlg.cpp --- xflr5-6.05/src/XDirect/NacaFoilDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/NacaFoilDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Naca Foil Dlg - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/NacaFoilDlg.h xflr5-6.06/src/XDirect/NacaFoilDlg.h --- xflr5-6.05/src/XDirect/NacaFoilDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/NacaFoilDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** Naca Foil Dlg - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,7 +23,7 @@ #define NACAFOILDLG_H #include <QDialog> -#include <QtGui> +#include <QLabel> #include "../Objects/Foil.h" #include "../Misc/FloatEdit.h" diff -Nru xflr5-6.05/src/XDirect/ReListDlg.cpp xflr5-6.06/src/XDirect/ReListDlg.cpp --- xflr5-6.05/src/XDirect/ReListDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/ReListDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ReListDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/ReListDlg.h xflr5-6.06/src/XDirect/ReListDlg.h --- xflr5-6.05/src/XDirect/ReListDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/ReListDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** ReListDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/TEGapDlg.cpp xflr5-6.06/src/XDirect/TEGapDlg.cpp --- xflr5-6.05/src/XDirect/TEGapDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/TEGapDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** TEGapDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +19,9 @@ *****************************************************************************/ -#include <QtGui> +#include <QMessageBox> + + #include "TEGapDlg.h" #include "XFoil.h" #include "XDirect.h" diff -Nru xflr5-6.05/src/XDirect/TEGapDlg.h xflr5-6.06/src/XDirect/TEGapDlg.h --- xflr5-6.05/src/XDirect/TEGapDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/TEGapDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** TEGapDlg Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/TwoDPanelDlg.cpp xflr5-6.06/src/XDirect/TwoDPanelDlg.cpp --- xflr5-6.05/src/XDirect/TwoDPanelDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/TwoDPanelDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** TwoDPanelDlg Class - Copyright (C) 2008-2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2008-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,6 +19,9 @@ *****************************************************************************/ +#include <QMessageBox> + + #include "TwoDPanelDlg.h" #include "../Params.h" #include "XFoil.h" diff -Nru xflr5-6.05/src/XDirect/TwoDPanelDlg.h xflr5-6.06/src/XDirect/TwoDPanelDlg.h --- xflr5-6.05/src/XDirect/TwoDPanelDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/TwoDPanelDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** TwoDPanelDlg Class - Copyright (C) 2008-2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2008-2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/XDirect.cpp xflr5-6.06/src/XDirect/XDirect.cpp --- xflr5-6.05/src/XDirect/XDirect.cpp 2011-06-18 04:48:30.000000000 +0900 +++ xflr5-6.06/src/XDirect/XDirect.cpp 2012-01-25 05:25:27.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** QXDirect Class - Copyright (C) 2008-2010 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008-2010 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,8 +19,16 @@ *****************************************************************************/ -#include <QtGui> #include <QCheckBox> +#include <QTimer> +#include <QAction> +#include <QMenu> +#include <QStatusBar> +#include <QMessageBox> +#include <QColorDialog> +#include <QFileDialog> +#include <QGroupBox> +#include <QThread> #include <math.h> #include "../Globals.h" @@ -2213,10 +2221,8 @@ void QXDirect::OnCurveColor() { - bool bOK; - QRgb rgb = m_CurveColor.rgba(); - rgb = QColorDialog::getRgba(rgb, &bOK); - m_CurveColor = QColor::fromRgba(rgb); + QColor Color = QColorDialog::getColor(m_CurveColor); + if(Color.isValid()) m_CurveColor = Color; FillComboBoxes(); @@ -2631,24 +2637,6 @@ } -void QXDirect::OnDuplicateFoil() -{ - if(!g_pCurFoil) return; - MainFrame* pMainFrame = (MainFrame*)m_pMainFrame; - CFoil *pNewFoil = new CFoil(); - pNewFoil->CopyFoil(g_pCurFoil); - pNewFoil->InitFoil(); - - m_BufferFoil.CopyFoil(pNewFoil); - if(pMainFrame->SetModFoil(pNewFoil)) - { - SetFoil(); - pMainFrame->UpdateFoils(); - UpdateView(); - pMainFrame->SetSaveState(false); - } - else delete pNewFoil; -} void QXDirect::OnEditCurPolar() @@ -3328,10 +3316,7 @@ MainFrame *pMainFrame = (MainFrame*)m_pMainFrame; CPolar *pPolar = new CPolar; double Re, alpha, CL, CD, CDp, CM, Xt, Xb,Cpmn, HMom; - QString FileName, PolarName, FoilName; - QString strong, str; - - QString PathName; + QString FoilName, PathName, strong, str; QByteArray textline; const char *text; @@ -3353,8 +3338,9 @@ QTextStream in(&XFile); int res, Line; + bool bOK, bOK2, bRead; + Line = 0; - bool bRead; bRead = ReadAVLString(in, Line, strong);// XFoil or XFLR5 version bRead = ReadAVLString(in, Line, strong);// Foil Name @@ -3373,17 +3359,15 @@ bRead = ReadAVLString(in, Line, strong);// analysis type - textline = strong.toAscii(); - text = textline.constData(); - res = sscanf(text, "%d%d", &pPolar->m_ReType,&pPolar->m_MaType); - if(res !=2) + pPolar->m_ReType = strong.mid(0,2).toInt(&bOK); + pPolar->m_MaType= strong.mid(2,2).toInt(&bOK2); + if(!bOK || !bOK2) { - str = tr("Error reading at line xx. The polar(s) will not be stored"); + str = QString("Error reading line %1: Unrecognized Mach and Reynolds type.\nThe polar(s) will not be stored").arg(Line); delete pPolar; QMessageBox::warning(pMainFrame, tr("Warning"), str); return; } - if (pPolar->m_ReType ==1 && pPolar->m_MaType ==1) pPolar->m_Type = 1; else if(pPolar->m_ReType ==2 && pPolar->m_MaType ==2) pPolar->m_Type = 2; else if(pPolar->m_ReType ==3 && pPolar->m_MaType ==1) pPolar->m_Type = 3; @@ -3393,28 +3377,26 @@ bRead = ReadAVLString(in, Line, strong); if(strong.length() < 34) { - str = tr("Error reading at line xx. The polar(s) will not be stored"); + str = QString("Error reading line %1. The polar(s) will not be stored").arg(Line); delete pPolar; QMessageBox::warning(pMainFrame, tr("Warning"), str); return; } - textline = strong.mid(9,6).toAscii(); - text = textline.constData(); - res = sscanf(text, "%lf", &pPolar->m_XTop); - if(res !=1) + + pPolar->m_XTop = strong.mid(9,6).toDouble(&bOK); + if(!bOK) { - str = tr("Error reading at line xx. The polar(s) will not be stored"); + str = QString("Error reading Bottom Transition value at line %1. The polar(s) will not be stored").arg(Line); delete pPolar; QMessageBox::warning(pMainFrame, tr("Warning"), str); return; } - textline = strong.mid(28,6).toAscii(); - text = textline.constData(); - res += sscanf(text, "%lf", &pPolar->m_XBot); - if(res !=2) + + pPolar->m_XTop = strong.mid(28,6).toDouble(&bOK); + if(!bOK) { - str = tr("Error reading at line xx. The polar(s) will not be stored"); + str = QString("Error reading Top Transition value at line %1. The polar(s) will not be stored").arg(Line); delete pPolar; QMessageBox::warning(pMainFrame, tr("Warning"), str); return; @@ -3422,41 +3404,37 @@ // Mach Re NCrit bRead = ReadAVLString(in, Line, strong);// blank line - if(strong.length() < 58) + if(strong.length() < 50) { - str = tr("Error reading at line xx. The polar(s) will not be stored"); + str = QString("Error reading line %1. The polar(s) will not be stored").arg(Line); delete pPolar; QMessageBox::warning(pMainFrame, tr("Warning"), str); return; } - textline = strong.mid(8,6).toAscii(); - text = textline.constData(); - res = sscanf(text, "%lf", &pPolar->m_Mach);// Mach - if(res!=1) + + pPolar->m_Mach = strong.mid(8,6).toDouble(&bOK); + if(!bOK) { - str = tr("Error reading at line xx. The polar(s) will not be stored"); + str = QString("Error reading Mach Number at line %1. The polar(s) will not be stored").arg(Line); delete pPolar; QMessageBox::warning(pMainFrame, tr("Warning"), str); return; } - textline = strong.mid(24,18).toAscii(); - text = textline.constData(); - res += sscanf(text, "%lf", &Re);// Re - if(res!=2) + Re = strong.mid(24,10).toDouble(&bOK); + if(!bOK) { - str = tr("Error reading at line xx. The polar(s) will not be stored"); + str = QString("Error reading Reynolds Number at line %1. The polar(s) will not be stored").arg(Line); delete pPolar; QMessageBox::warning(pMainFrame, tr("Warning"), str); return; } - textline = strong.mid(52,8).toAscii(); - text = textline.constData(); - res += sscanf(text, "%lf", &pPolar->m_ACrit);// NCrit - Re = Re*1000000.0; - if(res !=3) + Re *=1000000.0; + + pPolar->m_ACrit = strong.mid(52,8).toDouble(&bOK); + if(!bOK) { - str = tr("Error reading at line xx. The polar(s) will not be stored"); + str = QString("Error reading NCrit at line %1. The polar(s) will not be stored").arg(Line); delete pPolar; QMessageBox::warning(pMainFrame, tr("Warning"), str); return; @@ -4976,7 +4954,6 @@ void QXDirect::PaintOpPoint(QPainter &painter) { - static QColor color; static double Alpha, FoilScale; FoilScale = m_fFoilScale; QString Result, str, str1; @@ -4985,6 +4962,15 @@ if (m_rCltRect.width()<150 || m_rCltRect.height()<150) return; + + if(m_bCpGraph) + { + //Draw Cp Graph + m_pCpGraph->DrawGraph(painter); + QPoint Place(m_rCltRect.right()-330, m_rCltRect.top() + 20); + m_pCpGraph->DrawLegend(painter, Place, pMainFrame->m_TextFont, pMainFrame->m_TextColor);//Graph::DrawLegend uses graph's legend font and color + } + if(m_bNeutralLine) { QPen NeutralPen(m_crNeutralColor); @@ -5010,13 +4996,6 @@ if(m_bBL && m_pCurOpp) PaintBL(painter, m_pCurOpp, m_fFoilScale); } - if(m_bCpGraph) - { - //Draw Cp Graph - m_pCpGraph->DrawGraph(painter); - QPoint Place(m_rCltRect.right()-330, m_rCltRect.top() + 20); - m_pCpGraph->DrawLegend(painter, Place, pMainFrame->m_TextFont, pMainFrame->m_TextColor);//Graph::DrawLegend uses graph's legend font and color - } // Write Titles and results QString strong; diff -Nru xflr5-6.05/src/XDirect/XDirect.h xflr5-6.06/src/XDirect/XDirect.h --- xflr5-6.05/src/XDirect/XDirect.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/XDirect.h 2012-01-25 05:25:27.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** QXDirect Class - Copyright (C) 2008-2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008-2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -109,7 +109,6 @@ void OnDelCurOpp(); void OnDeleteCurPolar(); void OnDeleteFoilPolars(); - void OnDuplicateFoil(); void OnEditCurPolar(); void OnExportCurFoil(); void OnExportCurOpp(); diff -Nru xflr5-6.05/src/XDirect/XDirectStyleDlg.cpp xflr5-6.06/src/XDirect/XDirectStyleDlg.cpp --- xflr5-6.05/src/XDirect/XDirectStyleDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/XDirectStyleDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** QXDirectStyleDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/XDirectStyleDlg.h xflr5-6.06/src/XDirect/XDirectStyleDlg.h --- xflr5-6.05/src/XDirect/XDirectStyleDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/XDirectStyleDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** QXDirectStyleDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/XFoil.cpp xflr5-6.06/src/XDirect/XFoil.cpp --- xflr5-6.05/src/XDirect/XFoil.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/XFoil.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -2,7 +2,7 @@ XFoil Class Copyright (C) 2000 Mark Drela - Copyright (C) 2003 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/XFoil.h xflr5-6.06/src/XDirect/XFoil.h --- xflr5-6.05/src/XDirect/XFoil.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/XFoil.h 2012-01-07 23:31:46.000000000 +0900 @@ -2,7 +2,7 @@ XFoil Class Copyright (C) 2000 Mark Drela - Copyright (C) 2003 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2003 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/XFoilAdvancedDlg.cpp xflr5-6.06/src/XDirect/XFoilAdvancedDlg.cpp --- xflr5-6.05/src/XDirect/XFoilAdvancedDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/XFoilAdvancedDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** XFoilAdvancedDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,6 +19,7 @@ *****************************************************************************/ +#include <QLabel> #include "XFoilAdvancedDlg.h" diff -Nru xflr5-6.05/src/XDirect/XFoilAdvancedDlg.h xflr5-6.06/src/XDirect/XFoilAdvancedDlg.h --- xflr5-6.05/src/XDirect/XFoilAdvancedDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/XFoilAdvancedDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** XFoilAdvancedDlg Class - Copyright (C) 2009 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,7 +25,10 @@ #define XFOILADVANCEDDLG_H #include <QDialog> -#include <QtGui> +#include <QCheckBox> +#include <QHBoxLayout> +#include <QPushButton> + #include "../Misc/FloatEdit.h" diff -Nru xflr5-6.05/src/XDirect/XFoilAnalysisDlg.cpp xflr5-6.06/src/XDirect/XFoilAnalysisDlg.cpp --- xflr5-6.05/src/XDirect/XFoilAnalysisDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/XFoilAnalysisDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** XFoilAnalysisDlg Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +19,10 @@ *****************************************************************************/ -#include <QtGui> +#include <QApplication> +#include <QDir> +#include <QDateTime> + #include "XFoilAnalysisDlg.h" #include "XDirect.h" diff -Nru xflr5-6.05/src/XDirect/XFoilAnalysisDlg.h xflr5-6.06/src/XDirect/XFoilAnalysisDlg.h --- xflr5-6.05/src/XDirect/XFoilAnalysisDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/XFoilAnalysisDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** XFoilAnalysisDlg Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/XFoilTask.cpp xflr5-6.06/src/XDirect/XFoilTask.cpp --- xflr5-6.05/src/XDirect/XFoilTask.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/XFoilTask.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** XFoilTask Class - Copyright (C) 2011 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2011 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XDirect/XFoilTask.h xflr5-6.06/src/XDirect/XFoilTask.h --- xflr5-6.05/src/XDirect/XFoilTask.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XDirect/XFoilTask.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** XFoilTask Class - Copyright (C) 2011 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2011 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XFLR5Application.cpp xflr5-6.06/src/XFLR5Application.cpp --- xflr5-6.05/src/XFLR5Application.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XFLR5Application.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** XFLR5Application Class - Copyright (C) 2008 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx Francesco Meschia francesco.meschia@xxxxxxxxx This program is free software; you can redistribute it and/or modify @@ -21,7 +21,6 @@ *****************************************************************************/ #include <QFileOpenEvent> -#include <QtGui/QApplication> #include <QSplashScreen> #include <QMessageBox> #include "XFLR5Application.h" diff -Nru xflr5-6.05/src/XFLR5Application.h xflr5-6.06/src/XFLR5Application.h --- xflr5-6.05/src/XFLR5Application.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XFLR5Application.h 2012-01-07 23:31:46.000000000 +0900 @@ -2,7 +2,7 @@ XFLR5Application Class - Copyright (C) 2008 Andre Deperrois XFLR5@xxxxxxxxx + Copyright (C) 2008 Andre Deperrois adeperrois@xxxxxxxxx Francesco Meschia francesco.meschia@xxxxxxxxx This program is free software; you can redistribute it and/or modify diff -Nru xflr5-6.05/src/XInverse/FoilSelectionDlg.cpp xflr5-6.06/src/XInverse/FoilSelectionDlg.cpp --- xflr5-6.05/src/XInverse/FoilSelectionDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XInverse/FoilSelectionDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** FoilSelectionDlg Classes - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XInverse/FoilSelectionDlg.h xflr5-6.06/src/XInverse/FoilSelectionDlg.h --- xflr5-6.05/src/XInverse/FoilSelectionDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XInverse/FoilSelectionDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** FoilSelectionDlg Classes - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XInverse/InverseOptionsDlg.cpp xflr5-6.06/src/XInverse/InverseOptionsDlg.cpp --- xflr5-6.05/src/XInverse/InverseOptionsDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XInverse/InverseOptionsDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** InverseOptionsDlg Classes - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XInverse/InverseOptionsDlg.h xflr5-6.06/src/XInverse/InverseOptionsDlg.h --- xflr5-6.05/src/XInverse/InverseOptionsDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XInverse/InverseOptionsDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** InverseOptionsDlg Classes - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XInverse/PertDlg.cpp xflr5-6.06/src/XInverse/PertDlg.cpp --- xflr5-6.05/src/XInverse/PertDlg.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XInverse/PertDlg.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** PertDlg class - Copyright (C) 2004-2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2004-2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XInverse/PertDlg.h xflr5-6.06/src/XInverse/PertDlg.h --- xflr5-6.05/src/XInverse/PertDlg.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XInverse/PertDlg.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** PertDlg class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/src/XInverse/XInverse.cpp xflr5-6.06/src/XInverse/XInverse.cpp --- xflr5-6.05/src/XInverse/XInverse.cpp 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XInverse/XInverse.cpp 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** XInverse Class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,8 +21,10 @@ #include <QGroupBox> #include <QGridLayout> -#include <QtGui> - +#include <QAction> +#include <QMessageBox> +#include <QStatusBar> + #include "XInverse.h" #include "InverseOptionsDlg.h" #include "FoilSelectionDlg.h" diff -Nru xflr5-6.05/src/XInverse/XInverse.h xflr5-6.06/src/XInverse/XInverse.h --- xflr5-6.05/src/XInverse/XInverse.h 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/src/XInverse/XInverse.h 2012-01-07 23:31:46.000000000 +0900 @@ -1,7 +1,7 @@ /**************************************************************************** QXInverse Class - Copyright (C) 2009 Andre Deperrois xflr5@xxxxxxxxx + Copyright (C) 2009 Andre Deperrois adeperrois@xxxxxxxxx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru xflr5-6.05/suse/xflr5-v6.05.spec xflr5-6.06/suse/xflr5-v6.05.spec --- xflr5-6.05/suse/xflr5-v6.05.spec 2011-07-25 02:43:09.000000000 +0900 +++ xflr5-6.06/suse/xflr5-v6.05.spec 1970-01-01 09:00:00.000000000 +0900 @@ -1,156 +0,0 @@ -# This is a spec file for the installation of XFLR5 v6 -%define name xflr5 -%define release 1 -%define version 6.05 - -BuildRoot: %{_tmppath}/%{name}-%{version} -Summary: XFLR5 is an analysis tool for airfoils and planes operating at low Re numbers -License: GPL -Name: %{name} -Version: %{version} -Release: %{release} -Source: %{name}-%{version}.tar.gz -Packager: x-andre -Group: Applications/Engineering -%if 0%{?fedora_version} -BuildRequires: qt-devel >= 4.7.0 gcc-c++ , Mesa-devel -%else -BuildRequires: libqt4-devel >= 4.7.0 gcc-c++ , Mesa-devel -%endif - -%description -XFLR5 is a design tool intended for the design and analysis of reduced scaled model airplanes. -It includes the XFoil program for the analysis of airfoils. -It includes a non-linear Lifting Line method (LLT), two Vortex Lattice Methods (VLM), -and a 3D panel first-order method for the analysis of wings and planes. -XFLR5 v5 is a re-write of XFLR5 v4 using Qt4 libraries instead of Microsoft's MFC. -XFLR5 v6 introduces stability and control analysis - -%prep -#%{name} = xflr5 -#%{_docdir} = /usr/share/doc/packages -#%{_datadir} = /usr/share -#%{_bindir} = /usr/bin -#%{_tmppath} = /home/windsoarer/Qt/rpmbuild/tmp -#%{buildroot} = /home/windsoarer/Qt/rpmbuild/BUILDROOT/xflr5-6.00-1.x86_64 - -%setup -q - -%build -%if 0%{?fedora_version} -qmake-qt4 -makefile %{name}.pro 'target.path = %{buildroot}%{_bindir}' -qmake-qt4 'target.path = %{buildroot}%{_bindir}' -%else -qmake -makefile %{name}.pro 'target.path = %{buildroot}%{_bindir}' -qmake 'target.path = %{buildroot}%{_bindir}' -%endif - -echo $RPM_BUILD_ROOT -echo %{buildroot}%{_bindir} - -make - - -%install -%__mkdir -p %{buildroot}%{_bindir} -%__mkdir -p %{buildroot}/usr/share/%{name}/translations -%__mkdir -p %{buildroot}/usr/share/applications -%__mkdir -p %{buildroot}/usr/share/pixmaps -%__mkdir -p %{buildroot}%{_docdir}/%{name} -make install DESTDIR=$RPM_BUILD_ROOT $INSTALL_TARGET -#make install DESTDIR=%{buildroot}%{_bindir} $INSTALL_TARGET -%__install -m 644 images/%{name}.png %{buildroot}%{_datadir}/pixmaps/%{name}.png -%__install -m 644 suse/%{name}.desktop %{buildroot}%{_datadir}/applications -%__install -m 644 translations/*.qm %{buildroot}/usr/share/%{name}/translations -%__install -m 644 doc/*.pdf %{buildroot}/usr/share/%{name} - - -%files -%defattr(-,root,root) - -#%if 0%{suse_version} > 1110 || 0%{fedora_version} || 0%{mandriva_version} -%{_datadir}/applications/%{name}.desktop -#%endif - -%{_datadir}/pixmaps/%{name}.png -%{_datadir}/%{name} -%docdir %{buildroot}/usr/share/%{name}/translations - -%doc License.txt -%{_bindir}/%{name} - -%clean -#%{__rm} -rf $RPM_BUILD_ROOT - -echo %{_bindir}/%{name} - - -%changelog -*Sun Jul 24 2011 A. Deperrois -xflr5 v6.05 beta, July 15th, 2011 -- For Type 7 polars, listed the control value instead of the aoa in the top drop down box -- Added a calculation form to determine Re.sqrt(Cl) for foil Type 2 polars -- Added the Japanese translation to the repository - thanks to Koichi -- Minor corrections and improvements - -*Sun May 15 2011 A. Deperrois -xflr5 v6.04 beta, May 14th, 2011 -- added a settings save at each project save -- added and option to view forces on panels as coloured arrows -- fixed the incorrect setting of AVL-type controls for flaps in T7 analysis -- added the missing write operation in the project file of the control variable for wing operating points -- modified the setting of boundary conditions in T7 analysis with activated controls - impact on balanced aoa -- modified the wing construction process to allow for a gap in the middle of the wing -- corrected the bug which caused the disapperance of the left stability toolbar when switching to 3D view -- corrected the bug which prevented from changing the default number of panels in naca foil generation -- continued the code cleaning process - - -*Sun Feb 13 2011 A. Deperrois -XFLR5v6.03 beta rpm release -- modified the geometry connection between panels with dihedral and twist - may slightly impact the results -- corrected the calculations with sideslip -- added multi-threading capability for foil batch analysis -- added an option to display the position of point masses in 3d-view -- in the export to AVL of point masses, corrected the missing addition of wing x & z position -- modified the export format to AVL of with wing flaps -- added an option to highlight the currently selected operating point, or the mode in root locs view -- changed the interface for stability analysis -- added a properties dialog box option for operating points -- corrected various minor bugs -- made several minor enhancements - -*Sun Dec 19 2010 A. Deperrois -XFLR5v6.02 beta rpm release -- added an option to load a background image in the foil direct design module -- corrected some errors in CoG and inertia automatic calculations, with impact on results -- did some deep code cleaning -- re-organized the panel analysis code to perform only one far field calculation per operating point -- optimized the panel method for increased speed of execution -- corrected the mesh edition for NURBS bodies -- changed the export format for graphs -- implemented the stability method for mixed panel/vlm method -- implemented the stability method for full 3D panel method -- corrected the bug which lead to incorrect results in 3D panel with Neumann B.C. -- corrected the error in the jump in potential at the wing's trailing edage in full 3d panel method -- set the estimation of inertia properties at the time of polar definition instead of evaluating at the time of analysis -- fixed the bug which could cause a crash when dragging a point in splines design -- corrected the asymetric transition location for symetric wings -- corrected the source strength influence of thick panels on thin surfaces, with impact on results for planes with body -- corrected the Cp 3D color display for VLM2 analysis -- added the influence of pressure forces acting on the body to induced pitching moment coefficient -- added calculation of neutral point position based on Cma/Cza ratio -- corrected various minor bugs -- made several minor enhancements - -*Thu Oct 14 2010 A. Deperrois -XFLR5v6.01 beta rpm release -- Corrected the incorrect balance speed in 3D type 2 polars for planes -- Corrected the final moment calculation in stability analysis -- Corrected the incorrect lift calculation in stability analysis - -*Sat Sep 19 2010 A. Deperrois -XFLR5v6.00 beta rpm release - -*Fri Apr 3 2010 A. Deperrois -First rpm release diff -Nru xflr5-6.05/suse/xflr5-v6.06.spec xflr5-6.06/suse/xflr5-v6.06.spec --- xflr5-6.05/suse/xflr5-v6.06.spec 1970-01-01 09:00:00.000000000 +0900 +++ xflr5-6.06/suse/xflr5-v6.06.spec 2012-01-28 19:34:55.000000000 +0900 @@ -0,0 +1,157 @@ +# This is a spec file for the installation of XFLR5 v6 +%define name xflr5 +%define release 1 +%define version 6.05 + +# norootforbuild + +BuildRoot: %{_tmppath}/%{name}-%{version} +Summary: XFLR5 is an analysis tool for airfoils and planes operating at low Re numbers +License: GPL +Name: %{name} +Version: %{version} +Release: %{release} +Source: %{name}-%{version}.tar.gz +Packager: x-andre +Group: Applications/Engineering +%if 0%{?fedora_version} +BuildRequires: qt-devel >= 4.7.0 gcc-c++ , Mesa-devel +%else +BuildRequires: libqt4-devel >= 4.7.0 gcc-c++ , Mesa-devel +%endif + +%description +XFLR5 is a design tool intended for the design and analysis of reduced scaled model airplanes. +It includes the XFoil program for the analysis of airfoils. +It includes a non-linear Lifting Line method (LLT), two Vortex Lattice Methods (VLM), +and a 3D panel first-order method for the analysis of wings and planes. +XFLR5 v5 is a re-write of XFLR5 v4 using Qt4 libraries instead of Microsoft's MFC. +XFLR5 v6 introduces stability and control analysis + +%prep + + +%setup -q + +%build +%if 0%{?fedora_version} +qmake-qt4 -makefile %{name}.pro 'target.path = %{buildroot}%{_bindir}' +qmake-qt4 'target.path = %{buildroot}%{_bindir}' +%else +qmake -makefile %{name}.pro 'target.path = %{buildroot}%{_bindir}' +qmake 'target.path = %{buildroot}%{_bindir}' +%endif + +echo $RPM_BUILD_ROOT +echo %{buildroot}%{_bindir} + +make + + +%install +%__mkdir -p %{buildroot}%{_bindir} +%__mkdir -p %{buildroot}/usr/share/%{name}/translations +%__mkdir -p %{buildroot}/usr/share/applications +%__mkdir -p %{buildroot}/usr/share/pixmaps +%__mkdir -p %{buildroot}%{_docdir}/%{name} +make install DESTDIR=$RPM_BUILD_ROOT $INSTALL_TARGET +#make install DESTDIR=%{buildroot}%{_bindir} $INSTALL_TARGET +%__install -m 644 images/%{name}.png %{buildroot}%{_datadir}/pixmaps/%{name}.png +%__install -m 644 suse/%{name}.desktop %{buildroot}%{_datadir}/applications +%__install -m 644 translations/*.qm %{buildroot}/usr/share/%{name}/translations +%__install -m 644 doc/*.pdf %{buildroot}/usr/share/%{name} + + +%files +%defattr(-,root,root) + +#%if 0%{suse_version} > 1110 || 0%{fedora_version} || 0%{mandriva_version} +%{_datadir}/applications/%{name}.desktop +#%endif + +%{_datadir}/pixmaps/%{name}.png +%{_datadir}/%{name} +%docdir %{buildroot}/usr/share/%{name}/translations + +%doc License.txt +%{_bindir}/%{name} + +%clean +#%{__rm} -rf $RPM_BUILD_ROOT + +echo %{_bindir}/%{name} + + +%changelog +*Fri Jan 06 2012 A. Deperrois +xflr5 v6.06 +- Minor corrections and improvements + +*Sun Jul 24 2011 A. Deperrois +xflr5 v6.05 beta, July 15th, 2011 +- For Type 7 polars, listed the control value instead of the aoa in the top drop down box +- Added a calculation form to determine Re.sqrt(Cl) for foil Type 2 polars +- Added the Japanese translation to the repository - thanks to Koichi +- Minor corrections and improvements + +*Sun May 15 2011 A. Deperrois +xflr5 v6.04 beta, May 14th, 2011 +- added a settings save at each project save +- added and option to view forces on panels as coloured arrows +- fixed the incorrect setting of AVL-type controls for flaps in T7 analysis +- added the missing write operation in the project file of the control variable for wing operating points +- modified the setting of boundary conditions in T7 analysis with activated controls - impact on balanced aoa +- modified the wing construction process to allow for a gap in the middle of the wing +- corrected the bug which caused the disapperance of the left stability toolbar when switching to 3D view +- corrected the bug which prevented from changing the default number of panels in naca foil generation +- continued the code cleaning process + + +*Sun Feb 13 2011 A. Deperrois +XFLR5v6.03 beta rpm release +- modified the geometry connection between panels with dihedral and twist - may slightly impact the results +- corrected the calculations with sideslip +- added multi-threading capability for foil batch analysis +- added an option to display the position of point masses in 3d-view +- in the export to AVL of point masses, corrected the missing addition of wing x & z position +- modified the export format to AVL of with wing flaps +- added an option to highlight the currently selected operating point, or the mode in root locs view +- changed the interface for stability analysis +- added a properties dialog box option for operating points +- corrected various minor bugs +- made several minor enhancements + +*Sun Dec 19 2010 A. Deperrois +XFLR5v6.02 beta rpm release +- added an option to load a background image in the foil direct design module +- corrected some errors in CoG and inertia automatic calculations, with impact on results +- did some deep code cleaning +- re-organized the panel analysis code to perform only one far field calculation per operating point +- optimized the panel method for increased speed of execution +- corrected the mesh edition for NURBS bodies +- changed the export format for graphs +- implemented the stability method for mixed panel/vlm method +- implemented the stability method for full 3D panel method +- corrected the bug which lead to incorrect results in 3D panel with Neumann B.C. +- corrected the error in the jump in potential at the wing's trailing edage in full 3d panel method +- set the estimation of inertia properties at the time of polar definition instead of evaluating at the time of analysis +- fixed the bug which could cause a crash when dragging a point in splines design +- corrected the asymetric transition location for symetric wings +- corrected the source strength influence of thick panels on thin surfaces, with impact on results for planes with body +- corrected the Cp 3D color display for VLM2 analysis +- added the influence of pressure forces acting on the body to induced pitching moment coefficient +- added calculation of neutral point position based on Cma/Cza ratio +- corrected various minor bugs +- made several minor enhancements + +*Thu Oct 14 2010 A. Deperrois +XFLR5v6.01 beta rpm release +- Corrected the incorrect balance speed in 3D type 2 polars for planes +- Corrected the final moment calculation in stability analysis +- Corrected the incorrect lift calculation in stability analysis + +*Sat Sep 19 2010 A. Deperrois +XFLR5v6.00 beta rpm release + +*Fri Apr 3 2010 A. Deperrois +First rpm release diff -Nru xflr5-6.05/suse/xflr5.desktop xflr5-6.06/suse/xflr5.desktop --- xflr5-6.05/suse/xflr5.desktop 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/suse/xflr5.desktop 2012-01-07 23:31:46.000000000 +0900 @@ -5,7 +5,7 @@ Exec=xflr5 %u GenericName[en_US]=XFLR5 v6 GenericName=XFLR5 v6 -Icon=xflr5 +Icon=xflr5.png MimeType= Name[en_US]=xflr5 Name=xflr5 @@ -14,7 +14,7 @@ Terminal=false TerminalOptions= Type=Application -Version=6.04 +Version=6.06 X-DBUS-ServiceName= X-DBUS-StartupType= X-KDE-SubstituteUID=false diff -Nru xflr5-6.05/translations/xflr5v6.ts xflr5-6.06/translations/xflr5v6.ts --- xflr5-6.05/translations/xflr5v6.ts 2011-07-25 02:43:09.000000000 +0900 +++ xflr5-6.06/translations/xflr5v6.ts 2012-01-08 00:22:13.000000000 +0900 @@ -135,67 +135,77 @@ <context> <name>AboutQ5</name> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="58"/> + <location filename="../src/Misc/AboutQ5.cpp" line="57"/> <source>Copyright (C) M. Drela and H. Youngren 2000 - XFoil v6.94</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="59"/> + <location filename="../src/Misc/AboutQ5.cpp" line="58"/> <source>Copyright (C) Matthieu Scherrer 2004 - Miarex v1.00</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="30"/> + <location filename="../src/Misc/AboutQ5.cpp" line="29"/> <source>About XFLR5</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../src/Misc/AboutQ5.cpp" line="59"/> + <source>Copyright (C) Andre Deperrois 2003-2012</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/Misc/AboutQ5.cpp" line="60"/> - <source>Copyright (C) Andre Deperrois 2003-2011</source> + <source>This program is distributed in the hope that it will be useful,</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Misc/AboutQ5.cpp" line="61"/> - <source>This program is distributed in the hope that it will be useful,</source> + <source>but WITHOUT ANY WARRANTY; without even the implied warranty of</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Misc/AboutQ5.cpp" line="62"/> - <source>but WITHOUT ANY WARRANTY; without even the implied warranty of</source> + <source>MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Misc/AboutQ5.cpp" line="63"/> - <source>MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</source> + <source>This program has been developed exclusively for the analysis of model aircraft</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Misc/AboutQ5.cpp" line="64"/> - <source>This program has been developed exclusively for the analysis of model aircraft</source> + <source>Any other usage is strongly disapproved</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Misc/AboutQ5.cpp" line="65"/> - <source>Any other usage is strongly disapproved</source> + <source>Program distributed under the terms of the GNU General Public License</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Misc/AboutQ5.cpp" line="66"/> - <source>Program distributed under the terms of the GNU General Public License</source> + <source>German translation by Martin Willner (mjw@xxxxxxxxx)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Misc/AboutQ5.cpp" line="67"/> - <source>German translation by Martin Willner (mjw@xxxxxxxxx)</source> + <source>Japanese translation by IKUSU, Koichi Akabe, Misatus, dynamicsoar, hide253</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Misc/AboutQ5.cpp" line="68"/> + <source>icchy_07, ina111, ohayo_cycling, ohisa_64, ozawa64.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Misc/AboutQ5.cpp" line="69"/> <source>French translation by Jean-Luc Coulon</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="70"/> + <location filename="../src/Misc/AboutQ5.cpp" line="71"/> <source>OK</source> <translation type="unfinished"></translation> </message> @@ -771,133 +781,119 @@ <context> <name>CAddDlg</name> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="31"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="35"/> <source>Local Panel Refinement</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="47"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="51"/> <source>Angle Criterion </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="48"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="52"/> <source>Type of Spline</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="49"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="53"/> <source>Refinement X Limits</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="50"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="54"/> <source>From</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="51"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="55"/> <source>To</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="58"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="62"/> <source>Uniform</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="59"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="63"/> <source>Arc Length</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="72"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="76"/> <source>Total</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="73"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="77"/> <source>Added</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="74"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="78"/> <source>MaxAngle</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="75"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="79"/> <source>At Panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="78"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="82"/> <source>Accept</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="79"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="83"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="80"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="84"/> <source>Apply</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="132"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="136"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="132"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="136"/> <source>Unrecognized foil format</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="146"/> - <location filename="../src/XDirect/CAddDlg.cpp" line="213"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="150"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="217"/> <source>Total number of points is %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="148"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="152"/> <source>(added %1 points to original foil)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="162"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="166"/> <source>Maximum panel angle is %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="164"/> - <location filename="../src/XDirect/CAddDlg.cpp" line="210"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="168"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="214"/> <source>at panel position %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="208"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="212"/> <source>Maximum panel angle is %1 deg</source> <translation type="unfinished"></translation> </message> </context> <context> - <name>CSurface</name> - <message> - <location filename="../src/Objects/Surface.cpp" line="737"/> - <source>Warning</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/Objects/Surface.cpp" line="738"/> - <source>Continuous foils for surface do not have the same initial flap angle... aborting -</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> <name>DisplaySettingsDlg</name> <message> <location filename="../src/Misc/DisplaySettingsDlg.cpp" line="38"/> @@ -935,12 +931,17 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/DisplaySettingsDlg.cpp" line="104"/> + <location filename="../src/Misc/DisplaySettingsDlg.cpp" line="102"/> + <source>Enable 3D transparency</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Misc/DisplaySettingsDlg.cpp" line="105"/> <source>OK</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/DisplaySettingsDlg.cpp" line="106"/> + <location filename="../src/Misc/DisplaySettingsDlg.cpp" line="107"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> @@ -1167,176 +1168,176 @@ <context> <name>FoilPolarDlg</name> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="34"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="36"/> <source>Foil Polar Definition</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="57"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="59"/> <source>Automatic</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="58"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="60"/> <source>User Defined</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="59"/> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="67"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="61"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="69"/> <source>Analysis Name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="71"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="73"/> <source>Type 1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="72"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="74"/> <source>Type 2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="73"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="75"/> <source>Type 3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="74"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="76"/> <source>Type 4</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="79"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="81"/> <source>Analysis Type</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="84"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="86"/> <source>Plane Data</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="90"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="92"/> <source>Chord</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="91"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="93"/> <source>Mass</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="92"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="94"/> <source>Span</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="107"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="109"/> <source>Aerodynamic Data</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="110"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="112"/> <source>Unit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="111"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="113"/> <source>International</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="112"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="114"/> <source>Imperial</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="143"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="145"/> <source> Re =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="145"/> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="402"/> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="418"/> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="426"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="147"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="404"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="420"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="428"/> <source>Mach =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="162"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="164"/> <source>Reynolds and Mach Numbers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="166"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="168"/> <source>OK</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="168"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="170"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="179"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="181"/> <source>Free transitions (e^n) method</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="180"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="182"/> <source>Forced transition:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="181"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="183"/> <source>NCrit=</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="182"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="184"/> <source>TripLocation (top)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="183"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="185"/> <source>TripLocation (bot)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="199"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="201"/> <source>Transition settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="277"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="279"/> <source>Analysis parameters for </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="401"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="403"/> <source>Reynolds =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="409"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="411"/> <source>Re.sqrt(Cl) =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="410"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="412"/> <source>Ma.sqrt(Cl) =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="417"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="419"/> <source>Re.Cl =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="425"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="427"/> <source>Alpha =</source> <translation type="unfinished"></translation> </message> @@ -1362,107 +1363,107 @@ <context> <name>GL3DScales</name> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="31"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="33"/> <source>3D Scales Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="71"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="73"/> <source>Auto Scales</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="76"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="78"/> <source>Min</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="77"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="79"/> <source>Max</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="68"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="70"/> <source>Cp Scale</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="116"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="118"/> <source>Lift </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="117"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="119"/> <source>Drag </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="118"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="120"/> <source>Velocity </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="90"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="92"/> <source>Vector Scales</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="161"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="163"/> <source>L.E.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="162"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="164"/> <source>T.E.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="163"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="165"/> <source>Y-Line</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="138"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="140"/> <source>X-axis points</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="139"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="141"/> <source>1st segment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="140"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="142"/> <source>X factor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="164"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="166"/> <source>X-Offset</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="165"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="167"/> <source>Z-Offset</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="131"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="133"/> <source>Streamline length</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="155"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="157"/> <source>Start Streamline at</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="185"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="187"/> <source>Streamlines</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="187"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="189"/> <source>Apply</source> <translation type="unfinished"></translation> </message> @@ -1470,268 +1471,268 @@ <context> <name>GL3dBodyDlg</name> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="74"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="75"/> <source>Body Edition</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="147"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="148"/> <source>Insert</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="148"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="149"/> <source>Remove</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="149"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="150"/> <source>Scale</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="150"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="151"/> <source>Grid Setup</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="151"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4805"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="152"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4406"/> <source>Reset Scales</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="152"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="153"/> <source>Show Current Frame Only</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="154"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="155"/> <source>Inertia...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="156"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4837"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="157"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4438"/> <source>Undo</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="157"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="158"/> <source>Cancels the last modifiction made to the body</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="160"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4838"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="161"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4439"/> <source>Redo</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="161"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="162"/> <source>Restores the last cancelled modification made to the body</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="164"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="165"/> <source>Export Body Geometry to File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="167"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="168"/> <source>Export Body Definition to File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="170"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="171"/> <source>Import Body Definition from File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="173"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="174"/> <source>Translate</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="541"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="512"/> <source>Resolution cannot exceed %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="542"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="513"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2678"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2506"/> <source>Frame %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2681"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2684"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2509"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2512"/> <source>Scale = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="3114"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="3117"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2771"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2773"/> <source>NPanels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4338"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="3941"/> <source>Body Dlg Exit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4338"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="3941"/> <source>Save the Body ?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4782"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4383"/> <source>Axes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4783"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4384"/> <source>Light</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4784"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4385"/> <source>Surfaces</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4785"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4386"/> <source>Outline</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4786"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4894"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4387"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4495"/> <source>Panels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4787"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4388"/> <source>Masses</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4800"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4401"/> <source>X</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4801"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4402"/> <source>Y</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4802"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4403"/> <source>Z</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4803"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4404"/> <source>Iso</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4804"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4405"/> <source>Pick Center</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4831"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4432"/> <source>Clip Plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4839"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4440"/> <source>Other</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4841"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4442"/> <source>Actions...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4862"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4463"/> <source>Save and Close</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4864"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4465"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4883"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4484"/> <source>Flat Panels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4884"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4485"/> <source>BSplines</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4891"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4492"/> <source>x</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4892"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4493"/> <source>Hoop</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4893"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4494"/> <source>Degree</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4922"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4523"/> <source>BodyName</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4929"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4530"/> <source>Enter here a short description for the body</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4930"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4531"/> <source>Description:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4944"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4545"/> <source>Frames</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4945"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4546"/> <source>Frame Positions</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4962"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4563"/> <source>Points</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4963"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4564"/> <source>Current Frame Definition</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="5059"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4660"/> <source>Context Menu</source> <translation type="unfinished"></translation> </message> @@ -1739,351 +1740,351 @@ <context> <name>GL3dWingDlg</name> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="139"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="147"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="154"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1866"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1975"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1980"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2032"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="3045"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="140"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="148"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="155"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1467"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1576"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1581"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1633"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2614"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="147"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="148"/> <source>Warning : Panel sequence is inconsistent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1866"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1467"/> <source>The first section cannot be deleted</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2660"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2228"/> <source>Symetric</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2661"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2229"/> <source>Right Side</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2662"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2230"/> <source>Left Side</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="119"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="120"/> <source>Insert Before</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="58"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="59"/> <source>Wing Edition</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="118"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2865"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="119"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2433"/> <source>Reset Scales</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="120"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="121"/> <source>Insert after</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="121"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2550"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="122"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2118"/> <source>Delete section</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="123"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="124"/> <source>Section</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="139"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="140"/> <source>Please enter a name for the wing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="154"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="3045"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="155"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2614"/> <source>Too many panels Reduce the mesh size</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="160"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="161"/> <source>Only 10 flaps x 2 will be handled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="161"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2375"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="162"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1961"/> <source>Question</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="366"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="374"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2347"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2362"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="348"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="356"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1933"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1948"/> <source>Uniform</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="367"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="375"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2348"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2363"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="349"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="357"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1934"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1949"/> <source>Cosine</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="376"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2349"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2364"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="358"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1935"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1950"/> <source>Sine</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="377"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2350"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2365"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="359"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1936"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1951"/> <source>-Sine</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1467"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1099"/> <source>y (</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1468"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1100"/> <source>chord (</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1469"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1101"/> <source>offset (</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1975"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2032"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1576"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1633"/> <source>The maximum number of panels has been reached</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1980"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1581"/> <source>No insertion possible before the first section</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2269"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1855"/> <source>Wing Description</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2374"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1960"/> <source>Save the changes ?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2615"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2183"/> <source>Undefined</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2676"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2244"/> <source>WingName</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2726"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2294"/> <source>Wing Span</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2727"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2295"/> <source>Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2728"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2296"/> <source>Projected Span</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2729"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2297"/> <source>Projected Area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2768"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2772"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2336"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2340"/> <source>Max is </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2730"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2298"/> <source>Total VLM Panels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2542"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2110"/> <source>Insert after section</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2546"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2114"/> <source>Insert before section</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2731"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2299"/> <source>Number of 3D Panels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2777"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2345"/> <source>Mean Geom. Chord</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2778"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2346"/> <source>Mean Aero Chord</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2779"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2347"/> <source>MAC Span Pos</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2780"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2348"/> <source>Aspect ratio</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2781"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2349"/> <source>Taper Ratio</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2782"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2350"/> <source>Root to Tip Sweep</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2783"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2351"/> <source>Number of Flaps</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2831"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2399"/> <source>Enter here a short description for the wing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2833"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2401"/> <source>Description:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2840"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2408"/> <source>Axes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2841"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2409"/> <source>Light</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2842"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2410"/> <source>Surfaces</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2843"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2411"/> <source>Outline</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2844"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2412"/> <source>Panels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2845"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2413"/> <source>Foil Names</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2846"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2414"/> <source>Masses</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2860"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2428"/> <source>X</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2861"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2429"/> <source>Y</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2862"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2430"/> <source>Z</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2863"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2431"/> <source>Iso</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2864"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2432"/> <source>Pick Center</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2892"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2460"/> <source>Clip Plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2898"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2466"/> <source>Reset Mesh</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2899"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2467"/> <source>Scale Wing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2900"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2468"/> <source>Inertia...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2909"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2477"/> <source>Save and Close</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2911"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2479"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> @@ -2091,85 +2092,85 @@ <context> <name>GLLightDlg</name> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="59"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="49"/> <source>OpenGL Light Options</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="168"/> - <location filename="../src/Miarex/GLLightDlg.cpp" line="207"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="160"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="205"/> <source>Diffuse</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="169"/> - <location filename="../src/Miarex/GLLightDlg.cpp" line="208"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="161"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="206"/> <source>Ambient</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="170"/> - <location filename="../src/Miarex/GLLightDlg.cpp" line="209"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="162"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="207"/> <source>Specular</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="177"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="157"/> <source>Light Intensity</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="181"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="175"/> <source>Red</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="182"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="176"/> <source>Green</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="183"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="177"/> <source>Blue</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="190"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="172"/> <source>Light Color</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="194"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="190"/> <source>x</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="195"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="191"/> <source>y</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="196"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="192"/> <source>z</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="203"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="187"/> <source>Light Position</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="210"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="208"/> <source>Emissions</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="211"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="209"/> <source>Shininess</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="222"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="202"/> <source>Material</source> <translation type="unfinished"></translation> </message> @@ -2204,22 +2205,22 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="238"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="223"/> <source>Options</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="242"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="243"/> <source>Close</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="243"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="244"/> <source>Reset Defaults</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="270"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="280"/> <source>Light</source> <translation type="unfinished"></translation> </message> @@ -2233,7 +2234,7 @@ </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="113"/> - <location filename="../src/Graph/GraphDlg.cpp" line="275"/> + <location filename="../src/Graph/GraphDlg.cpp" line="277"/> <source>X - Chord</source> <translation type="unfinished"></translation> </message> @@ -2250,7 +2251,7 @@ </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="120"/> - <location filename="../src/Graph/GraphDlg.cpp" line="276"/> + <location filename="../src/Graph/GraphDlg.cpp" line="278"/> <source>Cp</source> <translation type="unfinished"></translation> </message> @@ -2258,7 +2259,7 @@ <location filename="../src/Graph/GraphDlg.cpp" line="126"/> <location filename="../src/Graph/GraphDlg.cpp" line="142"/> <location filename="../src/Graph/GraphDlg.cpp" line="182"/> - <location filename="../src/Graph/GraphDlg.cpp" line="229"/> + <location filename="../src/Graph/GraphDlg.cpp" line="230"/> <source>Alpha</source> <translation type="unfinished"></translation> </message> @@ -2379,14 +2380,14 @@ <message> <location filename="../src/Graph/GraphDlg.cpp" line="168"/> <location filename="../src/Graph/GraphDlg.cpp" line="185"/> - <location filename="../src/Graph/GraphDlg.cpp" line="232"/> + <location filename="../src/Graph/GraphDlg.cpp" line="233"/> <source>Induced drag coef.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="169"/> <location filename="../src/Graph/GraphDlg.cpp" line="186"/> - <location filename="../src/Graph/GraphDlg.cpp" line="233"/> + <location filename="../src/Graph/GraphDlg.cpp" line="234"/> <source>Total drag coef.</source> <translation type="unfinished"></translation> </message> @@ -2428,417 +2429,423 @@ </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="177"/> - <location filename="../src/Graph/GraphDlg.cpp" line="210"/> - <location filename="../src/Graph/GraphDlg.cpp" line="257"/> + <location filename="../src/Graph/GraphDlg.cpp" line="211"/> + <location filename="../src/Graph/GraphDlg.cpp" line="259"/> <source>Bending moment</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="183"/> - <location filename="../src/Graph/GraphDlg.cpp" line="230"/> + <location filename="../src/Graph/GraphDlg.cpp" line="231"/> <source>Lift coef.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="184"/> - <location filename="../src/Graph/GraphDlg.cpp" line="231"/> + <location filename="../src/Graph/GraphDlg.cpp" line="232"/> <source>Viscous drag coef.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="188"/> - <location filename="../src/Graph/GraphDlg.cpp" line="235"/> + <location filename="../src/Graph/GraphDlg.cpp" line="236"/> <source>Total pitching moment coef.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="189"/> - <location filename="../src/Graph/GraphDlg.cpp" line="236"/> + <location filename="../src/Graph/GraphDlg.cpp" line="237"/> <source>Viscous pitching moment coef.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="190"/> - <location filename="../src/Graph/GraphDlg.cpp" line="237"/> + <location filename="../src/Graph/GraphDlg.cpp" line="238"/> <source>Induced pitching moment coef.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="191"/> - <location filename="../src/Graph/GraphDlg.cpp" line="238"/> + <location filename="../src/Graph/GraphDlg.cpp" line="239"/> <source>Total rolling moment coef.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="192"/> - <location filename="../src/Graph/GraphDlg.cpp" line="239"/> + <location filename="../src/Graph/GraphDlg.cpp" line="240"/> <source>Total yawing moment coef.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="193"/> - <location filename="../src/Graph/GraphDlg.cpp" line="240"/> + <location filename="../src/Graph/GraphDlg.cpp" line="241"/> <source>Viscous yawing moment coef.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="194"/> - <location filename="../src/Graph/GraphDlg.cpp" line="241"/> + <location filename="../src/Graph/GraphDlg.cpp" line="242"/> <source>Induced yawing moment coef.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="196"/> - <location filename="../src/Graph/GraphDlg.cpp" line="243"/> + <location filename="../src/Graph/GraphDlg.cpp" line="244"/> <source>Glide ratio Cl/Cd</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="197"/> - <location filename="../src/Graph/GraphDlg.cpp" line="244"/> + <location filename="../src/Graph/GraphDlg.cpp" line="245"/> <source>Power factor Cl^(3/2)/Cd</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="198"/> - <location filename="../src/Graph/GraphDlg.cpp" line="245"/> + <location filename="../src/Graph/GraphDlg.cpp" line="246"/> <source>1/Rt(Cl)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="199"/> - <location filename="../src/Graph/GraphDlg.cpp" line="246"/> - <source>Lift</source> + <location filename="../src/Graph/GraphDlg.cpp" line="247"/> + <source>FX (Drag)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="200"/> - <location filename="../src/Graph/GraphDlg.cpp" line="247"/> - <source>Drag</source> + <location filename="../src/Graph/GraphDlg.cpp" line="248"/> + <source>FY (Side force)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="201"/> - <location filename="../src/Graph/GraphDlg.cpp" line="248"/> - <source>Vx</source> + <location filename="../src/Graph/GraphDlg.cpp" line="249"/> + <source>FZ (Lift)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="202"/> - <location filename="../src/Graph/GraphDlg.cpp" line="249"/> - <source>Vz</source> + <location filename="../src/Graph/GraphDlg.cpp" line="250"/> + <source>Vx</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="203"/> - <location filename="../src/Graph/GraphDlg.cpp" line="250"/> - <source>VInf</source> + <location filename="../src/Graph/GraphDlg.cpp" line="251"/> + <source>Vz</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="204"/> - <location filename="../src/Graph/GraphDlg.cpp" line="251"/> - <source>Descent angle atan(Cd/Cl)</source> + <location filename="../src/Graph/GraphDlg.cpp" line="252"/> + <source>VInf</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="205"/> - <location filename="../src/Graph/GraphDlg.cpp" line="252"/> - <source>Pitching Moment</source> + <location filename="../src/Graph/GraphDlg.cpp" line="253"/> + <source>Descent angle atan(Cd/Cl)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="206"/> - <location filename="../src/Graph/GraphDlg.cpp" line="253"/> - <source>Rolling Moment</source> + <location filename="../src/Graph/GraphDlg.cpp" line="254"/> + <source>Pitching Moment</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="207"/> - <location filename="../src/Graph/GraphDlg.cpp" line="254"/> - <source>Yawing Moment</source> + <location filename="../src/Graph/GraphDlg.cpp" line="255"/> + <source>Rolling Moment</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="208"/> - <location filename="../src/Graph/GraphDlg.cpp" line="255"/> - <source>Centre of pressure X-Pos</source> + <location filename="../src/Graph/GraphDlg.cpp" line="256"/> + <source>Yawing Moment</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="209"/> - <location filename="../src/Graph/GraphDlg.cpp" line="256"/> - <source>Centre of pressure Y-Pos</source> + <location filename="../src/Graph/GraphDlg.cpp" line="257"/> + <source>Centre of pressure X-Pos</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="211"/> + <location filename="../src/Graph/GraphDlg.cpp" line="210"/> <location filename="../src/Graph/GraphDlg.cpp" line="258"/> - <source>m.g.Vz</source> + <source>Centre of pressure Y-Pos</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="212"/> - <location filename="../src/Graph/GraphDlg.cpp" line="259"/> - <source>Efficiency</source> + <location filename="../src/Graph/GraphDlg.cpp" line="260"/> + <source>m.g.Vz</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="213"/> - <location filename="../src/Graph/GraphDlg.cpp" line="260"/> - <source>(XCp-Xcg)/MAC</source> + <location filename="../src/Graph/GraphDlg.cpp" line="261"/> + <source>Efficiency</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="214"/> - <location filename="../src/Graph/GraphDlg.cpp" line="261"/> - <source>Control Variable</source> + <location filename="../src/Graph/GraphDlg.cpp" line="262"/> + <source>(XCp-Xcg)/MAC</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="215"/> - <location filename="../src/Graph/GraphDlg.cpp" line="262"/> - <source>Cy - Lateral force coef.</source> + <location filename="../src/Graph/GraphDlg.cpp" line="263"/> + <source>Control Variable</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="216"/> - <location filename="../src/Graph/GraphDlg.cpp" line="263"/> - <source>Neutral Point x-position</source> + <location filename="../src/Graph/GraphDlg.cpp" line="264"/> + <source>Cy - Lateral force coef.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="217"/> - <location filename="../src/Graph/GraphDlg.cpp" line="264"/> - <source>Phugoid Frequency</source> + <location filename="../src/Graph/GraphDlg.cpp" line="265"/> + <source>Neutral Point x-position</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="218"/> - <location filename="../src/Graph/GraphDlg.cpp" line="265"/> - <source>Phugoid Damping</source> + <location filename="../src/Graph/GraphDlg.cpp" line="266"/> + <source>Phugoid Frequency</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="219"/> - <location filename="../src/Graph/GraphDlg.cpp" line="266"/> - <source>Short Period Frequency</source> + <location filename="../src/Graph/GraphDlg.cpp" line="267"/> + <source>Phugoid Damping</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="220"/> - <location filename="../src/Graph/GraphDlg.cpp" line="267"/> - <source>Short Period Damping</source> + <location filename="../src/Graph/GraphDlg.cpp" line="268"/> + <source>Short Period Frequency</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="221"/> - <location filename="../src/Graph/GraphDlg.cpp" line="268"/> - <source>Dutch Roll Frequency</source> + <location filename="../src/Graph/GraphDlg.cpp" line="269"/> + <source>Short Period Damping</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="222"/> - <location filename="../src/Graph/GraphDlg.cpp" line="269"/> - <source>Dutch Roll Damping</source> + <location filename="../src/Graph/GraphDlg.cpp" line="270"/> + <source>Dutch Roll Frequency</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="223"/> - <location filename="../src/Graph/GraphDlg.cpp" line="270"/> - <source>Roll Damping</source> + <location filename="../src/Graph/GraphDlg.cpp" line="271"/> + <source>Dutch Roll Damping</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="224"/> - <location filename="../src/Graph/GraphDlg.cpp" line="271"/> + <location filename="../src/Graph/GraphDlg.cpp" line="272"/> + <source>Roll Damping</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Graph/GraphDlg.cpp" line="225"/> + <location filename="../src/Graph/GraphDlg.cpp" line="273"/> <source>Spiral Damping</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="860"/> + <location filename="../src/Graph/GraphDlg.cpp" line="858"/> <source>Restore</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="861"/> + <location filename="../src/Graph/GraphDlg.cpp" line="859"/> <source>OK</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="863"/> + <location filename="../src/Graph/GraphDlg.cpp" line="861"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="865"/> + <location filename="../src/Graph/GraphDlg.cpp" line="863"/> <source>Apply</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="888"/> + <location filename="../src/Graph/GraphDlg.cpp" line="886"/> <source>YAxis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="889"/> + <location filename="../src/Graph/GraphDlg.cpp" line="887"/> <source>vs.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="890"/> + <location filename="../src/Graph/GraphDlg.cpp" line="888"/> <source>XAxis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="922"/> + <location filename="../src/Graph/GraphDlg.cpp" line="920"/> <source>Title</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="923"/> + <location filename="../src/Graph/GraphDlg.cpp" line="921"/> <source>Label</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="924"/> + <location filename="../src/Graph/GraphDlg.cpp" line="922"/> <source>Font</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="925"/> + <location filename="../src/Graph/GraphDlg.cpp" line="923"/> <source>Color</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="935"/> + <location filename="../src/Graph/GraphDlg.cpp" line="933"/> <source>Set Title Font</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="936"/> + <location filename="../src/Graph/GraphDlg.cpp" line="934"/> <source>Set Label Font</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="940"/> + <location filename="../src/Graph/GraphDlg.cpp" line="938"/> <source>Title Color</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="941"/> + <location filename="../src/Graph/GraphDlg.cpp" line="939"/> <source>Label Color</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="948"/> + <location filename="../src/Graph/GraphDlg.cpp" line="946"/> <source>Fonts</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="953"/> + <location filename="../src/Graph/GraphDlg.cpp" line="951"/> <source>Graph Background</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="955"/> + <location filename="../src/Graph/GraphDlg.cpp" line="953"/> <source>Graph Border</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="968"/> + <location filename="../src/Graph/GraphDlg.cpp" line="966"/> <source>BackGround</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="984"/> + <location filename="../src/Graph/GraphDlg.cpp" line="982"/> <source>X Axis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="985"/> + <location filename="../src/Graph/GraphDlg.cpp" line="983"/> <source>Y Axis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="989"/> + <location filename="../src/Graph/GraphDlg.cpp" line="987"/> <source>Min</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="990"/> + <location filename="../src/Graph/GraphDlg.cpp" line="988"/> <source>Max</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="991"/> + <location filename="../src/Graph/GraphDlg.cpp" line="989"/> <source>Origin</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="992"/> + <location filename="../src/Graph/GraphDlg.cpp" line="990"/> <source>Unit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1003"/> - <location filename="../src/Graph/GraphDlg.cpp" line="1017"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1001"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1015"/> <source>Auto Scale</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1016"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1014"/> <source>Inverted Axis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1035"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1033"/> <source>Axis Style</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1037"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1035"/> <source>X Major Grid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1038"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1036"/> <source>Y Major Grid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1039"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1037"/> <source>X Minor Grid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1040"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1038"/> <source>Y Minor Grid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1041"/> - <location filename="../src/Graph/GraphDlg.cpp" line="1042"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1039"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1040"/> <source>Auto Unit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1075"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1073"/> <source>Variables</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1076"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1074"/> <source>Scales</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1077"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1075"/> <source>Axis and Grids</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1078"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1076"/> <source>Fonts and BackGround</source> <translation type="unfinished"></translation> </message> @@ -2869,195 +2876,195 @@ <context> <name>InertiaDlg</name> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="40"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="42"/> <source>Inertia Properties</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1017"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="319"/> <source>Mass</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1019"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="320"/> <source>x</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1020"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="321"/> <source>y</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1021"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="322"/> <source>z</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1022"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="323"/> <source>Description</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="337"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="347"/> <source>Wing Mass:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="352"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="362"/> <source>Body Mass:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="374"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="384"/> <source>Volume Mass:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="549"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="559"/> <source>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ! </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="859"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="869"/> <source>This is a calculation form for a rough order of magnitude for the inertia tensor.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="456"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="466"/> <source>Export Mass Properties</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="62"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="64"/> <source>Insert Before</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="63"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="65"/> <source>Delete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="65"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="67"/> <source>Point Mass</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="339"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="354"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="381"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="349"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="364"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="391"/> <source>Inertia properties for </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="457"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="467"/> <source>AVL Mass File (*.mass)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="515"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="525"/> <source>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10! Inertia of both left and right wings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="528"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="538"/> <source>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ! Body inertia</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="568"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="578"/> <source>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ! Body's inertia</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="860"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="870"/> <source>Refer to the Guidelines for explanations.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="867"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="877"/> <source>Object Mass - Volume only, excluding point masses</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="870"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="880"/> <source>Wing Mass=</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="956"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="966"/> <source>Component inertias</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="959"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="969"/> <source>Main Wing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="960"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="970"/> <source>Second Wing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="961"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="971"/> <source>Elevator</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="962"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="972"/> <source>Fin</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="963"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="973"/> <source>Body</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="995"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1005"/> <source>Additional Point Masses</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1044"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1046"/> <source>Total Mass = Volume + point masses</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1047"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1049"/> <source>Total Mass=</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1137"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1139"/> <source>OK</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1138"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1140"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="874"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="877"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1052"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1055"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="884"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="887"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1054"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1057"/> <source>Center of gravity</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="913"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="932"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1091"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1110"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="923"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="942"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1093"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1112"/> <source>Inertia in CoG Frame</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1136"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1138"/> <source>Export to AVL</source> <translation type="unfinished"></translation> </message> @@ -3065,81 +3072,81 @@ <context> <name>InterpolateFoilsDlg</name> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="33"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="35"/> <source>Interpolate Foils</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="54"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="56"/> <source>Camb1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="55"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="57"/> <source>Camb2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="56"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="58"/> <source>Camb3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="57"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="59"/> <source>Thick1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="58"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="60"/> <source>Thick2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="59"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="61"/> <source>Thick3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="75"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="77"/> <source>New Foil Name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="79"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="81"/> <source>Interpolated Foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="97"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="99"/> <source>OK</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="98"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="100"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="186"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="215"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="266"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="188"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="217"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="268"/> <source>Camb.=%1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="188"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="195"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="217"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="224"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="268"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="275"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="190"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="197"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="219"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="226"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="270"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="277"/> <source> at x=%1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="193"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="222"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="273"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="195"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="224"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="275"/> <source>Thick.=%1</source> <translation type="unfinished"></translation> </message> @@ -3277,132 +3284,132 @@ <context> <name>LLTAnalysisDlg</name> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="34"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="40"/> <source>LLT Analysis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="37"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="43"/> <source>Iterations</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="51"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="57"/> <source>abs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="91"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="426"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="97"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="432"/> <source>Launching analysis....</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="93"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="428"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="99"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="434"/> <source>Max iterations = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="95"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="430"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="101"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="436"/> <source>Alpha precision = %1 deg</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="97"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="432"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="103"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="438"/> <source>Relaxation factor = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="99"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="434"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="105"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="440"/> <source>Number of stations = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="120"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="458"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="126"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="464"/> <source>Analysis cancelled on user request....</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="132"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="138"/> <source>Calculating Alpha = %1... </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="147"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="153"/> <source> ...negative Lift... Aborting</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="155"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="493"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="161"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="499"/> <source> ...converged after %1 iterations</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="172"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="178"/> <source> ...unconverged after %2 iterations</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="139"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="484"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="145"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="490"/> <source>Alpha = %1, skipped after %2 iterations </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="140"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="485"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="146"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="491"/> <source>QInf = %1 skipped after %2 iterations </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="321"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="327"/> <source>Skip</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="322"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="349"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="328"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="355"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="375"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="381"/> <source>Analysis completed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="376"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="382"/> <source> ...some points are outside the flight envelope</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="377"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="383"/> <source> ...some points are unconverged</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="382"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="388"/> <source>Close</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="442"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="448"/> <source>Initializing analysis...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="469"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="475"/> <source>Calculating QInf = %1... </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="515"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="521"/> <source> ...unconverged after %1 iterations</source> <translation type="unfinished"></translation> </message> @@ -3410,32 +3417,32 @@ <context> <name>LinePickerDlg</name> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="29"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="35"/> <source>Line Picker</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="219"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="223"/> <source>Style</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="220"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="224"/> <source>Width</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="221"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="225"/> <source>Color</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="243"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="247"/> <source>OK</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="244"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="248"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> @@ -3443,2051 +3450,2057 @@ <context> <name>MainFrame</name> <message> - <location filename="../src/MainFrame.cpp" line="397"/> + <location filename="../src/MainFrame.cpp" line="403"/> <source>Save the project before exit ?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="431"/> + <location filename="../src/MainFrame.cpp" line="437"/> <source>New Project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="433"/> + <location filename="../src/MainFrame.cpp" line="439"/> <source>Save and close the current project, create a new project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="436"/> + <location filename="../src/MainFrame.cpp" line="442"/> <source>Close the Project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="438"/> + <location filename="../src/MainFrame.cpp" line="444"/> <source>Save and close the current project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="441"/> + <location filename="../src/MainFrame.cpp" line="447"/> <source>&Open...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="443"/> + <location filename="../src/MainFrame.cpp" line="449"/> <source>Open an existing file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="446"/> + <location filename="../src/MainFrame.cpp" line="452"/> <source>&Insert Project...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="447"/> + <location filename="../src/MainFrame.cpp" line="453"/> <source>Insert an existing project in the current project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="450"/> + <location filename="../src/MainFrame.cpp" line="456"/> <source>&Direct Foil Design</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="452"/> + <location filename="../src/MainFrame.cpp" line="458"/> <source>Open Foil Design application</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="455"/> + <location filename="../src/MainFrame.cpp" line="461"/> <source>&XFoil Inverse Design</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="457"/> + <location filename="../src/MainFrame.cpp" line="463"/> <source>Open XFoil inverse analysis application</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="460"/> + <location filename="../src/MainFrame.cpp" line="466"/> <source>&XFoil Mixed Inverse Design</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="462"/> + <location filename="../src/MainFrame.cpp" line="468"/> <source>Open XFoil Mixed Inverse analysis application</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="465"/> + <location filename="../src/MainFrame.cpp" line="471"/> <source>&XFoil Direct Analysis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="467"/> + <location filename="../src/MainFrame.cpp" line="473"/> <source>Open XFoil direct analysis application</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="470"/> + <location filename="../src/MainFrame.cpp" line="476"/> <source>&Wing and Plane Design</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="472"/> + <location filename="../src/MainFrame.cpp" line="478"/> <source>Open Wing/plane design and analysis application</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="475"/> - <location filename="../src/MainFrame.cpp" line="3390"/> + <location filename="../src/MainFrame.cpp" line="481"/> + <location filename="../src/MainFrame.cpp" line="3440"/> <source>Save</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="477"/> + <location filename="../src/MainFrame.cpp" line="483"/> <source>Save the project to disk</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="481"/> + <location filename="../src/MainFrame.cpp" line="487"/> <source>Save the current project under a new name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="489"/> + <location filename="../src/MainFrame.cpp" line="495"/> <source>Define the units for this project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="493"/> + <location filename="../src/MainFrame.cpp" line="499"/> <source>Define the default language for the application</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="496"/> + <location filename="../src/MainFrame.cpp" line="502"/> <source>Restore toolbars</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="497"/> + <location filename="../src/MainFrame.cpp" line="503"/> <source>Restores the toolbars to their original state</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="500"/> + <location filename="../src/MainFrame.cpp" line="506"/> <source>Save View to Image File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="502"/> + <location filename="../src/MainFrame.cpp" line="508"/> <source>Saves the current view to a file on disk</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="518"/> + <location filename="../src/MainFrame.cpp" line="524"/> <source>General Display Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="523"/> - <location filename="../src/MainFrame.cpp" line="3519"/> + <location filename="../src/MainFrame.cpp" line="529"/> + <location filename="../src/MainFrame.cpp" line="3575"/> <source>Export Graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="524"/> + <location filename="../src/MainFrame.cpp" line="530"/> <source>Export the current graph data to a text file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="528"/> + <location filename="../src/MainFrame.cpp" line="534"/> <source>Restores the graph's x and y scales</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="531"/> + <location filename="../src/MainFrame.cpp" line="537"/> <source>E&xit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="533"/> + <location filename="../src/MainFrame.cpp" line="539"/> <source>Exit the application</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="536"/> + <location filename="../src/MainFrame.cpp" line="542"/> <source>&Guidelines</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="537"/> + <location filename="../src/MainFrame.cpp" line="543"/> <source>Show the guidelines for some help</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="540"/> + <location filename="../src/MainFrame.cpp" line="546"/> <source>&About</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="541"/> + <location filename="../src/MainFrame.cpp" line="547"/> <source>More information about XFLR5</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="544"/> + <location filename="../src/MainFrame.cpp" line="550"/> <source>About Qt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="547"/> - <location filename="../src/MainFrame.cpp" line="552"/> + <location filename="../src/MainFrame.cpp" line="553"/> + <location filename="../src/MainFrame.cpp" line="558"/> <source>Properties</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="548"/> + <location filename="../src/MainFrame.cpp" line="554"/> <source>Show the properties of the currently selected polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="569"/> + <location filename="../src/MainFrame.cpp" line="575"/> <source>Grid Options</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="570"/> + <location filename="../src/MainFrame.cpp" line="576"/> <source>Define the grid settings for the view</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="573"/> + <location filename="../src/MainFrame.cpp" line="579"/> <source>Use Splines</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="574"/> + <location filename="../src/MainFrame.cpp" line="580"/> <source>Define a foil using one B-Spline for each foil side</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="578"/> + <location filename="../src/MainFrame.cpp" line="584"/> <source>Use Splined Points</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="579"/> + <location filename="../src/MainFrame.cpp" line="585"/> <source>Define a foil using one 3rd order B-Spline between two control points</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="583"/> + <location filename="../src/MainFrame.cpp" line="589"/> <source>Store Splines as Foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="584"/> + <location filename="../src/MainFrame.cpp" line="590"/> <source>Store the current splines in the foil database</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="587"/> + <location filename="../src/MainFrame.cpp" line="593"/> <source>Splines Params</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="588"/> - <location filename="../src/MainFrame.cpp" line="592"/> + <location filename="../src/MainFrame.cpp" line="594"/> + <location filename="../src/MainFrame.cpp" line="598"/> <source>Define parameters for the splines : degree, number of out points</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="591"/> + <location filename="../src/MainFrame.cpp" line="597"/> <source>Export Splines To File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="595"/> + <location filename="../src/MainFrame.cpp" line="601"/> <source>New Splines</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="596"/> + <location filename="../src/MainFrame.cpp" line="602"/> <source>Reset the splines</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="599"/> - <location filename="../src/MainFrame.cpp" line="2346"/> + <location filename="../src/MainFrame.cpp" line="605"/> + <location filename="../src/MainFrame.cpp" line="2393"/> <source>Zoom in</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="600"/> - <location filename="../src/MainFrame.cpp" line="2347"/> + <location filename="../src/MainFrame.cpp" line="606"/> + <location filename="../src/MainFrame.cpp" line="2394"/> <source>Zoom the view by drawing a rectangle in the client area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="603"/> + <location filename="../src/MainFrame.cpp" line="609"/> <source>Reset X Scale</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="604"/> + <location filename="../src/MainFrame.cpp" line="610"/> <source>Resets the scale to fit the current screen width</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="607"/> + <location filename="../src/MainFrame.cpp" line="613"/> <source>Undo</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="609"/> + <location filename="../src/MainFrame.cpp" line="615"/> <source>Cancels the last modifiction made to the splines</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="612"/> + <location filename="../src/MainFrame.cpp" line="618"/> <source>Redo</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="614"/> + <location filename="../src/MainFrame.cpp" line="620"/> <source>Restores the last cancelled modifiction made to the splines</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="617"/> + <location filename="../src/MainFrame.cpp" line="623"/> <source>Show All Foils</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="619"/> + <location filename="../src/MainFrame.cpp" line="625"/> <source>Hide All Foils</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="623"/> - <location filename="../src/MainFrame.cpp" line="1396"/> - <location filename="../src/MainFrame.cpp" line="1428"/> - <location filename="../src/MainFrame.cpp" line="1873"/> + <location filename="../src/MainFrame.cpp" line="629"/> + <location filename="../src/MainFrame.cpp" line="1404"/> + <location filename="../src/MainFrame.cpp" line="1436"/> + <location filename="../src/MainFrame.cpp" line="1920"/> <source>Delete...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="626"/> - <location filename="../src/MainFrame.cpp" line="1167"/> - <location filename="../src/MainFrame.cpp" line="1408"/> - <location filename="../src/MainFrame.cpp" line="1876"/> + <location filename="../src/MainFrame.cpp" line="632"/> + <location filename="../src/MainFrame.cpp" line="1175"/> + <location filename="../src/MainFrame.cpp" line="1416"/> + <location filename="../src/MainFrame.cpp" line="1923"/> <source>Rename...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="630"/> - <location filename="../src/MainFrame.cpp" line="1202"/> - <location filename="../src/MainFrame.cpp" line="1879"/> + <location filename="../src/MainFrame.cpp" line="636"/> + <location filename="../src/MainFrame.cpp" line="1210"/> + <location filename="../src/MainFrame.cpp" line="1926"/> <source>Export...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="633"/> + <location filename="../src/MainFrame.cpp" line="639"/> <source>Show Current Foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="636"/> + <location filename="../src/MainFrame.cpp" line="642"/> <source>Hide Current Foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="639"/> + <location filename="../src/MainFrame.cpp" line="645"/> <source>Reset Y Scale</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="642"/> + <location filename="../src/MainFrame.cpp" line="648"/> <source>Reset Scales</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="643"/> + <location filename="../src/MainFrame.cpp" line="649"/> <source>Resets the x and y scales to screen size</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="646"/> - <location filename="../src/MainFrame.cpp" line="647"/> + <location filename="../src/MainFrame.cpp" line="652"/> + <location filename="../src/MainFrame.cpp" line="653"/> <source>Zoom Less</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="650"/> - <location filename="../src/MainFrame.cpp" line="2355"/> + <location filename="../src/MainFrame.cpp" line="656"/> + <location filename="../src/MainFrame.cpp" line="2402"/> <source>Zoom Y Scale Only</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="651"/> + <location filename="../src/MainFrame.cpp" line="657"/> <source>Zoom Y scale Only</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="654"/> - <location filename="../src/MainFrame.cpp" line="2007"/> + <location filename="../src/MainFrame.cpp" line="660"/> + <location filename="../src/MainFrame.cpp" line="2054"/> <source>De-rotate the Foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="657"/> - <location filename="../src/MainFrame.cpp" line="2010"/> + <location filename="../src/MainFrame.cpp" line="663"/> + <location filename="../src/MainFrame.cpp" line="2057"/> <source>Normalize the Foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="660"/> - <location filename="../src/MainFrame.cpp" line="2013"/> + <location filename="../src/MainFrame.cpp" line="666"/> + <location filename="../src/MainFrame.cpp" line="2060"/> <source>Refine Locally</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="663"/> - <location filename="../src/MainFrame.cpp" line="2016"/> + <location filename="../src/MainFrame.cpp" line="669"/> + <location filename="../src/MainFrame.cpp" line="2063"/> <source>Refine Globally</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="666"/> - <location filename="../src/MainFrame.cpp" line="2019"/> + <location filename="../src/MainFrame.cpp" line="672"/> + <location filename="../src/MainFrame.cpp" line="2066"/> <source>Edit Foil Coordinates</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="669"/> - <location filename="../src/MainFrame.cpp" line="2022"/> + <location filename="../src/MainFrame.cpp" line="675"/> + <location filename="../src/MainFrame.cpp" line="2069"/> <source>Scale camber and thickness</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="672"/> - <location filename="../src/MainFrame.cpp" line="2025"/> + <location filename="../src/MainFrame.cpp" line="678"/> + <location filename="../src/MainFrame.cpp" line="2072"/> <source>Set T.E. Gap</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="675"/> - <location filename="../src/MainFrame.cpp" line="2028"/> + <location filename="../src/MainFrame.cpp" line="681"/> + <location filename="../src/MainFrame.cpp" line="2075"/> <source>Set L.E. Radius</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="678"/> + <location filename="../src/MainFrame.cpp" line="684"/> <source>Show LE Circle</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="681"/> + <location filename="../src/MainFrame.cpp" line="687"/> <source>Show Legend</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="685"/> - <location filename="../src/MainFrame.cpp" line="2031"/> + <location filename="../src/MainFrame.cpp" line="691"/> + <location filename="../src/MainFrame.cpp" line="2078"/> <source>Set Flap</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="688"/> - <location filename="../src/MainFrame.cpp" line="2034"/> + <location filename="../src/MainFrame.cpp" line="694"/> + <location filename="../src/MainFrame.cpp" line="2081"/> <source>Interpolate Foils</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="691"/> - <location filename="../src/MainFrame.cpp" line="2037"/> + <location filename="../src/MainFrame.cpp" line="697"/> + <location filename="../src/MainFrame.cpp" line="2084"/> <source>Naca Foils</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="694"/> + <location filename="../src/MainFrame.cpp" line="700"/> <source>Set Table Columns</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="697"/> + <location filename="../src/MainFrame.cpp" line="703"/> <source>Reset column widths</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="700"/> + <location filename="../src/MainFrame.cpp" line="706"/> <source>Load background image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="702"/> + <location filename="../src/MainFrame.cpp" line="708"/> <source>Clear background image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="710"/> - <location filename="../src/MainFrame.cpp" line="1441"/> - <location filename="../src/MainFrame.cpp" line="2108"/> - <location filename="../src/MainFrame.cpp" line="2363"/> + <location filename="../src/MainFrame.cpp" line="716"/> + <location filename="../src/MainFrame.cpp" line="1449"/> + <location filename="../src/MainFrame.cpp" line="2155"/> + <location filename="../src/MainFrame.cpp" line="2410"/> <source>&View</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="731"/> + <location filename="../src/MainFrame.cpp" line="737"/> <source>F&oil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="754"/> + <location filename="../src/MainFrame.cpp" line="760"/> <source>&Splines</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="767"/> - <location filename="../src/MainFrame.cpp" line="1568"/> - <location filename="../src/MainFrame.cpp" line="1602"/> - <location filename="../src/MainFrame.cpp" line="1622"/> - <location filename="../src/MainFrame.cpp" line="1644"/> - <location filename="../src/MainFrame.cpp" line="1664"/> - <location filename="../src/MainFrame.cpp" line="1679"/> - <location filename="../src/MainFrame.cpp" line="2233"/> - <location filename="../src/MainFrame.cpp" line="2271"/> - <location filename="../src/MainFrame.cpp" line="2386"/> + <location filename="../src/MainFrame.cpp" line="773"/> + <location filename="../src/MainFrame.cpp" line="1601"/> + <location filename="../src/MainFrame.cpp" line="1639"/> + <location filename="../src/MainFrame.cpp" line="1661"/> + <location filename="../src/MainFrame.cpp" line="1684"/> + <location filename="../src/MainFrame.cpp" line="1708"/> + <location filename="../src/MainFrame.cpp" line="1728"/> + <location filename="../src/MainFrame.cpp" line="2280"/> + <location filename="../src/MainFrame.cpp" line="2318"/> + <location filename="../src/MainFrame.cpp" line="2433"/> <source>Context Menu</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1069"/> + <location filename="../src/MainFrame.cpp" line="1077"/> <source>Options</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1103"/> + <location filename="../src/MainFrame.cpp" line="1111"/> <source>Switch to the Operating point view</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1109"/> + <location filename="../src/MainFrame.cpp" line="1117"/> <source>Switch to the Polar view</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1115"/> + <location filename="../src/MainFrame.cpp" line="1123"/> <source>Switch to stability analysis post-processing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1126"/> + <location filename="../src/MainFrame.cpp" line="1134"/> <source>Switch to the 3D view</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1131"/> + <location filename="../src/MainFrame.cpp" line="1139"/> <source>Switch to the Cp view</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1135"/> + <location filename="../src/MainFrame.cpp" line="1143"/> <source>Define the style and color preferences for the 3D view</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1139"/> + <location filename="../src/MainFrame.cpp" line="1147"/> <source>Define which type of polars should be shown or hidden</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1143"/> + <location filename="../src/MainFrame.cpp" line="1151"/> <source>Define the scales for the 3D display of lift, moment, drag, and downwash</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1148"/> + <location filename="../src/MainFrame.cpp" line="1156"/> <source>Define the light options in 3D view</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1155"/> + <location filename="../src/MainFrame.cpp" line="1163"/> <source>Half Wing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1168"/> + <location filename="../src/MainFrame.cpp" line="1176"/> <source>Rename the currently selected object</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1177"/> + <location filename="../src/MainFrame.cpp" line="1185"/> <source>Edit the body of the currently selected plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1199"/> + <location filename="../src/MainFrame.cpp" line="1207"/> <source>Export the current plane or wing to a text file in the format required by AVL</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1203"/> + <location filename="../src/MainFrame.cpp" line="1211"/> <source>Export the current operating point to a text or csv file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1207"/> - <location filename="../src/MainFrame.cpp" line="1211"/> + <location filename="../src/MainFrame.cpp" line="1215"/> + <location filename="../src/MainFrame.cpp" line="1219"/> <source>Reset the legend position to its default value</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1215"/> + <location filename="../src/MainFrame.cpp" line="1223"/> <source>Reset the wing scale to its default value</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1219"/> + <location filename="../src/MainFrame.cpp" line="1227"/> <source>Scale the dimensions of the currently selected wing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1222"/> + <location filename="../src/MainFrame.cpp" line="1230"/> <source>Manage objects</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1223"/> + <location filename="../src/MainFrame.cpp" line="1231"/> <source>Rename or delete the planes and wings stored in the database</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1228"/> + <location filename="../src/MainFrame.cpp" line="1236"/> <source>Import a polar from a text file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1232"/> + <location filename="../src/MainFrame.cpp" line="1240"/> <source>Define the inertia for the current plane or wing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1237"/> + <location filename="../src/MainFrame.cpp" line="1245"/> <source>Hide all the curves except for the one corresponding to the currently selected operating point</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1242"/> + <location filename="../src/MainFrame.cpp" line="1250"/> <source>Show the graph curves of all operating points</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1246"/> + <location filename="../src/MainFrame.cpp" line="1254"/> <source>Hide the graph curves of all operating points</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1250"/> + <location filename="../src/MainFrame.cpp" line="1258"/> <source>Delete all the operating points of all planes and polars</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1254"/> + <location filename="../src/MainFrame.cpp" line="1262"/> <source>Show the curves of all the operating points of the currently selected polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1258"/> + <location filename="../src/MainFrame.cpp" line="1266"/> <source>Hide the curves of all the operating points of the currently selected polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1262"/> + <location filename="../src/MainFrame.cpp" line="1270"/> <source>Delete all the operating points of the currently selected polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1266"/> + <location filename="../src/MainFrame.cpp" line="1274"/> <source>Show the theoretical optimal elliptic lift curve on all graphs for which the selected variable is the local lift</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1270"/> + <location filename="../src/MainFrame.cpp" line="1278"/> <source>Show XCG location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1271"/> + <location filename="../src/MainFrame.cpp" line="1279"/> <source>Show the position of the center of gravity defined in the analysis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1276"/> + <location filename="../src/MainFrame.cpp" line="1284"/> <source>Show the graph curves for the elevator</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1281"/> + <location filename="../src/MainFrame.cpp" line="1289"/> <source>Show the graph curves for the fin</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1286"/> + <location filename="../src/MainFrame.cpp" line="1294"/> <source>Show the graph curves for the second wing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1291"/> + <location filename="../src/MainFrame.cpp" line="1299"/> <source>Define an analysis for the current wing or plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1300"/> + <location filename="../src/MainFrame.cpp" line="1308"/> <source>Define a Stability Analysis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1301"/> + <location filename="../src/MainFrame.cpp" line="1309"/> <source>Define a stability analysis for the current wing or plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1305"/> - <location filename="../src/MainFrame.cpp" line="1840"/> - <location filename="../src/MainFrame.cpp" line="2343"/> + <location filename="../src/MainFrame.cpp" line="1313"/> + <location filename="../src/MainFrame.cpp" line="1887"/> + <location filename="../src/MainFrame.cpp" line="2390"/> <source>Define Graph Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1306"/> + <location filename="../src/MainFrame.cpp" line="1314"/> <source>Define the settings for the selected graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1310"/> + <location filename="../src/MainFrame.cpp" line="1318"/> <source>Display the first two operating point graphs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1315"/> + <location filename="../src/MainFrame.cpp" line="1323"/> <source>Display all four operating point graphs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1320"/> + <location filename="../src/MainFrame.cpp" line="1328"/> <source>Display only the first graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1325"/> + <location filename="../src/MainFrame.cpp" line="1333"/> <source>Display only the second graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1330"/> + <location filename="../src/MainFrame.cpp" line="1338"/> <source>Display only the third graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1335"/> + <location filename="../src/MainFrame.cpp" line="1343"/> <source>Display only the fourth graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1345"/> + <location filename="../src/MainFrame.cpp" line="1353"/> <source>Reset the scale of the current operating point graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1349"/> + <location filename="../src/MainFrame.cpp" line="1357"/> <source>Reset the scales of all four operating point graphs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1353"/> + <location filename="../src/MainFrame.cpp" line="1361"/> <source>Reset the scales of all four polar graphs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1357"/> + <location filename="../src/MainFrame.cpp" line="1365"/> <source>Define the settings of all four operating point graphs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1361"/> + <location filename="../src/MainFrame.cpp" line="1369"/> <source>Define the settings of all four polar graphs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1365"/> + <location filename="../src/MainFrame.cpp" line="1373"/> <source>Hide all the polar curves associated to the currently selected wing or plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1369"/> + <location filename="../src/MainFrame.cpp" line="1377"/> <source>Show all the polar curves associated to the currently selected wing or plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1373"/> + <location filename="../src/MainFrame.cpp" line="1381"/> <source>Delete all the polars associated to the currently selected wing or plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1377"/> + <location filename="../src/MainFrame.cpp" line="1385"/> <source>Hide all the polar curves of all wings and planes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1381"/> + <location filename="../src/MainFrame.cpp" line="1389"/> <source>Show all the polar curves of all wings and planes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1385"/> + <location filename="../src/MainFrame.cpp" line="1393"/> <source>Hide all the operating point curves of the currently selected wing or plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1389"/> + <location filename="../src/MainFrame.cpp" line="1397"/> <source>Show all the operating point curves of the currently selected wing or plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1393"/> + <location filename="../src/MainFrame.cpp" line="1401"/> <source>Delete all the operating points of the currently selected wing or plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1397"/> + <location filename="../src/MainFrame.cpp" line="1405"/> <source>Delete the currently selected wing or plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1401"/> + <location filename="../src/MainFrame.cpp" line="1409"/> <source>Duplicate the currently selected wing or plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1405"/> + <location filename="../src/MainFrame.cpp" line="1413"/> <source>Save the currently selected wing or plane as a new separate project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1409"/> + <location filename="../src/MainFrame.cpp" line="1417"/> <source>Rename the currently selected polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1413"/> + <location filename="../src/MainFrame.cpp" line="1421"/> <source>Edit the points of the currently selected polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1417"/> + <location filename="../src/MainFrame.cpp" line="1425"/> <source>Export the currently selected polar to a text or csv file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1421"/> + <location filename="../src/MainFrame.cpp" line="1429"/> <source>Delete all the points of the currently selected polar, but keep the analysis settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1425"/> + <location filename="../src/MainFrame.cpp" line="1433"/> <source>Delete the currently selected polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1429"/> + <location filename="../src/MainFrame.cpp" line="1437"/> <source>Delete the currently selected operating point</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1433"/> + <location filename="../src/MainFrame.cpp" line="1441"/> <source>Define the settings for LLT, VLM and Panel analysis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1481"/> + <location filename="../src/MainFrame.cpp" line="1495"/> <source>&Body</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1562"/> + <location filename="../src/MainFrame.cpp" line="1593"/> <source>&Analysis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1290"/> - <location filename="../src/MainFrame.cpp" line="1916"/> + <location filename="../src/MainFrame.cpp" line="1298"/> + <location filename="../src/MainFrame.cpp" line="1963"/> <source>Define an Analysis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1920"/> + <location filename="../src/MainFrame.cpp" line="1967"/> <source>Batch Analysis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2117"/> + <location filename="../src/MainFrame.cpp" line="2164"/> <source>Current Foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4892"/> + <location filename="../src/MainFrame.cpp" line="4951"/> <source>XFLR5 v6 Project File (*.wpa);;XFLR5 v5 Project File (*.*)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="822"/> - <location filename="../src/MainFrame.cpp" line="1794"/> + <location filename="../src/MainFrame.cpp" line="828"/> + <location filename="../src/MainFrame.cpp" line="1841"/> <source>Foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="920"/> - <location filename="../src/MainFrame.cpp" line="1142"/> + <location filename="../src/MainFrame.cpp" line="930"/> + <location filename="../src/MainFrame.cpp" line="1150"/> <source>3D Scales</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1049"/> + <location filename="../src/MainFrame.cpp" line="1057"/> <source>&File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1083"/> + <location filename="../src/MainFrame.cpp" line="1091"/> <source>&?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1817"/> + <location filename="../src/MainFrame.cpp" line="1864"/> <source>OpPoint view</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1819"/> + <location filename="../src/MainFrame.cpp" line="1866"/> <source>Show Operating point view</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1822"/> + <location filename="../src/MainFrame.cpp" line="1869"/> <source>Polar view</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1824"/> + <location filename="../src/MainFrame.cpp" line="1871"/> <source>Show Polar view</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1134"/> + <location filename="../src/MainFrame.cpp" line="1142"/> <source>3D Color Preferences</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1138"/> - <location filename="../src/MainFrame.cpp" line="1830"/> + <location filename="../src/MainFrame.cpp" line="1146"/> + <location filename="../src/MainFrame.cpp" line="1877"/> <source>Polar Filter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1147"/> + <location filename="../src/MainFrame.cpp" line="1155"/> <source>3D Light Options</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1151"/> + <location filename="../src/MainFrame.cpp" line="1159"/> <source>Define a New Wing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1152"/> + <location filename="../src/MainFrame.cpp" line="1160"/> <source>Shows a dialogbox for editing a new wing definition</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1159"/> + <location filename="../src/MainFrame.cpp" line="1167"/> <source>Define a New Plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1160"/> + <location filename="../src/MainFrame.cpp" line="1168"/> <source>Shows a dialogbox to create a new plane definition</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1163"/> + <location filename="../src/MainFrame.cpp" line="1171"/> <source>Edit...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1164"/> + <location filename="../src/MainFrame.cpp" line="1172"/> <source>Shows a dialogbox to edit the currently selected wing or plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1171"/> + <location filename="../src/MainFrame.cpp" line="1179"/> <source>Define a New Body</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1172"/> + <location filename="../src/MainFrame.cpp" line="1180"/> <source>Shows a dialogbox for editing a new body definition</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1275"/> + <location filename="../src/MainFrame.cpp" line="1283"/> <source>Show Elevator Curve</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2004"/> + <location filename="../src/MainFrame.cpp" line="2051"/> <source>View Log File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1176"/> + <location filename="../src/MainFrame.cpp" line="1184"/> <source>Edit Current</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="397"/> + <location filename="../src/MainFrame.cpp" line="403"/> <source>Exit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="507"/> + <location filename="../src/MainFrame.cpp" line="513"/> <source>will revert to default settings at the next session</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="553"/> + <location filename="../src/MainFrame.cpp" line="559"/> <source>Show the properties of the currently selected operating point</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="792"/> + <location filename="../src/MainFrame.cpp" line="798"/> <source>Foil Actions</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="932"/> + <location filename="../src/MainFrame.cpp" line="942"/> <source>Stability</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1101"/> + <location filename="../src/MainFrame.cpp" line="1109"/> <source>OpPoint View</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1107"/> + <location filename="../src/MainFrame.cpp" line="1115"/> <source>Polar View</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1113"/> + <location filename="../src/MainFrame.cpp" line="1121"/> <source>Time Response Vew</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1119"/> + <location filename="../src/MainFrame.cpp" line="1127"/> <source>Root Locus View</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1121"/> + <location filename="../src/MainFrame.cpp" line="1129"/> <source>Switch to root locus view</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1124"/> + <location filename="../src/MainFrame.cpp" line="1132"/> <source>3D View</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1129"/> + <location filename="../src/MainFrame.cpp" line="1137"/> <source>Cp View</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1181"/> + <location filename="../src/MainFrame.cpp" line="1189"/> <source>Export Body Definition</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1182"/> + <location filename="../src/MainFrame.cpp" line="1190"/> <source>Export a body definition to a text file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1185"/> + <location filename="../src/MainFrame.cpp" line="1193"/> <source>Export Body Geometry</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1186"/> + <location filename="../src/MainFrame.cpp" line="1194"/> <source>Export a body geometry at different cross sections to a text file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1189"/> + <location filename="../src/MainFrame.cpp" line="1197"/> <source>Import Body</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1190"/> + <location filename="../src/MainFrame.cpp" line="1198"/> <source>Import a body definition from a text file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1193"/> + <location filename="../src/MainFrame.cpp" line="1201"/> <source>Manage Bodies</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1195"/> + <location filename="../src/MainFrame.cpp" line="1203"/> <source>Manage the body list : Rename, Duplicate, Delete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1198"/> + <location filename="../src/MainFrame.cpp" line="1206"/> <source>Export to AVL...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1206"/> - <location filename="../src/MainFrame.cpp" line="1210"/> - <location filename="../src/MainFrame.cpp" line="1843"/> + <location filename="../src/MainFrame.cpp" line="1214"/> + <location filename="../src/MainFrame.cpp" line="1218"/> + <location filename="../src/MainFrame.cpp" line="1890"/> <source>Reset Legend Position</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1214"/> + <location filename="../src/MainFrame.cpp" line="1222"/> <source>Reset Wing Scale</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1218"/> + <location filename="../src/MainFrame.cpp" line="1226"/> <source>Scale Wing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1227"/> + <location filename="../src/MainFrame.cpp" line="1235"/> <source>Import Polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1231"/> + <location filename="../src/MainFrame.cpp" line="1239"/> <source>Define Inertia</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1236"/> + <location filename="../src/MainFrame.cpp" line="1244"/> <source>Show Current OpPoint Only</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1241"/> + <location filename="../src/MainFrame.cpp" line="1249"/> <source>Show All OpPoints</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1245"/> + <location filename="../src/MainFrame.cpp" line="1253"/> <source>Hide All OpPoints</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1249"/> + <location filename="../src/MainFrame.cpp" line="1257"/> <source>Delete All OpPoints</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1253"/> - <location filename="../src/MainFrame.cpp" line="1388"/> + <location filename="../src/MainFrame.cpp" line="1261"/> + <location filename="../src/MainFrame.cpp" line="1396"/> <source>Show Associated OpPoints</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1257"/> - <location filename="../src/MainFrame.cpp" line="1384"/> + <location filename="../src/MainFrame.cpp" line="1265"/> + <location filename="../src/MainFrame.cpp" line="1392"/> <source>Hide Associated OpPoints</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1261"/> - <location filename="../src/MainFrame.cpp" line="1392"/> + <location filename="../src/MainFrame.cpp" line="1269"/> + <location filename="../src/MainFrame.cpp" line="1400"/> <source>Delete Associated OpPoints</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1265"/> + <location filename="../src/MainFrame.cpp" line="1273"/> <source>Show Elliptic Curve</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1280"/> + <location filename="../src/MainFrame.cpp" line="1288"/> <source>Show Fin Curve</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1285"/> + <location filename="../src/MainFrame.cpp" line="1293"/> <source>Show Second Wing Curve</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1339"/> - <location filename="../src/MainFrame.cpp" line="1867"/> + <location filename="../src/MainFrame.cpp" line="1347"/> + <location filename="../src/MainFrame.cpp" line="1914"/> <source>Highlight Current OpPoint</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1341"/> - <location filename="../src/MainFrame.cpp" line="1869"/> + <location filename="../src/MainFrame.cpp" line="1349"/> + <location filename="../src/MainFrame.cpp" line="1916"/> <source>Highlights on the polar curve the currently selected operating point</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1348"/> - <location filename="../src/MainFrame.cpp" line="1352"/> + <location filename="../src/MainFrame.cpp" line="1356"/> + <location filename="../src/MainFrame.cpp" line="1360"/> <source>Reset All Graph Scales</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1356"/> - <location filename="../src/MainFrame.cpp" line="1360"/> + <location filename="../src/MainFrame.cpp" line="1364"/> + <location filename="../src/MainFrame.cpp" line="1368"/> <source>All Graph Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1364"/> + <location filename="../src/MainFrame.cpp" line="1372"/> <source>Hide Associated Polars</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1368"/> + <location filename="../src/MainFrame.cpp" line="1376"/> <source>Show Associated Polars</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1372"/> + <location filename="../src/MainFrame.cpp" line="1380"/> <source>Delete Associated Polars</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1376"/> - <location filename="../src/MainFrame.cpp" line="1978"/> + <location filename="../src/MainFrame.cpp" line="1384"/> + <location filename="../src/MainFrame.cpp" line="2025"/> <source>Hide All Polars</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1380"/> - <location filename="../src/MainFrame.cpp" line="1975"/> + <location filename="../src/MainFrame.cpp" line="1388"/> + <location filename="../src/MainFrame.cpp" line="2022"/> <source>Show All Polars</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1400"/> + <location filename="../src/MainFrame.cpp" line="1408"/> <source>Duplicate...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1404"/> + <location filename="../src/MainFrame.cpp" line="1412"/> <source>Save as Project...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1412"/> + <location filename="../src/MainFrame.cpp" line="1420"/> <source>Edit ...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1416"/> + <location filename="../src/MainFrame.cpp" line="1424"/> <source>Export ...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1420"/> + <location filename="../src/MainFrame.cpp" line="1428"/> <source>Reset ...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1424"/> + <location filename="../src/MainFrame.cpp" line="1432"/> <source>Delete ...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1432"/> + <location filename="../src/MainFrame.cpp" line="1440"/> <source>Advanced Settings...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1456"/> + <location filename="../src/MainFrame.cpp" line="1466"/> <source>&Wing-Plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1460"/> + <location filename="../src/MainFrame.cpp" line="1471"/> <source>Current UFO</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1484"/> + <location filename="../src/MainFrame.cpp" line="1499"/> <source>Current Body</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1492"/> - <location filename="../src/MainFrame.cpp" line="2162"/> + <location filename="../src/MainFrame.cpp" line="1508"/> + <location filename="../src/MainFrame.cpp" line="2209"/> <source>&Polars</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1496"/> - <location filename="../src/MainFrame.cpp" line="2163"/> + <location filename="../src/MainFrame.cpp" line="1513"/> + <location filename="../src/MainFrame.cpp" line="2210"/> <source>Current Polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1515"/> - <location filename="../src/MainFrame.cpp" line="1548"/> + <location filename="../src/MainFrame.cpp" line="1536"/> + <location filename="../src/MainFrame.cpp" line="1576"/> <source>Graphs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1530"/> + <location filename="../src/MainFrame.cpp" line="1554"/> <source>&OpPoint</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1531"/> - <location filename="../src/MainFrame.cpp" line="2200"/> - <location filename="../src/MainFrame.cpp" line="2240"/> + <location filename="../src/MainFrame.cpp" line="1556"/> + <location filename="../src/MainFrame.cpp" line="2247"/> + <location filename="../src/MainFrame.cpp" line="2287"/> <source>Current OpPoint</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1582"/> - <location filename="../src/MainFrame.cpp" line="1652"/> - <location filename="../src/MainFrame.cpp" line="2275"/> + <location filename="../src/MainFrame.cpp" line="1616"/> + <location filename="../src/MainFrame.cpp" line="1693"/> + <location filename="../src/MainFrame.cpp" line="2322"/> <source>Current Graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1733"/> + <location filename="../src/MainFrame.cpp" line="1780"/> <source>UFO</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1758"/> + <location filename="../src/MainFrame.cpp" line="1805"/> <source>Ready</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1833"/> + <location filename="../src/MainFrame.cpp" line="1880"/> <source>All Polar Graph Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1837"/> + <location filename="../src/MainFrame.cpp" line="1884"/> <source>Reset All Polar Graph Scales</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1882"/> + <location filename="../src/MainFrame.cpp" line="1929"/> <source>Set Style...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1885"/> + <location filename="../src/MainFrame.cpp" line="1932"/> <source>Delete associated polars</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1886"/> + <location filename="../src/MainFrame.cpp" line="1933"/> <source>Delete all the polars associated to this foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1889"/> + <location filename="../src/MainFrame.cpp" line="1936"/> <source>Show associated polars</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1892"/> + <location filename="../src/MainFrame.cpp" line="1939"/> <source>Hide associated polars</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1895"/> + <location filename="../src/MainFrame.cpp" line="1942"/> <source>Save associated polars</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1898"/> - <location filename="../src/MainFrame.cpp" line="1907"/> + <location filename="../src/MainFrame.cpp" line="1945"/> + <location filename="../src/MainFrame.cpp" line="1954"/> <source>Hide associated OpPoints</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1901"/> - <location filename="../src/MainFrame.cpp" line="1910"/> + <location filename="../src/MainFrame.cpp" line="1948"/> + <location filename="../src/MainFrame.cpp" line="1957"/> <source>Show associated OpPoints</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1904"/> - <location filename="../src/MainFrame.cpp" line="1913"/> + <location filename="../src/MainFrame.cpp" line="1951"/> + <location filename="../src/MainFrame.cpp" line="1960"/> <source>Delete associated OpPoints</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1917"/> + <location filename="../src/MainFrame.cpp" line="1964"/> <source>Defines a single analysis/polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1921"/> + <location filename="../src/MainFrame.cpp" line="1968"/> <source>Launches a batch of analysis calculation for a specified range or list of Reynolds numbers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1924"/> + <location filename="../src/MainFrame.cpp" line="1971"/> <source>Multi-threaded Batch Analysis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1925"/> + <location filename="../src/MainFrame.cpp" line="1972"/> <source>Launches a batch of analysis calculation using all available computer CPU cores</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1928"/> - <location filename="../src/MainFrame.cpp" line="1994"/> + <location filename="../src/MainFrame.cpp" line="1975"/> + <location filename="../src/MainFrame.cpp" line="2041"/> <source>Delete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1929"/> + <location filename="../src/MainFrame.cpp" line="1976"/> <source>Deletes the currently selected polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1932"/> + <location filename="../src/MainFrame.cpp" line="1979"/> <source>Reset</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1933"/> + <location filename="../src/MainFrame.cpp" line="1980"/> <source>Deletes the contents of the currently selected polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1936"/> + <location filename="../src/MainFrame.cpp" line="1983"/> <source>Edit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1937"/> + <location filename="../src/MainFrame.cpp" line="1984"/> <source>Remove the unconverged or erroneaous points of the currently selected polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1940"/> - <location filename="../src/MainFrame.cpp" line="1991"/> + <location filename="../src/MainFrame.cpp" line="1987"/> + <location filename="../src/MainFrame.cpp" line="2038"/> <source>Export</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1943"/> + <location filename="../src/MainFrame.cpp" line="1990"/> <source>Export all polars</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1946"/> - <location filename="../src/MainFrame.cpp" line="2309"/> + <location filename="../src/MainFrame.cpp" line="1993"/> + <location filename="../src/MainFrame.cpp" line="2356"/> <source>Define Styles</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1947"/> + <location filename="../src/MainFrame.cpp" line="1994"/> <source>Define the style for the boundary layer and the pressure arrows</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1950"/> + <location filename="../src/MainFrame.cpp" line="1997"/> <source>Manage Foils</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1954"/> + <location filename="../src/MainFrame.cpp" line="2001"/> <source>Rename</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1957"/> + <location filename="../src/MainFrame.cpp" line="2004"/> <source>Show Panels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1959"/> + <location filename="../src/MainFrame.cpp" line="2006"/> <source>Show the foil's panels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1962"/> + <location filename="../src/MainFrame.cpp" line="2009"/> <source>Reset Foil Scale</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1963"/> + <location filename="../src/MainFrame.cpp" line="2010"/> <source>Resets the foil's scale to original size</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1966"/> + <location filename="../src/MainFrame.cpp" line="2013"/> <source>Show Inviscid Curve</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1968"/> + <location filename="../src/MainFrame.cpp" line="2015"/> <source>Display the Opp's inviscid curve</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1971"/> + <location filename="../src/MainFrame.cpp" line="2018"/> <source>Neutral Line</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1981"/> + <location filename="../src/MainFrame.cpp" line="2028"/> <source>Show Current Opp Only</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1985"/> + <location filename="../src/MainFrame.cpp" line="2032"/> <source>Show All Opps</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1988"/> + <location filename="../src/MainFrame.cpp" line="2035"/> <source>Hide All Opps</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1997"/> + <location filename="../src/MainFrame.cpp" line="2044"/> <source>Reset XFoil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2000"/> + <location filename="../src/MainFrame.cpp" line="2047"/> <source>XFoil Advanced Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2001"/> + <location filename="../src/MainFrame.cpp" line="2048"/> <source>Tip : you don't want to use that option...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2040"/> + <location filename="../src/MainFrame.cpp" line="2087"/> <source>Duplicate</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2043"/> + <location filename="../src/MainFrame.cpp" line="2090"/> <source>Cp Variable</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2045"/> + <location filename="../src/MainFrame.cpp" line="2092"/> <source>Sets Cp vs. chord graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2048"/> + <location filename="../src/MainFrame.cpp" line="2095"/> <source>Q Variable</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2050"/> - <location filename="../src/MainFrame.cpp" line="2054"/> + <location filename="../src/MainFrame.cpp" line="2097"/> + <location filename="../src/MainFrame.cpp" line="2101"/> <source>Sets Speed vs. chord graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2053"/> + <location filename="../src/MainFrame.cpp" line="2100"/> <source>Export Cur. XFoil Results</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2057"/> + <location filename="../src/MainFrame.cpp" line="2104"/> <source>Max. Shear Coefficient</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2061"/> + <location filename="../src/MainFrame.cpp" line="2108"/> <source>Bottom Side D* and Theta</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2065"/> + <location filename="../src/MainFrame.cpp" line="2112"/> <source>Top Side D* and Theta</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2069"/> + <location filename="../src/MainFrame.cpp" line="2116"/> <source>Log(Re_Theta)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2073"/> + <location filename="../src/MainFrame.cpp" line="2120"/> <source>Re_Theta</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2077"/> + <location filename="../src/MainFrame.cpp" line="2124"/> <source>Amplification Ratio</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2081"/> + <location filename="../src/MainFrame.cpp" line="2128"/> <source>Dissipation Coefficient</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2085"/> + <location filename="../src/MainFrame.cpp" line="2132"/> <source>Skin Friction Coefficient</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2089"/> + <location filename="../src/MainFrame.cpp" line="2136"/> <source>Edge Velocity</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2093"/> + <location filename="../src/MainFrame.cpp" line="2140"/> <source>Kinematic Shape Parameter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2100"/> + <location filename="../src/MainFrame.cpp" line="2147"/> <source>Import XFoil Polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2114"/> - <location filename="../src/MainFrame.cpp" line="2374"/> + <location filename="../src/MainFrame.cpp" line="2161"/> + <location filename="../src/MainFrame.cpp" line="2421"/> <source>&Foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2139"/> + <location filename="../src/MainFrame.cpp" line="2186"/> <source>&Design</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2185"/> + <location filename="../src/MainFrame.cpp" line="2232"/> <source>Polar Graphs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2199"/> + <location filename="../src/MainFrame.cpp" line="2246"/> <source>Operating Points</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2204"/> + <location filename="../src/MainFrame.cpp" line="2251"/> <source>Cp Graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2210"/> + <location filename="../src/MainFrame.cpp" line="2257"/> <source>Current XFoil Results</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2301"/> + <location filename="../src/MainFrame.cpp" line="2348"/> <source>Store Foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2302"/> + <location filename="../src/MainFrame.cpp" line="2349"/> <source>Store Foil in database</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2305"/> + <location filename="../src/MainFrame.cpp" line="2352"/> <source>Extract Foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2306"/> + <location filename="../src/MainFrame.cpp" line="2353"/> <source>Extract a Foil from the database for modification</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2310"/> + <location filename="../src/MainFrame.cpp" line="2357"/> <source>Define the styles for this view</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2314"/> + <location filename="../src/MainFrame.cpp" line="2361"/> <source>Resets the scale to fit the screen size</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2317"/> + <location filename="../src/MainFrame.cpp" line="2364"/> <source>Insert Control Point</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2320"/> + <location filename="../src/MainFrame.cpp" line="2367"/> <source>Remove Control Point</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2323"/> + <location filename="../src/MainFrame.cpp" line="2370"/> <source>Show Q-Initial</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2327"/> + <location filename="../src/MainFrame.cpp" line="2374"/> <source>Show Q-Spec</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2331"/> + <location filename="../src/MainFrame.cpp" line="2378"/> <source>Show Q-Viscous</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2335"/> + <location filename="../src/MainFrame.cpp" line="2382"/> <source>Show Points</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2339"/> + <location filename="../src/MainFrame.cpp" line="2386"/> <source>Show Reflected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2350"/> + <location filename="../src/MainFrame.cpp" line="2397"/> <source>Zoom X Scale</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2351"/> + <location filename="../src/MainFrame.cpp" line="2398"/> <source>Zoom X Scale Only</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2354"/> + <location filename="../src/MainFrame.cpp" line="2401"/> <source>Zoom Y Scale</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2369"/> + <location filename="../src/MainFrame.cpp" line="2416"/> <source>&Graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2406"/> + <location filename="../src/MainFrame.cpp" line="2453"/> <source>Full Inverse</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2407"/> + <location filename="../src/MainFrame.cpp" line="2454"/> <source>Mixed Inverse</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2424"/> + <location filename="../src/MainFrame.cpp" line="2471"/> <source>XInverse</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2456"/> + <location filename="../src/MainFrame.cpp" line="2503"/> <source>Are you sure you want to delete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2457"/> + <location filename="../src/MainFrame.cpp" line="2504"/> <source>and all associated OpPoints and Polars ?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2459"/> - <location filename="../src/MainFrame.cpp" line="3762"/> + <location filename="../src/MainFrame.cpp" line="2506"/> + <location filename="../src/MainFrame.cpp" line="3818"/> <source>Question</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3324"/> - <location filename="../src/MainFrame.cpp" line="3588"/> + <location filename="../src/MainFrame.cpp" line="3374"/> + <location filename="../src/MainFrame.cpp" line="3644"/> <source>Could not read the file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="94"/> - <location filename="../src/MainFrame.cpp" line="3325"/> + <location filename="../src/MainFrame.cpp" line="97"/> + <location filename="../src/MainFrame.cpp" line="3375"/> <source>Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3389"/> - <location filename="../src/MainFrame.cpp" line="3762"/> + <location filename="../src/MainFrame.cpp" line="3439"/> + <location filename="../src/MainFrame.cpp" line="3818"/> <source>Save the current project ?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3520"/> + <location filename="../src/MainFrame.cpp" line="3576"/> <source>Text File (*.txt);;Comma Separated Values (*.csv)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3577"/> - <location filename="../src/MainFrame.cpp" line="3664"/> + <location filename="../src/MainFrame.cpp" line="3633"/> + <location filename="../src/MainFrame.cpp" line="3720"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3579"/> + <location filename="../src/MainFrame.cpp" line="3635"/> <source>Project file (*.wpa)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="103"/> - <location filename="../src/MainFrame.cpp" line="3589"/> - <location filename="../src/MainFrame.cpp" line="3981"/> - <location filename="../src/MainFrame.cpp" line="4004"/> - <location filename="../src/MainFrame.cpp" line="4187"/> - <location filename="../src/MainFrame.cpp" line="4257"/> - <location filename="../src/MainFrame.cpp" line="4601"/> - <location filename="../src/MainFrame.cpp" line="4910"/> - <location filename="../src/MainFrame.cpp" line="5132"/> + <location filename="../src/MainFrame.cpp" line="106"/> + <location filename="../src/MainFrame.cpp" line="3474"/> + <location filename="../src/MainFrame.cpp" line="3645"/> + <location filename="../src/MainFrame.cpp" line="4038"/> + <location filename="../src/MainFrame.cpp" line="4061"/> + <location filename="../src/MainFrame.cpp" line="4244"/> + <location filename="../src/MainFrame.cpp" line="4314"/> + <location filename="../src/MainFrame.cpp" line="4660"/> + <location filename="../src/MainFrame.cpp" line="4969"/> + <location filename="../src/MainFrame.cpp" line="5192"/> <location filename="../src/Objects/Foil.cpp" line="659"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3666"/> + <location filename="../src/MainFrame.cpp" line="3722"/> <source>XFLR5 file (*.dat *.plr *.wpa)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3774"/> - <location filename="../src/MainFrame.cpp" line="3947"/> - <location filename="../src/MainFrame.cpp" line="3962"/> + <location filename="../src/MainFrame.cpp" line="3830"/> + <location filename="../src/MainFrame.cpp" line="4004"/> + <location filename="../src/MainFrame.cpp" line="4019"/> <source>The project </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3774"/> - <location filename="../src/MainFrame.cpp" line="3947"/> - <location filename="../src/MainFrame.cpp" line="3962"/> + <location filename="../src/MainFrame.cpp" line="3830"/> + <location filename="../src/MainFrame.cpp" line="4004"/> + <location filename="../src/MainFrame.cpp" line="4019"/> <source> has been saved</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4724"/> + <location filename="../src/MainFrame.cpp" line="4783"/> <source>Enter the foil's new name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3840"/> - <location filename="../src/MainFrame.cpp" line="3844"/> + <location filename="../src/MainFrame.cpp" line="3896"/> + <location filename="../src/MainFrame.cpp" line="3900"/> <source>Default Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="103"/> + <location filename="../src/MainFrame.cpp" line="106"/> <source>Your system does not provide support for OpenGL. XFLR5 will not operate correctly.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="480"/> + <location filename="../src/MainFrame.cpp" line="486"/> <source>Save Project As...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="484"/> + <location filename="../src/MainFrame.cpp" line="490"/> <source>Save Options</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="485"/> + <location filename="../src/MainFrame.cpp" line="491"/> <source>Define the save options for operating points</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="488"/> + <location filename="../src/MainFrame.cpp" line="494"/> <source>Units...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="492"/> + <location filename="../src/MainFrame.cpp" line="498"/> <source>Language...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="506"/> + <location filename="../src/MainFrame.cpp" line="512"/> <source>Reset Default Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="519"/> + <location filename="../src/MainFrame.cpp" line="525"/> <source>Define the color and font options for all views and graphs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="527"/> - <location filename="../src/MainFrame.cpp" line="1344"/> + <location filename="../src/MainFrame.cpp" line="533"/> + <location filename="../src/MainFrame.cpp" line="1352"/> <source>Reset Graph Scales</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1309"/> + <location filename="../src/MainFrame.cpp" line="1317"/> <source>Two Graphs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1314"/> + <location filename="../src/MainFrame.cpp" line="1322"/> <source>All Graphs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1319"/> + <location filename="../src/MainFrame.cpp" line="1327"/> <source>Graph 1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1324"/> + <location filename="../src/MainFrame.cpp" line="1332"/> <source>Graph 2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1329"/> + <location filename="../src/MainFrame.cpp" line="1337"/> <source>Graph 3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1334"/> + <location filename="../src/MainFrame.cpp" line="1342"/> <source>Graph 4</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1827"/> + <location filename="../src/MainFrame.cpp" line="1874"/> <source>Define Cp Graph Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1846"/> + <location filename="../src/MainFrame.cpp" line="1893"/> <source>Two Polar Graphs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1850"/> + <location filename="../src/MainFrame.cpp" line="1897"/> <source>All Polar Graphs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1861"/> + <location filename="../src/MainFrame.cpp" line="1908"/> <source>Cl vs. Cd</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1862"/> + <location filename="../src/MainFrame.cpp" line="1909"/> <source>Cl vs.Alpha</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1863"/> + <location filename="../src/MainFrame.cpp" line="1910"/> <source>Cl vs. Xtr.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1864"/> + <location filename="../src/MainFrame.cpp" line="1911"/> <source>Cm vs.Alpha</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1865"/> + <location filename="../src/MainFrame.cpp" line="1912"/> <source>Glide ratio vs. alpha</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2153"/> + <location filename="../src/MainFrame.cpp" line="2200"/> <source>Analysis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2313"/> + <location filename="../src/MainFrame.cpp" line="2360"/> <source>Reset foil scale</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3840"/> + <location filename="../src/MainFrame.cpp" line="3474"/> + <source>Error reading the file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/MainFrame.cpp" line="3896"/> <source>Are you sure you want to reset the default settings ?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3844"/> + <location filename="../src/MainFrame.cpp" line="3900"/> <source>The settings will be reset at the next session</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3981"/> - <location filename="../src/MainFrame.cpp" line="5132"/> + <location filename="../src/MainFrame.cpp" line="4038"/> + <location filename="../src/MainFrame.cpp" line="5192"/> <source>Nothing to save</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3990"/> - <location filename="../src/MainFrame.cpp" line="4890"/> + <location filename="../src/MainFrame.cpp" line="4047"/> + <location filename="../src/MainFrame.cpp" line="4949"/> <source>Save the Project File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3992"/> + <location filename="../src/MainFrame.cpp" line="4049"/> <source>XFLR5 Project File (*.wpa)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4004"/> - <location filename="../src/MainFrame.cpp" line="4910"/> + <location filename="../src/MainFrame.cpp" line="4061"/> + <location filename="../src/MainFrame.cpp" line="4969"/> <source>Could not open the file for writing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4048"/> + <location filename="../src/MainFrame.cpp" line="4105"/> <source>Save Image</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4187"/> - <location filename="../src/MainFrame.cpp" line="4257"/> + <location filename="../src/MainFrame.cpp" line="4244"/> + <location filename="../src/MainFrame.cpp" line="4314"/> <source>Unidentified Operating Point</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4601"/> + <location filename="../src/MainFrame.cpp" line="4660"/> <source>Obsolete format, cannot read</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="5937"/> + <location filename="../src/MainFrame.cpp" line="6001"/> <source>A foil of that name already exists Please enter a new name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="6658"/> + <location filename="../src/MainFrame.cpp" line="6722"/> <source>&%1 %2</source> <translation type="unfinished"></translation> </message> @@ -5864,195 +5877,195 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="174"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1815"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2402"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2792"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="172"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1813"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2400"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2790"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="174"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1815"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2402"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="172"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1813"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2400"/> <source>The number of points to be calculated will be limited to 100</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="209"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1866"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2438"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="207"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1864"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2436"/> <source> Solving the problem... </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="467"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="611"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="465"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="609"/> <source> Adding the wake's contribution...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1275"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1273"/> <source> Computing On-Body Speeds...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="349"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="347"/> <source> Creating source strengths...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="744"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="742"/> <source> Calculating aerodynamic coefficients in the far field plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="768"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="766"/> <source> Calculating point </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="918"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="919"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2897"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="916"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="917"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2895"/> <source> Computing Plane for alpha=%1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="934"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="932"/> <source> Computing Plane for QInf=%1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="982"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="980"/> <source> Calculating aerodynamic coefficients...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="995"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="993"/> <source> Calculating wing...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1027"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1025"/> <source> Calculating body...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2307"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2305"/> <source>Type 1 - Fixed speed polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2308"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2306"/> <source>Type 2 - Fixed lift polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2309"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2307"/> <source>Type 4 - Fixed angle of attack polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2310"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2308"/> <source>Type 7 - Stability polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1645"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1643"/> <source>Performing asymmetric calculation : </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1649"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1647"/> <source>Counted %1 panel elements</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1712"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1710"/> <source> Relaxing the wake...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2153"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2151"/> <source> Singular Matrix.... Aborting calculation... </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2115"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2272"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2113"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2270"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="827"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="825"/> <source>Found a negative lift for Alpha=%1.... skipping the angle...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1642"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1640"/> <source>Performing symmetric calculation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2275"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2273"/> <source>Launching 3D Panel Analysis....</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2278"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2276"/> <source>Launching VLM1 Analysis....</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2279"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2277"/> <source>Launching VLM2 Analysis....</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2283"/> <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2285"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2287"/> <source>Using Dirichlet boundary conditions</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2288"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2286"/> <source>Using Neumann boundary conditions</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2300"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2298"/> <source>Warning: The wing and elevator lie in the same plane z=</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2302"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2300"/> <source>It is recommended to slightly offset the wing or the elevator to avoid numerical instabilities</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2353"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2351"/> <source>Panel Analysis completed successfully</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2354"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2352"/> <source>Panel Analysis completed ... Errors encountered</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2368"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2366"/> <source>Close</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2444"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2442"/> <source>Processing Alpha= %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2472"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2470"/> <source> Wake iteration %1</source> <translation type="unfinished"></translation> </message> @@ -6093,7 +6106,7 @@ <context> <name>PlaneDlg</name> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="45"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="46"/> <source>Plane Editor</source> <translation type="unfinished"></translation> </message> @@ -6128,66 +6141,57 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="861"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="862"/> <source>Plane Name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="864"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="865"/> <source>Enter here a short description for the plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="865"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="866"/> <source>Description:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="866"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="867"/> <source>Plane Inertia</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="858"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="859"/> <source>Plane Description</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="877"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="912"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="946"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="977"/> - <source>Define</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../src/Miarex/PlaneDlg.cpp" line="878"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="913"/> - <source>Import</source> + <location filename="../src/Miarex/PlaneDlg.cpp" line="947"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="978"/> + <source>Define</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Miarex/PlaneDlg.cpp" line="879"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="914"/> - <source>Export</source> + <source>Import</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="880"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="915"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="947"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="980"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1033"/> - <source>x=</source> + <location filename="../src/Miarex/PlaneDlg.cpp" line="880"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="915"/> + <source>Export</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Miarex/PlaneDlg.cpp" line="881"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="916"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="948"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="982"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="981"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="1034"/> - <source>z=</source> + <source>x=</source> <translation type="unfinished"></translation> </message> <message> @@ -6195,111 +6199,120 @@ <location filename="../src/Miarex/PlaneDlg.cpp" line="917"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="949"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="983"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1035"/> + <source>z=</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Miarex/PlaneDlg.cpp" line="883"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="918"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="950"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="984"/> <source>Tilt Angle=</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="874"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="875"/> <source>Main Wing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="910"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="911"/> <source>Biplane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="907"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="908"/> <source>Wing 2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="942"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="945"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="943"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="946"/> <source>Elevator</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="973"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="976"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="974"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="977"/> <source>Fin</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="978"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="979"/> <source>Double Fin</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="979"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="980"/> <source>Two-sided Fin</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="981"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="982"/> <source>y=</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1015"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1019"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1016"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1020"/> <source>Body</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1018"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1019"/> <source>Warning: Including the body in the analysis is not recommended. Check the guidelines for explanations.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1020"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1021"/> <source>Edit...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1050"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1051"/> <source>Wing Area = </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1051"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1052"/> <source>Wing Span = </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1052"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1053"/> <source>Elev. Area = </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1053"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1054"/> <source>Elev. Lever Arm = </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1054"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1055"/> <source>Fin Area = </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1055"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1056"/> <source>TailVolume = </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1056"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1057"/> <source>Total Panels = </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1109"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1110"/> <source>OK</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1110"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1111"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> @@ -6378,197 +6391,197 @@ <context> <name>QAFoil</name> <message> - <location filename="../src/Design/AFoil.cpp" line="387"/> + <location filename="../src/Design/AFoil.cpp" line="393"/> <source>Spline foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="399"/> + <location filename="../src/Design/AFoil.cpp" line="405"/> <source>Splined points foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1238"/> + <location filename="../src/Design/AFoil.cpp" line="1244"/> <source>Foil has been de-rotated by %1 degrees</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1264"/> + <location filename="../src/Design/AFoil.cpp" line="1270"/> <source>Foil has been normalized from %1 to 1.000</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1603"/> - <location filename="../src/Design/AFoil.cpp" line="1841"/> + <location filename="../src/Design/AFoil.cpp" line="1609"/> <location filename="../src/Design/AFoil.cpp" line="1847"/> - <location filename="../src/Design/AFoil.cpp" line="1857"/> - <location filename="../src/Design/AFoil.cpp" line="1864"/> - <location filename="../src/Design/AFoil.cpp" line="2214"/> + <location filename="../src/Design/AFoil.cpp" line="1853"/> + <location filename="../src/Design/AFoil.cpp" line="1863"/> + <location filename="../src/Design/AFoil.cpp" line="1870"/> <location filename="../src/Design/AFoil.cpp" line="2220"/> - <location filename="../src/Design/AFoil.cpp" line="2251"/> - <location filename="../src/Design/AFoil.cpp" line="2259"/> + <location filename="../src/Design/AFoil.cpp" line="2226"/> + <location filename="../src/Design/AFoil.cpp" line="2257"/> + <location filename="../src/Design/AFoil.cpp" line="2265"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1603"/> + <location filename="../src/Design/AFoil.cpp" line="1609"/> <source>At least two foils are required</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1803"/> + <location filename="../src/Design/AFoil.cpp" line="1809"/> <source>Export Foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1805"/> + <location filename="../src/Design/AFoil.cpp" line="1811"/> <source>Foil File (*.dat)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1823"/> + <location filename="../src/Design/AFoil.cpp" line="1829"/> <source>Spline Foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1840"/> - <location filename="../src/Design/AFoil.cpp" line="1856"/> - <location filename="../src/Design/AFoil.cpp" line="2213"/> - <location filename="../src/Design/AFoil.cpp" line="2250"/> + <location filename="../src/Design/AFoil.cpp" line="1846"/> + <location filename="../src/Design/AFoil.cpp" line="1862"/> + <location filename="../src/Design/AFoil.cpp" line="2219"/> + <location filename="../src/Design/AFoil.cpp" line="2256"/> <source>Too many output points on upper surface Max =%1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1846"/> - <location filename="../src/Design/AFoil.cpp" line="1863"/> - <location filename="../src/Design/AFoil.cpp" line="2219"/> - <location filename="../src/Design/AFoil.cpp" line="2258"/> + <location filename="../src/Design/AFoil.cpp" line="1852"/> + <location filename="../src/Design/AFoil.cpp" line="1869"/> + <location filename="../src/Design/AFoil.cpp" line="2225"/> + <location filename="../src/Design/AFoil.cpp" line="2264"/> <source>Too many output points on lower surface Max =%1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1872"/> + <location filename="../src/Design/AFoil.cpp" line="1878"/> <source>Export Splines</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1874"/> + <location filename="../src/Design/AFoil.cpp" line="1880"/> <source>Text File (*.dat)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2634"/> + <location filename="../src/Design/AFoil.cpp" line="2640"/> <source>X-Scale = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2636"/> + <location filename="../src/Design/AFoil.cpp" line="2642"/> <source>Y-Scale = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2638"/> + <location filename="../src/Design/AFoil.cpp" line="2644"/> <source>x = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2640"/> + <location filename="../src/Design/AFoil.cpp" line="2646"/> <source>y = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3276"/> + <location filename="../src/Design/AFoil.cpp" line="3282"/> <source>Open Image File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2117"/> - <location filename="../src/Design/AFoil.cpp" line="2131"/> + <location filename="../src/Design/AFoil.cpp" line="2123"/> + <location filename="../src/Design/AFoil.cpp" line="2137"/> <source>Question</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2117"/> - <location filename="../src/Design/AFoil.cpp" line="2131"/> + <location filename="../src/Design/AFoil.cpp" line="2123"/> + <location filename="../src/Design/AFoil.cpp" line="2137"/> <source>Discard changes to Splines ?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3000"/> + <location filename="../src/Design/AFoil.cpp" line="3006"/> <source>Name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3001"/> + <location filename="../src/Design/AFoil.cpp" line="3007"/> <source>Thickness (%)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3002"/> - <location filename="../src/Design/AFoil.cpp" line="3004"/> + <location filename="../src/Design/AFoil.cpp" line="3008"/> + <location filename="../src/Design/AFoil.cpp" line="3010"/> <source>at (%)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3003"/> + <location filename="../src/Design/AFoil.cpp" line="3009"/> <source>Camber (%)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3005"/> - <location filename="../src/Design/AFoil.cpp" line="3013"/> + <location filename="../src/Design/AFoil.cpp" line="3011"/> + <location filename="../src/Design/AFoil.cpp" line="3019"/> <source>Points</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3006"/> + <location filename="../src/Design/AFoil.cpp" line="3012"/> <source>TE Flap (</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3007"/> + <location filename="../src/Design/AFoil.cpp" line="3013"/> <source>TE XHinge</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3008"/> + <location filename="../src/Design/AFoil.cpp" line="3014"/> <source>TE YHinge</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3009"/> + <location filename="../src/Design/AFoil.cpp" line="3015"/> <source>LE Flap (</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3010"/> + <location filename="../src/Design/AFoil.cpp" line="3016"/> <source>LE XHinge</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3011"/> + <location filename="../src/Design/AFoil.cpp" line="3017"/> <source>LE YHinge</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3012"/> + <location filename="../src/Design/AFoil.cpp" line="3018"/> <source>Show</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3014"/> + <location filename="../src/Design/AFoil.cpp" line="3020"/> <source>Centerline</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3015"/> + <location filename="../src/Design/AFoil.cpp" line="3021"/> <source>Style</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3017"/> + <location filename="../src/Design/AFoil.cpp" line="3023"/> <source>Foils</source> <translation type="unfinished"></translation> </message> @@ -6583,34 +6596,34 @@ <message> <location filename="../src/Miarex/Miarex.cpp" line="183"/> <location filename="../src/Miarex/Miarex.cpp" line="4079"/> - <location filename="../src/Miarex/Miarex.cpp" line="14880"/> - <location filename="../src/Miarex/Miarex.cpp" line="15012"/> + <location filename="../src/Miarex/Miarex.cpp" line="14481"/> + <location filename="../src/Miarex/Miarex.cpp" line="14617"/> <source>Cl</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14856"/> - <location filename="../src/Miarex/Miarex.cpp" line="14981"/> - <location filename="../src/Miarex/Miarex.cpp" line="14988"/> - <location filename="../src/Miarex/Miarex.cpp" line="15113"/> + <location filename="../src/Miarex/Miarex.cpp" line="14457"/> + <location filename="../src/Miarex/Miarex.cpp" line="14586"/> + <location filename="../src/Miarex/Miarex.cpp" line="14593"/> + <location filename="../src/Miarex/Miarex.cpp" line="14722"/> <source>Alpha</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14883"/> - <location filename="../src/Miarex/Miarex.cpp" line="15015"/> + <location filename="../src/Miarex/Miarex.cpp" line="14484"/> + <location filename="../src/Miarex/Miarex.cpp" line="14620"/> <source>Cn</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14886"/> - <location filename="../src/Miarex/Miarex.cpp" line="15018"/> + <location filename="../src/Miarex/Miarex.cpp" line="14487"/> + <location filename="../src/Miarex/Miarex.cpp" line="14623"/> <source>VCn</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14889"/> - <location filename="../src/Miarex/Miarex.cpp" line="15021"/> + <location filename="../src/Miarex/Miarex.cpp" line="14490"/> + <location filename="../src/Miarex/Miarex.cpp" line="14626"/> <source>ICn</source> <translation type="unfinished"></translation> </message> @@ -6621,33 +6634,33 @@ </message> <message> <location filename="../src/Miarex/Miarex.cpp" line="195"/> - <location filename="../src/Miarex/Miarex.cpp" line="14192"/> + <location filename="../src/Miarex/Miarex.cpp" line="13768"/> <source>Cp</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="765"/> - <location filename="../src/Miarex/Miarex.cpp" line="1102"/> - <location filename="../src/Miarex/Miarex.cpp" line="1196"/> - <location filename="../src/Miarex/Miarex.cpp" line="7675"/> - <location filename="../src/Miarex/Miarex.cpp" line="7680"/> - <location filename="../src/Miarex/Miarex.cpp" line="7728"/> - <location filename="../src/Miarex/Miarex.cpp" line="7735"/> - <location filename="../src/Miarex/Miarex.cpp" line="7752"/> - <location filename="../src/Miarex/Miarex.cpp" line="8386"/> - <location filename="../src/Miarex/Miarex.cpp" line="8510"/> - <location filename="../src/Miarex/Miarex.cpp" line="10072"/> - <location filename="../src/Miarex/Miarex.cpp" line="10094"/> - <location filename="../src/Miarex/Miarex.cpp" line="15139"/> - <location filename="../src/Miarex/Miarex.cpp" line="15149"/> - <location filename="../src/Miarex/Miarex.cpp" line="15154"/> - <location filename="../src/Miarex/Miarex.cpp" line="15171"/> - <location filename="../src/Miarex/Miarex.cpp" line="15192"/> + <location filename="../src/Miarex/Miarex.cpp" line="769"/> + <location filename="../src/Miarex/Miarex.cpp" line="1106"/> + <location filename="../src/Miarex/Miarex.cpp" line="1200"/> + <location filename="../src/Miarex/Miarex.cpp" line="7254"/> + <location filename="../src/Miarex/Miarex.cpp" line="7259"/> + <location filename="../src/Miarex/Miarex.cpp" line="7307"/> + <location filename="../src/Miarex/Miarex.cpp" line="7314"/> + <location filename="../src/Miarex/Miarex.cpp" line="7331"/> + <location filename="../src/Miarex/Miarex.cpp" line="7962"/> + <location filename="../src/Miarex/Miarex.cpp" line="8086"/> + <location filename="../src/Miarex/Miarex.cpp" line="9650"/> + <location filename="../src/Miarex/Miarex.cpp" line="9673"/> + <location filename="../src/Miarex/Miarex.cpp" line="14749"/> + <location filename="../src/Miarex/Miarex.cpp" line="14759"/> + <location filename="../src/Miarex/Miarex.cpp" line="14764"/> + <location filename="../src/Miarex/Miarex.cpp" line="14781"/> + <location filename="../src/Miarex/Miarex.cpp" line="14802"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="1102"/> + <location filename="../src/Miarex/Miarex.cpp" line="1106"/> <source>Not enough memory to store the OpPoint </source> <translation type="unfinished"></translation> @@ -6700,58 +6713,58 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="5399"/> + <location filename="../src/Miarex/Miarex.cpp" line="5188"/> <source>Time =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8805"/> + <location filename="../src/Miarex/Miarex.cpp" line="8381"/> <source>Are you sure you want to delete the polars associated to : </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9341"/> + <location filename="../src/Miarex/Miarex.cpp" line="8919"/> <source>Cl = </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9343"/> + <location filename="../src/Miarex/Miarex.cpp" line="8921"/> <source>Cm =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9346"/> + <location filename="../src/Miarex/Miarex.cpp" line="8924"/> <source>ICn = %1 PCn = %2 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9347"/> + <location filename="../src/Miarex/Miarex.cpp" line="8925"/> <source>ICn=, %1,PCn=, %2 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9354"/> + <location filename="../src/Miarex/Miarex.cpp" line="8932"/> <source>XNP = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9355"/> + <location filename="../src/Miarex/Miarex.cpp" line="8933"/> <source>XNP=, %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14221"/> + <location filename="../src/Miarex/Miarex.cpp" line="13798"/> <source>Polar properties</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14871"/> - <location filename="../src/Miarex/Miarex.cpp" line="15003"/> + <location filename="../src/Miarex/Miarex.cpp" line="14472"/> + <location filename="../src/Miarex/Miarex.cpp" line="14608"/> <source>Cm</source> <translation type="unfinished"></translation> </message> @@ -6798,207 +6811,207 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12067"/> + <location filename="../src/Miarex/Miarex.cpp" line="11653"/> <source>Point is out of the flight envelope</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12061"/> + <location filename="../src/Miarex/Miarex.cpp" line="11647"/> <source>Alpha = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12083"/> + <location filename="../src/Miarex/Miarex.cpp" line="11669"/> <source>Efficiency = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12087"/> + <location filename="../src/Miarex/Miarex.cpp" line="11673"/> <source>Cl/Cd = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12091"/> + <location filename="../src/Miarex/Miarex.cpp" line="11677"/> <source>GCm = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="7675"/> + <location filename="../src/Miarex/Miarex.cpp" line="7254"/> <source>Please define a wing or a plane object before running a calculation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="7680"/> + <location filename="../src/Miarex/Miarex.cpp" line="7259"/> <source>Please define an analysis/polar before running a calculation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="7727"/> - <location filename="../src/Miarex/Miarex.cpp" line="7734"/> + <location filename="../src/Miarex/Miarex.cpp" line="7306"/> + <location filename="../src/Miarex/Miarex.cpp" line="7313"/> <source>Could not find the wing's foil </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="7727"/> - <location filename="../src/Miarex/Miarex.cpp" line="7734"/> + <location filename="../src/Miarex/Miarex.cpp" line="7306"/> + <location filename="../src/Miarex/Miarex.cpp" line="7313"/> <source>... Aborting Calculation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8385"/> - <location filename="../src/Miarex/Miarex.cpp" line="8509"/> + <location filename="../src/Miarex/Miarex.cpp" line="7961"/> + <location filename="../src/Miarex/Miarex.cpp" line="8085"/> <source>The polar already exists</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8642"/> + <location filename="../src/Miarex/Miarex.cpp" line="8218"/> <source>Are you sure you want to delete the plane : </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8643"/> + <location filename="../src/Miarex/Miarex.cpp" line="8219"/> <source>Are you sure you want to delete the wing : </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8644"/> - <location filename="../src/Miarex/Miarex.cpp" line="8806"/> - <location filename="../src/Miarex/Miarex.cpp" line="8868"/> - <location filename="../src/Miarex/Miarex.cpp" line="10655"/> - <location filename="../src/Miarex/Miarex.cpp" line="13324"/> + <location filename="../src/Miarex/Miarex.cpp" line="8220"/> + <location filename="../src/Miarex/Miarex.cpp" line="8382"/> + <location filename="../src/Miarex/Miarex.cpp" line="8444"/> + <location filename="../src/Miarex/Miarex.cpp" line="10234"/> + <location filename="../src/Miarex/Miarex.cpp" line="12887"/> <source>Question</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8867"/> + <location filename="../src/Miarex/Miarex.cpp" line="8443"/> <source>Are you sure you want to delete the polar : </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9017"/> + <location filename="../src/Miarex/Miarex.cpp" line="8593"/> <source>The modification will erase all results for the planes using this body. Continue ?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9171"/> + <location filename="../src/Miarex/Miarex.cpp" line="8748"/> <source>The modification will erase all results associated to this Wing. Continue ?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9275"/> + <location filename="../src/Miarex/Miarex.cpp" line="8853"/> <source>Export Wing OpPoint</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9277"/> - <location filename="../src/Miarex/Miarex.cpp" line="9599"/> + <location filename="../src/Miarex/Miarex.cpp" line="8855"/> + <location filename="../src/Miarex/Miarex.cpp" line="9177"/> <source>Text File (*.txt);;Comma Separated Values (*.csv)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9331"/> + <location filename="../src/Miarex/Miarex.cpp" line="8909"/> <source>Cd = %1 ICd = %2 PCd = %3 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9335"/> + <location filename="../src/Miarex/Miarex.cpp" line="8913"/> <source>Cd=,%1,ICd=, %2,PCd=, %3 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9350"/> + <location filename="../src/Miarex/Miarex.cpp" line="8928"/> <source>XCP = %1 YCP = %2 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9351"/> + <location filename="../src/Miarex/Miarex.cpp" line="8929"/> <source>XCP=, %1, YCP=, %2 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9359"/> + <location filename="../src/Miarex/Miarex.cpp" line="8937"/> <source>Bend. =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9514"/> + <location filename="../src/Miarex/Miarex.cpp" line="9092"/> <source>Flap </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9597"/> + <location filename="../src/Miarex/Miarex.cpp" line="9175"/> <source>Export Polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10061"/> + <location filename="../src/Miarex/Miarex.cpp" line="9639"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10063"/> + <location filename="../src/Miarex/Miarex.cpp" line="9641"/> <source>UFO Polar Format (*.*)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10071"/> + <location filename="../src/Miarex/Miarex.cpp" line="9649"/> <source>Could not read the file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10091"/> + <location filename="../src/Miarex/Miarex.cpp" line="9670"/> <source>No UFO with the name </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10092"/> + <location filename="../src/Miarex/Miarex.cpp" line="9671"/> <source> could be found. The polar(s) will not be stored</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10488"/> + <location filename="../src/Miarex/Miarex.cpp" line="10067"/> <source>Enter the new name for the wing polar :</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10654"/> + <location filename="../src/Miarex/Miarex.cpp" line="10233"/> <source>Are you sure you want to reset the content of the polar : </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11726"/> - <location filename="../src/Miarex/Miarex.cpp" line="11932"/> - <location filename="../src/Miarex/Miarex.cpp" line="12038"/> + <location filename="../src/Miarex/Miarex.cpp" line="11312"/> + <location filename="../src/Miarex/Miarex.cpp" line="11518"/> + <location filename="../src/Miarex/Miarex.cpp" line="11624"/> <source>abcdefghijklmnopqrstuvwxyz012345678</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12042"/> + <location filename="../src/Miarex/Miarex.cpp" line="11628"/> <source>abcdefghijklmnopqrstuvwxyz01234567</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14874"/> - <location filename="../src/Miarex/Miarex.cpp" line="15006"/> + <location filename="../src/Miarex/Miarex.cpp" line="14475"/> + <location filename="../src/Miarex/Miarex.cpp" line="14611"/> <source>VCm</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14877"/> - <location filename="../src/Miarex/Miarex.cpp" line="15009"/> + <location filename="../src/Miarex/Miarex.cpp" line="14478"/> + <location filename="../src/Miarex/Miarex.cpp" line="14614"/> <source>ICm</source> <translation type="unfinished"></translation> </message> @@ -7028,685 +7041,697 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="1507"/> + <location filename="../src/Miarex/Miarex.cpp" line="1510"/> <source>Current Plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="1508"/> + <location filename="../src/Miarex/Miarex.cpp" line="1511"/> <source>Current Wing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="1509"/> + <location filename="../src/Miarex/Miarex.cpp" line="1512"/> <source>Current Object</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="5721"/> + <location filename="../src/Miarex/Miarex.cpp" line="5349"/> <source>The total number of panels is %1. The Max Number is %2. A reduction of the number of panels is required</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="7751"/> + <location filename="../src/Miarex/Miarex.cpp" line="7330"/> <source>Control polars are not supported in XFLR5 v6. Please use stability polars instead.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9526"/> + <location filename="../src/Miarex/Miarex.cpp" line="9104"/> <source>Main Wing Cp Coefficients </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9527"/> + <location filename="../src/Miarex/Miarex.cpp" line="9105"/> <source>Wing Cp Coefficients </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9534"/> + <location filename="../src/Miarex/Miarex.cpp" line="9112"/> <source> Panel CtrlPt.x CtrlPt.y CtrlPt.z Cp </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9535"/> + <location filename="../src/Miarex/Miarex.cpp" line="9113"/> <source>Panel,CtrlPt.x,CtrlPt.y,CtrlPt.z,Cp </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9545"/> + <location filename="../src/Miarex/Miarex.cpp" line="9123"/> <source>Cp Coefficients</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9555"/> + <location filename="../src/Miarex/Miarex.cpp" line="9133"/> <source>Strip %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9634"/> + <location filename="../src/Miarex/Miarex.cpp" line="9212"/> <source>Export UFO</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9636"/> + <location filename="../src/Miarex/Miarex.cpp" line="9214"/> <source>AVL Text File (*.avl)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9652"/> + <location filename="../src/Miarex/Miarex.cpp" line="9229"/> <source>Project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11490"/> + <location filename="../src/Miarex/Miarex.cpp" line="11075"/> <source>The modification will erase all polar results associated to this Plane. Continue ?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11947"/> + <location filename="../src/Miarex/Miarex.cpp" line="11533"/> <source>Wing Span =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11952"/> + <location filename="../src/Miarex/Miarex.cpp" line="11538"/> <source>xyProj. Span =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11957"/> + <location filename="../src/Miarex/Miarex.cpp" line="11543"/> <source>Wing Area =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11962"/> + <location filename="../src/Miarex/Miarex.cpp" line="11548"/> <source>xyProj. Area =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11976"/> + <location filename="../src/Miarex/Miarex.cpp" line="11562"/> <source>Plane Mass =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11982"/> + <location filename="../src/Miarex/Miarex.cpp" line="11568"/> <source>Wing Load =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11990"/> + <location filename="../src/Miarex/Miarex.cpp" line="11576"/> <source>Tail Volume =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11995"/> + <location filename="../src/Miarex/Miarex.cpp" line="11581"/> <source>Root Chord =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12000"/> + <location filename="../src/Miarex/Miarex.cpp" line="11586"/> <source>MAC =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12005"/> + <location filename="../src/Miarex/Miarex.cpp" line="11591"/> <source>TipTwist =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12009"/> + <location filename="../src/Miarex/Miarex.cpp" line="11595"/> <source>Aspect Ratio =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12013"/> + <location filename="../src/Miarex/Miarex.cpp" line="11599"/> <source>Taper Ratio =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12017"/> + <location filename="../src/Miarex/Miarex.cpp" line="11603"/> <source>Root-Tip Sweep =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12053"/> - <location filename="../src/Miarex/Miarex.cpp" line="12054"/> - <location filename="../src/Miarex/Miarex.cpp" line="12055"/> + <location filename="../src/Miarex/Miarex.cpp" line="11639"/> + <location filename="../src/Miarex/Miarex.cpp" line="11640"/> + <location filename="../src/Miarex/Miarex.cpp" line="11641"/> <source>V = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12056"/> + <location filename="../src/Miarex/Miarex.cpp" line="11642"/> <source>No unit defined for speed...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12072"/> + <location filename="../src/Miarex/Miarex.cpp" line="11658"/> <source>Lift Coef. = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12077"/> + <location filename="../src/Miarex/Miarex.cpp" line="11663"/> <source>Drag Coef. = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12096"/> + <location filename="../src/Miarex/Miarex.cpp" line="11682"/> <source>Rolling Moment Coef. = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12101"/> + <location filename="../src/Miarex/Miarex.cpp" line="11687"/> <source>Induced Moment Coef = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12105"/> + <location filename="../src/Miarex/Miarex.cpp" line="11691"/> <source>Profile Yawing Moment = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12135"/> + <location filename="../src/Miarex/Miarex.cpp" line="11721"/> <source>Flap %1 Moment =%2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12195"/> + <location filename="../src/Miarex/Miarex.cpp" line="11781"/> <source>Top transition</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12223"/> + <location filename="../src/Miarex/Miarex.cpp" line="11809"/> <source>Bottom transition</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12281"/> + <location filename="../src/Miarex/Miarex.cpp" line="11867"/> <source>Centre of Pressure</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12314"/> + <location filename="../src/Miarex/Miarex.cpp" line="11900"/> <source>Moment ref. location</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="13249"/> + <location filename="../src/Miarex/Miarex.cpp" line="12812"/> <source>Enter the new name for the Body :</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="13323"/> + <location filename="../src/Miarex/Miarex.cpp" line="12886"/> <source>The body </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="13323"/> + <location filename="../src/Miarex/Miarex.cpp" line="12886"/> <source> is used by one or more planes. Overwrite anyway ? (Results will be lost)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="13403"/> + <location filename="../src/Miarex/Miarex.cpp" line="12966"/> <source>Enter the new name for the Plane :</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="13617"/> + <location filename="../src/Miarex/Miarex.cpp" line="13181"/> <source>Enter the new name for the wing :</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14131"/> + <location filename="../src/Miarex/Miarex.cpp" line="13701"/> <source>Sequence</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14133"/> + <location filename="../src/Miarex/Miarex.cpp" line="13704"/> <source>Start=</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14134"/> + <location filename="../src/Miarex/Miarex.cpp" line="13705"/> <source>End=</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14135"/> + <location filename="../src/Miarex/Miarex.cpp" line="13706"/> <source>D=</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14164"/> + <location filename="../src/Miarex/Miarex.cpp" line="13737"/> <source>Init LLT</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14165"/> + <location filename="../src/Miarex/Miarex.cpp" line="13738"/> <source>Store OpPoint</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14166"/> + <location filename="../src/Miarex/Miarex.cpp" line="13743"/> <source>Analyze</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14179"/> + <location filename="../src/Miarex/Miarex.cpp" line="13697"/> <source>Analysis settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14186"/> + <location filename="../src/Miarex/Miarex.cpp" line="13762"/> <source>Lift</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14187"/> + <location filename="../src/Miarex/Miarex.cpp" line="13763"/> <source>Ind. Drag</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14188"/> + <location filename="../src/Miarex/Miarex.cpp" line="13764"/> <source>Visc. Drag</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14189"/> + <location filename="../src/Miarex/Miarex.cpp" line="13765"/> <source>Trans.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14190"/> + <location filename="../src/Miarex/Miarex.cpp" line="13766"/> <source>Moment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14191"/> + <location filename="../src/Miarex/Miarex.cpp" line="13767"/> <source>Downw.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14193"/> + <location filename="../src/Miarex/Miarex.cpp" line="13769"/> <source>Surf. Vel.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14194"/> + <location filename="../src/Miarex/Miarex.cpp" line="13770"/> <source>Stream</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14195"/> + <location filename="../src/Miarex/Miarex.cpp" line="13771"/> <source>Animate</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14355"/> + <location filename="../src/Miarex/Miarex.cpp" line="13897"/> <source>Display</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14862"/> - <location filename="../src/Miarex/Miarex.cpp" line="14994"/> + <location filename="../src/Miarex/Miarex.cpp" line="14463"/> + <location filename="../src/Miarex/Miarex.cpp" line="14599"/> <source>VCD</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14865"/> - <location filename="../src/Miarex/Miarex.cpp" line="14997"/> + <location filename="../src/Miarex/Miarex.cpp" line="14466"/> + <location filename="../src/Miarex/Miarex.cpp" line="14602"/> <source>ICD</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14868"/> - <location filename="../src/Miarex/Miarex.cpp" line="15000"/> + <location filename="../src/Miarex/Miarex.cpp" line="14469"/> + <location filename="../src/Miarex/Miarex.cpp" line="14605"/> <source>CD</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14892"/> - <location filename="../src/Miarex/Miarex.cpp" line="15024"/> + <location filename="../src/Miarex/Miarex.cpp" line="14493"/> + <location filename="../src/Miarex/Miarex.cpp" line="14629"/> <source>CL/CD</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14895"/> - <location filename="../src/Miarex/Miarex.cpp" line="15027"/> + <location filename="../src/Miarex/Miarex.cpp" line="14496"/> + <location filename="../src/Miarex/Miarex.cpp" line="14632"/> <source>CL^(3/2)/CD</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14898"/> - <location filename="../src/Miarex/Miarex.cpp" line="15030"/> + <location filename="../src/Miarex/Miarex.cpp" line="14499"/> + <location filename="../src/Miarex/Miarex.cpp" line="14635"/> <source>1/Rt(CL)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14921"/> - <location filename="../src/Miarex/Miarex.cpp" line="15053"/> + <location filename="../src/Miarex/Miarex.cpp" line="14502"/> + <location filename="../src/Miarex/Miarex.cpp" line="14638"/> + <source>Fx (N)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14503"/> + <location filename="../src/Miarex/Miarex.cpp" line="14639"/> + <source>Fx (lbf)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14506"/> + <location filename="../src/Miarex/Miarex.cpp" line="14642"/> + <source>Fy (N)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14507"/> + <location filename="../src/Miarex/Miarex.cpp" line="14643"/> + <source>Fy (lbf)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14510"/> + <location filename="../src/Miarex/Miarex.cpp" line="14646"/> + <source>Fz (N)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14511"/> + <location filename="../src/Miarex/Miarex.cpp" line="14647"/> + <source>Fz (lbf)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14526"/> + <location filename="../src/Miarex/Miarex.cpp" line="14662"/> <source>Pitching Moment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14924"/> - <location filename="../src/Miarex/Miarex.cpp" line="15056"/> + <location filename="../src/Miarex/Miarex.cpp" line="14529"/> + <location filename="../src/Miarex/Miarex.cpp" line="14665"/> <source>Rolling Moment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14927"/> - <location filename="../src/Miarex/Miarex.cpp" line="15059"/> + <location filename="../src/Miarex/Miarex.cpp" line="14532"/> + <location filename="../src/Miarex/Miarex.cpp" line="14668"/> <source>Yawing Moment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14232"/> + <location filename="../src/Miarex/Miarex.cpp" line="13816"/> <source>Curve</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14184"/> + <location filename="../src/Miarex/Miarex.cpp" line="13760"/> <source>Panel Forces</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14185"/> + <location filename="../src/Miarex/Miarex.cpp" line="13761"/> <source>Display the force 1/2.rho.V2.S.Cp acting on the panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14218"/> + <location filename="../src/Miarex/Miarex.cpp" line="13756"/> <source>Results</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14233"/> + <location filename="../src/Miarex/Miarex.cpp" line="13817"/> <source>Points</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14241"/> - <location filename="../src/Miarex/Miarex.cpp" line="14242"/> + <location filename="../src/Miarex/Miarex.cpp" line="13825"/> + <location filename="../src/Miarex/Miarex.cpp" line="13826"/> <source>item</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14254"/> + <location filename="../src/Miarex/Miarex.cpp" line="13841"/> <source>Style</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14255"/> + <location filename="../src/Miarex/Miarex.cpp" line="13842"/> <source>Width</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14256"/> + <location filename="../src/Miarex/Miarex.cpp" line="13843"/> <source>Color</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14271"/> + <location filename="../src/Miarex/Miarex.cpp" line="13812"/> <source>Curve settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14283"/> + <location filename="../src/Miarex/Miarex.cpp" line="13875"/> <source>Span Position</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14288"/> + <location filename="../src/Miarex/Miarex.cpp" line="13882"/> <source>Keep</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14289"/> - <location filename="../src/Miarex/Miarex.cpp" line="14334"/> + <location filename="../src/Miarex/Miarex.cpp" line="13883"/> + <location filename="../src/Miarex/Miarex.cpp" line="13935"/> <source>Reset</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14296"/> + <location filename="../src/Miarex/Miarex.cpp" line="13863"/> <source>Cp Sections</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14303"/> + <location filename="../src/Miarex/Miarex.cpp" line="13903"/> <source>Axes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14304"/> + <location filename="../src/Miarex/Miarex.cpp" line="13904"/> <source>Light</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14305"/> + <location filename="../src/Miarex/Miarex.cpp" line="13905"/> <source>Surfaces</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14306"/> + <location filename="../src/Miarex/Miarex.cpp" line="13906"/> <source>Outline</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14307"/> + <location filename="../src/Miarex/Miarex.cpp" line="13907"/> <source>Panels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14308"/> + <location filename="../src/Miarex/Miarex.cpp" line="13908"/> <source>Foil Names</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14309"/> + <location filename="../src/Miarex/Miarex.cpp" line="13909"/> <source>Vortices</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14310"/> + <location filename="../src/Miarex/Miarex.cpp" line="13910"/> <source>Masses</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14332"/> + <location filename="../src/Miarex/Miarex.cpp" line="13933"/> <source>Pick Center</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14333"/> + <location filename="../src/Miarex/Miarex.cpp" line="13934"/> <source>Activate the button, then click on the object to center it in the viewport; alternatively, double click on the object</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14341"/> + <location filename="../src/Miarex/Miarex.cpp" line="13944"/> <source>Clip:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14859"/> - <location filename="../src/Miarex/Miarex.cpp" line="14991"/> + <location filename="../src/Miarex/Miarex.cpp" line="14460"/> + <location filename="../src/Miarex/Miarex.cpp" line="14596"/> <source>CL</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14901"/> - <location filename="../src/Miarex/Miarex.cpp" line="15033"/> - <source>Lift (N)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/Miarex/Miarex.cpp" line="14902"/> - <location filename="../src/Miarex/Miarex.cpp" line="15034"/> - <source>Lift (lbf)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/Miarex/Miarex.cpp" line="14905"/> - <location filename="../src/Miarex/Miarex.cpp" line="15037"/> - <source>Drag (N)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/Miarex/Miarex.cpp" line="14906"/> - <location filename="../src/Miarex/Miarex.cpp" line="15038"/> - <source>Drag (lbf)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/Miarex/Miarex.cpp" line="14909"/> - <location filename="../src/Miarex/Miarex.cpp" line="15041"/> + <location filename="../src/Miarex/Miarex.cpp" line="14514"/> + <location filename="../src/Miarex/Miarex.cpp" line="14650"/> <source>Vx </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14912"/> - <location filename="../src/Miarex/Miarex.cpp" line="15044"/> + <location filename="../src/Miarex/Miarex.cpp" line="14517"/> + <location filename="../src/Miarex/Miarex.cpp" line="14653"/> <source>Vz </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14915"/> - <location filename="../src/Miarex/Miarex.cpp" line="15047"/> + <location filename="../src/Miarex/Miarex.cpp" line="14520"/> + <location filename="../src/Miarex/Miarex.cpp" line="14656"/> <source>V </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14918"/> - <location filename="../src/Miarex/Miarex.cpp" line="15050"/> + <location filename="../src/Miarex/Miarex.cpp" line="14523"/> + <location filename="../src/Miarex/Miarex.cpp" line="14659"/> <source>Gamma</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14930"/> - <location filename="../src/Miarex/Miarex.cpp" line="15062"/> + <location filename="../src/Miarex/Miarex.cpp" line="14535"/> + <location filename="../src/Miarex/Miarex.cpp" line="14671"/> <source>XCP </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14933"/> - <location filename="../src/Miarex/Miarex.cpp" line="15065"/> + <location filename="../src/Miarex/Miarex.cpp" line="14538"/> + <location filename="../src/Miarex/Miarex.cpp" line="14674"/> <source>YCP </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14936"/> - <location filename="../src/Miarex/Miarex.cpp" line="15068"/> + <location filename="../src/Miarex/Miarex.cpp" line="14541"/> + <location filename="../src/Miarex/Miarex.cpp" line="14677"/> <source>BM </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14939"/> - <location filename="../src/Miarex/Miarex.cpp" line="15071"/> + <location filename="../src/Miarex/Miarex.cpp" line="14544"/> + <location filename="../src/Miarex/Miarex.cpp" line="14680"/> <source>m.g.Vz (W)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14942"/> - <location filename="../src/Miarex/Miarex.cpp" line="15074"/> + <location filename="../src/Miarex/Miarex.cpp" line="14547"/> + <location filename="../src/Miarex/Miarex.cpp" line="14683"/> <source>Efficiency</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14945"/> - <location filename="../src/Miarex/Miarex.cpp" line="15077"/> + <location filename="../src/Miarex/Miarex.cpp" line="14550"/> + <location filename="../src/Miarex/Miarex.cpp" line="14686"/> <source>(XCp-XCG)/MAC(%)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14948"/> - <location filename="../src/Miarex/Miarex.cpp" line="15080"/> + <location filename="../src/Miarex/Miarex.cpp" line="14553"/> + <location filename="../src/Miarex/Miarex.cpp" line="14689"/> <source>ctrl</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14951"/> - <location filename="../src/Miarex/Miarex.cpp" line="15083"/> + <location filename="../src/Miarex/Miarex.cpp" line="14556"/> + <location filename="../src/Miarex/Miarex.cpp" line="14692"/> <source>CY</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14954"/> - <location filename="../src/Miarex/Miarex.cpp" line="15086"/> + <location filename="../src/Miarex/Miarex.cpp" line="14559"/> + <location filename="../src/Miarex/Miarex.cpp" line="14695"/> <source>XNP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14957"/> - <location filename="../src/Miarex/Miarex.cpp" line="15089"/> + <location filename="../src/Miarex/Miarex.cpp" line="14562"/> + <location filename="../src/Miarex/Miarex.cpp" line="14698"/> <source>Ph. Freq(Hz)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14960"/> - <location filename="../src/Miarex/Miarex.cpp" line="15092"/> + <location filename="../src/Miarex/Miarex.cpp" line="14565"/> + <location filename="../src/Miarex/Miarex.cpp" line="14701"/> <source>Ph. Damping</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14963"/> - <location filename="../src/Miarex/Miarex.cpp" line="15095"/> + <location filename="../src/Miarex/Miarex.cpp" line="14568"/> + <location filename="../src/Miarex/Miarex.cpp" line="14704"/> <source>SP Freq (Hz)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14966"/> - <location filename="../src/Miarex/Miarex.cpp" line="15098"/> + <location filename="../src/Miarex/Miarex.cpp" line="14571"/> + <location filename="../src/Miarex/Miarex.cpp" line="14707"/> <source>SP Damping</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14969"/> - <location filename="../src/Miarex/Miarex.cpp" line="15101"/> + <location filename="../src/Miarex/Miarex.cpp" line="14574"/> + <location filename="../src/Miarex/Miarex.cpp" line="14710"/> <source>DR Freq(Hz)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14972"/> - <location filename="../src/Miarex/Miarex.cpp" line="15104"/> + <location filename="../src/Miarex/Miarex.cpp" line="14577"/> + <location filename="../src/Miarex/Miarex.cpp" line="14713"/> <source>DR Damping</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14975"/> - <location filename="../src/Miarex/Miarex.cpp" line="15107"/> + <location filename="../src/Miarex/Miarex.cpp" line="14580"/> + <location filename="../src/Miarex/Miarex.cpp" line="14716"/> <source>Roll Damping</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14978"/> - <location filename="../src/Miarex/Miarex.cpp" line="15110"/> + <location filename="../src/Miarex/Miarex.cpp" line="14583"/> + <location filename="../src/Miarex/Miarex.cpp" line="14719"/> <source>Spiral Damping</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="15139"/> + <location filename="../src/Miarex/Miarex.cpp" line="14749"/> <source>OpenGL color format is not recognized... Sorry</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="15149"/> + <location filename="../src/Miarex/Miarex.cpp" line="14759"/> <source>Cannot (yet ?) save 8 bit depth opengl screen images... Sorry</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="15154"/> + <location filename="../src/Miarex/Miarex.cpp" line="14764"/> <source>Cannot (yet ?) save 16 bit depth opengl screen images... Sorry</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="15171"/> + <location filename="../src/Miarex/Miarex.cpp" line="14781"/> <source>Unidentified bit depth... Sorry</source> <translation type="unfinished"></translation> </message> @@ -7714,42 +7739,42 @@ <context> <name>QObject</name> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1470"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1102"/> <source>dihedral</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1471"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1103"/> <source>twist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1472"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1104"/> <source>foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1473"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1105"/> <source>X-panels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1474"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1106"/> <source>X-dist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1475"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1107"/> <source>Y-panels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1476"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1108"/> <source>Y-dist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2682"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2250"/> <source>Wing definition</source> <translation type="unfinished"></translation> </message> @@ -7769,142 +7794,142 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="239"/> + <location filename="../src/Objects/OpPoint.cpp" line="245"/> <location filename="../src/XDirect/ReListDlg.cpp" line="57"/> <source>Re</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="245"/> + <location filename="../src/Objects/OpPoint.cpp" line="251"/> <location filename="../src/XDirect/ReListDlg.cpp" line="58"/> <source>Mach</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="251"/> + <location filename="../src/Objects/OpPoint.cpp" line="257"/> <location filename="../src/Objects/WOpp.cpp" line="649"/> <source>CL</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="254"/> + <location filename="../src/Objects/OpPoint.cpp" line="260"/> <location filename="../src/Objects/WOpp.cpp" line="651"/> <source>CD</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="257"/> + <location filename="../src/Objects/OpPoint.cpp" line="263"/> <location filename="../src/Objects/WOpp.cpp" line="665"/> <source>Cm</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="260"/> + <location filename="../src/Objects/OpPoint.cpp" line="266"/> <source>Cdp</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="263"/> + <location filename="../src/Objects/OpPoint.cpp" line="269"/> <source>Cpmn</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="266"/> + <location filename="../src/Objects/OpPoint.cpp" line="272"/> <location filename="../src/Objects/WOpp.cpp" line="644"/> <source>XCP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="269"/> + <location filename="../src/Objects/OpPoint.cpp" line="275"/> <source>Top Transition</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="272"/> + <location filename="../src/Objects/OpPoint.cpp" line="278"/> <source>Bot Transition</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="277"/> + <location filename="../src/Objects/OpPoint.cpp" line="283"/> <source>T.E. Flap moment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="282"/> + <location filename="../src/Objects/OpPoint.cpp" line="288"/> <source>L.E. Flap moment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="734"/> + <location filename="../src/Objects/Polar.cpp" line="738"/> <location filename="../src/Objects/WOpp.cpp" line="603"/> - <location filename="../src/Objects/WPolar.cpp" line="1893"/> + <location filename="../src/Objects/WPolar.cpp" line="1931"/> <source>Type</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="735"/> + <location filename="../src/Objects/Polar.cpp" line="739"/> <location filename="../src/Objects/WOpp.cpp" line="604"/> - <location filename="../src/Objects/WPolar.cpp" line="1894"/> + <location filename="../src/Objects/WPolar.cpp" line="1932"/> <source>Fixed speed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="736"/> + <location filename="../src/Objects/Polar.cpp" line="740"/> <location filename="../src/Objects/WOpp.cpp" line="605"/> - <location filename="../src/Objects/WPolar.cpp" line="1895"/> + <location filename="../src/Objects/WPolar.cpp" line="1933"/> <source>Fixed lift</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="737"/> + <location filename="../src/Objects/Polar.cpp" line="741"/> <location filename="../src/Objects/WOpp.cpp" line="606"/> - <location filename="../src/Objects/WPolar.cpp" line="1896"/> + <location filename="../src/Objects/WPolar.cpp" line="1934"/> <source>Fixed angle of attack</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="742"/> + <location filename="../src/Objects/Polar.cpp" line="746"/> <source>Reynolds number</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="744"/> - <location filename="../src/Objects/Polar.cpp" line="758"/> - <location filename="../src/Objects/Polar.cpp" line="765"/> + <location filename="../src/Objects/Polar.cpp" line="748"/> + <location filename="../src/Objects/Polar.cpp" line="762"/> + <location filename="../src/Objects/Polar.cpp" line="769"/> <source>Mach number</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="756"/> + <location filename="../src/Objects/Polar.cpp" line="760"/> <source>Re.Cl</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="242"/> - <location filename="../src/Objects/Polar.cpp" line="763"/> + <location filename="../src/Objects/OpPoint.cpp" line="248"/> + <location filename="../src/Objects/Polar.cpp" line="767"/> <location filename="../src/Objects/WOpp.cpp" line="625"/> <source>Alpha</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="248"/> - <location filename="../src/Objects/Polar.cpp" line="770"/> + <location filename="../src/Objects/OpPoint.cpp" line="254"/> + <location filename="../src/Objects/Polar.cpp" line="774"/> <location filename="../src/XDirect/ReListDlg.cpp" line="59"/> <source>NCrit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="773"/> + <location filename="../src/Objects/Polar.cpp" line="777"/> <source>Forced top trans.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="776"/> + <location filename="../src/Objects/Polar.cpp" line="780"/> <source>Forced bottom trans.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="779"/> + <location filename="../src/Objects/Polar.cpp" line="783"/> <source>Number of data points</source> <translation type="unfinished"></translation> </message> @@ -7990,7 +8015,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="368"/> + <location filename="../src/Objects/WPolar.cpp" line="369"/> <source>The max number of polar points has been reached</source> <translation type="unfinished"></translation> </message> @@ -8000,112 +8025,113 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="505"/> + <location filename="../src/Objects/Body.cpp" line="507"/> <source>Export Body Definition</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="507"/> + <location filename="../src/Objects/Body.cpp" line="509"/> <source>Text Format (*.txt)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="581"/> + <location filename="../src/Objects/Body.cpp" line="583"/> <source>Export Body Geometry</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="583"/> + <location filename="../src/Objects/Body.cpp" line="585"/> <source>Text File (*.txt);;Comma Separated Values (*.csv)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="873"/> + <location filename="../src/Objects/Body.cpp" line="875"/> <source>Choose the length unit to read this file :</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="917"/> + <location filename="../src/Objects/Body.cpp" line="919"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="919"/> + <location filename="../src/Objects/Body.cpp" line="921"/> <source>Text file (*.txt)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="927"/> + <location filename="../src/Objects/Body.cpp" line="929"/> <source>Could not read the file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="928"/> - <location filename="../src/Objects/Body.cpp" line="1041"/> - <location filename="../src/Objects/WPolar.cpp" line="369"/> + <location filename="../src/Objects/Body.cpp" line="930"/> + <location filename="../src/Objects/Body.cpp" line="1043"/> + <location filename="../src/Objects/Surface.cpp" line="736"/> + <location filename="../src/Objects/WPolar.cpp" line="370"/> <location filename="../src/XDirect/XFoil.cpp" line="3139"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="1003"/> + <location filename="../src/Objects/Body.cpp" line="1005"/> <source>Error reading </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="1003"/> + <location filename="../src/Objects/Body.cpp" line="1005"/> <source> Frames have different number of side points</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="1004"/> + <location filename="../src/Objects/Body.cpp" line="1006"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="1042"/> + <location filename="../src/Objects/Body.cpp" line="1044"/> <source>Please select a Frame before inserting a point</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="607"/> - <location filename="../src/Objects/WPolar.cpp" line="1897"/> + <location filename="../src/Objects/WPolar.cpp" line="1935"/> <source>Stability analysis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="1902"/> + <location filename="../src/Objects/WPolar.cpp" line="1940"/> <source>VInf =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="1907"/> + <location filename="../src/Objects/WPolar.cpp" line="1945"/> <source>Alpha =</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="611"/> - <location filename="../src/Objects/WPolar.cpp" line="1918"/> + <location filename="../src/Objects/WPolar.cpp" line="1956"/> <source>LLT</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="612"/> - <location filename="../src/Objects/WPolar.cpp" line="1919"/> + <location filename="../src/Objects/WPolar.cpp" line="1957"/> <source>3D-Panels</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="613"/> - <location filename="../src/Objects/WPolar.cpp" line="1920"/> + <location filename="../src/Objects/WPolar.cpp" line="1958"/> <source>3D-Panels/VLM1</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="614"/> - <location filename="../src/Objects/WPolar.cpp" line="1921"/> + <location filename="../src/Objects/WPolar.cpp" line="1959"/> <source>3D-Panels/VLM2</source> <translation type="unfinished"></translation> </message> @@ -8116,7 +8142,7 @@ </message> <message> <location filename="../src/Objects/WOpp.cpp" line="628"/> - <location filename="../src/Objects/WPolar.cpp" line="2075"/> + <location filename="../src/Objects/WPolar.cpp" line="2113"/> <source>Mass</source> <translation type="unfinished"></translation> </message> @@ -8311,84 +8337,84 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2078"/> + <location filename="../src/Objects/WPolar.cpp" line="2116"/> <source>CoG.x</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2081"/> + <location filename="../src/Objects/WPolar.cpp" line="2119"/> <source>CoG.z</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2098"/> + <location filename="../src/Objects/WPolar.cpp" line="2136"/> <source>B.C. = Dirichlet</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2099"/> + <location filename="../src/Objects/WPolar.cpp" line="2137"/> <source>B.C. = Neumann</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2103"/> + <location filename="../src/Objects/WPolar.cpp" line="2141"/> <source>Analysis type</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2104"/> + <location filename="../src/Objects/WPolar.cpp" line="2142"/> <source>Viscous</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2105"/> + <location filename="../src/Objects/WPolar.cpp" line="2143"/> <source>Inviscid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2107"/> + <location filename="../src/Objects/WPolar.cpp" line="2145"/> <source>Ref. Area = </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2126"/> + <location filename="../src/Objects/WPolar.cpp" line="2164"/> <source>Data points</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="633"/> - <location filename="../src/Objects/WPolar.cpp" line="1913"/> + <location filename="../src/Objects/WPolar.cpp" line="1951"/> <source>Beta</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2108"/> + <location filename="../src/Objects/WPolar.cpp" line="2146"/> <source>Planform area</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2109"/> + <location filename="../src/Objects/WPolar.cpp" line="2147"/> <source>Projected area</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="618"/> - <location filename="../src/Objects/WPolar.cpp" line="2111"/> + <location filename="../src/Objects/WPolar.cpp" line="2149"/> <source>Tilted geometry</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2115"/> + <location filename="../src/Objects/WPolar.cpp" line="2153"/> <source>Ground height</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2119"/> + <location filename="../src/Objects/WPolar.cpp" line="2157"/> <source>Density =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2122"/> + <location filename="../src/Objects/WPolar.cpp" line="2160"/> <source>Viscosity =</source> <translation type="unfinished"></translation> </message> @@ -8599,8 +8625,8 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Wing.cpp" line="2259"/> - <location filename="../src/Objects/Wing.cpp" line="2274"/> + <location filename="../src/Objects/Wing.cpp" line="2273"/> + <location filename="../src/Objects/Wing.cpp" line="2288"/> <source> Span pos = %1 </source> <translation type="unfinished"></translation> </message> @@ -8621,12 +8647,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Wing.cpp" line="2265"/> + <location filename="../src/Objects/Wing.cpp" line="2279"/> <source>, Cl = %1 could not be interpolated</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Wing.cpp" line="2279"/> + <location filename="../src/Objects/Wing.cpp" line="2293"/> <source>, Cl = %1 is outside the flight envelope</source> <translation type="unfinished"></translation> </message> @@ -8637,156 +8663,156 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2337"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2404"/> <source>Wing Span = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2342"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2409"/> <source>XYProj. Span = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2359"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2426"/> <source>X_CG = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2365"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2432"/> <source>Wing Area = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2370"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2437"/> <source>XYProj. Area = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2384"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2451"/> <source>Plane Mass = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2390"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2457"/> <source>Wing Load = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2398"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2465"/> <source>Tail Volume = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2347"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2414"/> <source>Root Chord = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2351"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2418"/> <source>M.A.C. = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2403"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2470"/> <source>Tip Twist = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2407"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2474"/> <source>Aspect Ratio = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2411"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2478"/> <source>Taper Ratio = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2415"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2482"/> <source>Root-Tip Sweep = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2465"/> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2466"/> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2467"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2530"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2531"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2532"/> <source>V = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2472"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2537"/> <source>Alpha = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2477"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2542"/> <source>Sideslip = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2482"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2547"/> <source>Bank = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2487"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2552"/> <source>Control pos. = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2504"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2569"/> <source>CL/CD = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2508"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2573"/> <source>Cl = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2512"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2577"/> <source>Cm = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2516"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2581"/> <source>Cn = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2528"/> - <location filename="../src/Miarex/Miarex.cpp" line="12117"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2593"/> + <location filename="../src/Miarex/Miarex.cpp" line="11703"/> <source>X_NP = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2534"/> - <location filename="../src/Miarex/Miarex.cpp" line="12123"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2599"/> + <location filename="../src/Miarex/Miarex.cpp" line="11709"/> <source>X_CP = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12128"/> + <location filename="../src/Miarex/Miarex.cpp" line="11714"/> <source>X_CG = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2459"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2524"/> <source>Point is out of the flight envelope</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2491"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2556"/> <source>CL = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2495"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2560"/> <source>CD = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2500"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2565"/> <source>Efficiency = %1 </source> <translation type="unfinished"></translation> </message> @@ -8842,47 +8868,53 @@ </source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../src/Objects/Surface.cpp" line="737"/> + <source>Continuous foils for surface do not have the same initial flap angle... aborting +</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>QXDirect</name> <message> - <location filename="../src/XDirect/XDirect.cpp" line="172"/> - <location filename="../src/XDirect/XDirect.cpp" line="891"/> - <location filename="../src/XDirect/XDirect.cpp" line="922"/> - <location filename="../src/XDirect/XDirect.cpp" line="1445"/> - <location filename="../src/XDirect/XDirect.cpp" line="2124"/> - <location filename="../src/XDirect/XDirect.cpp" line="3127"/> + <location filename="../src/XDirect/XDirect.cpp" line="180"/> + <location filename="../src/XDirect/XDirect.cpp" line="899"/> + <location filename="../src/XDirect/XDirect.cpp" line="930"/> + <location filename="../src/XDirect/XDirect.cpp" line="1453"/> + <location filename="../src/XDirect/XDirect.cpp" line="2132"/> + <location filename="../src/XDirect/XDirect.cpp" line="3133"/> <source>Cp</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="907"/> - <location filename="../src/XDirect/XDirect.cpp" line="1450"/> - <location filename="../src/XDirect/XDirect.cpp" line="3132"/> - <location filename="../src/XDirect/XDirect.cpp" line="3960"/> + <location filename="../src/XDirect/XDirect.cpp" line="915"/> + <location filename="../src/XDirect/XDirect.cpp" line="1458"/> + <location filename="../src/XDirect/XDirect.cpp" line="3138"/> + <location filename="../src/XDirect/XDirect.cpp" line="3956"/> <source>Q</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="1888"/> + <location filename="../src/XDirect/XDirect.cpp" line="1896"/> <source>Not enough threads available for multithreading</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="1889"/> - <location filename="../src/XDirect/XDirect.cpp" line="3350"/> - <location filename="../src/XDirect/XDirect.cpp" line="3369"/> - <location filename="../src/XDirect/XDirect.cpp" line="3383"/> - <location filename="../src/XDirect/XDirect.cpp" line="3398"/> - <location filename="../src/XDirect/XDirect.cpp" line="3408"/> + <location filename="../src/XDirect/XDirect.cpp" line="1897"/> + <location filename="../src/XDirect/XDirect.cpp" line="3353"/> + <location filename="../src/XDirect/XDirect.cpp" line="3373"/> + <location filename="../src/XDirect/XDirect.cpp" line="3386"/> + <location filename="../src/XDirect/XDirect.cpp" line="3400"/> + <location filename="../src/XDirect/XDirect.cpp" line="3409"/> <location filename="../src/XDirect/XDirect.cpp" line="3419"/> <location filename="../src/XDirect/XDirect.cpp" line="3429"/> - <location filename="../src/XDirect/XDirect.cpp" line="3439"/> - <location filename="../src/XDirect/XDirect.cpp" line="3450"/> - <location filename="../src/XDirect/XDirect.cpp" line="3461"/> - <location filename="../src/XDirect/XDirect.cpp" line="3538"/> - <location filename="../src/XDirect/XDirect.cpp" line="3561"/> - <location filename="../src/XDirect/XDirect.cpp" line="3646"/> + <location filename="../src/XDirect/XDirect.cpp" line="3438"/> + <location filename="../src/XDirect/XDirect.cpp" line="3447"/> + <location filename="../src/XDirect/XDirect.cpp" line="3457"/> + <location filename="../src/XDirect/XDirect.cpp" line="3534"/> + <location filename="../src/XDirect/XDirect.cpp" line="3557"/> + <location filename="../src/XDirect/XDirect.cpp" line="3642"/> <location filename="../src/XDirect/XFoil.cpp" line="105"/> <location filename="../src/XDirect/XFoil.cpp" line="119"/> <location filename="../src/XDirect/XFoil.cpp" line="1979"/> @@ -8898,173 +8930,173 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2024"/> - <location filename="../src/XDirect/XDirect.cpp" line="2071"/> - <location filename="../src/XDirect/XDirect.cpp" line="3208"/> - <location filename="../src/XDirect/XDirect.cpp" line="3806"/> - <location filename="../src/XDirect/XDirect.cpp" line="4180"/> - <location filename="../src/XDirect/XDirect.cpp" line="4213"/> - <location filename="../src/XDirect/XDirect.cpp" line="4677"/> + <location filename="../src/XDirect/XDirect.cpp" line="2032"/> + <location filename="../src/XDirect/XDirect.cpp" line="2079"/> + <location filename="../src/XDirect/XDirect.cpp" line="3214"/> + <location filename="../src/XDirect/XDirect.cpp" line="3802"/> + <location filename="../src/XDirect/XDirect.cpp" line="4176"/> + <location filename="../src/XDirect/XDirect.cpp" line="4209"/> + <location filename="../src/XDirect/XDirect.cpp" line="4673"/> <source>Top</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2025"/> - <location filename="../src/XDirect/XDirect.cpp" line="2072"/> - <location filename="../src/XDirect/XDirect.cpp" line="3209"/> - <location filename="../src/XDirect/XDirect.cpp" line="3807"/> - <location filename="../src/XDirect/XDirect.cpp" line="4181"/> - <location filename="../src/XDirect/XDirect.cpp" line="4214"/> - <location filename="../src/XDirect/XDirect.cpp" line="4678"/> + <location filename="../src/XDirect/XDirect.cpp" line="2033"/> + <location filename="../src/XDirect/XDirect.cpp" line="2080"/> + <location filename="../src/XDirect/XDirect.cpp" line="3215"/> + <location filename="../src/XDirect/XDirect.cpp" line="3803"/> + <location filename="../src/XDirect/XDirect.cpp" line="4177"/> + <location filename="../src/XDirect/XDirect.cpp" line="4210"/> + <location filename="../src/XDirect/XDirect.cpp" line="4674"/> <source>Bot</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2173"/> + <location filename="../src/XDirect/XDirect.cpp" line="2181"/> <source>Max Shear</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2178"/> + <location filename="../src/XDirect/XDirect.cpp" line="2186"/> <source>Top Shear</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2179"/> + <location filename="../src/XDirect/XDirect.cpp" line="2187"/> <source>Top Shear eq</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2180"/> + <location filename="../src/XDirect/XDirect.cpp" line="2188"/> <source>Bot Shear</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2181"/> + <location filename="../src/XDirect/XDirect.cpp" line="2189"/> <source>Bot Shear eq</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="171"/> + <location filename="../src/XDirect/XDirect.cpp" line="179"/> <source>X</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="182"/> + <location filename="../src/XDirect/XDirect.cpp" line="190"/> <source>Cp Graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="194"/> + <location filename="../src/XDirect/XDirect.cpp" line="202"/> <source>Polar Graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="206"/> + <location filename="../src/XDirect/XDirect.cpp" line="214"/> <source>Cm Graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="218"/> + <location filename="../src/XDirect/XDirect.cpp" line="226"/> <source>Cz Graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="230"/> + <location filename="../src/XDirect/XDirect.cpp" line="238"/> <source>Tr Graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="242"/> + <location filename="../src/XDirect/XDirect.cpp" line="250"/> <source>User Graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2021"/> + <location filename="../src/XDirect/XDirect.cpp" line="2029"/> <source>Cf</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2068"/> + <location filename="../src/XDirect/XDirect.cpp" line="2076"/> <source>Cd'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2365"/> + <location filename="../src/XDirect/XDirect.cpp" line="2371"/> <source>Are you sure you want to delete the Operating Point </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2371"/> - <location filename="../src/XDirect/XDirect.cpp" line="2395"/> - <location filename="../src/XDirect/XDirect.cpp" line="2497"/> + <location filename="../src/XDirect/XDirect.cpp" line="2377"/> + <location filename="../src/XDirect/XDirect.cpp" line="2401"/> + <location filename="../src/XDirect/XDirect.cpp" line="2503"/> <source>Question</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2392"/> + <location filename="../src/XDirect/XDirect.cpp" line="2398"/> <source>Are you sure you want to delete the polar : </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2393"/> + <location filename="../src/XDirect/XDirect.cpp" line="2399"/> <source> and all the associated OpPoints ?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2495"/> + <location filename="../src/XDirect/XDirect.cpp" line="2501"/> <source>Are you sure you want to delete polars and OpPoints </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2496"/> + <location filename="../src/XDirect/XDirect.cpp" line="2502"/> <source>associated to </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2546"/> + <location filename="../src/XDirect/XDirect.cpp" line="2552"/> <source>The foil has been de-rotated by %1 degrees</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2705"/> + <location filename="../src/XDirect/XDirect.cpp" line="2711"/> <source>Export Current XFoil Results</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2707"/> - <location filename="../src/XDirect/XDirect.cpp" line="2916"/> - <location filename="../src/XDirect/XDirect.cpp" line="2951"/> + <location filename="../src/XDirect/XDirect.cpp" line="2713"/> + <location filename="../src/XDirect/XDirect.cpp" line="2922"/> + <location filename="../src/XDirect/XDirect.cpp" line="2957"/> <source>Text File (*.txt);;Comma Separated Values (*.csv)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2778"/> + <location filename="../src/XDirect/XDirect.cpp" line="2784"/> <source> Top Side </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2779"/> - <location filename="../src/XDirect/XDirect.cpp" line="2809"/> + <location filename="../src/XDirect/XDirect.cpp" line="2785"/> + <location filename="../src/XDirect/XDirect.cpp" line="2815"/> <source> x Hk Ue/Vinf Cf Cd A/A0 D* Theta CTq </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2780"/> - <location filename="../src/XDirect/XDirect.cpp" line="2810"/> + <location filename="../src/XDirect/XDirect.cpp" line="2786"/> + <location filename="../src/XDirect/XDirect.cpp" line="2816"/> <source>x,Hk,Ue/Vinf,Cf,Cd,A/A0,D*,Theta,CTq </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2808"/> + <location filename="../src/XDirect/XDirect.cpp" line="2814"/> <source> Bottom Side @@ -9072,410 +9104,398 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2852"/> + <location filename="../src/XDirect/XDirect.cpp" line="2858"/> <source>Export Directory</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2883"/> + <location filename="../src/XDirect/XDirect.cpp" line="2889"/> <source>Export Foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2885"/> + <location filename="../src/XDirect/XDirect.cpp" line="2891"/> <source>Foil File (*.dat)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2914"/> + <location filename="../src/XDirect/XDirect.cpp" line="2920"/> <source>Export OpPoint</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2949"/> + <location filename="../src/XDirect/XDirect.cpp" line="2955"/> <source>Export Polar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3339"/> - <location filename="../src/XDirect/XDirect.cpp" line="3527"/> + <location filename="../src/XDirect/XDirect.cpp" line="3342"/> + <location filename="../src/XDirect/XDirect.cpp" line="3523"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3341"/> + <location filename="../src/XDirect/XDirect.cpp" line="3344"/> <source>XFoil Polar Format (*.*)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3349"/> - <location filename="../src/XDirect/XDirect.cpp" line="3537"/> + <location filename="../src/XDirect/XDirect.cpp" line="3352"/> + <location filename="../src/XDirect/XDirect.cpp" line="3533"/> <source>Could not read the file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3366"/> - <location filename="../src/XDirect/XDirect.cpp" line="3559"/> + <location filename="../src/XDirect/XDirect.cpp" line="3370"/> + <location filename="../src/XDirect/XDirect.cpp" line="3555"/> <source>No Foil with the name </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3367"/> - <location filename="../src/XDirect/XDirect.cpp" line="3560"/> + <location filename="../src/XDirect/XDirect.cpp" line="3371"/> + <location filename="../src/XDirect/XDirect.cpp" line="3556"/> <source> could be found. The polar(s) will not be stored</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3381"/> - <location filename="../src/XDirect/XDirect.cpp" line="3396"/> - <location filename="../src/XDirect/XDirect.cpp" line="3406"/> - <location filename="../src/XDirect/XDirect.cpp" line="3417"/> - <location filename="../src/XDirect/XDirect.cpp" line="3427"/> - <location filename="../src/XDirect/XDirect.cpp" line="3437"/> - <location filename="../src/XDirect/XDirect.cpp" line="3448"/> - <location filename="../src/XDirect/XDirect.cpp" line="3459"/> - <source>Error reading at line xx. The polar(s) will not be stored</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/XDirect/XDirect.cpp" line="3529"/> + <location filename="../src/XDirect/XDirect.cpp" line="3525"/> <source>JavaFoil Polar Format (*.*)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3646"/> + <location filename="../src/XDirect/XDirect.cpp" line="3642"/> <source>At least two foils are required</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3782"/> + <location filename="../src/XDirect/XDirect.cpp" line="3778"/> <source>The foil has been normalized from %1 to 1.000</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3991"/> + <location filename="../src/XDirect/XDirect.cpp" line="3987"/> <source>Enter the new name for the foil polar :</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="4249"/> + <location filename="../src/XDirect/XDirect.cpp" line="4245"/> <source>Polar File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="4249"/> + <location filename="../src/XDirect/XDirect.cpp" line="4245"/> <source>Polar File (*.plr)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5045"/> + <location filename="../src/XDirect/XDirect.cpp" line="5042"/> <source>Thickness = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5049"/> + <location filename="../src/XDirect/XDirect.cpp" line="5046"/> <source>Max. Thick.pos. = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5053"/> + <location filename="../src/XDirect/XDirect.cpp" line="5050"/> <source>Max. Camber = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5057"/> + <location filename="../src/XDirect/XDirect.cpp" line="5054"/> <source>Max. Camber pos. = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5061"/> + <location filename="../src/XDirect/XDirect.cpp" line="5058"/> <source>Number of Panels = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5067"/> + <location filename="../src/XDirect/XDirect.cpp" line="5064"/> <source>Flap Angle = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5071"/> + <location filename="../src/XDirect/XDirect.cpp" line="5068"/> <source>XHinge = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5076"/> + <location filename="../src/XDirect/XDirect.cpp" line="5073"/> <source>YHinge = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5096"/> + <location filename="../src/XDirect/XDirect.cpp" line="5093"/> <source>TE Hinge Moment/span = 123456789</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5105"/> + <location filename="../src/XDirect/XDirect.cpp" line="5102"/> <source>Polar Type = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5121"/> - <location filename="../src/XDirect/XDirect.cpp" line="5132"/> + <location filename="../src/XDirect/XDirect.cpp" line="5118"/> + <location filename="../src/XDirect/XDirect.cpp" line="5129"/> <source>Re.sqrt(Cl) = </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5125"/> + <location filename="../src/XDirect/XDirect.cpp" line="5122"/> <source>M.sqrt(Cl) = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5154"/> + <location filename="../src/XDirect/XDirect.cpp" line="5151"/> <source>Forced Upper Trans. = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5157"/> + <location filename="../src/XDirect/XDirect.cpp" line="5154"/> <source>Forced Lower Trans. = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5178"/> + <location filename="../src/XDirect/XDirect.cpp" line="5175"/> <source> Alpha = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5182"/> + <location filename="../src/XDirect/XDirect.cpp" line="5179"/> <source> Cl = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5186"/> + <location filename="../src/XDirect/XDirect.cpp" line="5183"/> <source> Cm = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5190"/> + <location filename="../src/XDirect/XDirect.cpp" line="5187"/> <source> Cd = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5196"/> + <location filename="../src/XDirect/XDirect.cpp" line="5193"/> <source> L/D = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5201"/> + <location filename="../src/XDirect/XDirect.cpp" line="5198"/> <source>Upper Trans. = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5205"/> + <location filename="../src/XDirect/XDirect.cpp" line="5202"/> <source>Lower Trans. = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5211"/> + <location filename="../src/XDirect/XDirect.cpp" line="5208"/> <source>TE Hinge Moment/span = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5218"/> + <location filename="../src/XDirect/XDirect.cpp" line="5215"/> <source>LE Hinge Moment/span = %1</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../src/XDirect/XDirect.cpp" line="6180"/> + <location filename="../src/XDirect/XDirect.cpp" line="6225"/> + <location filename="../src/XDirect/XDirect.cpp" line="6231"/> + <location filename="../src/XDirect/XDirect.cpp" line="6276"/> + <source>Alpha</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/XDirect/XDirect.cpp" line="6183"/> - <location filename="../src/XDirect/XDirect.cpp" line="6228"/> <location filename="../src/XDirect/XDirect.cpp" line="6234"/> - <location filename="../src/XDirect/XDirect.cpp" line="6279"/> - <source>Alpha</source> + <location filename="../src/XDirect/XDirect.cpp" line="6317"/> + <source>Cl</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/XDirect/XDirect.cpp" line="6186"/> <location filename="../src/XDirect/XDirect.cpp" line="6237"/> - <location filename="../src/XDirect/XDirect.cpp" line="6320"/> - <source>Cl</source> + <source>Cd</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/XDirect/XDirect.cpp" line="6189"/> <location filename="../src/XDirect/XDirect.cpp" line="6240"/> - <source>Cd</source> + <source>Cd x 10000</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/XDirect/XDirect.cpp" line="6192"/> <location filename="../src/XDirect/XDirect.cpp" line="6243"/> - <source>Cd x 10000</source> + <source>Cdp</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/XDirect/XDirect.cpp" line="6195"/> <location filename="../src/XDirect/XDirect.cpp" line="6246"/> - <source>Cdp</source> + <source>Cm</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/XDirect/XDirect.cpp" line="6198"/> <location filename="../src/XDirect/XDirect.cpp" line="6249"/> - <source>Cm</source> + <source>Xtr1</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/XDirect/XDirect.cpp" line="6201"/> <location filename="../src/XDirect/XDirect.cpp" line="6252"/> - <source>Xtr1</source> + <source>Xtr2</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/XDirect/XDirect.cpp" line="6204"/> <location filename="../src/XDirect/XDirect.cpp" line="6255"/> - <source>Xtr2</source> + <source>HMom</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/XDirect/XDirect.cpp" line="6207"/> <location filename="../src/XDirect/XDirect.cpp" line="6258"/> - <source>HMom</source> + <source>Cpmin</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/XDirect/XDirect.cpp" line="6210"/> <location filename="../src/XDirect/XDirect.cpp" line="6261"/> - <source>Cpmin</source> + <source>Cl/Cd</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/XDirect/XDirect.cpp" line="6213"/> <location filename="../src/XDirect/XDirect.cpp" line="6264"/> - <source>Cl/Cd</source> + <source>|Cl|^(3/2)/Cd</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/XDirect/XDirect.cpp" line="6216"/> <location filename="../src/XDirect/XDirect.cpp" line="6267"/> - <source>|Cl|^(3/2)/Cd</source> + <source>1/Rt(Cl)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/XDirect/XDirect.cpp" line="6219"/> <location filename="../src/XDirect/XDirect.cpp" line="6270"/> - <source>1/Rt(Cl)</source> + <location filename="../src/XDirect/XDirect.cpp" line="6318"/> + <source>Re</source> <translation type="unfinished"></translation> </message> <message> <location filename="../src/XDirect/XDirect.cpp" line="6222"/> <location filename="../src/XDirect/XDirect.cpp" line="6273"/> - <location filename="../src/XDirect/XDirect.cpp" line="6321"/> - <source>Re</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/XDirect/XDirect.cpp" line="6225"/> - <location filename="../src/XDirect/XDirect.cpp" line="6276"/> <source>XCp</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6327"/> + <location filename="../src/XDirect/XDirect.cpp" line="6324"/> <source>Sequence</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6330"/> + <location filename="../src/XDirect/XDirect.cpp" line="6327"/> <source>Start=</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6331"/> + <location filename="../src/XDirect/XDirect.cpp" line="6328"/> <source>End=</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6332"/> + <location filename="../src/XDirect/XDirect.cpp" line="6329"/> <source>D=</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6363"/> + <location filename="../src/XDirect/XDirect.cpp" line="6360"/> <source>Viscous</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6364"/> + <location filename="../src/XDirect/XDirect.cpp" line="6361"/> <source>Init BL</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6368"/> + <location filename="../src/XDirect/XDirect.cpp" line="6365"/> <source>Store Opp</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6369"/> + <location filename="../src/XDirect/XDirect.cpp" line="6366"/> <source>Analyze</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6381"/> + <location filename="../src/XDirect/XDirect.cpp" line="6378"/> <source>Analysis settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6386"/> + <location filename="../src/XDirect/XDirect.cpp" line="6383"/> <source>Show BL</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6387"/> + <location filename="../src/XDirect/XDirect.cpp" line="6384"/> <source>Show Pressure</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6390"/> + <location filename="../src/XDirect/XDirect.cpp" line="6387"/> <source>Animate</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6402"/> + <location filename="../src/XDirect/XDirect.cpp" line="6399"/> <source>Display</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6405"/> + <location filename="../src/XDirect/XDirect.cpp" line="6402"/> <source>Polar properties</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6414"/> + <location filename="../src/XDirect/XDirect.cpp" line="6411"/> <source>Curve</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6415"/> + <location filename="../src/XDirect/XDirect.cpp" line="6412"/> <source>Points</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6433"/> + <location filename="../src/XDirect/XDirect.cpp" line="6430"/> <source>Style</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6434"/> + <location filename="../src/XDirect/XDirect.cpp" line="6431"/> <source>Width</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6435"/> + <location filename="../src/XDirect/XDirect.cpp" line="6432"/> <source>Color</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6452"/> + <location filename="../src/XDirect/XDirect.cpp" line="6449"/> <source>Graph Curve Settings</source> <translation type="unfinished"></translation> </message> @@ -9494,280 +9514,280 @@ <context> <name>QXInverse</name> <message> - <location filename="../src/XInverse/XInverse.cpp" line="102"/> + <location filename="../src/XInverse/XInverse.cpp" line="104"/> <source>x/c</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="103"/> + <location filename="../src/XInverse/XInverse.cpp" line="105"/> <source>Q/Vinf</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="108"/> + <location filename="../src/XInverse/XInverse.cpp" line="110"/> <source>Q Graph</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="377"/> + <location filename="../src/XInverse/XInverse.cpp" line="379"/> <source>Must mark off target segment first</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="403"/> + <location filename="../src/XInverse/XInverse.cpp" line="405"/> <source>Converged</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="408"/> + <location filename="../src/XInverse/XInverse.cpp" line="410"/> <source>Unconverged</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="440"/> - <location filename="../src/XInverse/XInverse.cpp" line="1274"/> - <location filename="../src/XInverse/XInverse.cpp" line="2135"/> + <location filename="../src/XInverse/XInverse.cpp" line="442"/> + <location filename="../src/XInverse/XInverse.cpp" line="1276"/> + <location filename="../src/XInverse/XInverse.cpp" line="2137"/> <source> Modified</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="473"/> + <location filename="../src/XInverse/XInverse.cpp" line="475"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="473"/> + <location filename="../src/XInverse/XInverse.cpp" line="475"/> <source>Unrecognized foil format</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1128"/> - <location filename="../src/XInverse/XInverse.cpp" line="1134"/> + <location filename="../src/XInverse/XInverse.cpp" line="1130"/> + <location filename="../src/XInverse/XInverse.cpp" line="1136"/> <source>Drag points to modify splines, Apply, and Execute to generate the new geometry</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1377"/> + <location filename="../src/XInverse/XInverse.cpp" line="1379"/> <source>Mark target segment for modification</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1400"/> + <location filename="../src/XInverse/XInverse.cpp" line="1402"/> <source>Mark spline endpoints</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1535"/> - <location filename="../src/XInverse/XInverse.cpp" line="2200"/> - <location filename="../src/XInverse/XInverse.cpp" line="2282"/> + <location filename="../src/XInverse/XInverse.cpp" line="1537"/> + <location filename="../src/XInverse/XInverse.cpp" line="2202"/> + <location filename="../src/XInverse/XInverse.cpp" line="2284"/> <source>Alpha = </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1541"/> + <location filename="../src/XInverse/XInverse.cpp" line="1543"/> <source>Cl = </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1585"/> + <location filename="../src/XInverse/XInverse.cpp" line="1587"/> <source>Mark target segment for smoothing, or type 'Return' to smooth the entire distribution</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1817"/> + <location filename="../src/XInverse/XInverse.cpp" line="1819"/> <source> Base</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1818"/> + <location filename="../src/XInverse/XInverse.cpp" line="1820"/> <source> Mod.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1823"/> + <location filename="../src/XInverse/XInverse.cpp" line="1825"/> <source>Thickness = %1%</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1829"/> - <location filename="../src/XInverse/XInverse.cpp" line="1841"/> + <location filename="../src/XInverse/XInverse.cpp" line="1831"/> + <location filename="../src/XInverse/XInverse.cpp" line="1843"/> <source>Max.Thick.pos. = %1%</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1835"/> + <location filename="../src/XInverse/XInverse.cpp" line="1837"/> <source>Max. Camber = %1%</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1988"/> + <location filename="../src/XInverse/XInverse.cpp" line="1990"/> <source>Alpha = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1990"/> + <location filename="../src/XInverse/XInverse.cpp" line="1992"/> <source>Cl = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2052"/> + <location filename="../src/XInverse/XInverse.cpp" line="2054"/> <source>Q - Reference</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2053"/> + <location filename="../src/XInverse/XInverse.cpp" line="2055"/> <source>Q - Specification</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2054"/> + <location filename="../src/XInverse/XInverse.cpp" line="2056"/> <source>Q - Viscous</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2061"/> + <location filename="../src/XInverse/XInverse.cpp" line="2063"/> <source>Reflected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2198"/> + <location filename="../src/XInverse/XInverse.cpp" line="2200"/> <source>Alpha</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2199"/> + <location filename="../src/XInverse/XInverse.cpp" line="2201"/> <source>Cl</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2207"/> + <location filename="../src/XInverse/XInverse.cpp" line="2209"/> <source>Specification</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2211"/> - <location filename="../src/XInverse/XInverse.cpp" line="2295"/> + <location filename="../src/XInverse/XInverse.cpp" line="2213"/> + <location filename="../src/XInverse/XInverse.cpp" line="2297"/> <source>ShowSpline</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2212"/> - <location filename="../src/XInverse/XInverse.cpp" line="2296"/> + <location filename="../src/XInverse/XInverse.cpp" line="2214"/> + <location filename="../src/XInverse/XInverse.cpp" line="2298"/> <source>Tangent Spline</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2213"/> - <location filename="../src/XInverse/XInverse.cpp" line="2297"/> + <location filename="../src/XInverse/XInverse.cpp" line="2215"/> + <location filename="../src/XInverse/XInverse.cpp" line="2299"/> <source>New Spline</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2214"/> - <location filename="../src/XInverse/XInverse.cpp" line="2298"/> + <location filename="../src/XInverse/XInverse.cpp" line="2216"/> + <location filename="../src/XInverse/XInverse.cpp" line="2300"/> <source>Apply Spline</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2215"/> - <location filename="../src/XInverse/XInverse.cpp" line="2300"/> + <location filename="../src/XInverse/XInverse.cpp" line="2217"/> + <location filename="../src/XInverse/XInverse.cpp" line="2302"/> <source>Reset QSpec</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2216"/> + <location filename="../src/XInverse/XInverse.cpp" line="2218"/> <source>Pert</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2224"/> - <location filename="../src/XInverse/XInverse.cpp" line="2313"/> + <location filename="../src/XInverse/XInverse.cpp" line="2226"/> + <location filename="../src/XInverse/XInverse.cpp" line="2315"/> <source>Modification</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2228"/> + <location filename="../src/XInverse/XInverse.cpp" line="2230"/> <source>Smooth QSpec</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2229"/> + <location filename="../src/XInverse/XInverse.cpp" line="2231"/> <source>Hannig Filter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2230"/> + <location filename="../src/XInverse/XInverse.cpp" line="2232"/> <source>Filter parameter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2237"/> + <location filename="../src/XInverse/XInverse.cpp" line="2239"/> <source>Smoothing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2241"/> + <location filename="../src/XInverse/XInverse.cpp" line="2243"/> <source>T.E. Angle</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2242"/> + <location filename="../src/XInverse/XInverse.cpp" line="2244"/> <source>T.E. Gap dx/c</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2243"/> + <location filename="../src/XInverse/XInverse.cpp" line="2245"/> <source>T.E. Gap dy/c</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2259"/> + <location filename="../src/XInverse/XInverse.cpp" line="2261"/> <source>Symmetric foil</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2263"/> + <location filename="../src/XInverse/XInverse.cpp" line="2265"/> <source>Constraints</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2266"/> - <location filename="../src/XInverse/XInverse.cpp" line="2293"/> + <location filename="../src/XInverse/XInverse.cpp" line="2268"/> + <location filename="../src/XInverse/XInverse.cpp" line="2295"/> <source>Execute</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2283"/> + <location filename="../src/XInverse/XInverse.cpp" line="2285"/> <source>Cl =</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2291"/> + <location filename="../src/XInverse/XInverse.cpp" line="2293"/> <source>Mark for modification</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2292"/> + <location filename="../src/XInverse/XInverse.cpp" line="2294"/> <source>End Point Constraint</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2294"/> + <location filename="../src/XInverse/XInverse.cpp" line="2296"/> <source> </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2299"/> + <location filename="../src/XInverse/XInverse.cpp" line="2301"/> <source>Smooth</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2320"/> + <location filename="../src/XInverse/XInverse.cpp" line="2322"/> <source>Max Iterations</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2324"/> + <location filename="../src/XInverse/XInverse.cpp" line="2326"/> <source>Foil</source> <translation type="unfinished"></translation> </message> @@ -10409,54 +10429,54 @@ <context> <name>TEGapDlg</name> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="32"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="34"/> <source>T.E. Gap</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="53"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="55"/> <source>T.E. Gap Value</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="56"/> - <location filename="../src/XDirect/TEGapDlg.cpp" line="66"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="58"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="68"/> <source>% chord</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="63"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="65"/> <source>Blending Distance from L.E.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="73"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="75"/> <source>OK</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="74"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="76"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="75"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="77"/> <source>Apply</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="186"/> - <location filename="../src/XDirect/TEGapDlg.cpp" line="196"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="188"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="198"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="186"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="188"/> <source>Unrecognized foil format</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="196"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="198"/> <source>Panel number cannot exceed 300</source> <translation type="unfinished"></translation> </message> @@ -10464,49 +10484,49 @@ <context> <name>TranslatorDlg</name> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="35"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="34"/> <source>Language settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="36"/> - <location filename="../src/Misc/TranslatorDlg.cpp" line="144"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="35"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="143"/> <source>English</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="55"/> - <location filename="../src/Misc/TranslatorDlg.cpp" line="123"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="54"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="122"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="55"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="54"/> <source>The change will take effect at the next session</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="64"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="63"/> <source>Select the application's default language:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="70"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="69"/> <source>OK</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="71"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="70"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="123"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="122"/> <source>The directory </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="123"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="122"/> <source>does not exist</source> <translation type="unfinished"></translation> </message> @@ -10514,68 +10534,68 @@ <context> <name>TwoDPanelDlg</name> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="40"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="43"/> <source>Global Panel Refinement</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="42"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="45"/> <source>Number of Panels</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="43"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="46"/> <source>Panel Bunching Parameter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="44"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="47"/> <source>TE/LE Panel Density Ratio</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="45"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="48"/> <source>Refined area/LE Panel Density Ratio</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="46"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="49"/> <source>Top Side Refined Area x/c limits</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="47"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="50"/> <source>Bottom Side Refined Area x/c limits</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="88"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="91"/> <source>OK</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="89"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="92"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="90"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="93"/> <source>Apply</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="208"/> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="219"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="211"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="222"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="208"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="211"/> <source>Unrecognized foil format</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="218"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="221"/> <source>The total number of panels cannot exceed %1</source> <translation type="unfinished"></translation> </message> @@ -10628,12 +10648,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/UnitsDlg.cpp" line="94"/> + <location filename="../src/Misc/UnitsDlg.cpp" line="117"/> <source>OK</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/UnitsDlg.cpp" line="95"/> + <location filename="../src/Misc/UnitsDlg.cpp" line="118"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> @@ -11104,24 +11124,24 @@ <context> <name>WingDelegate</name> <message> - <location filename="../src/Miarex/WingDelegate.cpp" line="65"/> - <location filename="../src/Miarex/WingDelegate.cpp" line="70"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="64"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="69"/> <source>Uniform</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/WingDelegate.cpp" line="66"/> - <location filename="../src/Miarex/WingDelegate.cpp" line="71"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="65"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="70"/> <source>Cosine</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/WingDelegate.cpp" line="72"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="71"/> <source>Sine</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/WingDelegate.cpp" line="73"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="72"/> <source>-Sine</source> <translation type="unfinished"></translation> </message> @@ -11220,37 +11240,37 @@ <context> <name>XFoilAdvancedDlg</name> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="27"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="28"/> <source>XFoil Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="42"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="43"/> <source>VAccel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="51"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="52"/> <source>Iteration Limit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="61"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="62"/> <source>Re-initialize BLs after an unconverged iteration</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="62"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="63"/> <source>Show full log report for an XFoil analysis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="65"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="66"/> <source>OK</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="66"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="67"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> @@ -11258,100 +11278,100 @@ <context> <name>XFoilAnalysisDlg</name> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="33"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="36"/> <source>XFoil Analysis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="36"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="39"/> <source>Iter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="101"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="104"/> <source>Skip</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="102"/> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="536"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="105"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="539"/> <source>Cancel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="190"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="193"/> <source>Alpha = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="192"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="195"/> <source>Alfa = %1 ........ </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="198"/> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="218"/> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="436"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="201"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="221"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="439"/> <source>Invalid Analysis Settings CpCalc: local speed too large Compressibility corrections invalid </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="210"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="213"/> <source>Cl = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="213"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="216"/> <source>Cl = %1 ........ </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="301"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="304"/> <source> Initializing viscous analysis ... </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="307"/> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="346"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="310"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="349"/> <source>CpCalc: local speed too large Compressibility corrections invalid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="313"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="316"/> <source> Solving BL system ... </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="319"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="322"/> <source> Iteration %1 ... </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="356"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="359"/> <source>unconverged after %1 iterations </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="358"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="361"/> <source>--------- Unconverged ----------- </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="378"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="381"/> <source>converged after %1 iterations </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="554"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="557"/> <source>Close</source> <translation type="unfinished"></translation> </message> diff -Nru xflr5-6.05/translations/xflr5v6_de.ts xflr5-6.06/translations/xflr5v6_de.ts --- xflr5-6.05/translations/xflr5v6_de.ts 2011-07-25 02:43:09.000000000 +0900 +++ xflr5-6.06/translations/xflr5v6_de.ts 2012-01-08 00:22:13.000000000 +0900 @@ -135,67 +135,77 @@ <context> <name>AboutQ5</name> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="58"/> + <location filename="../src/Misc/AboutQ5.cpp" line="57"/> <source>Copyright (C) M. Drela and H. Youngren 2000 - XFoil v6.94</source> <translation></translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="59"/> + <location filename="../src/Misc/AboutQ5.cpp" line="58"/> <source>Copyright (C) Matthieu Scherrer 2004 - Miarex v1.00</source> <translation></translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="30"/> + <location filename="../src/Misc/AboutQ5.cpp" line="29"/> <source>About XFLR5</source> <translation>Über XFLR5</translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="60"/> - <source>Copyright (C) Andre Deperrois 2003-2011</source> + <location filename="../src/Misc/AboutQ5.cpp" line="59"/> + <source>Copyright (C) Andre Deperrois 2003-2012</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="61"/> + <location filename="../src/Misc/AboutQ5.cpp" line="60"/> <source>This program is distributed in the hope that it will be useful,</source> <translation></translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="62"/> + <location filename="../src/Misc/AboutQ5.cpp" line="61"/> <source>but WITHOUT ANY WARRANTY; without even the implied warranty of</source> <translation></translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="63"/> + <location filename="../src/Misc/AboutQ5.cpp" line="62"/> <source>MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</source> <translation></translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="64"/> + <location filename="../src/Misc/AboutQ5.cpp" line="63"/> <source>This program has been developed exclusively for the analysis of model aircraft</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="65"/> + <location filename="../src/Misc/AboutQ5.cpp" line="64"/> <source>Any other usage is strongly disapproved</source> <translation></translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="66"/> + <location filename="../src/Misc/AboutQ5.cpp" line="65"/> <source>Program distributed under the terms of the GNU General Public License</source> <translation></translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="67"/> + <location filename="../src/Misc/AboutQ5.cpp" line="66"/> <source>German translation by Martin Willner (mjw@xxxxxxxxx)</source> <translation></translation> </message> <message> + <location filename="../src/Misc/AboutQ5.cpp" line="67"/> + <source>Japanese translation by IKUSU, Koichi Akabe, Misatus, dynamicsoar, hide253</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../src/Misc/AboutQ5.cpp" line="68"/> + <source>icchy_07, ina111, ohayo_cycling, ohisa_64, ozawa64.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Misc/AboutQ5.cpp" line="69"/> <source>French translation by Jean-Luc Coulon</source> <translation></translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="70"/> + <location filename="../src/Misc/AboutQ5.cpp" line="71"/> <source>OK</source> <translation></translation> </message> @@ -801,114 +811,114 @@ <context> <name>CAddDlg</name> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="31"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="35"/> <source>Local Panel Refinement</source> <translation>Lokale Panel Verfeinerung</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="47"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="51"/> <source>Angle Criterion </source> <translation>Winkelkriterium</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="48"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="52"/> <source>Type of Spline</source> <translation>Art der Spline</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="49"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="53"/> <source>Refinement X Limits</source> <translation>Verfeinerung X Grenzen</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="50"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="54"/> <source>From</source> <translation>Von</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="51"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="55"/> <source>To</source> <translation>nach</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="58"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="62"/> <source>Uniform</source> <translation>gleichmäßig</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="59"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="63"/> <source>Arc Length</source> <translation>Bogenlänge</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="72"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="76"/> <source>Total</source> <translation>Gesamt</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="73"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="77"/> <source>Added</source> <translation>hinzugefügt</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="74"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="78"/> <source>MaxAngle</source> <translation>Maximal Winkel</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="75"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="79"/> <source>At Panel</source> <translation>bei Panel</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="78"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="82"/> <source>Accept</source> <translation>Bestätigen</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="79"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="83"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="80"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="84"/> <source>Apply</source> <translation>Anwenden</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="132"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="136"/> <source>Warning</source> <translation>Warnung</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="132"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="136"/> <source>Unrecognized foil format</source> <translation>Unbekannts Profil Format</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="146"/> - <location filename="../src/XDirect/CAddDlg.cpp" line="213"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="150"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="217"/> <source>Total number of points is %1</source> <translation>Gesamtzahl der Punkte ist %1</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="148"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="152"/> <source>(added %1 points to original foil)</source> <translation>(%1 Punkte hinzugefügt)</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="162"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="166"/> <source>Maximum panel angle is %1</source> <translation>Maximaler Panel Winkel ist %1</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="164"/> - <location filename="../src/XDirect/CAddDlg.cpp" line="210"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="168"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="214"/> <source>at panel position %1</source> <translation>bei Panel Position %1</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="208"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="212"/> <source>Maximum panel angle is %1 deg</source> <translation>Maximaler Panel Winkel ist %1</translation> </message> @@ -916,15 +926,8 @@ <context> <name>CSurface</name> <message> - <location filename="../src/Objects/Surface.cpp" line="737"/> <source>Warning</source> - <translation>Warnung</translation> - </message> - <message> - <location filename="../src/Objects/Surface.cpp" line="738"/> - <source>Continuous foils for surface do not have the same initial flap angle... aborting -</source> - <translation type="unfinished"></translation> + <translation type="obsolete">Warnung</translation> </message> <message> <source>Continous foils for surface do not have the same initial flap angle... aborting @@ -1136,12 +1139,17 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Misc/DisplaySettingsDlg.cpp" line="104"/> + <location filename="../src/Misc/DisplaySettingsDlg.cpp" line="102"/> + <source>Enable 3D transparency</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Misc/DisplaySettingsDlg.cpp" line="105"/> <source>OK</source> <translation></translation> </message> <message> - <location filename="../src/Misc/DisplaySettingsDlg.cpp" line="106"/> + <location filename="../src/Misc/DisplaySettingsDlg.cpp" line="107"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> @@ -1372,106 +1380,106 @@ <context> <name>FoilPolarDlg</name> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="34"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="36"/> <source>Foil Polar Definition</source> <translation>Profil Polar Definition</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="57"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="59"/> <source>Automatic</source> <translation>Automatisch</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="58"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="60"/> <source>User Defined</source> <translation>Benutzerdefiniert</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="59"/> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="67"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="61"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="69"/> <source>Analysis Name</source> <translation>Analyse Methode</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="71"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="73"/> <source>Type 1</source> <translation>Type 1</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="72"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="74"/> <source>Type 2</source> <translation>Type 2</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="73"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="75"/> <source>Type 3</source> <translation>Type 3</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="74"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="76"/> <source>Type 4</source> <translation>Type 4</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="79"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="81"/> <source>Analysis Type</source> <translation>Analyse Methode</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="84"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="86"/> <source>Plane Data</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="90"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="92"/> <source>Chord</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="91"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="93"/> <source>Mass</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="92"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="94"/> <source>Span</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="107"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="109"/> <source>Aerodynamic Data</source> <translation type="unfinished">Aerodynamische Daten</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="110"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="112"/> <source>Unit</source> <translation type="unfinished">Einheit</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="111"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="113"/> <source>International</source> <translation type="unfinished">International</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="112"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="114"/> <source>Imperial</source> <translation type="unfinished">Imperial</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="143"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="145"/> <source> Re =</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="145"/> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="402"/> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="418"/> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="426"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="147"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="404"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="420"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="428"/> <source>Mach =</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="162"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="164"/> <source>Reynolds and Mach Numbers</source> <translation type="unfinished"></translation> </message> @@ -1480,72 +1488,72 @@ <translation type="obsolete">Aerodynamische Daten</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="166"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="168"/> <source>OK</source> <translation>Ok</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="168"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="170"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="179"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="181"/> <source>Free transitions (e^n) method</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="180"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="182"/> <source>Forced transition:</source> <translation>Erzwungener Umschlag:</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="181"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="183"/> <source>NCrit=</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="182"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="184"/> <source>TripLocation (top)</source> <translation>Umschlagspunk (oben)</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="183"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="185"/> <source>TripLocation (bot)</source> <translation>Umschlagspunkt (unten)</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="199"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="201"/> <source>Transition settings</source> <translation>Umschlags-Einstellungen</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="277"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="279"/> <source>Analysis parameters for </source> <translation>Analyse Werte für</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="401"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="403"/> <source>Reynolds =</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="409"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="411"/> <source>Re.sqrt(Cl) =</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="410"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="412"/> <source>Ma.sqrt(Cl) =</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="417"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="419"/> <source>Re.Cl =</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="425"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="427"/> <source>Alpha =</source> <translation></translation> </message> @@ -1571,107 +1579,107 @@ <context> <name>GL3DScales</name> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="31"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="33"/> <source>3D Scales Settings</source> <translation>3D Skalierungs Einstellungen</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="71"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="73"/> <source>Auto Scales</source> <translation>Automatische Skalierung</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="76"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="78"/> <source>Min</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="77"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="79"/> <source>Max</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="68"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="70"/> <source>Cp Scale</source> <translation>Cp Skalierung</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="116"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="118"/> <source>Lift </source> <translation>Auftrieb (Lift)</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="117"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="119"/> <source>Drag </source> <translation>Widerstand (Drag)</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="118"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="120"/> <source>Velocity </source> <translation>Geschwindigkeit</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="90"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="92"/> <source>Vector Scales</source> <translation>Vektoren Skalierung</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="161"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="163"/> <source>L.E.</source> <translation>L.E (Vorderkante)</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="162"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="164"/> <source>T.E.</source> <translation>T.E.(Hinterkante)</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="163"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="165"/> <source>Y-Line</source> <translation>Y-Linie</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="138"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="140"/> <source>X-axis points</source> <translation>Punkte der X-Achse</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="139"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="141"/> <source>1st segment</source> <translation>1. Segment</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="140"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="142"/> <source>X factor</source> <translation>X Faktor</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="164"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="166"/> <source>X-Offset</source> <translation>X-Abstand (offset)</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="165"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="167"/> <source>Z-Offset</source> <translation>Z-Abstand(offset)</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="131"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="133"/> <source>Streamline length</source> <translation>Stromlinien Länge</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="155"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="157"/> <source>Start Streamline at</source> <translation>Stromlinien starten bei</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="185"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="187"/> <source>Streamlines</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="187"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="189"/> <source>Apply</source> <translation>Anwenden</translation> </message> @@ -1679,268 +1687,268 @@ <context> <name>GL3dBodyDlg</name> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="74"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="75"/> <source>Body Edition</source> <translation>Rumpf Bearbeitung</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="147"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="148"/> <source>Insert</source> <translation>Einfügen</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="148"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="149"/> <source>Remove</source> <translation>Entfernen</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="149"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="150"/> <source>Scale</source> <translation>Skalieren</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="150"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="151"/> <source>Grid Setup</source> <translation>Gitter Verwalten</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="151"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4805"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="152"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4406"/> <source>Reset Scales</source> <translation>Skalierungen zurücksetzen</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="152"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="153"/> <source>Show Current Frame Only</source> <translation>Zeige nur aktuellen Rahmen</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="154"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="155"/> <source>Inertia...</source> <translation>Trägheit...</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="156"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4837"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="157"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4438"/> <source>Undo</source> <translation>Rückgängig</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="157"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="158"/> <source>Cancels the last modifiction made to the body</source> <translation>Überspringt die letzte Änderung am Rumpf</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="160"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4838"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="161"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4439"/> <source>Redo</source> <translation>Wiederherstellen</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="161"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="162"/> <source>Restores the last cancelled modification made to the body</source> <translation>Stellt die letzte Änderung am Rumpf wieder her</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="164"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="165"/> <source>Export Body Geometry to File</source> <translation>Rumpf Geometrie in File exportieren</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="167"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="168"/> <source>Export Body Definition to File</source> <translation>Rumpf Definitionen in File exportieren</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="170"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="171"/> <source>Import Body Definition from File</source> <translation>Rumpf Definitonen von File importieren</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="173"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="174"/> <source>Translate</source> <translation>übersetzen</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="541"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="512"/> <source>Resolution cannot exceed %1</source> <translation>Auflösung kann %1 nicht übersteigen</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="542"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="513"/> <source>Warning</source> <translation>Warnung</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2678"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2506"/> <source>Frame %1</source> <translation>Rahmen %1</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2681"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2684"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2509"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2512"/> <source>Scale = %1</source> <translation>Skalierung = %1</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="3114"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="3117"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2771"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2773"/> <source>NPanels</source> <translation>NPanels</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4338"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="3941"/> <source>Body Dlg Exit</source> <translation>Rumpfverwaltung Exit</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4338"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="3941"/> <source>Save the Body ?</source> <translation>Rumpf speichern?</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4782"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4383"/> <source>Axes</source> <translation>Axen</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4783"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4384"/> <source>Light</source> <translation>Licht</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4784"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4385"/> <source>Surfaces</source> <translation>Oberflächen</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4785"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4386"/> <source>Outline</source> <translation>Kontur</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4786"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4894"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4387"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4495"/> <source>Panels</source> <translation>Panele</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4787"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4388"/> <source>Masses</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4800"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4401"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4801"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4402"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4802"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4403"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4803"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4404"/> <source>Iso</source> <translation>Iso</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4804"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4405"/> <source>Pick Center</source> <translation>Zentrum auswählen</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4831"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4432"/> <source>Clip Plane</source> <translation>Schnittebene</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4839"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4440"/> <source>Other</source> <translation>Andere</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4841"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4442"/> <source>Actions...</source> <translation>Aktionen...</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4862"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4463"/> <source>Save and Close</source> <translation>speichern und schliessen</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4864"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4465"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4883"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4484"/> <source>Flat Panels</source> <translation>Flache Panels</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4884"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4485"/> <source>BSplines</source> <translation>BSplines</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4891"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4492"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4892"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4493"/> <source>Hoop</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4893"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4494"/> <source>Degree</source> <translation>Grad</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4922"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4523"/> <source>BodyName</source> <translation>Rupf-Name</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4929"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4530"/> <source>Enter here a short description for the body</source> <translation>Geben Sie eine Beschreibung für den Rumpf an</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4930"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4531"/> <source>Description:</source> <translation>Beschreibung:</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4944"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4545"/> <source>Frames</source> <translation>Rahmen</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4945"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4546"/> <source>Frame Positions</source> <translation>Rahmen Position</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4962"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4563"/> <source>Points</source> <translation>Punkte</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4963"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4564"/> <source>Current Frame Definition</source> <translation>Aktuelle Rahmen Definition</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="5059"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4660"/> <source>Context Menu</source> <translation>Befehlsübersicht</translation> </message> @@ -1948,170 +1956,170 @@ <context> <name>GL3dWingDlg</name> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="139"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="147"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="154"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1866"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1975"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1980"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2032"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="3045"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="140"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="148"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="155"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1467"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1576"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1581"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1633"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2614"/> <source>Warning</source> <translation>Warnung</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="147"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="148"/> <source>Warning : Panel sequence is inconsistent</source> <translation>Warnung: Panel Sequenz ist inkonsistent</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1866"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1467"/> <source>The first section cannot be deleted</source> <translation>Der erste Abschnitt kann nicht gelöscht werden</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2542"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2110"/> <source>Insert after section</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2546"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2114"/> <source>Insert before section</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2660"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2228"/> <source>Symetric</source> <translation>symetrisch</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2661"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2229"/> <source>Right Side</source> <translation>rechte Seite</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2662"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2230"/> <source>Left Side</source> <translation>linke Seite</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="119"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="120"/> <source>Insert Before</source> <translation>Davor einfügen</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="58"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="59"/> <source>Wing Edition</source> <translation>Tragflächen Bearbeitung</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="118"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2865"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="119"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2433"/> <source>Reset Scales</source> <translation>Skalierungen zurücksetzen</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="120"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="121"/> <source>Insert after</source> <translation>danach einfügen</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="121"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2550"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="122"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2118"/> <source>Delete section</source> <translation>Abschnitt löschen</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="123"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="124"/> <source>Section</source> <translation>Abschnitt</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="139"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="140"/> <source>Please enter a name for the wing</source> <translation>Bitte geben Sie einen Name für die Tragfläche an</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="154"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="3045"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="155"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2614"/> <source>Too many panels Reduce the mesh size</source> <translation>Zu viele Panele\nBitte reduzieren sie die Gittergröße</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="160"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="161"/> <source>Only 10 flaps x 2 will be handled</source> <translation>Es werden nur 10 Klappen x2 verwaltet</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="161"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2375"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="162"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1961"/> <source>Question</source> <translation>Frage</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="366"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="374"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2347"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2362"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="348"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="356"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1933"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1948"/> <source>Uniform</source> <translation>Gleichmäßig</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="367"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="375"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2348"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2363"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="349"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="357"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1934"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1949"/> <source>Cosine</source> <translation>COSinus</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="376"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2349"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2364"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="358"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1935"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1950"/> <source>Sine</source> <translation>SINus</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="377"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2350"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2365"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="359"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1936"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1951"/> <source>-Sine</source> <translation>-SINus</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1467"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1099"/> <source>y (</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1468"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1100"/> <source>chord (</source> <translation>Flügeltiefe (</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1469"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1101"/> <source>offset (</source> <translation>Abstand (</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1975"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2032"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1576"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1633"/> <source>The maximum number of panels has been reached</source> <translation>Die Maximalanzahl von Panels wurde erreicht</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1980"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1581"/> <source>No insertion possible before the first section</source> <translation>Kein einfügen vor dieser Position ist möglich</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2269"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1855"/> <source>Wing Description</source> <translation>Tragflächenbeschreibung</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2374"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1960"/> <source>Save the changes ?</source> <translation>Änderungen speichern?</translation> </message> @@ -2128,7 +2136,7 @@ <translation type="obsolete">Löschen von Abschnitt %1</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2615"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2183"/> <source>Undefined</source> <translation>Undefiniert</translation> </message> @@ -2141,33 +2149,33 @@ <translation type="obsolete">Abschnitt löschen</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2676"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2244"/> <source>WingName</source> <translation>Tragflächen Name</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2726"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2294"/> <source>Wing Span</source> <translation>Trangflächen-Spannweite</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2727"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2295"/> <source>Area</source> <translation>Fläche</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2728"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2296"/> <source>Projected Span</source> <translation>Projizierte Spannweite</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2729"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2297"/> <source>Projected Area</source> <translation>Projizierte Fläche</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2768"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2772"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2336"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2340"/> <source>Max is </source> <translation>Maximum ist</translation> </message> @@ -2176,12 +2184,12 @@ <translation type="obsolete">Volumen</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2730"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2298"/> <source>Total VLM Panels</source> <translation>Anzahl der gesamten LVM Panels</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2731"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2299"/> <source>Number of 3D Panels</source> <translation>Gesamtzahl der 3D Panels</translation> </message> @@ -2194,137 +2202,137 @@ <translation type="obsolete">Max ist 2000</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2777"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2345"/> <source>Mean Geom. Chord</source> <translation>Mittlere Geometrische Flügeltiefe </translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2778"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2346"/> <source>Mean Aero Chord</source> <translation>Mittlere Aerodynamische Flügeltiefe</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2779"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2347"/> <source>MAC Span Pos</source> <translation>M.A.C. Spantenposition</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2780"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2348"/> <source>Aspect ratio</source> <translation>Streckungs Verhältnis</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2781"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2349"/> <source>Taper Ratio</source> <translation>Aufweitungsverhältnis</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2782"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2350"/> <source>Root to Tip Sweep</source> <translation>Wurzel-Spitzen Rückfall (Root to Tip sweep)</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2783"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2351"/> <source>Number of Flaps</source> <translation>Anzahl der Klappen</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2831"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2399"/> <source>Enter here a short description for the wing</source> <translation>Kurzbeschreibung der Tragfläche</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2833"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2401"/> <source>Description:</source> <translation>Beschreibung:</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2840"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2408"/> <source>Axes</source> <translation>Axen</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2841"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2409"/> <source>Light</source> <translation>Licht</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2842"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2410"/> <source>Surfaces</source> <translation>Oberflächen</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2843"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2411"/> <source>Outline</source> <translation>Kontur</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2844"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2412"/> <source>Panels</source> <translation>Panels</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2845"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2413"/> <source>Foil Names</source> <translation>Profil Namen</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2846"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2414"/> <source>Masses</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2860"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2428"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2861"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2429"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2862"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2430"/> <source>Z</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2863"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2431"/> <source>Iso</source> <translation>Isometrisch</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2864"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2432"/> <source>Pick Center</source> <translation>Zentrum auswählen</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2892"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2460"/> <source>Clip Plane</source> <translation>Ebenenschnitt</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2898"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2466"/> <source>Reset Mesh</source> <translation>Gitter zurücksetzen</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2899"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2467"/> <source>Scale Wing</source> <translation>Tragfläche skalieren</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2900"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2468"/> <source>Inertia...</source> <translation>Trägheit...</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2909"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2477"/> <source>Save and Close</source> <translation>speichern und schliessen</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2911"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2479"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> @@ -2336,85 +2344,85 @@ <context> <name>GLLightDlg</name> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="59"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="49"/> <source>OpenGL Light Options</source> <translation>OpenGL Lichtoptionen</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="168"/> - <location filename="../src/Miarex/GLLightDlg.cpp" line="207"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="160"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="205"/> <source>Diffuse</source> <translation>diffus</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="169"/> - <location filename="../src/Miarex/GLLightDlg.cpp" line="208"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="161"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="206"/> <source>Ambient</source> <translation>Umgebung</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="170"/> - <location filename="../src/Miarex/GLLightDlg.cpp" line="209"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="162"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="207"/> <source>Specular</source> <translation>Specular</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="177"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="157"/> <source>Light Intensity</source> <translation>Licht Intensität</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="181"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="175"/> <source>Red</source> <translation>Rot</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="182"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="176"/> <source>Green</source> <translation>Grün</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="183"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="177"/> <source>Blue</source> <translation>Blau</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="190"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="172"/> <source>Light Color</source> <translation>Licht Farbe</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="194"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="190"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="195"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="191"/> <source>y</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="196"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="192"/> <source>z</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="203"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="187"/> <source>Light Position</source> <translation>Licht Position</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="210"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="208"/> <source>Emissions</source> <translation>Ausstoß</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="211"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="209"/> <source>Shininess</source> <translation>Glanz</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="222"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="202"/> <source>Material</source> <translation>Material</translation> </message> @@ -2449,22 +2457,22 @@ <translation>Lokale Ansicht</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="238"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="223"/> <source>Options</source> <translation>Optionen</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="242"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="243"/> <source>Close</source> <translation>Schließen</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="243"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="244"/> <source>Reset Defaults</source> <translation>Standardwerte zurücksetzen</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="270"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="280"/> <source>Light</source> <translation type="unfinished">Licht</translation> </message> @@ -2478,7 +2486,7 @@ </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="113"/> - <location filename="../src/Graph/GraphDlg.cpp" line="275"/> + <location filename="../src/Graph/GraphDlg.cpp" line="277"/> <source>X - Chord</source> <translation>X - Abschnitt</translation> </message> @@ -2495,7 +2503,7 @@ </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="120"/> - <location filename="../src/Graph/GraphDlg.cpp" line="276"/> + <location filename="../src/Graph/GraphDlg.cpp" line="278"/> <source>Cp</source> <translation>Cp</translation> </message> @@ -2503,7 +2511,7 @@ <location filename="../src/Graph/GraphDlg.cpp" line="126"/> <location filename="../src/Graph/GraphDlg.cpp" line="142"/> <location filename="../src/Graph/GraphDlg.cpp" line="182"/> - <location filename="../src/Graph/GraphDlg.cpp" line="229"/> + <location filename="../src/Graph/GraphDlg.cpp" line="230"/> <source>Alpha</source> <translation>Alpha</translation> </message> @@ -2624,14 +2632,14 @@ <message> <location filename="../src/Graph/GraphDlg.cpp" line="168"/> <location filename="../src/Graph/GraphDlg.cpp" line="185"/> - <location filename="../src/Graph/GraphDlg.cpp" line="232"/> + <location filename="../src/Graph/GraphDlg.cpp" line="233"/> <source>Induced drag coef.</source> <translation></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="169"/> <location filename="../src/Graph/GraphDlg.cpp" line="186"/> - <location filename="../src/Graph/GraphDlg.cpp" line="233"/> + <location filename="../src/Graph/GraphDlg.cpp" line="234"/> <source>Total drag coef.</source> <translation></translation> </message> @@ -2673,275 +2681,289 @@ </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="177"/> - <location filename="../src/Graph/GraphDlg.cpp" line="210"/> - <location filename="../src/Graph/GraphDlg.cpp" line="257"/> + <location filename="../src/Graph/GraphDlg.cpp" line="211"/> + <location filename="../src/Graph/GraphDlg.cpp" line="259"/> <source>Bending moment</source> <translation>Biegemoment</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="183"/> - <location filename="../src/Graph/GraphDlg.cpp" line="230"/> + <location filename="../src/Graph/GraphDlg.cpp" line="231"/> <source>Lift coef.</source> <translation></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="184"/> - <location filename="../src/Graph/GraphDlg.cpp" line="231"/> + <location filename="../src/Graph/GraphDlg.cpp" line="232"/> <source>Viscous drag coef.</source> <translation></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="188"/> - <location filename="../src/Graph/GraphDlg.cpp" line="235"/> + <location filename="../src/Graph/GraphDlg.cpp" line="236"/> <source>Total pitching moment coef.</source> <translation></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="189"/> - <location filename="../src/Graph/GraphDlg.cpp" line="236"/> + <location filename="../src/Graph/GraphDlg.cpp" line="237"/> <source>Viscous pitching moment coef.</source> <translation>Reibungsbehafter Kippmoment Koeffizient</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="190"/> - <location filename="../src/Graph/GraphDlg.cpp" line="237"/> + <location filename="../src/Graph/GraphDlg.cpp" line="238"/> <source>Induced pitching moment coef.</source> <translation>Kippmoment Koeffizeint aufgund des induzierten Widerstandes </translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="191"/> - <location filename="../src/Graph/GraphDlg.cpp" line="238"/> + <location filename="../src/Graph/GraphDlg.cpp" line="239"/> <source>Total rolling moment coef.</source> <translation>Gesamt Rollmoment Koeffizient</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="192"/> - <location filename="../src/Graph/GraphDlg.cpp" line="239"/> + <location filename="../src/Graph/GraphDlg.cpp" line="240"/> <source>Total yawing moment coef.</source> <translation>Gesamter Giermoment Koeffizient</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="193"/> - <location filename="../src/Graph/GraphDlg.cpp" line="240"/> + <location filename="../src/Graph/GraphDlg.cpp" line="241"/> <source>Viscous yawing moment coef.</source> <translation>Reibungsbehafteter Giermoment Koeffizient</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="194"/> - <location filename="../src/Graph/GraphDlg.cpp" line="241"/> + <location filename="../src/Graph/GraphDlg.cpp" line="242"/> <source>Induced yawing moment coef.</source> <translation>Induzierter Widerstand Giermoment Koeffizient</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="196"/> - <location filename="../src/Graph/GraphDlg.cpp" line="243"/> + <location filename="../src/Graph/GraphDlg.cpp" line="244"/> <source>Glide ratio Cl/Cd</source> <translation>Gleitverhältnis Cl/Cd</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="197"/> - <location filename="../src/Graph/GraphDlg.cpp" line="244"/> + <location filename="../src/Graph/GraphDlg.cpp" line="245"/> <source>Power factor Cl^(3/2)/Cd</source> <translation>Leistungsfaktor Cl^(3/2)/Cd</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="198"/> - <location filename="../src/Graph/GraphDlg.cpp" line="245"/> + <location filename="../src/Graph/GraphDlg.cpp" line="246"/> <source>1/Rt(Cl)</source> <translation>1/Rt(Cl)</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="199"/> - <location filename="../src/Graph/GraphDlg.cpp" line="246"/> - <source>Lift</source> - <translation>Auftrieb</translation> + <location filename="../src/Graph/GraphDlg.cpp" line="247"/> + <source>FX (Drag)</source> + <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="200"/> - <location filename="../src/Graph/GraphDlg.cpp" line="247"/> - <source>Drag</source> - <translation>Widerstand</translation> + <location filename="../src/Graph/GraphDlg.cpp" line="248"/> + <source>FY (Side force)</source> + <translation type="unfinished"></translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="201"/> - <location filename="../src/Graph/GraphDlg.cpp" line="248"/> + <location filename="../src/Graph/GraphDlg.cpp" line="249"/> + <source>FZ (Lift)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Lift</source> + <translation type="obsolete">Auftrieb</translation> + </message> + <message> + <source>Drag</source> + <translation type="obsolete">Widerstand</translation> + </message> + <message> + <location filename="../src/Graph/GraphDlg.cpp" line="202"/> + <location filename="../src/Graph/GraphDlg.cpp" line="250"/> <source>Vx</source> <translation></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="202"/> - <location filename="../src/Graph/GraphDlg.cpp" line="249"/> + <location filename="../src/Graph/GraphDlg.cpp" line="203"/> + <location filename="../src/Graph/GraphDlg.cpp" line="251"/> <source>Vz</source> <translation></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="203"/> - <location filename="../src/Graph/GraphDlg.cpp" line="250"/> + <location filename="../src/Graph/GraphDlg.cpp" line="204"/> + <location filename="../src/Graph/GraphDlg.cpp" line="252"/> <source>VInf</source> <translation></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="204"/> - <location filename="../src/Graph/GraphDlg.cpp" line="251"/> + <location filename="../src/Graph/GraphDlg.cpp" line="205"/> + <location filename="../src/Graph/GraphDlg.cpp" line="253"/> <source>Descent angle atan(Cd/Cl)</source> <translation>Gleitwinkel atan(Cd/Cl)</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="205"/> - <location filename="../src/Graph/GraphDlg.cpp" line="252"/> + <location filename="../src/Graph/GraphDlg.cpp" line="206"/> + <location filename="../src/Graph/GraphDlg.cpp" line="254"/> <source>Pitching Moment</source> <translation>Kippmoment</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="206"/> - <location filename="../src/Graph/GraphDlg.cpp" line="253"/> + <location filename="../src/Graph/GraphDlg.cpp" line="207"/> + <location filename="../src/Graph/GraphDlg.cpp" line="255"/> <source>Rolling Moment</source> <translation>Rollmoment</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="207"/> - <location filename="../src/Graph/GraphDlg.cpp" line="254"/> + <location filename="../src/Graph/GraphDlg.cpp" line="208"/> + <location filename="../src/Graph/GraphDlg.cpp" line="256"/> <source>Yawing Moment</source> <translation>Giermoment</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="208"/> - <location filename="../src/Graph/GraphDlg.cpp" line="255"/> + <location filename="../src/Graph/GraphDlg.cpp" line="209"/> + <location filename="../src/Graph/GraphDlg.cpp" line="257"/> <source>Centre of pressure X-Pos</source> <translation>Druckpunkt X-Pos</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="209"/> - <location filename="../src/Graph/GraphDlg.cpp" line="256"/> + <location filename="../src/Graph/GraphDlg.cpp" line="210"/> + <location filename="../src/Graph/GraphDlg.cpp" line="258"/> <source>Centre of pressure Y-Pos</source> <translation>Druckpunkt Y-Pos</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="211"/> - <location filename="../src/Graph/GraphDlg.cpp" line="258"/> + <location filename="../src/Graph/GraphDlg.cpp" line="212"/> + <location filename="../src/Graph/GraphDlg.cpp" line="260"/> <source>m.g.Vz</source> <translation></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="212"/> - <location filename="../src/Graph/GraphDlg.cpp" line="259"/> + <location filename="../src/Graph/GraphDlg.cpp" line="213"/> + <location filename="../src/Graph/GraphDlg.cpp" line="261"/> <source>Efficiency</source> <translation>Effizienz</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="213"/> - <location filename="../src/Graph/GraphDlg.cpp" line="260"/> + <location filename="../src/Graph/GraphDlg.cpp" line="214"/> + <location filename="../src/Graph/GraphDlg.cpp" line="262"/> <source>(XCp-Xcg)/MAC</source> <translation></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="214"/> - <location filename="../src/Graph/GraphDlg.cpp" line="261"/> + <location filename="../src/Graph/GraphDlg.cpp" line="215"/> + <location filename="../src/Graph/GraphDlg.cpp" line="263"/> <source>Control Variable</source> <translation>Kontroll-Variable</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="215"/> - <location filename="../src/Graph/GraphDlg.cpp" line="262"/> + <location filename="../src/Graph/GraphDlg.cpp" line="216"/> + <location filename="../src/Graph/GraphDlg.cpp" line="264"/> <source>Cy - Lateral force coef.</source> <translation></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="216"/> - <location filename="../src/Graph/GraphDlg.cpp" line="263"/> + <location filename="../src/Graph/GraphDlg.cpp" line="217"/> + <location filename="../src/Graph/GraphDlg.cpp" line="265"/> <source>Neutral Point x-position</source> <translation>Neutralpunkt x-Position</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="217"/> - <location filename="../src/Graph/GraphDlg.cpp" line="264"/> + <location filename="../src/Graph/GraphDlg.cpp" line="218"/> + <location filename="../src/Graph/GraphDlg.cpp" line="266"/> <source>Phugoid Frequency</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="218"/> - <location filename="../src/Graph/GraphDlg.cpp" line="265"/> + <location filename="../src/Graph/GraphDlg.cpp" line="219"/> + <location filename="../src/Graph/GraphDlg.cpp" line="267"/> <source>Phugoid Damping</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="219"/> - <location filename="../src/Graph/GraphDlg.cpp" line="266"/> + <location filename="../src/Graph/GraphDlg.cpp" line="220"/> + <location filename="../src/Graph/GraphDlg.cpp" line="268"/> <source>Short Period Frequency</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="220"/> - <location filename="../src/Graph/GraphDlg.cpp" line="267"/> + <location filename="../src/Graph/GraphDlg.cpp" line="221"/> + <location filename="../src/Graph/GraphDlg.cpp" line="269"/> <source>Short Period Damping</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="221"/> - <location filename="../src/Graph/GraphDlg.cpp" line="268"/> + <location filename="../src/Graph/GraphDlg.cpp" line="222"/> + <location filename="../src/Graph/GraphDlg.cpp" line="270"/> <source>Dutch Roll Frequency</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="222"/> - <location filename="../src/Graph/GraphDlg.cpp" line="269"/> + <location filename="../src/Graph/GraphDlg.cpp" line="223"/> + <location filename="../src/Graph/GraphDlg.cpp" line="271"/> <source>Dutch Roll Damping</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="223"/> - <location filename="../src/Graph/GraphDlg.cpp" line="270"/> + <location filename="../src/Graph/GraphDlg.cpp" line="224"/> + <location filename="../src/Graph/GraphDlg.cpp" line="272"/> <source>Roll Damping</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="224"/> - <location filename="../src/Graph/GraphDlg.cpp" line="271"/> + <location filename="../src/Graph/GraphDlg.cpp" line="225"/> + <location filename="../src/Graph/GraphDlg.cpp" line="273"/> <source>Spiral Damping</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="860"/> + <location filename="../src/Graph/GraphDlg.cpp" line="858"/> <source>Restore</source> <translation>Wiederherstellen</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="861"/> + <location filename="../src/Graph/GraphDlg.cpp" line="859"/> <source>OK</source> <translation>Ok</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="863"/> + <location filename="../src/Graph/GraphDlg.cpp" line="861"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="865"/> + <location filename="../src/Graph/GraphDlg.cpp" line="863"/> <source>Apply</source> <translation>Anwenden</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="888"/> + <location filename="../src/Graph/GraphDlg.cpp" line="886"/> <source>YAxis</source> <translation></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="889"/> + <location filename="../src/Graph/GraphDlg.cpp" line="887"/> <source>vs.</source> <translation></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="890"/> + <location filename="../src/Graph/GraphDlg.cpp" line="888"/> <source>XAxis</source> <translation></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="922"/> + <location filename="../src/Graph/GraphDlg.cpp" line="920"/> <source>Title</source> <translation>Titel</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="923"/> + <location filename="../src/Graph/GraphDlg.cpp" line="921"/> <source>Label</source> <translation>Bezeichnung</translation> </message> @@ -2950,22 +2972,22 @@ <translation type="obsolete">Legende</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="924"/> + <location filename="../src/Graph/GraphDlg.cpp" line="922"/> <source>Font</source> <translation>Schriftart</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="925"/> + <location filename="../src/Graph/GraphDlg.cpp" line="923"/> <source>Color</source> <translation>Farbe</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="935"/> + <location filename="../src/Graph/GraphDlg.cpp" line="933"/> <source>Set Title Font</source> <translation>Setze Titel Font</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="936"/> + <location filename="../src/Graph/GraphDlg.cpp" line="934"/> <source>Set Label Font</source> <translation>Setze Beschriftungs Font</translation> </message> @@ -2974,12 +2996,12 @@ <translation type="obsolete">Setze Legenden Font</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="940"/> + <location filename="../src/Graph/GraphDlg.cpp" line="938"/> <source>Title Color</source> <translation>Titel Farbe</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="941"/> + <location filename="../src/Graph/GraphDlg.cpp" line="939"/> <source>Label Color</source> <translation>Beschreiftungs Farbe</translation> </message> @@ -2988,114 +3010,114 @@ <translation type="obsolete">Legenden Farbe</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="948"/> + <location filename="../src/Graph/GraphDlg.cpp" line="946"/> <source>Fonts</source> <translation>Schriftart</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="953"/> + <location filename="../src/Graph/GraphDlg.cpp" line="951"/> <source>Graph Background</source> <translation>Hintergrundfarbe</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="955"/> + <location filename="../src/Graph/GraphDlg.cpp" line="953"/> <source>Graph Border</source> <translation>Randfarbe</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="968"/> + <location filename="../src/Graph/GraphDlg.cpp" line="966"/> <source>BackGround</source> <translation>Hintergrund</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="984"/> + <location filename="../src/Graph/GraphDlg.cpp" line="982"/> <source>X Axis</source> <translation>X-Achse</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="985"/> + <location filename="../src/Graph/GraphDlg.cpp" line="983"/> <source>Y Axis</source> <translation>Y-Achse</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="989"/> + <location filename="../src/Graph/GraphDlg.cpp" line="987"/> <source>Min</source> <translation></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="990"/> + <location filename="../src/Graph/GraphDlg.cpp" line="988"/> <source>Max</source> <translation></translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="991"/> + <location filename="../src/Graph/GraphDlg.cpp" line="989"/> <source>Origin</source> <translation>Ursprung</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="992"/> + <location filename="../src/Graph/GraphDlg.cpp" line="990"/> <source>Unit</source> <translation>Einheit</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1003"/> - <location filename="../src/Graph/GraphDlg.cpp" line="1017"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1001"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1015"/> <source>Auto Scale</source> <translation>Automatische Skalierung</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1016"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1014"/> <source>Inverted Axis</source> <translation>Invertierte Achsen</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1035"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1033"/> <source>Axis Style</source> <translation>Achsen Gestalltung</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1037"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1035"/> <source>X Major Grid</source> <translation>X-Hauptgitter</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1038"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1036"/> <source>Y Major Grid</source> <translation>Y-Hauptgitter</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1039"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1037"/> <source>X Minor Grid</source> <translation>X-Untergitter</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1040"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1038"/> <source>Y Minor Grid</source> <translation>Y-Untergitter</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1041"/> - <location filename="../src/Graph/GraphDlg.cpp" line="1042"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1039"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1040"/> <source>Auto Unit</source> <translation>Automatische Skalierung</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1075"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1073"/> <source>Variables</source> <translation>Variablen</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1076"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1074"/> <source>Scales</source> <translation>Skalierungen</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1077"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1075"/> <source>Axis and Grids</source> <translation>Achsen und Gitter</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1078"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1076"/> <source>Fonts and BackGround</source> <translation>Schriftart und Hintergrund</translation> </message> @@ -3126,7 +3148,7 @@ <context> <name>InertiaDlg</name> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="40"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="42"/> <source>Inertia Properties</source> <translation>Trägheits Eigenschaften</translation> </message> @@ -3135,42 +3157,42 @@ <translation type="obsolete">Beschreibung %1</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1017"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="319"/> <source>Mass</source> <translation>Massa</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1019"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="320"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1020"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="321"/> <source>y</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1021"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="322"/> <source>z</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1022"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="323"/> <source>Description</source> <translation>Beschreibung</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="337"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="347"/> <source>Wing Mass:</source> <translation>Tragflächen Masse:</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="352"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="362"/> <source>Body Mass:</source> <translation>Rumpf Masse:</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="374"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="384"/> <source>Volume Mass:</source> <translation>Volumsmassa:</translation> </message> @@ -3203,49 +3225,49 @@ <translation type="obsolete">%1 %2 %3 %4 %5 %6 %7 ! Körper Trägheit</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="859"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="869"/> <source>This is a calculation form for a rough order of magnitude for the inertia tensor.</source> <translation>Die Berechnung ist nur eine grobe Überschlagsrechnung für den Trägheitstensor.</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="456"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="466"/> <source>Export Mass Properties</source> <translation>Massen Eigenschaften exportieren</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="62"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="64"/> <source>Insert Before</source> <translation type="unfinished">Davor einfügen</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="63"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="65"/> <source>Delete</source> <translation type="unfinished">Löschen</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="65"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="67"/> <source>Point Mass</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="339"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="354"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="381"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="349"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="364"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="391"/> <source>Inertia properties for </source> <translation>Trängsheits Eigenschaften für</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="457"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="467"/> <source>AVL Mass File (*.mass)</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="515"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="525"/> <source>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10! Inertia of both left and right wings</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="528"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="538"/> <source>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ! Body inertia</source> <translation>%1 %2 %3 %4 %5 %6 %7 ! Rumpf Trägheit {1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ?}</translation> </message> @@ -3266,98 +3288,98 @@ <translation type="obsolete">%1 %2 %3 %4 %5 %6 %7 ! Seitenruder Trägheit {1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ?}</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="568"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="578"/> <source>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ! Body's inertia</source> <translation>%1 %2 %3 %4 %5 %6 %7 ! Körper Trägheit {1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ?}</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="860"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="870"/> <source>Refer to the Guidelines for explanations.</source> <translation>Bitte lesen Sie das Handbuch für Details.</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="867"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="877"/> <source>Object Mass - Volume only, excluding point masses</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="870"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="880"/> <source>Wing Mass=</source> <translation>Tragflächen Masse =</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="956"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="966"/> <source>Component inertias</source> <translation>Trägheit der Bestandteile</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="959"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="969"/> <source>Main Wing</source> <translation>Haupt-Tragfläche</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="960"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="970"/> <source>Second Wing</source> <translation>2. Tragfläche</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="961"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="971"/> <source>Elevator</source> <translation>Höhenruder</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="962"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="972"/> <source>Fin</source> <translation>Seitenruder</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="963"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="973"/> <source>Body</source> <translation>Rumpf</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="995"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1005"/> <source>Additional Point Masses</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1044"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1046"/> <source>Total Mass = Volume + point masses</source> <translation>Gesamt Masse = Volumen + Punkt Massen</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1047"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1049"/> <source>Total Mass=</source> <translation>Gesamt Masse =</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1137"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1139"/> <source>OK</source> <translation>Ok</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1138"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1140"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="874"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="877"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1052"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1055"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="884"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="887"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1054"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1057"/> <source>Center of gravity</source> <translation>Schwerpunkt</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="549"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="559"/> <source>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ! </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="913"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="932"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1091"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1110"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="923"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="942"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1093"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1112"/> <source>Inertia in CoG Frame</source> <translation>Trägheit im Rahmen des Schwerpunktes</translation> </message> @@ -3366,7 +3388,7 @@ <translation type="obsolete">Zusätzliche Punktmassen:</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1136"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1138"/> <source>Export to AVL</source> <translation>Nach AVL exportieren</translation> </message> @@ -3378,81 +3400,81 @@ <context> <name>InterpolateFoilsDlg</name> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="33"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="35"/> <source>Interpolate Foils</source> <translation>Profile interpolieren</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="54"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="56"/> <source>Camb1</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="55"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="57"/> <source>Camb2</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="56"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="58"/> <source>Camb3</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="57"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="59"/> <source>Thick1</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="58"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="60"/> <source>Thick2</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="59"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="61"/> <source>Thick3</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="75"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="77"/> <source>New Foil Name</source> <translation>Neuer Profilname</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="79"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="81"/> <source>Interpolated Foil</source> <translation>Interpolierte Tragfläche</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="97"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="99"/> <source>OK</source> <translation>Ok</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="98"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="100"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="186"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="215"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="266"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="188"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="217"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="268"/> <source>Camb.=%1</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="188"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="195"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="217"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="224"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="268"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="275"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="190"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="197"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="219"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="226"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="270"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="277"/> <source> at x=%1</source> <translation>bei x=%1</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="193"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="222"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="273"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="195"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="224"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="275"/> <source>Thick.=%1</source> <translation>Dicke =%1</translation> </message> @@ -3598,132 +3620,132 @@ <context> <name>LLTAnalysisDlg</name> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="34"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="40"/> <source>LLT Analysis</source> <translation>LLT Analyse</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="37"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="43"/> <source>Iterations</source> <translation>Iterationen</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="51"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="57"/> <source>abs</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="91"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="426"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="97"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="432"/> <source>Launching analysis....</source> <translation>Starte Analyse....</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="93"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="428"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="99"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="434"/> <source>Max iterations = %1</source> <translation>Maximale Iterationen = %1</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="95"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="430"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="101"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="436"/> <source>Alpha precision = %1 deg</source> <translation>Alpha Genauigkeit = %1 deg</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="97"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="432"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="103"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="438"/> <source>Relaxation factor = %1</source> <translation>Relaxation Faktor = %1</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="99"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="434"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="105"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="440"/> <source>Number of stations = %1</source> <translation>Anzahl der Stützpunkte = %1</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="120"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="458"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="126"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="464"/> <source>Analysis cancelled on user request....</source> <translation>Analyse auf Wunsch des Benutzers abgebrochen</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="132"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="138"/> <source>Calculating Alpha = %1... </source> <translation>Berechne Alpha = %1...</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="147"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="153"/> <source> ...negative Lift... Aborting</source> <translation>...negativer Auftrieb...abbruch</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="155"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="493"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="161"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="499"/> <source> ...converged after %1 iterations</source> <translation>...Konvergenz nach %1 Iterationen</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="172"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="178"/> <source> ...unconverged after %2 iterations</source> <translation>...keine Konvergenz nach %2 Iterationen</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="139"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="484"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="145"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="490"/> <source>Alpha = %1, skipped after %2 iterations </source> <translation>Alpha = %1, übersprungen nach %2 Iterationen</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="140"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="485"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="146"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="491"/> <source>QInf = %1 skipped after %2 iterations </source> <translation>QInf = %1 übersprungen nach %2 Iterationen</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="321"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="327"/> <source>Skip</source> <translation>überspringen</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="322"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="349"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="328"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="355"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="375"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="381"/> <source>Analysis completed</source> <translation>Analyse beendet</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="376"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="382"/> <source> ...some points are outside the flight envelope</source> <translation>...einige Punkte sind außerhalb des Flugbereiches!</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="377"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="383"/> <source> ...some points are unconverged</source> <translation>...einige Punkte sind nicht konvergiert</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="382"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="388"/> <source>Close</source> <translation>Schließen</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="442"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="448"/> <source>Initializing analysis...</source> <translation>Starte Analyse...</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="469"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="475"/> <source>Calculating QInf = %1... </source> <translation>Berechne QInf = %1...</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="515"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="521"/> <source> ...unconverged after %1 iterations</source> <translation>... keine Konvergenz nach %1 Iterationen</translation> </message> @@ -3731,32 +3753,32 @@ <context> <name>LinePickerDlg</name> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="29"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="35"/> <source>Line Picker</source> <translation></translation> </message> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="219"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="223"/> <source>Style</source> <translation>Darstellung</translation> </message> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="220"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="224"/> <source>Width</source> <translation>Breite</translation> </message> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="221"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="225"/> <source>Color</source> <translation>Farbe</translation> </message> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="243"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="247"/> <source>OK</source> <translation>Ok</translation> </message> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="244"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="248"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> @@ -3764,12 +3786,12 @@ <context> <name>MainFrame</name> <message> - <location filename="../src/MainFrame.cpp" line="397"/> + <location filename="../src/MainFrame.cpp" line="403"/> <source>Save the project before exit ?</source> <translation>Projekt vor verlassen speichern?</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="431"/> + <location filename="../src/MainFrame.cpp" line="437"/> <source>New Project</source> <translation>Neues Projekt</translation> </message> @@ -3778,12 +3800,12 @@ <translation type="obsolete">Ctrl+N</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="433"/> + <location filename="../src/MainFrame.cpp" line="439"/> <source>Save and close the current project, create a new project</source> <translation>Aktuelles Projekt peichern und schliessen, erzeugt neues Projekt</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="436"/> + <location filename="../src/MainFrame.cpp" line="442"/> <source>Close the Project</source> <translation>Aktuelles Projekt schliessen</translation> </message> @@ -3792,12 +3814,12 @@ <translation type="obsolete">Ctrl+W</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="438"/> + <location filename="../src/MainFrame.cpp" line="444"/> <source>Save and close the current project</source> <translation>Aktuelles Projekt speichern und schliessen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="441"/> + <location filename="../src/MainFrame.cpp" line="447"/> <source>&Open...</source> <translation>&Öffnen...</translation> </message> @@ -3806,22 +3828,22 @@ <translation type="obsolete">Ctrl+O</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="443"/> + <location filename="../src/MainFrame.cpp" line="449"/> <source>Open an existing file</source> <translation>Bestehenden File öffnen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="446"/> + <location filename="../src/MainFrame.cpp" line="452"/> <source>&Insert Project...</source> <translation>Projekt e&infügen...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="447"/> + <location filename="../src/MainFrame.cpp" line="453"/> <source>Insert an existing project in the current project</source> <translation>Bestehendes Projekt in aktives Projekt einfügen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="450"/> + <location filename="../src/MainFrame.cpp" line="456"/> <source>&Direct Foil Design</source> <translation>&Direct Foil Design</translation> </message> @@ -3830,12 +3852,12 @@ <translation type="obsolete">Ctrl+1</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="452"/> + <location filename="../src/MainFrame.cpp" line="458"/> <source>Open Foil Design application</source> <translation>Öffne Profil Design Applikation</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="455"/> + <location filename="../src/MainFrame.cpp" line="461"/> <source>&XFoil Inverse Design</source> <translation>&XFoil Inverse Design</translation> </message> @@ -3844,12 +3866,12 @@ <translation type="obsolete">Ctrl+3</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="457"/> + <location filename="../src/MainFrame.cpp" line="463"/> <source>Open XFoil inverse analysis application</source> <translation>Öffnen XFoil invserse Analyse Applikation</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="460"/> + <location filename="../src/MainFrame.cpp" line="466"/> <source>&XFoil Mixed Inverse Design</source> <translation>&Xfoil Mixed Inverse Design</translation> </message> @@ -3858,12 +3880,12 @@ <translation type="obsolete">Ctrl+4</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="462"/> + <location filename="../src/MainFrame.cpp" line="468"/> <source>Open XFoil Mixed Inverse analysis application</source> <translation>Öffne XFoil mixed Inverse Analyse Applikation</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="465"/> + <location filename="../src/MainFrame.cpp" line="471"/> <source>&XFoil Direct Analysis</source> <translation>&XFoil Direct Aanalyse</translation> </message> @@ -3872,12 +3894,12 @@ <translation type="obsolete">Ctrl+5</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="467"/> + <location filename="../src/MainFrame.cpp" line="473"/> <source>Open XFoil direct analysis application</source> <translation>Öffne XFoil direkt Analyse Applikation</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="470"/> + <location filename="../src/MainFrame.cpp" line="476"/> <source>&Wing and Plane Design</source> <translation>&Tragfläche und Modell Design</translation> </message> @@ -3886,13 +3908,13 @@ <translation type="obsolete">Ctrl+6</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="472"/> + <location filename="../src/MainFrame.cpp" line="478"/> <source>Open Wing/plane design and analysis application</source> <translation>Öffne Tragfläche/Modell Design und Analyse Applikation</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="475"/> - <location filename="../src/MainFrame.cpp" line="3390"/> + <location filename="../src/MainFrame.cpp" line="481"/> + <location filename="../src/MainFrame.cpp" line="3440"/> <source>Save</source> <translation>speichern</translation> </message> @@ -3901,22 +3923,22 @@ <translation type="obsolete">Ctrl+5</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="477"/> + <location filename="../src/MainFrame.cpp" line="483"/> <source>Save the project to disk</source> <translation>Projekt speichern</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="480"/> + <location filename="../src/MainFrame.cpp" line="486"/> <source>Save Project As...</source> <translation>Speichern als...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="481"/> + <location filename="../src/MainFrame.cpp" line="487"/> <source>Save the current project under a new name</source> <translation>Aktuelles Projekt unter neuem Namen speichern</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="484"/> + <location filename="../src/MainFrame.cpp" line="490"/> <source>Save Options</source> <translation>Speicher Optionen</translation> </message> @@ -3925,32 +3947,32 @@ <translation type="obsolete">Einheiten definieren...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="489"/> + <location filename="../src/MainFrame.cpp" line="495"/> <source>Define the units for this project</source> <translation>Einheiten für dieses Projekt definieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="492"/> + <location filename="../src/MainFrame.cpp" line="498"/> <source>Language...</source> <translation>Sprache...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="493"/> + <location filename="../src/MainFrame.cpp" line="499"/> <source>Define the default language for the application</source> <translation>Standardsprache</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="496"/> + <location filename="../src/MainFrame.cpp" line="502"/> <source>Restore toolbars</source> <translation>Toolbars wiederherstellen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="497"/> + <location filename="../src/MainFrame.cpp" line="503"/> <source>Restores the toolbars to their original state</source> <translation>Toolbars Positionen wiederherstellen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="500"/> + <location filename="../src/MainFrame.cpp" line="506"/> <source>Save View to Image File</source> <translation>Speichere Ansicht in Bilddatei</translation> </message> @@ -3959,33 +3981,33 @@ <translation type="obsolete">Ctrl+I</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="502"/> + <location filename="../src/MainFrame.cpp" line="508"/> <source>Saves the current view to a file on disk</source> <translation>Aktuelle Ansicht in Datei speichern</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="506"/> + <location filename="../src/MainFrame.cpp" line="512"/> <source>Reset Default Settings</source> <translation>Auf Standardeinstellungen zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="507"/> + <location filename="../src/MainFrame.cpp" line="513"/> <source>will revert to default settings at the next session</source> <translation>Die Standardeinstellungen werden beim Neustart verwendet.</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="518"/> + <location filename="../src/MainFrame.cpp" line="524"/> <source>General Display Settings</source> <translation>Allgemeine Display Einstellungen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="523"/> - <location filename="../src/MainFrame.cpp" line="3519"/> + <location filename="../src/MainFrame.cpp" line="529"/> + <location filename="../src/MainFrame.cpp" line="3575"/> <source>Export Graph</source> <translation>Graphen exportieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="524"/> + <location filename="../src/MainFrame.cpp" line="530"/> <source>Export the current graph data to a text file</source> <translation>Graph Daten in Text-File exportieren</translation> </message> @@ -3994,12 +4016,12 @@ <translation type="obsolete">Graph Skalierung zurücksetzen (R)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="528"/> + <location filename="../src/MainFrame.cpp" line="534"/> <source>Restores the graph's x and y scales</source> <translation>X und Y Skalierung zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="531"/> + <location filename="../src/MainFrame.cpp" line="537"/> <source>E&xit</source> <translation>B&eenden</translation> </message> @@ -4008,22 +4030,22 @@ <translation type="obsolete">Ctrl+Q</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="533"/> + <location filename="../src/MainFrame.cpp" line="539"/> <source>Exit the application</source> <translation>Applikation beenden</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="536"/> + <location filename="../src/MainFrame.cpp" line="542"/> <source>&Guidelines</source> <translation>&Richtlinien</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="537"/> + <location filename="../src/MainFrame.cpp" line="543"/> <source>Show the guidelines for some help</source> <translation>Zeige die Richtlinen an</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="540"/> + <location filename="../src/MainFrame.cpp" line="546"/> <source>&About</source> <translation>&Info</translation> </message> @@ -4032,158 +4054,158 @@ <translation type="obsolete">QFLR5</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="569"/> + <location filename="../src/MainFrame.cpp" line="575"/> <source>Grid Options</source> <translation>Gitter Optionen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="570"/> + <location filename="../src/MainFrame.cpp" line="576"/> <source>Define the grid settings for the view</source> <translation>Gitter Einstellungen für die Ansicht</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="573"/> + <location filename="../src/MainFrame.cpp" line="579"/> <source>Use Splines</source> <translation>Splines verwenden</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="574"/> + <location filename="../src/MainFrame.cpp" line="580"/> <source>Define a foil using one B-Spline for each foil side</source> <translation>Profile mit B-Splines für jede Seite erstellen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="578"/> + <location filename="../src/MainFrame.cpp" line="584"/> <source>Use Splined Points</source> <translation>Bnutze Splines Points</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="579"/> + <location filename="../src/MainFrame.cpp" line="585"/> <source>Define a foil using one 3rd order B-Spline between two control points</source> <translation>Profile mit B-Splines 3. Ordnung mit 2 Kontrollpunkten erstellen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="583"/> + <location filename="../src/MainFrame.cpp" line="589"/> <source>Store Splines as Foil</source> <translation>Profil als Splines speichern</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="584"/> + <location filename="../src/MainFrame.cpp" line="590"/> <source>Store the current splines in the foil database</source> <translation>Aktuelles Profil als Splines in der Profildatenbank speichern</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="587"/> + <location filename="../src/MainFrame.cpp" line="593"/> <source>Splines Params</source> <translation>Splines Parameter</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="588"/> - <location filename="../src/MainFrame.cpp" line="592"/> + <location filename="../src/MainFrame.cpp" line="594"/> + <location filename="../src/MainFrame.cpp" line="598"/> <source>Define parameters for the splines : degree, number of out points</source> <translation>Definition der Splines Parameter: Winkel, Anzahl der Punkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="591"/> + <location filename="../src/MainFrame.cpp" line="597"/> <source>Export Splines To File</source> <translation>Splines in File exportieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="595"/> + <location filename="../src/MainFrame.cpp" line="601"/> <source>New Splines</source> <translation>Neue Splines</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="596"/> + <location filename="../src/MainFrame.cpp" line="602"/> <source>Reset the splines</source> <translation>Splines zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="599"/> - <location filename="../src/MainFrame.cpp" line="2346"/> + <location filename="../src/MainFrame.cpp" line="605"/> + <location filename="../src/MainFrame.cpp" line="2393"/> <source>Zoom in</source> <translation>Hineinzoomen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="600"/> - <location filename="../src/MainFrame.cpp" line="2347"/> + <location filename="../src/MainFrame.cpp" line="606"/> + <location filename="../src/MainFrame.cpp" line="2394"/> <source>Zoom the view by drawing a rectangle in the client area</source> <translation>Zoomen durch auswahl eines Rechteckes in der Ansicht</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="603"/> + <location filename="../src/MainFrame.cpp" line="609"/> <source>Reset X Scale</source> <translation>X-Skalierung zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="604"/> + <location filename="../src/MainFrame.cpp" line="610"/> <source>Resets the scale to fit the current screen width</source> <translation>Skalierung auf Ansichtsbreite zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="607"/> + <location filename="../src/MainFrame.cpp" line="613"/> <source>Undo</source> <translation>Rückgängig</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="609"/> + <location filename="../src/MainFrame.cpp" line="615"/> <source>Cancels the last modifiction made to the splines</source> <translation>Letzte Änderung an den Splines zurücksetzten</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="612"/> + <location filename="../src/MainFrame.cpp" line="618"/> <source>Redo</source> <translation>Wiederherstellen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="614"/> + <location filename="../src/MainFrame.cpp" line="620"/> <source>Restores the last cancelled modifiction made to the splines</source> <translation>Stellt die letzte Änderung an den Splines wieder her</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="617"/> + <location filename="../src/MainFrame.cpp" line="623"/> <source>Show All Foils</source> <translation>Zeige alle Profile</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="619"/> + <location filename="../src/MainFrame.cpp" line="625"/> <source>Hide All Foils</source> <translation>Ausblenden aller Profile</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="623"/> - <location filename="../src/MainFrame.cpp" line="1396"/> - <location filename="../src/MainFrame.cpp" line="1428"/> - <location filename="../src/MainFrame.cpp" line="1873"/> + <location filename="../src/MainFrame.cpp" line="629"/> + <location filename="../src/MainFrame.cpp" line="1404"/> + <location filename="../src/MainFrame.cpp" line="1436"/> + <location filename="../src/MainFrame.cpp" line="1920"/> <source>Delete...</source> <translation>Löschen...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="626"/> - <location filename="../src/MainFrame.cpp" line="1167"/> - <location filename="../src/MainFrame.cpp" line="1408"/> - <location filename="../src/MainFrame.cpp" line="1876"/> + <location filename="../src/MainFrame.cpp" line="632"/> + <location filename="../src/MainFrame.cpp" line="1175"/> + <location filename="../src/MainFrame.cpp" line="1416"/> + <location filename="../src/MainFrame.cpp" line="1923"/> <source>Rename...</source> <translation>Umbenennen...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="630"/> - <location filename="../src/MainFrame.cpp" line="1202"/> - <location filename="../src/MainFrame.cpp" line="1879"/> + <location filename="../src/MainFrame.cpp" line="636"/> + <location filename="../src/MainFrame.cpp" line="1210"/> + <location filename="../src/MainFrame.cpp" line="1926"/> <source>Export...</source> <translation>Exportieren...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="633"/> + <location filename="../src/MainFrame.cpp" line="639"/> <source>Show Current Foil</source> <translation>Zeige aktuelles Profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="636"/> + <location filename="../src/MainFrame.cpp" line="642"/> <source>Hide Current Foil</source> <translation>Ausblenden des aktuellen Profils</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="639"/> + <location filename="../src/MainFrame.cpp" line="645"/> <source>Reset Y Scale</source> <translation>Y-Skalierung zurücksetzen</translation> </message> @@ -4192,42 +4214,42 @@ <translation type="obsolete">Skalierung zurücksetzen (R)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="731"/> + <location filename="../src/MainFrame.cpp" line="737"/> <source>F&oil</source> <translation>Pr&ofil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1309"/> + <location filename="../src/MainFrame.cpp" line="1317"/> <source>Two Graphs</source> <translation>Zwei Graphen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1314"/> + <location filename="../src/MainFrame.cpp" line="1322"/> <source>All Graphs</source> <translation>Alle Graphen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1319"/> + <location filename="../src/MainFrame.cpp" line="1327"/> <source>Graph 1</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1324"/> + <location filename="../src/MainFrame.cpp" line="1332"/> <source>Graph 2</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1329"/> + <location filename="../src/MainFrame.cpp" line="1337"/> <source>Graph 3</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1334"/> + <location filename="../src/MainFrame.cpp" line="1342"/> <source>Graph 4</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1481"/> + <location filename="../src/MainFrame.cpp" line="1495"/> <source>&Body</source> <translation>Rumpf(&B)</translation> </message> @@ -4244,7 +4266,7 @@ <translation type="obsolete">Profil Skalierung zurücksetzen (R)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="643"/> + <location filename="../src/MainFrame.cpp" line="649"/> <source>Resets the x and y scales to screen size</source> <translation>X- und Y- Skalierung auf Ansichts zurücksetzen</translation> </message> @@ -4253,103 +4275,103 @@ <translation type="obsolete">&Info</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="646"/> - <location filename="../src/MainFrame.cpp" line="647"/> + <location filename="../src/MainFrame.cpp" line="652"/> + <location filename="../src/MainFrame.cpp" line="653"/> <source>Zoom Less</source> <translation>Herauszoomen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="650"/> - <location filename="../src/MainFrame.cpp" line="2355"/> + <location filename="../src/MainFrame.cpp" line="656"/> + <location filename="../src/MainFrame.cpp" line="2402"/> <source>Zoom Y Scale Only</source> <translation>Nur Y-Skalierung zoomen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="651"/> + <location filename="../src/MainFrame.cpp" line="657"/> <source>Zoom Y scale Only</source> <translation>Nur Y-Skalierung zoomen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="654"/> - <location filename="../src/MainFrame.cpp" line="2007"/> + <location filename="../src/MainFrame.cpp" line="660"/> + <location filename="../src/MainFrame.cpp" line="2054"/> <source>De-rotate the Foil</source> <translation>Entdrehen des Profils </translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="657"/> - <location filename="../src/MainFrame.cpp" line="2010"/> + <location filename="../src/MainFrame.cpp" line="663"/> + <location filename="../src/MainFrame.cpp" line="2057"/> <source>Normalize the Foil</source> <translation>Normalisieren des Profils</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="660"/> - <location filename="../src/MainFrame.cpp" line="2013"/> + <location filename="../src/MainFrame.cpp" line="666"/> + <location filename="../src/MainFrame.cpp" line="2060"/> <source>Refine Locally</source> <translation>Lokales redefinieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="663"/> - <location filename="../src/MainFrame.cpp" line="2016"/> + <location filename="../src/MainFrame.cpp" line="669"/> + <location filename="../src/MainFrame.cpp" line="2063"/> <source>Refine Globally</source> <translation>GLobales redefinieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="666"/> - <location filename="../src/MainFrame.cpp" line="2019"/> + <location filename="../src/MainFrame.cpp" line="672"/> + <location filename="../src/MainFrame.cpp" line="2066"/> <source>Edit Foil Coordinates</source> <translation>Profil Koordinaten editieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="669"/> - <location filename="../src/MainFrame.cpp" line="2022"/> + <location filename="../src/MainFrame.cpp" line="675"/> + <location filename="../src/MainFrame.cpp" line="2069"/> <source>Scale camber and thickness</source> <translation>Wölbung und Dicke skalieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="672"/> - <location filename="../src/MainFrame.cpp" line="2025"/> + <location filename="../src/MainFrame.cpp" line="678"/> + <location filename="../src/MainFrame.cpp" line="2072"/> <source>Set T.E. Gap</source> <translation>Setzen der Hinterkanten Spalte (T.E.)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="675"/> - <location filename="../src/MainFrame.cpp" line="2028"/> + <location filename="../src/MainFrame.cpp" line="681"/> + <location filename="../src/MainFrame.cpp" line="2075"/> <source>Set L.E. Radius</source> <translation>Setzen des Vorderkaten Radius (L.E)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="678"/> + <location filename="../src/MainFrame.cpp" line="684"/> <source>Show LE Circle</source> <translation>Zeigen Vorderkanten Kreis (L.E)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="681"/> + <location filename="../src/MainFrame.cpp" line="687"/> <source>Show Legend</source> <translation>Legende anzeigen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="685"/> - <location filename="../src/MainFrame.cpp" line="2031"/> + <location filename="../src/MainFrame.cpp" line="691"/> + <location filename="../src/MainFrame.cpp" line="2078"/> <source>Set Flap</source> <translation>Setze Klappen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="688"/> - <location filename="../src/MainFrame.cpp" line="2034"/> + <location filename="../src/MainFrame.cpp" line="694"/> + <location filename="../src/MainFrame.cpp" line="2081"/> <source>Interpolate Foils</source> <translation>Profile interpolieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="691"/> - <location filename="../src/MainFrame.cpp" line="2037"/> + <location filename="../src/MainFrame.cpp" line="697"/> + <location filename="../src/MainFrame.cpp" line="2084"/> <source>Naca Foils</source> <translation>NACA Profile</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="710"/> - <location filename="../src/MainFrame.cpp" line="1441"/> - <location filename="../src/MainFrame.cpp" line="2108"/> - <location filename="../src/MainFrame.cpp" line="2363"/> + <location filename="../src/MainFrame.cpp" line="716"/> + <location filename="../src/MainFrame.cpp" line="1449"/> + <location filename="../src/MainFrame.cpp" line="2155"/> + <location filename="../src/MainFrame.cpp" line="2410"/> <source>&View</source> <translation>&Ansicht</translation> </message> @@ -4358,58 +4380,58 @@ <translation type="obsolete">&Profil Design</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="754"/> + <location filename="../src/MainFrame.cpp" line="760"/> <source>&Splines</source> <translation>&Splines</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="767"/> - <location filename="../src/MainFrame.cpp" line="1568"/> - <location filename="../src/MainFrame.cpp" line="1602"/> - <location filename="../src/MainFrame.cpp" line="1622"/> - <location filename="../src/MainFrame.cpp" line="1644"/> - <location filename="../src/MainFrame.cpp" line="1664"/> - <location filename="../src/MainFrame.cpp" line="1679"/> - <location filename="../src/MainFrame.cpp" line="2233"/> - <location filename="../src/MainFrame.cpp" line="2271"/> - <location filename="../src/MainFrame.cpp" line="2386"/> + <location filename="../src/MainFrame.cpp" line="773"/> + <location filename="../src/MainFrame.cpp" line="1601"/> + <location filename="../src/MainFrame.cpp" line="1639"/> + <location filename="../src/MainFrame.cpp" line="1661"/> + <location filename="../src/MainFrame.cpp" line="1684"/> + <location filename="../src/MainFrame.cpp" line="1708"/> + <location filename="../src/MainFrame.cpp" line="1728"/> + <location filename="../src/MainFrame.cpp" line="2280"/> + <location filename="../src/MainFrame.cpp" line="2318"/> + <location filename="../src/MainFrame.cpp" line="2433"/> <source>Context Menu</source> <translation>Befehlsübersicht</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2117"/> + <location filename="../src/MainFrame.cpp" line="2164"/> <source>Current Foil</source> <translation>Aktuelles Profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="822"/> - <location filename="../src/MainFrame.cpp" line="1794"/> + <location filename="../src/MainFrame.cpp" line="828"/> + <location filename="../src/MainFrame.cpp" line="1841"/> <source>Foil</source> <translation>Profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="920"/> - <location filename="../src/MainFrame.cpp" line="1142"/> + <location filename="../src/MainFrame.cpp" line="930"/> + <location filename="../src/MainFrame.cpp" line="1150"/> <source>3D Scales</source> <translation>3D Skalierung</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1049"/> + <location filename="../src/MainFrame.cpp" line="1057"/> <source>&File</source> <translation>&Datei</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1083"/> + <location filename="../src/MainFrame.cpp" line="1091"/> <source>&?</source> <translation>&?</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1817"/> + <location filename="../src/MainFrame.cpp" line="1864"/> <source>OpPoint view</source> <translation>Arbeitspunt Ansicht</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1819"/> + <location filename="../src/MainFrame.cpp" line="1866"/> <source>Show Operating point view</source> <translation>Zeige Arbeitspunkt Ansicht</translation> </message> @@ -4418,12 +4440,12 @@ <translation type="obsolete">F5</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1822"/> + <location filename="../src/MainFrame.cpp" line="1869"/> <source>Polar view</source> <translation>Polaren Ansicht</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1824"/> + <location filename="../src/MainFrame.cpp" line="1871"/> <source>Show Polar view</source> <translation>Zeige Polaren Ansicht</translation> </message> @@ -4456,28 +4478,28 @@ <translation type="obsolete">f9</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1134"/> + <location filename="../src/MainFrame.cpp" line="1142"/> <source>3D Color Preferences</source> <translation>3D Farb Einstellungen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1138"/> - <location filename="../src/MainFrame.cpp" line="1830"/> + <location filename="../src/MainFrame.cpp" line="1146"/> + <location filename="../src/MainFrame.cpp" line="1877"/> <source>Polar Filter</source> <translation>Polaren Filter</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1147"/> + <location filename="../src/MainFrame.cpp" line="1155"/> <source>3D Light Options</source> <translation>3D Licht Einstellungen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1151"/> + <location filename="../src/MainFrame.cpp" line="1159"/> <source>Define a New Wing</source> <translation>Definiere eine neue Tragfläche</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1152"/> + <location filename="../src/MainFrame.cpp" line="1160"/> <source>Shows a dialogbox for editing a new wing definition</source> <translation>Zeigt einen Dialog zum Erstellen einer neuen Tragfläche</translation> </message> @@ -4486,12 +4508,12 @@ <translation type="obsolete">F3</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1159"/> + <location filename="../src/MainFrame.cpp" line="1167"/> <source>Define a New Plane</source> <translation>Definiere ein neues Modell</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1160"/> + <location filename="../src/MainFrame.cpp" line="1168"/> <source>Shows a dialogbox to create a new plane definition</source> <translation>Zeit einen Dialog zum Erstellen eines neuen Modelles</translation> </message> @@ -4500,12 +4522,12 @@ <translation type="obsolete">Ctrl+F3</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1163"/> + <location filename="../src/MainFrame.cpp" line="1171"/> <source>Edit...</source> <translation>Bearbeiten...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1164"/> + <location filename="../src/MainFrame.cpp" line="1172"/> <source>Shows a dialogbox to edit the currently selected wing or plane</source> <translation>Zeigt einen Dialog zum Editieren der aktuellen Tragfläche oder des Modelles</translation> </message> @@ -4514,17 +4536,17 @@ <translation type="obsolete">Shift+F3</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1171"/> + <location filename="../src/MainFrame.cpp" line="1179"/> <source>Define a New Body</source> <translation>Neuen Rumpf erstellen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1172"/> + <location filename="../src/MainFrame.cpp" line="1180"/> <source>Shows a dialogbox for editing a new body definition</source> <translation>Zeigt einen Dialog zum Erstellen eines neuen Rumpfes</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1275"/> + <location filename="../src/MainFrame.cpp" line="1283"/> <source>Show Elevator Curve</source> <translation>Zeige Höhenruder Kurve</translation> </message> @@ -4541,17 +4563,17 @@ <translation type="obsolete">Batch Analyse (Shift+F6)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2004"/> + <location filename="../src/MainFrame.cpp" line="2051"/> <source>View Log File</source> <translation>Logfile anzeigen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1176"/> + <location filename="../src/MainFrame.cpp" line="1184"/> <source>Edit Current</source> <translation>Aktuellen editieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="397"/> + <location filename="../src/MainFrame.cpp" line="403"/> <source>Exit</source> <translation>Beenden</translation> </message> @@ -4604,64 +4626,64 @@ <translation type="obsolete">Shift+F10</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1181"/> + <location filename="../src/MainFrame.cpp" line="1189"/> <source>Export Body Definition</source> <translation>Rupfdefinition exportieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1182"/> + <location filename="../src/MainFrame.cpp" line="1190"/> <source>Export a body definition to a text file</source> <translation>Rumpfdefinition in Text-File exportieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1185"/> + <location filename="../src/MainFrame.cpp" line="1193"/> <source>Export Body Geometry</source> <translation>Rupfgeometrie exportieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1186"/> + <location filename="../src/MainFrame.cpp" line="1194"/> <source>Export a body geometry at different cross sections to a text file</source> <translation>Exportieren des Rumpfgeometrie an einer Schnittstelle in einen Text-File </translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1189"/> + <location filename="../src/MainFrame.cpp" line="1197"/> <source>Import Body</source> <translation>Rumpf importieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1190"/> + <location filename="../src/MainFrame.cpp" line="1198"/> <source>Import a body definition from a text file</source> <translation>Rumpfdefinition von Text-File importieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1193"/> + <location filename="../src/MainFrame.cpp" line="1201"/> <source>Manage Bodies</source> <translation>Rümpfe verwalten</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1195"/> + <location filename="../src/MainFrame.cpp" line="1203"/> <source>Manage the body list : Rename, Duplicate, Delete</source> <translation>Verwalten der Rumpfliste: Umbenennen, Duplizieren, Löschen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1198"/> + <location filename="../src/MainFrame.cpp" line="1206"/> <source>Export to AVL...</source> <translation>Als AVL exportieren...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1206"/> - <location filename="../src/MainFrame.cpp" line="1210"/> - <location filename="../src/MainFrame.cpp" line="1843"/> + <location filename="../src/MainFrame.cpp" line="1214"/> + <location filename="../src/MainFrame.cpp" line="1218"/> + <location filename="../src/MainFrame.cpp" line="1890"/> <source>Reset Legend Position</source> <translation>Legendenposition zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1214"/> + <location filename="../src/MainFrame.cpp" line="1222"/> <source>Reset Wing Scale</source> <translation>Trangflächen Skalierung zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1218"/> + <location filename="../src/MainFrame.cpp" line="1226"/> <source>Scale Wing</source> <translation>Trangfläche skalieren</translation> </message> @@ -4674,55 +4696,55 @@ <translation type="obsolete">f7</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1227"/> + <location filename="../src/MainFrame.cpp" line="1235"/> <source>Import Polar</source> <translation>Polaren importieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1231"/> + <location filename="../src/MainFrame.cpp" line="1239"/> <source>Define Inertia</source> <translation>Trägheit definieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1236"/> + <location filename="../src/MainFrame.cpp" line="1244"/> <source>Show Current OpPoint Only</source> <translation>Zeige nur aktuellen Arbeitspunkt</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1241"/> + <location filename="../src/MainFrame.cpp" line="1249"/> <source>Show All OpPoints</source> <translation>Zeige alle Arbeitspunkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1245"/> + <location filename="../src/MainFrame.cpp" line="1253"/> <source>Hide All OpPoints</source> <translation>Ausblenden aller Arbeitspunkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1249"/> + <location filename="../src/MainFrame.cpp" line="1257"/> <source>Delete All OpPoints</source> <translation>Lösche alle Arbeitspunkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1253"/> - <location filename="../src/MainFrame.cpp" line="1388"/> + <location filename="../src/MainFrame.cpp" line="1261"/> + <location filename="../src/MainFrame.cpp" line="1396"/> <source>Show Associated OpPoints</source> <translation>Zeige zugehörige Arbeitspunkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1257"/> - <location filename="../src/MainFrame.cpp" line="1384"/> + <location filename="../src/MainFrame.cpp" line="1265"/> + <location filename="../src/MainFrame.cpp" line="1392"/> <source>Hide Associated OpPoints</source> <translation>Verbede zugehörige Arbeitspunkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1261"/> - <location filename="../src/MainFrame.cpp" line="1392"/> + <location filename="../src/MainFrame.cpp" line="1269"/> + <location filename="../src/MainFrame.cpp" line="1400"/> <source>Delete Associated OpPoints</source> <translation>Lösche zugehörige Arbeitspunkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1265"/> + <location filename="../src/MainFrame.cpp" line="1273"/> <source>Show Elliptic Curve</source> <translation>Zeige elliptische Kurve</translation> </message> @@ -4731,12 +4753,12 @@ <translation type="obsolete">Zeige XCmRef Position</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1280"/> + <location filename="../src/MainFrame.cpp" line="1288"/> <source>Show Fin Curve</source> <translation>Zeige Fin Kurve</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1285"/> + <location filename="../src/MainFrame.cpp" line="1293"/> <source>Show Second Wing Curve</source> <translation>Zeige 2. Trangflächen Kurve</translation> </message> @@ -4793,47 +4815,47 @@ <translation type="obsolete">Polar Graph 4 (4)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="527"/> - <location filename="../src/MainFrame.cpp" line="1344"/> + <location filename="../src/MainFrame.cpp" line="533"/> + <location filename="../src/MainFrame.cpp" line="1352"/> <source>Reset Graph Scales</source> <translation>Graph Skalierung zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1348"/> - <location filename="../src/MainFrame.cpp" line="1352"/> + <location filename="../src/MainFrame.cpp" line="1356"/> + <location filename="../src/MainFrame.cpp" line="1360"/> <source>Reset All Graph Scales</source> <translation>Alle Graphen Skalierungen zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1356"/> - <location filename="../src/MainFrame.cpp" line="1360"/> + <location filename="../src/MainFrame.cpp" line="1364"/> + <location filename="../src/MainFrame.cpp" line="1368"/> <source>All Graph Settings</source> <translation>Alle Graphen Einstellungen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1364"/> + <location filename="../src/MainFrame.cpp" line="1372"/> <source>Hide Associated Polars</source> <translation>Verberge zugehörige Polaren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1368"/> + <location filename="../src/MainFrame.cpp" line="1376"/> <source>Show Associated Polars</source> <translation>Zeige zugehörige Polaren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1372"/> + <location filename="../src/MainFrame.cpp" line="1380"/> <source>Delete Associated Polars</source> <translation>Lösche zugehörige Polaren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1376"/> - <location filename="../src/MainFrame.cpp" line="1978"/> + <location filename="../src/MainFrame.cpp" line="1384"/> + <location filename="../src/MainFrame.cpp" line="2025"/> <source>Hide All Polars</source> <translation>Verberge alle Polaren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1380"/> - <location filename="../src/MainFrame.cpp" line="1975"/> + <location filename="../src/MainFrame.cpp" line="1388"/> + <location filename="../src/MainFrame.cpp" line="2022"/> <source>Show All Polars</source> <translation>Zeige alle Polaren</translation> </message> @@ -4842,47 +4864,47 @@ <translation type="obsolete">F2</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1400"/> + <location filename="../src/MainFrame.cpp" line="1408"/> <source>Duplicate...</source> <translation>Duplizieren...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1404"/> + <location filename="../src/MainFrame.cpp" line="1412"/> <source>Save as Project...</source> <translation>Speiche Projekt als...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1412"/> + <location filename="../src/MainFrame.cpp" line="1420"/> <source>Edit ...</source> <translation>Bearbeiten...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1416"/> + <location filename="../src/MainFrame.cpp" line="1424"/> <source>Export ...</source> <translation>Exportieren...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1420"/> + <location filename="../src/MainFrame.cpp" line="1428"/> <source>Reset ...</source> <translation>Zurücksetzen...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1424"/> + <location filename="../src/MainFrame.cpp" line="1432"/> <source>Delete ...</source> <translation>Löschen...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1432"/> + <location filename="../src/MainFrame.cpp" line="1440"/> <source>Advanced Settings...</source> <translation>Erweiterte Einstellungen...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1456"/> + <location filename="../src/MainFrame.cpp" line="1466"/> <source>&Wing-Plane</source> <translation>&Tragfläche-Rumpf</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1460"/> + <location filename="../src/MainFrame.cpp" line="1471"/> <source>Current UFO</source> <translation>Aktuelles UFO</translation> </message> @@ -4891,54 +4913,54 @@ <translation type="obsolete">Rumpf</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1484"/> + <location filename="../src/MainFrame.cpp" line="1499"/> <source>Current Body</source> <translation>Aktueller Rumpf</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1492"/> - <location filename="../src/MainFrame.cpp" line="2162"/> + <location filename="../src/MainFrame.cpp" line="1508"/> + <location filename="../src/MainFrame.cpp" line="2209"/> <source>&Polars</source> <translation>&Polaren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1496"/> - <location filename="../src/MainFrame.cpp" line="2163"/> + <location filename="../src/MainFrame.cpp" line="1513"/> + <location filename="../src/MainFrame.cpp" line="2210"/> <source>Current Polar</source> <translation>Aktuelle Polare</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1515"/> - <location filename="../src/MainFrame.cpp" line="1548"/> + <location filename="../src/MainFrame.cpp" line="1536"/> + <location filename="../src/MainFrame.cpp" line="1576"/> <source>Graphs</source> <translation>Graphen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1530"/> + <location filename="../src/MainFrame.cpp" line="1554"/> <source>&OpPoint</source> <translation>&Arbeitspunkt</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1531"/> - <location filename="../src/MainFrame.cpp" line="2200"/> - <location filename="../src/MainFrame.cpp" line="2240"/> + <location filename="../src/MainFrame.cpp" line="1556"/> + <location filename="../src/MainFrame.cpp" line="2247"/> + <location filename="../src/MainFrame.cpp" line="2287"/> <source>Current OpPoint</source> <translation>Aktueller Arbeitspunkt</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1582"/> - <location filename="../src/MainFrame.cpp" line="1652"/> - <location filename="../src/MainFrame.cpp" line="2275"/> + <location filename="../src/MainFrame.cpp" line="1616"/> + <location filename="../src/MainFrame.cpp" line="1693"/> + <location filename="../src/MainFrame.cpp" line="2322"/> <source>Current Graph</source> <translation>Aktueller Graph</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1733"/> + <location filename="../src/MainFrame.cpp" line="1780"/> <source>UFO</source> <translation>UFO</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1758"/> + <location filename="../src/MainFrame.cpp" line="1805"/> <source>Ready</source> <translation>Bereit</translation> </message> @@ -4947,12 +4969,12 @@ <translation type="obsolete">Bestimme Cp-Graph Einstellungen (G)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1833"/> + <location filename="../src/MainFrame.cpp" line="1880"/> <source>All Polar Graph Settings</source> <translation>Alle Polaren-Graphen Einstellungen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1837"/> + <location filename="../src/MainFrame.cpp" line="1884"/> <source>Reset All Polar Graph Scales</source> <translation>Alle Polaren Skalierungen zurücksetzen</translation> </message> @@ -4981,279 +5003,279 @@ <translation type="obsolete">Glide ratio vs. alpha (5)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1882"/> + <location filename="../src/MainFrame.cpp" line="1929"/> <source>Set Style...</source> <translation>Gestaltung einrichten...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1885"/> + <location filename="../src/MainFrame.cpp" line="1932"/> <source>Delete associated polars</source> <translation>Lösche zugehörige Polaren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1886"/> + <location filename="../src/MainFrame.cpp" line="1933"/> <source>Delete all the polars associated to this foil</source> <translation>Lösche alle Polaren welche dieser Tragfläche zugehörig sind</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1889"/> + <location filename="../src/MainFrame.cpp" line="1936"/> <source>Show associated polars</source> <translation>Zeige zugehörige Polaren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1892"/> + <location filename="../src/MainFrame.cpp" line="1939"/> <source>Hide associated polars</source> <translation>Verberge zugehörige Polaren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1895"/> + <location filename="../src/MainFrame.cpp" line="1942"/> <source>Save associated polars</source> <translation>Zugehörige Polaren speichern</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1898"/> - <location filename="../src/MainFrame.cpp" line="1907"/> + <location filename="../src/MainFrame.cpp" line="1945"/> + <location filename="../src/MainFrame.cpp" line="1954"/> <source>Hide associated OpPoints</source> <translation>Verberge zugehörige Arbeitspunkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1901"/> - <location filename="../src/MainFrame.cpp" line="1910"/> + <location filename="../src/MainFrame.cpp" line="1948"/> + <location filename="../src/MainFrame.cpp" line="1957"/> <source>Show associated OpPoints</source> <translation>Zeige zugehörige Arbeitspunkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1904"/> - <location filename="../src/MainFrame.cpp" line="1913"/> + <location filename="../src/MainFrame.cpp" line="1951"/> + <location filename="../src/MainFrame.cpp" line="1960"/> <source>Delete associated OpPoints</source> <translation>Lösche zugehörige Arbeitspunkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1917"/> + <location filename="../src/MainFrame.cpp" line="1964"/> <source>Defines a single analysis/polar</source> <translation>Definieren einer Analyse/Polare</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1921"/> + <location filename="../src/MainFrame.cpp" line="1968"/> <source>Launches a batch of analysis calculation for a specified range or list of Reynolds numbers</source> <translation>Startet Massenanalyse über eine Reynolds-Zahlen Bereich</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1924"/> + <location filename="../src/MainFrame.cpp" line="1971"/> <source>Multi-threaded Batch Analysis</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1925"/> + <location filename="../src/MainFrame.cpp" line="1972"/> <source>Launches a batch of analysis calculation using all available computer CPU cores</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1928"/> - <location filename="../src/MainFrame.cpp" line="1994"/> + <location filename="../src/MainFrame.cpp" line="1975"/> + <location filename="../src/MainFrame.cpp" line="2041"/> <source>Delete</source> <translation>Löschen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1929"/> + <location filename="../src/MainFrame.cpp" line="1976"/> <source>Deletes the currently selected polar</source> <translation>Löschen der ausgewählten Polare</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1932"/> + <location filename="../src/MainFrame.cpp" line="1979"/> <source>Reset</source> <translation>Zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1933"/> + <location filename="../src/MainFrame.cpp" line="1980"/> <source>Deletes the contents of the currently selected polar</source> <translation>Löchen des Inhaltes der ausgewählten Polare</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1936"/> + <location filename="../src/MainFrame.cpp" line="1983"/> <source>Edit</source> <translation>Bearbeiten</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1937"/> + <location filename="../src/MainFrame.cpp" line="1984"/> <source>Remove the unconverged or erroneaous points of the currently selected polar</source> <translation>Löschen aller unkonvergierten oder fehlerhaften Punkte der ausgewählten Polare</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1940"/> - <location filename="../src/MainFrame.cpp" line="1991"/> + <location filename="../src/MainFrame.cpp" line="1987"/> + <location filename="../src/MainFrame.cpp" line="2038"/> <source>Export</source> <translation>Exportieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1943"/> + <location filename="../src/MainFrame.cpp" line="1990"/> <source>Export all polars</source> <translation>Alle Polaren exportieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1946"/> - <location filename="../src/MainFrame.cpp" line="2309"/> + <location filename="../src/MainFrame.cpp" line="1993"/> + <location filename="../src/MainFrame.cpp" line="2356"/> <source>Define Styles</source> <translation>Gestalltung einrichten</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1947"/> + <location filename="../src/MainFrame.cpp" line="1994"/> <source>Define the style for the boundary layer and the pressure arrows</source> <translation>Gestalltung der Grenzschicht und der Druck-Pfeile</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1950"/> + <location filename="../src/MainFrame.cpp" line="1997"/> <source>Manage Foils</source> <translation>Profile verwalten</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1954"/> + <location filename="../src/MainFrame.cpp" line="2001"/> <source>Rename</source> <translation>Umbenennen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1957"/> + <location filename="../src/MainFrame.cpp" line="2004"/> <source>Show Panels</source> <translation>Zeige Paneele</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1959"/> + <location filename="../src/MainFrame.cpp" line="2006"/> <source>Show the foil's panels</source> <translation>Zeige die Profil Paneele</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1962"/> + <location filename="../src/MainFrame.cpp" line="2009"/> <source>Reset Foil Scale</source> <translation>Profil Skalierung zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1963"/> + <location filename="../src/MainFrame.cpp" line="2010"/> <source>Resets the foil's scale to original size</source> <translation>Profil original Skalierung wiederherstellen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1966"/> + <location filename="../src/MainFrame.cpp" line="2013"/> <source>Show Inviscid Curve</source> <translation>Zeige Inviscid-Kurve</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1968"/> + <location filename="../src/MainFrame.cpp" line="2015"/> <source>Display the Opp's inviscid curve</source> <translation>Zeige die Inviscid-Kurve des Arbeitspunktes</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1971"/> + <location filename="../src/MainFrame.cpp" line="2018"/> <source>Neutral Line</source> <translation>Neutrale-Linie</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1981"/> + <location filename="../src/MainFrame.cpp" line="2028"/> <source>Show Current Opp Only</source> <translation>Zeige nur aktuellen Arbeitspunkt</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1985"/> + <location filename="../src/MainFrame.cpp" line="2032"/> <source>Show All Opps</source> <translation>Zeige alle Arbeitspunkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1988"/> + <location filename="../src/MainFrame.cpp" line="2035"/> <source>Hide All Opps</source> <translation>Ausblenden aller Arbeitspunkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1997"/> + <location filename="../src/MainFrame.cpp" line="2044"/> <source>Reset XFoil</source> <translation>Xfoil zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2000"/> + <location filename="../src/MainFrame.cpp" line="2047"/> <source>XFoil Advanced Settings</source> <translation>Erweiterte XFoil Einstellungen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2001"/> + <location filename="../src/MainFrame.cpp" line="2048"/> <source>Tip : you don't want to use that option...</source> <translation>Tipp:Glauben Sie uns, Sie wollen diese Option nicht nutzen ;-)...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2040"/> + <location filename="../src/MainFrame.cpp" line="2087"/> <source>Duplicate</source> <translation>Duplizieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2043"/> + <location filename="../src/MainFrame.cpp" line="2090"/> <source>Cp Variable</source> <translation>Cp Variablen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2045"/> + <location filename="../src/MainFrame.cpp" line="2092"/> <source>Sets Cp vs. chord graph</source> <translation>Cp vs. Sehne (Chord) Graphen Einstellungen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2048"/> + <location filename="../src/MainFrame.cpp" line="2095"/> <source>Q Variable</source> <translation>Q-Variable</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2050"/> - <location filename="../src/MainFrame.cpp" line="2054"/> + <location filename="../src/MainFrame.cpp" line="2097"/> + <location filename="../src/MainFrame.cpp" line="2101"/> <source>Sets Speed vs. chord graph</source> <translation>Geschwindigkeit(Speed) vs. Sehne(Chord) Graphen Einstellungen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2053"/> + <location filename="../src/MainFrame.cpp" line="2100"/> <source>Export Cur. XFoil Results</source> <translation>Aktuelle XFoil Resultate exportieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2057"/> + <location filename="../src/MainFrame.cpp" line="2104"/> <source>Max. Shear Coefficient</source> <translation>Maximaler Scherungs (Shear) Koeffizient</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2061"/> + <location filename="../src/MainFrame.cpp" line="2108"/> <source>Bottom Side D* and Theta</source> <translation>Unterseiten D* und Theta</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2065"/> + <location filename="../src/MainFrame.cpp" line="2112"/> <source>Top Side D* and Theta</source> <translation>Oberseiten D* und Theta</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2069"/> + <location filename="../src/MainFrame.cpp" line="2116"/> <source>Log(Re_Theta)</source> <translation>Log(Re_Theta)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2073"/> + <location filename="../src/MainFrame.cpp" line="2120"/> <source>Re_Theta</source> <translation>Re_Theta</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2077"/> + <location filename="../src/MainFrame.cpp" line="2124"/> <source>Amplification Ratio</source> <translation>Verstärkungsverhältnis (Amplification Ratio)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2081"/> + <location filename="../src/MainFrame.cpp" line="2128"/> <source>Dissipation Coefficient</source> <translation>Leistungsverlusst Koeffizient (Dissipation Coefficient)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2085"/> + <location filename="../src/MainFrame.cpp" line="2132"/> <source>Skin Friction Coefficient</source> <translation>Aussenhaut -Reibungs-Koeffizient (Skin Friction)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2089"/> + <location filename="../src/MainFrame.cpp" line="2136"/> <source>Edge Velocity</source> <translation>Grenzgeschwindigkeit (Edge Velocity)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2093"/> + <location filename="../src/MainFrame.cpp" line="2140"/> <source>Kinematic Shape Parameter</source> <translation>Kinematischer Form Parameter (Kinematic shape)</translation> </message> @@ -5262,33 +5284,33 @@ <translation type="obsolete">JavaFoil Parameter importiern</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2100"/> + <location filename="../src/MainFrame.cpp" line="2147"/> <source>Import XFoil Polar</source> <translation>XFoil Polare importieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2114"/> - <location filename="../src/MainFrame.cpp" line="2374"/> + <location filename="../src/MainFrame.cpp" line="2161"/> + <location filename="../src/MainFrame.cpp" line="2421"/> <source>&Foil</source> <translation>&Profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="792"/> + <location filename="../src/MainFrame.cpp" line="798"/> <source>Foil Actions</source> <translation>Profile Aktionen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="932"/> + <location filename="../src/MainFrame.cpp" line="942"/> <source>Stability</source> <translation>Stabilität</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1101"/> + <location filename="../src/MainFrame.cpp" line="1109"/> <source>OpPoint View</source> <translation>Arbeitspunt Ansicht</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1107"/> + <location filename="../src/MainFrame.cpp" line="1115"/> <source>Polar View</source> <translation>Polaren Ansicht</translation> </message> @@ -5297,37 +5319,37 @@ <translation type="obsolete">Shift+F8</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1124"/> + <location filename="../src/MainFrame.cpp" line="1132"/> <source>3D View</source> <translation>3D Ansicht</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1129"/> + <location filename="../src/MainFrame.cpp" line="1137"/> <source>Cp View</source> <translation>Cp Ansicht</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2139"/> + <location filename="../src/MainFrame.cpp" line="2186"/> <source>&Design</source> <translation>&Design</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2185"/> + <location filename="../src/MainFrame.cpp" line="2232"/> <source>Polar Graphs</source> <translation>Polar Graphen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2199"/> + <location filename="../src/MainFrame.cpp" line="2246"/> <source>Operating Points</source> <translation>Arbeitspunkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2204"/> + <location filename="../src/MainFrame.cpp" line="2251"/> <source>Cp Graph</source> <translation>Cp-Graph</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2210"/> + <location filename="../src/MainFrame.cpp" line="2257"/> <source>Current XFoil Results</source> <translation>Aktuelle XFoil Resultate</translation> </message> @@ -5336,102 +5358,102 @@ <translation type="obsolete">Design Tätigkeiten</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2301"/> + <location filename="../src/MainFrame.cpp" line="2348"/> <source>Store Foil</source> <translation>Profil speichern</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2302"/> + <location filename="../src/MainFrame.cpp" line="2349"/> <source>Store Foil in database</source> <translation>Profil in Datenbank speichern</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2305"/> + <location filename="../src/MainFrame.cpp" line="2352"/> <source>Extract Foil</source> <translation>Profil entnehmen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2306"/> + <location filename="../src/MainFrame.cpp" line="2353"/> <source>Extract a Foil from the database for modification</source> <translation>Profil aus Datenbank für Änderungen entnehmen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2310"/> + <location filename="../src/MainFrame.cpp" line="2357"/> <source>Define the styles for this view</source> <translation>Gestalltung für diese Ansicht einstellen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2314"/> + <location filename="../src/MainFrame.cpp" line="2361"/> <source>Resets the scale to fit the screen size</source> <translation>Skalierung auf Ansichtsbreite zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2317"/> + <location filename="../src/MainFrame.cpp" line="2364"/> <source>Insert Control Point</source> <translation>Kontrollpunkt einfügen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2320"/> + <location filename="../src/MainFrame.cpp" line="2367"/> <source>Remove Control Point</source> <translation>Kontrollpunkt löschen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2323"/> + <location filename="../src/MainFrame.cpp" line="2370"/> <source>Show Q-Initial</source> <translation>Q-Initial anzeigen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2327"/> + <location filename="../src/MainFrame.cpp" line="2374"/> <source>Show Q-Spec</source> <translation>Q-Spec anzeigen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2331"/> + <location filename="../src/MainFrame.cpp" line="2378"/> <source>Show Q-Viscous</source> <translation>Q-Viscous anzeigen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2335"/> + <location filename="../src/MainFrame.cpp" line="2382"/> <source>Show Points</source> <translation>Punkte anzeigen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2339"/> + <location filename="../src/MainFrame.cpp" line="2386"/> <source>Show Reflected</source> <translation>Zeige reflektierete</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2350"/> + <location filename="../src/MainFrame.cpp" line="2397"/> <source>Zoom X Scale</source> <translation>X-Skalierung zoomen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2351"/> + <location filename="../src/MainFrame.cpp" line="2398"/> <source>Zoom X Scale Only</source> <translation>Nur X-Skalierung zoomen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2354"/> + <location filename="../src/MainFrame.cpp" line="2401"/> <source>Zoom Y Scale</source> <translation>Y-Skalierung zoomen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2369"/> + <location filename="../src/MainFrame.cpp" line="2416"/> <source>&Graph</source> <translation>&Graph</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2406"/> + <location filename="../src/MainFrame.cpp" line="2453"/> <source>Full Inverse</source> <translation>Voll-Invers</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2407"/> + <location filename="../src/MainFrame.cpp" line="2454"/> <source>Mixed Inverse</source> <translation>Gemischt-Invers</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2424"/> + <location filename="../src/MainFrame.cpp" line="2471"/> <source>XInverse</source> <translation>XInvers</translation> </message> @@ -5448,175 +5470,176 @@ </translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2457"/> + <location filename="../src/MainFrame.cpp" line="2504"/> <source>and all associated OpPoints and Polars ?</source> <translation>und aller zugehörigen Arbeitspunkte und Polaren?</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2459"/> - <location filename="../src/MainFrame.cpp" line="3762"/> + <location filename="../src/MainFrame.cpp" line="2506"/> + <location filename="../src/MainFrame.cpp" line="3818"/> <source>Question</source> <translation>Frage</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3324"/> - <location filename="../src/MainFrame.cpp" line="3588"/> + <location filename="../src/MainFrame.cpp" line="3374"/> + <location filename="../src/MainFrame.cpp" line="3644"/> <source>Could not read the file </source> <translation>File konnte nicht gelesen werden </translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="94"/> - <location filename="../src/MainFrame.cpp" line="3325"/> + <location filename="../src/MainFrame.cpp" line="97"/> + <location filename="../src/MainFrame.cpp" line="3375"/> <source>Info</source> <translation>Info</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3389"/> - <location filename="../src/MainFrame.cpp" line="3762"/> + <location filename="../src/MainFrame.cpp" line="3439"/> + <location filename="../src/MainFrame.cpp" line="3818"/> <source>Save the current project ?</source> <translation>Aktuelles Projekt speichern?</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3520"/> + <location filename="../src/MainFrame.cpp" line="3576"/> <source>Text File (*.txt);;Comma Separated Values (*.csv)</source> <translation>Text File (*.txt);;Comma Separated Values (*.csv)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3577"/> - <location filename="../src/MainFrame.cpp" line="3664"/> + <location filename="../src/MainFrame.cpp" line="3633"/> + <location filename="../src/MainFrame.cpp" line="3720"/> <source>Open File</source> <translation>Datei öffnen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3579"/> + <location filename="../src/MainFrame.cpp" line="3635"/> <source>Project file (*.wpa)</source> <translation>Project file (*.wpa)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="103"/> - <location filename="../src/MainFrame.cpp" line="3589"/> - <location filename="../src/MainFrame.cpp" line="3981"/> - <location filename="../src/MainFrame.cpp" line="4004"/> - <location filename="../src/MainFrame.cpp" line="4187"/> - <location filename="../src/MainFrame.cpp" line="4257"/> - <location filename="../src/MainFrame.cpp" line="4601"/> - <location filename="../src/MainFrame.cpp" line="4910"/> - <location filename="../src/MainFrame.cpp" line="5132"/> + <location filename="../src/MainFrame.cpp" line="106"/> + <location filename="../src/MainFrame.cpp" line="3474"/> + <location filename="../src/MainFrame.cpp" line="3645"/> + <location filename="../src/MainFrame.cpp" line="4038"/> + <location filename="../src/MainFrame.cpp" line="4061"/> + <location filename="../src/MainFrame.cpp" line="4244"/> + <location filename="../src/MainFrame.cpp" line="4314"/> + <location filename="../src/MainFrame.cpp" line="4660"/> + <location filename="../src/MainFrame.cpp" line="4969"/> + <location filename="../src/MainFrame.cpp" line="5192"/> <location filename="../src/Objects/Foil.cpp" line="659"/> <source>Warning</source> <translation>Warnung</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3666"/> + <location filename="../src/MainFrame.cpp" line="3722"/> <source>XFLR5 file (*.dat *.plr *.wpa)</source> <translation>XFLR5 file (*.dat *.plr *.wpa)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3774"/> - <location filename="../src/MainFrame.cpp" line="3947"/> - <location filename="../src/MainFrame.cpp" line="3962"/> + <location filename="../src/MainFrame.cpp" line="3830"/> + <location filename="../src/MainFrame.cpp" line="4004"/> + <location filename="../src/MainFrame.cpp" line="4019"/> <source>The project </source> <translation>Das Projekt</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3774"/> - <location filename="../src/MainFrame.cpp" line="3947"/> - <location filename="../src/MainFrame.cpp" line="3962"/> + <location filename="../src/MainFrame.cpp" line="3830"/> + <location filename="../src/MainFrame.cpp" line="4004"/> + <location filename="../src/MainFrame.cpp" line="4019"/> <source> has been saved</source> <translation>wurde gespeichert</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4724"/> + <location filename="../src/MainFrame.cpp" line="4783"/> <source>Enter the foil's new name</source> <translation>Geben Sie den neuen Profil-Namen ein</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3840"/> - <location filename="../src/MainFrame.cpp" line="3844"/> + <location filename="../src/MainFrame.cpp" line="3896"/> + <location filename="../src/MainFrame.cpp" line="3900"/> <source>Default Settings</source> <translation>Standardwerte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="103"/> + <location filename="../src/MainFrame.cpp" line="106"/> <source>Your system does not provide support for OpenGL. XFLR5 will not operate correctly.</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="485"/> + <location filename="../src/MainFrame.cpp" line="491"/> <source>Define the save options for operating points</source> <translation>Speicherpunkte für Arbeitspunkte festlegen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="488"/> + <location filename="../src/MainFrame.cpp" line="494"/> <source>Units...</source> <translation>Einheiten...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="519"/> + <location filename="../src/MainFrame.cpp" line="525"/> <source>Define the color and font options for all views and graphs</source> <translation>Farben und Fonts für alle Graphen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="541"/> + <location filename="../src/MainFrame.cpp" line="547"/> <source>More information about XFLR5</source> <translation>Mehr information üner XFLR5</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="544"/> + <location filename="../src/MainFrame.cpp" line="550"/> <source>About Qt</source> <translation>Über QT</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="547"/> - <location filename="../src/MainFrame.cpp" line="552"/> + <location filename="../src/MainFrame.cpp" line="553"/> + <location filename="../src/MainFrame.cpp" line="558"/> <source>Properties</source> <translation>Eigenschaften</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="548"/> + <location filename="../src/MainFrame.cpp" line="554"/> <source>Show the properties of the currently selected polar</source> <translation>Eigneschalften der ausgewählten Polaren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="642"/> + <location filename="../src/MainFrame.cpp" line="648"/> <source>Reset Scales</source> <translation>Skalierungen zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="694"/> + <location filename="../src/MainFrame.cpp" line="700"/> <source>Set Table Columns</source> <translation>Setze Tabellen Spalten</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="697"/> + <location filename="../src/MainFrame.cpp" line="703"/> <source>Reset column widths</source> <translation>Spaltenbreite zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="700"/> + <location filename="../src/MainFrame.cpp" line="706"/> <source>Load background image</source> <translation>Lade Hintergrundbild</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="702"/> + <location filename="../src/MainFrame.cpp" line="708"/> <source>Clear background image</source> <translation>Hintergrundbild löschen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1069"/> + <location filename="../src/MainFrame.cpp" line="1077"/> <source>Options</source> <translation>Optionen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1103"/> + <location filename="../src/MainFrame.cpp" line="1111"/> <source>Switch to the Operating point view</source> <translation>Zur Arbeitspunkt Ansicht wechseln</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1109"/> + <location filename="../src/MainFrame.cpp" line="1117"/> <source>Switch to the Polar view</source> <translation>Zur Polaren Ansicht wechseln</translation> </message> @@ -5625,492 +5648,497 @@ <translation type="obsolete">Stabilitäts Analyse</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1115"/> + <location filename="../src/MainFrame.cpp" line="1123"/> <source>Switch to stability analysis post-processing</source> <translation>Zur Analyse post-processing wechseln</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1119"/> + <location filename="../src/MainFrame.cpp" line="1127"/> <source>Root Locus View</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1121"/> + <location filename="../src/MainFrame.cpp" line="1129"/> <source>Switch to root locus view</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1126"/> + <location filename="../src/MainFrame.cpp" line="1134"/> <source>Switch to the 3D view</source> <translation>Zur 3D-Ansicht wechseln</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1131"/> + <location filename="../src/MainFrame.cpp" line="1139"/> <source>Switch to the Cp view</source> <translation>Zur Cp-Ansicht wechseln</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1135"/> + <location filename="../src/MainFrame.cpp" line="1143"/> <source>Define the style and color preferences for the 3D view</source> <translation>Style und Farben für die 3D Ansicht einstellen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1139"/> + <location filename="../src/MainFrame.cpp" line="1147"/> <source>Define which type of polars should be shown or hidden</source> <translation>Welche Polaren sollen angezeigt/versteckt werden</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1143"/> + <location filename="../src/MainFrame.cpp" line="1151"/> <source>Define the scales for the 3D display of lift, moment, drag, and downwash</source> <translation>Skalierungen für 3D Ansicht von Auftrieb, Momenten, Widerstand und Downwash</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1148"/> + <location filename="../src/MainFrame.cpp" line="1156"/> <source>Define the light options in 3D view</source> <translation>Lichteinstellungen in der 3D Ansicht</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1155"/> + <location filename="../src/MainFrame.cpp" line="1163"/> <source>Half Wing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1168"/> + <location filename="../src/MainFrame.cpp" line="1176"/> <source>Rename the currently selected object</source> <translation>Objekt umbenennen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1177"/> + <location filename="../src/MainFrame.cpp" line="1185"/> <source>Edit the body of the currently selected plane</source> <translation>Rumpf des aktuellen Flugzeuges editieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1199"/> + <location filename="../src/MainFrame.cpp" line="1207"/> <source>Export the current plane or wing to a text file in the format required by AVL</source> <translation>Exportiere Flugmodell oder Tragfläche als AVL Text File</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1203"/> + <location filename="../src/MainFrame.cpp" line="1211"/> <source>Export the current operating point to a text or csv file</source> <translation>Exportiere aktuellen Arbeitspunkt als Text oder CSV File</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1207"/> - <location filename="../src/MainFrame.cpp" line="1211"/> + <location filename="../src/MainFrame.cpp" line="1215"/> + <location filename="../src/MainFrame.cpp" line="1219"/> <source>Reset the legend position to its default value</source> <translation>Legendenposition zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1215"/> + <location filename="../src/MainFrame.cpp" line="1223"/> <source>Reset the wing scale to its default value</source> <translation>Tragflächenskalierung zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1219"/> + <location filename="../src/MainFrame.cpp" line="1227"/> <source>Scale the dimensions of the currently selected wing</source> <translation>Dimensionen der Tragfläche skalieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1222"/> + <location filename="../src/MainFrame.cpp" line="1230"/> <source>Manage objects</source> <translation>Objekte verwalten</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1223"/> + <location filename="../src/MainFrame.cpp" line="1231"/> <source>Rename or delete the planes and wings stored in the database</source> <translation>Modelle oder Tragflächen in der Datenbank umbenennen oder löschen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1228"/> + <location filename="../src/MainFrame.cpp" line="1236"/> <source>Import a polar from a text file</source> <translation>Polare von Text File importieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1232"/> + <location filename="../src/MainFrame.cpp" line="1240"/> <source>Define the inertia for the current plane or wing</source> <translation>Trägheitsmomente für aktuelles Modell oder Tragfläche definieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1237"/> + <location filename="../src/MainFrame.cpp" line="1245"/> <source>Hide all the curves except for the one corresponding to the currently selected operating point</source> <translation>Alle Kurven ausser jene für den aktuellen Arbeitspunkt verbergen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1242"/> + <location filename="../src/MainFrame.cpp" line="1250"/> <source>Show the graph curves of all operating points</source> <translation>Zeige Graphen für alle Arbeitspunkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1246"/> + <location filename="../src/MainFrame.cpp" line="1254"/> <source>Hide the graph curves of all operating points</source> <translation>Verberge Graphen für alle Arbeitspunkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1250"/> + <location filename="../src/MainFrame.cpp" line="1258"/> <source>Delete all the operating points of all planes and polars</source> <translation>Lösche alle Arbeitspunkte für alle Modelle und Polaren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1254"/> + <location filename="../src/MainFrame.cpp" line="1262"/> <source>Show the curves of all the operating points of the currently selected polar</source> <translation>Zeige alle Kurven für alle Arbeitspunkte der aktuellen Polare</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1258"/> + <location filename="../src/MainFrame.cpp" line="1266"/> <source>Hide the curves of all the operating points of the currently selected polar</source> <translation>Verberge alle Kurven der Arbeitspunkte der aktuellen polare</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1262"/> + <location filename="../src/MainFrame.cpp" line="1270"/> <source>Delete all the operating points of the currently selected polar</source> <translation>Lösche alle Arbeitspunkte der aktuellen Polare</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1266"/> + <location filename="../src/MainFrame.cpp" line="1274"/> <source>Show the theoretical optimal elliptic lift curve on all graphs for which the selected variable is the local lift</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1270"/> + <location filename="../src/MainFrame.cpp" line="1278"/> <source>Show XCG location</source> <translation>Zeige XCG Position</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1271"/> + <location filename="../src/MainFrame.cpp" line="1279"/> <source>Show the position of the center of gravity defined in the analysis</source> <translation>Zeige COG Position in der Analyse</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1276"/> + <location filename="../src/MainFrame.cpp" line="1284"/> <source>Show the graph curves for the elevator</source> <translation>Zeige Graphen-Kurve für das Höhenruder</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1281"/> + <location filename="../src/MainFrame.cpp" line="1289"/> <source>Show the graph curves for the fin</source> <translation>Zeige Graphen-Kurve für das Seitenruder</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1286"/> + <location filename="../src/MainFrame.cpp" line="1294"/> <source>Show the graph curves for the second wing</source> <translation>Zeige Graphen-Kurve für die zweite Tragfläche</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1291"/> + <location filename="../src/MainFrame.cpp" line="1299"/> <source>Define an analysis for the current wing or plane</source> <translation>Erstelle eine Analyse für das aktuelle Modell oder Tragfläche</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1300"/> + <location filename="../src/MainFrame.cpp" line="1308"/> <source>Define a Stability Analysis</source> <translation>Erstelle eine Stabilitäts Analyse</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1301"/> + <location filename="../src/MainFrame.cpp" line="1309"/> <source>Define a stability analysis for the current wing or plane</source> <translation>Erstelle eine Stabilitäts Analyse für das aktuelle Modell oder Tragfläche</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1305"/> - <location filename="../src/MainFrame.cpp" line="1840"/> - <location filename="../src/MainFrame.cpp" line="2343"/> + <location filename="../src/MainFrame.cpp" line="1313"/> + <location filename="../src/MainFrame.cpp" line="1887"/> + <location filename="../src/MainFrame.cpp" line="2390"/> <source>Define Graph Settings</source> <translation>Bestimme Graphen Einstellungen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1306"/> + <location filename="../src/MainFrame.cpp" line="1314"/> <source>Define the settings for the selected graph</source> <translation>Einstellungen für aktuellen Graphen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1310"/> + <location filename="../src/MainFrame.cpp" line="1318"/> <source>Display the first two operating point graphs</source> <translation>Zeige die ersten zwei Arbeitspunkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1315"/> + <location filename="../src/MainFrame.cpp" line="1323"/> <source>Display all four operating point graphs</source> <translation>Zeige alle vier Arbeitspunkte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1320"/> + <location filename="../src/MainFrame.cpp" line="1328"/> <source>Display only the first graph</source> <translation>Zeige nur den ersten Graphen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1325"/> + <location filename="../src/MainFrame.cpp" line="1333"/> <source>Display only the second graph</source> <translation>Zeige nur den zweiten Graphen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1330"/> + <location filename="../src/MainFrame.cpp" line="1338"/> <source>Display only the third graph</source> <translation>Zeige nur den dritten Graphen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1335"/> + <location filename="../src/MainFrame.cpp" line="1343"/> <source>Display only the fourth graph</source> <translation>Zeige nur der vierten Graphen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1339"/> - <location filename="../src/MainFrame.cpp" line="1867"/> + <location filename="../src/MainFrame.cpp" line="1347"/> + <location filename="../src/MainFrame.cpp" line="1914"/> <source>Highlight Current OpPoint</source> <translation type="unfinished">Aktuellen Arbeitspunkt hervorheben</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1341"/> - <location filename="../src/MainFrame.cpp" line="1869"/> + <location filename="../src/MainFrame.cpp" line="1349"/> + <location filename="../src/MainFrame.cpp" line="1916"/> <source>Highlights on the polar curve the currently selected operating point</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1345"/> + <location filename="../src/MainFrame.cpp" line="1353"/> <source>Reset the scale of the current operating point graph</source> <translation>Skalierung des aktuellen Arbeitspunkten-Graphen zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1349"/> + <location filename="../src/MainFrame.cpp" line="1357"/> <source>Reset the scales of all four operating point graphs</source> <translation>Skalierung aller Graphen zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1353"/> + <location filename="../src/MainFrame.cpp" line="1361"/> <source>Reset the scales of all four polar graphs</source> <translation>Skalierung aller Polar-Graphen zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1357"/> + <location filename="../src/MainFrame.cpp" line="1365"/> <source>Define the settings of all four operating point graphs</source> <translation>Einstellungen für alle vier Arbeitspunkt-Graphen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1361"/> + <location filename="../src/MainFrame.cpp" line="1369"/> <source>Define the settings of all four polar graphs</source> <translation>Einstellungen für alle vier Polaren-Graphen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1365"/> + <location filename="../src/MainFrame.cpp" line="1373"/> <source>Hide all the polar curves associated to the currently selected wing or plane</source> <translation>Verberge alle Polar Kurven des aktuellen Modelles oder Tragfläche</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1369"/> + <location filename="../src/MainFrame.cpp" line="1377"/> <source>Show all the polar curves associated to the currently selected wing or plane</source> <translation>Zeige alle Polar-Kurven für aktuelles Modell oder Tragfläche</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1373"/> + <location filename="../src/MainFrame.cpp" line="1381"/> <source>Delete all the polars associated to the currently selected wing or plane</source> <translation>Lösche alle Polaren des aktuellen Modelles oder Tragfläche</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1377"/> + <location filename="../src/MainFrame.cpp" line="1385"/> <source>Hide all the polar curves of all wings and planes</source> <translation>Verberge alle Polaren für alle Modelle und Tragflächen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1381"/> + <location filename="../src/MainFrame.cpp" line="1389"/> <source>Show all the polar curves of all wings and planes</source> <translation>Zeige alle Polaren von allen Modellen und Tragflächen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1385"/> + <location filename="../src/MainFrame.cpp" line="1393"/> <source>Hide all the operating point curves of the currently selected wing or plane</source> <translation>Verberge alle Arbeitspunkt-Kurven für aktuelles Modell der Tragfläche</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1389"/> + <location filename="../src/MainFrame.cpp" line="1397"/> <source>Show all the operating point curves of the currently selected wing or plane</source> <translation>Zeige alle Arbeitspunkt-Kurven für aktuelles Modell der Tragfläche</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1393"/> + <location filename="../src/MainFrame.cpp" line="1401"/> <source>Delete all the operating points of the currently selected wing or plane</source> <translation>Lösche alle Arbeitspunkt-Kurven für aktuelles Modell der Tragfläche</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1397"/> + <location filename="../src/MainFrame.cpp" line="1405"/> <source>Delete the currently selected wing or plane</source> <translation>Lösche ausgewähltes Modell oder Tragfläche</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1401"/> + <location filename="../src/MainFrame.cpp" line="1409"/> <source>Duplicate the currently selected wing or plane</source> <translation>Dupliziere ausgewähltes Modell oder Tragfläche</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1405"/> + <location filename="../src/MainFrame.cpp" line="1413"/> <source>Save the currently selected wing or plane as a new separate project</source> <translation>Speichere ausgewähltes Modell oder Tragfläche in ein neues Projekt</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1409"/> + <location filename="../src/MainFrame.cpp" line="1417"/> <source>Rename the currently selected polar</source> <translation>Ausgewwählte Polare umbenennen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1413"/> + <location filename="../src/MainFrame.cpp" line="1421"/> <source>Edit the points of the currently selected polar</source> <translation>Punkte der aktuellen Polaren ändern</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1417"/> + <location filename="../src/MainFrame.cpp" line="1425"/> <source>Export the currently selected polar to a text or csv file</source> <translation>Exportiere aktuelle Polare als Text oder CSV File</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1421"/> + <location filename="../src/MainFrame.cpp" line="1429"/> <source>Delete all the points of the currently selected polar, but keep the analysis settings</source> <translation>Lösche alle Punkte der aktuellen Polare; Einstellunge beibehalten</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1425"/> + <location filename="../src/MainFrame.cpp" line="1433"/> <source>Delete the currently selected polar</source> <translation>Lösche die aktuelle Polare</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1429"/> + <location filename="../src/MainFrame.cpp" line="1437"/> <source>Delete the currently selected operating point</source> <translation>Lösche den aktuellen Arbeitspunkt</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1433"/> + <location filename="../src/MainFrame.cpp" line="1441"/> <source>Define the settings for LLT, VLM and Panel analysis</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1562"/> + <location filename="../src/MainFrame.cpp" line="1593"/> <source>&Analysis</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1290"/> - <location filename="../src/MainFrame.cpp" line="1916"/> + <location filename="../src/MainFrame.cpp" line="1298"/> + <location filename="../src/MainFrame.cpp" line="1963"/> <source>Define an Analysis</source> <translation>Analyse definieren</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="553"/> + <location filename="../src/MainFrame.cpp" line="559"/> <source>Show the properties of the currently selected operating point</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1113"/> + <location filename="../src/MainFrame.cpp" line="1121"/> <source>Time Response Vew</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1827"/> + <location filename="../src/MainFrame.cpp" line="1874"/> <source>Define Cp Graph Settings</source> <translation>Bestimme CP-Graph Einstellungen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1846"/> + <location filename="../src/MainFrame.cpp" line="1893"/> <source>Two Polar Graphs</source> <translation>Zwei Polar-Graphen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1850"/> + <location filename="../src/MainFrame.cpp" line="1897"/> <source>All Polar Graphs</source> <translation>Alle Polar Graphen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1861"/> + <location filename="../src/MainFrame.cpp" line="1908"/> <source>Cl vs. Cd</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1862"/> + <location filename="../src/MainFrame.cpp" line="1909"/> <source>Cl vs.Alpha</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1863"/> + <location filename="../src/MainFrame.cpp" line="1910"/> <source>Cl vs. Xtr.</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1864"/> + <location filename="../src/MainFrame.cpp" line="1911"/> <source>Cm vs.Alpha</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1865"/> + <location filename="../src/MainFrame.cpp" line="1912"/> <source>Glide ratio vs. alpha</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1920"/> + <location filename="../src/MainFrame.cpp" line="1967"/> <source>Batch Analysis</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2153"/> + <location filename="../src/MainFrame.cpp" line="2200"/> <source>Analysis</source> <translation>Analyse</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2313"/> + <location filename="../src/MainFrame.cpp" line="2360"/> <source>Reset foil scale</source> <translation>Profil Skalierung zurücksetzen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2456"/> + <location filename="../src/MainFrame.cpp" line="2503"/> <source>Are you sure you want to delete</source> <translation>Sind Sie sicher das Sie löschen wollen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3840"/> + <location filename="../src/MainFrame.cpp" line="3474"/> + <source>Error reading the file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/MainFrame.cpp" line="3896"/> <source>Are you sure you want to reset the default settings ?</source> <translation>Wirklich auf die Standardwerte zurücksetzen?</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3844"/> + <location filename="../src/MainFrame.cpp" line="3900"/> <source>The settings will be reset at the next session</source> <translation>Die Einstellungen werden beim Neustart zurückgesetzt</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3981"/> - <location filename="../src/MainFrame.cpp" line="5132"/> + <location filename="../src/MainFrame.cpp" line="4038"/> + <location filename="../src/MainFrame.cpp" line="5192"/> <source>Nothing to save</source> <translation>Nichts zu speichern</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3990"/> - <location filename="../src/MainFrame.cpp" line="4890"/> + <location filename="../src/MainFrame.cpp" line="4047"/> + <location filename="../src/MainFrame.cpp" line="4949"/> <source>Save the Project File</source> <translation>Projekt File speichern</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3992"/> + <location filename="../src/MainFrame.cpp" line="4049"/> <source>XFLR5 Project File (*.wpa)</source> <translation>XFLR5 Project File (*.wpa)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4004"/> - <location filename="../src/MainFrame.cpp" line="4910"/> + <location filename="../src/MainFrame.cpp" line="4061"/> + <location filename="../src/MainFrame.cpp" line="4969"/> <source>Could not open the file for writing</source> <translation>Kann Datei zum Schreiben nicht öffnen</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4048"/> + <location filename="../src/MainFrame.cpp" line="4105"/> <source>Save Image</source> <translation>Bild speichern</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4187"/> - <location filename="../src/MainFrame.cpp" line="4257"/> + <location filename="../src/MainFrame.cpp" line="4244"/> + <location filename="../src/MainFrame.cpp" line="4314"/> <source>Unidentified Operating Point</source> <translation>Unbekannter Arbeitspunkt</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4601"/> + <location filename="../src/MainFrame.cpp" line="4660"/> <source>Obsolete format, cannot read</source> <translation>Veraltetes Format, lesen nicht möglich</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4892"/> + <location filename="../src/MainFrame.cpp" line="4951"/> <source>XFLR5 v6 Project File (*.wpa);;XFLR5 v5 Project File (*.*)</source> <translation></translation> </message> @@ -6119,14 +6147,14 @@ <translation type="obsolete">QFLR5 v5.00 Project File (*.wpa);;XFLR5 v4.00 Project File (*.wpa)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="5937"/> + <location filename="../src/MainFrame.cpp" line="6001"/> <source>A foil of that name already exists Please enter a new name</source> <translation>Profil mit diesem Namen existiert schon. Bitte neuen Namen eingeben</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="6658"/> + <location filename="../src/MainFrame.cpp" line="6722"/> <source>&%1 %2</source> <translation>&%1 %2</translation> </message> @@ -6522,24 +6550,24 @@ <translation>3D Panel Analyse</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="174"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1815"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2402"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2792"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="172"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1813"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2400"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2790"/> <source>Warning</source> <translation>Warnung</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="174"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1815"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2402"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="172"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1813"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2400"/> <source>The number of points to be calculated will be limited to 100</source> <translation>Die Anzahl der Punkte die berechnet werden sind auf 100 limitiert</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="209"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1866"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2438"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="207"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1864"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2436"/> <source> Solving the problem... </source> <translation>Löse das Problem...</translation> </message> @@ -6572,18 +6600,18 @@ <translation type="obsolete">Erzeuge RHS Vektor...</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="467"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="611"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="465"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="609"/> <source> Adding the wake's contribution...</source> <translation>Füge den Wirbelbeitrag hinzu....</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="827"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="825"/> <source>Found a negative lift for Alpha=%1.... skipping the angle...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1275"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1273"/> <source> Computing On-Body Speeds...</source> <translation>Berechne Am-Körper Geschwindigkeiten...</translation> </message> @@ -6596,19 +6624,19 @@ <translation type="obsolete">Negativer Auftrieb für Alpha=%1 .... überspringe den Winkel...</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="918"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="919"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2897"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="916"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="917"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2895"/> <source> Computing Plane for alpha=%1</source> <translation>Berechne Plane für alpha=%1</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="934"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="932"/> <source> Computing Plane for QInf=%1</source> <translation>Berechne Plane für QInf=%1</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="982"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="980"/> <source> Calculating aerodynamic coefficients...</source> <translation>Berechen Aerodynamische Koeffizienten...</translation> </message> @@ -6629,12 +6657,12 @@ <translation type="obsolete">Berechne Seitenruder...</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="995"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="993"/> <source> Calculating wing...</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1027"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1025"/> <source> Calculating body...</source> <translation>Berechne Rumpf...</translation> </message> @@ -6659,17 +6687,17 @@ <translation type="obsolete">Ein Seitenruder wird als asymmetrisch angenommen</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="349"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="347"/> <source> Creating source strengths...</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="744"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="742"/> <source> Calculating aerodynamic coefficients in the far field plane</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="768"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="766"/> <source> Calculating point </source> <translation></translation> </message> @@ -6678,48 +6706,48 @@ <translation type="obsolete">Führe symmetrie Berechnungen aus</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1642"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1640"/> <source>Performing symmetric calculation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1645"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1643"/> <source>Performing asymmetric calculation : </source> <translation>Führe symmetrie Berechnungen aus:</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1649"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1647"/> <source>Counted %1 panel elements</source> <translation>%1 Panel Elemente wurden gezählt</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1712"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1710"/> <source> Relaxing the wake...</source> <translation>Entspanne den Wirbel...</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2153"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2151"/> <source> Singular Matrix.... Aborting calculation... </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2307"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2305"/> <source>Type 1 - Fixed speed polar</source> <translation>Type 1 (Fixe Geschwindigkeit)</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2308"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2306"/> <source>Type 2 - Fixed lift polar</source> <translation>Type 2 (Fixer Auftrieb)</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2309"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2307"/> <source>Type 4 - Fixed angle of attack polar</source> <translation>Type 4 - Fixer AoA</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2310"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2308"/> <source>Type 7 - Stability polar</source> <translation>Type 7 - Stabilitäts Polare</translation> </message> @@ -6732,8 +6760,8 @@ <translation type="obsolete">Berechne induzierte Anstellwinkel...</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2115"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2272"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2113"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2270"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> @@ -6746,38 +6774,38 @@ <translation type="obsolete">Ainguläre Matrix...abbruch....</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2275"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2273"/> <source>Launching 3D Panel Analysis....</source> <translation>Starte 3D Panel Analyse....</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2278"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2276"/> <source>Launching VLM1 Analysis....</source> <translation>Starte VLM1 Analayse</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2279"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2277"/> <source>Launching VLM2 Analysis....</source> <translation>Starte VLM2 Analyse</translation> </message> <message> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2283"/> <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2285"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2287"/> <source>Using Dirichlet boundary conditions</source> <translation>Verwende Dirichlet Randbedingungen</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2288"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2286"/> <source>Using Neumann boundary conditions</source> <translation>Verwende Neumann Randbedingungen</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2300"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2298"/> <source>Warning: The wing and elevator lie in the same plane z=</source> <translation>Warnung: Tragfläche und Höhenruder liegen in der selben Ebene z=</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2302"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2300"/> <source>It is recommended to slightly offset the wing or the elevator to avoid numerical instabilities</source> <translation>Es wird empfohlen Tragfläche und Höhenruder leicht zu versetzen (Numerische Stabilität)</translation> </message> @@ -6786,27 +6814,27 @@ <translation type="obsolete">Analyse Methode</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2353"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2351"/> <source>Panel Analysis completed successfully</source> <translation>Panel Analyse erfolgreich abgeschlossen</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2354"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2352"/> <source>Panel Analysis completed ... Errors encountered</source> <translation>Panel Analyse abgeschlossen...Fehler wurden festgestellt</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2368"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2366"/> <source>Close</source> <translation>Schließen</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2444"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2442"/> <source>Processing Alpha= %1</source> <translation>Verarbeite Alpha=%1</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2472"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2470"/> <source> Wake iteration %1</source> <translation>Wirbel Iteration %1</translation> </message> @@ -6851,7 +6879,7 @@ <context> <name>PlaneDlg</name> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="45"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="46"/> <source>Plane Editor</source> <translation>Flugzeug Editor</translation> </message> @@ -6890,66 +6918,57 @@ <translation>Frage</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="861"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="862"/> <source>Plane Name</source> <translation>Flugzeugname</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="864"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="865"/> <source>Enter here a short description for the plane</source> <translation>Geben Sie eine Beschreibung für das Flugzeug an</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="865"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="866"/> <source>Description:</source> <translation>Beschreibung:</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="866"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="867"/> <source>Plane Inertia</source> <translation>Flugzeug Trägheit</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="858"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="859"/> <source>Plane Description</source> <translation>Flugzeug Beschreibung</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="877"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="912"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="946"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="977"/> - <source>Define</source> - <translation>Definiere</translation> - </message> - <message> <location filename="../src/Miarex/PlaneDlg.cpp" line="878"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="913"/> - <source>Import</source> - <translation>Importieren</translation> + <location filename="../src/Miarex/PlaneDlg.cpp" line="947"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="978"/> + <source>Define</source> + <translation>Definiere</translation> </message> <message> <location filename="../src/Miarex/PlaneDlg.cpp" line="879"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="914"/> - <source>Export</source> - <translation>Exportieren</translation> + <source>Import</source> + <translation>Importieren</translation> </message> <message> <location filename="../src/Miarex/PlaneDlg.cpp" line="880"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="915"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="947"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="980"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1033"/> - <source>x=</source> - <translation></translation> + <source>Export</source> + <translation>Exportieren</translation> </message> <message> <location filename="../src/Miarex/PlaneDlg.cpp" line="881"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="916"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="948"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="982"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="981"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="1034"/> - <source>z=</source> + <source>x=</source> <translation></translation> </message> <message> @@ -6957,111 +6976,120 @@ <location filename="../src/Miarex/PlaneDlg.cpp" line="917"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="949"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="983"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1035"/> + <source>z=</source> + <translation></translation> + </message> + <message> + <location filename="../src/Miarex/PlaneDlg.cpp" line="883"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="918"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="950"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="984"/> <source>Tilt Angle=</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="874"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="875"/> <source>Main Wing</source> <translation>Haupt-Tragfläche</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="910"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="911"/> <source>Biplane</source> <translation>Doppeldecker</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="907"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="908"/> <source>Wing 2</source> <translation>Tragfläche 2</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="942"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="945"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="943"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="946"/> <source>Elevator</source> <translation>Höhenruder</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="973"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="976"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="974"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="977"/> <source>Fin</source> <translation>Seitenruder</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="978"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="979"/> <source>Double Fin</source> <translation>Doppeltes Seitenruder</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="979"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="980"/> <source>Two-sided Fin</source> <translation>Zweiseitiges Seitenruder</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="981"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="982"/> <source>y=</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1015"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1019"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1016"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1020"/> <source>Body</source> <translation>Rumpf</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1018"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1019"/> <source>Warning: Including the body in the analysis is not recommended. Check the guidelines for explanations.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1020"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1021"/> <source>Edit...</source> <translation>Bearbeiten...</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1050"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1051"/> <source>Wing Area = </source> <translation>Flügel Fläche=</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1051"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1052"/> <source>Wing Span = </source> <translation>Trangflächen-Spannweite =</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1052"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1053"/> <source>Elev. Area = </source> <translation>Höhenruder Fläche =</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1053"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1054"/> <source>Elev. Lever Arm = </source> <translation>Höhenruder Hebelarm =</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1054"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1055"/> <source>Fin Area = </source> <translation>Seitenruderfläche = </translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1055"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1056"/> <source>TailVolume = </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1056"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1057"/> <source>Total Panels = </source> <translation>Gesamtzahl der Panels = </translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1109"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1110"/> <source>OK</source> <translation>Ok</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1110"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1111"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> @@ -7163,122 +7191,122 @@ <context> <name>QAFoil</name> <message> - <location filename="../src/Design/AFoil.cpp" line="387"/> + <location filename="../src/Design/AFoil.cpp" line="393"/> <source>Spline foil</source> <translation>Spline Profil</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="399"/> + <location filename="../src/Design/AFoil.cpp" line="405"/> <source>Splined points foil</source> <translation></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1238"/> + <location filename="../src/Design/AFoil.cpp" line="1244"/> <source>Foil has been de-rotated by %1 degrees</source> <translation>Profil wurde um %1 Grad entdreht</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1264"/> + <location filename="../src/Design/AFoil.cpp" line="1270"/> <source>Foil has been normalized from %1 to 1.000</source> <translation>Profile wurde von %1 auf 1000 normalisiert</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1603"/> - <location filename="../src/Design/AFoil.cpp" line="1841"/> + <location filename="../src/Design/AFoil.cpp" line="1609"/> <location filename="../src/Design/AFoil.cpp" line="1847"/> - <location filename="../src/Design/AFoil.cpp" line="1857"/> - <location filename="../src/Design/AFoil.cpp" line="1864"/> - <location filename="../src/Design/AFoil.cpp" line="2214"/> + <location filename="../src/Design/AFoil.cpp" line="1853"/> + <location filename="../src/Design/AFoil.cpp" line="1863"/> + <location filename="../src/Design/AFoil.cpp" line="1870"/> <location filename="../src/Design/AFoil.cpp" line="2220"/> - <location filename="../src/Design/AFoil.cpp" line="2251"/> - <location filename="../src/Design/AFoil.cpp" line="2259"/> + <location filename="../src/Design/AFoil.cpp" line="2226"/> + <location filename="../src/Design/AFoil.cpp" line="2257"/> + <location filename="../src/Design/AFoil.cpp" line="2265"/> <source>Warning</source> <translation>Warnung</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1603"/> + <location filename="../src/Design/AFoil.cpp" line="1609"/> <source>At least two foils are required</source> <translation>Es werden mind.zwei Profile benötigt</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1803"/> + <location filename="../src/Design/AFoil.cpp" line="1809"/> <source>Export Foil</source> <translation>Profil exportieren</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1805"/> + <location filename="../src/Design/AFoil.cpp" line="1811"/> <source>Foil File (*.dat)</source> <translation>Profil File (*.dat)</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1823"/> + <location filename="../src/Design/AFoil.cpp" line="1829"/> <source>Spline Foil</source> <translation>Spline Profil</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1840"/> - <location filename="../src/Design/AFoil.cpp" line="1856"/> - <location filename="../src/Design/AFoil.cpp" line="2213"/> - <location filename="../src/Design/AFoil.cpp" line="2250"/> + <location filename="../src/Design/AFoil.cpp" line="1846"/> + <location filename="../src/Design/AFoil.cpp" line="1862"/> + <location filename="../src/Design/AFoil.cpp" line="2219"/> + <location filename="../src/Design/AFoil.cpp" line="2256"/> <source>Too many output points on upper surface Max =%1</source> <translation>Zuviele Punkte auf der Oberseite Max = %1</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1846"/> - <location filename="../src/Design/AFoil.cpp" line="1863"/> - <location filename="../src/Design/AFoil.cpp" line="2219"/> - <location filename="../src/Design/AFoil.cpp" line="2258"/> + <location filename="../src/Design/AFoil.cpp" line="1852"/> + <location filename="../src/Design/AFoil.cpp" line="1869"/> + <location filename="../src/Design/AFoil.cpp" line="2225"/> + <location filename="../src/Design/AFoil.cpp" line="2264"/> <source>Too many output points on lower surface Max =%1</source> <translation>Zu viele Punkte auf der Unterseite Max = %1</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1872"/> + <location filename="../src/Design/AFoil.cpp" line="1878"/> <source>Export Splines</source> <translation>Splines exportieren</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1874"/> + <location filename="../src/Design/AFoil.cpp" line="1880"/> <source>Text File (*.dat)</source> <translation>Text Datei (*.dat)</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2634"/> + <location filename="../src/Design/AFoil.cpp" line="2640"/> <source>X-Scale = %1</source> <translation>X-Skalierung = %1</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2636"/> + <location filename="../src/Design/AFoil.cpp" line="2642"/> <source>Y-Scale = %1</source> <translation>Y-Skalierung = %1</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2638"/> + <location filename="../src/Design/AFoil.cpp" line="2644"/> <source>x = %1</source> <translation></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2640"/> + <location filename="../src/Design/AFoil.cpp" line="2646"/> <source>y = %1</source> <translation></translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3276"/> + <location filename="../src/Design/AFoil.cpp" line="3282"/> <source>Open Image File</source> <translation>Öffne Bilddatei</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2117"/> - <location filename="../src/Design/AFoil.cpp" line="2131"/> + <location filename="../src/Design/AFoil.cpp" line="2123"/> + <location filename="../src/Design/AFoil.cpp" line="2137"/> <source>Question</source> <translation>Frage</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2117"/> - <location filename="../src/Design/AFoil.cpp" line="2131"/> + <location filename="../src/Design/AFoil.cpp" line="2123"/> + <location filename="../src/Design/AFoil.cpp" line="2137"/> <source>Discard changes to Splines ?</source> <translation>Änderungen verwerfen?</translation> </message> @@ -7323,79 +7351,79 @@ <translation type="obsolete">Splined Punkte</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3000"/> + <location filename="../src/Design/AFoil.cpp" line="3006"/> <source>Name</source> <translation>Name</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3001"/> + <location filename="../src/Design/AFoil.cpp" line="3007"/> <source>Thickness (%)</source> <translation>Dicke(%)</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3002"/> - <location filename="../src/Design/AFoil.cpp" line="3004"/> + <location filename="../src/Design/AFoil.cpp" line="3008"/> + <location filename="../src/Design/AFoil.cpp" line="3010"/> <source>at (%)</source> <translation>bei (%)</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3003"/> + <location filename="../src/Design/AFoil.cpp" line="3009"/> <source>Camber (%)</source> <translation>Wölbung (%)</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3005"/> - <location filename="../src/Design/AFoil.cpp" line="3013"/> + <location filename="../src/Design/AFoil.cpp" line="3011"/> + <location filename="../src/Design/AFoil.cpp" line="3019"/> <source>Points</source> <translation>Punkte</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3006"/> + <location filename="../src/Design/AFoil.cpp" line="3012"/> <source>TE Flap (</source> <translation>T.E.(Hinterkanten) Klappe (</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3007"/> + <location filename="../src/Design/AFoil.cpp" line="3013"/> <source>TE XHinge</source> <translation>Hinterkaten X-Position der Aufhängung (TE XHinge)</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3008"/> + <location filename="../src/Design/AFoil.cpp" line="3014"/> <source>TE YHinge</source> <translation>Hinterkaten Y-Position der Aufhängung (TE YHinge)</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3009"/> + <location filename="../src/Design/AFoil.cpp" line="3015"/> <source>LE Flap (</source> <translation>L.E (Vorderkanten) Klappe (</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3010"/> + <location filename="../src/Design/AFoil.cpp" line="3016"/> <source>LE XHinge</source> <translation>Vorderkaten X-Position der Aufhängung (LE XHinge)</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3011"/> + <location filename="../src/Design/AFoil.cpp" line="3017"/> <source>LE YHinge</source> <translation>Vorderkaten Y-Position der Aufhängung (LE YHinge)</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3012"/> + <location filename="../src/Design/AFoil.cpp" line="3018"/> <source>Show</source> <translation>Anzeigen</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3014"/> + <location filename="../src/Design/AFoil.cpp" line="3020"/> <source>Centerline</source> <translation>Mittenlinie</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3015"/> + <location filename="../src/Design/AFoil.cpp" line="3021"/> <source>Style</source> <translation>Style</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3017"/> + <location filename="../src/Design/AFoil.cpp" line="3023"/> <source>Foils</source> <translation>Profile</translation> </message> @@ -7410,34 +7438,34 @@ <message> <location filename="../src/Miarex/Miarex.cpp" line="183"/> <location filename="../src/Miarex/Miarex.cpp" line="4079"/> - <location filename="../src/Miarex/Miarex.cpp" line="14880"/> - <location filename="../src/Miarex/Miarex.cpp" line="15012"/> + <location filename="../src/Miarex/Miarex.cpp" line="14481"/> + <location filename="../src/Miarex/Miarex.cpp" line="14617"/> <source>Cl</source> <translation>Cl</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14856"/> - <location filename="../src/Miarex/Miarex.cpp" line="14981"/> - <location filename="../src/Miarex/Miarex.cpp" line="14988"/> - <location filename="../src/Miarex/Miarex.cpp" line="15113"/> + <location filename="../src/Miarex/Miarex.cpp" line="14457"/> + <location filename="../src/Miarex/Miarex.cpp" line="14586"/> + <location filename="../src/Miarex/Miarex.cpp" line="14593"/> + <location filename="../src/Miarex/Miarex.cpp" line="14722"/> <source>Alpha</source> <translation>Alpha</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14883"/> - <location filename="../src/Miarex/Miarex.cpp" line="15015"/> + <location filename="../src/Miarex/Miarex.cpp" line="14484"/> + <location filename="../src/Miarex/Miarex.cpp" line="14620"/> <source>Cn</source> <translation>Cn</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14886"/> - <location filename="../src/Miarex/Miarex.cpp" line="15018"/> + <location filename="../src/Miarex/Miarex.cpp" line="14487"/> + <location filename="../src/Miarex/Miarex.cpp" line="14623"/> <source>VCn</source> <translation>VCn</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14889"/> - <location filename="../src/Miarex/Miarex.cpp" line="15021"/> + <location filename="../src/Miarex/Miarex.cpp" line="14490"/> + <location filename="../src/Miarex/Miarex.cpp" line="14626"/> <source>ICn</source> <translation>ICn</translation> </message> @@ -7452,7 +7480,7 @@ </message> <message> <location filename="../src/Miarex/Miarex.cpp" line="195"/> - <location filename="../src/Miarex/Miarex.cpp" line="14192"/> + <location filename="../src/Miarex/Miarex.cpp" line="13768"/> <source>Cp</source> <translation>Cp</translation> </message> @@ -7469,28 +7497,28 @@ <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="765"/> - <location filename="../src/Miarex/Miarex.cpp" line="1102"/> - <location filename="../src/Miarex/Miarex.cpp" line="1196"/> - <location filename="../src/Miarex/Miarex.cpp" line="7675"/> - <location filename="../src/Miarex/Miarex.cpp" line="7680"/> - <location filename="../src/Miarex/Miarex.cpp" line="7728"/> - <location filename="../src/Miarex/Miarex.cpp" line="7735"/> - <location filename="../src/Miarex/Miarex.cpp" line="7752"/> - <location filename="../src/Miarex/Miarex.cpp" line="8386"/> - <location filename="../src/Miarex/Miarex.cpp" line="8510"/> - <location filename="../src/Miarex/Miarex.cpp" line="10072"/> - <location filename="../src/Miarex/Miarex.cpp" line="10094"/> - <location filename="../src/Miarex/Miarex.cpp" line="15139"/> - <location filename="../src/Miarex/Miarex.cpp" line="15149"/> - <location filename="../src/Miarex/Miarex.cpp" line="15154"/> - <location filename="../src/Miarex/Miarex.cpp" line="15171"/> - <location filename="../src/Miarex/Miarex.cpp" line="15192"/> + <location filename="../src/Miarex/Miarex.cpp" line="769"/> + <location filename="../src/Miarex/Miarex.cpp" line="1106"/> + <location filename="../src/Miarex/Miarex.cpp" line="1200"/> + <location filename="../src/Miarex/Miarex.cpp" line="7254"/> + <location filename="../src/Miarex/Miarex.cpp" line="7259"/> + <location filename="../src/Miarex/Miarex.cpp" line="7307"/> + <location filename="../src/Miarex/Miarex.cpp" line="7314"/> + <location filename="../src/Miarex/Miarex.cpp" line="7331"/> + <location filename="../src/Miarex/Miarex.cpp" line="7962"/> + <location filename="../src/Miarex/Miarex.cpp" line="8086"/> + <location filename="../src/Miarex/Miarex.cpp" line="9650"/> + <location filename="../src/Miarex/Miarex.cpp" line="9673"/> + <location filename="../src/Miarex/Miarex.cpp" line="14749"/> + <location filename="../src/Miarex/Miarex.cpp" line="14759"/> + <location filename="../src/Miarex/Miarex.cpp" line="14764"/> + <location filename="../src/Miarex/Miarex.cpp" line="14781"/> + <location filename="../src/Miarex/Miarex.cpp" line="14802"/> <source>Warning</source> <translation>Warnung</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="1102"/> + <location filename="../src/Miarex/Miarex.cpp" line="1106"/> <source>Not enough memory to store the OpPoint </source> <translation>Nicht genug Speicher um Arbeitspunkt zu speichern</translation> @@ -7556,8 +7584,8 @@ <translation>Cm Profil</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14871"/> - <location filename="../src/Miarex/Miarex.cpp" line="15003"/> + <location filename="../src/Miarex/Miarex.cpp" line="14472"/> + <location filename="../src/Miarex/Miarex.cpp" line="14608"/> <source>Cm</source> <translation>Cm</translation> </message> @@ -7644,7 +7672,7 @@ <translation type="obsolete">Wurzel-Spitzen Rückfall (Root-Tip Sweep)=%1</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12067"/> + <location filename="../src/Miarex/Miarex.cpp" line="11653"/> <source>Point is out of the flight envelope</source> <translation>Punkte sind ausserhalb des Flugleistungsbereichs</translation> </message> @@ -7653,7 +7681,7 @@ <translation type="obsolete">QInf = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12061"/> + <location filename="../src/Miarex/Miarex.cpp" line="11647"/> <source>Alpha = %1 </source> <translation>Alpha = %1 </translation> </message> @@ -7666,17 +7694,17 @@ <translation type="obsolete">CD = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12083"/> + <location filename="../src/Miarex/Miarex.cpp" line="11669"/> <source>Efficiency = %1 </source> <translation>Effizienz =%1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12087"/> + <location filename="../src/Miarex/Miarex.cpp" line="11673"/> <source>Cl/Cd = %1 </source> <translation>Cl/Cd = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12091"/> + <location filename="../src/Miarex/Miarex.cpp" line="11677"/> <source>GCm = %1 </source> <translation>GCm = %1 </translation> </message> @@ -7713,24 +7741,24 @@ Reduzieren sie die Anzahl der Paneele</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="7675"/> + <location filename="../src/Miarex/Miarex.cpp" line="7254"/> <source>Please define a wing or a plane object before running a calculation</source> <translation>Bitte definieren Sie eine Tragfläche oder ein Modell bevor Sie die Berechnung durchführen</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="7680"/> + <location filename="../src/Miarex/Miarex.cpp" line="7259"/> <source>Please define an analysis/polar before running a calculation</source> <translation>Bitte definieren Sie eine Analyse/Polare bevor Sie eine Berechnung durchführen</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="7727"/> - <location filename="../src/Miarex/Miarex.cpp" line="7734"/> + <location filename="../src/Miarex/Miarex.cpp" line="7306"/> + <location filename="../src/Miarex/Miarex.cpp" line="7313"/> <source>Could not find the wing's foil </source> <translation>Kann das Profil der Tragfläche nicht finden :-(</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="7727"/> - <location filename="../src/Miarex/Miarex.cpp" line="7734"/> + <location filename="../src/Miarex/Miarex.cpp" line="7306"/> + <location filename="../src/Miarex/Miarex.cpp" line="7313"/> <source>... Aborting Calculation</source> <translation>... @@ -7745,60 +7773,60 @@ <translation type="obsolete">Kann das Profil des Seitenruders nicht finden</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="7751"/> + <location filename="../src/Miarex/Miarex.cpp" line="7330"/> <source>Control polars are not supported in XFLR5 v6. Please use stability polars instead.</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8642"/> + <location filename="../src/Miarex/Miarex.cpp" line="8218"/> <source>Are you sure you want to delete the plane : </source> <translation>Sind Sie sicher das Sie das Modell löschen wollen:</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8643"/> + <location filename="../src/Miarex/Miarex.cpp" line="8219"/> <source>Are you sure you want to delete the wing : </source> <translation>Sind Sie sicher das sie die Tragfläche löschen wollen:</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8644"/> - <location filename="../src/Miarex/Miarex.cpp" line="8806"/> - <location filename="../src/Miarex/Miarex.cpp" line="8868"/> - <location filename="../src/Miarex/Miarex.cpp" line="10655"/> - <location filename="../src/Miarex/Miarex.cpp" line="13324"/> + <location filename="../src/Miarex/Miarex.cpp" line="8220"/> + <location filename="../src/Miarex/Miarex.cpp" line="8382"/> + <location filename="../src/Miarex/Miarex.cpp" line="8444"/> + <location filename="../src/Miarex/Miarex.cpp" line="10234"/> + <location filename="../src/Miarex/Miarex.cpp" line="12887"/> <source>Question</source> <translation>Frage</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8867"/> + <location filename="../src/Miarex/Miarex.cpp" line="8443"/> <source>Are you sure you want to delete the polar : </source> <translation>Sind Sie sicher das Sie die Polare löschen wollen :</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9017"/> + <location filename="../src/Miarex/Miarex.cpp" line="8593"/> <source>The modification will erase all results for the planes using this body. Continue ?</source> <translation>Die Änderung löscht alle Resulate für das Modell mit diesem Rumpf. Weitermachen?</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9171"/> + <location filename="../src/Miarex/Miarex.cpp" line="8748"/> <source>The modification will erase all results associated to this Wing. Continue ?</source> <translation>Die Änderung löscht alle Resulate für diese Tragfläche. Weitermachen?</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9275"/> + <location filename="../src/Miarex/Miarex.cpp" line="8853"/> <source>Export Wing OpPoint</source> <translation>Arbeitspunkt der Tragfläche exportieren</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9277"/> - <location filename="../src/Miarex/Miarex.cpp" line="9599"/> + <location filename="../src/Miarex/Miarex.cpp" line="8855"/> + <location filename="../src/Miarex/Miarex.cpp" line="9177"/> <source>Text File (*.txt);;Comma Separated Values (*.csv)</source> <translation>Text File (*.txt);;Comma Separated Values (*.csv)</translation> </message> @@ -7819,14 +7847,14 @@ <translation type="obsolete">Cy = </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9331"/> + <location filename="../src/Miarex/Miarex.cpp" line="8909"/> <source>Cd = %1 ICd = %2 PCd = %3 </source> <translation>Cd = %1 ICd = %2 PCd = %3 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9335"/> + <location filename="../src/Miarex/Miarex.cpp" line="8913"/> <source>Cd=,%1,ICd=, %2,PCd=, %3 </source> <translation>Cd=,%1,ICd=, %2,PCd=, %3 @@ -7853,21 +7881,21 @@ </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9350"/> + <location filename="../src/Miarex/Miarex.cpp" line="8928"/> <source>XCP = %1 YCP = %2 </source> <translation>XCP = %1 YCP = %2 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9351"/> + <location filename="../src/Miarex/Miarex.cpp" line="8929"/> <source>XCP=, %1, YCP=, %2 </source> <translation>XCP=, %1, YCP=, %2 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9359"/> + <location filename="../src/Miarex/Miarex.cpp" line="8937"/> <source>Bend. =</source> <translation>Bend. =</translation> </message> @@ -7877,7 +7905,7 @@ <translation type="obsolete">Haupt-Tragflächen Daten</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9514"/> + <location filename="../src/Miarex/Miarex.cpp" line="9092"/> <source>Flap </source> <translation>Klappe</translation> </message> @@ -7886,54 +7914,54 @@ <translation type="obsolete"> Moment = </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9597"/> + <location filename="../src/Miarex/Miarex.cpp" line="9175"/> <source>Export Polar</source> <translation>Polare exportieren</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10061"/> + <location filename="../src/Miarex/Miarex.cpp" line="9639"/> <source>Open File</source> <translation>Datei öffnen</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10063"/> + <location filename="../src/Miarex/Miarex.cpp" line="9641"/> <source>UFO Polar Format (*.*)</source> <translation>UFO Polar Format (*.*)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10071"/> + <location filename="../src/Miarex/Miarex.cpp" line="9649"/> <source>Could not read the file </source> <translation>File konnte nicht gelesen werden </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10091"/> + <location filename="../src/Miarex/Miarex.cpp" line="9670"/> <source>No UFO with the name </source> <translation>Kein UFO mit diesem Namen</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10092"/> + <location filename="../src/Miarex/Miarex.cpp" line="9671"/> <source> could be found. The polar(s) will not be stored</source> <translation> kann nicht gefunden werden. Die Polare(n) werden nicht gespeichert</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10488"/> + <location filename="../src/Miarex/Miarex.cpp" line="10067"/> <source>Enter the new name for the wing polar :</source> <translation>Geben Sie einen neuen Namen für die Polare der Tragfläche an:</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10654"/> + <location filename="../src/Miarex/Miarex.cpp" line="10233"/> <source>Are you sure you want to reset the content of the polar : </source> <translation>Sind Sie sicher das Sie den Inhalt der Polare zurücksetzen wollen:</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11726"/> - <location filename="../src/Miarex/Miarex.cpp" line="11932"/> - <location filename="../src/Miarex/Miarex.cpp" line="12038"/> + <location filename="../src/Miarex/Miarex.cpp" line="11312"/> + <location filename="../src/Miarex/Miarex.cpp" line="11518"/> + <location filename="../src/Miarex/Miarex.cpp" line="11624"/> <source>abcdefghijklmnopqrstuvwxyz012345678</source> <translation>abcdefghijklmnopqrstuvwxyz012345678</translation> </message> @@ -7982,14 +8010,14 @@ <translation type="obsolete">OpPoints hervorheben</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14874"/> - <location filename="../src/Miarex/Miarex.cpp" line="15006"/> + <location filename="../src/Miarex/Miarex.cpp" line="14475"/> + <location filename="../src/Miarex/Miarex.cpp" line="14611"/> <source>VCm</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14877"/> - <location filename="../src/Miarex/Miarex.cpp" line="15009"/> + <location filename="../src/Miarex/Miarex.cpp" line="14478"/> + <location filename="../src/Miarex/Miarex.cpp" line="14614"/> <source>ICm</source> <translation></translation> </message> @@ -8116,32 +8144,32 @@ </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9526"/> + <location filename="../src/Miarex/Miarex.cpp" line="9104"/> <source>Main Wing Cp Coefficients </source> <translation>Haupttragflächen Cp-Koeffizienten </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9527"/> + <location filename="../src/Miarex/Miarex.cpp" line="9105"/> <source>Wing Cp Coefficients </source> <translation>Tragflächen Cp-Koeffizienten</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9534"/> + <location filename="../src/Miarex/Miarex.cpp" line="9112"/> <source> Panel CtrlPt.x CtrlPt.y CtrlPt.z Cp </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9535"/> + <location filename="../src/Miarex/Miarex.cpp" line="9113"/> <source>Panel,CtrlPt.x,CtrlPt.y,CtrlPt.z,Cp </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9555"/> + <location filename="../src/Miarex/Miarex.cpp" line="9133"/> <source>Strip %1 </source> <translation></translation> @@ -8163,17 +8191,17 @@ <translation type="obsolete">Seitenruder Cp-Koeffizienten</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9634"/> + <location filename="../src/Miarex/Miarex.cpp" line="9212"/> <source>Export UFO</source> <translation>UFO Exportieren</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9636"/> + <location filename="../src/Miarex/Miarex.cpp" line="9214"/> <source>AVL Text File (*.avl)</source> <translation>UFO Polar Format (*.*)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9652"/> + <location filename="../src/Miarex/Miarex.cpp" line="9229"/> <source>Project</source> <translation>Projekt</translation> </message> @@ -8186,7 +8214,7 @@ <translation type="obsolete">Wurzel-Spitzen Rückfall (Root-Tip Sweep)=%1</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12042"/> + <location filename="../src/Miarex/Miarex.cpp" line="11628"/> <source>abcdefghijklmnopqrstuvwxyz01234567</source> <translation>abcdefghijklmnopqrstuvwxyz01234567</translation> </message> @@ -8203,48 +8231,48 @@ <translation type="obsolete">M.A.C. = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8385"/> - <location filename="../src/Miarex/Miarex.cpp" line="8509"/> + <location filename="../src/Miarex/Miarex.cpp" line="7961"/> + <location filename="../src/Miarex/Miarex.cpp" line="8085"/> <source>The polar already exists</source> <translation>Die Polare existiert bereits</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8805"/> + <location filename="../src/Miarex/Miarex.cpp" line="8381"/> <source>Are you sure you want to delete the polars associated to : </source> <translation>Sind Sie sicher das Sie die Polaren löschen wollen: </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9341"/> + <location filename="../src/Miarex/Miarex.cpp" line="8919"/> <source>Cl = </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9343"/> + <location filename="../src/Miarex/Miarex.cpp" line="8921"/> <source>Cm =</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9346"/> + <location filename="../src/Miarex/Miarex.cpp" line="8924"/> <source>ICn = %1 PCn = %2 </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9347"/> + <location filename="../src/Miarex/Miarex.cpp" line="8925"/> <source>ICn=, %1,PCn=, %2 </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9354"/> + <location filename="../src/Miarex/Miarex.cpp" line="8932"/> <source>XNP = %1 </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9355"/> + <location filename="../src/Miarex/Miarex.cpp" line="8933"/> <source>XNP=, %1 </source> <translation></translation> @@ -8256,71 +8284,71 @@ </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11490"/> + <location filename="../src/Miarex/Miarex.cpp" line="11075"/> <source>The modification will erase all polar results associated to this Plane. Continue ?</source> <translation>Die Änderung löscht alle Polaren Resulate für das Modell. Weitermachen?</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12053"/> - <location filename="../src/Miarex/Miarex.cpp" line="12054"/> - <location filename="../src/Miarex/Miarex.cpp" line="12055"/> + <location filename="../src/Miarex/Miarex.cpp" line="11639"/> + <location filename="../src/Miarex/Miarex.cpp" line="11640"/> + <location filename="../src/Miarex/Miarex.cpp" line="11641"/> <source>V = %1 </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12056"/> + <location filename="../src/Miarex/Miarex.cpp" line="11642"/> <source>No unit defined for speed...</source> <translation>Keine Einheit für Geschwindigkeit defoniert...</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12072"/> + <location filename="../src/Miarex/Miarex.cpp" line="11658"/> <source>Lift Coef. = %1 </source> <translation>Auftriebskoeffizient =%1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12077"/> + <location filename="../src/Miarex/Miarex.cpp" line="11663"/> <source>Drag Coef. = %1 </source> <translation>Widerstandskoeffizient = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12096"/> + <location filename="../src/Miarex/Miarex.cpp" line="11682"/> <source>Rolling Moment Coef. = %1 </source> <translation>Rollmoment Koeffizient = %1</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12101"/> + <location filename="../src/Miarex/Miarex.cpp" line="11687"/> <source>Induced Moment Coef = %1 </source> <translation>Induzierter Momementen Koeffizient = %1</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12105"/> + <location filename="../src/Miarex/Miarex.cpp" line="11691"/> <source>Profile Yawing Moment = %1 </source> <translation>Giermoment Koeffizient = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12135"/> + <location filename="../src/Miarex/Miarex.cpp" line="11721"/> <source>Flap %1 Moment =%2</source> <translation>Klappen %1 Moment = %2</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12195"/> + <location filename="../src/Miarex/Miarex.cpp" line="11781"/> <source>Top transition</source> <translation>Oberer Umschlagspunkt</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12223"/> + <location filename="../src/Miarex/Miarex.cpp" line="11809"/> <source>Bottom transition</source> <translation>Unterer Umschlagspunkt</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12281"/> + <location filename="../src/Miarex/Miarex.cpp" line="11867"/> <source>Centre of Pressure</source> <translation>Druckpunkt (Center of Pressure)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12314"/> + <location filename="../src/Miarex/Miarex.cpp" line="11900"/> <source>Moment ref. location</source> <translation>Momenten Referenz Punkt (moment ref location)</translation> </message> @@ -8341,29 +8369,29 @@ <translation type="obsolete">_Fin</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="13249"/> + <location filename="../src/Miarex/Miarex.cpp" line="12812"/> <source>Enter the new name for the Body :</source> <translation>Geben Sie einen neuen Namen für den Rumpf ein:</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="13323"/> + <location filename="../src/Miarex/Miarex.cpp" line="12886"/> <source>The body </source> <translation>Der Rumpf </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="13323"/> + <location filename="../src/Miarex/Miarex.cpp" line="12886"/> <source> is used by one or more planes. Overwrite anyway ? (Results will be lost)</source> <translation>wird von einem oder mehr Modellen verwendet. Trotzdem überschreiben? (Resultate gehen verloren)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="13403"/> + <location filename="../src/Miarex/Miarex.cpp" line="12966"/> <source>Enter the new name for the Plane :</source> <translation>Geben Sie einen neuen Namen für das Modell ein:</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="13617"/> + <location filename="../src/Miarex/Miarex.cpp" line="13181"/> <source>Enter the new name for the wing :</source> <translation>Geben Sie einen Namen für die Tragfläche ein:</translation> </message> @@ -8372,42 +8400,42 @@ <translation type="obsolete">Kann aktuelles Modell nicht überschreiben</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14131"/> + <location filename="../src/Miarex/Miarex.cpp" line="13701"/> <source>Sequence</source> <translation>Sequenz</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14133"/> + <location filename="../src/Miarex/Miarex.cpp" line="13704"/> <source>Start=</source> <translation>Start=</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14134"/> + <location filename="../src/Miarex/Miarex.cpp" line="13705"/> <source>End=</source> <translation>Ende=</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14135"/> + <location filename="../src/Miarex/Miarex.cpp" line="13706"/> <source>D=</source> <translation>D=</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14164"/> + <location filename="../src/Miarex/Miarex.cpp" line="13737"/> <source>Init LLT</source> <translation>Initialisiere LLT</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14165"/> + <location filename="../src/Miarex/Miarex.cpp" line="13738"/> <source>Store OpPoint</source> <translation>Arbeitspunkte speichern</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14166"/> + <location filename="../src/Miarex/Miarex.cpp" line="13743"/> <source>Analyze</source> <translation>Analysiere</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14179"/> + <location filename="../src/Miarex/Miarex.cpp" line="13697"/> <source>Analysis settings</source> <translation>Analyse Einstellungen</translation> </message> @@ -8416,340 +8444,376 @@ <translation type="obsolete">1/2 Tragfläche</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14186"/> + <location filename="../src/Miarex/Miarex.cpp" line="13762"/> <source>Lift</source> <translation>Auftrieb</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14187"/> + <location filename="../src/Miarex/Miarex.cpp" line="13763"/> <source>Ind. Drag</source> <translation>Induzierter Widerstand (induced drag)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14188"/> + <location filename="../src/Miarex/Miarex.cpp" line="13764"/> <source>Visc. Drag</source> <translation>Reibungswiderstand</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14189"/> + <location filename="../src/Miarex/Miarex.cpp" line="13765"/> <source>Trans.</source> <translation>Übergang.</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14190"/> + <location filename="../src/Miarex/Miarex.cpp" line="13766"/> <source>Moment</source> <translation>Moment</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14191"/> + <location filename="../src/Miarex/Miarex.cpp" line="13767"/> <source>Downw.</source> <translation>Abwind.</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14193"/> + <location filename="../src/Miarex/Miarex.cpp" line="13769"/> <source>Surf. Vel.</source> <translation>Oberflächengeschwindigkeit.</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14194"/> + <location filename="../src/Miarex/Miarex.cpp" line="13770"/> <source>Stream</source> <translation>Strömung</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14195"/> + <location filename="../src/Miarex/Miarex.cpp" line="13771"/> <source>Animate</source> <translation>Animation</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14355"/> + <location filename="../src/Miarex/Miarex.cpp" line="13897"/> <source>Display</source> <translation>Darstellung</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14862"/> - <location filename="../src/Miarex/Miarex.cpp" line="14994"/> + <location filename="../src/Miarex/Miarex.cpp" line="14463"/> + <location filename="../src/Miarex/Miarex.cpp" line="14599"/> <source>VCD</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14865"/> - <location filename="../src/Miarex/Miarex.cpp" line="14997"/> + <location filename="../src/Miarex/Miarex.cpp" line="14466"/> + <location filename="../src/Miarex/Miarex.cpp" line="14602"/> <source>ICD</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14868"/> - <location filename="../src/Miarex/Miarex.cpp" line="15000"/> + <location filename="../src/Miarex/Miarex.cpp" line="14469"/> + <location filename="../src/Miarex/Miarex.cpp" line="14605"/> <source>CD</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14892"/> - <location filename="../src/Miarex/Miarex.cpp" line="15024"/> + <location filename="../src/Miarex/Miarex.cpp" line="14493"/> + <location filename="../src/Miarex/Miarex.cpp" line="14629"/> <source>CL/CD</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14895"/> - <location filename="../src/Miarex/Miarex.cpp" line="15027"/> + <location filename="../src/Miarex/Miarex.cpp" line="14496"/> + <location filename="../src/Miarex/Miarex.cpp" line="14632"/> <source>CL^(3/2)/CD</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14898"/> - <location filename="../src/Miarex/Miarex.cpp" line="15030"/> + <location filename="../src/Miarex/Miarex.cpp" line="14499"/> + <location filename="../src/Miarex/Miarex.cpp" line="14635"/> <source>1/Rt(CL)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14921"/> - <location filename="../src/Miarex/Miarex.cpp" line="15053"/> + <location filename="../src/Miarex/Miarex.cpp" line="14502"/> + <location filename="../src/Miarex/Miarex.cpp" line="14638"/> + <source>Fx (N)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14503"/> + <location filename="../src/Miarex/Miarex.cpp" line="14639"/> + <source>Fx (lbf)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14506"/> + <location filename="../src/Miarex/Miarex.cpp" line="14642"/> + <source>Fy (N)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14507"/> + <location filename="../src/Miarex/Miarex.cpp" line="14643"/> + <source>Fy (lbf)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14510"/> + <location filename="../src/Miarex/Miarex.cpp" line="14646"/> + <source>Fz (N)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14511"/> + <location filename="../src/Miarex/Miarex.cpp" line="14647"/> + <source>Fz (lbf)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14526"/> + <location filename="../src/Miarex/Miarex.cpp" line="14662"/> <source>Pitching Moment</source> <translation>Kippmoment</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14924"/> - <location filename="../src/Miarex/Miarex.cpp" line="15056"/> + <location filename="../src/Miarex/Miarex.cpp" line="14529"/> + <location filename="../src/Miarex/Miarex.cpp" line="14665"/> <source>Rolling Moment</source> <translation>Rollmoment</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14927"/> - <location filename="../src/Miarex/Miarex.cpp" line="15059"/> + <location filename="../src/Miarex/Miarex.cpp" line="14532"/> + <location filename="../src/Miarex/Miarex.cpp" line="14668"/> <source>Yawing Moment</source> <translation>Giermoment</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14232"/> + <location filename="../src/Miarex/Miarex.cpp" line="13816"/> <source>Curve</source> <translation>Kurve</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14233"/> + <location filename="../src/Miarex/Miarex.cpp" line="13817"/> <source>Points</source> <translation>Punkte</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14241"/> - <location filename="../src/Miarex/Miarex.cpp" line="14242"/> + <location filename="../src/Miarex/Miarex.cpp" line="13825"/> + <location filename="../src/Miarex/Miarex.cpp" line="13826"/> <source>item</source> <translation>Gegenstand</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14254"/> + <location filename="../src/Miarex/Miarex.cpp" line="13841"/> <source>Style</source> <translation>Gestalltung</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14255"/> + <location filename="../src/Miarex/Miarex.cpp" line="13842"/> <source>Width</source> <translation>Breite</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14256"/> + <location filename="../src/Miarex/Miarex.cpp" line="13843"/> <source>Color</source> <translation>Farbe</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14271"/> + <location filename="../src/Miarex/Miarex.cpp" line="13812"/> <source>Curve settings</source> <translation>Kurven Einstellung</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14283"/> + <location filename="../src/Miarex/Miarex.cpp" line="13875"/> <source>Span Position</source> <translation>Spanten Position</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14288"/> + <location filename="../src/Miarex/Miarex.cpp" line="13882"/> <source>Keep</source> <translation>Erhalten</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14289"/> - <location filename="../src/Miarex/Miarex.cpp" line="14334"/> + <location filename="../src/Miarex/Miarex.cpp" line="13883"/> + <location filename="../src/Miarex/Miarex.cpp" line="13935"/> <source>Reset</source> <translation>Zurücksetzen</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14296"/> + <location filename="../src/Miarex/Miarex.cpp" line="13863"/> <source>Cp Sections</source> <translation>Cp Abschnitte</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11947"/> + <location filename="../src/Miarex/Miarex.cpp" line="11533"/> <source>Wing Span =</source> <translation>Trangflächen-Spannweite =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="1507"/> + <location filename="../src/Miarex/Miarex.cpp" line="1510"/> <source>Current Plane</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="1508"/> + <location filename="../src/Miarex/Miarex.cpp" line="1511"/> <source>Current Wing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="1509"/> + <location filename="../src/Miarex/Miarex.cpp" line="1512"/> <source>Current Object</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="5399"/> + <location filename="../src/Miarex/Miarex.cpp" line="5188"/> <source>Time =</source> <translation>Zeit =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="5721"/> + <location filename="../src/Miarex/Miarex.cpp" line="5349"/> <source>The total number of panels is %1. The Max Number is %2. A reduction of the number of panels is required</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9545"/> + <location filename="../src/Miarex/Miarex.cpp" line="9123"/> <source>Cp Coefficients</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11952"/> + <location filename="../src/Miarex/Miarex.cpp" line="11538"/> <source>xyProj. Span =</source> <translation>Projezierte Spannweite =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11957"/> + <location filename="../src/Miarex/Miarex.cpp" line="11543"/> <source>Wing Area =</source> <translation>Flügel Fläche=</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11962"/> + <location filename="../src/Miarex/Miarex.cpp" line="11548"/> <source>xyProj. Area =</source> <translation>Projezierter Tragflächeninhalt =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11976"/> + <location filename="../src/Miarex/Miarex.cpp" line="11562"/> <source>Plane Mass =</source> <translation>Flugzeugmasse= </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11982"/> + <location filename="../src/Miarex/Miarex.cpp" line="11568"/> <source>Wing Load =</source> <translation>Tragflächenbelastung =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11990"/> + <location filename="../src/Miarex/Miarex.cpp" line="11576"/> <source>Tail Volume =</source> <translation>Heck-Volumen =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11995"/> + <location filename="../src/Miarex/Miarex.cpp" line="11581"/> <source>Root Chord =</source> <translation>Wurzel-Profiltiefe =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12000"/> + <location filename="../src/Miarex/Miarex.cpp" line="11586"/> <source>MAC =</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12005"/> + <location filename="../src/Miarex/Miarex.cpp" line="11591"/> <source>TipTwist =</source> <translation>Flügelspitzen Verwindung =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12009"/> + <location filename="../src/Miarex/Miarex.cpp" line="11595"/> <source>Aspect Ratio =</source> <translation>Streckungs Verhältnis =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12013"/> + <location filename="../src/Miarex/Miarex.cpp" line="11599"/> <source>Taper Ratio =</source> <translation>Aufweitungsverhältnis =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12017"/> + <location filename="../src/Miarex/Miarex.cpp" line="11603"/> <source>Root-Tip Sweep =</source> <translation>Wurzel-Spitzen Rückfall (Root-Tip Sweep) =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14184"/> + <location filename="../src/Miarex/Miarex.cpp" line="13760"/> <source>Panel Forces</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14185"/> + <location filename="../src/Miarex/Miarex.cpp" line="13761"/> <source>Display the force 1/2.rho.V2.S.Cp acting on the panel</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14218"/> + <location filename="../src/Miarex/Miarex.cpp" line="13756"/> <source>Results</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14221"/> + <location filename="../src/Miarex/Miarex.cpp" line="13798"/> <source>Polar properties</source> <translation>Polar Eigenschaften</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14303"/> + <location filename="../src/Miarex/Miarex.cpp" line="13903"/> <source>Axes</source> <translation>Axen</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14304"/> + <location filename="../src/Miarex/Miarex.cpp" line="13904"/> <source>Light</source> <translation>Licht</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14305"/> + <location filename="../src/Miarex/Miarex.cpp" line="13905"/> <source>Surfaces</source> <translation>Oberflächen</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14306"/> + <location filename="../src/Miarex/Miarex.cpp" line="13906"/> <source>Outline</source> <translation>Kontur</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14307"/> + <location filename="../src/Miarex/Miarex.cpp" line="13907"/> <source>Panels</source> <translation>Paneele</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14308"/> + <location filename="../src/Miarex/Miarex.cpp" line="13908"/> <source>Foil Names</source> <translation>Profil Namen</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14309"/> + <location filename="../src/Miarex/Miarex.cpp" line="13909"/> <source>Vortices</source> <translation>Wirbel</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14310"/> + <location filename="../src/Miarex/Miarex.cpp" line="13910"/> <source>Masses</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14332"/> + <location filename="../src/Miarex/Miarex.cpp" line="13933"/> <source>Pick Center</source> <translation>Zentrum auswählen</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14333"/> + <location filename="../src/Miarex/Miarex.cpp" line="13934"/> <source>Activate the button, then click on the object to center it in the viewport; alternatively, double click on the object</source> <translation>Doppelklick auf das Objekt um es zu zentrieren</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14341"/> + <location filename="../src/Miarex/Miarex.cpp" line="13944"/> <source>Clip:</source> <translation>Abschneiden:</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14859"/> - <location filename="../src/Miarex/Miarex.cpp" line="14991"/> + <location filename="../src/Miarex/Miarex.cpp" line="14460"/> + <location filename="../src/Miarex/Miarex.cpp" line="14596"/> <source>CL</source> <translation></translation> </message> @@ -8778,50 +8842,42 @@ <translation type="obsolete">1/Rt(Cl)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14901"/> - <location filename="../src/Miarex/Miarex.cpp" line="15033"/> <source>Lift (N)</source> - <translation>Auftrieb (N)</translation> + <translation type="obsolete">Auftrieb (N)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14902"/> - <location filename="../src/Miarex/Miarex.cpp" line="15034"/> <source>Lift (lbf)</source> - <translation>Auftrieb (lbf)</translation> + <translation type="obsolete">Auftrieb (lbf)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14905"/> - <location filename="../src/Miarex/Miarex.cpp" line="15037"/> <source>Drag (N)</source> - <translation>Widerstand (N)</translation> + <translation type="obsolete">Widerstand (N)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14906"/> - <location filename="../src/Miarex/Miarex.cpp" line="15038"/> <source>Drag (lbf)</source> - <translation>Widerstand (lbf)</translation> + <translation type="obsolete">Widerstand (lbf)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14909"/> - <location filename="../src/Miarex/Miarex.cpp" line="15041"/> + <location filename="../src/Miarex/Miarex.cpp" line="14514"/> + <location filename="../src/Miarex/Miarex.cpp" line="14650"/> <source>Vx </source> <translation>Vx </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14912"/> - <location filename="../src/Miarex/Miarex.cpp" line="15044"/> + <location filename="../src/Miarex/Miarex.cpp" line="14517"/> + <location filename="../src/Miarex/Miarex.cpp" line="14653"/> <source>Vz </source> <translation>Vz </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14915"/> - <location filename="../src/Miarex/Miarex.cpp" line="15047"/> + <location filename="../src/Miarex/Miarex.cpp" line="14520"/> + <location filename="../src/Miarex/Miarex.cpp" line="14656"/> <source>V </source> <translation>V </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14918"/> - <location filename="../src/Miarex/Miarex.cpp" line="15050"/> + <location filename="../src/Miarex/Miarex.cpp" line="14523"/> + <location filename="../src/Miarex/Miarex.cpp" line="14659"/> <source>Gamma</source> <translation>Gamma</translation> </message> @@ -8838,124 +8894,124 @@ <translation type="obsolete">YM</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14930"/> - <location filename="../src/Miarex/Miarex.cpp" line="15062"/> + <location filename="../src/Miarex/Miarex.cpp" line="14535"/> + <location filename="../src/Miarex/Miarex.cpp" line="14671"/> <source>XCP </source> <translation>XCP </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14933"/> - <location filename="../src/Miarex/Miarex.cpp" line="15065"/> + <location filename="../src/Miarex/Miarex.cpp" line="14538"/> + <location filename="../src/Miarex/Miarex.cpp" line="14674"/> <source>YCP </source> <translation>YCP </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14936"/> - <location filename="../src/Miarex/Miarex.cpp" line="15068"/> + <location filename="../src/Miarex/Miarex.cpp" line="14541"/> + <location filename="../src/Miarex/Miarex.cpp" line="14677"/> <source>BM </source> <translation>BM </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14939"/> - <location filename="../src/Miarex/Miarex.cpp" line="15071"/> + <location filename="../src/Miarex/Miarex.cpp" line="14544"/> + <location filename="../src/Miarex/Miarex.cpp" line="14680"/> <source>m.g.Vz (W)</source> <translation>m.g.Vz (W)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14942"/> - <location filename="../src/Miarex/Miarex.cpp" line="15074"/> + <location filename="../src/Miarex/Miarex.cpp" line="14547"/> + <location filename="../src/Miarex/Miarex.cpp" line="14683"/> <source>Efficiency</source> <translation>Effizienz</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14945"/> - <location filename="../src/Miarex/Miarex.cpp" line="15077"/> + <location filename="../src/Miarex/Miarex.cpp" line="14550"/> + <location filename="../src/Miarex/Miarex.cpp" line="14686"/> <source>(XCp-XCG)/MAC(%)</source> <translation>(XCp-XCG)/MAC(%)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14948"/> - <location filename="../src/Miarex/Miarex.cpp" line="15080"/> + <location filename="../src/Miarex/Miarex.cpp" line="14553"/> + <location filename="../src/Miarex/Miarex.cpp" line="14689"/> <source>ctrl</source> <translation>ctrl</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14951"/> - <location filename="../src/Miarex/Miarex.cpp" line="15083"/> + <location filename="../src/Miarex/Miarex.cpp" line="14556"/> + <location filename="../src/Miarex/Miarex.cpp" line="14692"/> <source>CY</source> <translation>CY</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14954"/> - <location filename="../src/Miarex/Miarex.cpp" line="15086"/> + <location filename="../src/Miarex/Miarex.cpp" line="14559"/> + <location filename="../src/Miarex/Miarex.cpp" line="14695"/> <source>XNP</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14957"/> - <location filename="../src/Miarex/Miarex.cpp" line="15089"/> + <location filename="../src/Miarex/Miarex.cpp" line="14562"/> + <location filename="../src/Miarex/Miarex.cpp" line="14698"/> <source>Ph. Freq(Hz)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14960"/> - <location filename="../src/Miarex/Miarex.cpp" line="15092"/> + <location filename="../src/Miarex/Miarex.cpp" line="14565"/> + <location filename="../src/Miarex/Miarex.cpp" line="14701"/> <source>Ph. Damping</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14963"/> - <location filename="../src/Miarex/Miarex.cpp" line="15095"/> + <location filename="../src/Miarex/Miarex.cpp" line="14568"/> + <location filename="../src/Miarex/Miarex.cpp" line="14704"/> <source>SP Freq (Hz)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14966"/> - <location filename="../src/Miarex/Miarex.cpp" line="15098"/> + <location filename="../src/Miarex/Miarex.cpp" line="14571"/> + <location filename="../src/Miarex/Miarex.cpp" line="14707"/> <source>SP Damping</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14969"/> - <location filename="../src/Miarex/Miarex.cpp" line="15101"/> + <location filename="../src/Miarex/Miarex.cpp" line="14574"/> + <location filename="../src/Miarex/Miarex.cpp" line="14710"/> <source>DR Freq(Hz)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14972"/> - <location filename="../src/Miarex/Miarex.cpp" line="15104"/> + <location filename="../src/Miarex/Miarex.cpp" line="14577"/> + <location filename="../src/Miarex/Miarex.cpp" line="14713"/> <source>DR Damping</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14975"/> - <location filename="../src/Miarex/Miarex.cpp" line="15107"/> + <location filename="../src/Miarex/Miarex.cpp" line="14580"/> + <location filename="../src/Miarex/Miarex.cpp" line="14716"/> <source>Roll Damping</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14978"/> - <location filename="../src/Miarex/Miarex.cpp" line="15110"/> + <location filename="../src/Miarex/Miarex.cpp" line="14583"/> + <location filename="../src/Miarex/Miarex.cpp" line="14719"/> <source>Spiral Damping</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="15139"/> + <location filename="../src/Miarex/Miarex.cpp" line="14749"/> <source>OpenGL color format is not recognized... Sorry</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="15149"/> + <location filename="../src/Miarex/Miarex.cpp" line="14759"/> <source>Cannot (yet ?) save 8 bit depth opengl screen images... Sorry</source> <translation>Kann 8bit OpenGL Bilder nicht speichern...Sorry</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="15154"/> + <location filename="../src/Miarex/Miarex.cpp" line="14764"/> <source>Cannot (yet ?) save 16 bit depth opengl screen images... Sorry</source> <translation>Kann 16bit OpenGL Bilder nicht speichern...Sorry</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="15171"/> + <location filename="../src/Miarex/Miarex.cpp" line="14781"/> <source>Unidentified bit depth... Sorry</source> <translation>Undefinierte Farbtiefe...Sorry</translation> </message> @@ -8963,42 +9019,42 @@ <context> <name>QObject</name> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1470"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1102"/> <source>dihedral</source> <translation>V-Form</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1471"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1103"/> <source>twist</source> <translation>Verwindung</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1472"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1104"/> <source>foil</source> <translation>Profil</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1473"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1105"/> <source>X-panels</source> <translation>X-Paneele</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1474"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1106"/> <source>X-dist</source> <translation>X-Abstand</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1475"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1107"/> <source>Y-panels</source> <translation>Y-Paneele</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1476"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1108"/> <source>Y-dist</source> <translation>Y-Abstand</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2682"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2250"/> <source>Wing definition</source> <translation>Tragflächen Definition</translation> </message> @@ -9018,142 +9074,142 @@ <translation>Y</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="239"/> + <location filename="../src/Objects/OpPoint.cpp" line="245"/> <location filename="../src/XDirect/ReListDlg.cpp" line="57"/> <source>Re</source> <translation>Re</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="245"/> + <location filename="../src/Objects/OpPoint.cpp" line="251"/> <location filename="../src/XDirect/ReListDlg.cpp" line="58"/> <source>Mach</source> <translation>Mach</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="251"/> + <location filename="../src/Objects/OpPoint.cpp" line="257"/> <location filename="../src/Objects/WOpp.cpp" line="649"/> <source>CL</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="254"/> + <location filename="../src/Objects/OpPoint.cpp" line="260"/> <location filename="../src/Objects/WOpp.cpp" line="651"/> <source>CD</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="257"/> + <location filename="../src/Objects/OpPoint.cpp" line="263"/> <location filename="../src/Objects/WOpp.cpp" line="665"/> <source>Cm</source> <translation type="unfinished">Cm</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="260"/> + <location filename="../src/Objects/OpPoint.cpp" line="266"/> <source>Cdp</source> <translation type="unfinished">Cdp</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="263"/> + <location filename="../src/Objects/OpPoint.cpp" line="269"/> <source>Cpmn</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="266"/> + <location filename="../src/Objects/OpPoint.cpp" line="272"/> <location filename="../src/Objects/WOpp.cpp" line="644"/> <source>XCP</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="269"/> + <location filename="../src/Objects/OpPoint.cpp" line="275"/> <source>Top Transition</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="272"/> + <location filename="../src/Objects/OpPoint.cpp" line="278"/> <source>Bot Transition</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="277"/> + <location filename="../src/Objects/OpPoint.cpp" line="283"/> <source>T.E. Flap moment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="282"/> + <location filename="../src/Objects/OpPoint.cpp" line="288"/> <source>L.E. Flap moment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="734"/> + <location filename="../src/Objects/Polar.cpp" line="738"/> <location filename="../src/Objects/WOpp.cpp" line="603"/> - <location filename="../src/Objects/WPolar.cpp" line="1893"/> + <location filename="../src/Objects/WPolar.cpp" line="1931"/> <source>Type</source> <translation>Type</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="735"/> + <location filename="../src/Objects/Polar.cpp" line="739"/> <location filename="../src/Objects/WOpp.cpp" line="604"/> - <location filename="../src/Objects/WPolar.cpp" line="1894"/> + <location filename="../src/Objects/WPolar.cpp" line="1932"/> <source>Fixed speed</source> <translation>Fixe Geschwindigkeit</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="736"/> + <location filename="../src/Objects/Polar.cpp" line="740"/> <location filename="../src/Objects/WOpp.cpp" line="605"/> - <location filename="../src/Objects/WPolar.cpp" line="1895"/> + <location filename="../src/Objects/WPolar.cpp" line="1933"/> <source>Fixed lift</source> <translation>Fixer Auftrieb</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="737"/> + <location filename="../src/Objects/Polar.cpp" line="741"/> <location filename="../src/Objects/WOpp.cpp" line="606"/> - <location filename="../src/Objects/WPolar.cpp" line="1896"/> + <location filename="../src/Objects/WPolar.cpp" line="1934"/> <source>Fixed angle of attack</source> <translation>Fixer Anstelwinkel</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="742"/> + <location filename="../src/Objects/Polar.cpp" line="746"/> <source>Reynolds number</source> <translation>Reynolds Zahl</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="744"/> - <location filename="../src/Objects/Polar.cpp" line="758"/> - <location filename="../src/Objects/Polar.cpp" line="765"/> + <location filename="../src/Objects/Polar.cpp" line="748"/> + <location filename="../src/Objects/Polar.cpp" line="762"/> + <location filename="../src/Objects/Polar.cpp" line="769"/> <source>Mach number</source> <translation>Mach Zahl</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="756"/> + <location filename="../src/Objects/Polar.cpp" line="760"/> <source>Re.Cl</source> <translation></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="242"/> - <location filename="../src/Objects/Polar.cpp" line="763"/> + <location filename="../src/Objects/OpPoint.cpp" line="248"/> + <location filename="../src/Objects/Polar.cpp" line="767"/> <location filename="../src/Objects/WOpp.cpp" line="625"/> <source>Alpha</source> <translation>Alpha</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="248"/> - <location filename="../src/Objects/Polar.cpp" line="770"/> + <location filename="../src/Objects/OpPoint.cpp" line="254"/> + <location filename="../src/Objects/Polar.cpp" line="774"/> <location filename="../src/XDirect/ReListDlg.cpp" line="59"/> <source>NCrit</source> <translation>NCrit</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="773"/> + <location filename="../src/Objects/Polar.cpp" line="777"/> <source>Forced top trans.</source> <translation>Erzwungener Umschlag Oben</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="776"/> + <location filename="../src/Objects/Polar.cpp" line="780"/> <source>Forced bottom trans.</source> <translation>Erzwungener Umschlag Unten</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="779"/> + <location filename="../src/Objects/Polar.cpp" line="783"/> <source>Number of data points</source> <translation>Anzahl der Datenpunkte</translation> </message> @@ -9239,7 +9295,7 @@ <translation></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="368"/> + <location filename="../src/Objects/WPolar.cpp" line="369"/> <source>The max number of polar points has been reached</source> <translation>Maximale Anzahl von Polar-Punkten wurde erreicht</translation> </message> @@ -9249,90 +9305,91 @@ <translation type="unfinished">Rupf-Name</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="505"/> + <location filename="../src/Objects/Body.cpp" line="507"/> <source>Export Body Definition</source> <translation type="unfinished">Rupfdefinition exportieren</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="507"/> + <location filename="../src/Objects/Body.cpp" line="509"/> <source>Text Format (*.txt)</source> <translation type="unfinished">UFO Polar Format (*.*)</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="581"/> + <location filename="../src/Objects/Body.cpp" line="583"/> <source>Export Body Geometry</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="583"/> + <location filename="../src/Objects/Body.cpp" line="585"/> <source>Text File (*.txt);;Comma Separated Values (*.csv)</source> <translation type="unfinished">Text File (*.txt);;Comma Separated Values (*.csv)</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="873"/> + <location filename="../src/Objects/Body.cpp" line="875"/> <source>Choose the length unit to read this file :</source> <translation type="unfinished">Wählen Sie die Längeneinheit um diese Datei zu lesen:</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="917"/> + <location filename="../src/Objects/Body.cpp" line="919"/> <source>Open File</source> <translation type="unfinished">Datei öffnen</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="919"/> + <location filename="../src/Objects/Body.cpp" line="921"/> <source>Text file (*.txt)</source> <translation type="unfinished">UFO Polar Format (*.*)</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="927"/> + <location filename="../src/Objects/Body.cpp" line="929"/> <source>Could not read the file </source> <translation type="unfinished">File konnte nicht gelesen werden </translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="928"/> - <location filename="../src/Objects/Body.cpp" line="1041"/> - <location filename="../src/Objects/WPolar.cpp" line="369"/> + <location filename="../src/Objects/Body.cpp" line="930"/> + <location filename="../src/Objects/Body.cpp" line="1043"/> + <location filename="../src/Objects/Surface.cpp" line="736"/> + <location filename="../src/Objects/WPolar.cpp" line="370"/> <location filename="../src/XDirect/XFoil.cpp" line="3139"/> <source>Warning</source> <translation>Warnung</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="1003"/> + <location filename="../src/Objects/Body.cpp" line="1005"/> <source>Error reading </source> <translation type="unfinished">Fehler beim Lesen</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="1003"/> + <location filename="../src/Objects/Body.cpp" line="1005"/> <source> Frames have different number of side points</source> <translation type="unfinished"> Rahmen haben unteschiedliche Anzahl von Seitenpunkten</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="1004"/> + <location filename="../src/Objects/Body.cpp" line="1006"/> <source>Error</source> <translation type="unfinished">Fehler</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="1042"/> + <location filename="../src/Objects/Body.cpp" line="1044"/> <source>Please select a Frame before inserting a point</source> <translation type="unfinished">Bitte wählen Sie einen Rahmen bevor Sie einen Punkt einfügen</translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="607"/> - <location filename="../src/Objects/WPolar.cpp" line="1897"/> + <location filename="../src/Objects/WPolar.cpp" line="1935"/> <source>Stability analysis</source> <translation>Stabilitäts Analyse</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="1902"/> + <location filename="../src/Objects/WPolar.cpp" line="1940"/> <source>VInf =</source> <translation></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="1907"/> + <location filename="../src/Objects/WPolar.cpp" line="1945"/> <source>Alpha =</source> <translation></translation> </message> @@ -9342,25 +9399,25 @@ </message> <message> <location filename="../src/Objects/WOpp.cpp" line="611"/> - <location filename="../src/Objects/WPolar.cpp" line="1918"/> + <location filename="../src/Objects/WPolar.cpp" line="1956"/> <source>LLT</source> <translation>LLT</translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="612"/> - <location filename="../src/Objects/WPolar.cpp" line="1919"/> + <location filename="../src/Objects/WPolar.cpp" line="1957"/> <source>3D-Panels</source> <translation></translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="613"/> - <location filename="../src/Objects/WPolar.cpp" line="1920"/> + <location filename="../src/Objects/WPolar.cpp" line="1958"/> <source>3D-Panels/VLM1</source> <translation></translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="614"/> - <location filename="../src/Objects/WPolar.cpp" line="1921"/> + <location filename="../src/Objects/WPolar.cpp" line="1959"/> <source>3D-Panels/VLM2</source> <translation></translation> </message> @@ -9371,7 +9428,7 @@ </message> <message> <location filename="../src/Objects/WOpp.cpp" line="628"/> - <location filename="../src/Objects/WPolar.cpp" line="2075"/> + <location filename="../src/Objects/WPolar.cpp" line="2113"/> <source>Mass</source> <translation>Masse</translation> </message> @@ -9566,84 +9623,84 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2078"/> + <location filename="../src/Objects/WPolar.cpp" line="2116"/> <source>CoG.x</source> <translation></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2081"/> + <location filename="../src/Objects/WPolar.cpp" line="2119"/> <source>CoG.z</source> <translation></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2098"/> + <location filename="../src/Objects/WPolar.cpp" line="2136"/> <source>B.C. = Dirichlet</source> <translation></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2099"/> + <location filename="../src/Objects/WPolar.cpp" line="2137"/> <source>B.C. = Neumann</source> <translation></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2103"/> + <location filename="../src/Objects/WPolar.cpp" line="2141"/> <source>Analysis type</source> <translation>Analyse Methode</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2104"/> + <location filename="../src/Objects/WPolar.cpp" line="2142"/> <source>Viscous</source> <translation>Reibung</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2105"/> + <location filename="../src/Objects/WPolar.cpp" line="2143"/> <source>Inviscid</source> <translation>Reibungslos</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2107"/> + <location filename="../src/Objects/WPolar.cpp" line="2145"/> <source>Ref. Area = </source> <translation></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2126"/> + <location filename="../src/Objects/WPolar.cpp" line="2164"/> <source>Data points</source> <translation>Datenpunkte</translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="633"/> - <location filename="../src/Objects/WPolar.cpp" line="1913"/> + <location filename="../src/Objects/WPolar.cpp" line="1951"/> <source>Beta</source> <translation></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2108"/> + <location filename="../src/Objects/WPolar.cpp" line="2146"/> <source>Planform area</source> <translation>Grundform Fläche</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2109"/> + <location filename="../src/Objects/WPolar.cpp" line="2147"/> <source>Projected area</source> <translation>Projizierte Fläche</translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="618"/> - <location filename="../src/Objects/WPolar.cpp" line="2111"/> + <location filename="../src/Objects/WPolar.cpp" line="2149"/> <source>Tilted geometry</source> <translation>Verdrehte Geometrie</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2115"/> + <location filename="../src/Objects/WPolar.cpp" line="2153"/> <source>Ground height</source> <translation>Höhe über Grund</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2119"/> + <location filename="../src/Objects/WPolar.cpp" line="2157"/> <source>Density =</source> <translation>Dichte =</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2122"/> + <location filename="../src/Objects/WPolar.cpp" line="2160"/> <source>Viscosity =</source> <translation>Reibung =</translation> </message> @@ -9856,8 +9913,8 @@ <translation>Tragflächen Name</translation> </message> <message> - <location filename="../src/Objects/Wing.cpp" line="2259"/> - <location filename="../src/Objects/Wing.cpp" line="2274"/> + <location filename="../src/Objects/Wing.cpp" line="2273"/> + <location filename="../src/Objects/Wing.cpp" line="2288"/> <source> Span pos = %1 </source> <translation type="unfinished"></translation> </message> @@ -9878,12 +9935,12 @@ <translation></translation> </message> <message> - <location filename="../src/Objects/Wing.cpp" line="2265"/> + <location filename="../src/Objects/Wing.cpp" line="2279"/> <source>, Cl = %1 could not be interpolated</source> <translation></translation> </message> <message> - <location filename="../src/Objects/Wing.cpp" line="2279"/> + <location filename="../src/Objects/Wing.cpp" line="2293"/> <source>, Cl = %1 is outside the flight envelope</source> <translation></translation> </message> @@ -9894,72 +9951,72 @@ <translation></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2337"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2404"/> <source>Wing Span = %1 </source> <translation>Spannweite = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2342"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2409"/> <source>XYProj. Span = %1 </source> <translation>Projezierte Spannweite in XY = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2359"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2426"/> <source>X_CG = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2365"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2432"/> <source>Wing Area = %1 </source> <translation>Tragflächeninhalt = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2370"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2437"/> <source>XYProj. Area = %1 </source> <translation>Projezierter Tragflächeninhalt in XY = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2384"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2451"/> <source>Plane Mass = %1 </source> <translation>Modell Masse = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2390"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2457"/> <source>Wing Load = %1 </source> <translation>Tragflächenbelastung =%1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2398"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2465"/> <source>Tail Volume = %1</source> <translation>Heck-Volumen = %1</translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2347"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2414"/> <source>Root Chord = %1 </source> <translation>Wurzel-Profiltiefe =%1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2351"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2418"/> <source>M.A.C. = %1 </source> <translation>M.A.C. = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2403"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2470"/> <source>Tip Twist = %1</source> <translation>Verwindung bei Spitze (Tip-Twist) =%1</translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2407"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2474"/> <source>Aspect Ratio = %1</source> <translation>Streckung =%1</translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2411"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2478"/> <source>Taper Ratio = %1</source> <translation>Aufweitungsverhältnis (TR) =%1</translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2415"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2482"/> <source>Root-Tip Sweep = %1</source> <translation>Wurzel-Spitzen Rückfall (Root-Tip Sweep)=%1</translation> </message> @@ -9980,71 +10037,71 @@ <translation type="obsolete">Geschwindigkeit = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2465"/> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2466"/> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2467"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2530"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2531"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2532"/> <source>V = %1 </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2472"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2537"/> <source>Alpha = %1</source> <translation type="unfinished">Alpha = %1</translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2477"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2542"/> <source>Sideslip = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2482"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2547"/> <source>Bank = %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2487"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2552"/> <source>Control pos. = %1 </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2504"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2569"/> <source>CL/CD = %1 </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2508"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2573"/> <source>Cl = %1 </source> <translation>Cl = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2512"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2577"/> <source>Cm = %1 </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2516"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2581"/> <source>Cn = %1 </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2528"/> - <location filename="../src/Miarex/Miarex.cpp" line="12117"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2593"/> + <location filename="../src/Miarex/Miarex.cpp" line="11703"/> <source>X_NP = %1 </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2534"/> - <location filename="../src/Miarex/Miarex.cpp" line="12123"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2599"/> + <location filename="../src/Miarex/Miarex.cpp" line="11709"/> <source>X_CP = %1 </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12128"/> + <location filename="../src/Miarex/Miarex.cpp" line="11714"/> <source>X_CG = %1 </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2459"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2524"/> <source>Point is out of the flight envelope</source> <translation>Punkte sind ausserhalb des Flugleistungsbereichs</translation> </message> @@ -10057,17 +10114,17 @@ <translation type="obsolete">Alpha = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2491"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2556"/> <source>CL = %1 </source> <translation>CL = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2495"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2560"/> <source>CD = %1 </source> <translation>CD = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2500"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2565"/> <source>Efficiency = %1 </source> <translation>Effizienz =%1 </translation> </message> @@ -10151,47 +10208,53 @@ </source> <translation type="unfinished">... keine Konvergenz nach %1 Iterationen</translation> </message> + <message> + <location filename="../src/Objects/Surface.cpp" line="737"/> + <source>Continuous foils for surface do not have the same initial flap angle... aborting +</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>QXDirect</name> <message> - <location filename="../src/XDirect/XDirect.cpp" line="172"/> - <location filename="../src/XDirect/XDirect.cpp" line="891"/> - <location filename="../src/XDirect/XDirect.cpp" line="922"/> - <location filename="../src/XDirect/XDirect.cpp" line="1445"/> - <location filename="../src/XDirect/XDirect.cpp" line="2124"/> - <location filename="../src/XDirect/XDirect.cpp" line="3127"/> + <location filename="../src/XDirect/XDirect.cpp" line="180"/> + <location filename="../src/XDirect/XDirect.cpp" line="899"/> + <location filename="../src/XDirect/XDirect.cpp" line="930"/> + <location filename="../src/XDirect/XDirect.cpp" line="1453"/> + <location filename="../src/XDirect/XDirect.cpp" line="2132"/> + <location filename="../src/XDirect/XDirect.cpp" line="3133"/> <source>Cp</source> <translation>Cp</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="907"/> - <location filename="../src/XDirect/XDirect.cpp" line="1450"/> - <location filename="../src/XDirect/XDirect.cpp" line="3132"/> - <location filename="../src/XDirect/XDirect.cpp" line="3960"/> + <location filename="../src/XDirect/XDirect.cpp" line="915"/> + <location filename="../src/XDirect/XDirect.cpp" line="1458"/> + <location filename="../src/XDirect/XDirect.cpp" line="3138"/> + <location filename="../src/XDirect/XDirect.cpp" line="3956"/> <source>Q</source> <translation>Q</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="1888"/> + <location filename="../src/XDirect/XDirect.cpp" line="1896"/> <source>Not enough threads available for multithreading</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="1889"/> - <location filename="../src/XDirect/XDirect.cpp" line="3350"/> - <location filename="../src/XDirect/XDirect.cpp" line="3369"/> - <location filename="../src/XDirect/XDirect.cpp" line="3383"/> - <location filename="../src/XDirect/XDirect.cpp" line="3398"/> - <location filename="../src/XDirect/XDirect.cpp" line="3408"/> + <location filename="../src/XDirect/XDirect.cpp" line="1897"/> + <location filename="../src/XDirect/XDirect.cpp" line="3353"/> + <location filename="../src/XDirect/XDirect.cpp" line="3373"/> + <location filename="../src/XDirect/XDirect.cpp" line="3386"/> + <location filename="../src/XDirect/XDirect.cpp" line="3400"/> + <location filename="../src/XDirect/XDirect.cpp" line="3409"/> <location filename="../src/XDirect/XDirect.cpp" line="3419"/> <location filename="../src/XDirect/XDirect.cpp" line="3429"/> - <location filename="../src/XDirect/XDirect.cpp" line="3439"/> - <location filename="../src/XDirect/XDirect.cpp" line="3450"/> - <location filename="../src/XDirect/XDirect.cpp" line="3461"/> - <location filename="../src/XDirect/XDirect.cpp" line="3538"/> - <location filename="../src/XDirect/XDirect.cpp" line="3561"/> - <location filename="../src/XDirect/XDirect.cpp" line="3646"/> + <location filename="../src/XDirect/XDirect.cpp" line="3438"/> + <location filename="../src/XDirect/XDirect.cpp" line="3447"/> + <location filename="../src/XDirect/XDirect.cpp" line="3457"/> + <location filename="../src/XDirect/XDirect.cpp" line="3534"/> + <location filename="../src/XDirect/XDirect.cpp" line="3557"/> + <location filename="../src/XDirect/XDirect.cpp" line="3642"/> <location filename="../src/XDirect/XFoil.cpp" line="105"/> <location filename="../src/XDirect/XFoil.cpp" line="119"/> <location filename="../src/XDirect/XFoil.cpp" line="1979"/> @@ -10219,49 +10282,49 @@ Kompressions-Korrekturen ungültig</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2024"/> - <location filename="../src/XDirect/XDirect.cpp" line="2071"/> - <location filename="../src/XDirect/XDirect.cpp" line="3208"/> - <location filename="../src/XDirect/XDirect.cpp" line="3806"/> - <location filename="../src/XDirect/XDirect.cpp" line="4180"/> - <location filename="../src/XDirect/XDirect.cpp" line="4213"/> - <location filename="../src/XDirect/XDirect.cpp" line="4677"/> + <location filename="../src/XDirect/XDirect.cpp" line="2032"/> + <location filename="../src/XDirect/XDirect.cpp" line="2079"/> + <location filename="../src/XDirect/XDirect.cpp" line="3214"/> + <location filename="../src/XDirect/XDirect.cpp" line="3802"/> + <location filename="../src/XDirect/XDirect.cpp" line="4176"/> + <location filename="../src/XDirect/XDirect.cpp" line="4209"/> + <location filename="../src/XDirect/XDirect.cpp" line="4673"/> <source>Top</source> <translation>Oben</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2025"/> - <location filename="../src/XDirect/XDirect.cpp" line="2072"/> - <location filename="../src/XDirect/XDirect.cpp" line="3209"/> - <location filename="../src/XDirect/XDirect.cpp" line="3807"/> - <location filename="../src/XDirect/XDirect.cpp" line="4181"/> - <location filename="../src/XDirect/XDirect.cpp" line="4214"/> - <location filename="../src/XDirect/XDirect.cpp" line="4678"/> + <location filename="../src/XDirect/XDirect.cpp" line="2033"/> + <location filename="../src/XDirect/XDirect.cpp" line="2080"/> + <location filename="../src/XDirect/XDirect.cpp" line="3215"/> + <location filename="../src/XDirect/XDirect.cpp" line="3803"/> + <location filename="../src/XDirect/XDirect.cpp" line="4177"/> + <location filename="../src/XDirect/XDirect.cpp" line="4210"/> + <location filename="../src/XDirect/XDirect.cpp" line="4674"/> <source>Bot</source> <translation>Unten</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2173"/> + <location filename="../src/XDirect/XDirect.cpp" line="2181"/> <source>Max Shear</source> <translation>Maximale Scherung</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2178"/> + <location filename="../src/XDirect/XDirect.cpp" line="2186"/> <source>Top Shear</source> <translation>Obere Scherung</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2179"/> + <location filename="../src/XDirect/XDirect.cpp" line="2187"/> <source>Top Shear eq</source> <translation>Obere Scherung eq</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2180"/> + <location filename="../src/XDirect/XDirect.cpp" line="2188"/> <source>Bot Shear</source> <translation>Untere Scherung</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2181"/> + <location filename="../src/XDirect/XDirect.cpp" line="2189"/> <source>Bot Shear eq</source> <translation>Untere Scherung eq</translation> </message> @@ -10271,37 +10334,37 @@ <translation type="obsolete">Sind Sie sicher das Sie den Arbeitspunkt löschen wollen</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="171"/> + <location filename="../src/XDirect/XDirect.cpp" line="179"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="182"/> + <location filename="../src/XDirect/XDirect.cpp" line="190"/> <source>Cp Graph</source> <translation>Cp-Graph</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="194"/> + <location filename="../src/XDirect/XDirect.cpp" line="202"/> <source>Polar Graph</source> <translation>Polar Graphen</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="206"/> + <location filename="../src/XDirect/XDirect.cpp" line="214"/> <source>Cm Graph</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="218"/> + <location filename="../src/XDirect/XDirect.cpp" line="226"/> <source>Cz Graph</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="230"/> + <location filename="../src/XDirect/XDirect.cpp" line="238"/> <source>Tr Graph</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="242"/> + <location filename="../src/XDirect/XDirect.cpp" line="250"/> <source>User Graph</source> <translation></translation> </message> @@ -10314,93 +10377,93 @@ Kompressions-Korrekturen ungültig</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2021"/> + <location filename="../src/XDirect/XDirect.cpp" line="2029"/> <source>Cf</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2068"/> + <location filename="../src/XDirect/XDirect.cpp" line="2076"/> <source>Cd'</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2365"/> + <location filename="../src/XDirect/XDirect.cpp" line="2371"/> <source>Are you sure you want to delete the Operating Point </source> <translation>Sind Sie sicher das Sie den Arbeitspunkt löschen wollen</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2371"/> - <location filename="../src/XDirect/XDirect.cpp" line="2395"/> - <location filename="../src/XDirect/XDirect.cpp" line="2497"/> + <location filename="../src/XDirect/XDirect.cpp" line="2377"/> + <location filename="../src/XDirect/XDirect.cpp" line="2401"/> + <location filename="../src/XDirect/XDirect.cpp" line="2503"/> <source>Question</source> <translation>Frage</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2392"/> + <location filename="../src/XDirect/XDirect.cpp" line="2398"/> <source>Are you sure you want to delete the polar : </source> <translation>Sind Sie sicher das Sie die Polare : </translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2393"/> + <location filename="../src/XDirect/XDirect.cpp" line="2399"/> <source> and all the associated OpPoints ?</source> <translation>und alle Arbeitspunkte löschen wollen?</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2495"/> + <location filename="../src/XDirect/XDirect.cpp" line="2501"/> <source>Are you sure you want to delete polars and OpPoints </source> <translation>Sind Sie sicher das Sie die Polaren und die Arbeitspunkte löschen wollen </translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2496"/> + <location filename="../src/XDirect/XDirect.cpp" line="2502"/> <source>associated to </source> <translation>zugehörig zu</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2546"/> + <location filename="../src/XDirect/XDirect.cpp" line="2552"/> <source>The foil has been de-rotated by %1 degrees</source> <translation>Das Profile wurde entdreht um %1 Grad</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2705"/> + <location filename="../src/XDirect/XDirect.cpp" line="2711"/> <source>Export Current XFoil Results</source> <translation>Aktuelle XFoil Resultate exportieren</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2707"/> - <location filename="../src/XDirect/XDirect.cpp" line="2916"/> - <location filename="../src/XDirect/XDirect.cpp" line="2951"/> + <location filename="../src/XDirect/XDirect.cpp" line="2713"/> + <location filename="../src/XDirect/XDirect.cpp" line="2922"/> + <location filename="../src/XDirect/XDirect.cpp" line="2957"/> <source>Text File (*.txt);;Comma Separated Values (*.csv)</source> <translation>Text File (*.txt);;Comma Separated Values (*.csv)</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2778"/> + <location filename="../src/XDirect/XDirect.cpp" line="2784"/> <source> Top Side </source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2779"/> - <location filename="../src/XDirect/XDirect.cpp" line="2809"/> + <location filename="../src/XDirect/XDirect.cpp" line="2785"/> + <location filename="../src/XDirect/XDirect.cpp" line="2815"/> <source> x Hk Ue/Vinf Cf Cd A/A0 D* Theta CTq </source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2780"/> - <location filename="../src/XDirect/XDirect.cpp" line="2810"/> + <location filename="../src/XDirect/XDirect.cpp" line="2786"/> + <location filename="../src/XDirect/XDirect.cpp" line="2816"/> <source>x,Hk,Ue/Vinf,Cf,Cd,A/A0,D*,Theta,CTq </source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2808"/> + <location filename="../src/XDirect/XDirect.cpp" line="2814"/> <source> Bottom Side @@ -10408,102 +10471,94 @@ <translation></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2852"/> + <location filename="../src/XDirect/XDirect.cpp" line="2858"/> <source>Export Directory</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2883"/> + <location filename="../src/XDirect/XDirect.cpp" line="2889"/> <source>Export Foil</source> <translation>Profil exportieren</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2885"/> + <location filename="../src/XDirect/XDirect.cpp" line="2891"/> <source>Foil File (*.dat)</source> <translation>Profil File (*.dat)</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2914"/> + <location filename="../src/XDirect/XDirect.cpp" line="2920"/> <source>Export OpPoint</source> <translation>Arbeitspunkt exportieren</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2949"/> + <location filename="../src/XDirect/XDirect.cpp" line="2955"/> <source>Export Polar</source> <translation>Polare exportieren</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3339"/> - <location filename="../src/XDirect/XDirect.cpp" line="3527"/> + <location filename="../src/XDirect/XDirect.cpp" line="3342"/> + <location filename="../src/XDirect/XDirect.cpp" line="3523"/> <source>Open File</source> <translation>Datei öffnen</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3341"/> + <location filename="../src/XDirect/XDirect.cpp" line="3344"/> <source>XFoil Polar Format (*.*)</source> <translation>UFO Polar Format (*.*)</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3349"/> - <location filename="../src/XDirect/XDirect.cpp" line="3537"/> + <location filename="../src/XDirect/XDirect.cpp" line="3352"/> + <location filename="../src/XDirect/XDirect.cpp" line="3533"/> <source>Could not read the file </source> <translation>File konnte nicht gelesen werden </translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3366"/> - <location filename="../src/XDirect/XDirect.cpp" line="3559"/> + <location filename="../src/XDirect/XDirect.cpp" line="3370"/> + <location filename="../src/XDirect/XDirect.cpp" line="3555"/> <source>No Foil with the name </source> <translation>Kein Profil mit diesem Namen</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3367"/> - <location filename="../src/XDirect/XDirect.cpp" line="3560"/> + <location filename="../src/XDirect/XDirect.cpp" line="3371"/> + <location filename="../src/XDirect/XDirect.cpp" line="3556"/> <source> could be found. The polar(s) will not be stored</source> <translation> Die Polare(n) wird nicht gespeichert</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3381"/> - <location filename="../src/XDirect/XDirect.cpp" line="3396"/> - <location filename="../src/XDirect/XDirect.cpp" line="3406"/> - <location filename="../src/XDirect/XDirect.cpp" line="3417"/> - <location filename="../src/XDirect/XDirect.cpp" line="3427"/> - <location filename="../src/XDirect/XDirect.cpp" line="3437"/> - <location filename="../src/XDirect/XDirect.cpp" line="3448"/> - <location filename="../src/XDirect/XDirect.cpp" line="3459"/> <source>Error reading at line xx. The polar(s) will not be stored</source> - <translation>Fehler beim Lesen in Zeile xx. Die Polare(b) wird nicht gespeichert</translation> + <translation type="obsolete">Fehler beim Lesen in Zeile xx. Die Polare(b) wird nicht gespeichert</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3529"/> + <location filename="../src/XDirect/XDirect.cpp" line="3525"/> <source>JavaFoil Polar Format (*.*)</source> <translation>JavaFoil Polar Format (*.*)</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3646"/> + <location filename="../src/XDirect/XDirect.cpp" line="3642"/> <source>At least two foils are required</source> <translation>Es werden mind.zwei Profile benötigt</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3782"/> + <location filename="../src/XDirect/XDirect.cpp" line="3778"/> <source>The foil has been normalized from %1 to 1.000</source> <translation>Das Profil wurde normalisiert von %1 auf 1.000</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3991"/> + <location filename="../src/XDirect/XDirect.cpp" line="3987"/> <source>Enter the new name for the foil polar :</source> <translation>Geben Sie einen neuen Namen für die Polare der Tragfläche an:</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="4249"/> + <location filename="../src/XDirect/XDirect.cpp" line="4245"/> <source>Polar File</source> <translation>Polaren Datei</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="4249"/> + <location filename="../src/XDirect/XDirect.cpp" line="4245"/> <source>Polar File (*.plr)</source> <translation>Polar File (*.plr)</translation> </message> @@ -10524,267 +10579,267 @@ <translation type="obsolete">Anzahl der Paneele = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5045"/> + <location filename="../src/XDirect/XDirect.cpp" line="5042"/> <source>Thickness = %1</source> <translation>Dicke =%1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5049"/> + <location filename="../src/XDirect/XDirect.cpp" line="5046"/> <source>Max. Thick.pos. = %1</source> <translation>Position der maximalen Dicke =%1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5053"/> + <location filename="../src/XDirect/XDirect.cpp" line="5050"/> <source>Max. Camber = %1</source> <translation>Maximale Wölbung =%1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5057"/> + <location filename="../src/XDirect/XDirect.cpp" line="5054"/> <source>Max. Camber pos. = %1</source> <translation>Position maximale Wölbung =%1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5061"/> + <location filename="../src/XDirect/XDirect.cpp" line="5058"/> <source>Number of Panels = %1</source> <translation>Anzahl der Paneele = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5067"/> + <location filename="../src/XDirect/XDirect.cpp" line="5064"/> <source>Flap Angle = %1</source> <translation>Klappen Winkel = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5071"/> + <location filename="../src/XDirect/XDirect.cpp" line="5068"/> <source>XHinge = %1</source> <translation>X-Anschlag =%1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5076"/> + <location filename="../src/XDirect/XDirect.cpp" line="5073"/> <source>YHinge = %1</source> <translation>Y-Anschlag =%1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5096"/> + <location filename="../src/XDirect/XDirect.cpp" line="5093"/> <source>TE Hinge Moment/span = 123456789</source> <translation>TE Hinge Moment/span = 123456789</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5105"/> + <location filename="../src/XDirect/XDirect.cpp" line="5102"/> <source>Polar Type = %1</source> <translation>Polar Typ = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5121"/> - <location filename="../src/XDirect/XDirect.cpp" line="5132"/> + <location filename="../src/XDirect/XDirect.cpp" line="5118"/> + <location filename="../src/XDirect/XDirect.cpp" line="5129"/> <source>Re.sqrt(Cl) = </source> <translation>Re sqrt(Cl)=</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5125"/> + <location filename="../src/XDirect/XDirect.cpp" line="5122"/> <source>M.sqrt(Cl) = %1</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5154"/> + <location filename="../src/XDirect/XDirect.cpp" line="5151"/> <source>Forced Upper Trans. = %1</source> <translation>Erzwungener oberer Umschlag = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5157"/> + <location filename="../src/XDirect/XDirect.cpp" line="5154"/> <source>Forced Lower Trans. = %1</source> <translation>Erzwungener unterer Umschlag = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5178"/> + <location filename="../src/XDirect/XDirect.cpp" line="5175"/> <source> Alpha = %1 </source> <translation> Alpha = %1 </translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5182"/> + <location filename="../src/XDirect/XDirect.cpp" line="5179"/> <source> Cl = %1</source> <translation> Cl = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5186"/> + <location filename="../src/XDirect/XDirect.cpp" line="5183"/> <source> Cm = %1</source> <translation> Cm = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5190"/> + <location filename="../src/XDirect/XDirect.cpp" line="5187"/> <source> Cd = %1</source> <translation> Cd = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5196"/> + <location filename="../src/XDirect/XDirect.cpp" line="5193"/> <source> L/D = %1</source> <translation> L/D = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5201"/> + <location filename="../src/XDirect/XDirect.cpp" line="5198"/> <source>Upper Trans. = %1</source> <translation>Oberer Umschlag = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5205"/> + <location filename="../src/XDirect/XDirect.cpp" line="5202"/> <source>Lower Trans. = %1</source> <translation>Unterer Umschlag = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5211"/> + <location filename="../src/XDirect/XDirect.cpp" line="5208"/> <source>TE Hinge Moment/span = %1</source> <translation>TE Hinge Moment/span = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5218"/> + <location filename="../src/XDirect/XDirect.cpp" line="5215"/> <source>LE Hinge Moment/span = %1</source> <translation>LE Hinge Moment/span = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6183"/> - <location filename="../src/XDirect/XDirect.cpp" line="6228"/> - <location filename="../src/XDirect/XDirect.cpp" line="6234"/> - <location filename="../src/XDirect/XDirect.cpp" line="6279"/> + <location filename="../src/XDirect/XDirect.cpp" line="6180"/> + <location filename="../src/XDirect/XDirect.cpp" line="6225"/> + <location filename="../src/XDirect/XDirect.cpp" line="6231"/> + <location filename="../src/XDirect/XDirect.cpp" line="6276"/> <source>Alpha</source> <translation>Alpha</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6186"/> - <location filename="../src/XDirect/XDirect.cpp" line="6237"/> - <location filename="../src/XDirect/XDirect.cpp" line="6320"/> + <location filename="../src/XDirect/XDirect.cpp" line="6183"/> + <location filename="../src/XDirect/XDirect.cpp" line="6234"/> + <location filename="../src/XDirect/XDirect.cpp" line="6317"/> <source>Cl</source> <translation>Cl</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6189"/> - <location filename="../src/XDirect/XDirect.cpp" line="6240"/> + <location filename="../src/XDirect/XDirect.cpp" line="6186"/> + <location filename="../src/XDirect/XDirect.cpp" line="6237"/> <source>Cd</source> <translation>Cd</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6192"/> - <location filename="../src/XDirect/XDirect.cpp" line="6243"/> + <location filename="../src/XDirect/XDirect.cpp" line="6189"/> + <location filename="../src/XDirect/XDirect.cpp" line="6240"/> <source>Cd x 10000</source> <translation>Cd x 10000</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6195"/> - <location filename="../src/XDirect/XDirect.cpp" line="6246"/> + <location filename="../src/XDirect/XDirect.cpp" line="6192"/> + <location filename="../src/XDirect/XDirect.cpp" line="6243"/> <source>Cdp</source> <translation>Cdp</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6198"/> - <location filename="../src/XDirect/XDirect.cpp" line="6249"/> + <location filename="../src/XDirect/XDirect.cpp" line="6195"/> + <location filename="../src/XDirect/XDirect.cpp" line="6246"/> <source>Cm</source> <translation>Cm</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6201"/> - <location filename="../src/XDirect/XDirect.cpp" line="6252"/> + <location filename="../src/XDirect/XDirect.cpp" line="6198"/> + <location filename="../src/XDirect/XDirect.cpp" line="6249"/> <source>Xtr1</source> <translation>Xtr1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6204"/> - <location filename="../src/XDirect/XDirect.cpp" line="6255"/> + <location filename="../src/XDirect/XDirect.cpp" line="6201"/> + <location filename="../src/XDirect/XDirect.cpp" line="6252"/> <source>Xtr2</source> <translation>Xtr2</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6207"/> - <location filename="../src/XDirect/XDirect.cpp" line="6258"/> + <location filename="../src/XDirect/XDirect.cpp" line="6204"/> + <location filename="../src/XDirect/XDirect.cpp" line="6255"/> <source>HMom</source> <translation>HMom</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6210"/> - <location filename="../src/XDirect/XDirect.cpp" line="6261"/> + <location filename="../src/XDirect/XDirect.cpp" line="6207"/> + <location filename="../src/XDirect/XDirect.cpp" line="6258"/> <source>Cpmin</source> <translation>Cpmin</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6213"/> - <location filename="../src/XDirect/XDirect.cpp" line="6264"/> + <location filename="../src/XDirect/XDirect.cpp" line="6210"/> + <location filename="../src/XDirect/XDirect.cpp" line="6261"/> <source>Cl/Cd</source> <translation>Cl/Cd</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6216"/> - <location filename="../src/XDirect/XDirect.cpp" line="6267"/> + <location filename="../src/XDirect/XDirect.cpp" line="6213"/> + <location filename="../src/XDirect/XDirect.cpp" line="6264"/> <source>|Cl|^(3/2)/Cd</source> <translation>|Cl|^(3/2)/Cd</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6219"/> - <location filename="../src/XDirect/XDirect.cpp" line="6270"/> + <location filename="../src/XDirect/XDirect.cpp" line="6216"/> + <location filename="../src/XDirect/XDirect.cpp" line="6267"/> <source>1/Rt(Cl)</source> <translation>1/Rt(Cl)</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6222"/> - <location filename="../src/XDirect/XDirect.cpp" line="6273"/> - <location filename="../src/XDirect/XDirect.cpp" line="6321"/> + <location filename="../src/XDirect/XDirect.cpp" line="6219"/> + <location filename="../src/XDirect/XDirect.cpp" line="6270"/> + <location filename="../src/XDirect/XDirect.cpp" line="6318"/> <source>Re</source> <translation>Re</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6225"/> - <location filename="../src/XDirect/XDirect.cpp" line="6276"/> + <location filename="../src/XDirect/XDirect.cpp" line="6222"/> + <location filename="../src/XDirect/XDirect.cpp" line="6273"/> <source>XCp</source> <translation>XCp</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6327"/> + <location filename="../src/XDirect/XDirect.cpp" line="6324"/> <source>Sequence</source> <translation>Sequenz</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6330"/> + <location filename="../src/XDirect/XDirect.cpp" line="6327"/> <source>Start=</source> <translation>Start=</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6331"/> + <location filename="../src/XDirect/XDirect.cpp" line="6328"/> <source>End=</source> <translation>Ende=</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6332"/> + <location filename="../src/XDirect/XDirect.cpp" line="6329"/> <source>D=</source> <translation>D=</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6363"/> + <location filename="../src/XDirect/XDirect.cpp" line="6360"/> <source>Viscous</source> <translation>Reibung</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6364"/> + <location filename="../src/XDirect/XDirect.cpp" line="6361"/> <source>Init BL</source> <translation>Grenzschicht initialisieren</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6368"/> + <location filename="../src/XDirect/XDirect.cpp" line="6365"/> <source>Store Opp</source> <translation>Arbeit speichern</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6369"/> + <location filename="../src/XDirect/XDirect.cpp" line="6366"/> <source>Analyze</source> <translation>analysieren</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6381"/> + <location filename="../src/XDirect/XDirect.cpp" line="6378"/> <source>Analysis settings</source> <translation>Analyse Einstellungen</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6386"/> + <location filename="../src/XDirect/XDirect.cpp" line="6383"/> <source>Show BL</source> <translation>Grenzschicht anzeigen</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6387"/> + <location filename="../src/XDirect/XDirect.cpp" line="6384"/> <source>Show Pressure</source> <translation>Druck anzeigen</translation> </message> @@ -10797,47 +10852,47 @@ <translation type="obsolete">Hebt den aktuellen OpPoint hervor</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6390"/> + <location filename="../src/XDirect/XDirect.cpp" line="6387"/> <source>Animate</source> <translation>Animation</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6402"/> + <location filename="../src/XDirect/XDirect.cpp" line="6399"/> <source>Display</source> <translation>Darstellung</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6405"/> + <location filename="../src/XDirect/XDirect.cpp" line="6402"/> <source>Polar properties</source> <translation>Polaren Eigenschaft</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6414"/> + <location filename="../src/XDirect/XDirect.cpp" line="6411"/> <source>Curve</source> <translation>Kurve</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6415"/> + <location filename="../src/XDirect/XDirect.cpp" line="6412"/> <source>Points</source> <translation>Punkte</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6433"/> + <location filename="../src/XDirect/XDirect.cpp" line="6430"/> <source>Style</source> <translation>Gestalltung</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6434"/> + <location filename="../src/XDirect/XDirect.cpp" line="6431"/> <source>Width</source> <translation>Breite</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6435"/> + <location filename="../src/XDirect/XDirect.cpp" line="6432"/> <source>Color</source> <translation>Farbe</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6452"/> + <location filename="../src/XDirect/XDirect.cpp" line="6449"/> <source>Graph Curve Settings</source> <translation>Graphen Kurven Einstellungen</translation> </message> @@ -10856,280 +10911,280 @@ <context> <name>QXInverse</name> <message> - <location filename="../src/XInverse/XInverse.cpp" line="102"/> + <location filename="../src/XInverse/XInverse.cpp" line="104"/> <source>x/c</source> <translation>x/c</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="103"/> + <location filename="../src/XInverse/XInverse.cpp" line="105"/> <source>Q/Vinf</source> <translation>Q/Vinf</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="108"/> + <location filename="../src/XInverse/XInverse.cpp" line="110"/> <source>Q Graph</source> <translation>Q Graph</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="377"/> + <location filename="../src/XInverse/XInverse.cpp" line="379"/> <source>Must mark off target segment first</source> <translation>Nicht-Ziel Segmente müsse zuerst markiert werden</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="403"/> + <location filename="../src/XInverse/XInverse.cpp" line="405"/> <source>Converged</source> <translation>Konvergiert</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="408"/> + <location filename="../src/XInverse/XInverse.cpp" line="410"/> <source>Unconverged</source> <translation>Nicht-Konvergiert</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="440"/> - <location filename="../src/XInverse/XInverse.cpp" line="1274"/> - <location filename="../src/XInverse/XInverse.cpp" line="2135"/> + <location filename="../src/XInverse/XInverse.cpp" line="442"/> + <location filename="../src/XInverse/XInverse.cpp" line="1276"/> + <location filename="../src/XInverse/XInverse.cpp" line="2137"/> <source> Modified</source> <translation>Modifiziert</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="473"/> + <location filename="../src/XInverse/XInverse.cpp" line="475"/> <source>Warning</source> <translation>Warnung</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="473"/> + <location filename="../src/XInverse/XInverse.cpp" line="475"/> <source>Unrecognized foil format</source> <translation>Unbekannts Profil Format</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1128"/> - <location filename="../src/XInverse/XInverse.cpp" line="1134"/> + <location filename="../src/XInverse/XInverse.cpp" line="1130"/> + <location filename="../src/XInverse/XInverse.cpp" line="1136"/> <source>Drag points to modify splines, Apply, and Execute to generate the new geometry</source> <translation>Punkte verschieben um Splines zu ändern; dann "zuweisen" und "ausführen" um neue Geometrie zu erzeugen</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1377"/> + <location filename="../src/XInverse/XInverse.cpp" line="1379"/> <source>Mark target segment for modification</source> <translation>Ziel-Segmente für Änderung markieren</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1400"/> + <location filename="../src/XInverse/XInverse.cpp" line="1402"/> <source>Mark spline endpoints</source> <translation>Spline-Endpunkte markieren</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1535"/> - <location filename="../src/XInverse/XInverse.cpp" line="2200"/> - <location filename="../src/XInverse/XInverse.cpp" line="2282"/> + <location filename="../src/XInverse/XInverse.cpp" line="1537"/> + <location filename="../src/XInverse/XInverse.cpp" line="2202"/> + <location filename="../src/XInverse/XInverse.cpp" line="2284"/> <source>Alpha = </source> <translation>Alpha = </translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1541"/> + <location filename="../src/XInverse/XInverse.cpp" line="1543"/> <source>Cl = </source> <translation>Cl = </translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1585"/> + <location filename="../src/XInverse/XInverse.cpp" line="1587"/> <source>Mark target segment for smoothing, or type 'Return' to smooth the entire distribution</source> <translation>Ziel-Segmente für glättung markieren, oder "Eingabe" drücken um gesamte Verteilung zu glätten</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1817"/> + <location filename="../src/XInverse/XInverse.cpp" line="1819"/> <source> Base</source> <translation> Base</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1818"/> + <location filename="../src/XInverse/XInverse.cpp" line="1820"/> <source> Mod.</source> <translation> Mod.</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1823"/> + <location filename="../src/XInverse/XInverse.cpp" line="1825"/> <source>Thickness = %1%</source> <translation>Dicke =%1%</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1829"/> - <location filename="../src/XInverse/XInverse.cpp" line="1841"/> + <location filename="../src/XInverse/XInverse.cpp" line="1831"/> + <location filename="../src/XInverse/XInverse.cpp" line="1843"/> <source>Max.Thick.pos. = %1%</source> <translation>Position der maximalen Dicke =%1%</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1835"/> + <location filename="../src/XInverse/XInverse.cpp" line="1837"/> <source>Max. Camber = %1%</source> <translation>Maximale Wölbung =%1%</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1988"/> + <location filename="../src/XInverse/XInverse.cpp" line="1990"/> <source>Alpha = %1</source> <translation>Alpha = %1</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1990"/> + <location filename="../src/XInverse/XInverse.cpp" line="1992"/> <source>Cl = %1</source> <translation>Cl = %1</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2052"/> + <location filename="../src/XInverse/XInverse.cpp" line="2054"/> <source>Q - Reference</source> <translation>Q - Reference</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2053"/> + <location filename="../src/XInverse/XInverse.cpp" line="2055"/> <source>Q - Specification</source> <translation>Q - Specification</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2054"/> + <location filename="../src/XInverse/XInverse.cpp" line="2056"/> <source>Q - Viscous</source> <translation>Q - Reibung</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2061"/> + <location filename="../src/XInverse/XInverse.cpp" line="2063"/> <source>Reflected</source> <translation>Refkeltiert</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2198"/> + <location filename="../src/XInverse/XInverse.cpp" line="2200"/> <source>Alpha</source> <translation>Alpha</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2199"/> + <location filename="../src/XInverse/XInverse.cpp" line="2201"/> <source>Cl</source> <translation>Cl</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2207"/> + <location filename="../src/XInverse/XInverse.cpp" line="2209"/> <source>Specification</source> <translation>Spzifikation</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2211"/> - <location filename="../src/XInverse/XInverse.cpp" line="2295"/> + <location filename="../src/XInverse/XInverse.cpp" line="2213"/> + <location filename="../src/XInverse/XInverse.cpp" line="2297"/> <source>ShowSpline</source> <translation>Zeige Spline</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2212"/> - <location filename="../src/XInverse/XInverse.cpp" line="2296"/> + <location filename="../src/XInverse/XInverse.cpp" line="2214"/> + <location filename="../src/XInverse/XInverse.cpp" line="2298"/> <source>Tangent Spline</source> <translation>Tangenten Spline</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2213"/> - <location filename="../src/XInverse/XInverse.cpp" line="2297"/> + <location filename="../src/XInverse/XInverse.cpp" line="2215"/> + <location filename="../src/XInverse/XInverse.cpp" line="2299"/> <source>New Spline</source> <translation>Neue Spline</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2214"/> - <location filename="../src/XInverse/XInverse.cpp" line="2298"/> + <location filename="../src/XInverse/XInverse.cpp" line="2216"/> + <location filename="../src/XInverse/XInverse.cpp" line="2300"/> <source>Apply Spline</source> <translation>Spine anwenden</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2215"/> - <location filename="../src/XInverse/XInverse.cpp" line="2300"/> + <location filename="../src/XInverse/XInverse.cpp" line="2217"/> + <location filename="../src/XInverse/XInverse.cpp" line="2302"/> <source>Reset QSpec</source> <translation>QSpec zurücksetzen</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2216"/> + <location filename="../src/XInverse/XInverse.cpp" line="2218"/> <source>Pert</source> <translation>Verteilung</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2224"/> - <location filename="../src/XInverse/XInverse.cpp" line="2313"/> + <location filename="../src/XInverse/XInverse.cpp" line="2226"/> + <location filename="../src/XInverse/XInverse.cpp" line="2315"/> <source>Modification</source> <translation>Modifikation</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2228"/> + <location filename="../src/XInverse/XInverse.cpp" line="2230"/> <source>Smooth QSpec</source> <translation>QSpec glätten</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2229"/> + <location filename="../src/XInverse/XInverse.cpp" line="2231"/> <source>Hannig Filter</source> <translation>Hannig Filter</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2230"/> + <location filename="../src/XInverse/XInverse.cpp" line="2232"/> <source>Filter parameter</source> <translation>Filter Parameter</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2237"/> + <location filename="../src/XInverse/XInverse.cpp" line="2239"/> <source>Smoothing</source> <translation>Glättung</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2241"/> + <location filename="../src/XInverse/XInverse.cpp" line="2243"/> <source>T.E. Angle</source> <translation>Hinterkanten Winkel (T.E. Angle)</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2242"/> + <location filename="../src/XInverse/XInverse.cpp" line="2244"/> <source>T.E. Gap dx/c</source> <translation>Hinterkanten Spalt (dx/c)</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2243"/> + <location filename="../src/XInverse/XInverse.cpp" line="2245"/> <source>T.E. Gap dy/c</source> <translation>Hinterkanten Spalt (dy/c)</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2259"/> + <location filename="../src/XInverse/XInverse.cpp" line="2261"/> <source>Symmetric foil</source> <translation>Symmetrisches Profil</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2263"/> + <location filename="../src/XInverse/XInverse.cpp" line="2265"/> <source>Constraints</source> <translation>Randbedingungen</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2266"/> - <location filename="../src/XInverse/XInverse.cpp" line="2293"/> + <location filename="../src/XInverse/XInverse.cpp" line="2268"/> + <location filename="../src/XInverse/XInverse.cpp" line="2295"/> <source>Execute</source> <translation>Ausführen</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2283"/> + <location filename="../src/XInverse/XInverse.cpp" line="2285"/> <source>Cl =</source> <translation>Cl =</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2291"/> + <location filename="../src/XInverse/XInverse.cpp" line="2293"/> <source>Mark for modification</source> <translation>Für Änderungen markieren</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2292"/> + <location filename="../src/XInverse/XInverse.cpp" line="2294"/> <source>End Point Constraint</source> <translation>Endpunkt Randbedingungen</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2294"/> + <location filename="../src/XInverse/XInverse.cpp" line="2296"/> <source> </source> <translation> </translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2299"/> + <location filename="../src/XInverse/XInverse.cpp" line="2301"/> <source>Smooth</source> <translation>Glätten</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2320"/> + <location filename="../src/XInverse/XInverse.cpp" line="2322"/> <source>Max Iterations</source> <translation>Maximale Iterationen</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2324"/> + <location filename="../src/XInverse/XInverse.cpp" line="2326"/> <source>Foil</source> <translation>Profil</translation> </message> @@ -11850,54 +11905,54 @@ <context> <name>TEGapDlg</name> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="32"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="34"/> <source>T.E. Gap</source> <translation>Hinterkanten Spalt</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="53"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="55"/> <source>T.E. Gap Value</source> <translation>Hinterkanten Spalt Wert</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="56"/> - <location filename="../src/XDirect/TEGapDlg.cpp" line="66"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="58"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="68"/> <source>% chord</source> <translation>% Profiltiefe</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="63"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="65"/> <source>Blending Distance from L.E.</source> <translation>Biegeabstand von der Vorderkante</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="73"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="75"/> <source>OK</source> <translation>Ok</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="74"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="76"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="75"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="77"/> <source>Apply</source> <translation>Anwenden</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="186"/> - <location filename="../src/XDirect/TEGapDlg.cpp" line="196"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="188"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="198"/> <source>Warning</source> <translation>Warnung</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="186"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="188"/> <source>Unrecognized foil format</source> <translation>Unbekannts Profil Format</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="196"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="198"/> <source>Panel number cannot exceed 300</source> <translation>Panel Anzahl kann 300 nich übersteigen</translation> </message> @@ -11905,44 +11960,44 @@ <context> <name>TranslatorDlg</name> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="35"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="34"/> <source>Language settings</source> <translation>Sprache</translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="36"/> - <location filename="../src/Misc/TranslatorDlg.cpp" line="144"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="35"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="143"/> <source>English</source> <translation>Deutsch</translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="55"/> - <location filename="../src/Misc/TranslatorDlg.cpp" line="123"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="54"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="122"/> <source>Warning</source> <translation>Warnung</translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="55"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="54"/> <source>The change will take effect at the next session</source> <translation>Die Änderung wird erst nach dem Neustart wirksam</translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="64"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="63"/> <source>Select the application's default language:</source> <translation>Wählen Sie die Standardsprache:</translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="70"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="69"/> <source>OK</source> <translation>Ok</translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="71"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="70"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="123"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="122"/> <source>The directory </source> <translation>Verzeichniss</translation> </message> @@ -11951,7 +12006,7 @@ <translation type="obsolete">existiert nicht</translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="123"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="122"/> <source>does not exist</source> <translation>existiert nicht</translation> </message> @@ -11959,68 +12014,68 @@ <context> <name>TwoDPanelDlg</name> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="40"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="43"/> <source>Global Panel Refinement</source> <translation>Globale Panel Verfeinerung</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="42"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="45"/> <source>Number of Panels</source> <translation>Anzahl der Panele</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="43"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="46"/> <source>Panel Bunching Parameter</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="44"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="47"/> <source>TE/LE Panel Density Ratio</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="45"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="48"/> <source>Refined area/LE Panel Density Ratio</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="46"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="49"/> <source>Top Side Refined Area x/c limits</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="47"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="50"/> <source>Bottom Side Refined Area x/c limits</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="88"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="91"/> <source>OK</source> <translation>Ok</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="89"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="92"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="90"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="93"/> <source>Apply</source> <translation>Anwenden</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="208"/> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="219"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="211"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="222"/> <source>Warning</source> <translation>Warnung</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="208"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="211"/> <source>Unrecognized foil format</source> <translation>Unbekannts Profil Format</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="218"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="221"/> <source>The total number of panels cannot exceed %1</source> <translation>Die gesamte Paneele Anzahl kann %1 nicht überschreiten</translation> </message> @@ -12077,12 +12132,12 @@ <translation>Einheiten für dieses Projekt definieren</translation> </message> <message> - <location filename="../src/Misc/UnitsDlg.cpp" line="94"/> + <location filename="../src/Misc/UnitsDlg.cpp" line="117"/> <source>OK</source> <translation>Ok</translation> </message> <message> - <location filename="../src/Misc/UnitsDlg.cpp" line="95"/> + <location filename="../src/Misc/UnitsDlg.cpp" line="118"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> @@ -12741,24 +12796,24 @@ <context> <name>WingDelegate</name> <message> - <location filename="../src/Miarex/WingDelegate.cpp" line="65"/> - <location filename="../src/Miarex/WingDelegate.cpp" line="70"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="64"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="69"/> <source>Uniform</source> <translation>Gleichmäßig</translation> </message> <message> - <location filename="../src/Miarex/WingDelegate.cpp" line="66"/> - <location filename="../src/Miarex/WingDelegate.cpp" line="71"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="65"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="70"/> <source>Cosine</source> <translation>COSinus</translation> </message> <message> - <location filename="../src/Miarex/WingDelegate.cpp" line="72"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="71"/> <source>Sine</source> <translation>SINus</translation> </message> <message> - <location filename="../src/Miarex/WingDelegate.cpp" line="73"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="72"/> <source>-Sine</source> <translation>-SINus</translation> </message> @@ -12857,37 +12912,37 @@ <context> <name>XFoilAdvancedDlg</name> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="27"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="28"/> <source>XFoil Settings</source> <translation>XFoil Einstellungen</translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="42"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="43"/> <source>VAccel</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="51"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="52"/> <source>Iteration Limit</source> <translation>Maximale Iterationen</translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="61"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="62"/> <source>Re-initialize BLs after an unconverged iteration</source> <translation>Grenzschicht bei nicht-konvergenz neu initialisieren</translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="62"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="63"/> <source>Show full log report for an XFoil analysis</source> <translation>Zeige gesamten Logfile nach Analyse</translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="65"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="66"/> <source>OK</source> <translation>Ok</translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="66"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="67"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> @@ -12895,100 +12950,100 @@ <context> <name>XFoilAnalysisDlg</name> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="33"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="36"/> <source>XFoil Analysis</source> <translation>XFoil Analyse</translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="36"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="39"/> <source>Iter</source> <translation>Iteration</translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="101"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="104"/> <source>Skip</source> <translation>überspringen</translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="102"/> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="536"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="105"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="539"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="190"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="193"/> <source>Alpha = %1</source> <translation>Alpha = %1</translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="192"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="195"/> <source>Alfa = %1 ........ </source> <translation>Alpha = %1 ..........</translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="198"/> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="218"/> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="436"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="201"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="221"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="439"/> <source>Invalid Analysis Settings CpCalc: local speed too large Compressibility corrections invalid </source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="210"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="213"/> <source>Cl = %1</source> <translation>Cl = %1</translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="213"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="216"/> <source>Cl = %1 ........ </source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="301"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="304"/> <source> Initializing viscous analysis ... </source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="307"/> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="346"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="310"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="349"/> <source>CpCalc: local speed too large Compressibility corrections invalid</source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="313"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="316"/> <source> Solving BL system ... </source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="319"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="322"/> <source> Iteration %1 ... </source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="356"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="359"/> <source>unconverged after %1 iterations </source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="358"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="361"/> <source>--------- Unconverged ----------- </source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="378"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="381"/> <source>converged after %1 iterations </source> <translation></translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="554"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="557"/> <source>Close</source> <translation>Schließen</translation> </message> diff -Nru xflr5-6.05/translations/xflr5v6_fr.ts xflr5-6.06/translations/xflr5v6_fr.ts --- xflr5-6.05/translations/xflr5v6_fr.ts 2011-07-25 02:43:09.000000000 +0900 +++ xflr5-6.06/translations/xflr5v6_fr.ts 2012-01-08 00:22:13.000000000 +0900 @@ -135,42 +135,41 @@ <context> <name>AboutQ5</name> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="58"/> + <location filename="../src/Misc/AboutQ5.cpp" line="57"/> <source>Copyright (C) M. Drela and H. Youngren 2000 - XFoil v6.94</source> <translation>Copyright (C) M. Drela et H. Youngren 2000 - XFoil v6.94</translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="59"/> + <location filename="../src/Misc/AboutQ5.cpp" line="58"/> <source>Copyright (C) Matthieu Scherrer 2004 - Miarex v1.00</source> <translation>Copyright (C) Matthieu Scherrer 2004 - Miarex v1.00</translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="30"/> + <location filename="../src/Misc/AboutQ5.cpp" line="29"/> <source>About XFLR5</source> <translation>A propos de XFLR5</translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="60"/> <source>Copyright (C) Andre Deperrois 2003-2011</source> - <translation>Copyright (C) Andre Deperrois 2003-2011</translation> + <translation type="obsolete">Copyright (C) Andre Deperrois 2003-2011</translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="61"/> + <location filename="../src/Misc/AboutQ5.cpp" line="60"/> <source>This program is distributed in the hope that it will be useful,</source> <translation>Ce programme est distribué avec l'espoir qu'il sera utile,</translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="62"/> + <location filename="../src/Misc/AboutQ5.cpp" line="61"/> <source>but WITHOUT ANY WARRANTY; without even the implied warranty of</source> <translation>mais SANS AUCUNE GARANTIE, sans même la garantie implicite d'une</translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="63"/> + <location filename="../src/Misc/AboutQ5.cpp" line="62"/> <source>MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</source> <translation>QUELCONQUE VALEUR MARCHANDE ou de l'ADÉQUATION À UN BESOIN PARTICULIER.</translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="64"/> + <location filename="../src/Misc/AboutQ5.cpp" line="63"/> <source>This program has been developed exclusively for the analysis of model aircraft</source> <translation>Ce programme a été développé exclusivement pour l'analyse de modèles réduits</translation> </message> @@ -179,27 +178,42 @@ <translation type="obsolete">Ce programme a été développé exclusivement pour l'analyse de modèles réduits</translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="65"/> + <location filename="../src/Misc/AboutQ5.cpp" line="59"/> + <source>Copyright (C) Andre Deperrois 2003-2012</source> + <translation>Copyright (C) Andre Deperrois 2003-2012</translation> + </message> + <message> + <location filename="../src/Misc/AboutQ5.cpp" line="64"/> <source>Any other usage is strongly disapproved</source> <translation>Toute autre utilisation est fortement déconseillée</translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="66"/> + <location filename="../src/Misc/AboutQ5.cpp" line="65"/> <source>Program distributed under the terms of the GNU General Public License</source> <translation>Ce programme est distribué selon les termes de la Licence Publique Générale GNU (GPL)</translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="67"/> + <location filename="../src/Misc/AboutQ5.cpp" line="66"/> <source>German translation by Martin Willner (mjw@xxxxxxxxx)</source> <translation>Traduction allemande par Martin Willner (mjw@xxxxxxxxx)</translation> </message> <message> + <location filename="../src/Misc/AboutQ5.cpp" line="67"/> + <source>Japanese translation by IKUSU, Koichi Akabe, Misatus, dynamicsoar, hide253</source> + <translation>Traduction japonaise par IKUSU, Koichi Akabe, Misatus, dynamicsoar, hide253</translation> + </message> + <message> <location filename="../src/Misc/AboutQ5.cpp" line="68"/> + <source>icchy_07, ina111, ohayo_cycling, ohisa_64, ozawa64.</source> + <translation></translation> + </message> + <message> + <location filename="../src/Misc/AboutQ5.cpp" line="69"/> <source>French translation by Jean-Luc Coulon</source> <translation>Traduction française par Jean-Luc Coulon</translation> </message> <message> - <location filename="../src/Misc/AboutQ5.cpp" line="70"/> + <location filename="../src/Misc/AboutQ5.cpp" line="71"/> <source>OK</source> <translation>Accepter</translation> </message> @@ -798,114 +812,114 @@ <context> <name>CAddDlg</name> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="78"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="82"/> <source>Accept</source> <translation>Accepter</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="79"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="83"/> <source>Cancel</source> <translation>Abandonner</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="80"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="84"/> <source>Apply</source> <translation>Appliquer</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="132"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="136"/> <source>Warning</source> <translation>Attention</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="31"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="35"/> <source>Local Panel Refinement</source> <translation>Amélioration locale du profil</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="48"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="52"/> <source>Type of Spline</source> <translation>Type de spline</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="49"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="53"/> <source>Refinement X Limits</source> <translation>Limites d'amélioration en X</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="50"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="54"/> <source>From</source> <translation>De</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="51"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="55"/> <source>To</source> <translation>À</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="58"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="62"/> <source>Uniform</source> <translation>Uniforme</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="59"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="63"/> <source>Arc Length</source> <translation>Longueur d'arc</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="72"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="76"/> <source>Total</source> <translation>Total</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="73"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="77"/> <source>Added</source> <translation>Ajouté</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="74"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="78"/> <source>MaxAngle</source> <translation>AngleMax</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="132"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="136"/> <source>Unrecognized foil format</source> <translation>Format de profil non reconnu</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="146"/> - <location filename="../src/XDirect/CAddDlg.cpp" line="213"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="150"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="217"/> <source>Total number of points is %1</source> <translation>Le nombre total de points est de %1</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="148"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="152"/> <source>(added %1 points to original foil)</source> <translation>(%1 points ajoutés au profil d'origine)</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="162"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="166"/> <source>Maximum panel angle is %1</source> <translation>L'angle maximum du panneau est de %1</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="164"/> - <location filename="../src/XDirect/CAddDlg.cpp" line="210"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="168"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="214"/> <source>at panel position %1</source> <translation>a la position %1 du panneau</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="208"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="212"/> <source>Maximum panel angle is %1 deg</source> <translation>L'angle maximum du panneau est de %1 deg</translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="47"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="51"/> <source>Angle Criterion </source> <translation>Critère d'angle </translation> </message> <message> - <location filename="../src/XDirect/CAddDlg.cpp" line="75"/> + <location filename="../src/XDirect/CAddDlg.cpp" line="79"/> <source>At Panel</source> <translation>Au panneau</translation> </message> @@ -913,15 +927,13 @@ <context> <name>CSurface</name> <message> - <location filename="../src/Objects/Surface.cpp" line="737"/> <source>Warning</source> - <translation>Attention</translation> + <translation type="obsolete">Attention</translation> </message> <message> - <location filename="../src/Objects/Surface.cpp" line="738"/> <source>Continuous foils for surface do not have the same initial flap angle... aborting </source> - <translation>Les profils continus en surface n'ont pas le même angle initial... Abandon + <translation type="obsolete">Les profils continus en surface n'ont pas le même angle initial... Abandon </translation> </message> <message> @@ -969,12 +981,17 @@ <translation>Inverser le sens du zoom lors de l’utilisation de la molette de la souris</translation> </message> <message> - <location filename="../src/Misc/DisplaySettingsDlg.cpp" line="104"/> + <location filename="../src/Misc/DisplaySettingsDlg.cpp" line="102"/> + <source>Enable 3D transparency</source> + <translation>Activer la transparence 3D</translation> + </message> + <message> + <location filename="../src/Misc/DisplaySettingsDlg.cpp" line="105"/> <source>OK</source> <translation>Accepter</translation> </message> <message> - <location filename="../src/Misc/DisplaySettingsDlg.cpp" line="106"/> + <location filename="../src/Misc/DisplaySettingsDlg.cpp" line="107"/> <source>Cancel</source> <translation>Abandonner</translation> </message> @@ -1201,23 +1218,23 @@ <context> <name>FoilPolarDlg</name> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="166"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="168"/> <source>OK</source> <translation>Accepter</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="168"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="170"/> <source>Cancel</source> <translation>Abandonner</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="59"/> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="67"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="61"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="69"/> <source>Analysis Name</source> <translation>Nom de l'analyse</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="79"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="81"/> <source>Analysis Type</source> <translation>Type d'analyse</translation> </message> @@ -1226,155 +1243,155 @@ <translation type="obsolete">Données aérodynamiques</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="199"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="201"/> <source>Transition settings</source> <translation>Paramètres de transition</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="34"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="36"/> <source>Foil Polar Definition</source> <translation>Définition de la polaire du profil</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="57"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="59"/> <source>Automatic</source> <translation>Automatique</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="58"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="60"/> <source>User Defined</source> <translation>Définie par l'utilisateur</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="71"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="73"/> <source>Type 1</source> <translation>Type 1</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="72"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="74"/> <source>Type 2</source> <translation>Type 2</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="73"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="75"/> <source>Type 3</source> <translation>Type 3</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="74"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="76"/> <source>Type 4</source> <translation>Type 4</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="84"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="86"/> <source>Plane Data</source> <translation>Données avion</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="90"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="92"/> <source>Chord</source> <translation>Corde</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="91"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="93"/> <source>Mass</source> <translation>Masse</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="92"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="94"/> <source>Span</source> <translation>Envergure</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="107"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="109"/> <source>Aerodynamic Data</source> <translation>Données aérodynamiques</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="110"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="112"/> <source>Unit</source> <translation>Unités</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="111"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="113"/> <source>International</source> <translation>International</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="112"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="114"/> <source>Imperial</source> <translation>Impérial</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="143"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="145"/> <source> Re =</source> <translation> Re =</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="145"/> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="402"/> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="418"/> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="426"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="147"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="404"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="420"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="428"/> <source>Mach =</source> <translation>Mach =</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="162"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="164"/> <source>Reynolds and Mach Numbers</source> <translation>Nombre de Reynolds et de Mach</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="179"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="181"/> <source>Free transitions (e^n) method</source> <translation>Méthode des transitions libres (e^n)</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="180"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="182"/> <source>Forced transition:</source> <translation>Transition forcée :</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="181"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="183"/> <source>NCrit=</source> <translation>NCrit=</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="182"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="184"/> <source>TripLocation (top)</source> <translation>Point de transition (supérieur)</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="183"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="185"/> <source>TripLocation (bot)</source> <translation>Point de transition (inférieur)</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="277"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="279"/> <source>Analysis parameters for </source> <translation>Paramètres d'analyse pour </translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="401"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="403"/> <source>Reynolds =</source> <translation>Reynolds =</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="409"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="411"/> <source>Re.sqrt(Cl) =</source> <translation>Re.sqrt(Cz) =</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="410"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="412"/> <source>Ma.sqrt(Cl) =</source> <translation>Ma.sqrt(Cz) =</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="417"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="419"/> <source>Re.Cl =</source> <translation>Re.Cz =</translation> </message> <message> - <location filename="../src/XDirect/FoilPolarDlg.cpp" line="425"/> + <location filename="../src/XDirect/FoilPolarDlg.cpp" line="427"/> <source>Alpha =</source> <translation>Alpha =</translation> </message> @@ -1400,107 +1417,107 @@ <context> <name>GL3DScales</name> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="187"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="189"/> <source>Apply</source> <translation>Appliquer</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="71"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="73"/> <source>Auto Scales</source> <translation>Échelles automatiques</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="68"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="70"/> <source>Cp Scale</source> <translation>Échelle Cp</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="116"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="118"/> <source>Lift </source> <translation>Portance </translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="117"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="119"/> <source>Drag </source> <translation>Traînée </translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="118"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="120"/> <source>Velocity </source> <translation>Vitesse </translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="185"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="187"/> <source>Streamlines</source> <translation>Lignes de courant</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="90"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="92"/> <source>Vector Scales</source> <translation>Échelles des vecteurs</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="161"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="163"/> <source>L.E.</source> <translation>Bord d'attaque</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="162"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="164"/> <source>T.E.</source> <translation>Bord de fuite</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="163"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="165"/> <source>Y-Line</source> <translation>Ligne Y</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="138"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="140"/> <source>X-axis points</source> <translation>points sur l'axe X</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="139"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="141"/> <source>1st segment</source> <translation>1er segment</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="140"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="142"/> <source>X factor</source> <translation>Facteur X</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="164"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="166"/> <source>X-Offset</source> <translation>Décalage X</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="165"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="167"/> <source>Z-Offset</source> <translation>Décalage Z</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="131"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="133"/> <source>Streamline length</source> <translation>Longueur de la ligne de courant</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="155"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="157"/> <source>Start Streamline at</source> <translation>Démarrer la ligne de courant à</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="31"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="33"/> <source>3D Scales Settings</source> <translation>Définitions des échelles 3D</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="76"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="78"/> <source>Min</source> <translation>Min</translation> </message> <message> - <location filename="../src/Miarex/GL3DScales.cpp" line="77"/> + <location filename="../src/Miarex/GL3DScales.cpp" line="79"/> <source>Max</source> <translation>Max</translation> </message> @@ -1508,268 +1525,268 @@ <context> <name>GL3dBodyDlg</name> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="156"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4837"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="157"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4438"/> <source>Undo</source> <translation>Défaire</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="157"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="158"/> <source>Cancels the last modifiction made to the body</source> <translation>Supprimer la dernière modification faite au fuselage</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="160"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4838"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="161"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4439"/> <source>Redo</source> <translation>Refaire</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="161"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="162"/> <source>Restores the last cancelled modification made to the body</source> <translation>Restaurer la dernière modification annulée faite au fuselage</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="164"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="165"/> <source>Export Body Geometry to File</source> <translation>Exporter la géométrie du fuselage vers un fichier</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="167"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="168"/> <source>Export Body Definition to File</source> <translation>Exporter la définition du fuselage vers un fichier</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="170"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="171"/> <source>Import Body Definition from File</source> <translation>Importer la définition du fuselage depuis un fichier</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="542"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="513"/> <source>Warning</source> <translation>Attention</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="3114"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="3117"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2771"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2773"/> <source>NPanels</source> <translation>NbPanneaux</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4839"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4440"/> <source>Other</source> <translation>Autre</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4862"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4463"/> <source>Save and Close</source> <translation>Enregistrer et fermer</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4864"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4465"/> <source>Cancel</source> <translation>Abandonner</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="74"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="75"/> <source>Body Edition</source> <translation>Édition de fuselage</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="147"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="148"/> <source>Insert</source> <translation>Insérer</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="148"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="149"/> <source>Remove</source> <translation>Supprimer</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="149"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="150"/> <source>Scale</source> <translation>Échelle</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="150"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="151"/> <source>Grid Setup</source> <translation>Configuration de la grille</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="151"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4805"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="152"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4406"/> <source>Reset Scales</source> <translation>Réinitialiser les échelles</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="152"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="153"/> <source>Show Current Frame Only</source> <translation>N'afficher que la structure en cours</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="541"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="512"/> <source>Resolution cannot exceed %1</source> <translation>La résolution ne peut pas dépasser %1</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="173"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="174"/> <source>Translate</source> <translation>Translation</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4930"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4531"/> <source>Description:</source> <translation>Description :</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="154"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="155"/> <source>Inertia...</source> <translation>Inertie...</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2678"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2506"/> <source>Frame %1</source> <translation>Cadre %1</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2681"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2684"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2509"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="2512"/> <source>Scale = %1</source> <translation>Échelle = %1</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4338"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="3941"/> <source>Body Dlg Exit</source> <translation>Quitter le dialogue de fuselage</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4338"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="3941"/> <source>Save the Body ?</source> <translation>Enregistrer le fuselage ?</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4782"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4383"/> <source>Axes</source> <translation>Axes</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4783"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4384"/> <source>Light</source> <translation>Éclairage</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4784"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4385"/> <source>Surfaces</source> <translation>Surfaces</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4785"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4386"/> <source>Outline</source> <translation>Contour</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4786"/> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4894"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4387"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4495"/> <source>Panels</source> <translation>Panneaux</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4787"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4388"/> <source>Masses</source> <translation>Masses</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4800"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4401"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4801"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4402"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4802"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4403"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4803"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4404"/> <source>Iso</source> <translation>Iso</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4804"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4405"/> <source>Pick Center</source> <translation>Choisir le centre</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4831"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4432"/> <source>Clip Plane</source> <translation>Tronquer l'avion</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4841"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4442"/> <source>Actions...</source> <translation>Actions...</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4883"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4484"/> <source>Flat Panels</source> <translation>Panneaux plats</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4884"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4485"/> <source>BSplines</source> <translation>Splines B</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4891"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4492"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4892"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4493"/> <source>Hoop</source> <translation>Coupe</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4893"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4494"/> <source>Degree</source> <translation>Ordre</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4922"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4523"/> <source>BodyName</source> <translation>NomFuselage</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4929"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4530"/> <source>Enter here a short description for the body</source> <translation>Entrer ici une courte description pour le fuselage</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4944"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4545"/> <source>Frames</source> <translation>Cadres</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4945"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4546"/> <source>Frame Positions</source> <translation>Emplacement des cadres</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4962"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4563"/> <source>Points</source> <translation>Points</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4963"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4564"/> <source>Current Frame Definition</source> <translation>Définition du cadre sélectionné</translation> </message> <message> - <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="5059"/> + <location filename="../src/Miarex/GL3dBodyDlg.cpp" line="4660"/> <source>Context Menu</source> <translation>Menu contextuel</translation> </message> @@ -1777,44 +1794,44 @@ <context> <name>GL3dWingDlg</name> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="139"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="147"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="154"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1866"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1975"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1980"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2032"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="3045"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="140"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="148"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="155"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1467"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1576"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1581"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1633"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2614"/> <source>Warning</source> <translation>Attention</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="147"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="148"/> <source>Warning : Panel sequence is inconsistent</source> <translation>Attention : la séquence de panneaux n'est pas cohérente</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1866"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1467"/> <source>The first section cannot be deleted</source> <translation>La première section ne peut pas être supprimée</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2660"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2228"/> <source>Symetric</source> <translation>Symétrique</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2661"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2229"/> <source>Right Side</source> <translation>Côté droit</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2662"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2230"/> <source>Left Side</source> <translation>Côté gauche</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="119"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="120"/> <source>Insert Before</source> <translation>Insérer avant</translation> </message> @@ -1827,88 +1844,88 @@ <translation type="obsolete">Supprimer la section</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2898"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2466"/> <source>Reset Mesh</source> <translation>Réinitialiser le maillage</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2899"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2467"/> <source>Scale Wing</source> <translation>Mise à l'échelle de l'aile</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2909"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2477"/> <source>Save and Close</source> <translation>Enregistrer et quitter</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2911"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2479"/> <source>Cancel</source> <translation>Abandonner</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="58"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="59"/> <source>Wing Edition</source> <translation>Édition de l'aile</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="118"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2865"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="119"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2433"/> <source>Reset Scales</source> <translation>Réinitialiser les échelles</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="120"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="121"/> <source>Insert after</source> <translation>Insérer après</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="121"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2550"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="122"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2118"/> <source>Delete section</source> <translation>Supprimer la section</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="123"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="124"/> <source>Section</source> <translation>Section</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="139"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="140"/> <source>Please enter a name for the wing</source> <translation>Veuillez entrer un nom pour l'aile</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="154"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="3045"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="155"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2614"/> <source>Too many panels Reduce the mesh size</source> <translation>Trop de panneaux Réduisez la taille du maillage</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="160"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="161"/> <source>Only 10 flaps x 2 will be handled</source> <translation>Seuls 10 volets x2 peuvent être pris en compte</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1468"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1100"/> <source>chord (</source> <translation>corde (</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1469"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1101"/> <source>offset (</source> <translation>décalage (</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1975"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2032"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1576"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1633"/> <source>The maximum number of panels has been reached</source> <translation>Le nombre maximum de panneaux a été atteint</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1980"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1581"/> <source>No insertion possible before the first section</source> <translation>Il n'est pas possible d'insérer avant la première section</translation> </message> @@ -1925,224 +1942,224 @@ <translation type="obsolete">Supprimer la section %1</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2726"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2294"/> <source>Wing Span</source> <translation>Envergure de l'aile</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2727"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2295"/> <source>Area</source> <translation>Surface</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2728"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2296"/> <source>Projected Span</source> <translation>Envergure projetée</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2729"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2297"/> <source>Projected Area</source> <translation>Surface projetée</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2730"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2298"/> <source>Total VLM Panels</source> <translation>Nombre total de panneaux VLM</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2731"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2299"/> <source>Number of 3D Panels</source> <translation>Nombre de panneaux 3D</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2777"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2345"/> <source>Mean Geom. Chord</source> <translation>Corde géométrique moyenne</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2778"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2346"/> <source>Mean Aero Chord</source> <translation>Corde aéro moyenne</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2779"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2347"/> <source>MAC Span Pos</source> <translation>Position sur l'envergure de la CAM</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2780"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2348"/> <source>Aspect ratio</source> <translation>Allongement</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2781"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2349"/> <source>Taper Ratio</source> <translation>Effilement</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2782"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2350"/> <source>Root to Tip Sweep</source> <translation>Flèche de l'emplanture au saumon</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2783"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2351"/> <source>Number of Flaps</source> <translation>Nombre de volets</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2840"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2408"/> <source>Axes</source> <translation>Axes</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2841"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2409"/> <source>Light</source> <translation>Éclairage</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2842"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2410"/> <source>Surfaces</source> <translation>Surfaces</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2843"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2411"/> <source>Outline</source> <translation>Contour</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2844"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2412"/> <source>Panels</source> <translation>Panneaux</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2845"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2413"/> <source>Foil Names</source> <translation>Nom des profils</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2846"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2414"/> <source>Masses</source> <translation>Masses</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2864"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2432"/> <source>Pick Center</source> <translation>Sélectionner le centre</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2892"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2460"/> <source>Clip Plane</source> <translation>Tronquer l'avion</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="161"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2375"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="162"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1961"/> <source>Question</source> <translation>Question</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2860"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2428"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2861"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2429"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2863"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2431"/> <source>Iso</source> <translation>ISO</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1467"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1099"/> <source>y (</source> <translation>y (</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2831"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2399"/> <source>Enter here a short description for the wing</source> <translation>Entrez ici une courte description de l'aile</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2833"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2401"/> <source>Description:</source> <translation>Description :</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2862"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2430"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2900"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2468"/> <source>Inertia...</source> <translation>Inertie...</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2374"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1960"/> <source>Save the changes ?</source> <translation>Enregistrer les modifications ?</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="366"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="374"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2347"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2362"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="348"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="356"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1933"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1948"/> <source>Uniform</source> <translation>Uniforme</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="367"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="375"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2348"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2363"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="349"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="357"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1934"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1949"/> <source>Cosine</source> <translation>Cosinus</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="376"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2349"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2364"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="358"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1935"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1950"/> <source>Sine</source> <translation>Sinus</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="377"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2350"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2365"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="359"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1936"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1951"/> <source>-Sine</source> <translation>-Sinus</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2269"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1855"/> <source>Wing Description</source> <translation>Description de l'aile</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2542"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2110"/> <source>Insert after section</source> <translation>Insérer après la section</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2546"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2114"/> <source>Insert before section</source> <translation>Insérer avant la section</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2615"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2183"/> <source>Undefined</source> <translation>Non défini</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2676"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2244"/> <source>WingName</source> <translation>NomAile</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2768"/> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2772"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2336"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2340"/> <source>Max is </source> <translation>Le maximum est</translation> </message> @@ -2154,80 +2171,80 @@ <context> <name>GLLightDlg</name> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="242"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="243"/> <source>Close</source> <translation>Fermer</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="243"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="244"/> <source>Reset Defaults</source> <translation>Réinitialiser aux valeurs par défaut</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="59"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="49"/> <source>OpenGL Light Options</source> <translation>Options d'éclairage OpenGL</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="177"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="157"/> <source>Light Intensity</source> <translation>Intensité lumineuse</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="181"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="175"/> <source>Red</source> <translation>Rouge</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="182"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="176"/> <source>Green</source> <translation>Vert</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="183"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="177"/> <source>Blue</source> <translation>Bleu</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="190"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="172"/> <source>Light Color</source> <translation>Couleur de l'éclairage</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="203"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="187"/> <source>Light Position</source> <translation>Position de l'éclairage</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="168"/> - <location filename="../src/Miarex/GLLightDlg.cpp" line="207"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="160"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="205"/> <source>Diffuse</source> <translation>Diffuse</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="169"/> - <location filename="../src/Miarex/GLLightDlg.cpp" line="208"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="161"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="206"/> <source>Ambient</source> <translation>Ambiante</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="170"/> - <location filename="../src/Miarex/GLLightDlg.cpp" line="209"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="162"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="207"/> <source>Specular</source> <translation>Spéculaire</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="210"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="208"/> <source>Emissions</source> <translation>Émissive</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="211"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="209"/> <source>Shininess</source> <translation>Brillance</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="222"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="202"/> <source>Material</source> <translation>Matériau</translation> </message> @@ -2257,27 +2274,27 @@ <translation>Vue locale</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="238"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="223"/> <source>Options</source> <translation>Options</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="270"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="280"/> <source>Light</source> <translation>Lumière</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="194"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="190"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="195"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="191"/> <source>y</source> <translation>y</translation> </message> <message> - <location filename="../src/Miarex/GLLightDlg.cpp" line="196"/> + <location filename="../src/Miarex/GLLightDlg.cpp" line="192"/> <source>z</source> <translation>z</translation> </message> @@ -2290,17 +2307,17 @@ <context> <name>GraphDlg</name> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="861"/> + <location filename="../src/Graph/GraphDlg.cpp" line="859"/> <source>OK</source> <translation>Accepter</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="863"/> + <location filename="../src/Graph/GraphDlg.cpp" line="861"/> <source>Cancel</source> <translation>Abandonner</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="865"/> + <location filename="../src/Graph/GraphDlg.cpp" line="863"/> <source>Apply</source> <translation>Appliquer</translation> </message> @@ -2311,7 +2328,7 @@ </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="113"/> - <location filename="../src/Graph/GraphDlg.cpp" line="275"/> + <location filename="../src/Graph/GraphDlg.cpp" line="277"/> <source>X - Chord</source> <translation>X - Corde</translation> </message> @@ -2328,7 +2345,7 @@ </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="120"/> - <location filename="../src/Graph/GraphDlg.cpp" line="276"/> + <location filename="../src/Graph/GraphDlg.cpp" line="278"/> <source>Cp</source> <translation>Cp</translation> </message> @@ -2360,14 +2377,14 @@ <message> <location filename="../src/Graph/GraphDlg.cpp" line="168"/> <location filename="../src/Graph/GraphDlg.cpp" line="185"/> - <location filename="../src/Graph/GraphDlg.cpp" line="232"/> + <location filename="../src/Graph/GraphDlg.cpp" line="233"/> <source>Induced drag coef.</source> <translation>Coef traînée induite</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="169"/> <location filename="../src/Graph/GraphDlg.cpp" line="186"/> - <location filename="../src/Graph/GraphDlg.cpp" line="233"/> + <location filename="../src/Graph/GraphDlg.cpp" line="234"/> <source>Total drag coef.</source> <translation>Coef traînée totale</translation> </message> @@ -2403,158 +2420,154 @@ </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="177"/> - <location filename="../src/Graph/GraphDlg.cpp" line="210"/> - <location filename="../src/Graph/GraphDlg.cpp" line="257"/> + <location filename="../src/Graph/GraphDlg.cpp" line="211"/> + <location filename="../src/Graph/GraphDlg.cpp" line="259"/> <source>Bending moment</source> <translation>Moment de flexion</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="183"/> - <location filename="../src/Graph/GraphDlg.cpp" line="230"/> + <location filename="../src/Graph/GraphDlg.cpp" line="231"/> <source>Lift coef.</source> <translation>Coef de portance</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="184"/> - <location filename="../src/Graph/GraphDlg.cpp" line="231"/> + <location filename="../src/Graph/GraphDlg.cpp" line="232"/> <source>Viscous drag coef.</source> <translation>Coef de traînée visqueuse</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="188"/> - <location filename="../src/Graph/GraphDlg.cpp" line="235"/> + <location filename="../src/Graph/GraphDlg.cpp" line="236"/> <source>Total pitching moment coef.</source> <translation>Coef moment total tangage</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="191"/> - <location filename="../src/Graph/GraphDlg.cpp" line="238"/> + <location filename="../src/Graph/GraphDlg.cpp" line="239"/> <source>Total rolling moment coef.</source> <translation>Coef moment de roulis total</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="192"/> - <location filename="../src/Graph/GraphDlg.cpp" line="239"/> + <location filename="../src/Graph/GraphDlg.cpp" line="240"/> <source>Total yawing moment coef.</source> <translation>Coef moment lacet total</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="193"/> - <location filename="../src/Graph/GraphDlg.cpp" line="240"/> + <location filename="../src/Graph/GraphDlg.cpp" line="241"/> <source>Viscous yawing moment coef.</source> <translation>Coef moment lacet visqueux</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="194"/> - <location filename="../src/Graph/GraphDlg.cpp" line="241"/> + <location filename="../src/Graph/GraphDlg.cpp" line="242"/> <source>Induced yawing moment coef.</source> <translation>Coef moment lacet induit</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="196"/> - <location filename="../src/Graph/GraphDlg.cpp" line="243"/> + <location filename="../src/Graph/GraphDlg.cpp" line="244"/> <source>Glide ratio Cl/Cd</source> <translation>Finesse Cz/Cx</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="197"/> - <location filename="../src/Graph/GraphDlg.cpp" line="244"/> + <location filename="../src/Graph/GraphDlg.cpp" line="245"/> <source>Power factor Cl^(3/2)/Cd</source> <translation>Facteur de vitesse mini. Cz^(3/2)/Cx</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="198"/> - <location filename="../src/Graph/GraphDlg.cpp" line="245"/> + <location filename="../src/Graph/GraphDlg.cpp" line="246"/> <source>1/Rt(Cl)</source> <translation>1/Rt(Cz)</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="199"/> - <location filename="../src/Graph/GraphDlg.cpp" line="246"/> <source>Lift</source> - <translation>Portance</translation> + <translation type="obsolete">Portance</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="200"/> - <location filename="../src/Graph/GraphDlg.cpp" line="247"/> <source>Drag</source> - <translation>Traînée</translation> + <translation type="obsolete">Traînée</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="201"/> - <location filename="../src/Graph/GraphDlg.cpp" line="248"/> + <location filename="../src/Graph/GraphDlg.cpp" line="202"/> + <location filename="../src/Graph/GraphDlg.cpp" line="250"/> <source>Vx</source> <translation>Vx</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="202"/> - <location filename="../src/Graph/GraphDlg.cpp" line="249"/> + <location filename="../src/Graph/GraphDlg.cpp" line="203"/> + <location filename="../src/Graph/GraphDlg.cpp" line="251"/> <source>Vz</source> <translation>Vz</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="203"/> - <location filename="../src/Graph/GraphDlg.cpp" line="250"/> + <location filename="../src/Graph/GraphDlg.cpp" line="204"/> + <location filename="../src/Graph/GraphDlg.cpp" line="252"/> <source>VInf</source> <translation>VInf</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="204"/> - <location filename="../src/Graph/GraphDlg.cpp" line="251"/> + <location filename="../src/Graph/GraphDlg.cpp" line="205"/> + <location filename="../src/Graph/GraphDlg.cpp" line="253"/> <source>Descent angle atan(Cd/Cl)</source> <translation>Angle de descente atan(Cx/Cz)</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="205"/> - <location filename="../src/Graph/GraphDlg.cpp" line="252"/> + <location filename="../src/Graph/GraphDlg.cpp" line="206"/> + <location filename="../src/Graph/GraphDlg.cpp" line="254"/> <source>Pitching Moment</source> <translation>Moment de tangage</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="206"/> - <location filename="../src/Graph/GraphDlg.cpp" line="253"/> + <location filename="../src/Graph/GraphDlg.cpp" line="207"/> + <location filename="../src/Graph/GraphDlg.cpp" line="255"/> <source>Rolling Moment</source> <translation>Moment de roulis</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="207"/> - <location filename="../src/Graph/GraphDlg.cpp" line="254"/> + <location filename="../src/Graph/GraphDlg.cpp" line="208"/> + <location filename="../src/Graph/GraphDlg.cpp" line="256"/> <source>Yawing Moment</source> <translation>Moment de lacet</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="208"/> - <location filename="../src/Graph/GraphDlg.cpp" line="255"/> + <location filename="../src/Graph/GraphDlg.cpp" line="209"/> + <location filename="../src/Graph/GraphDlg.cpp" line="257"/> <source>Centre of pressure X-Pos</source> <translation>Centre de pression X-Pos</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="209"/> - <location filename="../src/Graph/GraphDlg.cpp" line="256"/> + <location filename="../src/Graph/GraphDlg.cpp" line="210"/> + <location filename="../src/Graph/GraphDlg.cpp" line="258"/> <source>Centre of pressure Y-Pos</source> <translation>Centre de pression Y-Pos</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="211"/> - <location filename="../src/Graph/GraphDlg.cpp" line="258"/> + <location filename="../src/Graph/GraphDlg.cpp" line="212"/> + <location filename="../src/Graph/GraphDlg.cpp" line="260"/> <source>m.g.Vz</source> <translation>m.g.Vz</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="212"/> - <location filename="../src/Graph/GraphDlg.cpp" line="259"/> + <location filename="../src/Graph/GraphDlg.cpp" line="213"/> + <location filename="../src/Graph/GraphDlg.cpp" line="261"/> <source>Efficiency</source> <translation>Rendement</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="214"/> - <location filename="../src/Graph/GraphDlg.cpp" line="261"/> + <location filename="../src/Graph/GraphDlg.cpp" line="215"/> + <location filename="../src/Graph/GraphDlg.cpp" line="263"/> <source>Control Variable</source> <translation>Variable de contrôle</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="215"/> - <location filename="../src/Graph/GraphDlg.cpp" line="262"/> + <location filename="../src/Graph/GraphDlg.cpp" line="216"/> + <location filename="../src/Graph/GraphDlg.cpp" line="264"/> <source>Cy - Lateral force coef.</source> <translation>Cy - Coef de force latérale</translation> </message> @@ -2562,202 +2575,220 @@ <location filename="../src/Graph/GraphDlg.cpp" line="126"/> <location filename="../src/Graph/GraphDlg.cpp" line="142"/> <location filename="../src/Graph/GraphDlg.cpp" line="182"/> - <location filename="../src/Graph/GraphDlg.cpp" line="229"/> + <location filename="../src/Graph/GraphDlg.cpp" line="230"/> <source>Alpha</source> <translation>Alpha</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="213"/> - <location filename="../src/Graph/GraphDlg.cpp" line="260"/> + <location filename="../src/Graph/GraphDlg.cpp" line="199"/> + <location filename="../src/Graph/GraphDlg.cpp" line="247"/> + <source>FX (Drag)</source> + <translation>FX (Traînée)</translation> + </message> + <message> + <location filename="../src/Graph/GraphDlg.cpp" line="200"/> + <location filename="../src/Graph/GraphDlg.cpp" line="248"/> + <source>FY (Side force)</source> + <translation>FY (Force latérale)</translation> + </message> + <message> + <location filename="../src/Graph/GraphDlg.cpp" line="201"/> + <location filename="../src/Graph/GraphDlg.cpp" line="249"/> + <source>FZ (Lift)</source> + <translation>FZ (Portance)</translation> + </message> + <message> + <location filename="../src/Graph/GraphDlg.cpp" line="214"/> + <location filename="../src/Graph/GraphDlg.cpp" line="262"/> <source>(XCp-Xcg)/MAC</source> <translation>(XCp-Xcg)/CAM</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="217"/> - <location filename="../src/Graph/GraphDlg.cpp" line="264"/> + <location filename="../src/Graph/GraphDlg.cpp" line="218"/> + <location filename="../src/Graph/GraphDlg.cpp" line="266"/> <source>Phugoid Frequency</source> <translation>Fréquence de la phugoïde</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="218"/> - <location filename="../src/Graph/GraphDlg.cpp" line="265"/> + <location filename="../src/Graph/GraphDlg.cpp" line="219"/> + <location filename="../src/Graph/GraphDlg.cpp" line="267"/> <source>Phugoid Damping</source> <translation>Amortissement de la phugoïde</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="219"/> - <location filename="../src/Graph/GraphDlg.cpp" line="266"/> + <location filename="../src/Graph/GraphDlg.cpp" line="220"/> + <location filename="../src/Graph/GraphDlg.cpp" line="268"/> <source>Short Period Frequency</source> <translation>Fréquence du mode d'incidence</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="220"/> - <location filename="../src/Graph/GraphDlg.cpp" line="267"/> + <location filename="../src/Graph/GraphDlg.cpp" line="221"/> + <location filename="../src/Graph/GraphDlg.cpp" line="269"/> <source>Short Period Damping</source> <translation>Amortissement du mode d'incidence</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="221"/> - <location filename="../src/Graph/GraphDlg.cpp" line="268"/> + <location filename="../src/Graph/GraphDlg.cpp" line="222"/> + <location filename="../src/Graph/GraphDlg.cpp" line="270"/> <source>Dutch Roll Frequency</source> <translation>Fréquence du roulis hollandais</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="222"/> - <location filename="../src/Graph/GraphDlg.cpp" line="269"/> + <location filename="../src/Graph/GraphDlg.cpp" line="223"/> + <location filename="../src/Graph/GraphDlg.cpp" line="271"/> <source>Dutch Roll Damping</source> <translation>Amortissement du roulis hollandais</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="223"/> - <location filename="../src/Graph/GraphDlg.cpp" line="270"/> + <location filename="../src/Graph/GraphDlg.cpp" line="224"/> + <location filename="../src/Graph/GraphDlg.cpp" line="272"/> <source>Roll Damping</source> <translation>Amortissement en roulis</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="224"/> - <location filename="../src/Graph/GraphDlg.cpp" line="271"/> + <location filename="../src/Graph/GraphDlg.cpp" line="225"/> + <location filename="../src/Graph/GraphDlg.cpp" line="273"/> <source>Spiral Damping</source> <translation>Amortissement en spirale</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="860"/> + <location filename="../src/Graph/GraphDlg.cpp" line="858"/> <source>Restore</source> <translation>Restaurer</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="888"/> + <location filename="../src/Graph/GraphDlg.cpp" line="886"/> <source>YAxis</source> <translation>Axe Y</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="890"/> + <location filename="../src/Graph/GraphDlg.cpp" line="888"/> <source>XAxis</source> <translation>Axe X</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="935"/> + <location filename="../src/Graph/GraphDlg.cpp" line="933"/> <source>Set Title Font</source> <translation>Définir la police du titre</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="936"/> + <location filename="../src/Graph/GraphDlg.cpp" line="934"/> <source>Set Label Font</source> <translation>Définir la police des étiquettes</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="940"/> + <location filename="../src/Graph/GraphDlg.cpp" line="938"/> <source>Title Color</source> <translation>Couleur du titre</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="941"/> + <location filename="../src/Graph/GraphDlg.cpp" line="939"/> <source>Label Color</source> <translation>Couleur des étiquettes</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="948"/> + <location filename="../src/Graph/GraphDlg.cpp" line="946"/> <source>Fonts</source> <translation>Polices</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="953"/> + <location filename="../src/Graph/GraphDlg.cpp" line="951"/> <source>Graph Background</source> <translation>Arrière-plan du diagramme</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="955"/> + <location filename="../src/Graph/GraphDlg.cpp" line="953"/> <source>Graph Border</source> <translation>Bordure du diagramme</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="968"/> + <location filename="../src/Graph/GraphDlg.cpp" line="966"/> <source>BackGround</source> <translation>Arrière-plan</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="984"/> + <location filename="../src/Graph/GraphDlg.cpp" line="982"/> <source>X Axis</source> <translation>Axe X</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="985"/> + <location filename="../src/Graph/GraphDlg.cpp" line="983"/> <source>Y Axis</source> <translation>Axe Y</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="989"/> + <location filename="../src/Graph/GraphDlg.cpp" line="987"/> <source>Min</source> <translation>Min</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="990"/> + <location filename="../src/Graph/GraphDlg.cpp" line="988"/> <source>Max</source> <translation>Max</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="991"/> + <location filename="../src/Graph/GraphDlg.cpp" line="989"/> <source>Origin</source> <translation>Origine</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="992"/> + <location filename="../src/Graph/GraphDlg.cpp" line="990"/> <source>Unit</source> <translation>Unités</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1003"/> - <location filename="../src/Graph/GraphDlg.cpp" line="1017"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1001"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1015"/> <source>Auto Scale</source> <translation>Échelle automatique</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1016"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1014"/> <source>Inverted Axis</source> <translation>Axes inversés</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1035"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1033"/> <source>Axis Style</source> <translation>Style des axes</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1037"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1035"/> <source>X Major Grid</source> <translation>Grille principale en X</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1038"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1036"/> <source>Y Major Grid</source> <translation>Grille principale en Y</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1039"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1037"/> <source>X Minor Grid</source> <translation>Grille secondaire en X</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1040"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1038"/> <source>Y Minor Grid</source> <translation>Grille secondaire en Y</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1075"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1073"/> <source>Variables</source> <translation>Variables</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1076"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1074"/> <source>Scales</source> <translation>Échelles</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1077"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1075"/> <source>Axis and Grids</source> <translation>Axes et grilles</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1078"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1076"/> <source>Fonts and BackGround</source> <translation>Polices et arrières-plans</translation> </message> @@ -2851,51 +2882,51 @@ <translation>Reynolds</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="216"/> - <location filename="../src/Graph/GraphDlg.cpp" line="263"/> + <location filename="../src/Graph/GraphDlg.cpp" line="217"/> + <location filename="../src/Graph/GraphDlg.cpp" line="265"/> <source>Neutral Point x-position</source> <translation>Position x du point neutre</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="889"/> + <location filename="../src/Graph/GraphDlg.cpp" line="887"/> <source>vs.</source> <translation>vs.</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="922"/> + <location filename="../src/Graph/GraphDlg.cpp" line="920"/> <source>Title</source> <translation>Titre</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="923"/> + <location filename="../src/Graph/GraphDlg.cpp" line="921"/> <source>Label</source> <translation>Étiquette</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="924"/> + <location filename="../src/Graph/GraphDlg.cpp" line="922"/> <source>Font</source> <translation>Police</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="925"/> + <location filename="../src/Graph/GraphDlg.cpp" line="923"/> <source>Color</source> <translation>Couleur</translation> </message> <message> - <location filename="../src/Graph/GraphDlg.cpp" line="1041"/> - <location filename="../src/Graph/GraphDlg.cpp" line="1042"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1039"/> + <location filename="../src/Graph/GraphDlg.cpp" line="1040"/> <source>Auto Unit</source> <translation>Unités automatiques</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="189"/> - <location filename="../src/Graph/GraphDlg.cpp" line="236"/> + <location filename="../src/Graph/GraphDlg.cpp" line="237"/> <source>Viscous pitching moment coef.</source> <translation>Coefficient de moment de tangage visqueux</translation> </message> <message> <location filename="../src/Graph/GraphDlg.cpp" line="190"/> - <location filename="../src/Graph/GraphDlg.cpp" line="237"/> + <location filename="../src/Graph/GraphDlg.cpp" line="238"/> <source>Induced pitching moment coef.</source> <translation>Coefficient de moment de tangage induit</translation> </message> @@ -2931,195 +2962,195 @@ <context> <name>InertiaDlg</name> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="40"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="42"/> <source>Inertia Properties</source> <translation>Propriétés d'inertie</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1017"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="319"/> <source>Mass</source> <translation>Masse</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1019"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="320"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1020"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="321"/> <source>y</source> <translation>y</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1021"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="322"/> <source>z</source> <translation>z</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1022"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="323"/> <source>Description</source> <translation>Description</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="549"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="559"/> <source>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ! </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="874"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="877"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1052"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1055"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="884"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="887"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1054"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1057"/> <source>Center of gravity</source> <translation>Centre de gravité</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1136"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1138"/> <source>Export to AVL</source> <translation>Exporter vers AVL</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="860"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="870"/> <source>Refer to the Guidelines for explanations.</source> <translation>Se référer au fichier d'explications.</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="62"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="64"/> <source>Insert Before</source> <translation>Insérer avant</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="63"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="65"/> <source>Delete</source> <translation>Supprimer</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="65"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="67"/> <source>Point Mass</source> <translation>Masses ponctuelles</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="337"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="347"/> <source>Wing Mass:</source> <translation>Masse de l'aile :</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="339"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="354"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="381"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="349"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="364"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="391"/> <source>Inertia properties for </source> <translation>Propriétés d'inertie de </translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="352"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="362"/> <source>Body Mass:</source> <translation>Masse du fuselage :</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="374"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="384"/> <source>Volume Mass:</source> <translation>Masse du volume :</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="456"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="466"/> <source>Export Mass Properties</source> <translation>Exporter les propriétés de masse</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="457"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="467"/> <source>AVL Mass File (*.mass)</source> <translation>Fichier de masse AVL (*.mass)</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="515"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="525"/> <source>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10! Inertia of both left and right wings</source> <translation>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10! Inertia des ailes droite et gauche</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="528"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="538"/> <source>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ! Body inertia</source> <translation>%1 %2 %3 %4 %5 %6 %7 ! Inertie du fuselage </translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="568"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="578"/> <source>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ! Body's inertia</source> <translation>%1 %2 %3 %4 %5 %6 %7 ! Inertie du fuselage</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="859"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="869"/> <source>This is a calculation form for a rough order of magnitude for the inertia tensor.</source> <translation>Ceci est un formulaire de calcul permettant d’obtenir un ordre de grandeur grossier du tenseur d’inertie.</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="867"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="877"/> <source>Object Mass - Volume only, excluding point masses</source> <translation>Masse de l'objet - Volume uniquement, les masses ponctuelles sont exclues</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="870"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="880"/> <source>Wing Mass=</source> <translation>Masse de l'aile =</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="913"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="932"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1091"/> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1110"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="923"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="942"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1093"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1112"/> <source>Inertia in CoG Frame</source> <translation>Inertie dans le repère lié au centre de gravité</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="956"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="966"/> <source>Component inertias</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="959"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="969"/> <source>Main Wing</source> <translation>Aile principale</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="960"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="970"/> <source>Second Wing</source> <translation>Seconde aile</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="961"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="971"/> <source>Elevator</source> <translation>Stabilisateur horizontal</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="962"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="972"/> <source>Fin</source> <translation>Dérive</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="963"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="973"/> <source>Body</source> <translation>Fuselage</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="995"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1005"/> <source>Additional Point Masses</source> <translation>Masses ponctuelles supplémentaires</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1044"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1046"/> <source>Total Mass = Volume + point masses</source> <translation>Masse totale : volume + masses ponctuelle</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1047"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1049"/> <source>Total Mass=</source> <translation>Masse totale =</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1137"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1139"/> <source>OK</source> <translation>Accepter</translation> </message> <message> - <location filename="../src/Miarex/InertiaDlg.cpp" line="1138"/> + <location filename="../src/Miarex/InertiaDlg.cpp" line="1140"/> <source>Cancel</source> <translation>Abandonner</translation> </message> @@ -3127,81 +3158,81 @@ <context> <name>InterpolateFoilsDlg</name> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="97"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="99"/> <source>OK</source> <translation>Accepter</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="98"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="100"/> <source>Cancel</source> <translation>Abandonner</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="33"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="35"/> <source>Interpolate Foils</source> <translation>Interpoler les profils</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="75"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="77"/> <source>New Foil Name</source> <translation>Nom du nouveau profil</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="79"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="81"/> <source>Interpolated Foil</source> <translation>Profil interpolé</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="54"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="56"/> <source>Camb1</source> <translation>Camb1</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="55"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="57"/> <source>Camb2</source> <translation>Camb2</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="56"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="58"/> <source>Camb3</source> <translation>Camb3</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="57"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="59"/> <source>Thick1</source> <translation>Épais1</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="58"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="60"/> <source>Thick2</source> <translation>Épais2</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="59"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="61"/> <source>Thick3</source> <translation>Épais3</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="186"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="215"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="266"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="188"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="217"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="268"/> <source>Camb.=%1</source> <translation>Camb.=%1</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="188"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="195"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="217"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="224"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="268"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="275"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="190"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="197"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="219"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="226"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="270"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="277"/> <source> at x=%1</source> <translation> à x=%1</translation> </message> <message> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="193"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="222"/> - <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="273"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="195"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="224"/> + <location filename="../src/XDirect/InterpolateFoilsDlg.cpp" line="275"/> <source>Thick.=%1</source> <translation>Épaiss.=%1</translation> </message> @@ -3343,132 +3374,132 @@ <context> <name>LLTAnalysisDlg</name> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="34"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="40"/> <source>LLT Analysis</source> <translation>Analyse LLT</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="37"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="43"/> <source>Iterations</source> <translation>Itérations</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="51"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="57"/> <source>abs</source> <translation>abs</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="91"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="426"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="97"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="432"/> <source>Launching analysis....</source> <translation>Lancement de l'analyse...</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="93"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="428"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="99"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="434"/> <source>Max iterations = %1</source> <translation>Nombre max d'itération... = %1</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="95"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="430"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="101"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="436"/> <source>Alpha precision = %1 deg</source> <translation>Précision de Alpha = %1 °</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="99"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="434"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="105"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="440"/> <source>Number of stations = %1</source> <translation>Nombre de stations = %1</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="97"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="432"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="103"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="438"/> <source>Relaxation factor = %1</source> <translation>Facteur de relaxation = %1</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="120"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="458"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="126"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="464"/> <source>Analysis cancelled on user request....</source> <translation>Analyse interrompue à le demande de l'utilisateur...</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="132"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="138"/> <source>Calculating Alpha = %1... </source> <translation>Calcul de Alpha = %1... </translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="147"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="153"/> <source> ...negative Lift... Aborting</source> <translation> ...portance négative... Interruption</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="155"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="493"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="161"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="499"/> <source> ...converged after %1 iterations</source> <translation> ...convergence après %1 itérations</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="172"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="178"/> <source> ...unconverged after %2 iterations</source> <translation> ...pas de convergence après %2 itérations</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="140"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="485"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="146"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="491"/> <source>QInf = %1 skipped after %2 iterations </source> <translation>QInf = %1 sauté après %2 itérations </translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="139"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="484"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="145"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="490"/> <source>Alpha = %1, skipped after %2 iterations </source> <translation>Alpha = %1, sauté après %2 itérations </translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="321"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="327"/> <source>Skip</source> <translation>Sauter</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="322"/> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="349"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="328"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="355"/> <source>Cancel</source> <translation>Abandonner</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="375"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="381"/> <source>Analysis completed</source> <translation>Analyse terminée</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="376"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="382"/> <source> ...some points are outside the flight envelope</source> <translation> ...certains points sont situés hors du domaine de vol</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="377"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="383"/> <source> ...some points are unconverged</source> <translation> ...certains points n'ont pas convergé</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="382"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="388"/> <source>Close</source> <translation>Fermer</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="442"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="448"/> <source>Initializing analysis...</source> <translation>Initialisation de l'analyse...</translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="469"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="475"/> <source>Calculating QInf = %1... </source> <translation>Calcul de QInf = %1... </translation> </message> <message> - <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="515"/> + <location filename="../src/Miarex/LLTAnalysisDlg.cpp" line="521"/> <source> ...unconverged after %1 iterations</source> <translation> ...pas de convergence après %1 itérations</translation> </message> @@ -3476,32 +3507,32 @@ <context> <name>LinePickerDlg</name> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="243"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="247"/> <source>OK</source> <translation>Accepter</translation> </message> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="244"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="248"/> <source>Cancel</source> <translation>Abandonner</translation> </message> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="219"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="223"/> <source>Style</source> <translation>Style</translation> </message> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="220"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="224"/> <source>Width</source> <translation>Largeur</translation> </message> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="221"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="225"/> <source>Color</source> <translation>Couleur</translation> </message> <message> - <location filename="../src/Misc/LinePickerDlg.cpp" line="29"/> + <location filename="../src/Misc/LinePickerDlg.cpp" line="35"/> <source>Line Picker</source> <translation>Sélection des lignes</translation> </message> @@ -3509,1977 +3540,1983 @@ <context> <name>MainFrame</name> <message> - <location filename="../src/MainFrame.cpp" line="397"/> + <location filename="../src/MainFrame.cpp" line="403"/> <source>Save the project before exit ?</source> <translation>Enregistrer le projet avant de quitter ?</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="431"/> + <location filename="../src/MainFrame.cpp" line="437"/> <source>New Project</source> <translation>Nouveau projet</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="433"/> + <location filename="../src/MainFrame.cpp" line="439"/> <source>Save and close the current project, create a new project</source> <translation>Enregistrer le projet et quitter, créer un nouveau projet</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="436"/> + <location filename="../src/MainFrame.cpp" line="442"/> <source>Close the Project</source> <translation>Fermer le projet</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="438"/> + <location filename="../src/MainFrame.cpp" line="444"/> <source>Save and close the current project</source> <translation>Enregistrer et quitter le projet en cours</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="441"/> + <location filename="../src/MainFrame.cpp" line="447"/> <source>&Open...</source> <translation>&Ouvrir...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="443"/> + <location filename="../src/MainFrame.cpp" line="449"/> <source>Open an existing file</source> <translation>Ouvrir un fichier existant</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="446"/> + <location filename="../src/MainFrame.cpp" line="452"/> <source>&Insert Project...</source> <translation>Insérer un projet</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="447"/> + <location filename="../src/MainFrame.cpp" line="453"/> <source>Insert an existing project in the current project</source> <translation>Insérer un projet existant dans le projet en cours</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="450"/> + <location filename="../src/MainFrame.cpp" line="456"/> <source>&Direct Foil Design</source> <translation>Conception directe de profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="452"/> + <location filename="../src/MainFrame.cpp" line="458"/> <source>Open Foil Design application</source> <translation>Ouvrir l'application de conception de profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="455"/> + <location filename="../src/MainFrame.cpp" line="461"/> <source>&XFoil Inverse Design</source> <translation>Conception inverse de profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="457"/> + <location filename="../src/MainFrame.cpp" line="463"/> <source>Open XFoil inverse analysis application</source> <translation>Ouvrir l'application d'analyse inverse XFoil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="460"/> + <location filename="../src/MainFrame.cpp" line="466"/> <source>&XFoil Mixed Inverse Design</source> <translation>Conception inverse mixte de profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="462"/> + <location filename="../src/MainFrame.cpp" line="468"/> <source>Open XFoil Mixed Inverse analysis application</source> <translation>Ouvrir l'application XFoil d'analyse inverse mixte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="465"/> + <location filename="../src/MainFrame.cpp" line="471"/> <source>&XFoil Direct Analysis</source> <translation>Analyse directe XFoil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="467"/> + <location filename="../src/MainFrame.cpp" line="473"/> <source>Open XFoil direct analysis application</source> <translation>Ouvrir l'application d'analyse directe XFoil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="470"/> + <location filename="../src/MainFrame.cpp" line="476"/> <source>&Wing and Plane Design</source> <translation>&Conception d'aile et d'avion</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="472"/> + <location filename="../src/MainFrame.cpp" line="478"/> <source>Open Wing/plane design and analysis application</source> <translation>Ouvrir l'application de conception et d'analyse d'aile et d'avion</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="544"/> + <location filename="../src/MainFrame.cpp" line="550"/> <source>About Qt</source> <translation>À propos de Qt</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="475"/> - <location filename="../src/MainFrame.cpp" line="3390"/> + <location filename="../src/MainFrame.cpp" line="481"/> + <location filename="../src/MainFrame.cpp" line="3440"/> <source>Save</source> <translation>&Enregistrer</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="477"/> + <location filename="../src/MainFrame.cpp" line="483"/> <source>Save the project to disk</source> <translation>Enregistrer le projet sur disque</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="480"/> + <location filename="../src/MainFrame.cpp" line="486"/> <source>Save Project As...</source> <translation>Sauvegarder sous...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="481"/> + <location filename="../src/MainFrame.cpp" line="487"/> <source>Save the current project under a new name</source> <translation>Enregistrer le projet en cours en utilisant un nouveau nom</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="484"/> + <location filename="../src/MainFrame.cpp" line="490"/> <source>Save Options</source> <translation>Options de sauvegarde</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="489"/> + <location filename="../src/MainFrame.cpp" line="495"/> <source>Define the units for this project</source> <translation>Définir les unités pour ce projet</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="492"/> + <location filename="../src/MainFrame.cpp" line="498"/> <source>Language...</source> <translation>Langage</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="496"/> + <location filename="../src/MainFrame.cpp" line="502"/> <source>Restore toolbars</source> <translation>Restaurer les barre d'outils</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="497"/> + <location filename="../src/MainFrame.cpp" line="503"/> <source>Restores the toolbars to their original state</source> <translation>Restaurer les barres d'outils dans leur état d'origine</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="500"/> + <location filename="../src/MainFrame.cpp" line="506"/> <source>Save View to Image File</source> <translation>Enregistrer la vue sous forme d'un fichier image </translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="502"/> + <location filename="../src/MainFrame.cpp" line="508"/> <source>Saves the current view to a file on disk</source> <translation>Enregistrer la vue en cours vers un fichier sur le disque</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="506"/> + <location filename="../src/MainFrame.cpp" line="512"/> <source>Reset Default Settings</source> <translation>Rétablir les paramètres par défaut</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="518"/> + <location filename="../src/MainFrame.cpp" line="524"/> <source>General Display Settings</source> <translation>Paramètres généraux d'affichage</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="523"/> - <location filename="../src/MainFrame.cpp" line="3519"/> + <location filename="../src/MainFrame.cpp" line="529"/> + <location filename="../src/MainFrame.cpp" line="3575"/> <source>Export Graph</source> <translation>Exporter le diagramme</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="524"/> + <location filename="../src/MainFrame.cpp" line="530"/> <source>Export the current graph data to a text file</source> <translation>Exporter les données du diagramme actif dans un fichier texte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="527"/> - <location filename="../src/MainFrame.cpp" line="1344"/> + <location filename="../src/MainFrame.cpp" line="533"/> + <location filename="../src/MainFrame.cpp" line="1352"/> <source>Reset Graph Scales</source> <translation>Réinitialiser les échelles du diagramme</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="528"/> + <location filename="../src/MainFrame.cpp" line="534"/> <source>Restores the graph's x and y scales</source> <translation>Restaurer les échelles x et y du diagramme</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="531"/> + <location filename="../src/MainFrame.cpp" line="537"/> <source>E&xit</source> <translation>&Quitter</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="533"/> + <location filename="../src/MainFrame.cpp" line="539"/> <source>Exit the application</source> <translation>Quitter l'application</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="536"/> + <location filename="../src/MainFrame.cpp" line="542"/> <source>&Guidelines</source> <translation>&Manuel utilisateur</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="537"/> + <location filename="../src/MainFrame.cpp" line="543"/> <source>Show the guidelines for some help</source> <translation>Afficher les lignes guides afin de faciliter la tâche</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="540"/> + <location filename="../src/MainFrame.cpp" line="546"/> <source>&About</source> <translation>&À propos</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="569"/> + <location filename="../src/MainFrame.cpp" line="575"/> <source>Grid Options</source> <translation>Options de grille</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="570"/> + <location filename="../src/MainFrame.cpp" line="576"/> <source>Define the grid settings for the view</source> <translation>Définir les paramètres de grille pour la vue</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="573"/> + <location filename="../src/MainFrame.cpp" line="579"/> <source>Use Splines</source> <translation>Utiliser les splines</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="574"/> + <location filename="../src/MainFrame.cpp" line="580"/> <source>Define a foil using one B-Spline for each foil side</source> <translation>Définir un profil à l'aide de B-Splines pour l'intrados et l'extrados</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="578"/> + <location filename="../src/MainFrame.cpp" line="584"/> <source>Use Splined Points</source> <translation>Utiliser des points reliés par Splines</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="579"/> + <location filename="../src/MainFrame.cpp" line="585"/> <source>Define a foil using one 3rd order B-Spline between two control points</source> <translation>Définir un profil par points reliés par B-Splines du 3ème degré</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="584"/> + <location filename="../src/MainFrame.cpp" line="590"/> <source>Store the current splines in the foil database</source> <translation>Enregistrer les splines actives dans la base de données des profils</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="587"/> + <location filename="../src/MainFrame.cpp" line="593"/> <source>Splines Params</source> <translation>Paramètres des splines</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="588"/> - <location filename="../src/MainFrame.cpp" line="592"/> + <location filename="../src/MainFrame.cpp" line="594"/> + <location filename="../src/MainFrame.cpp" line="598"/> <source>Define parameters for the splines : degree, number of out points</source> <translation>Définir les paramètres des splines : degré, nombre de points de sortie</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="591"/> + <location filename="../src/MainFrame.cpp" line="597"/> <source>Export Splines To File</source> <translation>Exporter les splines vers un fichier</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="595"/> + <location filename="../src/MainFrame.cpp" line="601"/> <source>New Splines</source> <translation>Nouvelles splines</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="596"/> + <location filename="../src/MainFrame.cpp" line="602"/> <source>Reset the splines</source> <translation>Réinitialiser les splines</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="599"/> - <location filename="../src/MainFrame.cpp" line="2346"/> + <location filename="../src/MainFrame.cpp" line="605"/> + <location filename="../src/MainFrame.cpp" line="2393"/> <source>Zoom in</source> <translation>Zoomer</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="600"/> - <location filename="../src/MainFrame.cpp" line="2347"/> + <location filename="../src/MainFrame.cpp" line="606"/> + <location filename="../src/MainFrame.cpp" line="2394"/> <source>Zoom the view by drawing a rectangle in the client area</source> <translation>Zoomer la vue en traçant un rectangle dans la zone cliente</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="603"/> + <location filename="../src/MainFrame.cpp" line="609"/> <source>Reset X Scale</source> <translation>Réinitialiser l'échelle X</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="604"/> + <location filename="../src/MainFrame.cpp" line="610"/> <source>Resets the scale to fit the current screen width</source> <translation>Réinitialiser l'échelle de manière à s'adapter à la largeur de l'écran</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="607"/> + <location filename="../src/MainFrame.cpp" line="613"/> <source>Undo</source> <translation>Défaire</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="609"/> + <location filename="../src/MainFrame.cpp" line="615"/> <source>Cancels the last modifiction made to the splines</source> <translation>Abandonner les dernière modification faite aux splines</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="612"/> + <location filename="../src/MainFrame.cpp" line="618"/> <source>Redo</source> <translation>Refaire</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="614"/> + <location filename="../src/MainFrame.cpp" line="620"/> <source>Restores the last cancelled modifiction made to the splines</source> <translation>Restaurer la dernière modification faite aux splines</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="617"/> + <location filename="../src/MainFrame.cpp" line="623"/> <source>Show All Foils</source> <translation>Afficher tous les profils</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="619"/> + <location filename="../src/MainFrame.cpp" line="625"/> <source>Hide All Foils</source> <translation>Cacher tous les profils</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="623"/> - <location filename="../src/MainFrame.cpp" line="1396"/> - <location filename="../src/MainFrame.cpp" line="1428"/> - <location filename="../src/MainFrame.cpp" line="1873"/> + <location filename="../src/MainFrame.cpp" line="629"/> + <location filename="../src/MainFrame.cpp" line="1404"/> + <location filename="../src/MainFrame.cpp" line="1436"/> + <location filename="../src/MainFrame.cpp" line="1920"/> <source>Delete...</source> <translation>Supprimer...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="626"/> - <location filename="../src/MainFrame.cpp" line="1167"/> - <location filename="../src/MainFrame.cpp" line="1408"/> - <location filename="../src/MainFrame.cpp" line="1876"/> + <location filename="../src/MainFrame.cpp" line="632"/> + <location filename="../src/MainFrame.cpp" line="1175"/> + <location filename="../src/MainFrame.cpp" line="1416"/> + <location filename="../src/MainFrame.cpp" line="1923"/> <source>Rename...</source> <translation>Renommer...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="630"/> - <location filename="../src/MainFrame.cpp" line="1202"/> - <location filename="../src/MainFrame.cpp" line="1879"/> + <location filename="../src/MainFrame.cpp" line="636"/> + <location filename="../src/MainFrame.cpp" line="1210"/> + <location filename="../src/MainFrame.cpp" line="1926"/> <source>Export...</source> <translation>Exporter...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="633"/> + <location filename="../src/MainFrame.cpp" line="639"/> <source>Show Current Foil</source> <translation>Afficher le profil actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="636"/> + <location filename="../src/MainFrame.cpp" line="642"/> <source>Hide Current Foil</source> <translation>Cacher le profil actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="639"/> + <location filename="../src/MainFrame.cpp" line="645"/> <source>Reset Y Scale</source> <translation>Réinitialiser l'échelle Y</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="642"/> + <location filename="../src/MainFrame.cpp" line="648"/> <source>Reset Scales</source> <translation>Réinitialiser les échelles</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="643"/> + <location filename="../src/MainFrame.cpp" line="649"/> <source>Resets the x and y scales to screen size</source> <translation>Réinitialiser les échelles x et y à la taille de l'écran</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="646"/> - <location filename="../src/MainFrame.cpp" line="647"/> + <location filename="../src/MainFrame.cpp" line="652"/> + <location filename="../src/MainFrame.cpp" line="653"/> <source>Zoom Less</source> <translation>Zoom inférieur</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="650"/> - <location filename="../src/MainFrame.cpp" line="2355"/> + <location filename="../src/MainFrame.cpp" line="656"/> + <location filename="../src/MainFrame.cpp" line="2402"/> <source>Zoom Y Scale Only</source> <translation>Ne zoomer que l'axe Y</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="651"/> + <location filename="../src/MainFrame.cpp" line="657"/> <source>Zoom Y scale Only</source> <translation>Ne zoomer que l'axe Y</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="654"/> - <location filename="../src/MainFrame.cpp" line="2007"/> + <location filename="../src/MainFrame.cpp" line="660"/> + <location filename="../src/MainFrame.cpp" line="2054"/> <source>De-rotate the Foil</source> <translation>Annuler la rotation du profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="657"/> - <location filename="../src/MainFrame.cpp" line="2010"/> + <location filename="../src/MainFrame.cpp" line="663"/> + <location filename="../src/MainFrame.cpp" line="2057"/> <source>Normalize the Foil</source> <translation>Normaliser le profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="660"/> - <location filename="../src/MainFrame.cpp" line="2013"/> + <location filename="../src/MainFrame.cpp" line="666"/> + <location filename="../src/MainFrame.cpp" line="2060"/> <source>Refine Locally</source> <translation>Améliorer localement</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="663"/> - <location filename="../src/MainFrame.cpp" line="2016"/> + <location filename="../src/MainFrame.cpp" line="669"/> + <location filename="../src/MainFrame.cpp" line="2063"/> <source>Refine Globally</source> <translation>Améliorer globalement</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="666"/> - <location filename="../src/MainFrame.cpp" line="2019"/> + <location filename="../src/MainFrame.cpp" line="672"/> + <location filename="../src/MainFrame.cpp" line="2066"/> <source>Edit Foil Coordinates</source> <translation>Éditer les coordonnées du profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="669"/> - <location filename="../src/MainFrame.cpp" line="2022"/> + <location filename="../src/MainFrame.cpp" line="675"/> + <location filename="../src/MainFrame.cpp" line="2069"/> <source>Scale camber and thickness</source> <translation>Modifier la cambrure et l'épaisseur</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="672"/> - <location filename="../src/MainFrame.cpp" line="2025"/> + <location filename="../src/MainFrame.cpp" line="678"/> + <location filename="../src/MainFrame.cpp" line="2072"/> <source>Set T.E. Gap</source> <translation>Définir la fente de bord de fuite</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="675"/> - <location filename="../src/MainFrame.cpp" line="2028"/> + <location filename="../src/MainFrame.cpp" line="681"/> + <location filename="../src/MainFrame.cpp" line="2075"/> <source>Set L.E. Radius</source> <translation>Définir le rayon de bord d'attaque</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="678"/> + <location filename="../src/MainFrame.cpp" line="684"/> <source>Show LE Circle</source> <translation>Afficher le cercle de bord d'attaque</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="685"/> - <location filename="../src/MainFrame.cpp" line="2031"/> + <location filename="../src/MainFrame.cpp" line="691"/> + <location filename="../src/MainFrame.cpp" line="2078"/> <source>Set Flap</source> <translation>Définir les volets</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="688"/> - <location filename="../src/MainFrame.cpp" line="2034"/> + <location filename="../src/MainFrame.cpp" line="694"/> + <location filename="../src/MainFrame.cpp" line="2081"/> <source>Interpolate Foils</source> <translation>Interpoler les profils</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="691"/> - <location filename="../src/MainFrame.cpp" line="2037"/> + <location filename="../src/MainFrame.cpp" line="697"/> + <location filename="../src/MainFrame.cpp" line="2084"/> <source>Naca Foils</source> <translation>Profils NACA</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="694"/> + <location filename="../src/MainFrame.cpp" line="700"/> <source>Set Table Columns</source> <translation>Colonne du tableau des profils</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="697"/> + <location filename="../src/MainFrame.cpp" line="703"/> <source>Reset column widths</source> <translation>Réinitialiser la largeur des colonnes</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="700"/> + <location filename="../src/MainFrame.cpp" line="706"/> <source>Load background image</source> <translation>Charger l’image d’arrière plan</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="702"/> + <location filename="../src/MainFrame.cpp" line="708"/> <source>Clear background image</source> <translation>Effacer l’image d’arrière-plan</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="710"/> - <location filename="../src/MainFrame.cpp" line="1441"/> - <location filename="../src/MainFrame.cpp" line="2108"/> - <location filename="../src/MainFrame.cpp" line="2363"/> + <location filename="../src/MainFrame.cpp" line="716"/> + <location filename="../src/MainFrame.cpp" line="1449"/> + <location filename="../src/MainFrame.cpp" line="2155"/> + <location filename="../src/MainFrame.cpp" line="2410"/> <source>&View</source> <translation>&Afficher</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="731"/> + <location filename="../src/MainFrame.cpp" line="737"/> <source>F&oil</source> <translation>&Profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="754"/> + <location filename="../src/MainFrame.cpp" line="760"/> <source>&Splines</source> <translation>&Splines</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="767"/> - <location filename="../src/MainFrame.cpp" line="1568"/> - <location filename="../src/MainFrame.cpp" line="1602"/> - <location filename="../src/MainFrame.cpp" line="1622"/> - <location filename="../src/MainFrame.cpp" line="1644"/> - <location filename="../src/MainFrame.cpp" line="1664"/> - <location filename="../src/MainFrame.cpp" line="1679"/> - <location filename="../src/MainFrame.cpp" line="2233"/> - <location filename="../src/MainFrame.cpp" line="2271"/> - <location filename="../src/MainFrame.cpp" line="2386"/> + <location filename="../src/MainFrame.cpp" line="773"/> + <location filename="../src/MainFrame.cpp" line="1601"/> + <location filename="../src/MainFrame.cpp" line="1639"/> + <location filename="../src/MainFrame.cpp" line="1661"/> + <location filename="../src/MainFrame.cpp" line="1684"/> + <location filename="../src/MainFrame.cpp" line="1708"/> + <location filename="../src/MainFrame.cpp" line="1728"/> + <location filename="../src/MainFrame.cpp" line="2280"/> + <location filename="../src/MainFrame.cpp" line="2318"/> + <location filename="../src/MainFrame.cpp" line="2433"/> <source>Context Menu</source> <translation>Menu contextuel</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1069"/> + <location filename="../src/MainFrame.cpp" line="1077"/> <source>Options</source> <translation>Options</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1103"/> + <location filename="../src/MainFrame.cpp" line="1111"/> <source>Switch to the Operating point view</source> <translation>Passer en mode visualisation des points de fonctionnement</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1109"/> + <location filename="../src/MainFrame.cpp" line="1117"/> <source>Switch to the Polar view</source> <translation>Passer en mode visualisation des polaires</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1115"/> + <location filename="../src/MainFrame.cpp" line="1123"/> <source>Switch to stability analysis post-processing</source> <translation>Passer en vue analyse de stabilité</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1126"/> + <location filename="../src/MainFrame.cpp" line="1134"/> <source>Switch to the 3D view</source> <translation>Passer en vue 3D</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1131"/> + <location filename="../src/MainFrame.cpp" line="1139"/> <source>Switch to the Cp view</source> <translation>Passer en mode visualisation des courpes de pression</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1135"/> + <location filename="../src/MainFrame.cpp" line="1143"/> <source>Define the style and color preferences for the 3D view</source> <translation>Définir les styles et couleurs de la vue 3D</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1139"/> + <location filename="../src/MainFrame.cpp" line="1147"/> <source>Define which type of polars should be shown or hidden</source> <translation>Définir quels types de polaires doivent être montrés ou cachés</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1143"/> + <location filename="../src/MainFrame.cpp" line="1151"/> <source>Define the scales for the 3D display of lift, moment, drag, and downwash</source> <translation>Définir les échelles pour la portance, les moments, la traînée et les vecteurs vitesse en vue 3D</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1148"/> + <location filename="../src/MainFrame.cpp" line="1156"/> <source>Define the light options in 3D view</source> <translation>Définir les options de luminosité en vue 3D</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1168"/> + <location filename="../src/MainFrame.cpp" line="1176"/> <source>Rename the currently selected object</source> <translation>Renommer l'objet actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1177"/> + <location filename="../src/MainFrame.cpp" line="1185"/> <source>Edit the body of the currently selected plane</source> <translation>Editer le fuselage de l'avion actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1199"/> + <location filename="../src/MainFrame.cpp" line="1207"/> <source>Export the current plane or wing to a text file in the format required by AVL</source> <translation>Exporter l'avion ou l'aile actif dans un fichier texte au format AVL</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1203"/> + <location filename="../src/MainFrame.cpp" line="1211"/> <source>Export the current operating point to a text or csv file</source> <translation>Exporter le point de fonctionnement actif dans un fichier texte ou csv</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1207"/> - <location filename="../src/MainFrame.cpp" line="1211"/> + <location filename="../src/MainFrame.cpp" line="1215"/> + <location filename="../src/MainFrame.cpp" line="1219"/> <source>Reset the legend position to its default value</source> <translation>Rétablir la position par défaut de la légende du diagramme</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1215"/> + <location filename="../src/MainFrame.cpp" line="1223"/> <source>Reset the wing scale to its default value</source> <translation>Rétablir l'échelle de l'aile à sa valeur par défaut</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1219"/> + <location filename="../src/MainFrame.cpp" line="1227"/> <source>Scale the dimensions of the currently selected wing</source> <translation>Redimensionner par homothétie les dimensions de l'aile active</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1222"/> + <location filename="../src/MainFrame.cpp" line="1230"/> <source>Manage objects</source> <translation>Gérer les objets</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1223"/> + <location filename="../src/MainFrame.cpp" line="1231"/> <source>Rename or delete the planes and wings stored in the database</source> <translation>Renommer les ailes et avion enregistrer dans la base de donnée</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1228"/> + <location filename="../src/MainFrame.cpp" line="1236"/> <source>Import a polar from a text file</source> <translation>Importer une polaire à partir d'un fichier texte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1232"/> + <location filename="../src/MainFrame.cpp" line="1240"/> <source>Define the inertia for the current plane or wing</source> <translation>Définir les paramètres d'inertie pour l'aile ou l'avion actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1237"/> + <location filename="../src/MainFrame.cpp" line="1245"/> <source>Hide all the curves except for the one corresponding to the currently selected operating point</source> <translation>Masquer toutes les courbes à l'exception de celle du point de fonctionnement actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1242"/> + <location filename="../src/MainFrame.cpp" line="1250"/> <source>Show the graph curves of all operating points</source> <translation>Afficher les courbes pour tous les points de fonctionnement</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1246"/> + <location filename="../src/MainFrame.cpp" line="1254"/> <source>Hide the graph curves of all operating points</source> <translation>Masquer les courbes de tous les points de fonctionnement</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1250"/> + <location filename="../src/MainFrame.cpp" line="1258"/> <source>Delete all the operating points of all planes and polars</source> <translation>Détruire toues les points de fonctionnement des avions et polaires</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1254"/> + <location filename="../src/MainFrame.cpp" line="1262"/> <source>Show the curves of all the operating points of the currently selected polar</source> <translation>Afficher les courbes de tous les points de fonctionnement de la polaire active</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1258"/> + <location filename="../src/MainFrame.cpp" line="1266"/> <source>Hide the curves of all the operating points of the currently selected polar</source> <translation>Masquer les courbes de tous les points de fonctionnement de la polaire active</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1262"/> + <location filename="../src/MainFrame.cpp" line="1270"/> <source>Delete all the operating points of the currently selected polar</source> <translation>Détruire tous les points de fonctionnement de la polaire active</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1266"/> + <location filename="../src/MainFrame.cpp" line="1274"/> <source>Show the theoretical optimal elliptic lift curve on all graphs for which the selected variable is the local lift</source> <translation>Afficher la courve elliptique théorique pour tous les diagrammes pour lesquels la variable portance locale est sélectionnée</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1270"/> + <location filename="../src/MainFrame.cpp" line="1278"/> <source>Show XCG location</source> <translation>Position du CG</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1271"/> + <location filename="../src/MainFrame.cpp" line="1279"/> <source>Show the position of the center of gravity defined in the analysis</source> <translation>Afficher la position du CG définie dans l'analyse</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1276"/> + <location filename="../src/MainFrame.cpp" line="1284"/> <source>Show the graph curves for the elevator</source> <translation>Afficher les courbes correspondant au stabilisateur horizontal</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1281"/> + <location filename="../src/MainFrame.cpp" line="1289"/> <source>Show the graph curves for the fin</source> <translation>Afficher les courbes correspondant à la dérive</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1286"/> + <location filename="../src/MainFrame.cpp" line="1294"/> <source>Show the graph curves for the second wing</source> <translation>Afficher les courbes correspondant à la deuxième aile</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1291"/> + <location filename="../src/MainFrame.cpp" line="1299"/> <source>Define an analysis for the current wing or plane</source> <translation>Définir une analyse pour l'aile ou l'avion actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1300"/> + <location filename="../src/MainFrame.cpp" line="1308"/> <source>Define a Stability Analysis</source> <translation>Analyse de stabilité</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1301"/> + <location filename="../src/MainFrame.cpp" line="1309"/> <source>Define a stability analysis for the current wing or plane</source> <translation>Définir une analyse de stabiité pour l'aile ou l'avion actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1305"/> - <location filename="../src/MainFrame.cpp" line="1840"/> - <location filename="../src/MainFrame.cpp" line="2343"/> + <location filename="../src/MainFrame.cpp" line="1313"/> + <location filename="../src/MainFrame.cpp" line="1887"/> + <location filename="../src/MainFrame.cpp" line="2390"/> <source>Define Graph Settings</source> <translation>Paramètres du diagramme</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1306"/> + <location filename="../src/MainFrame.cpp" line="1314"/> <source>Define the settings for the selected graph</source> <translation>Définir les paramètres du graphe sélectionné</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1310"/> + <location filename="../src/MainFrame.cpp" line="1318"/> <source>Display the first two operating point graphs</source> <translation>Afficher les deux premiers diagrammes de point de fonctionnement</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1315"/> + <location filename="../src/MainFrame.cpp" line="1323"/> <source>Display all four operating point graphs</source> <translation>Afficher les quatres diagrammes pour les points de fonctionnement</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1320"/> + <location filename="../src/MainFrame.cpp" line="1328"/> <source>Display only the first graph</source> <translation>Afficher seulement le premier diagramme</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1325"/> + <location filename="../src/MainFrame.cpp" line="1333"/> <source>Display only the second graph</source> <translation>Afficher seulement le second diagramme</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1330"/> + <location filename="../src/MainFrame.cpp" line="1338"/> <source>Display only the third graph</source> <translation>Afficher seulement le troisième diagramme</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1335"/> + <location filename="../src/MainFrame.cpp" line="1343"/> <source>Display only the fourth graph</source> <translation>Afficher seulement le quatrième diagramme</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1345"/> + <location filename="../src/MainFrame.cpp" line="1353"/> <source>Reset the scale of the current operating point graph</source> <translation>Rétablir les échelles par défaut du diagramme</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1349"/> + <location filename="../src/MainFrame.cpp" line="1357"/> <source>Reset the scales of all four operating point graphs</source> <translation>Rétablir les échelles par défaut de tous les diagrammes</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1353"/> + <location filename="../src/MainFrame.cpp" line="1361"/> <source>Reset the scales of all four polar graphs</source> <translation>Rétablir les échelles par défaut de tous les diagrammes de polaires</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1357"/> + <location filename="../src/MainFrame.cpp" line="1365"/> <source>Define the settings of all four operating point graphs</source> <translation>Rétablir les paramètres pour les quatre diagrammes</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1361"/> + <location filename="../src/MainFrame.cpp" line="1369"/> <source>Define the settings of all four polar graphs</source> <translation>Rétablir les paramètres pour les quatre diagrammes</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1365"/> + <location filename="../src/MainFrame.cpp" line="1373"/> <source>Hide all the polar curves associated to the currently selected wing or plane</source> <translation>Masquer toutes les polaires associées à l'aile ou l'avion actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1369"/> + <location filename="../src/MainFrame.cpp" line="1377"/> <source>Show all the polar curves associated to the currently selected wing or plane</source> <translation>Afficher toutes les polaires associées à l'aile ou l'avion actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1373"/> + <location filename="../src/MainFrame.cpp" line="1381"/> <source>Delete all the polars associated to the currently selected wing or plane</source> <translation>Détruire toutes les polaires associées à l'aile ou l'avion actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1377"/> + <location filename="../src/MainFrame.cpp" line="1385"/> <source>Hide all the polar curves of all wings and planes</source> <translation>Masquer toutes les polaires associées à toutes les ailes et tous les avions</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1381"/> + <location filename="../src/MainFrame.cpp" line="1389"/> <source>Show all the polar curves of all wings and planes</source> <translation>Afficher toutes les polaires associées à toutes les ailes et tous les avions</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1385"/> + <location filename="../src/MainFrame.cpp" line="1393"/> <source>Hide all the operating point curves of the currently selected wing or plane</source> <translation>Masquer tous les points de fonctionnement associés à l'aile ou l'avion actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1389"/> + <location filename="../src/MainFrame.cpp" line="1397"/> <source>Show all the operating point curves of the currently selected wing or plane</source> <translation>afficherer tous les points de fonctionnement associés à l'aile ou l'avion actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1393"/> + <location filename="../src/MainFrame.cpp" line="1401"/> <source>Delete all the operating points of the currently selected wing or plane</source> <translation>Détruire tous les points de fonctionnement associés à l'aile ou l'avion actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1397"/> + <location filename="../src/MainFrame.cpp" line="1405"/> <source>Delete the currently selected wing or plane</source> <translation>Détruire l'aile ou l'avion actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1401"/> + <location filename="../src/MainFrame.cpp" line="1409"/> <source>Duplicate the currently selected wing or plane</source> <translation>Dupliquer l'aile ou l'avion actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1405"/> + <location filename="../src/MainFrame.cpp" line="1413"/> <source>Save the currently selected wing or plane as a new separate project</source> <translation>Sauvegarder l'aile ou l'avion actif dans un projet séparé</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1409"/> + <location filename="../src/MainFrame.cpp" line="1417"/> <source>Rename the currently selected polar</source> <translation>Renommer la polaire active</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1413"/> + <location filename="../src/MainFrame.cpp" line="1421"/> <source>Edit the points of the currently selected polar</source> <translation>Editer les points de la polaire active</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1417"/> + <location filename="../src/MainFrame.cpp" line="1425"/> <source>Export the currently selected polar to a text or csv file</source> <translation>Exporter la polaire active vers un fichier texte ou csv</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1421"/> + <location filename="../src/MainFrame.cpp" line="1429"/> <source>Delete all the points of the currently selected polar, but keep the analysis settings</source> <translation>Détruire tous les points de la polaire active, mais conserver les paramètres d'analyse</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1425"/> + <location filename="../src/MainFrame.cpp" line="1433"/> <source>Delete the currently selected polar</source> <translation>Détruire la polaire active</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1429"/> + <location filename="../src/MainFrame.cpp" line="1437"/> <source>Delete the currently selected operating point</source> <translation>Détruire le point de fonctionnement actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1433"/> + <location filename="../src/MainFrame.cpp" line="1441"/> <source>Define the settings for LLT, VLM and Panel analysis</source> <translation>Définir les paramètres d'analyse pour la LLT, la VLM et la méthode de panneaux 3D</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1562"/> + <location filename="../src/MainFrame.cpp" line="1593"/> <source>&Analysis</source> <translation>&Analyse</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1290"/> - <location filename="../src/MainFrame.cpp" line="1916"/> + <location filename="../src/MainFrame.cpp" line="1298"/> + <location filename="../src/MainFrame.cpp" line="1963"/> <source>Define an Analysis</source> <translation>Définir une analyse</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1920"/> + <location filename="../src/MainFrame.cpp" line="1967"/> <source>Batch Analysis</source> <translation>Analyse par lot</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2117"/> + <location filename="../src/MainFrame.cpp" line="2164"/> <source>Current Foil</source> <translation>Profil actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="792"/> + <location filename="../src/MainFrame.cpp" line="798"/> <source>Foil Actions</source> <translation>Actions sur profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="822"/> - <location filename="../src/MainFrame.cpp" line="1794"/> + <location filename="../src/MainFrame.cpp" line="828"/> + <location filename="../src/MainFrame.cpp" line="1841"/> <source>Foil</source> <translation>Profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="920"/> - <location filename="../src/MainFrame.cpp" line="1142"/> + <location filename="../src/MainFrame.cpp" line="930"/> + <location filename="../src/MainFrame.cpp" line="1150"/> <source>3D Scales</source> <translation>Échelles 3D</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="932"/> + <location filename="../src/MainFrame.cpp" line="942"/> <source>Stability</source> <translation>Stabilité</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1049"/> + <location filename="../src/MainFrame.cpp" line="1057"/> <source>&File</source> <translation>&Fichier</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1083"/> + <location filename="../src/MainFrame.cpp" line="1091"/> <source>&?</source> <translation>&?</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1101"/> + <location filename="../src/MainFrame.cpp" line="1109"/> <source>OpPoint View</source> <translation>Vue OpPoint</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1107"/> + <location filename="../src/MainFrame.cpp" line="1115"/> <source>Polar View</source> <translation>Vue Polaires</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1124"/> + <location filename="../src/MainFrame.cpp" line="1132"/> <source>3D View</source> <translation>Vue 3D</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1129"/> + <location filename="../src/MainFrame.cpp" line="1137"/> <source>Cp View</source> <translation>Vue Cp</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1817"/> + <location filename="../src/MainFrame.cpp" line="1864"/> <source>OpPoint view</source> <translation>Vue OpPoint</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1819"/> + <location filename="../src/MainFrame.cpp" line="1866"/> <source>Show Operating point view</source> <translation>Afficher la vue des OpPoints</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1822"/> + <location filename="../src/MainFrame.cpp" line="1869"/> <source>Polar view</source> <translation>Vue polaire</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1824"/> + <location filename="../src/MainFrame.cpp" line="1871"/> <source>Show Polar view</source> <translation>Afficher la vue polaire</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1134"/> + <location filename="../src/MainFrame.cpp" line="1142"/> <source>3D Color Preferences</source> <translation>Préférences de couleurs 3D</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="553"/> + <location filename="../src/MainFrame.cpp" line="559"/> <source>Show the properties of the currently selected operating point</source> <translation>Afficher les propriétés du point de fonctionnement actuellement sélectionné</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1113"/> + <location filename="../src/MainFrame.cpp" line="1121"/> <source>Time Response Vew</source> <translation>Vue de la réponse temporelle</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1119"/> + <location filename="../src/MainFrame.cpp" line="1127"/> <source>Root Locus View</source> <translation>Vue du lieu des racines</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1121"/> + <location filename="../src/MainFrame.cpp" line="1129"/> <source>Switch to root locus view</source> <translation>Aller à la vue du lieu des racines</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1138"/> - <location filename="../src/MainFrame.cpp" line="1830"/> + <location filename="../src/MainFrame.cpp" line="1146"/> + <location filename="../src/MainFrame.cpp" line="1877"/> <source>Polar Filter</source> <translation>Filtre de polaire</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1147"/> + <location filename="../src/MainFrame.cpp" line="1155"/> <source>3D Light Options</source> <translation>Options d'éclairage 3D</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1151"/> + <location filename="../src/MainFrame.cpp" line="1159"/> <source>Define a New Wing</source> <translation>Définir une nouvelle aile</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1152"/> + <location filename="../src/MainFrame.cpp" line="1160"/> <source>Shows a dialogbox for editing a new wing definition</source> <translation>Afficher une boîte de dialogue pour éditer la définition d'une nouvelle aile</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1155"/> + <location filename="../src/MainFrame.cpp" line="1163"/> <source>Half Wing</source> <translation>Demi-aile</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1159"/> + <location filename="../src/MainFrame.cpp" line="1167"/> <source>Define a New Plane</source> <translation>Définir un nouvel avion</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1160"/> + <location filename="../src/MainFrame.cpp" line="1168"/> <source>Shows a dialogbox to create a new plane definition</source> <translation>Afficher un boîte de dialogue pour définir un nouvel avion</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1163"/> + <location filename="../src/MainFrame.cpp" line="1171"/> <source>Edit...</source> <translation>Éditer...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1164"/> + <location filename="../src/MainFrame.cpp" line="1172"/> <source>Shows a dialogbox to edit the currently selected wing or plane</source> <translation>Afficher une boîte de dialogue pour éditer l'aile ou l'avion actuellement sélectionné</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1171"/> + <location filename="../src/MainFrame.cpp" line="1179"/> <source>Define a New Body</source> <translation>Définir un nouveau fuselage</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1172"/> + <location filename="../src/MainFrame.cpp" line="1180"/> <source>Shows a dialogbox for editing a new body definition</source> <translation>Afficher une boîte de dialogue pour éditer un nouveau fuselage</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1176"/> + <location filename="../src/MainFrame.cpp" line="1184"/> <source>Edit Current</source> <translation>Éditer le fuselage actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1181"/> + <location filename="../src/MainFrame.cpp" line="1189"/> <source>Export Body Definition</source> <translation>Exporter la définition du fuselage</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1182"/> + <location filename="../src/MainFrame.cpp" line="1190"/> <source>Export a body definition to a text file</source> <translation>Exporter la définition du fuselage vers un fichier texte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1185"/> + <location filename="../src/MainFrame.cpp" line="1193"/> <source>Export Body Geometry</source> <translation>Exporter la géométrie du fuselage</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1186"/> + <location filename="../src/MainFrame.cpp" line="1194"/> <source>Export a body geometry at different cross sections to a text file</source> <translation>Exporter la géométrie du fuselage selon différentes coupes vers un fichier texte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1189"/> + <location filename="../src/MainFrame.cpp" line="1197"/> <source>Import Body</source> <translation>Importer un fuselage</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1190"/> + <location filename="../src/MainFrame.cpp" line="1198"/> <source>Import a body definition from a text file</source> <translation>Importer une définition de fuselage depuis un fichier texte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1193"/> + <location filename="../src/MainFrame.cpp" line="1201"/> <source>Manage Bodies</source> <translation>Gérer les fuselages</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1195"/> + <location filename="../src/MainFrame.cpp" line="1203"/> <source>Manage the body list : Rename, Duplicate, Delete</source> <translation>Gérer la liste des fuselage : Renommer, Dupliquer, Supprimer</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1198"/> + <location filename="../src/MainFrame.cpp" line="1206"/> <source>Export to AVL...</source> <translation>Exporter en AVL...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1206"/> - <location filename="../src/MainFrame.cpp" line="1210"/> - <location filename="../src/MainFrame.cpp" line="1843"/> + <location filename="../src/MainFrame.cpp" line="1214"/> + <location filename="../src/MainFrame.cpp" line="1218"/> + <location filename="../src/MainFrame.cpp" line="1890"/> <source>Reset Legend Position</source> <translation>Réinitialiser la position de la légende</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1214"/> + <location filename="../src/MainFrame.cpp" line="1222"/> <source>Reset Wing Scale</source> <translation>Réinitialiser l'échelle de l'aile</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1218"/> + <location filename="../src/MainFrame.cpp" line="1226"/> <source>Scale Wing</source> <translation>Redimensionner l'aile</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1236"/> + <location filename="../src/MainFrame.cpp" line="1244"/> <source>Show Current OpPoint Only</source> <translation>N'afficher que l'OpPoint actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1241"/> + <location filename="../src/MainFrame.cpp" line="1249"/> <source>Show All OpPoints</source> <translation>Afficher tous les OpPoints</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1245"/> + <location filename="../src/MainFrame.cpp" line="1253"/> <source>Hide All OpPoints</source> <translation>Cacher tous les OpPoints</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1249"/> + <location filename="../src/MainFrame.cpp" line="1257"/> <source>Delete All OpPoints</source> <translation>Supprimer tous les OpPoints</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1253"/> - <location filename="../src/MainFrame.cpp" line="1388"/> + <location filename="../src/MainFrame.cpp" line="1261"/> + <location filename="../src/MainFrame.cpp" line="1396"/> <source>Show Associated OpPoints</source> <translation>Afficher les OpPoints associés</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1257"/> - <location filename="../src/MainFrame.cpp" line="1384"/> + <location filename="../src/MainFrame.cpp" line="1265"/> + <location filename="../src/MainFrame.cpp" line="1392"/> <source>Hide Associated OpPoints</source> <translation>Cacher les OpPoints associés</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1261"/> - <location filename="../src/MainFrame.cpp" line="1392"/> + <location filename="../src/MainFrame.cpp" line="1269"/> + <location filename="../src/MainFrame.cpp" line="1400"/> <source>Delete Associated OpPoints</source> <translation>Supprimer les OpPoints associés</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1265"/> + <location filename="../src/MainFrame.cpp" line="1273"/> <source>Show Elliptic Curve</source> <translation>Afficher la courbe elliptique</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1280"/> + <location filename="../src/MainFrame.cpp" line="1288"/> <source>Show Fin Curve</source> <translation>Afficher la courbe de la dérive</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1285"/> + <location filename="../src/MainFrame.cpp" line="1293"/> <source>Show Second Wing Curve</source> <translation>Afficher la courbe de la seconde aile</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1339"/> - <location filename="../src/MainFrame.cpp" line="1867"/> + <location filename="../src/MainFrame.cpp" line="1347"/> + <location filename="../src/MainFrame.cpp" line="1914"/> <source>Highlight Current OpPoint</source> <translation>Mettre en évidence l'OpPoint actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1341"/> - <location filename="../src/MainFrame.cpp" line="1869"/> + <location filename="../src/MainFrame.cpp" line="1349"/> + <location filename="../src/MainFrame.cpp" line="1916"/> <source>Highlights on the polar curve the currently selected operating point</source> <translation>Mettre en évidence sur la courbe polaire le point de fonctionnement actuellement sélectionné</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1348"/> - <location filename="../src/MainFrame.cpp" line="1352"/> + <location filename="../src/MainFrame.cpp" line="1356"/> + <location filename="../src/MainFrame.cpp" line="1360"/> <source>Reset All Graph Scales</source> <translation>Réinitialiser toutes les échelles de diagrammes</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1356"/> - <location filename="../src/MainFrame.cpp" line="1360"/> + <location filename="../src/MainFrame.cpp" line="1364"/> + <location filename="../src/MainFrame.cpp" line="1368"/> <source>All Graph Settings</source> <translation>Tous les paramètres du diagramme</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1364"/> + <location filename="../src/MainFrame.cpp" line="1372"/> <source>Hide Associated Polars</source> <translation>Masquer les polaires associées</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1368"/> + <location filename="../src/MainFrame.cpp" line="1376"/> <source>Show Associated Polars</source> <translation>Afficher les polaires associées</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1372"/> + <location filename="../src/MainFrame.cpp" line="1380"/> <source>Delete Associated Polars</source> <translation>Supprimer les polaires associées</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1376"/> - <location filename="../src/MainFrame.cpp" line="1978"/> + <location filename="../src/MainFrame.cpp" line="1384"/> + <location filename="../src/MainFrame.cpp" line="2025"/> <source>Hide All Polars</source> <translation>Masquer toutes les polaires</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1380"/> - <location filename="../src/MainFrame.cpp" line="1975"/> + <location filename="../src/MainFrame.cpp" line="1388"/> + <location filename="../src/MainFrame.cpp" line="2022"/> <source>Show All Polars</source> <translation>Afficher toutes les polaires</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1400"/> + <location filename="../src/MainFrame.cpp" line="1408"/> <source>Duplicate...</source> <translation>Dupliquer...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1404"/> + <location filename="../src/MainFrame.cpp" line="1412"/> <source>Save as Project...</source> <translation>Enregistrer sous forme de projet...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1412"/> + <location filename="../src/MainFrame.cpp" line="1420"/> <source>Edit ...</source> <translation>Éditer...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1416"/> + <location filename="../src/MainFrame.cpp" line="1424"/> <source>Export ...</source> <translation>Exporter...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1420"/> + <location filename="../src/MainFrame.cpp" line="1428"/> <source>Reset ...</source> <translation>Réinitialiser...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1424"/> + <location filename="../src/MainFrame.cpp" line="1432"/> <source>Delete ...</source> <translation>Supprimer...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1432"/> + <location filename="../src/MainFrame.cpp" line="1440"/> <source>Advanced Settings...</source> <translation>Paramètres avancés...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1456"/> + <location filename="../src/MainFrame.cpp" line="1466"/> <source>&Wing-Plane</source> <translation>Aile-A&vion</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1460"/> + <location filename="../src/MainFrame.cpp" line="1471"/> <source>Current UFO</source> <translation>OVNI actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1484"/> + <location filename="../src/MainFrame.cpp" line="1499"/> <source>Current Body</source> <translation>Fuselage actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1492"/> - <location filename="../src/MainFrame.cpp" line="2162"/> + <location filename="../src/MainFrame.cpp" line="1508"/> + <location filename="../src/MainFrame.cpp" line="2209"/> <source>&Polars</source> <translation>Polai&res</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1496"/> - <location filename="../src/MainFrame.cpp" line="2163"/> + <location filename="../src/MainFrame.cpp" line="1513"/> + <location filename="../src/MainFrame.cpp" line="2210"/> <source>Current Polar</source> <translation>Polaire active</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1515"/> - <location filename="../src/MainFrame.cpp" line="1548"/> + <location filename="../src/MainFrame.cpp" line="1536"/> + <location filename="../src/MainFrame.cpp" line="1576"/> <source>Graphs</source> <translation>Diagrammes</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1530"/> + <location filename="../src/MainFrame.cpp" line="1554"/> <source>&OpPoint</source> <translation>&OpPoint</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1531"/> - <location filename="../src/MainFrame.cpp" line="2200"/> - <location filename="../src/MainFrame.cpp" line="2240"/> + <location filename="../src/MainFrame.cpp" line="1556"/> + <location filename="../src/MainFrame.cpp" line="2247"/> + <location filename="../src/MainFrame.cpp" line="2287"/> <source>Current OpPoint</source> <translation>OpPoint actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1582"/> - <location filename="../src/MainFrame.cpp" line="1652"/> - <location filename="../src/MainFrame.cpp" line="2275"/> + <location filename="../src/MainFrame.cpp" line="1616"/> + <location filename="../src/MainFrame.cpp" line="1693"/> + <location filename="../src/MainFrame.cpp" line="2322"/> <source>Current Graph</source> <translation>Diagramme actif</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1733"/> + <location filename="../src/MainFrame.cpp" line="1780"/> <source>UFO</source> <translation>OVNI</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1758"/> + <location filename="../src/MainFrame.cpp" line="1805"/> <source>Ready</source> <translation>Prêt</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1833"/> + <location filename="../src/MainFrame.cpp" line="1880"/> <source>All Polar Graph Settings</source> <translation>Paramètres de tous les diagrammes polaires</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1837"/> + <location filename="../src/MainFrame.cpp" line="1884"/> <source>Reset All Polar Graph Scales</source> <translation>Réinitialiser les échelles de tous les diagrammes polaires</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1882"/> + <location filename="../src/MainFrame.cpp" line="1929"/> <source>Set Style...</source> <translation>Définir le style...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1885"/> + <location filename="../src/MainFrame.cpp" line="1932"/> <source>Delete associated polars</source> <translation>Supprimer les polaires associées</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1886"/> + <location filename="../src/MainFrame.cpp" line="1933"/> <source>Delete all the polars associated to this foil</source> <translation>Supprimer toutes les polaires associées à ce profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1889"/> + <location filename="../src/MainFrame.cpp" line="1936"/> <source>Show associated polars</source> <translation>Afficher les polaires associées</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1892"/> + <location filename="../src/MainFrame.cpp" line="1939"/> <source>Hide associated polars</source> <translation>Cacher les polaires associées</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1895"/> + <location filename="../src/MainFrame.cpp" line="1942"/> <source>Save associated polars</source> <translation>Enregistrer les polaires associées</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1898"/> - <location filename="../src/MainFrame.cpp" line="1907"/> + <location filename="../src/MainFrame.cpp" line="1945"/> + <location filename="../src/MainFrame.cpp" line="1954"/> <source>Hide associated OpPoints</source> <translation>Cacher les OpPoints associés</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1901"/> - <location filename="../src/MainFrame.cpp" line="1910"/> + <location filename="../src/MainFrame.cpp" line="1948"/> + <location filename="../src/MainFrame.cpp" line="1957"/> <source>Show associated OpPoints</source> <translation>Afficher les OpPoints associés</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1904"/> - <location filename="../src/MainFrame.cpp" line="1913"/> + <location filename="../src/MainFrame.cpp" line="1951"/> + <location filename="../src/MainFrame.cpp" line="1960"/> <source>Delete associated OpPoints</source> <translation>Supprimer les OpPoints associés</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1917"/> + <location filename="../src/MainFrame.cpp" line="1964"/> <source>Defines a single analysis/polar</source> <translation>Définir une analyse/polaire unique</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1921"/> + <location filename="../src/MainFrame.cpp" line="1968"/> <source>Launches a batch of analysis calculation for a specified range or list of Reynolds numbers</source> <translation>Lancer un lots de calcul d'analyses pour la plage indiquée de nombre de Reynolds</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1924"/> + <location filename="../src/MainFrame.cpp" line="1971"/> <source>Multi-threaded Batch Analysis</source> <translation>Analyse par lots multi-processeurs</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1925"/> + <location filename="../src/MainFrame.cpp" line="1972"/> <source>Launches a batch of analysis calculation using all available computer CPU cores</source> <translation>Lancer un calcul d’analyse par lots en utilisant tous les coeurs disponibles des processeurs de l'ordinateur</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1928"/> - <location filename="../src/MainFrame.cpp" line="1994"/> + <location filename="../src/MainFrame.cpp" line="1975"/> + <location filename="../src/MainFrame.cpp" line="2041"/> <source>Delete</source> <translation>Supprimer</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1929"/> + <location filename="../src/MainFrame.cpp" line="1976"/> <source>Deletes the currently selected polar</source> <translation>Supprimer la polaire sélectionnée</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1932"/> + <location filename="../src/MainFrame.cpp" line="1979"/> <source>Reset</source> <translation>Réinitialiser</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1933"/> + <location filename="../src/MainFrame.cpp" line="1980"/> <source>Deletes the contents of the currently selected polar</source> <translation>Supprimer le contenu de la polaire active</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1936"/> + <location filename="../src/MainFrame.cpp" line="1983"/> <source>Edit</source> <translation>Éditer</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1937"/> + <location filename="../src/MainFrame.cpp" line="1984"/> <source>Remove the unconverged or erroneaous points of the currently selected polar</source> <translation>Supprimer les points erronés ou sans convergence de la polaire active</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1940"/> - <location filename="../src/MainFrame.cpp" line="1991"/> + <location filename="../src/MainFrame.cpp" line="1987"/> + <location filename="../src/MainFrame.cpp" line="2038"/> <source>Export</source> <translation>Exporter</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1943"/> + <location filename="../src/MainFrame.cpp" line="1990"/> <source>Export all polars</source> <translation>Exporter toutes les polaires</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1946"/> - <location filename="../src/MainFrame.cpp" line="2309"/> + <location filename="../src/MainFrame.cpp" line="1993"/> + <location filename="../src/MainFrame.cpp" line="2356"/> <source>Define Styles</source> <translation>Définir les styles</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1947"/> + <location filename="../src/MainFrame.cpp" line="1994"/> <source>Define the style for the boundary layer and the pressure arrows</source> <translation>Définir le style de la couche limite et des flèches de pression</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1950"/> + <location filename="../src/MainFrame.cpp" line="1997"/> <source>Manage Foils</source> <translation>Gérer les profils</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1954"/> + <location filename="../src/MainFrame.cpp" line="2001"/> <source>Rename</source> <translation>Renommer</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1957"/> + <location filename="../src/MainFrame.cpp" line="2004"/> <source>Show Panels</source> <translation>Afficher les panneaux</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1959"/> + <location filename="../src/MainFrame.cpp" line="2006"/> <source>Show the foil's panels</source> <translation>Afficher les profils des panneaux</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1962"/> + <location filename="../src/MainFrame.cpp" line="2009"/> <source>Reset Foil Scale</source> <translation>Réinitialiser les dimensions du profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1963"/> + <location filename="../src/MainFrame.cpp" line="2010"/> <source>Resets the foil's scale to original size</source> <translation>Réinitialiser les dimensions du profil à sa taille d'origine</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1966"/> + <location filename="../src/MainFrame.cpp" line="2013"/> <source>Show Inviscid Curve</source> <translation>Afficher la courbe non visqueuse</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1968"/> + <location filename="../src/MainFrame.cpp" line="2015"/> <source>Display the Opp's inviscid curve</source> <translation>Afficher les points de fonctionnement de la courbe non visqueuse</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1971"/> + <location filename="../src/MainFrame.cpp" line="2018"/> <source>Neutral Line</source> <translation>Ligne neutre</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1981"/> + <location filename="../src/MainFrame.cpp" line="2028"/> <source>Show Current Opp Only</source> <translation>OpPoint actif seulement</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1985"/> + <location filename="../src/MainFrame.cpp" line="2032"/> <source>Show All Opps</source> <translation>Afficher tous les points de fonctionnement</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1988"/> + <location filename="../src/MainFrame.cpp" line="2035"/> <source>Hide All Opps</source> <translation>Masquer tous les points de fonctionnement</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1997"/> + <location filename="../src/MainFrame.cpp" line="2044"/> <source>Reset XFoil</source> <translation>Réinitialiser XFoil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2000"/> + <location filename="../src/MainFrame.cpp" line="2047"/> <source>XFoil Advanced Settings</source> <translation>Paramètres avancés de XFoil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2001"/> + <location filename="../src/MainFrame.cpp" line="2048"/> <source>Tip : you don't want to use that option...</source> <translation>Astuce : ne pas utiliser cette option...</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2004"/> + <location filename="../src/MainFrame.cpp" line="2051"/> <source>View Log File</source> <translation>Afficher le fichier journal</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2040"/> + <location filename="../src/MainFrame.cpp" line="2087"/> <source>Duplicate</source> <translation>Dupliquer</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2043"/> + <location filename="../src/MainFrame.cpp" line="2090"/> <source>Cp Variable</source> <translation>Variable Cp</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2045"/> + <location filename="../src/MainFrame.cpp" line="2092"/> <source>Sets Cp vs. chord graph</source> <translation>Définir le diagramme de Cp en fonction de la corde</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2048"/> + <location filename="../src/MainFrame.cpp" line="2095"/> <source>Q Variable</source> <translation>Variable Q</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2050"/> - <location filename="../src/MainFrame.cpp" line="2054"/> + <location filename="../src/MainFrame.cpp" line="2097"/> + <location filename="../src/MainFrame.cpp" line="2101"/> <source>Sets Speed vs. chord graph</source> <translation>Définir le diagramme de la vitesse en fonction de la corde</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2053"/> + <location filename="../src/MainFrame.cpp" line="2100"/> <source>Export Cur. XFoil Results</source> <translation>Exporter les résultats actifs de XFoil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2057"/> + <location filename="../src/MainFrame.cpp" line="2104"/> <source>Max. Shear Coefficient</source> <translation>Coefficient de cisaillement maximum</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2061"/> + <location filename="../src/MainFrame.cpp" line="2108"/> <source>Bottom Side D* and Theta</source> <translation>D* et Theta de la face inférieure</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2065"/> + <location filename="../src/MainFrame.cpp" line="2112"/> <source>Top Side D* and Theta</source> <translation>D* et Theta de la face supérieure</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2069"/> + <location filename="../src/MainFrame.cpp" line="2116"/> <source>Log(Re_Theta)</source> <translation>Log(Re_Theta)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2073"/> + <location filename="../src/MainFrame.cpp" line="2120"/> <source>Re_Theta</source> <translation>Re_Theta</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2077"/> + <location filename="../src/MainFrame.cpp" line="2124"/> <source>Amplification Ratio</source> <translation>Rapport d'amplification</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2081"/> + <location filename="../src/MainFrame.cpp" line="2128"/> <source>Dissipation Coefficient</source> <translation>Coefficient de dissipation</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2085"/> + <location filename="../src/MainFrame.cpp" line="2132"/> <source>Skin Friction Coefficient</source> <translation>Coefficient de friction de la peau</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2089"/> + <location filename="../src/MainFrame.cpp" line="2136"/> <source>Edge Velocity</source> <translation>Vélocité de bord</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2114"/> - <location filename="../src/MainFrame.cpp" line="2374"/> + <location filename="../src/MainFrame.cpp" line="2161"/> + <location filename="../src/MainFrame.cpp" line="2421"/> <source>&Foil</source> <translation>&Profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2139"/> + <location filename="../src/MainFrame.cpp" line="2186"/> <source>&Design</source> <translation>&Conception</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2185"/> + <location filename="../src/MainFrame.cpp" line="2232"/> <source>Polar Graphs</source> <translation>Diagrammes polaires</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2199"/> + <location filename="../src/MainFrame.cpp" line="2246"/> <source>Operating Points</source> <translation>&OpPoints</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2204"/> + <location filename="../src/MainFrame.cpp" line="2251"/> <source>Cp Graph</source> <translation>Diagramme Cp</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2210"/> + <location filename="../src/MainFrame.cpp" line="2257"/> <source>Current XFoil Results</source> <translation>Résultats actifs de XFoil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2301"/> + <location filename="../src/MainFrame.cpp" line="2348"/> <source>Store Foil</source> <translation>Enregistrer le profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2302"/> + <location filename="../src/MainFrame.cpp" line="2349"/> <source>Store Foil in database</source> <translation>Enregistrer le profil dans la base de données</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2305"/> + <location filename="../src/MainFrame.cpp" line="2352"/> <source>Extract Foil</source> <translation>Extraire un profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2306"/> + <location filename="../src/MainFrame.cpp" line="2353"/> <source>Extract a Foil from the database for modification</source> <translation>Extraire un profil de la base de données pour modification</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2310"/> + <location filename="../src/MainFrame.cpp" line="2357"/> <source>Define the styles for this view</source> <translation>Définir les styles de cette vue</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2314"/> + <location filename="../src/MainFrame.cpp" line="2361"/> <source>Resets the scale to fit the screen size</source> <translation>Réinitialiser l'échelle pour s'adapter à la taille de l'écran</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2317"/> + <location filename="../src/MainFrame.cpp" line="2364"/> <source>Insert Control Point</source> <translation>Insérer un point de contrôle</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2320"/> + <location filename="../src/MainFrame.cpp" line="2367"/> <source>Remove Control Point</source> <translation>Supprimer un point de contrôle</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2323"/> + <location filename="../src/MainFrame.cpp" line="2370"/> <source>Show Q-Initial</source> <translation>Afficher Q initiale</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2331"/> + <location filename="../src/MainFrame.cpp" line="2378"/> <source>Show Q-Viscous</source> <translation>Afficher Q visqueux</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2335"/> + <location filename="../src/MainFrame.cpp" line="2382"/> <source>Show Points</source> <translation>Afficher les points</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2339"/> + <location filename="../src/MainFrame.cpp" line="2386"/> <source>Show Reflected</source> <translation>Afficher le symétrique</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2350"/> + <location filename="../src/MainFrame.cpp" line="2397"/> <source>Zoom X Scale</source> <translation>Zoomer l'échelle X</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2351"/> + <location filename="../src/MainFrame.cpp" line="2398"/> <source>Zoom X Scale Only</source> <translation>Ne zoomer que l'échelle X</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2354"/> + <location filename="../src/MainFrame.cpp" line="2401"/> <source>Zoom Y Scale</source> <translation>Zoomer l'échelle Y</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2369"/> + <location filename="../src/MainFrame.cpp" line="2416"/> <source>&Graph</source> <translation>&Diagramme</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2406"/> + <location filename="../src/MainFrame.cpp" line="2453"/> <source>Full Inverse</source> <translation>Inverse complète</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2407"/> + <location filename="../src/MainFrame.cpp" line="2454"/> <source>Mixed Inverse</source> <translation>Inverse mixte</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2424"/> + <location filename="../src/MainFrame.cpp" line="2471"/> <source>XInverse</source> <translation>X inverse</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2459"/> - <location filename="../src/MainFrame.cpp" line="3762"/> + <location filename="../src/MainFrame.cpp" line="2506"/> + <location filename="../src/MainFrame.cpp" line="3818"/> <source>Question</source> <translation>Question</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="5937"/> + <location filename="../src/MainFrame.cpp" line="3474"/> + <source>Error reading the file</source> + <translation>Erreur de lecture</translation> + </message> + <message> + <location filename="../src/MainFrame.cpp" line="6001"/> <source>A foil of that name already exists Please enter a new name</source> <translation>Il existe déjà un profil portant ce nom Veuillez entrer un autre nom</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2457"/> + <location filename="../src/MainFrame.cpp" line="2504"/> <source>and all associated OpPoints and Polars ?</source> <translation>et tous les OpPoints et polaires associés ?</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1481"/> + <location filename="../src/MainFrame.cpp" line="1495"/> <source>&Body</source> <translation>&Fuselage</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3324"/> - <location filename="../src/MainFrame.cpp" line="3588"/> + <location filename="../src/MainFrame.cpp" line="3374"/> + <location filename="../src/MainFrame.cpp" line="3644"/> <source>Could not read the file </source> <translation>Lecture du fichier impossible </translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3389"/> - <location filename="../src/MainFrame.cpp" line="3762"/> + <location filename="../src/MainFrame.cpp" line="3439"/> + <location filename="../src/MainFrame.cpp" line="3818"/> <source>Save the current project ?</source> <translation>Faut-il enregistrer le projet actuel ?</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3520"/> + <location filename="../src/MainFrame.cpp" line="3576"/> <source>Text File (*.txt);;Comma Separated Values (*.csv)</source> <translation>Fichier texte (*.txt), valeurs séparées apr des virgules (*.csv)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3577"/> - <location filename="../src/MainFrame.cpp" line="3664"/> + <location filename="../src/MainFrame.cpp" line="3633"/> + <location filename="../src/MainFrame.cpp" line="3720"/> <source>Open File</source> <translation>Ouvrir le fichier</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3579"/> + <location filename="../src/MainFrame.cpp" line="3635"/> <source>Project file (*.wpa)</source> <translation>Fichier de projet (*.wpa)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="103"/> - <location filename="../src/MainFrame.cpp" line="3589"/> - <location filename="../src/MainFrame.cpp" line="3981"/> - <location filename="../src/MainFrame.cpp" line="4004"/> - <location filename="../src/MainFrame.cpp" line="4187"/> - <location filename="../src/MainFrame.cpp" line="4257"/> - <location filename="../src/MainFrame.cpp" line="4601"/> - <location filename="../src/MainFrame.cpp" line="4910"/> - <location filename="../src/MainFrame.cpp" line="5132"/> + <location filename="../src/MainFrame.cpp" line="106"/> + <location filename="../src/MainFrame.cpp" line="3474"/> + <location filename="../src/MainFrame.cpp" line="3645"/> + <location filename="../src/MainFrame.cpp" line="4038"/> + <location filename="../src/MainFrame.cpp" line="4061"/> + <location filename="../src/MainFrame.cpp" line="4244"/> + <location filename="../src/MainFrame.cpp" line="4314"/> + <location filename="../src/MainFrame.cpp" line="4660"/> + <location filename="../src/MainFrame.cpp" line="4969"/> + <location filename="../src/MainFrame.cpp" line="5192"/> <location filename="../src/Objects/Foil.cpp" line="659"/> <source>Warning</source> <translation>Attention</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2456"/> + <location filename="../src/MainFrame.cpp" line="2503"/> <source>Are you sure you want to delete</source> <translation>Êtes vous xûr de vouloir supprimer</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3666"/> + <location filename="../src/MainFrame.cpp" line="3722"/> <source>XFLR5 file (*.dat *.plr *.wpa)</source> <translation>Fichier XFLR5 (*.dat *.plr *.wpa)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3774"/> - <location filename="../src/MainFrame.cpp" line="3947"/> - <location filename="../src/MainFrame.cpp" line="3962"/> + <location filename="../src/MainFrame.cpp" line="3830"/> + <location filename="../src/MainFrame.cpp" line="4004"/> + <location filename="../src/MainFrame.cpp" line="4019"/> <source>The project </source> <translation>Le projet </translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3774"/> - <location filename="../src/MainFrame.cpp" line="3947"/> - <location filename="../src/MainFrame.cpp" line="3962"/> + <location filename="../src/MainFrame.cpp" line="3830"/> + <location filename="../src/MainFrame.cpp" line="4004"/> + <location filename="../src/MainFrame.cpp" line="4019"/> <source> has been saved</source> <translation> n'a pas été enregistré</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4724"/> + <location filename="../src/MainFrame.cpp" line="4783"/> <source>Enter the foil's new name</source> <translation>Entrer le nouveau nom du profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3981"/> - <location filename="../src/MainFrame.cpp" line="5132"/> + <location filename="../src/MainFrame.cpp" line="4038"/> + <location filename="../src/MainFrame.cpp" line="5192"/> <source>Nothing to save</source> <translation>Rien à enregistrer</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="103"/> + <location filename="../src/MainFrame.cpp" line="106"/> <source>Your system does not provide support for OpenGL. XFLR5 will not operate correctly.</source> <translation>Votre système ne prend pas en charge OpenGl. XFLR5 ne foncitonnera pas correctement</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="485"/> + <location filename="../src/MainFrame.cpp" line="491"/> <source>Define the save options for operating points</source> <translation>Définir les options de sauvegarde pour les points de fonctionnement</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="488"/> + <location filename="../src/MainFrame.cpp" line="494"/> <source>Units...</source> <translation>Unités</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="519"/> + <location filename="../src/MainFrame.cpp" line="525"/> <source>Define the color and font options for all views and graphs</source> <translation>Définir le style pour tous les graphes simultanément</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="541"/> + <location filename="../src/MainFrame.cpp" line="547"/> <source>More information about XFLR5</source> <translation>En savoir plus sur XFLR5</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="547"/> - <location filename="../src/MainFrame.cpp" line="552"/> + <location filename="../src/MainFrame.cpp" line="553"/> + <location filename="../src/MainFrame.cpp" line="558"/> <source>Properties</source> <translation>Propriétés</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="548"/> + <location filename="../src/MainFrame.cpp" line="554"/> <source>Show the properties of the currently selected polar</source> <translation>Afficher les propriétés de la polaire active</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1309"/> + <location filename="../src/MainFrame.cpp" line="1317"/> <source>Two Graphs</source> <translation>Deux Diagrammes</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1314"/> + <location filename="../src/MainFrame.cpp" line="1322"/> <source>All Graphs</source> <translation>Tous diagrammes</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1319"/> + <location filename="../src/MainFrame.cpp" line="1327"/> <source>Graph 1</source> <translation>Diagramme 1</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1324"/> + <location filename="../src/MainFrame.cpp" line="1332"/> <source>Graph 2</source> <translation>Diagramme 2</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1329"/> + <location filename="../src/MainFrame.cpp" line="1337"/> <source>Graph 3</source> <translation>Diagramme 3</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1334"/> + <location filename="../src/MainFrame.cpp" line="1342"/> <source>Graph 4</source> <translation>Diagramme 4</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1827"/> + <location filename="../src/MainFrame.cpp" line="1874"/> <source>Define Cp Graph Settings</source> <translation>Paramètres du graphe des Cp</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1846"/> + <location filename="../src/MainFrame.cpp" line="1893"/> <source>Two Polar Graphs</source> <translation>Deux diagrammes de polaires</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1850"/> + <location filename="../src/MainFrame.cpp" line="1897"/> <source>All Polar Graphs</source> <translation>Tous diagrammees de polaires</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1861"/> + <location filename="../src/MainFrame.cpp" line="1908"/> <source>Cl vs. Cd</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1862"/> + <location filename="../src/MainFrame.cpp" line="1909"/> <source>Cl vs.Alpha</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1863"/> + <location filename="../src/MainFrame.cpp" line="1910"/> <source>Cl vs. Xtr.</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1864"/> + <location filename="../src/MainFrame.cpp" line="1911"/> <source>Cm vs.Alpha</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1865"/> + <location filename="../src/MainFrame.cpp" line="1912"/> <source>Glide ratio vs. alpha</source> <translation>Finesse = f(alpha)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2153"/> + <location filename="../src/MainFrame.cpp" line="2200"/> <source>Analysis</source> <translation>Analyse</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2313"/> + <location filename="../src/MainFrame.cpp" line="2360"/> <source>Reset foil scale</source> <translation>Rétablir l'échelle du profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3990"/> - <location filename="../src/MainFrame.cpp" line="4890"/> + <location filename="../src/MainFrame.cpp" line="4047"/> + <location filename="../src/MainFrame.cpp" line="4949"/> <source>Save the Project File</source> <translation>Enregistrer le fichier de projet</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3992"/> + <location filename="../src/MainFrame.cpp" line="4049"/> <source>XFLR5 Project File (*.wpa)</source> <translation>Fichier de projet de XFLR5 (*.wpa)</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4004"/> - <location filename="../src/MainFrame.cpp" line="4910"/> + <location filename="../src/MainFrame.cpp" line="4061"/> + <location filename="../src/MainFrame.cpp" line="4969"/> <source>Could not open the file for writing</source> <translation>Impossible d'ouvrir le fichier en écriture</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4048"/> + <location filename="../src/MainFrame.cpp" line="4105"/> <source>Save Image</source> <translation>Enregistrer l'image</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4187"/> - <location filename="../src/MainFrame.cpp" line="4257"/> + <location filename="../src/MainFrame.cpp" line="4244"/> + <location filename="../src/MainFrame.cpp" line="4314"/> <source>Unidentified Operating Point</source> <translation>Point de fonctionnement non identifié</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4601"/> + <location filename="../src/MainFrame.cpp" line="4660"/> <source>Obsolete format, cannot read</source> <translation>Format dépassé : lecture impossible</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="4892"/> + <location filename="../src/MainFrame.cpp" line="4951"/> <source>XFLR5 v6 Project File (*.wpa);;XFLR5 v5 Project File (*.*)</source> <translation></translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="6658"/> + <location filename="../src/MainFrame.cpp" line="6722"/> <source>&%1 %2</source> <translation>&%1 %2</translation> </message> @@ -5489,79 +5526,79 @@ <translation>Erreur de profil : pas de point</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2093"/> + <location filename="../src/MainFrame.cpp" line="2140"/> <source>Kinematic Shape Parameter</source> <translation>Paramètre cinématique de forme</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2327"/> + <location filename="../src/MainFrame.cpp" line="2374"/> <source>Show Q-Spec</source> <translation>Afficher Q-Spec</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="94"/> - <location filename="../src/MainFrame.cpp" line="3325"/> + <location filename="../src/MainFrame.cpp" line="97"/> + <location filename="../src/MainFrame.cpp" line="3375"/> <source>Info</source> <translation>Info</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1227"/> + <location filename="../src/MainFrame.cpp" line="1235"/> <source>Import Polar</source> <translation>Importer une polaire</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="2100"/> + <location filename="../src/MainFrame.cpp" line="2147"/> <source>Import XFoil Polar</source> <translation>Importer une polaire XFoil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="583"/> + <location filename="../src/MainFrame.cpp" line="589"/> <source>Store Splines as Foil</source> <translation>Enregistrer les splines en tant que profil</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="493"/> + <location filename="../src/MainFrame.cpp" line="499"/> <source>Define the default language for the application</source> <translation>Définir la langue par défaut de l'application</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="681"/> + <location filename="../src/MainFrame.cpp" line="687"/> <source>Show Legend</source> <translation>Afficher la légende</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1275"/> + <location filename="../src/MainFrame.cpp" line="1283"/> <source>Show Elevator Curve</source> <translation>Afficher la courbe du stabilisateur horizontal</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="1231"/> + <location filename="../src/MainFrame.cpp" line="1239"/> <source>Define Inertia</source> <translation>Définir l'inertie</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="507"/> + <location filename="../src/MainFrame.cpp" line="513"/> <source>will revert to default settings at the next session</source> <translation>les paramètres seront réinitialisés à leur valeur par défaut lors de la prochaine session</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3840"/> - <location filename="../src/MainFrame.cpp" line="3844"/> + <location filename="../src/MainFrame.cpp" line="3896"/> + <location filename="../src/MainFrame.cpp" line="3900"/> <source>Default Settings</source> <translation>Paramètres par défaut</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3840"/> + <location filename="../src/MainFrame.cpp" line="3896"/> <source>Are you sure you want to reset the default settings ?</source> <translation>Êtes-vous certain de vouloir réinitialiser les paramètres à leurs valeurs par défaut ?</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="3844"/> + <location filename="../src/MainFrame.cpp" line="3900"/> <source>The settings will be reset at the next session</source> <translation>Les paramètres seront réinitialisés lors de la prochaine session</translation> </message> <message> - <location filename="../src/MainFrame.cpp" line="397"/> + <location filename="../src/MainFrame.cpp" line="403"/> <source>Exit</source> <translation>Quitter</translation> </message> @@ -5938,10 +5975,10 @@ <context> <name>PanelAnalysisDlg</name> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="174"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1815"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2402"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2792"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="172"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1813"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2400"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2790"/> <source>Warning</source> <translation>Attention</translation> </message> @@ -5951,89 +5988,89 @@ <translation>Analyse par panneaux 3D</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="174"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1815"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2402"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="172"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1813"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2400"/> <source>The number of points to be calculated will be limited to 100</source> <translation>Le nombre de points à calculer sera limité à 100</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="209"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1866"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2438"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="207"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1864"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2436"/> <source> Solving the problem... </source> <translation> Résolution du problème... </translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="467"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="611"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="465"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="609"/> <source> Adding the wake's contribution...</source> <translation> Ajout de la contribution du sillage...</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1275"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1273"/> <source> Computing On-Body Speeds...</source> <translation> Calcul des vitesses sur la surface des corps...</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="918"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="919"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2897"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="916"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="917"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2895"/> <source> Computing Plane for alpha=%1</source> <translation> Calcul de l'avion pour alpha=%1</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="934"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="932"/> <source> Computing Plane for QInf=%1</source> <translation> Calcul de l'avion pour Qinf=%1</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="982"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="980"/> <source> Calculating aerodynamic coefficients...</source> <translation> Calcul des coefficients aérodynamiques...</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="349"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="347"/> <source> Creating source strengths...</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="744"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="742"/> <source> Calculating aerodynamic coefficients in the far field plane</source> <translation> Calcul des coefficients aerodynamiques en champ éloigné</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="768"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="766"/> <source> Calculating point </source> <translation> Calcul du point </translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="995"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="993"/> <source> Calculating wing...</source> <translation> Calcil de l'aile...</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1027"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1025"/> <source> Calculating body...</source> <translation> Calcul du fuselage...</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2307"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2305"/> <source>Type 1 - Fixed speed polar</source> <translation>Type 1 Polaire à vitessse constante</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2308"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2306"/> <source>Type 2 - Fixed lift polar</source> <translation>Type 2 Polaire à portance constante</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2309"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2307"/> <source>Type 4 - Fixed angle of attack polar</source> <translation>Type 4 Polaire à angle d'attaque constant</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2310"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2308"/> <source>Type 7 - Stability polar</source> <translation>Type 7 Polaire de stabilité</translation> </message> @@ -6042,101 +6079,101 @@ <translation type="obsolete">Exécution des calculs symétriques</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1645"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1643"/> <source>Performing asymmetric calculation : </source> <translation>Exécution des calculs asymétriques : </translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1649"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1647"/> <source>Counted %1 panel elements</source> <translation>%1 éléments de panneaux ont été dénombrés</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1712"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1710"/> <source> Relaxing the wake...</source> <translation> Relaxation du sillage...</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2153"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2151"/> <source> Singular Matrix.... Aborting calculation... </source> <translation> Matrice singulière.... Interruption du calcul... </translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2115"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2272"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2113"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2270"/> <source>Cancel</source> <translation>Abandonner</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="827"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="825"/> <source>Found a negative lift for Alpha=%1.... skipping the angle...</source> <translation>Portance négative trouvée pour Alpha=%1.... angle sauté...</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1642"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="1640"/> <source>Performing symmetric calculation</source> <translation>Exécution d'un calcul symétrique</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2275"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2273"/> <source>Launching 3D Panel Analysis....</source> <translation>Lancement de l'analyse des Panneaux 3D....</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2278"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2276"/> <source>Launching VLM1 Analysis....</source> <translation>Lancement de l'analyse VLM1...</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2279"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2277"/> <source>Launching VLM2 Analysis....</source> <translation>Lancement de l'analyse VLM2...</translation> </message> <message> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2283"/> <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2285"/> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2287"/> <source>Using Dirichlet boundary conditions</source> <translation></translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2288"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2286"/> <source>Using Neumann boundary conditions</source> <translation>Utilisation des conditions aux limites de Neumann</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2300"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2298"/> <source>Warning: The wing and elevator lie in the same plane z=</source> <translation>Avertissement : L'aile et le stabilisateur sont dans le même plan défini par z =</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2302"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2300"/> <source>It is recommended to slightly offset the wing or the elevator to avoid numerical instabilities</source> <translation>Il est recommandé de décaler légèrement l'aile ou le stabilisateur</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2353"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2351"/> <source>Panel Analysis completed successfully</source> <translation>L'analyse des panneaux s'est terminée avec succès</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2354"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2352"/> <source>Panel Analysis completed ... Errors encountered</source> <translation>Analyse des panneaux terminée ... Des erreurs ont été rencontrées</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2368"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2366"/> <source>Close</source> <translation>Fermer</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2444"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2442"/> <source>Processing Alpha= %1</source> <translation>Traitement de Alpha= %1</translation> </message> <message> - <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2472"/> + <location filename="../src/Miarex/PanelAnalysisDlg.cpp" line="2470"/> <source> Wake iteration %1</source> <translation> Itération de sillage %1</translation> </message> @@ -6188,12 +6225,12 @@ <translation>Enregistrer les modifications ?</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1109"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1110"/> <source>OK</source> <translation>Accepter</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1110"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1111"/> <source>Cancel</source> <translation>Abandonner</translation> </message> @@ -6221,78 +6258,78 @@ <translation>Question</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="861"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="862"/> <source>Plane Name</source> <translation>Nom de l'avion</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="877"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="912"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="946"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="977"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="878"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="913"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="947"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="978"/> <source>Define</source> <translation>Définir</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="878"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="913"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="879"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="914"/> <source>Import</source> <translation>Importer</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="879"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="914"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="880"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="915"/> <source>Export</source> <translation>Exporter</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="882"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="917"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="949"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="983"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="883"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="918"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="950"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="984"/> <source>Tilt Angle=</source> <translation>Angle de calage =</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="874"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="875"/> <source>Main Wing</source> <translation>Aile principale</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="910"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="911"/> <source>Biplane</source> <translation>Biplan</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="907"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="908"/> <source>Wing 2</source> <translation>Aile 2</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="942"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="945"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="943"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="946"/> <source>Elevator</source> <translation>Stabilisateur horizontal</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="973"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="976"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="974"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="977"/> <source>Fin</source> <translation>Dérive</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="978"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="979"/> <source>Double Fin</source> <translation>Double dérive</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1015"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1019"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1016"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1020"/> <source>Body</source> <translation>Fuselage</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1018"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1019"/> <source>Warning: Including the body in the analysis is not recommended. Check the guidelines for explanations.</source> @@ -6301,95 +6338,95 @@ Se référer aux guidelines pour plus d'explications.</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1020"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1021"/> <source>Edit...</source> <translation>Éditer...</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1050"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1051"/> <source>Wing Area = </source> <translation>Surface alaire = </translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1051"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1052"/> <source>Wing Span = </source> <translation>Envergure de l'aile = </translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1052"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1053"/> <source>Elev. Area = </source> <translation>Surface du stabilisateur = </translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1053"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1054"/> <source>Elev. Lever Arm = </source> <translation>Bras de levier du stab = </translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1055"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1056"/> <source>TailVolume = </source> <translation>Volume de stab = </translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1056"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1057"/> <source>Total Panels = </source> <translation>Nombre total de panneaux = </translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="45"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="46"/> <source>Plane Editor</source> <translation>Éditeur d'avion</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1054"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1055"/> <source>Fin Area = </source> <translation>Aire de la dérive = </translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="880"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="915"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="947"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="980"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="1033"/> - <source>x=</source> - <translation>x =</translation> - </message> - <message> <location filename="../src/Miarex/PlaneDlg.cpp" line="881"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="916"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="948"/> - <location filename="../src/Miarex/PlaneDlg.cpp" line="982"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="981"/> <location filename="../src/Miarex/PlaneDlg.cpp" line="1034"/> + <source>x=</source> + <translation>x =</translation> + </message> + <message> + <location filename="../src/Miarex/PlaneDlg.cpp" line="882"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="917"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="949"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="983"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="1035"/> <source>z=</source> <translation>z =</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="981"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="982"/> <source>y=</source> <translation>y =</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="864"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="865"/> <source>Enter here a short description for the plane</source> <translation>Entrez ici une courte description de l'avion</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="865"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="866"/> <source>Description:</source> <translation>Description :</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="858"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="859"/> <source>Plane Description</source> <translation>Description de l'avion</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="866"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="867"/> <source>Plane Inertia</source> <translation>Inertie de l'avion</translation> </message> <message> - <location filename="../src/Miarex/PlaneDlg.cpp" line="979"/> + <location filename="../src/Miarex/PlaneDlg.cpp" line="980"/> <source>Two-sided Fin</source> <translation>Dérive composée de deux surfaces</translation> </message> @@ -6468,199 +6505,199 @@ <context> <name>QAFoil</name> <message> - <location filename="../src/Design/AFoil.cpp" line="1603"/> - <location filename="../src/Design/AFoil.cpp" line="1841"/> + <location filename="../src/Design/AFoil.cpp" line="1609"/> <location filename="../src/Design/AFoil.cpp" line="1847"/> - <location filename="../src/Design/AFoil.cpp" line="1857"/> - <location filename="../src/Design/AFoil.cpp" line="1864"/> - <location filename="../src/Design/AFoil.cpp" line="2214"/> + <location filename="../src/Design/AFoil.cpp" line="1853"/> + <location filename="../src/Design/AFoil.cpp" line="1863"/> + <location filename="../src/Design/AFoil.cpp" line="1870"/> <location filename="../src/Design/AFoil.cpp" line="2220"/> - <location filename="../src/Design/AFoil.cpp" line="2251"/> - <location filename="../src/Design/AFoil.cpp" line="2259"/> + <location filename="../src/Design/AFoil.cpp" line="2226"/> + <location filename="../src/Design/AFoil.cpp" line="2257"/> + <location filename="../src/Design/AFoil.cpp" line="2265"/> <source>Warning</source> <translation>Attention</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="387"/> + <location filename="../src/Design/AFoil.cpp" line="393"/> <source>Spline foil</source> <translation>Profile en spline</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="399"/> + <location filename="../src/Design/AFoil.cpp" line="405"/> <source>Splined points foil</source> <translation>Profil avec splines reliant les points</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3000"/> + <location filename="../src/Design/AFoil.cpp" line="3006"/> <source>Name</source> <translation>Nom</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3001"/> + <location filename="../src/Design/AFoil.cpp" line="3007"/> <source>Thickness (%)</source> <translation>Épaisseur (%)</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3002"/> - <location filename="../src/Design/AFoil.cpp" line="3004"/> + <location filename="../src/Design/AFoil.cpp" line="3008"/> + <location filename="../src/Design/AFoil.cpp" line="3010"/> <source>at (%)</source> <translation>à (%)</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3003"/> + <location filename="../src/Design/AFoil.cpp" line="3009"/> <source>Camber (%)</source> <translation>Cambrure (%)</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3005"/> - <location filename="../src/Design/AFoil.cpp" line="3013"/> + <location filename="../src/Design/AFoil.cpp" line="3011"/> + <location filename="../src/Design/AFoil.cpp" line="3019"/> <source>Points</source> <translation>Points</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3006"/> + <location filename="../src/Design/AFoil.cpp" line="3012"/> <source>TE Flap (</source> <translation>Volet de bord de fuite (</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3007"/> + <location filename="../src/Design/AFoil.cpp" line="3013"/> <source>TE XHinge</source> <translation>Position X articulation BF</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3008"/> + <location filename="../src/Design/AFoil.cpp" line="3014"/> <source>TE YHinge</source> <translation>Position Y articulation BF</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3009"/> + <location filename="../src/Design/AFoil.cpp" line="3015"/> <source>LE Flap (</source> <translation>Volet de bord d'attaque (</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3010"/> + <location filename="../src/Design/AFoil.cpp" line="3016"/> <source>LE XHinge</source> <translation>Position X articulation BA</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3011"/> + <location filename="../src/Design/AFoil.cpp" line="3017"/> <source>LE YHinge</source> <translation>Position Y articulation BA</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1238"/> + <location filename="../src/Design/AFoil.cpp" line="1244"/> <source>Foil has been de-rotated by %1 degrees</source> <translation>Le profil a été pivoté de %1 degrés</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1264"/> + <location filename="../src/Design/AFoil.cpp" line="1270"/> <source>Foil has been normalized from %1 to 1.000</source> <translation>Le profil a été normalisé de %1 à 1.000</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1603"/> + <location filename="../src/Design/AFoil.cpp" line="1609"/> <source>At least two foils are required</source> <translation>Il faut au moins deux profils</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1803"/> + <location filename="../src/Design/AFoil.cpp" line="1809"/> <source>Export Foil</source> <translation>Exporter le profil</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1805"/> + <location filename="../src/Design/AFoil.cpp" line="1811"/> <source>Foil File (*.dat)</source> <translation>Fichier de profil (*.dat)</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1823"/> + <location filename="../src/Design/AFoil.cpp" line="1829"/> <source>Spline Foil</source> <translation>Profile en spline</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1840"/> - <location filename="../src/Design/AFoil.cpp" line="1856"/> - <location filename="../src/Design/AFoil.cpp" line="2213"/> - <location filename="../src/Design/AFoil.cpp" line="2250"/> + <location filename="../src/Design/AFoil.cpp" line="1846"/> + <location filename="../src/Design/AFoil.cpp" line="1862"/> + <location filename="../src/Design/AFoil.cpp" line="2219"/> + <location filename="../src/Design/AFoil.cpp" line="2256"/> <source>Too many output points on upper surface Max =%1</source> <translation>Trop de points de sortie à la surface supérieure Max = %1</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1846"/> - <location filename="../src/Design/AFoil.cpp" line="1863"/> - <location filename="../src/Design/AFoil.cpp" line="2219"/> - <location filename="../src/Design/AFoil.cpp" line="2258"/> + <location filename="../src/Design/AFoil.cpp" line="1852"/> + <location filename="../src/Design/AFoil.cpp" line="1869"/> + <location filename="../src/Design/AFoil.cpp" line="2225"/> + <location filename="../src/Design/AFoil.cpp" line="2264"/> <source>Too many output points on lower surface Max =%1</source> <translation>Trop de point de sortie à la surface inférieure Max = %1</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1872"/> + <location filename="../src/Design/AFoil.cpp" line="1878"/> <source>Export Splines</source> <translation>Exporter les splines</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="1874"/> + <location filename="../src/Design/AFoil.cpp" line="1880"/> <source>Text File (*.dat)</source> <translation>fichier texte (*.dat)</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2634"/> + <location filename="../src/Design/AFoil.cpp" line="2640"/> <source>X-Scale = %1</source> <translation>Échelle X = %1</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2636"/> + <location filename="../src/Design/AFoil.cpp" line="2642"/> <source>Y-Scale = %1</source> <translation>Échelle Y = %1</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2638"/> + <location filename="../src/Design/AFoil.cpp" line="2644"/> <source>x = %1</source> <translation>x = %1</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2640"/> + <location filename="../src/Design/AFoil.cpp" line="2646"/> <source>y = %1</source> <translation>y = %1</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3012"/> + <location filename="../src/Design/AFoil.cpp" line="3018"/> <source>Show</source> <translation>Afficher</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3014"/> + <location filename="../src/Design/AFoil.cpp" line="3020"/> <source>Centerline</source> <translation>Courbure</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3015"/> + <location filename="../src/Design/AFoil.cpp" line="3021"/> <source>Style</source> <translation>Style</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3276"/> + <location filename="../src/Design/AFoil.cpp" line="3282"/> <source>Open Image File</source> <translation>Ouvrir un fichier image</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2117"/> - <location filename="../src/Design/AFoil.cpp" line="2131"/> + <location filename="../src/Design/AFoil.cpp" line="2123"/> + <location filename="../src/Design/AFoil.cpp" line="2137"/> <source>Question</source> <translation>Question</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="2117"/> - <location filename="../src/Design/AFoil.cpp" line="2131"/> + <location filename="../src/Design/AFoil.cpp" line="2123"/> + <location filename="../src/Design/AFoil.cpp" line="2137"/> <source>Discard changes to Splines ?</source> <translation>Abandonner les modifications des splines ?</translation> </message> <message> - <location filename="../src/Design/AFoil.cpp" line="3017"/> + <location filename="../src/Design/AFoil.cpp" line="3023"/> <source>Foils</source> <translation>Profils</translation> </message> @@ -6675,16 +6712,16 @@ <message> <location filename="../src/Miarex/Miarex.cpp" line="183"/> <location filename="../src/Miarex/Miarex.cpp" line="4079"/> - <location filename="../src/Miarex/Miarex.cpp" line="14880"/> - <location filename="../src/Miarex/Miarex.cpp" line="15012"/> + <location filename="../src/Miarex/Miarex.cpp" line="14481"/> + <location filename="../src/Miarex/Miarex.cpp" line="14617"/> <source>Cl</source> <translation>Cz</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14856"/> - <location filename="../src/Miarex/Miarex.cpp" line="14981"/> - <location filename="../src/Miarex/Miarex.cpp" line="14988"/> - <location filename="../src/Miarex/Miarex.cpp" line="15113"/> + <location filename="../src/Miarex/Miarex.cpp" line="14457"/> + <location filename="../src/Miarex/Miarex.cpp" line="14586"/> + <location filename="../src/Miarex/Miarex.cpp" line="14593"/> + <location filename="../src/Miarex/Miarex.cpp" line="14722"/> <source>Alpha</source> <translation>Alpha</translation> </message> @@ -6695,7 +6732,7 @@ </message> <message> <location filename="../src/Miarex/Miarex.cpp" line="195"/> - <location filename="../src/Miarex/Miarex.cpp" line="14192"/> + <location filename="../src/Miarex/Miarex.cpp" line="13768"/> <source>Cp</source> <translation>Cp</translation> </message> @@ -6712,28 +6749,28 @@ <translation>Imag/2.pi</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="765"/> - <location filename="../src/Miarex/Miarex.cpp" line="1102"/> - <location filename="../src/Miarex/Miarex.cpp" line="1196"/> - <location filename="../src/Miarex/Miarex.cpp" line="7675"/> - <location filename="../src/Miarex/Miarex.cpp" line="7680"/> - <location filename="../src/Miarex/Miarex.cpp" line="7728"/> - <location filename="../src/Miarex/Miarex.cpp" line="7735"/> - <location filename="../src/Miarex/Miarex.cpp" line="7752"/> - <location filename="../src/Miarex/Miarex.cpp" line="8386"/> - <location filename="../src/Miarex/Miarex.cpp" line="8510"/> - <location filename="../src/Miarex/Miarex.cpp" line="10072"/> - <location filename="../src/Miarex/Miarex.cpp" line="10094"/> - <location filename="../src/Miarex/Miarex.cpp" line="15139"/> - <location filename="../src/Miarex/Miarex.cpp" line="15149"/> - <location filename="../src/Miarex/Miarex.cpp" line="15154"/> - <location filename="../src/Miarex/Miarex.cpp" line="15171"/> - <location filename="../src/Miarex/Miarex.cpp" line="15192"/> + <location filename="../src/Miarex/Miarex.cpp" line="769"/> + <location filename="../src/Miarex/Miarex.cpp" line="1106"/> + <location filename="../src/Miarex/Miarex.cpp" line="1200"/> + <location filename="../src/Miarex/Miarex.cpp" line="7254"/> + <location filename="../src/Miarex/Miarex.cpp" line="7259"/> + <location filename="../src/Miarex/Miarex.cpp" line="7307"/> + <location filename="../src/Miarex/Miarex.cpp" line="7314"/> + <location filename="../src/Miarex/Miarex.cpp" line="7331"/> + <location filename="../src/Miarex/Miarex.cpp" line="7962"/> + <location filename="../src/Miarex/Miarex.cpp" line="8086"/> + <location filename="../src/Miarex/Miarex.cpp" line="9650"/> + <location filename="../src/Miarex/Miarex.cpp" line="9673"/> + <location filename="../src/Miarex/Miarex.cpp" line="14749"/> + <location filename="../src/Miarex/Miarex.cpp" line="14759"/> + <location filename="../src/Miarex/Miarex.cpp" line="14764"/> + <location filename="../src/Miarex/Miarex.cpp" line="14781"/> + <location filename="../src/Miarex/Miarex.cpp" line="14802"/> <source>Warning</source> <translation>Attention</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="1102"/> + <location filename="../src/Miarex/Miarex.cpp" line="1106"/> <source>Not enough memory to store the OpPoint </source> <translation>Mémoire insuffisante pour enregistrer l'OpPoint @@ -6788,8 +6825,8 @@ <translation>Cm du profil</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14871"/> - <location filename="../src/Miarex/Miarex.cpp" line="15003"/> + <location filename="../src/Miarex/Miarex.cpp" line="14472"/> + <location filename="../src/Miarex/Miarex.cpp" line="14608"/> <source>Cm</source> <translation>Cm</translation> </message> @@ -6819,56 +6856,56 @@ <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12067"/> + <location filename="../src/Miarex/Miarex.cpp" line="11653"/> <source>Point is out of the flight envelope</source> <translation>Le point se trouve en dehors de l'enveloppe de vol</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="5399"/> + <location filename="../src/Miarex/Miarex.cpp" line="5188"/> <source>Time =</source> <translation>Temps = </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9341"/> + <location filename="../src/Miarex/Miarex.cpp" line="8919"/> <source>Cl = </source> <translation>Cl = </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9343"/> + <location filename="../src/Miarex/Miarex.cpp" line="8921"/> <source>Cm =</source> <translation>Cm =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9346"/> + <location filename="../src/Miarex/Miarex.cpp" line="8924"/> <source>ICn = %1 PCn = %2 </source> <translation>ICn = %1 PCn = %2 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9347"/> + <location filename="../src/Miarex/Miarex.cpp" line="8925"/> <source>ICn=, %1,PCn=, %2 </source> <translation>ICn=, %1,PCn=, %2 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12061"/> + <location filename="../src/Miarex/Miarex.cpp" line="11647"/> <source>Alpha = %1 </source> <translation>Alpha = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12083"/> + <location filename="../src/Miarex/Miarex.cpp" line="11669"/> <source>Efficiency = %1 </source> <translation>Rendement = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12087"/> + <location filename="../src/Miarex/Miarex.cpp" line="11673"/> <source>Cl/Cd = %1 </source> <translation>Cz/Cx = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12091"/> + <location filename="../src/Miarex/Miarex.cpp" line="11677"/> <source>GCm = %1 </source> <translation>GCm = %1 </translation> </message> @@ -6885,129 +6922,129 @@ Il faut réduire le nombre de panneaux</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="7675"/> + <location filename="../src/Miarex/Miarex.cpp" line="7254"/> <source>Please define a wing or a plane object before running a calculation</source> <translation>Veuillez définir un objet aile ou avion avant de lancer un calcul</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="7680"/> + <location filename="../src/Miarex/Miarex.cpp" line="7259"/> <source>Please define an analysis/polar before running a calculation</source> <translation>Veuillez définir une analyse et une polaire avant de lancer un calcul</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="7727"/> - <location filename="../src/Miarex/Miarex.cpp" line="7734"/> + <location filename="../src/Miarex/Miarex.cpp" line="7306"/> + <location filename="../src/Miarex/Miarex.cpp" line="7313"/> <source>Could not find the wing's foil </source> <translation>Profil de l'aile introuvable</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="7727"/> - <location filename="../src/Miarex/Miarex.cpp" line="7734"/> + <location filename="../src/Miarex/Miarex.cpp" line="7306"/> + <location filename="../src/Miarex/Miarex.cpp" line="7313"/> <source>... Aborting Calculation</source> <translation>... Abandon des calculs</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="7751"/> + <location filename="../src/Miarex/Miarex.cpp" line="7330"/> <source>Control polars are not supported in XFLR5 v6. Please use stability polars instead.</source> <translation>Les polaires de contrôle ne sont plus maintenues dans la v6.\nUtiliser les polaires de stabilité à la place.</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8385"/> - <location filename="../src/Miarex/Miarex.cpp" line="8509"/> + <location filename="../src/Miarex/Miarex.cpp" line="7961"/> + <location filename="../src/Miarex/Miarex.cpp" line="8085"/> <source>The polar already exists</source> <translation>La polaire pré-existe</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8642"/> + <location filename="../src/Miarex/Miarex.cpp" line="8218"/> <source>Are you sure you want to delete the plane : </source> <translation>Êtes-vous certain de vouloir supprimer l'avion : </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8643"/> + <location filename="../src/Miarex/Miarex.cpp" line="8219"/> <source>Are you sure you want to delete the wing : </source> <translation>Êtes-vous certain de vouloir supprimer l'aile : </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8644"/> - <location filename="../src/Miarex/Miarex.cpp" line="8806"/> - <location filename="../src/Miarex/Miarex.cpp" line="8868"/> - <location filename="../src/Miarex/Miarex.cpp" line="10655"/> - <location filename="../src/Miarex/Miarex.cpp" line="13324"/> + <location filename="../src/Miarex/Miarex.cpp" line="8220"/> + <location filename="../src/Miarex/Miarex.cpp" line="8382"/> + <location filename="../src/Miarex/Miarex.cpp" line="8444"/> + <location filename="../src/Miarex/Miarex.cpp" line="10234"/> + <location filename="../src/Miarex/Miarex.cpp" line="12887"/> <source>Question</source> <translation>Question</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8867"/> + <location filename="../src/Miarex/Miarex.cpp" line="8443"/> <source>Are you sure you want to delete the polar : </source> <translation>Êtes-vous certain de vouloir supprimer la polaire : </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9017"/> + <location filename="../src/Miarex/Miarex.cpp" line="8593"/> <source>The modification will erase all results for the planes using this body. Continue ?</source> <translation>La modification va effacer tous les résultats pour les avions qui utilisent ce fuselage. Poursuivre néanmoins ?</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9171"/> + <location filename="../src/Miarex/Miarex.cpp" line="8748"/> <source>The modification will erase all results associated to this Wing. Continue ?</source> <translation>La modification va effacer tous les résultats associés à cette aile. Poursuivre néanmoins ?</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9275"/> + <location filename="../src/Miarex/Miarex.cpp" line="8853"/> <source>Export Wing OpPoint</source> <translation>Exporter l'OpPoint de l'aile</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9277"/> - <location filename="../src/Miarex/Miarex.cpp" line="9599"/> + <location filename="../src/Miarex/Miarex.cpp" line="8855"/> + <location filename="../src/Miarex/Miarex.cpp" line="9177"/> <source>Text File (*.txt);;Comma Separated Values (*.csv)</source> <translation>Fichier texte (*.txt), valeurs séparées par des virgules (*.csv)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9331"/> + <location filename="../src/Miarex/Miarex.cpp" line="8909"/> <source>Cd = %1 ICd = %2 PCd = %3 </source> <translation>Cx = %1 ICx = %2 PCx = %3 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9335"/> + <location filename="../src/Miarex/Miarex.cpp" line="8913"/> <source>Cd=,%1,ICd=, %2,PCd=, %3 </source> <translation>Cx=,%1,ICx=, %2,PCx=, %3 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9350"/> + <location filename="../src/Miarex/Miarex.cpp" line="8928"/> <source>XCP = %1 YCP = %2 </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9351"/> + <location filename="../src/Miarex/Miarex.cpp" line="8929"/> <source>XCP=, %1, YCP=, %2 </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9359"/> + <location filename="../src/Miarex/Miarex.cpp" line="8937"/> <source>Bend. =</source> <translation>Flexion =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9514"/> + <location filename="../src/Miarex/Miarex.cpp" line="9092"/> <source>Flap </source> <translation>Volet </translation> </message> @@ -7042,265 +7079,265 @@ <translation>Diagramme Cp</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="8805"/> + <location filename="../src/Miarex/Miarex.cpp" line="8381"/> <source>Are you sure you want to delete the polars associated to : </source> <translation>Êtes-vous certain de vouloir supprimer les polaires associées à : </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9354"/> + <location filename="../src/Miarex/Miarex.cpp" line="8932"/> <source>XNP = %1 </source> <translation>XNP = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9355"/> + <location filename="../src/Miarex/Miarex.cpp" line="8933"/> <source>XNP=, %1 </source> <translation>XNP=, %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9526"/> + <location filename="../src/Miarex/Miarex.cpp" line="9104"/> <source>Main Wing Cp Coefficients </source> <translation>Coefficients Cp de l'aile principale </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9527"/> + <location filename="../src/Miarex/Miarex.cpp" line="9105"/> <source>Wing Cp Coefficients </source> <translation>Coefficients Cp de l'aile </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9534"/> + <location filename="../src/Miarex/Miarex.cpp" line="9112"/> <source> Panel CtrlPt.x CtrlPt.y CtrlPt.z Cp </source> <translation> Panneau CtrlPt.x CtrlPt.y CtrlPt.z Cp </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9535"/> + <location filename="../src/Miarex/Miarex.cpp" line="9113"/> <source>Panel,CtrlPt.x,CtrlPt.y,CtrlPt.z,Cp </source> <translation>Panneau,CtrlPt.x,CtrlPt.y,CtrlPt.z,Cp </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9545"/> + <location filename="../src/Miarex/Miarex.cpp" line="9123"/> <source>Cp Coefficients</source> <translation>Coefficients Cp</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9555"/> + <location filename="../src/Miarex/Miarex.cpp" line="9133"/> <source>Strip %1 </source> <translation>Bande %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9597"/> + <location filename="../src/Miarex/Miarex.cpp" line="9175"/> <source>Export Polar</source> <translation>Exporter la polaire</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9634"/> + <location filename="../src/Miarex/Miarex.cpp" line="9212"/> <source>Export UFO</source> <translation>Exporter l'OVNI</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9636"/> + <location filename="../src/Miarex/Miarex.cpp" line="9214"/> <source>AVL Text File (*.avl)</source> <translation>Fichier texte AVL (*.avl)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="9652"/> + <location filename="../src/Miarex/Miarex.cpp" line="9229"/> <source>Project</source> <translation>Projet</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10061"/> + <location filename="../src/Miarex/Miarex.cpp" line="9639"/> <source>Open File</source> <translation>Ouvrir le fichier</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10063"/> + <location filename="../src/Miarex/Miarex.cpp" line="9641"/> <source>UFO Polar Format (*.*)</source> <translation>Format de polaire d'OVNI (*.*)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10071"/> + <location filename="../src/Miarex/Miarex.cpp" line="9649"/> <source>Could not read the file </source> <translation>Impossible de lire le fichier </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10091"/> + <location filename="../src/Miarex/Miarex.cpp" line="9670"/> <source>No UFO with the name </source> <translation>Aucun OVNI portant ce nom</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10092"/> + <location filename="../src/Miarex/Miarex.cpp" line="9671"/> <source> could be found. The polar(s) will not be stored</source> <translation> n'a pu être trouvé. Les polaires ne seront pas enregistrées</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10488"/> + <location filename="../src/Miarex/Miarex.cpp" line="10067"/> <source>Enter the new name for the wing polar :</source> <translation>Enter le nouveau nom pour la polaire de l'aile :</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="10654"/> + <location filename="../src/Miarex/Miarex.cpp" line="10233"/> <source>Are you sure you want to reset the content of the polar : </source> <translation>Êtes-vous certain de vouloir réinitialiser le contenu de la polaire : </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11726"/> - <location filename="../src/Miarex/Miarex.cpp" line="11932"/> - <location filename="../src/Miarex/Miarex.cpp" line="12038"/> + <location filename="../src/Miarex/Miarex.cpp" line="11312"/> + <location filename="../src/Miarex/Miarex.cpp" line="11518"/> + <location filename="../src/Miarex/Miarex.cpp" line="11624"/> <source>abcdefghijklmnopqrstuvwxyz012345678</source> <translation>abcdefghijklmnopqrstuvwxyz012345678</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12042"/> + <location filename="../src/Miarex/Miarex.cpp" line="11628"/> <source>abcdefghijklmnopqrstuvwxyz01234567</source> <translation>abcdefghijklmnopqrstuvwxyz01234567</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12053"/> - <location filename="../src/Miarex/Miarex.cpp" line="12054"/> - <location filename="../src/Miarex/Miarex.cpp" line="12055"/> + <location filename="../src/Miarex/Miarex.cpp" line="11639"/> + <location filename="../src/Miarex/Miarex.cpp" line="11640"/> + <location filename="../src/Miarex/Miarex.cpp" line="11641"/> <source>V = %1 </source> <translation>V = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12056"/> + <location filename="../src/Miarex/Miarex.cpp" line="11642"/> <source>No unit defined for speed...</source> <translation>Pas d'unité définie pour la vitesse...</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12072"/> + <location filename="../src/Miarex/Miarex.cpp" line="11658"/> <source>Lift Coef. = %1 </source> <translation>Coef. de portance. = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12077"/> + <location filename="../src/Miarex/Miarex.cpp" line="11663"/> <source>Drag Coef. = %1 </source> <translation>Coef. de traînée. = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12096"/> + <location filename="../src/Miarex/Miarex.cpp" line="11682"/> <source>Rolling Moment Coef. = %1 </source> <translation>Coef. de moment de roulis = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12101"/> + <location filename="../src/Miarex/Miarex.cpp" line="11687"/> <source>Induced Moment Coef = %1 </source> <translation>Coef. de moment induit = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12105"/> + <location filename="../src/Miarex/Miarex.cpp" line="11691"/> <source>Profile Yawing Moment = %1 </source> <translation>Moment de lacet du profil = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12135"/> + <location filename="../src/Miarex/Miarex.cpp" line="11721"/> <source>Flap %1 Moment =%2</source> <translation>Moment du volet %1 = %2</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12195"/> + <location filename="../src/Miarex/Miarex.cpp" line="11781"/> <source>Top transition</source> <translation>Transition supérieure</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12223"/> + <location filename="../src/Miarex/Miarex.cpp" line="11809"/> <source>Bottom transition</source> <translation>Transition inférieure</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12281"/> + <location filename="../src/Miarex/Miarex.cpp" line="11867"/> <source>Centre of Pressure</source> <translation>Centre de pression</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12314"/> + <location filename="../src/Miarex/Miarex.cpp" line="11900"/> <source>Moment ref. location</source> <translation>Emplacement du centre de gravité</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="13249"/> + <location filename="../src/Miarex/Miarex.cpp" line="12812"/> <source>Enter the new name for the Body :</source> <translation>Entrez un nouveau nom pour le fuselage :</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="13323"/> + <location filename="../src/Miarex/Miarex.cpp" line="12886"/> <source>The body </source> <translation>Le fuselage</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="13323"/> + <location filename="../src/Miarex/Miarex.cpp" line="12886"/> <source> is used by one or more planes. Overwrite anyway ? (Results will be lost)</source> <translation> est utilisé par au moins un modèle. L'écraser cependant ? (Les résultats seront perdus)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="13403"/> + <location filename="../src/Miarex/Miarex.cpp" line="12966"/> <source>Enter the new name for the Plane :</source> <translation>Entrer un nouveau nom pour l'avion :</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="13617"/> + <location filename="../src/Miarex/Miarex.cpp" line="13181"/> <source>Enter the new name for the wing :</source> <translation>Entrez un nouveau nom pour l'aile : </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14131"/> + <location filename="../src/Miarex/Miarex.cpp" line="13701"/> <source>Sequence</source> <translation>Séquence</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14133"/> + <location filename="../src/Miarex/Miarex.cpp" line="13704"/> <source>Start=</source> <translation>Départ=</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14134"/> + <location filename="../src/Miarex/Miarex.cpp" line="13705"/> <source>End=</source> <translation>Fin=</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14135"/> + <location filename="../src/Miarex/Miarex.cpp" line="13706"/> <source>D=</source> <translation>D=</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14164"/> + <location filename="../src/Miarex/Miarex.cpp" line="13737"/> <source>Init LLT</source> <translation>Initialisation LLT</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14165"/> + <location filename="../src/Miarex/Miarex.cpp" line="13738"/> <source>Store OpPoint</source> <translation>Enregistrer l'OpPoint</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14166"/> + <location filename="../src/Miarex/Miarex.cpp" line="13743"/> <source>Analyze</source> <translation>Analyser</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14179"/> + <location filename="../src/Miarex/Miarex.cpp" line="13697"/> <source>Analysis settings</source> <translation>Paramètres d'analyse</translation> </message> @@ -7309,216 +7346,252 @@ <translation type="obsolete">1/2 aile</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14186"/> + <location filename="../src/Miarex/Miarex.cpp" line="13762"/> <source>Lift</source> <translation>Portance</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14187"/> + <location filename="../src/Miarex/Miarex.cpp" line="13763"/> <source>Ind. Drag</source> <translation>Traînée induite</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14188"/> + <location filename="../src/Miarex/Miarex.cpp" line="13764"/> <source>Visc. Drag</source> <translation>Traînée visq.</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14189"/> + <location filename="../src/Miarex/Miarex.cpp" line="13765"/> <source>Trans.</source> <translation>Transition</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14190"/> + <location filename="../src/Miarex/Miarex.cpp" line="13766"/> <source>Moment</source> <translation>Moment</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14191"/> + <location filename="../src/Miarex/Miarex.cpp" line="13767"/> <source>Downw.</source> <translation>Déflexion</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14193"/> + <location filename="../src/Miarex/Miarex.cpp" line="13769"/> <source>Surf. Vel.</source> <translation>Vitesse en surf.</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14194"/> + <location filename="../src/Miarex/Miarex.cpp" line="13770"/> <source>Stream</source> <translation>Lignes de courant</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14195"/> + <location filename="../src/Miarex/Miarex.cpp" line="13771"/> <source>Animate</source> <translation>Animer</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14355"/> + <location filename="../src/Miarex/Miarex.cpp" line="13897"/> <source>Display</source> <translation>Afficher</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14221"/> + <location filename="../src/Miarex/Miarex.cpp" line="13798"/> <source>Polar properties</source> <translation>Propriétés de la polaire</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14232"/> + <location filename="../src/Miarex/Miarex.cpp" line="13816"/> <source>Curve</source> <translation>Courbe</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14233"/> + <location filename="../src/Miarex/Miarex.cpp" line="13817"/> <source>Points</source> <translation>Points</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14241"/> - <location filename="../src/Miarex/Miarex.cpp" line="14242"/> + <location filename="../src/Miarex/Miarex.cpp" line="13825"/> + <location filename="../src/Miarex/Miarex.cpp" line="13826"/> <source>item</source> <translation>Élément</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14254"/> + <location filename="../src/Miarex/Miarex.cpp" line="13841"/> <source>Style</source> <translation>Style</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14255"/> + <location filename="../src/Miarex/Miarex.cpp" line="13842"/> <source>Width</source> <translation>Largeur</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14256"/> + <location filename="../src/Miarex/Miarex.cpp" line="13843"/> <source>Color</source> <translation>Couleur</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14271"/> + <location filename="../src/Miarex/Miarex.cpp" line="13812"/> <source>Curve settings</source> <translation>Paramètres de la courbe</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14283"/> + <location filename="../src/Miarex/Miarex.cpp" line="13875"/> <source>Span Position</source> <translation>Position sur l'envergure</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14288"/> + <location filename="../src/Miarex/Miarex.cpp" line="13882"/> <source>Keep</source> <translation>Conserver</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14289"/> - <location filename="../src/Miarex/Miarex.cpp" line="14334"/> + <location filename="../src/Miarex/Miarex.cpp" line="13883"/> + <location filename="../src/Miarex/Miarex.cpp" line="13935"/> <source>Reset</source> <translation>Réinitialiser</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14296"/> + <location filename="../src/Miarex/Miarex.cpp" line="13863"/> <source>Cp Sections</source> <translation>Sections Cp</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14333"/> + <location filename="../src/Miarex/Miarex.cpp" line="13934"/> <source>Activate the button, then click on the object to center it in the viewport; alternatively, double click on the object</source> <translation>Activer le bouton, cliquer ensuitre sur l’objet pour le centrer dans la vue ; vous pouvez aussi faire un double-clic sur l’objet</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14862"/> - <location filename="../src/Miarex/Miarex.cpp" line="14994"/> + <location filename="../src/Miarex/Miarex.cpp" line="14463"/> + <location filename="../src/Miarex/Miarex.cpp" line="14599"/> <source>VCD</source> <translation>VCD</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14865"/> - <location filename="../src/Miarex/Miarex.cpp" line="14997"/> + <location filename="../src/Miarex/Miarex.cpp" line="14466"/> + <location filename="../src/Miarex/Miarex.cpp" line="14602"/> <source>ICD</source> <translation>ICD</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14868"/> - <location filename="../src/Miarex/Miarex.cpp" line="15000"/> + <location filename="../src/Miarex/Miarex.cpp" line="14469"/> + <location filename="../src/Miarex/Miarex.cpp" line="14605"/> <source>CD</source> <translation>CD</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14883"/> - <location filename="../src/Miarex/Miarex.cpp" line="15015"/> + <location filename="../src/Miarex/Miarex.cpp" line="14484"/> + <location filename="../src/Miarex/Miarex.cpp" line="14620"/> <source>Cn</source> <translation>Cn</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14886"/> - <location filename="../src/Miarex/Miarex.cpp" line="15018"/> + <location filename="../src/Miarex/Miarex.cpp" line="14487"/> + <location filename="../src/Miarex/Miarex.cpp" line="14623"/> <source>VCn</source> <translation>VCn</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14889"/> - <location filename="../src/Miarex/Miarex.cpp" line="15021"/> + <location filename="../src/Miarex/Miarex.cpp" line="14490"/> + <location filename="../src/Miarex/Miarex.cpp" line="14626"/> <source>ICn</source> <translation>ICn</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14892"/> - <location filename="../src/Miarex/Miarex.cpp" line="15024"/> + <location filename="../src/Miarex/Miarex.cpp" line="14493"/> + <location filename="../src/Miarex/Miarex.cpp" line="14629"/> <source>CL/CD</source> <translation>CZ/CX</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14895"/> - <location filename="../src/Miarex/Miarex.cpp" line="15027"/> + <location filename="../src/Miarex/Miarex.cpp" line="14496"/> + <location filename="../src/Miarex/Miarex.cpp" line="14632"/> <source>CL^(3/2)/CD</source> <translation>CZ^(3/2)/CX</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14898"/> - <location filename="../src/Miarex/Miarex.cpp" line="15030"/> + <location filename="../src/Miarex/Miarex.cpp" line="14499"/> + <location filename="../src/Miarex/Miarex.cpp" line="14635"/> <source>1/Rt(CL)</source> <translation>1/Rt(CZ)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14921"/> - <location filename="../src/Miarex/Miarex.cpp" line="15053"/> + <location filename="../src/Miarex/Miarex.cpp" line="14502"/> + <location filename="../src/Miarex/Miarex.cpp" line="14638"/> + <source>Fx (N)</source> + <translation></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14503"/> + <location filename="../src/Miarex/Miarex.cpp" line="14639"/> + <source>Fx (lbf)</source> + <translation></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14506"/> + <location filename="../src/Miarex/Miarex.cpp" line="14642"/> + <source>Fy (N)</source> + <translation></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14507"/> + <location filename="../src/Miarex/Miarex.cpp" line="14643"/> + <source>Fy (lbf)</source> + <translation></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14510"/> + <location filename="../src/Miarex/Miarex.cpp" line="14646"/> + <source>Fz (N)</source> + <translation></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14511"/> + <location filename="../src/Miarex/Miarex.cpp" line="14647"/> + <source>Fz (lbf)</source> + <translation></translation> + </message> + <message> + <location filename="../src/Miarex/Miarex.cpp" line="14526"/> + <location filename="../src/Miarex/Miarex.cpp" line="14662"/> <source>Pitching Moment</source> <translation>Moment de tangage</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14924"/> - <location filename="../src/Miarex/Miarex.cpp" line="15056"/> + <location filename="../src/Miarex/Miarex.cpp" line="14529"/> + <location filename="../src/Miarex/Miarex.cpp" line="14665"/> <source>Rolling Moment</source> <translation>Moment de roulis</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14927"/> - <location filename="../src/Miarex/Miarex.cpp" line="15059"/> + <location filename="../src/Miarex/Miarex.cpp" line="14532"/> + <location filename="../src/Miarex/Miarex.cpp" line="14668"/> <source>Yawing Moment</source> <translation>Moment de lacet</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11947"/> + <location filename="../src/Miarex/Miarex.cpp" line="11533"/> <source>Wing Span =</source> <translation>Envergure =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="1507"/> + <location filename="../src/Miarex/Miarex.cpp" line="1510"/> <source>Current Plane</source> <translation>Avion actif</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="1508"/> + <location filename="../src/Miarex/Miarex.cpp" line="1511"/> <source>Current Wing</source> <translation>Aile active</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="1509"/> + <location filename="../src/Miarex/Miarex.cpp" line="1512"/> <source>Current Object</source> <translation>Objet actif</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="5721"/> + <location filename="../src/Miarex/Miarex.cpp" line="5349"/> <source>The total number of panels is %1. The Max Number is %2. A reduction of the number of panels is required</source> <translation>Le nombre total de panneaux es %1. Le nombre maximum est %2. @@ -7530,322 +7603,314 @@ <translation type="obsolete">Coefficients Cp</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11490"/> + <location filename="../src/Miarex/Miarex.cpp" line="11075"/> <source>The modification will erase all polar results associated to this Plane. Continue ?</source> <translation>Cette modification va effacer tous les résultats des polaires associés à cet avion. Faut-il poursuivre cependant ?</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11952"/> + <location filename="../src/Miarex/Miarex.cpp" line="11538"/> <source>xyProj. Span =</source> <translation>Envergure projetée =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11957"/> + <location filename="../src/Miarex/Miarex.cpp" line="11543"/> <source>Wing Area =</source> <translation>Aire de l'aile =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11962"/> + <location filename="../src/Miarex/Miarex.cpp" line="11548"/> <source>xyProj. Area =</source> <translation>Aire projetée =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11976"/> + <location filename="../src/Miarex/Miarex.cpp" line="11562"/> <source>Plane Mass =</source> <translation>Masse de l’appareil =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11982"/> + <location filename="../src/Miarex/Miarex.cpp" line="11568"/> <source>Wing Load =</source> <translation>Charge ailaire =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11990"/> + <location filename="../src/Miarex/Miarex.cpp" line="11576"/> <source>Tail Volume =</source> <translation>Volume de stab =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="11995"/> + <location filename="../src/Miarex/Miarex.cpp" line="11581"/> <source>Root Chord =</source> <translation>Corde d'emplanture =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12000"/> + <location filename="../src/Miarex/Miarex.cpp" line="11586"/> <source>MAC =</source> <translation>C.A.M. =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12005"/> + <location filename="../src/Miarex/Miarex.cpp" line="11591"/> <source>TipTwist =</source> <translation>Vrillage au saumon =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12009"/> + <location filename="../src/Miarex/Miarex.cpp" line="11595"/> <source>Aspect Ratio =</source> <translation>Allongement =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12013"/> + <location filename="../src/Miarex/Miarex.cpp" line="11599"/> <source>Taper Ratio =</source> <translation>Effilement =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12017"/> + <location filename="../src/Miarex/Miarex.cpp" line="11603"/> <source>Root-Tip Sweep =</source> <translation>Flèche moyenne =</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14184"/> + <location filename="../src/Miarex/Miarex.cpp" line="13760"/> <source>Panel Forces</source> <translation>Forces sur panneaux</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14185"/> + <location filename="../src/Miarex/Miarex.cpp" line="13761"/> <source>Display the force 1/2.rho.V2.S.Cp acting on the panel</source> <translation>Visualiser la force 1/2.rho.V2.S.Cp agissant sur le panneau</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14218"/> + <location filename="../src/Miarex/Miarex.cpp" line="13756"/> <source>Results</source> <translation>Résultats</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14303"/> + <location filename="../src/Miarex/Miarex.cpp" line="13903"/> <source>Axes</source> <translation>Axes</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14304"/> + <location filename="../src/Miarex/Miarex.cpp" line="13904"/> <source>Light</source> <translation>Éclairage</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14305"/> + <location filename="../src/Miarex/Miarex.cpp" line="13905"/> <source>Surfaces</source> <translation>Surfaces</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14306"/> + <location filename="../src/Miarex/Miarex.cpp" line="13906"/> <source>Outline</source> <translation>Contour</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14307"/> + <location filename="../src/Miarex/Miarex.cpp" line="13907"/> <source>Panels</source> <translation>Panneaux</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14308"/> + <location filename="../src/Miarex/Miarex.cpp" line="13908"/> <source>Foil Names</source> <translation>Nom des profils</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14309"/> + <location filename="../src/Miarex/Miarex.cpp" line="13909"/> <source>Vortices</source> <translation>Tourbillons</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14310"/> + <location filename="../src/Miarex/Miarex.cpp" line="13910"/> <source>Masses</source> <translation>Masses</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14332"/> + <location filename="../src/Miarex/Miarex.cpp" line="13933"/> <source>Pick Center</source> <translation>Choisir le centre</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14341"/> + <location filename="../src/Miarex/Miarex.cpp" line="13944"/> <source>Clip:</source> <translation>Tronquer :</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14859"/> - <location filename="../src/Miarex/Miarex.cpp" line="14991"/> + <location filename="../src/Miarex/Miarex.cpp" line="14460"/> + <location filename="../src/Miarex/Miarex.cpp" line="14596"/> <source>CL</source> <translation>CZ</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14874"/> - <location filename="../src/Miarex/Miarex.cpp" line="15006"/> + <location filename="../src/Miarex/Miarex.cpp" line="14475"/> + <location filename="../src/Miarex/Miarex.cpp" line="14611"/> <source>VCm</source> <translation>VCm</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14877"/> - <location filename="../src/Miarex/Miarex.cpp" line="15009"/> + <location filename="../src/Miarex/Miarex.cpp" line="14478"/> + <location filename="../src/Miarex/Miarex.cpp" line="14614"/> <source>ICm</source> <translation>ICm</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14901"/> - <location filename="../src/Miarex/Miarex.cpp" line="15033"/> <source>Lift (N)</source> - <translation>Portance (N)</translation> + <translation type="obsolete">Portance (N)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14902"/> - <location filename="../src/Miarex/Miarex.cpp" line="15034"/> <source>Lift (lbf)</source> - <translation>Portance (lbf)</translation> + <translation type="obsolete">Portance (lbf)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14905"/> - <location filename="../src/Miarex/Miarex.cpp" line="15037"/> <source>Drag (N)</source> - <translation>Traînée (N)</translation> + <translation type="obsolete">Traînée (N)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14906"/> - <location filename="../src/Miarex/Miarex.cpp" line="15038"/> <source>Drag (lbf)</source> - <translation>Traînée (lbf)</translation> + <translation type="obsolete">Traînée (lbf)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14909"/> - <location filename="../src/Miarex/Miarex.cpp" line="15041"/> + <location filename="../src/Miarex/Miarex.cpp" line="14514"/> + <location filename="../src/Miarex/Miarex.cpp" line="14650"/> <source>Vx </source> <translation>Vx </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14912"/> - <location filename="../src/Miarex/Miarex.cpp" line="15044"/> + <location filename="../src/Miarex/Miarex.cpp" line="14517"/> + <location filename="../src/Miarex/Miarex.cpp" line="14653"/> <source>Vz </source> <translation>Vz </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14915"/> - <location filename="../src/Miarex/Miarex.cpp" line="15047"/> + <location filename="../src/Miarex/Miarex.cpp" line="14520"/> + <location filename="../src/Miarex/Miarex.cpp" line="14656"/> <source>V </source> <translation>V </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14918"/> - <location filename="../src/Miarex/Miarex.cpp" line="15050"/> + <location filename="../src/Miarex/Miarex.cpp" line="14523"/> + <location filename="../src/Miarex/Miarex.cpp" line="14659"/> <source>Gamma</source> <translation>Gamma</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14930"/> - <location filename="../src/Miarex/Miarex.cpp" line="15062"/> + <location filename="../src/Miarex/Miarex.cpp" line="14535"/> + <location filename="../src/Miarex/Miarex.cpp" line="14671"/> <source>XCP </source> <translation>XCP </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14933"/> - <location filename="../src/Miarex/Miarex.cpp" line="15065"/> + <location filename="../src/Miarex/Miarex.cpp" line="14538"/> + <location filename="../src/Miarex/Miarex.cpp" line="14674"/> <source>YCP </source> <translation>YCP </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14936"/> - <location filename="../src/Miarex/Miarex.cpp" line="15068"/> + <location filename="../src/Miarex/Miarex.cpp" line="14541"/> + <location filename="../src/Miarex/Miarex.cpp" line="14677"/> <source>BM </source> <translation>BM </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14939"/> - <location filename="../src/Miarex/Miarex.cpp" line="15071"/> + <location filename="../src/Miarex/Miarex.cpp" line="14544"/> + <location filename="../src/Miarex/Miarex.cpp" line="14680"/> <source>m.g.Vz (W)</source> <translation>m.g.Vz (W)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14942"/> - <location filename="../src/Miarex/Miarex.cpp" line="15074"/> + <location filename="../src/Miarex/Miarex.cpp" line="14547"/> + <location filename="../src/Miarex/Miarex.cpp" line="14683"/> <source>Efficiency</source> <translation>Rendement</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14945"/> - <location filename="../src/Miarex/Miarex.cpp" line="15077"/> + <location filename="../src/Miarex/Miarex.cpp" line="14550"/> + <location filename="../src/Miarex/Miarex.cpp" line="14686"/> <source>(XCp-XCG)/MAC(%)</source> <translation>(XCp-XCG)/CAM(%)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14948"/> - <location filename="../src/Miarex/Miarex.cpp" line="15080"/> + <location filename="../src/Miarex/Miarex.cpp" line="14553"/> + <location filename="../src/Miarex/Miarex.cpp" line="14689"/> <source>ctrl</source> <translation>ctrl</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14951"/> - <location filename="../src/Miarex/Miarex.cpp" line="15083"/> + <location filename="../src/Miarex/Miarex.cpp" line="14556"/> + <location filename="../src/Miarex/Miarex.cpp" line="14692"/> <source>CY</source> <translation>CY</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14954"/> - <location filename="../src/Miarex/Miarex.cpp" line="15086"/> + <location filename="../src/Miarex/Miarex.cpp" line="14559"/> + <location filename="../src/Miarex/Miarex.cpp" line="14695"/> <source>XNP</source> <translation>XNP</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14957"/> - <location filename="../src/Miarex/Miarex.cpp" line="15089"/> + <location filename="../src/Miarex/Miarex.cpp" line="14562"/> + <location filename="../src/Miarex/Miarex.cpp" line="14698"/> <source>Ph. Freq(Hz)</source> <translation>Fréq Ph. (Hz)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14960"/> - <location filename="../src/Miarex/Miarex.cpp" line="15092"/> + <location filename="../src/Miarex/Miarex.cpp" line="14565"/> + <location filename="../src/Miarex/Miarex.cpp" line="14701"/> <source>Ph. Damping</source> <translation>Amortiss. Ph.</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14963"/> - <location filename="../src/Miarex/Miarex.cpp" line="15095"/> + <location filename="../src/Miarex/Miarex.cpp" line="14568"/> + <location filename="../src/Miarex/Miarex.cpp" line="14704"/> <source>SP Freq (Hz)</source> <translation>Fréqu. mode d'incidence (Hz)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14966"/> - <location filename="../src/Miarex/Miarex.cpp" line="15098"/> + <location filename="../src/Miarex/Miarex.cpp" line="14571"/> + <location filename="../src/Miarex/Miarex.cpp" line="14707"/> <source>SP Damping</source> <translation>Amortis. mode d'incidence</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14969"/> - <location filename="../src/Miarex/Miarex.cpp" line="15101"/> + <location filename="../src/Miarex/Miarex.cpp" line="14574"/> + <location filename="../src/Miarex/Miarex.cpp" line="14710"/> <source>DR Freq(Hz)</source> <translation>Fréq. roulis hol. (Hz)</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14972"/> - <location filename="../src/Miarex/Miarex.cpp" line="15104"/> + <location filename="../src/Miarex/Miarex.cpp" line="14577"/> + <location filename="../src/Miarex/Miarex.cpp" line="14713"/> <source>DR Damping</source> <translation>Amort. roulis hol.</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14975"/> - <location filename="../src/Miarex/Miarex.cpp" line="15107"/> + <location filename="../src/Miarex/Miarex.cpp" line="14580"/> + <location filename="../src/Miarex/Miarex.cpp" line="14716"/> <source>Roll Damping</source> <translation>Amort. mode roulis</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="14978"/> - <location filename="../src/Miarex/Miarex.cpp" line="15110"/> + <location filename="../src/Miarex/Miarex.cpp" line="14583"/> + <location filename="../src/Miarex/Miarex.cpp" line="14719"/> <source>Spiral Damping</source> <translation>Amortis. mode spirale</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="15139"/> + <location filename="../src/Miarex/Miarex.cpp" line="14749"/> <source>OpenGL color format is not recognized... Sorry</source> <translation>Les formats de couleur OpenGL ne sont pas reconnus... Désolé</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="15149"/> + <location filename="../src/Miarex/Miarex.cpp" line="14759"/> <source>Cannot (yet ?) save 8 bit depth opengl screen images... Sorry</source> <translation>Il n'est pas (encore) possible d'enregistrer des recopies d'écran opengl sur 8 bits. Désolé...</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="15154"/> + <location filename="../src/Miarex/Miarex.cpp" line="14764"/> <source>Cannot (yet ?) save 16 bit depth opengl screen images... Sorry</source> <translation>Il n'est pas (encore) possible d'enregistrer des recopies d'écran opengl sur 16 bits. Désolé...</translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="15171"/> + <location filename="../src/Miarex/Miarex.cpp" line="14781"/> <source>Unidentified bit depth... Sorry</source> <translation>Profondeur de bits non identifiée. Désolé....</translation> </message> @@ -7853,142 +7918,142 @@ <context> <name>QObject</name> <message> - <location filename="../src/Objects/OpPoint.cpp" line="239"/> + <location filename="../src/Objects/OpPoint.cpp" line="245"/> <location filename="../src/XDirect/ReListDlg.cpp" line="57"/> <source>Re</source> <translation>Re</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="245"/> + <location filename="../src/Objects/OpPoint.cpp" line="251"/> <location filename="../src/XDirect/ReListDlg.cpp" line="58"/> <source>Mach</source> <translation>Mach</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="251"/> + <location filename="../src/Objects/OpPoint.cpp" line="257"/> <location filename="../src/Objects/WOpp.cpp" line="649"/> <source>CL</source> <translation>CZ</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="254"/> + <location filename="../src/Objects/OpPoint.cpp" line="260"/> <location filename="../src/Objects/WOpp.cpp" line="651"/> <source>CD</source> <translation>CX</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="257"/> + <location filename="../src/Objects/OpPoint.cpp" line="263"/> <location filename="../src/Objects/WOpp.cpp" line="665"/> <source>Cm</source> <translation>Cm</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="260"/> + <location filename="../src/Objects/OpPoint.cpp" line="266"/> <source>Cdp</source> <translation>Cxp</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="263"/> + <location filename="../src/Objects/OpPoint.cpp" line="269"/> <source>Cpmn</source> <translation></translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="266"/> + <location filename="../src/Objects/OpPoint.cpp" line="272"/> <location filename="../src/Objects/WOpp.cpp" line="644"/> <source>XCP</source> <translation>XCP</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="269"/> + <location filename="../src/Objects/OpPoint.cpp" line="275"/> <source>Top Transition</source> <translation>Transition sup.</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="272"/> + <location filename="../src/Objects/OpPoint.cpp" line="278"/> <source>Bot Transition</source> <translation>Transition inf.</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="277"/> + <location filename="../src/Objects/OpPoint.cpp" line="283"/> <source>T.E. Flap moment</source> <translation>Moment de volet de bord de fuite</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="282"/> + <location filename="../src/Objects/OpPoint.cpp" line="288"/> <source>L.E. Flap moment</source> <translation>Moment de volet de bord d’attaque</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="734"/> + <location filename="../src/Objects/Polar.cpp" line="738"/> <location filename="../src/Objects/WOpp.cpp" line="603"/> - <location filename="../src/Objects/WPolar.cpp" line="1893"/> + <location filename="../src/Objects/WPolar.cpp" line="1931"/> <source>Type</source> <translation>Type</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="735"/> + <location filename="../src/Objects/Polar.cpp" line="739"/> <location filename="../src/Objects/WOpp.cpp" line="604"/> - <location filename="../src/Objects/WPolar.cpp" line="1894"/> + <location filename="../src/Objects/WPolar.cpp" line="1932"/> <source>Fixed speed</source> <translation>Vitesse fixée</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="736"/> + <location filename="../src/Objects/Polar.cpp" line="740"/> <location filename="../src/Objects/WOpp.cpp" line="605"/> - <location filename="../src/Objects/WPolar.cpp" line="1895"/> + <location filename="../src/Objects/WPolar.cpp" line="1933"/> <source>Fixed lift</source> <translation>Portance fixée</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="737"/> + <location filename="../src/Objects/Polar.cpp" line="741"/> <location filename="../src/Objects/WOpp.cpp" line="606"/> - <location filename="../src/Objects/WPolar.cpp" line="1896"/> + <location filename="../src/Objects/WPolar.cpp" line="1934"/> <source>Fixed angle of attack</source> <translation>Angle d'attaque fixé</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="742"/> + <location filename="../src/Objects/Polar.cpp" line="746"/> <source>Reynolds number</source> <translation>Nombre de Reynolds</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="744"/> - <location filename="../src/Objects/Polar.cpp" line="758"/> - <location filename="../src/Objects/Polar.cpp" line="765"/> + <location filename="../src/Objects/Polar.cpp" line="748"/> + <location filename="../src/Objects/Polar.cpp" line="762"/> + <location filename="../src/Objects/Polar.cpp" line="769"/> <source>Mach number</source> <translation>Nombre de Mach</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="756"/> + <location filename="../src/Objects/Polar.cpp" line="760"/> <source>Re.Cl</source> <translation>Re.Cz</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="242"/> - <location filename="../src/Objects/Polar.cpp" line="763"/> + <location filename="../src/Objects/OpPoint.cpp" line="248"/> + <location filename="../src/Objects/Polar.cpp" line="767"/> <location filename="../src/Objects/WOpp.cpp" line="625"/> <source>Alpha</source> <translation>Alpha</translation> </message> <message> - <location filename="../src/Objects/OpPoint.cpp" line="248"/> - <location filename="../src/Objects/Polar.cpp" line="770"/> + <location filename="../src/Objects/OpPoint.cpp" line="254"/> + <location filename="../src/Objects/Polar.cpp" line="774"/> <location filename="../src/XDirect/ReListDlg.cpp" line="59"/> <source>NCrit</source> <translation>NCrit</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="773"/> + <location filename="../src/Objects/Polar.cpp" line="777"/> <source>Forced top trans.</source> <translation>Position de transition forcée sur extrados</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="776"/> + <location filename="../src/Objects/Polar.cpp" line="780"/> <source>Forced bottom trans.</source> <translation>Position de transition forcée sur intrados</translation> </message> <message> - <location filename="../src/Objects/Polar.cpp" line="779"/> + <location filename="../src/Objects/Polar.cpp" line="783"/> <source>Number of data points</source> <translation>Nombre de points</translation> </message> @@ -8029,42 +8094,42 @@ <translation>Cz</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1470"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1102"/> <source>dihedral</source> <translation>dièdre</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1471"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1103"/> <source>twist</source> <translation>vrillage</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1472"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1104"/> <source>foil</source> <translation>profil</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1473"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1105"/> <source>X-panels</source> <translation>Panneaux X</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1474"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1106"/> <source>X-dist</source> <translation>Dist. X</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1475"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1107"/> <source>Y-panels</source> <translation>Panneaux Y</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1476"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="1108"/> <source>Y-dist</source> <translation>Dist. Y</translation> </message> <message> - <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2682"/> + <location filename="../src/Miarex/GL3dWingDlg.cpp" line="2250"/> <source>Wing definition</source> <translation>Définition de l'aile</translation> </message> @@ -8115,18 +8180,18 @@ <translation>Nom de l'aile</translation> </message> <message> - <location filename="../src/Objects/Wing.cpp" line="2259"/> - <location filename="../src/Objects/Wing.cpp" line="2274"/> + <location filename="../src/Objects/Wing.cpp" line="2273"/> + <location filename="../src/Objects/Wing.cpp" line="2288"/> <source> Span pos = %1 </source> <translation> pos. sur l’envergure = %1 </translation> </message> <message> - <location filename="../src/Objects/Wing.cpp" line="2265"/> + <location filename="../src/Objects/Wing.cpp" line="2279"/> <source>, Cl = %1 could not be interpolated</source> <translation>, Cz = %1 n'a pas pu être interpolé</translation> </message> <message> - <location filename="../src/Objects/Wing.cpp" line="2279"/> + <location filename="../src/Objects/Wing.cpp" line="2293"/> <source>, Cl = %1 is outside the flight envelope</source> <translation>, Cz = %1 se trouve hors du domaine de vol</translation> </message> @@ -8145,7 +8210,7 @@ Poursuite cependant...</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="368"/> + <location filename="../src/Objects/WPolar.cpp" line="369"/> <source>The max number of polar points has been reached</source> <translation>Le nombre maximum de polaires est atteint</translation> </message> @@ -8155,114 +8220,115 @@ <translation>NomFuselage</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="505"/> + <location filename="../src/Objects/Body.cpp" line="507"/> <source>Export Body Definition</source> <translation>Exporter la définition du fuselage</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="507"/> + <location filename="../src/Objects/Body.cpp" line="509"/> <source>Text Format (*.txt)</source> <translation>Format texte (*.txt)</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="581"/> + <location filename="../src/Objects/Body.cpp" line="583"/> <source>Export Body Geometry</source> <translation>Exporter la géométrie du fuselage</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="583"/> + <location filename="../src/Objects/Body.cpp" line="585"/> <source>Text File (*.txt);;Comma Separated Values (*.csv)</source> <translation>Fichier texte (*.txt);;Format CSV (*.csv)</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="873"/> + <location filename="../src/Objects/Body.cpp" line="875"/> <source>Choose the length unit to read this file :</source> <translation>Choisir l'unité de longueur pour lire ce fichier :</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="917"/> + <location filename="../src/Objects/Body.cpp" line="919"/> <source>Open File</source> <translation>Ouvrir le fichier</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="919"/> + <location filename="../src/Objects/Body.cpp" line="921"/> <source>Text file (*.txt)</source> <translation>Fichier texte (*.txt)</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="927"/> + <location filename="../src/Objects/Body.cpp" line="929"/> <source>Could not read the file </source> <translation>Impossible de lire le ficher </translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="928"/> - <location filename="../src/Objects/Body.cpp" line="1041"/> - <location filename="../src/Objects/WPolar.cpp" line="369"/> + <location filename="../src/Objects/Body.cpp" line="930"/> + <location filename="../src/Objects/Body.cpp" line="1043"/> + <location filename="../src/Objects/Surface.cpp" line="736"/> + <location filename="../src/Objects/WPolar.cpp" line="370"/> <location filename="../src/XDirect/XFoil.cpp" line="3139"/> <source>Warning</source> <translation>Attention</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="1003"/> + <location filename="../src/Objects/Body.cpp" line="1005"/> <source>Error reading </source> <translation>Erreur de lecture</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="1003"/> + <location filename="../src/Objects/Body.cpp" line="1005"/> <source> Frames have different number of side points</source> <translation> Les cadres ont un nombre de points par face différent</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="1004"/> + <location filename="../src/Objects/Body.cpp" line="1006"/> <source>Error</source> <translation>Erreur</translation> </message> <message> - <location filename="../src/Objects/Body.cpp" line="1042"/> + <location filename="../src/Objects/Body.cpp" line="1044"/> <source>Please select a Frame before inserting a point</source> <translation>Veuillez sélectionner un cadre avant d'insérer un point</translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="607"/> - <location filename="../src/Objects/WPolar.cpp" line="1897"/> + <location filename="../src/Objects/WPolar.cpp" line="1935"/> <source>Stability analysis</source> <translation>Analyse de stabilité</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="1902"/> + <location filename="../src/Objects/WPolar.cpp" line="1940"/> <source>VInf =</source> <translation>VInf =</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="1907"/> + <location filename="../src/Objects/WPolar.cpp" line="1945"/> <source>Alpha =</source> <translation>Alpha =</translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="611"/> - <location filename="../src/Objects/WPolar.cpp" line="1918"/> + <location filename="../src/Objects/WPolar.cpp" line="1956"/> <source>LLT</source> <translation>LLT</translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="612"/> - <location filename="../src/Objects/WPolar.cpp" line="1919"/> + <location filename="../src/Objects/WPolar.cpp" line="1957"/> <source>3D-Panels</source> <translation>Panneaux 3D</translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="613"/> - <location filename="../src/Objects/WPolar.cpp" line="1920"/> + <location filename="../src/Objects/WPolar.cpp" line="1958"/> <source>3D-Panels/VLM1</source> <translation>Panneaux 3D/VLM1</translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="614"/> - <location filename="../src/Objects/WPolar.cpp" line="1921"/> + <location filename="../src/Objects/WPolar.cpp" line="1959"/> <source>3D-Panels/VLM2</source> <translation>Panneaux 3D/VLM2</translation> </message> @@ -8273,7 +8339,7 @@ </message> <message> <location filename="../src/Objects/WOpp.cpp" line="628"/> - <location filename="../src/Objects/WPolar.cpp" line="2075"/> + <location filename="../src/Objects/WPolar.cpp" line="2113"/> <source>Mass</source> <translation>Masse</translation> </message> @@ -8468,84 +8534,84 @@ <translation></translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2078"/> + <location filename="../src/Objects/WPolar.cpp" line="2116"/> <source>CoG.x</source> <translation>CG.x</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2081"/> + <location filename="../src/Objects/WPolar.cpp" line="2119"/> <source>CoG.z</source> <translation>CG.z</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2098"/> + <location filename="../src/Objects/WPolar.cpp" line="2136"/> <source>B.C. = Dirichlet</source> <translation>Cond. limites = Dirichlet</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2099"/> + <location filename="../src/Objects/WPolar.cpp" line="2137"/> <source>B.C. = Neumann</source> <translation>Cond. limites = Neumann</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2103"/> + <location filename="../src/Objects/WPolar.cpp" line="2141"/> <source>Analysis type</source> <translation>Type d'analyse</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2104"/> + <location filename="../src/Objects/WPolar.cpp" line="2142"/> <source>Viscous</source> <translation>Visqueux</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2105"/> + <location filename="../src/Objects/WPolar.cpp" line="2143"/> <source>Inviscid</source> <translation>Non visqueux</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2107"/> + <location filename="../src/Objects/WPolar.cpp" line="2145"/> <source>Ref. Area = </source> <translation>Aire de référence = </translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2126"/> + <location filename="../src/Objects/WPolar.cpp" line="2164"/> <source>Data points</source> <translation>Points de données</translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="633"/> - <location filename="../src/Objects/WPolar.cpp" line="1913"/> + <location filename="../src/Objects/WPolar.cpp" line="1951"/> <source>Beta</source> <translation>Beta</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2108"/> + <location filename="../src/Objects/WPolar.cpp" line="2146"/> <source>Planform area</source> <translation>Aire développée</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2109"/> + <location filename="../src/Objects/WPolar.cpp" line="2147"/> <source>Projected area</source> <translation>Aire projetée</translation> </message> <message> <location filename="../src/Objects/WOpp.cpp" line="618"/> - <location filename="../src/Objects/WPolar.cpp" line="2111"/> + <location filename="../src/Objects/WPolar.cpp" line="2149"/> <source>Tilted geometry</source> <translation>Géométrie inclinée</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2115"/> + <location filename="../src/Objects/WPolar.cpp" line="2153"/> <source>Ground height</source> <translation>Hauteur au sol</translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2119"/> + <location filename="../src/Objects/WPolar.cpp" line="2157"/> <source>Density =</source> <translation>Densité = </translation> </message> <message> - <location filename="../src/Objects/WPolar.cpp" line="2122"/> + <location filename="../src/Objects/WPolar.cpp" line="2160"/> <source>Viscosity =</source> <translation>Viscosité =</translation> </message> @@ -8790,156 +8856,156 @@ L'index du dernier point de sillage a été réduit.</translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2337"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2404"/> <source>Wing Span = %1 </source> <translation>Envergure de l'aile = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2342"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2409"/> <source>XYProj. Span = %1 </source> <translation>Envergure projetée = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2359"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2426"/> <source>X_CG = %1 </source> <translation></translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2365"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2432"/> <source>Wing Area = %1 </source> <translation>Surface alaire = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2370"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2437"/> <source>XYProj. Area = %1 </source> <translation>Surface projetée = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2384"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2451"/> <source>Plane Mass = %1 </source> <translation>Masse de l'avion = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2390"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2457"/> <source>Wing Load = %1 </source> <translation>Charge alaire = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2398"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2465"/> <source>Tail Volume = %1</source> <translation>Volume de stabilisateur = %1</translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2347"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2414"/> <source>Root Chord = %1 </source> <translation>Corde d'emplanture = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2351"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2418"/> <source>M.A.C. = %1 </source> <translation>C.A.M = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2403"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2470"/> <source>Tip Twist = %1</source> <translation>Vrillage au saumon = %1</translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2407"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2474"/> <source>Aspect Ratio = %1</source> <translation>Allongement = %1</translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2411"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2478"/> <source>Taper Ratio = %1</source> <translation>Effilement = %1</translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2415"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2482"/> <source>Root-Tip Sweep = %1</source> <translation>Flèche emplanture-saumon = %1</translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2459"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2524"/> <source>Point is out of the flight envelope</source> <translation>Le point se trouve en dehors de l'enveloppe de vol</translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2465"/> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2466"/> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2467"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2530"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2531"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2532"/> <source>V = %1 </source> <translation>V = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2472"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2537"/> <source>Alpha = %1</source> <translation>Alpha = %1</translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2477"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2542"/> <source>Sideslip = %1</source> <translation>Dérapage = %1</translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2482"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2547"/> <source>Bank = %1</source> <translation>Roulis = %1</translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2487"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2552"/> <source>Control pos. = %1 </source> <translation>Pos. contrôle = %1</translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2504"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2569"/> <source>CL/CD = %1 </source> <translation>CZ/CX = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2491"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2556"/> <source>CL = %1 </source> <translation>CZ = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2495"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2560"/> <source>CD = %1 </source> <translation>CX = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2500"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2565"/> <source>Efficiency = %1 </source> <translation>Rendement = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2508"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2573"/> <source>Cl = %1 </source> <translation>Cz = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2512"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2577"/> <source>Cm = %1 </source> <translation>Cm = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2516"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2581"/> <source>Cn = %1 </source> <translation>Cn = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2528"/> - <location filename="../src/Miarex/Miarex.cpp" line="12117"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2593"/> + <location filename="../src/Miarex/Miarex.cpp" line="11703"/> <source>X_NP = %1 </source> <translation>X_NP = %1 </translation> </message> <message> - <location filename="../src/Miarex/GLCreateLists.cpp" line="2534"/> - <location filename="../src/Miarex/Miarex.cpp" line="12123"/> + <location filename="../src/Miarex/GLCreateLists.cpp" line="2599"/> + <location filename="../src/Miarex/Miarex.cpp" line="11709"/> <source>X_CP = %1 </source> <translation>X_CP = %1 </translation> </message> <message> - <location filename="../src/Miarex/Miarex.cpp" line="12128"/> + <location filename="../src/Miarex/Miarex.cpp" line="11714"/> <source>X_CG = %1 </source> <translation>X_CG = %1 </translation> </message> @@ -9013,24 +9079,31 @@ <translation> ...pas de convergence après %1 itérations </translation> </message> + <message> + <location filename="../src/Objects/Surface.cpp" line="737"/> + <source>Continuous foils for surface do not have the same initial flap angle... aborting +</source> + <translation>Les profils continus en surface n'ont pas le même angle initial... Abandon +</translation> + </message> </context> <context> <name>QXDirect</name> <message> - <location filename="../src/XDirect/XDirect.cpp" line="1889"/> - <location filename="../src/XDirect/XDirect.cpp" line="3350"/> - <location filename="../src/XDirect/XDirect.cpp" line="3369"/> - <location filename="../src/XDirect/XDirect.cpp" line="3383"/> - <location filename="../src/XDirect/XDirect.cpp" line="3398"/> - <location filename="../src/XDirect/XDirect.cpp" line="3408"/> + <location filename="../src/XDirect/XDirect.cpp" line="1897"/> + <location filename="../src/XDirect/XDirect.cpp" line="3353"/> + <location filename="../src/XDirect/XDirect.cpp" line="3373"/> + <location filename="../src/XDirect/XDirect.cpp" line="3386"/> + <location filename="../src/XDirect/XDirect.cpp" line="3400"/> + <location filename="../src/XDirect/XDirect.cpp" line="3409"/> <location filename="../src/XDirect/XDirect.cpp" line="3419"/> <location filename="../src/XDirect/XDirect.cpp" line="3429"/> - <location filename="../src/XDirect/XDirect.cpp" line="3439"/> - <location filename="../src/XDirect/XDirect.cpp" line="3450"/> - <location filename="../src/XDirect/XDirect.cpp" line="3461"/> - <location filename="../src/XDirect/XDirect.cpp" line="3538"/> - <location filename="../src/XDirect/XDirect.cpp" line="3561"/> - <location filename="../src/XDirect/XDirect.cpp" line="3646"/> + <location filename="../src/XDirect/XDirect.cpp" line="3438"/> + <location filename="../src/XDirect/XDirect.cpp" line="3447"/> + <location filename="../src/XDirect/XDirect.cpp" line="3457"/> + <location filename="../src/XDirect/XDirect.cpp" line="3534"/> + <location filename="../src/XDirect/XDirect.cpp" line="3557"/> + <location filename="../src/XDirect/XDirect.cpp" line="3642"/> <location filename="../src/XDirect/XFoil.cpp" line="105"/> <location filename="../src/XDirect/XFoil.cpp" line="119"/> <location filename="../src/XDirect/XFoil.cpp" line="1979"/> @@ -9058,573 +9131,565 @@ de point de stagnation dans le mode inverse mixte</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="172"/> - <location filename="../src/XDirect/XDirect.cpp" line="891"/> - <location filename="../src/XDirect/XDirect.cpp" line="922"/> - <location filename="../src/XDirect/XDirect.cpp" line="1445"/> - <location filename="../src/XDirect/XDirect.cpp" line="2124"/> - <location filename="../src/XDirect/XDirect.cpp" line="3127"/> + <location filename="../src/XDirect/XDirect.cpp" line="180"/> + <location filename="../src/XDirect/XDirect.cpp" line="899"/> + <location filename="../src/XDirect/XDirect.cpp" line="930"/> + <location filename="../src/XDirect/XDirect.cpp" line="1453"/> + <location filename="../src/XDirect/XDirect.cpp" line="2132"/> + <location filename="../src/XDirect/XDirect.cpp" line="3133"/> <source>Cp</source> <translation>Cp</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="907"/> - <location filename="../src/XDirect/XDirect.cpp" line="1450"/> - <location filename="../src/XDirect/XDirect.cpp" line="3132"/> - <location filename="../src/XDirect/XDirect.cpp" line="3960"/> + <location filename="../src/XDirect/XDirect.cpp" line="915"/> + <location filename="../src/XDirect/XDirect.cpp" line="1458"/> + <location filename="../src/XDirect/XDirect.cpp" line="3138"/> + <location filename="../src/XDirect/XDirect.cpp" line="3956"/> <source>Q</source> <translation>Q</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2024"/> - <location filename="../src/XDirect/XDirect.cpp" line="2071"/> - <location filename="../src/XDirect/XDirect.cpp" line="3208"/> - <location filename="../src/XDirect/XDirect.cpp" line="3806"/> - <location filename="../src/XDirect/XDirect.cpp" line="4180"/> - <location filename="../src/XDirect/XDirect.cpp" line="4213"/> - <location filename="../src/XDirect/XDirect.cpp" line="4677"/> + <location filename="../src/XDirect/XDirect.cpp" line="2032"/> + <location filename="../src/XDirect/XDirect.cpp" line="2079"/> + <location filename="../src/XDirect/XDirect.cpp" line="3214"/> + <location filename="../src/XDirect/XDirect.cpp" line="3802"/> + <location filename="../src/XDirect/XDirect.cpp" line="4176"/> + <location filename="../src/XDirect/XDirect.cpp" line="4209"/> + <location filename="../src/XDirect/XDirect.cpp" line="4673"/> <source>Top</source> <translation>Dessus</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2025"/> - <location filename="../src/XDirect/XDirect.cpp" line="2072"/> - <location filename="../src/XDirect/XDirect.cpp" line="3209"/> - <location filename="../src/XDirect/XDirect.cpp" line="3807"/> - <location filename="../src/XDirect/XDirect.cpp" line="4181"/> - <location filename="../src/XDirect/XDirect.cpp" line="4214"/> - <location filename="../src/XDirect/XDirect.cpp" line="4678"/> + <location filename="../src/XDirect/XDirect.cpp" line="2033"/> + <location filename="../src/XDirect/XDirect.cpp" line="2080"/> + <location filename="../src/XDirect/XDirect.cpp" line="3215"/> + <location filename="../src/XDirect/XDirect.cpp" line="3803"/> + <location filename="../src/XDirect/XDirect.cpp" line="4177"/> + <location filename="../src/XDirect/XDirect.cpp" line="4210"/> + <location filename="../src/XDirect/XDirect.cpp" line="4674"/> <source>Bot</source> <translation>Dessous</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2173"/> + <location filename="../src/XDirect/XDirect.cpp" line="2181"/> <source>Max Shear</source> <translation>Cisaillement maximum</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2178"/> + <location filename="../src/XDirect/XDirect.cpp" line="2186"/> <source>Top Shear</source> <translation>Cisaillement supérieur</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2179"/> + <location filename="../src/XDirect/XDirect.cpp" line="2187"/> <source>Top Shear eq</source> <translation>Eq. cisaillement supérieur</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2180"/> + <location filename="../src/XDirect/XDirect.cpp" line="2188"/> <source>Bot Shear</source> <translation>Cisaillement inférieur</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2181"/> + <location filename="../src/XDirect/XDirect.cpp" line="2189"/> <source>Bot Shear eq</source> <translation>Eq. cisaillement inférieur</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2371"/> - <location filename="../src/XDirect/XDirect.cpp" line="2395"/> - <location filename="../src/XDirect/XDirect.cpp" line="2497"/> + <location filename="../src/XDirect/XDirect.cpp" line="2377"/> + <location filename="../src/XDirect/XDirect.cpp" line="2401"/> + <location filename="../src/XDirect/XDirect.cpp" line="2503"/> <source>Question</source> <translation>Question</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2495"/> + <location filename="../src/XDirect/XDirect.cpp" line="2501"/> <source>Are you sure you want to delete polars and OpPoints </source> <translation>Êtes-vous certain de vouloir supprimer les polaires et les OpPoints </translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2496"/> + <location filename="../src/XDirect/XDirect.cpp" line="2502"/> <source>associated to </source> <translation>associés à </translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2546"/> + <location filename="../src/XDirect/XDirect.cpp" line="2552"/> <source>The foil has been de-rotated by %1 degrees</source> <translation>Le profil a été pivoté de %1 degrés</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2705"/> + <location filename="../src/XDirect/XDirect.cpp" line="2711"/> <source>Export Current XFoil Results</source> <translation>Exporter les résultats actuels de XFoil</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2707"/> - <location filename="../src/XDirect/XDirect.cpp" line="2916"/> - <location filename="../src/XDirect/XDirect.cpp" line="2951"/> + <location filename="../src/XDirect/XDirect.cpp" line="2713"/> + <location filename="../src/XDirect/XDirect.cpp" line="2922"/> + <location filename="../src/XDirect/XDirect.cpp" line="2957"/> <source>Text File (*.txt);;Comma Separated Values (*.csv)</source> <translation>Fichier texte (*.txt), valeurs séparées par des virgules (*.csv)</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2852"/> + <location filename="../src/XDirect/XDirect.cpp" line="2858"/> <source>Export Directory</source> <translation>Répertoire d'exportation</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2883"/> + <location filename="../src/XDirect/XDirect.cpp" line="2889"/> <source>Export Foil</source> <translation>Exporter le profil</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2885"/> + <location filename="../src/XDirect/XDirect.cpp" line="2891"/> <source>Foil File (*.dat)</source> <translation>Fichier de profil (*.dat)</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2914"/> + <location filename="../src/XDirect/XDirect.cpp" line="2920"/> <source>Export OpPoint</source> <translation>Exporter l'OpPoint</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2949"/> + <location filename="../src/XDirect/XDirect.cpp" line="2955"/> <source>Export Polar</source> <translation>Exporter la polaire</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3646"/> + <location filename="../src/XDirect/XDirect.cpp" line="3642"/> <source>At least two foils are required</source> <translation>Il faut au moins deux profils</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3782"/> + <location filename="../src/XDirect/XDirect.cpp" line="3778"/> <source>The foil has been normalized from %1 to 1.000</source> <translation>Le profil a été normalisé de %1 à 1.000</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="4249"/> + <location filename="../src/XDirect/XDirect.cpp" line="4245"/> <source>Polar File</source> <translation>Fichier de polaire</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="4249"/> + <location filename="../src/XDirect/XDirect.cpp" line="4245"/> <source>Polar File (*.plr)</source> <translation>Fichier de polaire (*.plr)</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5096"/> + <location filename="../src/XDirect/XDirect.cpp" line="5093"/> <source>TE Hinge Moment/span = 123456789</source> <translation>Moment de l'articulation de BA / envergure = 123456789</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5105"/> + <location filename="../src/XDirect/XDirect.cpp" line="5102"/> <source>Polar Type = %1</source> <translation>Type de polaire = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5154"/> + <location filename="../src/XDirect/XDirect.cpp" line="5151"/> <source>Forced Upper Trans. = %1</source> <translation>Transition sup forcée = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5157"/> + <location filename="../src/XDirect/XDirect.cpp" line="5154"/> <source>Forced Lower Trans. = %1</source> <translation>Transition sup forcée = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5182"/> + <location filename="../src/XDirect/XDirect.cpp" line="5179"/> <source> Cl = %1</source> <translation> Cz = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5186"/> + <location filename="../src/XDirect/XDirect.cpp" line="5183"/> <source> Cm = %1</source> <translation> Cm = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5190"/> + <location filename="../src/XDirect/XDirect.cpp" line="5187"/> <source> Cd = %1</source> <translation> Cx = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5196"/> + <location filename="../src/XDirect/XDirect.cpp" line="5193"/> <source> L/D = %1</source> <translation> Z/X = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5201"/> + <location filename="../src/XDirect/XDirect.cpp" line="5198"/> <source>Upper Trans. = %1</source> <translation>Transit. sup.. = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5205"/> + <location filename="../src/XDirect/XDirect.cpp" line="5202"/> <source>Lower Trans. = %1</source> <translation>Transit. inf.. = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5211"/> + <location filename="../src/XDirect/XDirect.cpp" line="5208"/> <source>TE Hinge Moment/span = %1</source> <translation>Moment de l'articulation de BA / envergure = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5218"/> + <location filename="../src/XDirect/XDirect.cpp" line="5215"/> <source>LE Hinge Moment/span = %1</source> <translation>Moment de l'articulation de BF / envergure = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6183"/> - <location filename="../src/XDirect/XDirect.cpp" line="6228"/> - <location filename="../src/XDirect/XDirect.cpp" line="6234"/> - <location filename="../src/XDirect/XDirect.cpp" line="6279"/> + <location filename="../src/XDirect/XDirect.cpp" line="6180"/> + <location filename="../src/XDirect/XDirect.cpp" line="6225"/> + <location filename="../src/XDirect/XDirect.cpp" line="6231"/> + <location filename="../src/XDirect/XDirect.cpp" line="6276"/> <source>Alpha</source> <translation>Alpha</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6186"/> - <location filename="../src/XDirect/XDirect.cpp" line="6237"/> - <location filename="../src/XDirect/XDirect.cpp" line="6320"/> + <location filename="../src/XDirect/XDirect.cpp" line="6183"/> + <location filename="../src/XDirect/XDirect.cpp" line="6234"/> + <location filename="../src/XDirect/XDirect.cpp" line="6317"/> <source>Cl</source> <translation>Cz</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6189"/> - <location filename="../src/XDirect/XDirect.cpp" line="6240"/> + <location filename="../src/XDirect/XDirect.cpp" line="6186"/> + <location filename="../src/XDirect/XDirect.cpp" line="6237"/> <source>Cd</source> <translation>Cx</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6192"/> - <location filename="../src/XDirect/XDirect.cpp" line="6243"/> + <location filename="../src/XDirect/XDirect.cpp" line="6189"/> + <location filename="../src/XDirect/XDirect.cpp" line="6240"/> <source>Cd x 10000</source> <translation>Cx x 10000</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6195"/> - <location filename="../src/XDirect/XDirect.cpp" line="6246"/> + <location filename="../src/XDirect/XDirect.cpp" line="6192"/> + <location filename="../src/XDirect/XDirect.cpp" line="6243"/> <source>Cdp</source> <translation>Cxp</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6198"/> - <location filename="../src/XDirect/XDirect.cpp" line="6249"/> + <location filename="../src/XDirect/XDirect.cpp" line="6195"/> + <location filename="../src/XDirect/XDirect.cpp" line="6246"/> <source>Cm</source> <translation>Cm</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6201"/> - <location filename="../src/XDirect/XDirect.cpp" line="6252"/> + <location filename="../src/XDirect/XDirect.cpp" line="6198"/> + <location filename="../src/XDirect/XDirect.cpp" line="6249"/> <source>Xtr1</source> <translation>Xtr1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6204"/> - <location filename="../src/XDirect/XDirect.cpp" line="6255"/> + <location filename="../src/XDirect/XDirect.cpp" line="6201"/> + <location filename="../src/XDirect/XDirect.cpp" line="6252"/> <source>Xtr2</source> <translation>Xtr2</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6207"/> - <location filename="../src/XDirect/XDirect.cpp" line="6258"/> + <location filename="../src/XDirect/XDirect.cpp" line="6204"/> + <location filename="../src/XDirect/XDirect.cpp" line="6255"/> <source>HMom</source> <translation>HMom</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6210"/> - <location filename="../src/XDirect/XDirect.cpp" line="6261"/> + <location filename="../src/XDirect/XDirect.cpp" line="6207"/> + <location filename="../src/XDirect/XDirect.cpp" line="6258"/> <source>Cpmin</source> <translation>Cpmin</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6213"/> - <location filename="../src/XDirect/XDirect.cpp" line="6264"/> + <location filename="../src/XDirect/XDirect.cpp" line="6210"/> + <location filename="../src/XDirect/XDirect.cpp" line="6261"/> <source>Cl/Cd</source> <translation>Cz/Cx</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6216"/> - <location filename="../src/XDirect/XDirect.cpp" line="6267"/> + <location filename="../src/XDirect/XDirect.cpp" line="6213"/> + <location filename="../src/XDirect/XDirect.cpp" line="6264"/> <source>|Cl|^(3/2)/Cd</source> <translation>|Cz|^(3/2)/Cx</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6219"/> - <location filename="../src/XDirect/XDirect.cpp" line="6270"/> + <location filename="../src/XDirect/XDirect.cpp" line="6216"/> + <location filename="../src/XDirect/XDirect.cpp" line="6267"/> <source>1/Rt(Cl)</source> <translation>1/Rt(Cz)</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6222"/> - <location filename="../src/XDirect/XDirect.cpp" line="6273"/> - <location filename="../src/XDirect/XDirect.cpp" line="6321"/> + <location filename="../src/XDirect/XDirect.cpp" line="6219"/> + <location filename="../src/XDirect/XDirect.cpp" line="6270"/> + <location filename="../src/XDirect/XDirect.cpp" line="6318"/> <source>Re</source> <translation>Re</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6225"/> - <location filename="../src/XDirect/XDirect.cpp" line="6276"/> + <location filename="../src/XDirect/XDirect.cpp" line="6222"/> + <location filename="../src/XDirect/XDirect.cpp" line="6273"/> <source>XCp</source> <translation>XCp</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6327"/> + <location filename="../src/XDirect/XDirect.cpp" line="6324"/> <source>Sequence</source> <translation>Séquence</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6330"/> + <location filename="../src/XDirect/XDirect.cpp" line="6327"/> <source>Start=</source> <translation>Départ=</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6331"/> + <location filename="../src/XDirect/XDirect.cpp" line="6328"/> <source>End=</source> <translation>Fin=</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6332"/> + <location filename="../src/XDirect/XDirect.cpp" line="6329"/> <source>D=</source> <translation>D=</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6363"/> + <location filename="../src/XDirect/XDirect.cpp" line="6360"/> <source>Viscous</source> <translation>Visqueux</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6364"/> + <location filename="../src/XDirect/XDirect.cpp" line="6361"/> <source>Init BL</source> <translation>Init couche limite</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6368"/> + <location filename="../src/XDirect/XDirect.cpp" line="6365"/> <source>Store Opp</source> <translation>Enregistrer l'OpPoint</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6369"/> + <location filename="../src/XDirect/XDirect.cpp" line="6366"/> <source>Analyze</source> <translation>Analyser</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6381"/> + <location filename="../src/XDirect/XDirect.cpp" line="6378"/> <source>Analysis settings</source> <translation>Paramètres d'analyse</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6386"/> + <location filename="../src/XDirect/XDirect.cpp" line="6383"/> <source>Show BL</source> <translation>Afficher la couche limite</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6387"/> + <location filename="../src/XDirect/XDirect.cpp" line="6384"/> <source>Show Pressure</source> <translation>Afficher les pressions</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6390"/> + <location filename="../src/XDirect/XDirect.cpp" line="6387"/> <source>Animate</source> <translation>Animer</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6402"/> + <location filename="../src/XDirect/XDirect.cpp" line="6399"/> <source>Display</source> <translation>Afficher</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6414"/> + <location filename="../src/XDirect/XDirect.cpp" line="6411"/> <source>Curve</source> <translation>Courbe</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6415"/> + <location filename="../src/XDirect/XDirect.cpp" line="6412"/> <source>Points</source> <translation>Points</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6452"/> + <location filename="../src/XDirect/XDirect.cpp" line="6449"/> <source>Graph Curve Settings</source> <translation>Paramètres de la courbe du diagramme</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2392"/> + <location filename="../src/XDirect/XDirect.cpp" line="2398"/> <source>Are you sure you want to delete the polar : </source> <translation>Êtes-vous certain de vouloir supprimer la polaire : </translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2365"/> + <location filename="../src/XDirect/XDirect.cpp" line="2371"/> <source>Are you sure you want to delete the Operating Point </source> <translation>Êtes-vous certain de vouloir supprimer le point de fonctionnement </translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2393"/> + <location filename="../src/XDirect/XDirect.cpp" line="2399"/> <source> and all the associated OpPoints ?</source> <translation> et les OpPoints associés ?</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3339"/> - <location filename="../src/XDirect/XDirect.cpp" line="3527"/> + <location filename="../src/XDirect/XDirect.cpp" line="3342"/> + <location filename="../src/XDirect/XDirect.cpp" line="3523"/> <source>Open File</source> <translation>Ouvrir le fichier</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3341"/> + <location filename="../src/XDirect/XDirect.cpp" line="3344"/> <source>XFoil Polar Format (*.*)</source> <translation>Format de polaire XFoil (*.*)</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3349"/> - <location filename="../src/XDirect/XDirect.cpp" line="3537"/> + <location filename="../src/XDirect/XDirect.cpp" line="3352"/> + <location filename="../src/XDirect/XDirect.cpp" line="3533"/> <source>Could not read the file </source> <translation>Lecture du fichier impossible </translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3366"/> - <location filename="../src/XDirect/XDirect.cpp" line="3559"/> + <location filename="../src/XDirect/XDirect.cpp" line="3370"/> + <location filename="../src/XDirect/XDirect.cpp" line="3555"/> <source>No Foil with the name </source> <translation>Aucun profile ayant le nom </translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3367"/> - <location filename="../src/XDirect/XDirect.cpp" line="3560"/> + <location filename="../src/XDirect/XDirect.cpp" line="3371"/> + <location filename="../src/XDirect/XDirect.cpp" line="3556"/> <source> could be found. The polar(s) will not be stored</source> <translation> n'a pu être trouvé. Les polaires ne seront pas enregistrées</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3381"/> - <location filename="../src/XDirect/XDirect.cpp" line="3396"/> - <location filename="../src/XDirect/XDirect.cpp" line="3406"/> - <location filename="../src/XDirect/XDirect.cpp" line="3417"/> - <location filename="../src/XDirect/XDirect.cpp" line="3427"/> - <location filename="../src/XDirect/XDirect.cpp" line="3437"/> - <location filename="../src/XDirect/XDirect.cpp" line="3448"/> - <location filename="../src/XDirect/XDirect.cpp" line="3459"/> <source>Error reading at line xx. The polar(s) will not be stored</source> - <translation>Erreur de lecture à la ligne xx. Les polaires ne seront pas enregistrées</translation> + <translation type="obsolete">Erreur de lecture à la ligne xx. Les polaires ne seront pas enregistrées</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3529"/> + <location filename="../src/XDirect/XDirect.cpp" line="3525"/> <source>JavaFoil Polar Format (*.*)</source> <translation>Format de polaire JavaFoil (*.*)</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5045"/> + <location filename="../src/XDirect/XDirect.cpp" line="5042"/> <source>Thickness = %1</source> <translation>Épaisseur = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5049"/> + <location filename="../src/XDirect/XDirect.cpp" line="5046"/> <source>Max. Thick.pos. = %1</source> <translation>Position de l'épaisseur max. = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5053"/> + <location filename="../src/XDirect/XDirect.cpp" line="5050"/> <source>Max. Camber = %1</source> <translation>Cambrure max = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5057"/> + <location filename="../src/XDirect/XDirect.cpp" line="5054"/> <source>Max. Camber pos. = %1</source> <translation>Position de cambrure max. = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5061"/> + <location filename="../src/XDirect/XDirect.cpp" line="5058"/> <source>Number of Panels = %1</source> <translation>Nombre de panneaux = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5067"/> + <location filename="../src/XDirect/XDirect.cpp" line="5064"/> <source>Flap Angle = %1</source> <translation>Angle de volet = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5071"/> + <location filename="../src/XDirect/XDirect.cpp" line="5068"/> <source>XHinge = %1</source> <translation>X articulation = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5076"/> + <location filename="../src/XDirect/XDirect.cpp" line="5073"/> <source>YHinge = %1</source> <translation>Y articulation = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5178"/> + <location filename="../src/XDirect/XDirect.cpp" line="5175"/> <source> Alpha = %1 </source> <translation> Alpha = %1 </translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6405"/> + <location filename="../src/XDirect/XDirect.cpp" line="6402"/> <source>Polar properties</source> <translation>Propriétés de la polaire</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6433"/> + <location filename="../src/XDirect/XDirect.cpp" line="6430"/> <source>Style</source> <translation>Style</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6434"/> + <location filename="../src/XDirect/XDirect.cpp" line="6431"/> <source>Width</source> <translation>Largeur</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="6435"/> + <location filename="../src/XDirect/XDirect.cpp" line="6432"/> <source>Color</source> <translation>Couleur</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="171"/> + <location filename="../src/XDirect/XDirect.cpp" line="179"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="182"/> + <location filename="../src/XDirect/XDirect.cpp" line="190"/> <source>Cp Graph</source> <translation>Diagramme Cp</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="194"/> + <location filename="../src/XDirect/XDirect.cpp" line="202"/> <source>Polar Graph</source> <translation>Diagramme polaire</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="206"/> + <location filename="../src/XDirect/XDirect.cpp" line="214"/> <source>Cm Graph</source> <translation>Diagramme Cm</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="218"/> + <location filename="../src/XDirect/XDirect.cpp" line="226"/> <source>Cz Graph</source> <translation>Diagramme Cz</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="230"/> + <location filename="../src/XDirect/XDirect.cpp" line="238"/> <source>Tr Graph</source> <translation>Diagramme Tr</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="242"/> + <location filename="../src/XDirect/XDirect.cpp" line="250"/> <source>User Graph</source> <translation>Diagramme utilisateur</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="1888"/> + <location filename="../src/XDirect/XDirect.cpp" line="1896"/> <source>Not enough threads available for multithreading</source> <translation>Nombre de processeurs insuffisant pour faire un traitement multi-processeurs</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2021"/> + <location filename="../src/XDirect/XDirect.cpp" line="2029"/> <source>Cf</source> <translation>Cf</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2068"/> + <location filename="../src/XDirect/XDirect.cpp" line="2076"/> <source>Cd'</source> <translation>Cx'</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2778"/> + <location filename="../src/XDirect/XDirect.cpp" line="2784"/> <source> Top Side </source> @@ -9633,39 +9698,39 @@ </translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2779"/> - <location filename="../src/XDirect/XDirect.cpp" line="2809"/> + <location filename="../src/XDirect/XDirect.cpp" line="2785"/> + <location filename="../src/XDirect/XDirect.cpp" line="2815"/> <source> x Hk Ue/Vinf Cf Cd A/A0 D* Theta CTq </source> <translation> x Hk Ue/Vinf Cf Cx A/A0 D* Theta CTq </translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2780"/> - <location filename="../src/XDirect/XDirect.cpp" line="2810"/> + <location filename="../src/XDirect/XDirect.cpp" line="2786"/> + <location filename="../src/XDirect/XDirect.cpp" line="2816"/> <source>x,Hk,Ue/Vinf,Cf,Cd,A/A0,D*,Theta,CTq </source> <translation>x,Hk,Ue/Vinf,Cf,Cx,A/A0,D*,Theta,CTq </translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="3991"/> + <location filename="../src/XDirect/XDirect.cpp" line="3987"/> <source>Enter the new name for the foil polar :</source> <translation>Enter le nouveau nom pour la polaire du profil :</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5121"/> - <location filename="../src/XDirect/XDirect.cpp" line="5132"/> + <location filename="../src/XDirect/XDirect.cpp" line="5118"/> + <location filename="../src/XDirect/XDirect.cpp" line="5129"/> <source>Re.sqrt(Cl) = </source> <translation>Re.sqrt(Cz) = </translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="5125"/> + <location filename="../src/XDirect/XDirect.cpp" line="5122"/> <source>M.sqrt(Cl) = %1</source> <translation>M.sqrt(Cz) = %1</translation> </message> <message> - <location filename="../src/XDirect/XDirect.cpp" line="2808"/> + <location filename="../src/XDirect/XDirect.cpp" line="2814"/> <source> Bottom Side @@ -9679,280 +9744,280 @@ <context> <name>QXInverse</name> <message> - <location filename="../src/XInverse/XInverse.cpp" line="102"/> + <location filename="../src/XInverse/XInverse.cpp" line="104"/> <source>x/c</source> <translation>x/c</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="103"/> + <location filename="../src/XInverse/XInverse.cpp" line="105"/> <source>Q/Vinf</source> <translation>Q/Vinf</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="377"/> + <location filename="../src/XInverse/XInverse.cpp" line="379"/> <source>Must mark off target segment first</source> <translation>Il faut d'abord démarquer du segment cible</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="403"/> + <location filename="../src/XInverse/XInverse.cpp" line="405"/> <source>Converged</source> <translation>Convergé</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="408"/> + <location filename="../src/XInverse/XInverse.cpp" line="410"/> <source>Unconverged</source> <translation>Non convergé</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="440"/> - <location filename="../src/XInverse/XInverse.cpp" line="1274"/> - <location filename="../src/XInverse/XInverse.cpp" line="2135"/> + <location filename="../src/XInverse/XInverse.cpp" line="442"/> + <location filename="../src/XInverse/XInverse.cpp" line="1276"/> + <location filename="../src/XInverse/XInverse.cpp" line="2137"/> <source> Modified</source> <translation> Modifié</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="473"/> + <location filename="../src/XInverse/XInverse.cpp" line="475"/> <source>Warning</source> <translation>Attention</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="473"/> + <location filename="../src/XInverse/XInverse.cpp" line="475"/> <source>Unrecognized foil format</source> <translation>Format de profil inconnu</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1128"/> - <location filename="../src/XInverse/XInverse.cpp" line="1134"/> + <location filename="../src/XInverse/XInverse.cpp" line="1130"/> + <location filename="../src/XInverse/XInverse.cpp" line="1136"/> <source>Drag points to modify splines, Apply, and Execute to generate the new geometry</source> <translation>Glissez les points pour modifier les splines. Appliquer et Exécuter pour créer la nouvelle géométrie</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1377"/> + <location filename="../src/XInverse/XInverse.cpp" line="1379"/> <source>Mark target segment for modification</source> <translation>Marquer le segment cible à modifier</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1400"/> + <location filename="../src/XInverse/XInverse.cpp" line="1402"/> <source>Mark spline endpoints</source> <translation>Marquer les points d'extrémité de la spline</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1535"/> - <location filename="../src/XInverse/XInverse.cpp" line="2200"/> - <location filename="../src/XInverse/XInverse.cpp" line="2282"/> + <location filename="../src/XInverse/XInverse.cpp" line="1537"/> + <location filename="../src/XInverse/XInverse.cpp" line="2202"/> + <location filename="../src/XInverse/XInverse.cpp" line="2284"/> <source>Alpha = </source> <translation>Alpha = </translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1541"/> + <location filename="../src/XInverse/XInverse.cpp" line="1543"/> <source>Cl = </source> <translation>Cz = </translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1585"/> + <location filename="../src/XInverse/XInverse.cpp" line="1587"/> <source>Mark target segment for smoothing, or type 'Return' to smooth the entire distribution</source> <translation>Marquer pour lissage le segment cible ou pressez Entrée pour lisser toute la distribution</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1988"/> + <location filename="../src/XInverse/XInverse.cpp" line="1990"/> <source>Alpha = %1</source> <translation>Alpha = %1</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1990"/> + <location filename="../src/XInverse/XInverse.cpp" line="1992"/> <source>Cl = %1</source> <translation>Cz = %1</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2052"/> + <location filename="../src/XInverse/XInverse.cpp" line="2054"/> <source>Q - Reference</source> <translation>Q - Référence</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2053"/> + <location filename="../src/XInverse/XInverse.cpp" line="2055"/> <source>Q - Specification</source> <translation>Q - Spécification</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2054"/> + <location filename="../src/XInverse/XInverse.cpp" line="2056"/> <source>Q - Viscous</source> <translation>Q - Visqueux</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2061"/> + <location filename="../src/XInverse/XInverse.cpp" line="2063"/> <source>Reflected</source> <translation>Réfléchi</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2198"/> + <location filename="../src/XInverse/XInverse.cpp" line="2200"/> <source>Alpha</source> <translation>Alpha</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2199"/> + <location filename="../src/XInverse/XInverse.cpp" line="2201"/> <source>Cl</source> <translation>Cz</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2207"/> + <location filename="../src/XInverse/XInverse.cpp" line="2209"/> <source>Specification</source> <translation>Spécification</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2211"/> - <location filename="../src/XInverse/XInverse.cpp" line="2295"/> + <location filename="../src/XInverse/XInverse.cpp" line="2213"/> + <location filename="../src/XInverse/XInverse.cpp" line="2297"/> <source>ShowSpline</source> <translation>Afficher spline</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2212"/> - <location filename="../src/XInverse/XInverse.cpp" line="2296"/> + <location filename="../src/XInverse/XInverse.cpp" line="2214"/> + <location filename="../src/XInverse/XInverse.cpp" line="2298"/> <source>Tangent Spline</source> <translation>Spline tangente</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2213"/> - <location filename="../src/XInverse/XInverse.cpp" line="2297"/> + <location filename="../src/XInverse/XInverse.cpp" line="2215"/> + <location filename="../src/XInverse/XInverse.cpp" line="2299"/> <source>New Spline</source> <translation>Nouvelle spline</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2214"/> - <location filename="../src/XInverse/XInverse.cpp" line="2298"/> + <location filename="../src/XInverse/XInverse.cpp" line="2216"/> + <location filename="../src/XInverse/XInverse.cpp" line="2300"/> <source>Apply Spline</source> <translation>Appliquer la spline</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2215"/> - <location filename="../src/XInverse/XInverse.cpp" line="2300"/> + <location filename="../src/XInverse/XInverse.cpp" line="2217"/> + <location filename="../src/XInverse/XInverse.cpp" line="2302"/> <source>Reset QSpec</source> <translation>Réinitialiser QSpec</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2216"/> + <location filename="../src/XInverse/XInverse.cpp" line="2218"/> <source>Pert</source> <translation>Perturbation</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2224"/> - <location filename="../src/XInverse/XInverse.cpp" line="2313"/> + <location filename="../src/XInverse/XInverse.cpp" line="2226"/> + <location filename="../src/XInverse/XInverse.cpp" line="2315"/> <source>Modification</source> <translation>Modification</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2228"/> + <location filename="../src/XInverse/XInverse.cpp" line="2230"/> <source>Smooth QSpec</source> <translation>Lisser QSpec</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2229"/> + <location filename="../src/XInverse/XInverse.cpp" line="2231"/> <source>Hannig Filter</source> <translation>Filtre de Hannig</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2230"/> + <location filename="../src/XInverse/XInverse.cpp" line="2232"/> <source>Filter parameter</source> <translation>Paramètres du filtre</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2241"/> + <location filename="../src/XInverse/XInverse.cpp" line="2243"/> <source>T.E. Angle</source> <translation>Angle du bord de fuite</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2242"/> + <location filename="../src/XInverse/XInverse.cpp" line="2244"/> <source>T.E. Gap dx/c</source> <translation>dx/c de la fente de BF</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2243"/> + <location filename="../src/XInverse/XInverse.cpp" line="2245"/> <source>T.E. Gap dy/c</source> <translation>dy/c de la fente de BF</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2259"/> + <location filename="../src/XInverse/XInverse.cpp" line="2261"/> <source>Symmetric foil</source> <translation>Profil symétrique</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2263"/> + <location filename="../src/XInverse/XInverse.cpp" line="2265"/> <source>Constraints</source> <translation>Contraintes</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2266"/> - <location filename="../src/XInverse/XInverse.cpp" line="2293"/> + <location filename="../src/XInverse/XInverse.cpp" line="2268"/> + <location filename="../src/XInverse/XInverse.cpp" line="2295"/> <source>Execute</source> <translation>Exécuter</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2283"/> + <location filename="../src/XInverse/XInverse.cpp" line="2285"/> <source>Cl =</source> <translation>Cz =</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2291"/> + <location filename="../src/XInverse/XInverse.cpp" line="2293"/> <source>Mark for modification</source> <translation>Marquer comme devant être modifié</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2292"/> + <location filename="../src/XInverse/XInverse.cpp" line="2294"/> <source>End Point Constraint</source> <translation>Contrainte du point de fin</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2299"/> + <location filename="../src/XInverse/XInverse.cpp" line="2301"/> <source>Smooth</source> <translation>Lisser</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2320"/> + <location filename="../src/XInverse/XInverse.cpp" line="2322"/> <source>Max Iterations</source> <translation>Nombre maximum d'itérations</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2324"/> + <location filename="../src/XInverse/XInverse.cpp" line="2326"/> <source>Foil</source> <translation>Profil</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1817"/> + <location filename="../src/XInverse/XInverse.cpp" line="1819"/> <source> Base</source> <translation> Base</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1818"/> + <location filename="../src/XInverse/XInverse.cpp" line="1820"/> <source> Mod.</source> <translation> Mod.</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1823"/> + <location filename="../src/XInverse/XInverse.cpp" line="1825"/> <source>Thickness = %1%</source> <translation>Épaisseur = %1%</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1829"/> - <location filename="../src/XInverse/XInverse.cpp" line="1841"/> + <location filename="../src/XInverse/XInverse.cpp" line="1831"/> + <location filename="../src/XInverse/XInverse.cpp" line="1843"/> <source>Max.Thick.pos. = %1%</source> <translation>Position de l'épaisseur max. = %1%</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="1835"/> + <location filename="../src/XInverse/XInverse.cpp" line="1837"/> <source>Max. Camber = %1%</source> <translation>Cambrure max = %1%</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2237"/> + <location filename="../src/XInverse/XInverse.cpp" line="2239"/> <source>Smoothing</source> <translation>Lissage</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="108"/> + <location filename="../src/XInverse/XInverse.cpp" line="110"/> <source>Q Graph</source> <translation>Diagramme Q</translation> </message> <message> - <location filename="../src/XInverse/XInverse.cpp" line="2294"/> + <location filename="../src/XInverse/XInverse.cpp" line="2296"/> <source> </source> <translation> </translation> </message> @@ -10595,54 +10660,54 @@ <context> <name>TEGapDlg</name> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="73"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="75"/> <source>OK</source> <translation>Accepter</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="74"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="76"/> <source>Cancel</source> <translation>Abandonner</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="75"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="77"/> <source>Apply</source> <translation>Appliquer</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="186"/> - <location filename="../src/XDirect/TEGapDlg.cpp" line="196"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="188"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="198"/> <source>Warning</source> <translation>Attention</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="32"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="34"/> <source>T.E. Gap</source> <translation>Fente de bord de fuite</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="53"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="55"/> <source>T.E. Gap Value</source> <translation>Valeur de la fente de bord de fuite</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="56"/> - <location filename="../src/XDirect/TEGapDlg.cpp" line="66"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="58"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="68"/> <source>% chord</source> <translation>% corde</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="63"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="65"/> <source>Blending Distance from L.E.</source> <translation>Distance de transition depuis le BA</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="186"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="188"/> <source>Unrecognized foil format</source> <translation>Format de profil inconnu</translation> </message> <message> - <location filename="../src/XDirect/TEGapDlg.cpp" line="196"/> + <location filename="../src/XDirect/TEGapDlg.cpp" line="198"/> <source>Panel number cannot exceed 300</source> <translation>Le nombre de panneaux ne peut dépasser 300</translation> </message> @@ -10650,49 +10715,49 @@ <context> <name>TranslatorDlg</name> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="35"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="34"/> <source>Language settings</source> <translation>Paramètres de langue</translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="36"/> - <location filename="../src/Misc/TranslatorDlg.cpp" line="144"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="35"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="143"/> <source>English</source> <translation>Français</translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="55"/> - <location filename="../src/Misc/TranslatorDlg.cpp" line="123"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="54"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="122"/> <source>Warning</source> <translation>Attention</translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="55"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="54"/> <source>The change will take effect at the next session</source> <translation>Les modifications seront prises en compte à la session suivante</translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="64"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="63"/> <source>Select the application's default language:</source> <translation>Définir la langue par défaut de l'application</translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="70"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="69"/> <source>OK</source> <translation>Accepter</translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="71"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="70"/> <source>Cancel</source> <translation>Abandonner</translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="123"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="122"/> <source>The directory </source> <translation>Le répertoire</translation> </message> <message> - <location filename="../src/Misc/TranslatorDlg.cpp" line="123"/> + <location filename="../src/Misc/TranslatorDlg.cpp" line="122"/> <source>does not exist</source> <translation>n'existe pas</translation> </message> @@ -10700,68 +10765,68 @@ <context> <name>TwoDPanelDlg</name> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="88"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="91"/> <source>OK</source> <translation>Accepter</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="89"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="92"/> <source>Cancel</source> <translation>Abandonner</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="90"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="93"/> <source>Apply</source> <translation>Appliquer</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="208"/> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="219"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="211"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="222"/> <source>Warning</source> <translation>Attention</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="40"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="43"/> <source>Global Panel Refinement</source> <translation>Amélioration globale du profil</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="42"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="45"/> <source>Number of Panels</source> <translation>Nombre de panneaux</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="43"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="46"/> <source>Panel Bunching Parameter</source> <translation>Facteur de regroupement des panneaux</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="44"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="47"/> <source>TE/LE Panel Density Ratio</source> <translation>Rapport de densité des panneaux BF / BA</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="45"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="48"/> <source>Refined area/LE Panel Density Ratio</source> <translation>Surface améliorée/Rapport de densité des panneaux de bord d'attaque</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="46"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="49"/> <source>Top Side Refined Area x/c limits</source> <translation>Limites x/c de la surface supérieure améliorée</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="47"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="50"/> <source>Bottom Side Refined Area x/c limits</source> <translation>Limites x/c de la surface inférieure améliorée</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="208"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="211"/> <source>Unrecognized foil format</source> <translation>Format de profil non reconnu</translation> </message> <message> - <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="218"/> + <location filename="../src/XDirect/TwoDPanelDlg.cpp" line="221"/> <source>The total number of panels cannot exceed %1</source> <translation>Le nombre maximum de panneaux ne peut dépasser %1</translation> </message> @@ -10769,12 +10834,12 @@ <context> <name>UnitsDlg</name> <message> - <location filename="../src/Misc/UnitsDlg.cpp" line="94"/> + <location filename="../src/Misc/UnitsDlg.cpp" line="117"/> <source>OK</source> <translation>Accepter</translation> </message> <message> - <location filename="../src/Misc/UnitsDlg.cpp" line="95"/> + <location filename="../src/Misc/UnitsDlg.cpp" line="118"/> <source>Cancel</source> <translation>Abandonner</translation> </message> @@ -11288,24 +11353,24 @@ <context> <name>WingDelegate</name> <message> - <location filename="../src/Miarex/WingDelegate.cpp" line="65"/> - <location filename="../src/Miarex/WingDelegate.cpp" line="70"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="64"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="69"/> <source>Uniform</source> <translation>Uniforme</translation> </message> <message> - <location filename="../src/Miarex/WingDelegate.cpp" line="66"/> - <location filename="../src/Miarex/WingDelegate.cpp" line="71"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="65"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="70"/> <source>Cosine</source> <translation>Cosinus</translation> </message> <message> - <location filename="../src/Miarex/WingDelegate.cpp" line="72"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="71"/> <source>Sine</source> <translation>Sinus</translation> </message> <message> - <location filename="../src/Miarex/WingDelegate.cpp" line="73"/> + <location filename="../src/Miarex/WingDelegate.cpp" line="72"/> <source>-Sine</source> <translation>-Sinus</translation> </message> @@ -11404,37 +11469,37 @@ <context> <name>XFoilAdvancedDlg</name> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="65"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="66"/> <source>OK</source> <translation>Accepter</translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="66"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="67"/> <source>Cancel</source> <translation>Abandonner</translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="27"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="28"/> <source>XFoil Settings</source> <translation>Paramètres de XFoil</translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="42"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="43"/> <source>VAccel</source> <translation>VAccel</translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="51"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="52"/> <source>Iteration Limit</source> <translation>Limitation du nombre d'itérations</translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="61"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="62"/> <source>Re-initialize BLs after an unconverged iteration</source> <translation>Réinitialiser la couche limite après une itération n'ayant pas convergé</translation> </message> <message> - <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="62"/> + <location filename="../src/XDirect/XFoilAdvancedDlg.cpp" line="63"/> <source>Show full log report for an XFoil analysis</source> <translation>Afficher le journal complet pour une analyse XFoil</translation> </message> @@ -11442,78 +11507,78 @@ <context> <name>XFoilAnalysisDlg</name> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="33"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="36"/> <source>XFoil Analysis</source> <translation>Analyse XFoil</translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="101"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="104"/> <source>Skip</source> <translation>Sauter</translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="102"/> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="536"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="105"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="539"/> <source>Cancel</source> <translation>Abandonner</translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="36"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="39"/> <source>Iter</source> <translation>Itér.</translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="192"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="195"/> <source>Alfa = %1 ........ </source> <translation>Alpha = %1 ........ </translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="210"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="213"/> <source>Cl = %1</source> <translation>Cz = %1</translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="213"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="216"/> <source>Cl = %1 ........ </source> <translation>Cz = %1 ........ </translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="301"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="304"/> <source> Initializing viscous analysis ... </source> <translation>Initialisation de l'analyse visqueuse... </translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="313"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="316"/> <source> Solving BL system ... </source> <translation> Résolution du système de couche limite... </translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="358"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="361"/> <source>--------- Unconverged ----------- </source> <translation>--------- Pas de convergence ----------- </translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="356"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="359"/> <source>unconverged after %1 iterations </source> <translation>pas de convergence après %1 itérations </translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="190"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="193"/> <source>Alpha = %1</source> <translation>Alpha = %1</translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="198"/> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="218"/> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="436"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="201"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="221"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="439"/> <source>Invalid Analysis Settings CpCalc: local speed too large Compressibility corrections invalid </source> @@ -11522,29 +11587,29 @@ Les corrections de compressibilité ne sont pas valables </translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="307"/> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="346"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="310"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="349"/> <source>CpCalc: local speed too large Compressibility corrections invalid</source> <translation>CpCalc : vitesse locale trop élevée Les corrections de compressibilité ne sont pas valables </translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="319"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="322"/> <source> Iteration %1 ... </source> <translation> Itération %1 ... </translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="378"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="381"/> <source>converged after %1 iterations </source> <translation>convergence après %1 itérations </translation> </message> <message> - <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="554"/> + <location filename="../src/XDirect/XFoilAnalysisDlg.cpp" line="557"/> <source>Close</source> <translation>Fermer</translation> </message> diff -Nru xflr5-6.05/translations/xflr5v6_ja.ts xflr5-6.06/translations/xflr5v6_ja.ts --- xflr5-6.05/translations/xflr5v6_ja.ts 2011-07-25 02:43:09.000000000 +0900 +++ xflr5-6.06/translations/xflr5v6_ja.ts 2012-01-08 00:22:13.000000000 +0900 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> -<TS version="2.0" language="ja_JP"> +<TS version="2.0"> <context> <name>AFoilGridDlg</name> <message> @@ -123,7 +123,7 @@ </message> <message> <source>Copyright (C) Andre Deperrois 2003-2011</source> - <translation>Copyright(C) Andre Deperrois 2003-2011</translation> + <translation type="obsolete">Copyright(C) Andre Deperrois 2003-2011</translation> </message> <message> <source>This program is distributed in the hope that it will be useful,</source> @@ -161,6 +161,18 @@ <source>OK</source> <translation>OK</translation> </message> + <message> + <source>Copyright (C) Andre Deperrois 2003-2012</source> + <translation type="unfinished">Copyright(C) Andre Deperrois 2003-2012</translation> + </message> + <message> + <source>Japanese translation by IKUSU, Koichi Akabe, Misatus, dynamicsoar, hide253</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>icchy_07, ina111, ohayo_cycling, ohisa_64, ozawa64.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>BatchDlg</name> @@ -442,8 +454,7 @@ </message> <message> <source>Specify:</source> - <translation type="unfinished"> - </translation> + <translation>明記する</translation> </message> <message> <source>Alpha</source> @@ -512,23 +523,19 @@ </message> <message> <source>Grid Parameters</source> - <translation type="unfinished"> - </translation> + <translation>グリッドの設定</translation> </message> <message> <source>Show Scales</source> - <translation type="unfinished"> - </translation> + <translation>スケールを表示</translation> </message> <message> <source>Main Grid</source> - <translation type="unfinished"> - </translation> + <translation>主グリッド</translation> </message> <message> <source>Minor Grid</source> - <translation type="unfinished"> - </translation> + <translation>補助グリッド</translation> </message> <message> <source>Body Grid</source> @@ -558,13 +565,11 @@ </message> <message> <source>Whole Body</source> - <translation type="unfinished"> - </translation> + <translation>機体全体</translation> </message> <message> <source>Frame Only</source> - <translation type="unfinished"> - </translation> + <translation>フレームのみ</translation> </message> <message> <source>Scale Factor</source> @@ -573,18 +578,15 @@ </message> <message> <source>X Scale</source> - <translation type="unfinished"> - </translation> + <translation>X軸スケール</translation> </message> <message> <source>Y Scale</source> - <translation type="unfinished"> - </translation> + <translation>Y軸スケール</translation> </message> <message> <source>Z Scale</source> - <translation type="unfinished"> - </translation> + <translation>Z軸スケール</translation> </message> <message> <source>OK</source> @@ -599,28 +601,23 @@ <name>BodyTransDlg</name> <message> <source>Body Translation</source> - <translation type="unfinished"> - </translation> + <translation>平行移動</translation> </message> <message> <source>Frame Only</source> - <translation type="unfinished"> - </translation> + <translation>フレーム指定</translation> </message> <message> <source>X Translation</source> - <translation type="unfinished"> - </translation> + <translation>X方向</translation> </message> <message> <source>Y Translation</source> - <translation type="unfinished"> - </translation> + <translation>Y方向</translation> </message> <message> <source>Z Translation</source> - <translation type="unfinished"> - </translation> + <translation>Z方向</translation> </message> <message> <source>OK</source> @@ -635,8 +632,7 @@ <name>CAddDlg</name> <message> <source>Local Panel Refinement</source> - <translation type="unfinished"> - </translation> + <translation>メッシュの局所的な改良</translation> </message> <message> <source>Angle Criterion </source> @@ -645,28 +641,23 @@ </message> <message> <source>Type of Spline</source> - <translation type="unfinished"> - </translation> + <translation>スプラインのタイプ</translation> </message> <message> <source>Refinement X Limits</source> - <translation type="unfinished"> - </translation> + <translation>リファイン位置(X座標の範囲)</translation> </message> <message> <source>From</source> - <translation type="unfinished"> - </translation> + <translation>From</translation> </message> <message> <source>To</source> - <translation type="unfinished"> - </translation> + <translation>To</translation> </message> <message> <source>Uniform</source> - <translation type="unfinished"> - </translation> + <translation>一様</translation> </message> <message> <source>Arc Length</source> @@ -683,8 +674,7 @@ </message> <message> <source>MaxAngle</source> - <translation type="unfinished"> - </translation> + <translation>最大角度</translation> </message> <message> <source>At Panel</source> @@ -693,8 +683,7 @@ </message> <message> <source>Accept</source> - <translation type="unfinished"> - </translation> + <translation>同意</translation> </message> <message> <source>Cancel</source> @@ -714,40 +703,35 @@ </message> <message> <source>Total number of points is %1</source> - <translation type="unfinished"> - </translation> + <translation>点の数:%1</translation> </message> <message> <source>(added %1 points to original foil)</source> - <translation type="unfinished"> - </translation> + <translation>(元の翼型に %1 点が追加されました)</translation> </message> <message> <source>Maximum panel angle is %1</source> - <translation type="unfinished"> - </translation> + <translation>パネルの角度は最大で %1</translation> </message> <message> <source>at panel position %1</source> - <translation type="unfinished"> - </translation> + <translation>@ パネル位置 %1</translation> </message> <message> <source>Maximum panel angle is %1 deg</source> - <translation type="unfinished"> - </translation> + <translation>パネルの角度は最大で %1 度</translation> </message> </context> <context> <name>CSurface</name> <message> <source>Warning</source> - <translation>警告</translation> + <translation type="obsolete">警告</translation> </message> <message> <source>Continuous foils for surface do not have the same initial flap angle... aborting </source> - <translation type="unfinished"> + <translation type="obsolete"> </translation> </message> </context> @@ -789,6 +773,10 @@ <source>Cancel</source> <translation>キャンセル</translation> </message> + <message> + <source>Enable 3D transparency</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>EditPlrDlg</name> @@ -1012,8 +1000,7 @@ </message> <message> <source>Aerodynamic data</source> - <translation type="unfinished"> - </translation> + <translation type="obsolete">空力的データ</translation> </message> <message> <source>OK</source> @@ -1025,8 +1012,7 @@ </message> <message> <source>Free transitions (e^n) method</source> - <translation type="unfinished"> - </translation> + <translation>自由遷移(e^n)法</translation> </message> <message> <source>Forced transition:</source> @@ -1072,6 +1058,43 @@ <source>Alpha =</source> <translation>迎え角 =</translation> </message> + <message> + <source>Plane Data</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Chord</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Mass</source> + <translation type="unfinished">質量</translation> + </message> + <message> + <source>Span</source> + <translation type="unfinished">スパン</translation> + </message> + <message> + <source>Aerodynamic Data</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Unit</source> + <translation type="unfinished">単位</translation> + </message> + <message> + <source>International</source> + <translation type="unfinished"> + </translation> + </message> + <message> + <source>Imperial</source> + <translation type="unfinished">ヤード・ポンド法</translation> + </message> + <message> + <source>Reynolds and Mach Numbers</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>FoilSelectionDlg</name> @@ -1137,8 +1160,7 @@ </message> <message> <source>Y-Line</source> - <translation type="unfinished"> - </translation> + <translation>Y軸上っっz</translation> </message> <message> <source>X-axis points</source> @@ -1147,8 +1169,7 @@ </message> <message> <source>1st segment</source> - <translation type="unfinished"> - </translation> + <translation>第一区間</translation> </message> <message> <source>X factor</source> @@ -1157,50 +1178,46 @@ </message> <message> <source>X-Offset</source> - <translation type="unfinished"> - </translation> + <translation>X軸オフセット</translation> </message> <message> <source>Z-Offset</source> - <translation type="unfinished"> - </translation> + <translation>Z軸オフセット</translation> </message> <message> <source>Streamline length</source> - <translation type="unfinished"> - </translation> + <translation>流線の長さ</translation> </message> <message> <source>Start Streamline at</source> - <translation type="unfinished"> - </translation> + <translation>流線の開始点:</translation> </message> <message> <source>Apply</source> <translation>適用</translation> </message> + <message> + <source>Streamlines</source> + <translation type="unfinished">流線</translation> + </message> </context> <context> <name>GL3dBodyDlg</name> <message> <source>Body Edition</source> - <translation type="unfinished"> - </translation> + <translation>ボディの編集</translation> </message> <message> <source>Insert</source> - <translation type="unfinished"> - </translation> + <translation>挿入</translation> </message> <message> <source>Remove</source> - <translation type="unfinished"> - </translation> + <translation>削除</translation> </message> <message> <source>Scale</source> - <translation type="unfinished"> - </translation> + <translation>拡大縮小</translation> </message> <message> <source>Grid Setup</source> @@ -1213,13 +1230,11 @@ </message> <message> <source>Show Current Frame Only</source> - <translation type="unfinished"> - </translation> + <translation>現在のフレームのみを表示</translation> </message> <message> <source>Inertia...</source> - <translation type="unfinished"> - </translation> + <translation>慣性の設定</translation> </message> <message> <source>Undo</source> @@ -1239,13 +1254,11 @@ </message> <message> <source>Export Body Geometry to File</source> - <translation type="unfinished"> - </translation> + <translation>ボディ形状をファイルに書きだす</translation> </message> <message> <source>Export Body Definition to File</source> - <translation type="unfinished"> - </translation> + <translation>ボディの定義をファイルへ書き出す</translation> </message> <message> <source>Import Body Definition from File</source> @@ -1254,8 +1267,7 @@ </message> <message> <source>Translate</source> - <translation type="unfinished"> - </translation> + <translation>移動</translation> </message> <message> <source>Resolution cannot exceed %1</source> @@ -1268,13 +1280,11 @@ </message> <message> <source>Frame %1</source> - <translation type="unfinished"> - </translation> + <translation>フレーム %1</translation> </message> <message> <source>Scale = %1</source> - <translation type="unfinished"> - </translation> + <translation>スケール = %1</translation> </message> <message> <source>NPanels</source> @@ -1296,53 +1306,43 @@ </message> <message> <source>Light</source> - <translation type="unfinished"> - </translation> + <translation>光源</translation> </message> <message> <source>Surfaces</source> - <translation type="unfinished"> - </translation> + <translation>サーフェス</translation> </message> <message> <source>Outline</source> - <translation type="unfinished"> - </translation> + <translation>アウトライン</translation> </message> <message> <source>Panels</source> - <translation type="unfinished"> - </translation> + <translation>パネル</translation> </message> <message> <source>Masses</source> - <translation type="unfinished"> - </translation> + <translation>質量</translation> </message> <message> <source>X</source> - <translation type="unfinished"> - </translation> + <translation>X視点</translation> </message> <message> <source>Y</source> - <translation type="unfinished"> - </translation> + <translation>Y視点</translation> </message> <message> <source>Z</source> - <translation type="unfinished"> - </translation> + <translation>Z視点</translation> </message> <message> <source>Iso</source> - <translation type="unfinished"> - </translation> + <translation>斜め視点</translation> </message> <message> <source>Pick Center</source> - <translation type="unfinished"> - </translation> + <translation>選択点を中心に移動</translation> </message> <message> <source>Clip Plane</source> @@ -1351,13 +1351,11 @@ </message> <message> <source>Other</source> - <translation type="unfinished"> - </translation> + <translation>その他</translation> </message> <message> <source>Actions...</source> - <translation type="unfinished"> - </translation> + <translation>行動</translation> </message> <message> <source>Save and Close</source> @@ -1369,53 +1367,43 @@ </message> <message> <source>Flat Panels</source> - <translation type="unfinished"> - </translation> + <translation>平面パネル</translation> </message> <message> <source>BSplines</source> - <translation type="unfinished"> - </translation> + <translation>Bスプライン曲線</translation> </message> <message> <source>x</source> - <translation type="unfinished"> - </translation> + <translation>x</translation> </message> <message> <source>Hoop</source> - <translation type="unfinished"> - </translation> + <translation>輪</translation> </message> <message> <source>Degree</source> - <translation type="unfinished"> - </translation> + <translation>角度</translation> </message> <message> <source>BodyName</source> - <translation type="unfinished"> - </translation> + <translation>ボディの名前</translation> </message> <message> <source>Enter here a short description for the body</source> - <translation type="unfinished"> - </translation> + <translation>ボディの説明</translation> </message> <message> <source>Description:</source> - <translation type="unfinished"> - </translation> + <translation>説明:</translation> </message> <message> <source>Frames</source> - <translation type="unfinished"> - </translation> + <translation>フレーム</translation> </message> <message> <source>Frame Positions</source> - <translation type="unfinished"> - </translation> + <translation>フレームの位置</translation> </message> <message> <source>Points</source> @@ -1424,8 +1412,7 @@ </message> <message> <source>Current Frame Definition</source> - <translation type="unfinished"> - </translation> + <translation>選択中のフレーム</translation> </message> <message> <source>Context Menu</source> @@ -1446,23 +1433,19 @@ </message> <message> <source>The first section cannot be deleted</source> - <translation type="unfinished"> - </translation> + <translation>最初のセクションは削除できません</translation> </message> <message> <source>Symetric</source> - <translation type="unfinished"> - </translation> + <translation>対称な</translation> </message> <message> <source>Right Side</source> - <translation type="unfinished"> - </translation> + <translation>右サイド</translation> </message> <message> <source>Left Side</source> - <translation type="unfinished"> - </translation> + <translation>左サイド</translation> </message> <message> <source>Insert Before</source> @@ -1471,8 +1454,7 @@ </message> <message> <source>Wing Edition</source> - <translation type="unfinished"> - </translation> + <translation>主翼の編集</translation> </message> <message> <source>Reset Scales</source> @@ -1485,8 +1467,7 @@ </message> <message> <source>Delete section</source> - <translation type="unfinished"> - </translation> + <translation>選択されたセクションを削除</translation> </message> <message> <source>Section</source> @@ -1494,19 +1475,16 @@ </message> <message> <source>Please enter a name for the wing</source> - <translation type="unfinished"> - </translation> + <translation>翼に名前を入力して下さい</translation> </message> <message> <source>Too many panels Reduce the mesh size</source> - <translation type="unfinished"> - </translation> + <translation>パネルの数が多すぎます.メッシュのサイズを減らして下さい.</translation> </message> <message> <source>Only 10 flaps x 2 will be handled</source> - <translation type="unfinished"> - </translation> + <translation>フラップは片翼につき10枚まで扱えます</translation> </message> <message> <source>Question</source> @@ -1519,13 +1497,11 @@ </message> <message> <source>Cosine</source> - <translation type="unfinished"> - </translation> + <translation>Cos</translation> </message> <message> <source>Sine</source> - <translation type="unfinished"> - </translation> + <translation>Sin</translation> </message> <message> <source>-Sine</source> @@ -1534,23 +1510,19 @@ </message> <message> <source>y (</source> - <translation type="unfinished"> - </translation> + <translation>y(</translation> </message> <message> <source>chord (</source> - <translation type="unfinished"> - </translation> + <translation>翼弦長</translation> </message> <message> <source>offset (</source> - <translation type="unfinished"> - </translation> + <translation>オフセット(</translation> </message> <message> <source>The maximum number of panels has been reached</source> - <translation type="unfinished"> - </translation> + <translation>パネルの最大数に達しました</translation> </message> <message> <source>No insertion possible before the first section</source> @@ -1558,8 +1530,7 @@ </message> <message> <source>Wing Description</source> - <translation type="unfinished"> - </translation> + <translation>主翼の説明</translation> </message> <message> <source>Save the changes ?</source> @@ -1619,8 +1590,7 @@ </message> <message> <source>MAC Span Pos</source> - <translation type="unfinished"> - </translation> + <translation>MACスパン方向位置</translation> </message> <message> <source>Aspect ratio</source> @@ -1640,8 +1610,7 @@ </message> <message> <source>Enter here a short description for the wing</source> - <translation type="unfinished"> - </translation> + <translation>翼の説明</translation> </message> <message> <source>Description:</source> @@ -1693,8 +1662,7 @@ </message> <message> <source>Pick Center</source> - <translation type="unfinished"> - </translation> + <translation>中心に移動</translation> </message> <message> <source>Clip Plane</source> @@ -1711,7 +1679,7 @@ </message> <message> <source>Inertia...</source> - <translation>慣性...</translation> + <translation>慣性の設定</translation> </message> <message> <source>Save and Close</source> @@ -1723,8 +1691,7 @@ </message> <message> <source>Context Menu</source> - <translation type="unfinished"> - </translation> + <translation type="obsolete">右クリックメニュー</translation> </message> </context> <context> @@ -1795,8 +1762,7 @@ </message> <message> <source>Color Material</source> - <translation type="unfinished"> - </translation> + <translation>色をつける</translation> </message> <message> <source>Cull Faces</source> @@ -1844,13 +1810,11 @@ </message> <message> <source>X - Chord</source> - <translation type="unfinished"> - </translation> + <translation>X - コード長</translation> </message> <message> <source>Q - Speed</source> - <translation type="unfinished"> - </translation> + <translation>Q−スピード</translation> </message> <message> <source>X - chord</source> @@ -1895,8 +1859,7 @@ </message> <message> <source>HMom</source> - <translation type="unfinished"> - </translation> + <translation>HMom</translation> </message> <message> <source>Cpmin</source> @@ -1924,8 +1887,7 @@ </message> <message> <source>Y - span</source> - <translation type="unfinished"> - </translation> + <translation>Y - スパン</translation> </message> <message> <source>Induced Angle</source> @@ -1954,8 +1916,7 @@ </message> <message> <source>Total drag coef.</source> - <translation type="unfinished"> - </translation> + <translation>抗力係数の合計</translation> </message> <message> <source>Local Drag C.Cd/M.A.C.</source> @@ -2037,16 +1998,15 @@ </message> <message> <source>1/Rt(Cl)</source> - <translation type="unfinished"> - </translation> + <translation>1/Rt(Cl)</translation> </message> <message> <source>Lift</source> - <translation>揚力</translation> + <translation type="obsolete">揚力</translation> </message> <message> <source>Drag</source> - <translation>抗力</translation> + <translation type="obsolete">抗力</translation> </message> <message> <source>Vx</source> @@ -2086,33 +2046,27 @@ </message> <message> <source>m.g.Vz</source> - <translation type="unfinished"> - </translation> + <translation>m.g.Vz</translation> </message> <message> <source>Efficiency</source> - <translation type="unfinished"> - </translation> + <translation>翼効率</translation> </message> <message> <source>(XCp-Xcg)/MAC</source> - <translation type="unfinished"> - </translation> + <translation>(XCp-Xcg)/MAC</translation> </message> <message> <source>Control Variable</source> - <translation type="unfinished"> - </translation> + <translation>変数コントロール</translation> </message> <message> <source>Cy - Lateral force coef.</source> - <translation type="unfinished"> - </translation> + <translation>Cy - 横力係数</translation> </message> <message> <source>Neutral Point x-position</source> - <translation type="unfinished"> - </translation> + <translation>中立点のx位置</translation> </message> <message> <source>Phugoid Frequency</source> @@ -2121,38 +2075,31 @@ </message> <message> <source>Phugoid Damping</source> - <translation type="unfinished"> - </translation> + <translation>フゴイドダンピング</translation> </message> <message> <source>Short Period Frequency</source> - <translation type="unfinished"> - </translation> + <translation>短周期モード</translation> </message> <message> <source>Short Period Damping</source> - <translation type="unfinished"> - </translation> + <translation>短周期モード減衰項</translation> </message> <message> <source>Dutch Roll Frequency</source> - <translation type="unfinished"> - </translation> + <translation>ダッチロール周波数</translation> </message> <message> <source>Dutch Roll Damping</source> - <translation type="unfinished"> - </translation> + <translation>ダッチロール減衰項</translation> </message> <message> <source>Roll Damping</source> - <translation type="unfinished"> - </translation> + <translation>ロール減衰項</translation> </message> <message> <source>Spiral Damping</source> - <translation type="unfinished"> - </translation> + <translation>スパイラルモード減衰項</translation> </message> <message> <source>Restore</source> @@ -2161,8 +2108,7 @@ </message> <message> <source>OK</source> - <translation type="unfinished"> - </translation> + <translation>OK</translation> </message> <message> <source>Cancel</source> @@ -2170,118 +2116,95 @@ </message> <message> <source>Apply</source> - <translation type="unfinished"> - </translation> + <translation>適用</translation> </message> <message> <source>YAxis</source> - <translation type="unfinished"> - </translation> + <translation>Y軸</translation> </message> <message> <source>vs.</source> - <translation type="unfinished"> - </translation> + <translation>vs.</translation> </message> <message> <source>XAxis</source> - <translation type="unfinished"> - </translation> + <translation>X軸</translation> </message> <message> <source>Title</source> - <translation type="unfinished"> - </translation> + <translation>タイトル</translation> </message> <message> <source>Label</source> - <translation type="unfinished"> - </translation> + <translation>ラベル</translation> </message> <message> <source>Font</source> - <translation type="unfinished"> - </translation> + <translation>フォント</translation> </message> <message> <source>Color</source> - <translation type="unfinished"> - </translation> + <translation>色</translation> </message> <message> <source>Set Title Font</source> - <translation type="unfinished"> - </translation> + <translation>タイトルのフォント設定</translation> </message> <message> <source>Set Label Font</source> - <translation type="unfinished"> - </translation> + <translation>ラベルフォント設定</translation> </message> <message> <source>Title Color</source> - <translation type="unfinished"> - </translation> + <translation>タイトルの色</translation> </message> <message> <source>Label Color</source> - <translation type="unfinished"> - </translation> + <translation>ラベルの色</translation> </message> <message> <source>Fonts</source> - <translation type="unfinished"> - </translation> + <translation>フォント</translation> </message> <message> <source>Graph Background</source> - <translation type="unfinished"> - </translation> + <translation>グラフ背景</translation> </message> <message> <source>Graph Border</source> - <translation type="unfinished"> - </translation> + <translation>グラフの境界</translation> </message> <message> <source>BackGround</source> - <translation type="unfinished"> - </translation> + <translation>背景</translation> </message> <message> <source>X Axis</source> - <translation type="unfinished"> - </translation> + <translation>X軸</translation> </message> <message> <source>Y Axis</source> - <translation type="unfinished"> - </translation> + <translation>Y軸</translation> </message> <message> <source>Min</source> - <translation type="unfinished"> - </translation> + <translation>最小値</translation> </message> <message> <source>Max</source> - <translation type="unfinished"> - </translation> + <translation>最大値</translation> </message> <message> <source>Origin</source> - <translation type="unfinished"> - </translation> + <translation>原点</translation> </message> <message> <source>Unit</source> - <translation type="unfinished"> - </translation> + <translation>単位</translation> </message> <message> <source>Auto Scale</source> - <translation type="unfinished"> - </translation> + <translation>自動スケール</translation> </message> <message> <source>Inverted Axis</source> @@ -2290,18 +2213,15 @@ </message> <message> <source>Axis Style</source> - <translation type="unfinished"> - </translation> + <translation>軸のスタイル</translation> </message> <message> <source>X Major Grid</source> - <translation type="unfinished"> - </translation> + <translation>X軸主軸</translation> </message> <message> <source>Y Major Grid</source> - <translation type="unfinished"> - </translation> + <translation>Y軸主軸</translation> </message> <message> <source>X Minor Grid</source> @@ -2315,13 +2235,11 @@ </message> <message> <source>Auto Unit</source> - <translation type="unfinished"> - </translation> + <translation>自動編成</translation> </message> <message> <source>Variables</source> - <translation type="unfinished"> - </translation> + <translation>変数</translation> </message> <message> <source>Scales</source> @@ -2330,13 +2248,23 @@ </message> <message> <source>Axis and Grids</source> - <translation type="unfinished"> - </translation> + <translation>軸とグリッド</translation> </message> <message> <source>Fonts and BackGround</source> - <translation type="unfinished"> - </translation> + <translation>フォントと背景</translation> + </message> + <message> + <source>FX (Drag)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>FY (Side force)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>FZ (Lift)</source> + <translation type="unfinished"></translation> </message> </context> <context> @@ -2364,28 +2292,23 @@ <name>InertiaDlg</name> <message> <source>Inertia Properties</source> - <translation type="unfinished"> - </translation> + <translation>慣性のプロパティ</translation> </message> <message> <source>Mass</source> - <translation type="unfinished"> - </translation> + <translation>質量</translation> </message> <message> <source>x</source> - <translation type="unfinished"> - </translation> + <translation>x</translation> </message> <message> <source>y</source> - <translation type="unfinished"> - </translation> + <translation>y</translation> </message> <message> <source>z</source> - <translation type="unfinished"> - </translation> + <translation>z</translation> </message> <message> <source>Description</source> @@ -2393,13 +2316,11 @@ </message> <message> <source>Wing Mass:</source> - <translation type="unfinished"> - </translation> + <translation>翼の質量:</translation> </message> <message> <source>Body Mass:</source> - <translation type="unfinished"> - </translation> + <translation>ボディの質量:</translation> </message> <message> <source>Volume Mass:</source> @@ -2408,8 +2329,7 @@ </message> <message> <source>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ! </source> - <translation type="unfinished"> - </translation> + <translation>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ! </translation> </message> <message> <source>This is a calculation form for a rough order of magnitude for the inertia tensor.</source> @@ -2428,13 +2348,11 @@ </message> <message> <source>AVL Mass File (*.mass)</source> - <translation type="unfinished"> - </translation> + <translation>AVL Mass File (*.mass)</translation> </message> <message> <source>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10! Inertia of both left and right wings</source> - <translation type="unfinished"> - </translation> + <translation>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10! 両翼の慣性</translation> </message> <message> <source>%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ! Body inertia</source> @@ -2448,28 +2366,23 @@ </message> <message> <source>Refer to the Guidelines for explanations.</source> - <translation type="unfinished"> - </translation> + <translation>詳細はガイドラインを参照してください。</translation> </message> <message> <source>Object Mass - Volume only, excluding point masses</source> - <translation type="unfinished"> - </translation> + <translation>オブジェクトの質量(おもりの質量は含まない)</translation> </message> <message> <source>Wing Mass=</source> - <translation type="unfinished"> - </translation> + <translation>翼の質量=</translation> </message> <message> <source>Component inertias</source> - <translation type="unfinished"> - </translation> + <translation>部品の慣性</translation> </message> <message> <source>Main Wing</source> - <translation type="unfinished"> - </translation> + <translation>主翼</translation> </message> <message> <source>Second Wing</source> @@ -2478,48 +2391,39 @@ </message> <message> <source>Elevator</source> - <translation type="unfinished"> - </translation> + <translation>エレベーター</translation> </message> <message> <source>Fin</source> - <translation type="unfinished"> - </translation> + <translation>垂直尾翼</translation> </message> <message> <source>Body</source> - <translation type="unfinished"> - </translation> + <translation>ボディ</translation> </message> <message> <source>Additional Point Masses</source> - <translation type="unfinished"> - </translation> + <translation>追加の点質量</translation> </message> <message> <source>Total Mass = Volume + point masses</source> - <translation type="unfinished"> - </translation> + <translation>全質量=体積からの質量+点の質量</translation> </message> <message> <source>Total Mass=</source> - <translation type="unfinished"> - </translation> + <translation>全質量=</translation> </message> <message> <source>OK</source> - <translation type="unfinished"> - </translation> + <translation>OK</translation> </message> <message> <source>Cancel</source> - <translation type="unfinished"> - </translation> + <translation>キャンセル</translation> </message> <message> <source>Center of gravity</source> - <translation type="unfinished"> - </translation> + <translation>重心</translation> </message> <message> <source>Inertia in CoG Frame</source> @@ -2528,9 +2432,21 @@ </message> <message> <source>Export to AVL</source> + <translation>AVLに書き出す</translation> + </message> + <message> + <source>Insert Before</source> <translation type="unfinished"> </translation> </message> + <message> + <source>Delete</source> + <translation type="unfinished">削除</translation> + </message> + <message> + <source>Point Mass</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>InterpolateFoilsDlg</name> @@ -2540,33 +2456,27 @@ </message> <message> <source>Camb1</source> - <translation type="unfinished"> - </translation> + <translation>キャンバー1</translation> </message> <message> <source>Camb2</source> - <translation type="unfinished"> - </translation> + <translation>キャンバー2</translation> </message> <message> <source>Camb3</source> - <translation type="unfinished"> - </translation> + <translation>キャンバー3</translation> </message> <message> <source>Thick1</source> - <translation type="unfinished"> - </translation> + <translation>厚み1</translation> </message> <message> <source>Thick2</source> - <translation type="unfinished"> - </translation> + <translation>厚み2</translation> </message> <message> <source>Thick3</source> - <translation type="unfinished"> - </translation> + <translation>厚み3</translation> </message> <message> <source>New Foil Name</source> @@ -2591,8 +2501,7 @@ </message> <message> <source> at x=%1</source> - <translation type="unfinished"> - </translation> + <translation> x=%1 において</translation> </message> <message> <source>Thick.=%1</source> @@ -2608,13 +2517,11 @@ </message> <message> <source>Reference Foil</source> - <translation type="unfinished"> - </translation> + <translation>参照翼型</translation> </message> <message> <source>Modified Foil</source> - <translation type="unfinished"> - </translation> + <translation>翼型を改良する</translation> </message> <message> <source>Spline</source> @@ -2639,23 +2546,19 @@ <name>LECircleDlg</name> <message> <source>L.E. Circle</source> - <translation type="unfinished"> - </translation> + <translation>前縁半径</translation> </message> <message> <source>r=</source> - <translation type="unfinished"> - </translation> + <translation>r=</translation> </message> <message> <source>% Chord</source> - <translation type="unfinished"> - </translation> + <translation>% コード長</translation> </message> <message> <source>Show</source> - <translation type="unfinished"> - </translation> + <translation>表示</translation> </message> <message> <source>OK</source> @@ -2670,8 +2573,7 @@ <name>LEDlg</name> <message> <source>Leading Edge</source> - <translation type="unfinished"> - </translation> + <translation>前縁</translation> </message> <message> <source>Approximate new/old ratio for L.E. radius</source> @@ -2689,8 +2591,7 @@ </message> <message> <source>% chord</source> - <translation type="unfinished"> - </translation> + <translation>% コード長</translation> </message> <message> <source>OK</source> @@ -2710,13 +2611,11 @@ </message> <message> <source>Unrecognized foil format</source> - <translation type="unfinished"> - </translation> + <translation>読み込めない翼型フォーマット</translation> </message> <message> <source>Panel number cannot exceed 300</source> - <translation type="unfinished"> - </translation> + <translation>メッシュの数は300を超えることができない</translation> </message> </context> <context> @@ -2731,8 +2630,7 @@ </message> <message> <source>abs</source> - <translation type="unfinished"> - </translation> + <translation>絶対値</translation> </message> <message> <source>Launching analysis....</source> @@ -2752,8 +2650,7 @@ </message> <message> <source>Number of stations = %1</source> - <translation type="unfinished"> - </translation> + <translation>測定点数=%1</translation> </message> <message> <source>Analysis cancelled on user request....</source> @@ -2777,8 +2674,7 @@ </message> <message> <source>Alpha = %1, skipped after %2 iterations </source> - <translation type="unfinished"> - </translation> + <translation>α = %1, %2回繰り返した後スキップ </translation> </message> <message> <source>QInf = %1 skipped after %2 iterations </source> @@ -2811,8 +2707,7 @@ </message> <message> <source>Initializing analysis...</source> - <translation type="unfinished"> - </translation> + <translation>解析の初期化中...</translation> </message> <message> <source>Calculating QInf = %1... </source> @@ -2978,8 +2873,7 @@ </message> <message> <source>Restores the graph's x and y scales</source> - <translation type="unfinished"> - </translation> + <translation>グラフのXとYのスケールを戻す</translation> </message> <message> <source>E&xit</source> @@ -3210,8 +3104,7 @@ </message> <message> <source>Set Table Columns</source> - <translation type="unfinished"> - </translation> + <translation>表の列をセットする</translation> </message> <message> <source>Reset column widths</source> @@ -3240,8 +3133,7 @@ </message> <message> <source>Context Menu</source> - <translation type="unfinished"> - </translation> + <translation>右クリックメニュー</translation> </message> <message> <source>Options</source> @@ -3283,13 +3175,11 @@ </message> <message> <source>Define the light options in 3D view</source> - <translation type="unfinished"> - </translation> + <translation>3Dビューの光源を設定</translation> </message> <message> <source>Half Wing</source> - <translation type="unfinished"> - </translation> + <translation>翼の半分</translation> </message> <message> <source>Rename the currently selected object</source> @@ -3303,13 +3193,11 @@ </message> <message> <source>Export the current plane or wing to a text file in the format required by AVL</source> - <translation type="unfinished"> - </translation> + <translation>AVL対応フォーマットで選択中の機体をテキストファイルに書き出します</translation> </message> <message> <source>Export the current operating point to a text or csv file</source> - <translation type="unfinished"> - </translation> + <translation>選択中の解析点をテキストファイル又はcsvファイルに書き出します</translation> </message> <message> <source>Reset the legend position to its default value</source> @@ -3317,8 +3205,7 @@ </message> <message> <source>Reset the wing scale to its default value</source> - <translation type="unfinished"> - </translation> + <translation>翼の拡大率を元に戻す</translation> </message> <message> <source>Scale the dimensions of the currently selected wing</source> @@ -3331,68 +3218,55 @@ </message> <message> <source>Rename or delete the planes and wings stored in the database</source> - <translation type="unfinished"> - </translation> + <translation>データベースに保存された飛行機または翼の削除・名前の変更</translation> </message> <message> <source>Import a polar from a text file</source> - <translation type="unfinished"> - </translation> + <translation>テキストファイルからポーラーを読み込みます</translation> </message> <message> <source>Define the inertia for the current plane or wing</source> - <translation type="unfinished"> - </translation> + <translation>選択中の機体の慣性プロパティを設定します</translation> </message> <message> <source>Hide all the curves except for the one corresponding to the currently selected operating point</source> - <translation type="unfinished"> - </translation> + <translation>選択中の解析点以外の曲線をすべて非表示にします</translation> </message> <message> <source>Show the graph curves of all operating points</source> - <translation type="unfinished"> - </translation> + <translation>全ての計算点のグラフの曲線を表示</translation> </message> <message> <source>Hide the graph curves of all operating points</source> - <translation type="unfinished"> - </translation> + <translation>全ての計算点のグラフの曲線を非表示</translation> </message> <message> <source>Delete all the operating points of all planes and polars</source> - <translation type="unfinished"> - </translation> + <translation>全ての飛行機と曲線の計算点を削除</translation> </message> <message> <source>Show the curves of all the operating points of the currently selected polar</source> - <translation type="unfinished"> - </translation> + <translation>選択しているグラフの全計算点の曲線を表示</translation> </message> <message> <source>Hide the curves of all the operating points of the currently selected polar</source> - <translation type="unfinished"> - </translation> + <translation>選択しているグラフの全計算点の曲線を非表示</translation> </message> <message> <source>Delete all the operating points of the currently selected polar</source> - <translation type="unfinished"> - </translation> + <translation>選択しているグラフの全計算点の曲線を削除</translation> </message> <message> <source>Show the theoretical optimal elliptic lift curve on all graphs for which the selected variable is the local lift</source> - <translation type="unfinished"> - </translation> + <translation>選択している局所揚力を変数としたすべてのグラフに理想楕円揚力曲線を表示</translation> </message> <message> <source>Show XCG location</source> - <translation type="unfinished"> - </translation> + <translation>XCGの位置を表示</translation> </message> <message> <source>Show the position of the center of gravity defined in the analysis</source> - <translation type="unfinished"> - </translation> + <translation>解析によって得られた重心の位置を表示</translation> </message> <message> <source>Show the graph curves for the elevator</source> @@ -3401,13 +3275,11 @@ </message> <message> <source>Show the graph curves for the fin</source> - <translation type="unfinished"> - </translation> + <translation>垂直尾翼のグラフを表示</translation> </message> <message> <source>Show the graph curves for the second wing</source> - <translation type="unfinished"> - </translation> + <translation>2番目の翼のグラフを表示</translation> </message> <message> <source>Define an analysis for the current wing or plane</source> @@ -3421,23 +3293,19 @@ </message> <message> <source>Define a stability analysis for the current wing or plane</source> - <translation type="unfinished"> - </translation> + <translation>現在の翼または飛行機に対する安定性解析を定義</translation> </message> <message> <source>Define Graph Settings</source> - <translation type="unfinished"> - </translation> + <translation>グラフのセッティング</translation> </message> <message> <source>Define the settings for the selected graph</source> - <translation type="unfinished"> - </translation> + <translation>現在選択されているグラフのセッティング</translation> </message> <message> <source>Display the first two operating point graphs</source> - <translation type="unfinished"> - </translation> + <translation>最初の二つの計算点のグラフを表示</translation> </message> <message> <source>Display all four operating point graphs</source> @@ -3446,28 +3314,23 @@ </message> <message> <source>Display only the first graph</source> - <translation type="unfinished"> - </translation> + <translation>最初のグラフのみ表示</translation> </message> <message> <source>Display only the second graph</source> - <translation type="unfinished"> - </translation> + <translation>2番目のグラフのみ表示</translation> </message> <message> <source>Display only the third graph</source> - <translation type="unfinished"> - </translation> + <translation>3番目のグラフのみを表示</translation> </message> <message> <source>Display only the fourth graph</source> - <translation type="unfinished"> - </translation> + <translation>4番目のグラフのみを表示</translation> </message> <message> <source>Reset the scale of the current operating point graph</source> - <translation type="unfinished"> - </translation> + <translation>現在の実行点のグラフ目盛りを元に戻す</translation> </message> <message> <source>Reset the scales of all four operating point graphs</source> @@ -3476,8 +3339,7 @@ </message> <message> <source>Reset the scales of all four polar graphs</source> - <translation type="unfinished"> - </translation> + <translation>すべての特性曲線のグラフ目盛りを元に戻す</translation> </message> <message> <source>Define the settings of all four operating point graphs</source> @@ -3486,8 +3348,7 @@ </message> <message> <source>Define the settings of all four polar graphs</source> - <translation type="unfinished"> - </translation> + <translation>特性曲線の一括設定</translation> </message> <message> <source>Hide all the polar curves associated to the currently selected wing or plane</source> @@ -3526,8 +3387,7 @@ </message> <message> <source>Delete all the operating points of the currently selected wing or plane</source> - <translation type="unfinished"> - </translation> + <translation>現在選択されている翼または飛行機に関する全ての動作点曲線を消去する</translation> </message> <message> <source>Delete the currently selected wing or plane</source> @@ -3541,8 +3401,7 @@ </message> <message> <source>Save the currently selected wing or plane as a new separate project</source> - <translation type="unfinished"> - </translation> + <translation>現在選択されている翼あるいは機体を新規プロジェクトとして保存</translation> </message> <message> <source>Rename the currently selected polar</source> @@ -3556,8 +3415,7 @@ </message> <message> <source>Export the currently selected polar to a text or csv file</source> - <translation type="unfinished"> - </translation> + <translation>現在選択されている特性曲線をテキストファイルまたはcsvファイルとして書き出す</translation> </message> <message> <source>Delete all the points of the currently selected polar, but keep the analysis settings</source> @@ -3601,8 +3459,7 @@ </message> <message> <source>XFLR5 v6 Project File (*.wpa);;XFLR5 v5 Project File (*.*)</source> - <translation type="unfinished"> - </translation> + <translation>XFLR5 v6 Project File (*.wpa);;XFLR5 v5 Project File (*.*)</translation> </message> <message> <source>Foil</source> @@ -3690,8 +3547,7 @@ </message> <message> <source>Edit Current</source> - <translation type="unfinished"> - </translation> + <translation>現在の機体を編集</translation> </message> <message> <source>Exit</source> @@ -3703,8 +3559,7 @@ </message> <message> <source>Show the properties of the currently selected operating point</source> - <translation type="unfinished"> - </translation> + <translation>選択中の計算点の特性を表示</translation> </message> <message> <source>Foil Actions</source> @@ -3789,8 +3644,7 @@ </message> <message> <source>Scale Wing</source> - <translation type="unfinished"> - </translation> + <translation>翼を拡大縮小</translation> </message> <message> <source>Import Polar</source> @@ -3798,13 +3652,11 @@ </message> <message> <source>Define Inertia</source> - <translation type="unfinished"> - </translation> + <translation>慣性の設定</translation> </message> <message> <source>Show Current OpPoint Only</source> - <translation type="unfinished"> - </translation> + <translation>現在の計算点のみを表示</translation> </message> <message> <source>Show All OpPoints</source> @@ -3820,18 +3672,15 @@ </message> <message> <source>Show Associated OpPoints</source> - <translation type="unfinished"> - </translation> + <translation>関連する計算点を表示</translation> </message> <message> <source>Hide Associated OpPoints</source> - <translation type="unfinished"> - </translation> + <translation>関連する計算点を非表示</translation> </message> <message> <source>Delete Associated OpPoints</source> - <translation type="unfinished"> - </translation> + <translation>関連する計算点を消去</translation> </message> <message> <source>Show Elliptic Curve</source> @@ -3860,8 +3709,7 @@ </message> <message> <source>Reset All Graph Scales</source> - <translation type="unfinished"> - </translation> + <translation>全てのグラフの縮尺を元に戻す</translation> </message> <message> <source>All Graph Settings</source> @@ -3880,8 +3728,7 @@ </message> <message> <source>Delete Associated Polars</source> - <translation type="unfinished"> - </translation> + <translation>関連極座標の消去</translation> </message> <message> <source>Hide All Polars</source> @@ -3995,8 +3842,7 @@ </message> <message> <source>Save associated polars</source> - <translation type="unfinished"> - </translation> + <translation>関連極座標の保存</translation> </message> <message> <source>Hide associated OpPoints</source> @@ -4119,13 +3965,11 @@ </message> <message> <source>Reset XFoil</source> - <translation type="unfinished"> - </translation> + <translation>XFoilをリセット</translation> </message> <message> <source>XFoil Advanced Settings</source> - <translation type="unfinished"> - </translation> + <translation>XFoilの詳細設定</translation> </message> <message> <source>Tip : you don't want to use that option...</source> @@ -4138,8 +3982,7 @@ </message> <message> <source>Cp Variable</source> - <translation type="unfinished"> - </translation> + <translation>Cpの変数</translation> </message> <message> <source>Sets Cp vs. chord graph</source> @@ -4153,8 +3996,7 @@ </message> <message> <source>Sets Speed vs. chord graph</source> - <translation type="unfinished"> - </translation> + <translation>速度-翼弦長グラフを設定</translation> </message> <message> <source>Export Cur. XFoil Results</source> @@ -4163,8 +4005,7 @@ </message> <message> <source>Max. Shear Coefficient</source> - <translation type="unfinished"> - </translation> + <translation>最大せん断力係数</translation> </message> <message> <source>Bottom Side D* and Theta</source> @@ -4178,33 +4019,27 @@ </message> <message> <source>Log(Re_Theta)</source> - <translation type="unfinished"> - </translation> + <translation>Log(Re_Theta)</translation> </message> <message> <source>Re_Theta</source> - <translation type="unfinished"> - </translation> + <translation>Re_Theta</translation> </message> <message> <source>Amplification Ratio</source> - <translation type="unfinished"> - </translation> + <translation>応答倍率</translation> </message> <message> <source>Dissipation Coefficient</source> - <translation type="unfinished"> - </translation> + <translation>散逸係数</translation> </message> <message> <source>Skin Friction Coefficient</source> - <translation type="unfinished"> - </translation> + <translation>表面摩擦係数</translation> </message> <message> <source>Edge Velocity</source> - <translation type="unfinished"> - </translation> + <translation>エッジ速度</translation> </message> <message> <source>Kinematic Shape Parameter</source> @@ -4238,8 +4073,7 @@ </message> <message> <source>Current XFoil Results</source> - <translation type="unfinished"> - </translation> + <translation>現在のXfoilの結果</translation> </message> <message> <source>Store Foil</source> @@ -4266,13 +4100,11 @@ </message> <message> <source>Resets the scale to fit the screen size</source> - <translation type="unfinished"> - </translation> + <translation>画面サイズに合わせてスケールをリセット</translation> </message> <message> <source>Insert Control Point</source> - <translation type="unfinished"> - </translation> + <translation>操作点の挿入</translation> </message> <message> <source>Remove Control Point</source> @@ -4310,8 +4142,7 @@ </message> <message> <source>Zoom X Scale Only</source> - <translation type="unfinished"> - </translation> + <translation>X方向のみ拡大</translation> </message> <message> <source>Zoom Y Scale</source> @@ -4338,8 +4169,7 @@ </message> <message> <source>Are you sure you want to delete</source> - <translation type="unfinished"> - </translation> + <translation>本当に削除してもよろしいですか?</translation> </message> <message> <source>and all associated OpPoints and Polars ?</source> @@ -4352,8 +4182,8 @@ <message> <source>Could not read the file </source> - <translation type="unfinished"> - </translation> + <translation>ファイルを読み込めませんでした +</translation> </message> <message> <source>Info</source> @@ -4420,7 +4250,7 @@ </message> <message> <source>Units...</source> - <translation>単位...</translation> + <translation>単位の設定</translation> </message> <message> <source>Language...</source> @@ -4436,78 +4266,63 @@ </message> <message> <source>Reset Graph Scales</source> - <translation type="unfinished"> - </translation> + <translation>グラフの縮尺をリセット</translation> </message> <message> <source>Two Graphs</source> - <translation type="unfinished"> - </translation> + <translation>2つのグラフ</translation> </message> <message> <source>All Graphs</source> - <translation type="unfinished"> - </translation> + <translation>全てのグラフ</translation> </message> <message> <source>Graph 1</source> - <translation type="unfinished"> - </translation> + <translation>グラフ1</translation> </message> <message> <source>Graph 2</source> - <translation type="unfinished"> - </translation> + <translation>グラフ2</translation> </message> <message> <source>Graph 3</source> - <translation type="unfinished"> - </translation> + <translation>グラフ3</translation> </message> <message> <source>Graph 4</source> - <translation type="unfinished"> - </translation> + <translation>グラフ4</translation> </message> <message> <source>Define Cp Graph Settings</source> - <translation type="unfinished"> - </translation> + <translation>Cpグラフの設定</translation> </message> <message> <source>Two Polar Graphs</source> - <translation type="unfinished"> - </translation> + <translation>グラフを2つ表示</translation> </message> <message> <source>All Polar Graphs</source> - <translation type="unfinished"> - </translation> + <translation>全てのグラフを表示</translation> </message> <message> <source>Cl vs. Cd</source> - <translation type="unfinished"> - </translation> + <translation>揚抗比</translation> </message> <message> <source>Cl vs.Alpha</source> - <translation type="unfinished"> - </translation> + <translation>Cl-α</translation> </message> <message> <source>Cl vs. Xtr.</source> - <translation type="unfinished"> - </translation> + <translation>Cl-Xtr</translation> </message> <message> <source>Cm vs.Alpha</source> - <translation type="unfinished"> - </translation> + <translation>Cm-α</translation> </message> <message> <source>Glide ratio vs. alpha</source> - <translation type="unfinished"> - </translation> + <translation>揚抗比-α</translation> </message> <message> <source>Analysis</source> @@ -4564,14 +4379,17 @@ </message> <message> <source>&%1 %2</source> - <translation type="unfinished"> - </translation> + <translation>&%1 %2</translation> </message> <message> <source>Foil Error : no points</source> <translation type="unfinished"> </translation> </message> + <message> + <source>Error reading the file</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ManageBodiesDlg</name> @@ -4617,15 +4435,15 @@ </message> <message> <source>The body </source> - <translation type="unfinished"> - </translation> + <translation>導体 </translation> </message> <message> <source> is in use by a plane. Delete Anyhow? </source> - <translation type="unfinished"> - </translation> + <translation> は機体に使われています + それでも削除しますか? +</translation> </message> <message> <source>Question</source> @@ -4640,8 +4458,8 @@ <message> <source>The modification will erase all results for the planes using this body. Continue ?</source> - <translation type="unfinished"> - </translation> + <translation>変更すると、このボディを使用する機体の計算結果が全て消去されます。 +続行しますか?</translation> </message> </context> <context> @@ -4751,28 +4569,23 @@ </message> <message> <source>Span</source> - <translation type="unfinished"> - </translation> + <translation>スパン</translation> </message> <message> <source>Area</source> - <translation type="unfinished"> - </translation> + <translation>翼面積</translation> </message> <message> <source>M.A.C.</source> - <translation type="unfinished"> - </translation> + <translation>空力平均翼弦</translation> </message> <message> <source>AR</source> - <translation type="unfinished"> - </translation> + <translation>アスペクト比</translation> </message> <message> <source>TR</source> - <translation type="unfinished"> - </translation> + <translation>テーパー比</translation> </message> <message> <source>Rt-Tip Sweep</source> @@ -4781,8 +4594,7 @@ </message> <message> <source>Tail Volume</source> - <translation type="unfinished"> - </translation> + <translation>尾翼容積</translation> </message> <message> <source>UFOs</source> @@ -4792,14 +4604,14 @@ <message> <source>Are you sure you want to delete the plane : </source> - <translation type="unfinished"> - </translation> + <translation>本当にこの飛行機を削除してもよろしいですか? +</translation> </message> <message> <source>Are you sure you want to delete the wing : </source> - <translation type="unfinished"> - </translation> + <translation>本当にこの翼を削除してもよろしいですか? +</translation> </message> <message> <source>Question</source> @@ -4810,8 +4622,7 @@ <name>ModDlg</name> <message> <source>Modification</source> - <translation type="unfinished"> - </translation> + <translation>修正</translation> </message> <message> <source>OK</source> @@ -4823,8 +4634,7 @@ </message> <message> <source>Save as new</source> - <translation type="unfinished"> - </translation> + <translation>名前を付けて保存</translation> </message> </context> <context> @@ -4886,8 +4696,7 @@ <name>PanelAnalysisDlg</name> <message> <source>3D Panel Analysis</source> - <translation type="unfinished"> - </translation> + <translation>3Dパネル解析</translation> </message> <message> <source>Warning</source> @@ -4900,8 +4709,7 @@ </message> <message> <source> Solving the problem... </source> - <translation type="unfinished"> - </translation> + <translation> 解析中... </translation> </message> <message> <source> Adding the wake's contribution...</source> @@ -4925,8 +4733,7 @@ </message> <message> <source> Calculating point </source> - <translation type="unfinished"> - </translation> + <translation> 計算点 </translation> </message> <message> <source> Computing Plane for alpha=%1</source> @@ -4955,23 +4762,19 @@ </message> <message> <source>Type 1 - Fixed speed polar</source> - <translation type="unfinished"> - </translation> + <translation>タイプ1 - 速度一定のポーラー</translation> </message> <message> <source>Type 2 - Fixed lift polar</source> - <translation type="unfinished"> - </translation> + <translation>タイプ2 : 揚力一定のポーラー</translation> </message> <message> <source>Type 4 - Fixed angle of attack polar</source> - <translation type="unfinished"> - </translation> + <translation>タイプ4 : 迎角一定のポーラー</translation> </message> <message> <source>Type 7 - Stability polar</source> - <translation type="unfinished"> - </translation> + <translation>タイプ7:安定性ポーラー</translation> </message> <message> <source>Performing asymmetric calculation : </source> @@ -5000,8 +4803,7 @@ </message> <message> <source>Found a negative lift for Alpha=%1.... skipping the angle...</source> - <translation type="unfinished"> - </translation> + <translation>負揚力値がα=%1において見つかりました…スキップ中…</translation> </message> <message> <source>Performing symmetric calculation</source> @@ -5010,28 +4812,23 @@ </message> <message> <source>Launching 3D Panel Analysis....</source> - <translation type="unfinished"> - </translation> + <translation>3Dパネル解析を開始しています...</translation> </message> <message> <source>Launching VLM1 Analysis....</source> - <translation type="unfinished"> - </translation> + <translation>VLM1解析を開始しています...</translation> </message> <message> <source>Launching VLM2 Analysis....</source> - <translation type="unfinished"> - </translation> + <translation>VLM2解析を開始しています...</translation> </message> <message> <source>Using Dirichlet boundary conditions</source> - <translation type="unfinished"> - </translation> + <translation>ディリクレ境界条件の使用</translation> </message> <message> <source>Using Neumann boundary conditions</source> - <translation type="unfinished"> - </translation> + <translation>ノイマン境界条件の使用</translation> </message> <message> <source>Warning: The wing and elevator lie in the same plane z=</source> @@ -5040,23 +4837,19 @@ </message> <message> <source>It is recommended to slightly offset the wing or the elevator to avoid numerical instabilities</source> - <translation type="unfinished"> - </translation> + <translation>数値的不安定性を回避するため,翼とエレベータを少しオフセットすることを推奨します</translation> </message> <message> <source>Panel Analysis completed successfully</source> - <translation type="unfinished"> - </translation> + <translation>パネル解析が完了しました</translation> </message> <message> <source>Panel Analysis completed ... Errors encountered</source> - <translation type="unfinished"> - </translation> + <translation>パネル解析が完了しました 解析中にいくつかのエラーが発生しました</translation> </message> <message> <source>Close</source> - <translation type="unfinished"> - </translation> + <translation>閉じる</translation> </message> <message> <source>Processing Alpha= %1</source> @@ -5078,8 +4871,7 @@ </message> <message> <source>Restore</source> - <translation type="unfinished"> - </translation> + <translation>復元</translation> </message> <message> <source>Apply</source> @@ -5103,8 +4895,7 @@ <name>PlaneDlg</name> <message> <source>Plane Editor</source> - <translation type="unfinished"> - </translation> + <translation>飛行機設計者</translation> </message> <message> <source>Total number of VLM panels =%1 @@ -5126,8 +4917,7 @@ </message> <message> <source>Save the changes ?</source> - <translation type="unfinished"> - </translation> + <translation>変更点を保存しますか?</translation> </message> <message> <source>Question</source> @@ -5149,18 +4939,15 @@ </message> <message> <source>Plane Inertia</source> - <translation type="unfinished"> - </translation> + <translation>飛行機の慣性</translation> </message> <message> <source>Plane Description</source> - <translation type="unfinished"> - </translation> + <translation>飛行機の詳細</translation> </message> <message> <source>Define</source> - <translation type="unfinished"> - </translation> + <translation>定義</translation> </message> <message> <source>Import</source> @@ -5169,68 +4956,55 @@ </message> <message> <source>Export</source> - <translation type="unfinished"> - </translation> + <translation>エクスポート</translation> </message> <message> <source>x=</source> - <translation type="unfinished"> - </translation> + <translation>x=</translation> </message> <message> <source>z=</source> - <translation type="unfinished"> - </translation> + <translation>z=</translation> </message> <message> <source>Tilt Angle=</source> - <translation type="unfinished"> - </translation> + <translation>傾きの角度</translation> </message> <message> <source>Main Wing</source> - <translation type="unfinished"> - </translation> + <translation>主翼</translation> </message> <message> <source>Biplane</source> - <translation type="unfinished"> - </translation> + <translation>複葉機</translation> </message> <message> <source>Wing 2</source> - <translation type="unfinished"> - </translation> + <translation>翼2</translation> </message> <message> <source>Elevator</source> - <translation type="unfinished"> - </translation> + <translation>エレベーター</translation> </message> <message> <source>Fin</source> - <translation type="unfinished"> - </translation> + <translation>垂直尾翼</translation> </message> <message> <source>Double Fin</source> - <translation type="unfinished"> - </translation> + <translation>2つのフィン</translation> </message> <message> <source>Two-sided Fin</source> - <translation type="unfinished"> - </translation> + <translation>V字尾翼</translation> </message> <message> <source>y=</source> - <translation type="unfinished"> - </translation> + <translation>y=</translation> </message> <message> <source>Body</source> - <translation type="unfinished"> - </translation> + <translation>ボディ</translation> </message> <message> <source>Edit...</source> @@ -5238,38 +5012,31 @@ </message> <message> <source>Wing Area = </source> - <translation type="unfinished"> - </translation> + <translation>翼面積 = </translation> </message> <message> <source>Wing Span = </source> - <translation type="unfinished"> - </translation> + <translation>翼のスパン = </translation> </message> <message> <source>Elev. Area = </source> - <translation type="unfinished"> - </translation> + <translation>エレベータの面積 = </translation> </message> <message> <source>Elev. Lever Arm = </source> - <translation type="unfinished"> - </translation> + <translation>エレベータモーメントアーム = </translation> </message> <message> <source>Fin Area = </source> - <translation type="unfinished"> - </translation> + <translation>垂直尾翼面積 = </translation> </message> <message> <source>TailVolume = </source> - <translation type="unfinished"> - </translation> + <translation>尾翼容積 = </translation> </message> <message> <source>Total Panels = </source> - <translation type="unfinished"> - </translation> + <translation>パネル総数= </translation> </message> <message> <source>OK</source> @@ -5279,13 +5046,18 @@ <source>Cancel</source> <translation>キャンセル</translation> </message> + <message> + <source>Warning: +Including the body in the analysis is not recommended. +Check the guidelines for explanations.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>PolarFilterDlg</name> <message> <source>Polar Filter</source> - <translation type="unfinished"> - </translation> + <translation>グラフのフィルタ</translation> </message> <message> <source>Show polar types</source> @@ -5333,8 +5105,7 @@ <name>ProgressDlg</name> <message> <source>Progress</source> - <translation type="unfinished"> - </translation> + <translation>進行状況</translation> </message> <message> <source>Cancel</source> @@ -5345,13 +5116,11 @@ <name>QAFoil</name> <message> <source>Spline foil</source> - <translation type="unfinished"> - </translation> + <translation>スプラインで結ばれた翼型</translation> </message> <message> <source>Splined points foil</source> - <translation type="unfinished"> - </translation> + <translation>点をスプライン曲線で結んだ翼型</translation> </message> <message> <source>Foil has been de-rotated by %1 degrees</source> @@ -5360,8 +5129,7 @@ </message> <message> <source>Foil has been normalized from %1 to 1.000</source> - <translation type="unfinished"> - </translation> + <translation>翼型は%1 から1.000に規格化される</translation> </message> <message> <source>Warning</source> @@ -5369,8 +5137,7 @@ </message> <message> <source>At least two foils are required</source> - <translation type="unfinished"> - </translation> + <translation>2つ以上の翼型が必要です</translation> </message> <message> <source>Export Foil</source> @@ -5382,25 +5149,23 @@ </message> <message> <source>Spline Foil</source> - <translation type="unfinished"> - </translation> + <translation>スプライン翼型</translation> </message> <message> <source>Too many output points on upper surface Max =%1</source> - <translation type="unfinished"> - </translation> + <translation>上面にある入力点が多すぎます + 最大=%1</translation> </message> <message> <source>Too many output points on lower surface Max =%1</source> - <translation type="unfinished"> - </translation> + <translation>下面にある入力点が多すぎます + 最大=%1</translation> </message> <message> <source>Export Splines</source> - <translation type="unfinished"> - </translation> + <translation>スプライン曲線のエクスポート</translation> </message> <message> <source>Text File (*.dat)</source> @@ -5416,18 +5181,15 @@ </message> <message> <source>x = %1</source> - <translation type="unfinished"> - </translation> + <translation>x = %1</translation> </message> <message> <source>y = %1</source> - <translation type="unfinished"> - </translation> + <translation>y = %1</translation> </message> <message> <source>Open Image File</source> - <translation type="unfinished"> - </translation> + <translation>イメージファイルを開く</translation> </message> <message> <source>Question</source> @@ -5443,18 +5205,15 @@ </message> <message> <source>Thickness (%)</source> - <translation type="unfinished"> - </translation> + <translation>翼厚 (%)</translation> </message> <message> <source>at (%)</source> - <translation type="unfinished"> - </translation> + <translation>位置(%)</translation> </message> <message> <source>Camber (%)</source> - <translation type="unfinished"> - </translation> + <translation>キャンバー (%)</translation> </message> <message> <source>Points</source> @@ -5462,33 +5221,27 @@ </message> <message> <source>TE Flap (</source> - <translation type="unfinished"> - </translation> + <translation>後縁フラップ (</translation> </message> <message> <source>TE XHinge</source> - <translation type="unfinished"> - </translation> + <translation>後縁のX軸ヒンジ</translation> </message> <message> <source>TE YHinge</source> - <translation type="unfinished"> - </translation> + <translation>後縁のY軸ヒンジ</translation> </message> <message> <source>LE Flap (</source> - <translation type="unfinished"> - </translation> + <translation>前縁フラップ (</translation> </message> <message> <source>LE XHinge</source> - <translation type="unfinished"> - </translation> + <translation>前縁のX軸ヒンジ</translation> </message> <message> <source>LE YHinge</source> - <translation type="unfinished"> - </translation> + <translation>前縁のY軸ヒンジ</translation> </message> <message> <source>Show</source> @@ -5504,51 +5257,42 @@ </message> <message> <source>Foils</source> - <translation type="unfinished"> - </translation> + <translation>翼型</translation> </message> </context> <context> <name>QMiarex</name> <message> <source>Cd</source> - <translation type="unfinished"> - </translation> + <translation>Cd</translation> </message> <message> <source>Cl</source> - <translation type="unfinished"> - </translation> + <translation>Cl</translation> </message> <message> <source>Alpha</source> - <translation type="unfinished"> - </translation> + <translation>迎え角</translation> </message> <message> <source>Cn</source> - <translation type="unfinished"> - </translation> + <translation>Cn</translation> </message> <message> <source>VCn</source> - <translation type="unfinished"> - </translation> + <translation>VCn</translation> </message> <message> <source>ICn</source> - <translation type="unfinished"> - </translation> + <translation>ICn</translation> </message> <message> <source>x</source> - <translation type="unfinished"> - </translation> + <translation>x</translation> </message> <message> <source>Cp</source> - <translation type="unfinished"> - </translation> + <translation>Cp</translation> </message> <message> <source>Warning</source> @@ -5563,8 +5307,8 @@ <message> <source>The modification will erase all results associated to this Plane. Continue ?</source> - <translation type="unfinished"> - </translation> + <translation>この修正を行うと、この飛行機に関する全ての解析結果が消えてしまいます。 +続行しますか?</translation> </message> <message> <source>Induced Angle</source> @@ -5572,8 +5316,7 @@ </message> <message> <source>Total Angle</source> - <translation type="unfinished"> - </translation> + <translation>Total Angle</translation> </message> <message> <source>Local lift</source> @@ -5597,59 +5340,55 @@ </message> <message> <source>Cm Airfoil</source> - <translation type="unfinished"> - </translation> + <translation>Cm Airfoil</translation> </message> <message> <source>Time =</source> - <translation type="unfinished"> - </translation> + <translation>時間=</translation> </message> <message> <source>Are you sure you want to delete the polars associated to : </source> - <translation type="unfinished"> - </translation> + <translation>関連付けられたグラフを消してよろしいですか : +</translation> </message> <message> <source>Cl = </source> - <translation type="unfinished"> - </translation> + <translation>Cl = </translation> </message> <message> <source>Cm =</source> - <translation type="unfinished"> - </translation> + <translation>モーメント係数=</translation> </message> <message> <source>ICn = %1 PCn = %2 </source> - <translation type="unfinished"> - </translation> + <translation>ICn = %1 PCn = %2 +</translation> </message> <message> <source>ICn=, %1,PCn=, %2 </source> - <translation type="unfinished"> - </translation> + <translation>ICn=, %1,PCn=, %2 +</translation> </message> <message> <source>XNP = %1 </source> - <translation type="unfinished"> - </translation> + <translation>XNP = %1 +</translation> </message> <message> <source>XNP=, %1 </source> - <translation type="unfinished"> - </translation> + <translation>XNP=, %1 +</translation> </message> <message> <source>Cp Coefficients </source> - <translation type="unfinished"> - </translation> + <translation type="obsolete">Cp 係数 +</translation> </message> <message> <source>Polar properties</source> @@ -5657,48 +5396,39 @@ </message> <message> <source>Cm</source> - <translation type="unfinished"> - </translation> + <translation>Cm</translation> </message> <message> <source>Real</source> - <translation type="unfinished"> - </translation> + <translation>Real</translation> </message> <message> <source>Imag/2.pi</source> - <translation type="unfinished"> - </translation> + <translation>Im/2.pi</translation> </message> <message> <source>Cm total</source> - <translation type="unfinished"> - </translation> + <translation>総Cm</translation> </message> <message> <source>Re</source> - <translation type="unfinished"> - </translation> + <translation>Re</translation> </message> <message> <source>Top Trans x-Pos %</source> - <translation type="unfinished"> - </translation> + <translation>上面の遷移位置 %</translation> </message> <message> <source>Bot Trans x-Pos %</source> - <translation type="unfinished"> - </translation> + <translation>下面の遷移位置 %</translation> </message> <message> <source>CP x-Pos %</source> - <translation type="unfinished"> - </translation> + <translation>風圧中心位置 %</translation> </message> <message> <source>BM (</source> - <translation type="unfinished"> - </translation> + <translation>BM (</translation> </message> <message> <source>Point is out of the flight envelope</source> @@ -5707,61 +5437,53 @@ </message> <message> <source>Alpha = %1 </source> - <translation type="unfinished"> - </translation> + <translation>Alpha = %1 </translation> </message> <message> <source>Efficiency = %1 </source> - <translation type="unfinished"> - </translation> + <translation>翼効率 = %1 </translation> </message> <message> <source>Cl/Cd = %1 </source> - <translation type="unfinished"> - </translation> + <translation>Cl/Cd = %1 </translation> </message> <message> <source>GCm = %1 </source> - <translation type="unfinished"> - </translation> + <translation>GCm = %1 </translation> </message> <message> <source>Please define a wing or a plane object before running a calculation</source> - <translation type="unfinished"> - </translation> + <translation>計算実行前に翼もしくは飛行機のオブジェクトを定義して下さい</translation> </message> <message> <source>Please define an analysis/polar before running a calculation</source> - <translation type="unfinished"> - </translation> + <translation>計算実行前に解析の定義を行って下さい</translation> </message> <message> <source>Could not find the wing's foil </source> - <translation type="unfinished"> - </translation> + <translation>翼型が見つかりません </translation> </message> <message> <source>... Aborting Calculation</source> - <translation type="unfinished"> - </translation> + <translation>... +計算を中断しています</translation> </message> <message> <source>The polar already exists</source> - <translation type="unfinished"> - </translation> + <translation>そのポーラーは既に存在しています</translation> </message> <message> <source>Are you sure you want to delete the plane : </source> - <translation type="unfinished"> - </translation> + <translation>本当にこの飛行機を削除してもよろしいですか? +</translation> </message> <message> <source>Are you sure you want to delete the wing : </source> - <translation type="unfinished"> - </translation> + <translation>本当にこの翼を削除してもよろしいですか? +</translation> </message> <message> <source>Question</source> @@ -5770,25 +5492,24 @@ <message> <source>Are you sure you want to delete the polar : </source> - <translation type="unfinished"> - </translation> + <translation>この曲線を消去してもよろしいですか? +</translation> </message> <message> <source>The modification will erase all results for the planes using this body. Continue ?</source> - <translation type="unfinished"> - </translation> + <translation>変更すると、このボディを使用する機体の計算結果が全て消去されます。 +続行しますか?</translation> </message> <message> <source>The modification will erase all results associated to this Wing. Continue ?</source> - <translation type="unfinished"> - </translation> + <translation>変更すると、この翼に関係する計算結果が全て消去されます。 +続行しますか?</translation> </message> <message> <source>Export Wing OpPoint</source> - <translation type="unfinished"> - </translation> + <translation>翼の計算点の書き出し</translation> </message> <message> <source>Text File (*.txt);;Comma Separated Values (*.csv)</source> @@ -5797,41 +5518,38 @@ <message> <source>Cd = %1 ICd = %2 PCd = %3 </source> - <translation type="unfinished"> - </translation> + <translation>Cd = %1 ICd = %2 PCd = %3 +</translation> </message> <message> <source>Cd=,%1,ICd=, %2,PCd=, %3 </source> - <translation type="unfinished"> - </translation> + <translation>Cd=,%1,ICd=, %2,PCd=, %3 +</translation> </message> <message> <source>XCP = %1 YCP = %2 </source> - <translation type="unfinished"> - </translation> + <translation>XCP = %1 YCP = %2 +</translation> </message> <message> <source>XCP=, %1, YCP=, %2 </source> - <translation type="unfinished"> - </translation> + <translation>XCP=, %1, YCP=, %2 +</translation> </message> <message> <source>Bend. =</source> - <translation type="unfinished"> - </translation> + <translation>Bend. =</translation> </message> <message> <source>Flap </source> - <translation type="unfinished"> - </translation> + <translation>フラップ </translation> </message> <message> <source>Export Polar</source> - <translation type="unfinished"> - </translation> + <translation>曲線の書き出し</translation> </message> <message> <source>Open File</source> @@ -5839,25 +5557,23 @@ </message> <message> <source>UFO Polar Format (*.*)</source> - <translation type="unfinished"> - </translation> + <translation>UFO Polar Format (*.*)</translation> </message> <message> <source>Could not read the file </source> - <translation type="unfinished"> - </translation> + <translation>ファイルを読み込めませんでした +</translation> </message> <message> <source>No UFO with the name </source> - <translation type="unfinished"> - </translation> + <translation>名前を持った飛行機がありません。 </translation> </message> <message> <source> could be found. The polar(s) will not be stored</source> - <translation type="unfinished"> - </translation> + <translation> +見つかりません。曲線は保存されません。</translation> </message> <message> <source>Enter the new name for the wing polar :</source> @@ -5872,23 +5588,19 @@ </message> <message> <source>abcdefghijklmnopqrstuvwxyz012345678</source> - <translation type="unfinished"> - </translation> + <translation>abcdefghijklmnopqrstuvwxyz012345678</translation> </message> <message> <source>abcdefghijklmnopqrstuvwxyz01234567</source> - <translation type="unfinished"> - </translation> + <translation>abcdefghijklmnopqrstuvwxyz01234567</translation> </message> <message> <source>VCm</source> - <translation type="unfinished"> - </translation> + <translation>VCm</translation> </message> <message> <source>ICm</source> - <translation type="unfinished"> - </translation> + <translation>ICm</translation> </message> <message> <source>Wing Polar Graph 1</source> @@ -5916,8 +5628,7 @@ </message> <message> <source>Current Plane</source> - <translation type="unfinished"> - </translation> + <translation>現在の飛行機</translation> </message> <message> <source>Current Wing</source> @@ -5925,14 +5636,13 @@ </message> <message> <source>Current Object</source> - <translation type="unfinished"> - </translation> + <translation>現在のオブジェクト</translation> </message> <message> <source>The total number of panels is %1. The Max Number is %2. A reduction of the number of panels is required</source> - <translation type="unfinished"> - </translation> + <translation>合計パネル数は%1です。最大パネル数は%2です。 +パネル数を減らして下さい。</translation> </message> <message> <source>Control polars are not supported in XFLR5 v6. @@ -5949,31 +5659,30 @@ <message> <source>Wing Cp Coefficients </source> - <translation type="unfinished"> - </translation> + <translation>翼のCp係数 +</translation> </message> <message> <source> Panel CtrlPt.x CtrlPt.y CtrlPt.z Cp </source> - <translation type="unfinished"> - </translation> + <translation> Panel CtrlPt.x CtrlPt.y CtrlPt.z Cp +</translation> </message> <message> <source>Panel,CtrlPt.x,CtrlPt.y,CtrlPt.z,Cp </source> - <translation type="unfinished"> - </translation> + <translation>Panel,CtrlPt.x,CtrlPt.y,CtrlPt.z,Cp +</translation> </message> <message> <source>Strip %1 </source> - <translation type="unfinished"> - </translation> + <translation>Strip %1 +</translation> </message> <message> <source>Export UFO</source> - <translation type="unfinished"> - </translation> + <translation>飛行機のエクスポート</translation> </message> <message> <source>AVL Text File (*.avl)</source> @@ -5981,74 +5690,61 @@ </message> <message> <source>Project</source> - <translation type="unfinished"> - </translation> + <translation>投影面</translation> </message> <message> <source>The modification will erase all polar results associated to this Plane. Continue ?</source> - <translation type="unfinished"> - </translation> + <translation>変更はこの飛行機に関連する全てのポーラーの結果を消去します. +続けますか?</translation> </message> <message> <source>Wing Span =</source> - <translation type="unfinished"> - </translation> + <translation>翼幅 =</translation> </message> <message> <source>xyProj. Span =</source> - <translation type="unfinished"> - </translation> + <translation>xy平面に投影したスパン =</translation> </message> <message> <source>Wing Area =</source> - <translation type="unfinished"> - </translation> + <translation>翼面積=</translation> </message> <message> <source>xyProj. Area =</source> - <translation type="unfinished"> - </translation> + <translation>xy平面に投影した面積 =</translation> </message> <message> <source>Plane Mass =</source> - <translation type="unfinished"> - </translation> + <translation>機体重量 =</translation> </message> <message> <source>Wing Load =</source> - <translation type="unfinished"> - </translation> + <translation>翼面加重 =</translation> </message> <message> <source>Tail Volume =</source> - <translation type="unfinished"> - </translation> + <translation>尾翼容積 =</translation> </message> <message> <source>Root Chord =</source> - <translation type="unfinished"> - </translation> + <translation>翼根の翼弦長 =</translation> </message> <message> <source>MAC =</source> - <translation type="unfinished"> - </translation> + <translation>空力平均翼弦=</translation> </message> <message> <source>TipTwist =</source> - <translation type="unfinished"> - </translation> + <translation>翼端捻り上げ =</translation> </message> <message> <source>Aspect Ratio =</source> - <translation type="unfinished"> - </translation> + <translation>アスペクト比 =</translation> </message> <message> <source>Taper Ratio =</source> - <translation type="unfinished"> - </translation> + <translation>テーパー比 =</translation> </message> <message> <source>Root-Tip Sweep =</source> @@ -6057,28 +5753,23 @@ </message> <message> <source>V = %1 </source> - <translation type="unfinished"> - </translation> + <translation>V = %1 </translation> </message> <message> <source>No unit defined for speed...</source> - <translation type="unfinished"> - </translation> + <translation>速度の単位が設定されていません</translation> </message> <message> <source>Lift Coef. = %1 </source> - <translation type="unfinished"> - </translation> + <translation>揚力係数= </translation> </message> <message> <source>Drag Coef. = %1 </source> - <translation type="unfinished"> - </translation> + <translation>抗力係数= </translation> </message> <message> <source>Rolling Moment Coef. = %1 </source> - <translation type="unfinished"> - </translation> + <translation>ロールモーメント係数= </translation> </message> <message> <source>Induced Moment Coef = %1 </source> @@ -6097,23 +5788,19 @@ </message> <message> <source>Top transition</source> - <translation type="unfinished"> - </translation> + <translation>上面の遷移</translation> </message> <message> <source>Bottom transition</source> - <translation type="unfinished"> - </translation> + <translation>下面の遷移</translation> </message> <message> <source>Centre of Pressure</source> - <translation type="unfinished"> - </translation> + <translation>風圧中心</translation> </message> <message> <source>Moment ref. location</source> - <translation type="unfinished"> - </translation> + <translation>モーメント参照位置</translation> </message> <message> <source>Enter the new name for the Body :</source> @@ -6121,14 +5808,13 @@ </message> <message> <source>The body </source> - <translation type="unfinished"> - </translation> + <translation>胴体 </translation> </message> <message> <source> is used by one or more planes. Overwrite anyway ? (Results will be lost)</source> - <translation type="unfinished"> - </translation> + <translation> は他の飛行機で用いられています。 + 上書きしますか?(結果は失われます)</translation> </message> <message> <source>Enter the new name for the Plane :</source> @@ -6140,33 +5826,27 @@ </message> <message> <source>Sequence</source> - <translation type="unfinished"> - </translation> + <translation>Sequence</translation> </message> <message> <source>Start=</source> - <translation type="unfinished"> - </translation> + <translation>開始=</translation> </message> <message> <source>End=</source> - <translation type="unfinished"> - </translation> + <translation>終わり=</translation> </message> <message> <source>D=</source> - <translation type="unfinished"> - </translation> + <translation>D=</translation> </message> <message> <source>Init LLT</source> - <translation type="unfinished"> - </translation> + <translation>Init LLT</translation> </message> <message> <source>Store OpPoint</source> - <translation type="unfinished"> - </translation> + <translation>Store OpPoint</translation> </message> <message> <source>Analyze</source> @@ -6178,23 +5858,19 @@ </message> <message> <source>Lift</source> - <translation type="unfinished"> - </translation> + <translation>揚力</translation> </message> <message> <source>Ind. Drag</source> - <translation type="unfinished"> - </translation> + <translation>誘導抗力</translation> </message> <message> <source>Visc. Drag</source> - <translation type="unfinished"> - </translation> + <translation>粘性抵抗</translation> </message> <message> <source>Trans.</source> - <translation type="unfinished"> - </translation> + <translation>遷移</translation> </message> <message> <source>Moment</source> @@ -6202,13 +5878,11 @@ </message> <message> <source>Downw.</source> - <translation type="unfinished"> - </translation> + <translation>Downw.</translation> </message> <message> <source>Surf. Vel.</source> - <translation type="unfinished"> - </translation> + <translation>表面速度</translation> </message> <message> <source>Stream</source> @@ -6216,8 +5890,7 @@ </message> <message> <source>Animate</source> - <translation type="unfinished"> - </translation> + <translation>アニメーション表示</translation> </message> <message> <source>Display</source> @@ -6225,63 +5898,51 @@ </message> <message> <source>VCD</source> - <translation type="unfinished"> - </translation> + <translation>VCD</translation> </message> <message> <source>ICD</source> - <translation type="unfinished"> - </translation> + <translation>ICD</translation> </message> <message> <source>CD</source> - <translation type="unfinished"> - </translation> + <translation>CD</translation> </message> <message> <source>CL/CD</source> - <translation type="unfinished"> - </translation> + <translation>揚抗比</translation> </message> <message> <source>CL^(3/2)/CD</source> - <translation type="unfinished"> - </translation> + <translation>CL^(3/2)/CD</translation> </message> <message> <source>1/Rt(CL)</source> - <translation type="unfinished"> - </translation> + <translation>1/Rt(CL)</translation> </message> <message> <source>Pitching Moment</source> - <translation type="unfinished"> - </translation> + <translation>ピッチングモーメント</translation> </message> <message> <source>Rolling Moment</source> - <translation type="unfinished"> - </translation> + <translation>ローリングモーメント</translation> </message> <message> <source>Yawing Moment</source> - <translation type="unfinished"> - </translation> + <translation>ヨーイングモーメント</translation> </message> <message> <source>Curve</source> - <translation type="unfinished"> - </translation> + <translation>曲線</translation> </message> <message> <source>Panel Forces</source> - <translation type="unfinished"> - </translation> + <translation>Panel Forces</translation> </message> <message> <source>Display the force 1/2.rho.V2.S.Cp acting on the panel</source> - <translation type="unfinished"> - </translation> + <translation>パネルに働く 1/2.rho.V2.S.Cp の力を表示</translation> </message> <message> <source>Results</source> @@ -6289,48 +5950,39 @@ </message> <message> <source>Points</source> - <translation type="unfinished"> - </translation> + <translation>点</translation> </message> <message> <source>item</source> - <translation type="unfinished"> - </translation> + <translation>項目</translation> </message> <message> <source>Style</source> - <translation type="unfinished"> - </translation> + <translation>スタイル</translation> </message> <message> <source>Width</source> - <translation type="unfinished"> - </translation> + <translation>幅</translation> </message> <message> <source>Color</source> - <translation type="unfinished"> - </translation> + <translation>カラー/色</translation> </message> <message> <source>Curve settings</source> - <translation type="unfinished"> - </translation> + <translation>グラフの設定</translation> </message> <message> <source>Span Position</source> - <translation type="unfinished"> - </translation> + <translation>翼の位置</translation> </message> <message> <source>Keep</source> - <translation type="unfinished"> - </translation> + <translation>Keep</translation> </message> <message> <source>Reset</source> - <translation type="unfinished"> - </translation> + <translation>リセット</translation> </message> <message> <source>Cp Sections</source> @@ -6343,8 +5995,7 @@ </message> <message> <source>Light</source> - <translation type="unfinished"> - </translation> + <translation>光源</translation> </message> <message> <source>Surfaces</source> @@ -6365,8 +6016,7 @@ </message> <message> <source>Vortices</source> - <translation type="unfinished"> - </translation> + <translation>渦(複数形)</translation> </message> <message> <source>Masses</source> @@ -6374,13 +6024,11 @@ </message> <message> <source>Pick Center</source> - <translation type="unfinished"> - </translation> + <translation>中心に移動</translation> </message> <message> <source>Activate the button, then click on the object to center it in the viewport; alternatively, double click on the object</source> - <translation type="unfinished"> - </translation> + <translation>ボタンを有効にしてからオブジェクト上の点をクリックして画面の中央に移動します ; もしくはオブジェクト上の点をダブルクリックしてください</translation> </message> <message> <source>Clip:</source> @@ -6389,138 +6037,111 @@ </message> <message> <source>CL</source> - <translation type="unfinished"> - </translation> + <translation>CL</translation> </message> <message> <source>Lift (N)</source> - <translation type="unfinished"> - </translation> + <translation type="obsolete">揚力(ニュートン)</translation> </message> <message> <source>Lift (lbf)</source> - <translation type="unfinished"> - </translation> + <translation type="obsolete">揚力(ポンド)</translation> </message> <message> <source>Drag (N)</source> - <translation type="unfinished"> - </translation> + <translation type="obsolete">抗力(ニュートン)</translation> </message> <message> <source>Drag (lbf)</source> - <translation type="unfinished"> - </translation> + <translation type="obsolete">抗力(ポンド)</translation> </message> <message> <source>Vx </source> - <translation type="unfinished"> - </translation> + <translation>Vx </translation> </message> <message> <source>Vz </source> - <translation type="unfinished"> - </translation> + <translation>Vz </translation> </message> <message> <source>V </source> - <translation type="unfinished"> - </translation> + <translation>V </translation> </message> <message> <source>Gamma</source> - <translation type="unfinished"> - </translation> + <translation>ガンマ</translation> </message> <message> <source>XCP </source> - <translation type="unfinished"> - </translation> + <translation>XCP </translation> </message> <message> <source>YCP </source> - <translation type="unfinished"> - </translation> + <translation>YCP </translation> </message> <message> <source>BM </source> - <translation type="unfinished"> - </translation> + <translation>BM </translation> </message> <message> <source>m.g.Vz (W)</source> - <translation type="unfinished"> - </translation> + <translation>m.g.Vz (W)</translation> </message> <message> <source>Efficiency</source> - <translation type="unfinished"> - </translation> + <translation>翼効率</translation> </message> <message> <source>(XCp-XCG)/MAC(%)</source> - <translation type="unfinished"> - </translation> + <translation>(XCp-XCG)/MAC(%)</translation> </message> <message> <source>ctrl</source> - <translation type="unfinished"> - </translation> + <translation>ctrl</translation> </message> <message> <source>CY</source> - <translation type="unfinished"> - </translation> + <translation>CY</translation> </message> <message> <source>XNP</source> - <translation type="unfinished"> - </translation> + <translation>XNP</translation> </message> <message> <source>Ph. Freq(Hz)</source> - <translation type="unfinished"> - </translation> + <translation>Ph. Freq(Hz)</translation> </message> <message> <source>Ph. Damping</source> - <translation type="unfinished"> - </translation> + <translation>Ph. Damping</translation> </message> <message> <source>SP Freq (Hz)</source> - <translation type="unfinished"> - </translation> + <translation>SP Freq (Hz)</translation> </message> <message> <source>SP Damping</source> - <translation type="unfinished"> - </translation> + <translation>SP Damping</translation> </message> <message> <source>DR Freq(Hz)</source> - <translation type="unfinished"> - </translation> + <translation>DR Freq(Hz)</translation> </message> <message> <source>DR Damping</source> - <translation type="unfinished"> - </translation> + <translation>DR Damping</translation> </message> <message> <source>Roll Damping</source> - <translation type="unfinished"> - </translation> + <translation>ロール減衰項</translation> </message> <message> <source>Spiral Damping</source> - <translation type="unfinished"> - </translation> + <translation>スパイラルモード減衰項</translation> </message> <message> <source>OpenGL color format is not recognized... Sorry</source> - <translation type="unfinished"> - </translation> + <translation>OpenGLのカラーフォーマットが認識されません.ごめんなさい.</translation> </message> <message> <source>Cannot (yet ?) save 8 bit depth opengl screen images... Sorry</source> @@ -6529,36 +6150,59 @@ </message> <message> <source>Cannot (yet ?) save 16 bit depth opengl screen images... Sorry</source> - <translation type="unfinished"> - </translation> + <translation>16ビットOpenGlイメージを保存出来ません…</translation> </message> <message> <source>Unidentified bit depth... Sorry</source> <translation type="unfinished"> </translation> </message> + <message> + <source>Cp Coefficients</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Fx (N)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Fx (lbf)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Fy (N)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Fy (lbf)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Fz (N)</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>Fz (lbf)</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>QObject</name> <message> <source>dihedral</source> - <translation type="unfinished"> - </translation> + <translation>上反角</translation> </message> <message> <source>twist</source> - <translation type="unfinished"> - </translation> + <translation>ねじれ</translation> </message> <message> <source>foil</source> - <translation type="unfinished"> - </translation> + <translation>翼型</translation> </message> <message> <source>X-panels</source> - <translation type="unfinished"> - </translation> + <translation>X方向パネル分割</translation> </message> <message> <source>X-dist</source> @@ -6567,8 +6211,7 @@ </message> <message> <source>Y-panels</source> - <translation type="unfinished"> - </translation> + <translation>Y方向パネル分割</translation> </message> <message> <source>Y-dist</source> @@ -6577,83 +6220,67 @@ </message> <message> <source>Wing definition</source> - <translation type="unfinished"> - </translation> + <translation>翼の定義</translation> </message> <message> <source>Foil coordinates</source> - <translation type="unfinished"> - </translation> + <translation>翼型の座標系</translation> </message> <message> <source>X</source> - <translation type="unfinished"> - </translation> + <translation>X</translation> </message> <message> <source>Y</source> - <translation type="unfinished"> - </translation> + <translation>Y</translation> </message> <message> <source>Re</source> - <translation type="unfinished"> - </translation> + <translation>Re</translation> </message> <message> <source>Mach</source> - <translation type="unfinished"> - </translation> + <translation>マッハ数</translation> </message> <message> <source>CL</source> - <translation type="unfinished"> - </translation> + <translation>CL</translation> </message> <message> <source>CD</source> - <translation type="unfinished"> - </translation> + <translation>CD</translation> </message> <message> <source>Cm</source> - <translation type="unfinished"> - </translation> + <translation>Cm</translation> </message> <message> <source>Cdp</source> - <translation type="unfinished"> - </translation> + <translation>Cdp</translation> </message> <message> <source>Cpmn</source> - <translation type="unfinished"> - </translation> + <translation>Cpmn</translation> </message> <message> <source>XCP</source> - <translation type="unfinished"> - </translation> + <translation>XCP</translation> </message> <message> <source>Top Transition</source> - <translation type="unfinished"> - </translation> + <translation>上面での遷移</translation> </message> <message> <source>Bot Transition</source> - <translation type="unfinished"> - </translation> + <translation>下面での遷移</translation> </message> <message> <source>T.E. Flap moment</source> - <translation type="unfinished"> - </translation> + <translation>後縁フラップのモーメント</translation> </message> <message> <source>L.E. Flap moment</source> - <translation type="unfinished"> - </translation> + <translation>前縁フラップのモーメント</translation> </message> <message> <source>Type</source> @@ -6661,113 +6288,91 @@ </message> <message> <source>Fixed speed</source> - <translation type="unfinished"> - </translation> + <translation>速度固定</translation> </message> <message> <source>Fixed lift</source> - <translation type="unfinished"> - </translation> + <translation>揚力固定</translation> </message> <message> <source>Fixed angle of attack</source> - <translation type="unfinished"> - </translation> + <translation>迎角固定</translation> </message> <message> <source>Reynolds number</source> - <translation type="unfinished"> - </translation> + <translation>レイノルズ数</translation> </message> <message> <source>Mach number</source> - <translation type="unfinished"> - </translation> + <translation>マッハ数</translation> </message> <message> <source>Re.Cl</source> - <translation type="unfinished"> - </translation> + <translation>Re.Cl</translation> </message> <message> <source>Alpha</source> - <translation type="unfinished"> - </translation> + <translation>迎え角</translation> </message> <message> <source>NCrit</source> - <translation type="unfinished"> - </translation> + <translation>NCrit</translation> </message> <message> <source>Forced top trans.</source> - <translation type="unfinished"> - </translation> + <translation>上面の強制遷移</translation> </message> <message> <source>Forced bottom trans.</source> - <translation type="unfinished"> - </translation> + <translation>下面の強制遷移</translation> </message> <message> <source>Number of data points</source> - <translation type="unfinished"> - </translation> + <translation>データ点数</translation> </message> <message> <source>Re List</source> - <translation type="unfinished"> - </translation> + <translation>Reリスト</translation> </message> <message> <source>i</source> - <translation type="unfinished"> - </translation> + <translation>i</translation> </message> <message> <source>Cn</source> - <translation type="unfinished"> - </translation> + <translation>Cn</translation> </message> <message> <source>Ci</source> - <translation type="unfinished"> - </translation> + <translation>Ci</translation> </message> <message> <source>Wing</source> - <translation type="unfinished"> - </translation> + <translation>翼</translation> </message> <message> <source>2nd Wing</source> - <translation type="unfinished"> - </translation> + <translation>2番目の翼</translation> </message> <message> <source>Elevator</source> - <translation type="unfinished"> - </translation> + <translation>エレベーター</translation> </message> <message> <source>Fin</source> - <translation type="unfinished"> - </translation> + <translation>垂直尾翼</translation> </message> <message> <source>Plane Name</source> - <translation type="unfinished"> - </translation> + <translation>飛行機の名前</translation> </message> <message> <source>Splined Points Foil</source> - <translation type="unfinished"> - </translation> + <translation>スプライン曲線翼型</translation> </message> <message> <source>Spline Foil</source> - <translation type="unfinished"> - </translation> + <translation>スプライン翼型</translation> </message> <message> <source>CpCalc: local speed too larger @@ -6795,18 +6400,15 @@ </message> <message> <source>The max number of polar points has been reached</source> - <translation type="unfinished"> - </translation> + <translation>極曲線の点の数が上限に達しました</translation> </message> <message> <source>BodyName</source> - <translation type="unfinished"> - </translation> + <translation>ボディの名前</translation> </message> <message> <source>Export Body Definition</source> - <translation type="unfinished"> - </translation> + <translation>胴体の定義をエクスポート</translation> </message> <message> <source>Text Format (*.txt)</source> @@ -6823,8 +6425,7 @@ </message> <message> <source>Choose the length unit to read this file :</source> - <translation type="unfinished"> - </translation> + <translation>このファイルを読み込むには長さの単位を選択してください :</translation> </message> <message> <source>Open File</source> @@ -6837,8 +6438,8 @@ <message> <source>Could not read the file </source> - <translation type="unfinished"> - </translation> + <translation>ファイルを読み込めませんでした +</translation> </message> <message> <source>Warning</source> @@ -6846,8 +6447,7 @@ </message> <message> <source>Error reading </source> - <translation type="unfinished"> - </translation> + <translation>読み込みエラーです </translation> </message> <message> <source> @@ -6857,58 +6457,47 @@ </message> <message> <source>Error</source> - <translation type="unfinished"> - </translation> + <translation>エラー</translation> </message> <message> <source>Please select a Frame before inserting a point</source> - <translation type="unfinished"> - </translation> + <translation>点を挿入する前に、フレームを選択して下さい</translation> </message> <message> <source>Stability analysis</source> - <translation type="unfinished"> - </translation> + <translation>安定性解析</translation> </message> <message> <source>VInf =</source> - <translation type="unfinished"> - </translation> + <translation>VInf =</translation> </message> <message> <source>Alpha =</source> - <translation type="unfinished"> - </translation> + <translation>迎え角 =</translation> </message> <message> <source>LLT</source> - <translation type="unfinished"> - </translation> + <translation>LLT</translation> </message> <message> <source>3D-Panels</source> - <translation type="unfinished"> - </translation> + <translation>3次元パネル</translation> </message> <message> <source>3D-Panels/VLM1</source> - <translation type="unfinished"> - </translation> + <translation>3D-Panels/VLM1</translation> </message> <message> <source>3D-Panels/VLM2</source> - <translation type="unfinished"> - </translation> + <translation>3D-Panels/VLM2</translation> </message> <message> <source>VInf</source> - <translation type="unfinished"> - </translation> + <translation>VInf</translation> </message> <message> <source>Mass</source> - <translation type="unfinished"> - </translation> + <translation>質量</translation> </message> <message> <source>Control value</source> @@ -6917,153 +6506,123 @@ </message> <message> <source>XNP</source> - <translation type="unfinished"> - </translation> + <translation>XNP</translation> </message> <message> - <source>YCP</source> - <translation type="unfinished"> - </translation> + <source>YCP</source> + <translation>YCP</translation> </message> <message> <source>VCD</source> - <translation type="unfinished"> - </translation> + <translation>VCD</translation> </message> <message> <source>ICD</source> - <translation type="unfinished"> - </translation> + <translation>ICD</translation> </message> <message> <source>CX</source> - <translation type="unfinished"> - </translation> + <translation>CX</translation> </message> <message> <source>CY</source> - <translation type="unfinished"> - </translation> + <translation>CY</translation> </message> <message> <source>Cl</source> - <translation type="unfinished"> - </translation> + <translation>Cl</translation> </message> <message> <source>ICm</source> - <translation type="unfinished"> - </translation> + <translation>ICm</translation> </message> <message> <source>VCm</source> - <translation type="unfinished"> - </translation> + <translation>VCm</translation> </message> <message> <source>ICn</source> - <translation type="unfinished"> - </translation> + <translation>ICn</translation> </message> <message> <source>VCn</source> - <translation type="unfinished"> - </translation> + <translation>VCn</translation> </message> <message> <source>Non-dimensional Stability Derivatives:</source> - <translation type="unfinished"> - </translation> + <translation>無次元安定微係数</translation> </message> <message> <source>CXu</source> - <translation type="unfinished"> - </translation> + <translation>CXu</translation> </message> <message> <source>CLu</source> - <translation type="unfinished"> - </translation> + <translation>CLu</translation> </message> <message> <source>Cmu</source> - <translation type="unfinished"> - </translation> + <translation>Cmu</translation> </message> <message> <source>CXa</source> - <translation type="unfinished"> - </translation> + <translation>CXa</translation> </message> <message> <source>CLa</source> - <translation type="unfinished"> - </translation> + <translation>CLa</translation> </message> <message> <source>Cma</source> - <translation type="unfinished"> - </translation> + <translation>Cma</translation> </message> <message> <source>CXq</source> - <translation type="unfinished"> - </translation> + <translation>CXq</translation> </message> <message> <source>CLq</source> - <translation type="unfinished"> - </translation> + <translation>CLq</translation> </message> <message> <source>Cmq</source> - <translation type="unfinished"> - </translation> + <translation>Cmq</translation> </message> <message> <source>CYb</source> - <translation type="unfinished"> - </translation> + <translation>CYb</translation> </message> <message> <source>Clb</source> - <translation type="unfinished"> - </translation> + <translation>Clb</translation> </message> <message> <source>Cnb</source> - <translation type="unfinished"> - </translation> + <translation>Cnb</translation> </message> <message> <source>CYp</source> - <translation type="unfinished"> - </translation> + <translation>CYp</translation> </message> <message> <source>Clp</source> - <translation type="unfinished"> - </translation> + <translation>Clp</translation> </message> <message> <source>Cnp</source> - <translation type="unfinished"> - </translation> + <translation>Cnp</translation> </message> <message> <source>CYr</source> - <translation type="unfinished"> - </translation> + <translation>CYr</translation> </message> <message> <source>Clr</source> - <translation type="unfinished"> - </translation> + <translation>Clr</translation> </message> <message> <source>Cnr</source> - <translation type="unfinished"> - </translation> + <translation>Cnr</translation> </message> <message> <source>Non-dimensional Control Derivatives:</source> @@ -7072,113 +6631,91 @@ </message> <message> <source>CXd</source> - <translation type="unfinished"> - </translation> + <translation>CXd</translation> </message> <message> <source>CYd</source> - <translation type="unfinished"> - </translation> + <translation>CYd</translation> </message> <message> <source>CZd</source> - <translation type="unfinished"> - </translation> + <translation>CZd</translation> </message> <message> <source>Cld</source> - <translation type="unfinished"> - </translation> + <translation>Cld</translation> </message> <message> <source>Cmd</source> - <translation type="unfinished"> - </translation> + <translation>Cmd</translation> </message> <message> <source>Cnd</source> - <translation type="unfinished"> - </translation> + <translation>Cnd</translation> </message> <message> <source>CoG.x</source> - <translation type="unfinished"> - </translation> + <translation>x重心</translation> </message> <message> <source>CoG.z</source> - <translation type="unfinished"> - </translation> + <translation>z重心</translation> </message> <message> <source>B.C. = Dirichlet</source> - <translation type="unfinished"> - </translation> + <translation>境界条件=ディリクレ条件</translation> </message> <message> <source>B.C. = Neumann</source> - <translation type="unfinished"> - </translation> + <translation>境界条件=ノイマン条件</translation> </message> <message> <source>Analysis type</source> - <translation type="unfinished"> - </translation> + <translation>解析の種類</translation> </message> <message> <source>Viscous</source> - <translation type="unfinished"> - </translation> + <translation>粘性</translation> </message> <message> <source>Inviscid</source> - <translation type="unfinished"> - </translation> + <translation>非粘性</translation> </message> <message> <source>Ref. Area = </source> - <translation type="unfinished"> - </translation> + <translation>参照エリア= </translation> </message> <message> <source>Data points</source> - <translation type="unfinished"> - </translation> + <translation>データ点</translation> </message> <message> <source>Beta</source> - <translation type="unfinished"> - </translation> + <translation>Beta</translation> </message> <message> <source>Planform area</source> - <translation type="unfinished"> - </translation> + <translation>幾何翼面積</translation> </message> <message> <source>Projected area</source> - <translation type="unfinished"> - </translation> + <translation>投映面積</translation> </message> <message> <source>Tilted geometry</source> - <translation type="unfinished"> - </translation> + <translation>傾けられた構造</translation> </message> <message> <source>Ground height</source> - <translation type="unfinished"> - </translation> + <translation>高度</translation> </message> <message> <source>Density =</source> - <translation type="unfinished"> - </translation> + <translation>密度=</translation> </message> <message> <source>Viscosity =</source> - <translation type="unfinished"> - </translation> + <translation>粘性=</translation> </message> <message> <source>iblpan : *** bl array overflow</source> @@ -7198,8 +6735,7 @@ </message> <message> <source>Unrecognized foil format</source> - <translation type="unfinished"> - </translation> + <translation>読み込めない翼型フォーマット</translation> </message> <message> <source>... Invalid Analysis Settings @@ -7383,8 +6919,7 @@ </message> <message> <source>Wing Name</source> - <translation type="unfinished"> - </translation> + <translation>翼の名前</translation> </message> <message> <source> Span pos = %1 </source> @@ -7393,13 +6928,11 @@ </message> <message> <source> Span pos = %1 </source> - <translation type="unfinished"> - </translation> + <translation> Span pos = %1 </translation> </message> <message> <source> , A+Ai+Twist = %1 could not be interpolated</source> - <translation type="unfinished"> - </translation> + <translation> , A+Ai+Twist = %1 は補間されませんでした</translation> </message> <message> <source> , A+Ai+Twist = %1 is outside the flight envelope</source> @@ -7408,8 +6941,7 @@ </message> <message> <source>, Cl = %1 could not be interpolated</source> - <translation type="unfinished"> - </translation> + <translation>, Cl = %1 は補間されませんでした</translation> </message> <message> <source>, Cl = %1 is outside the flight envelope</source> @@ -7424,93 +6956,75 @@ </message> <message> <source>Wing Span = %1 </source> - <translation type="unfinished"> - </translation> + <translation>Wing Span = %1 </translation> </message> <message> <source>XYProj. Span = %1 </source> - <translation type="unfinished"> - </translation> + <translation>XYProj. Span = %1 </translation> </message> <message> <source>X_CG = %1 </source> - <translation type="unfinished"> - </translation> + <translation>X_CG = %1 </translation> </message> <message> <source>Wing Area = %1 </source> - <translation type="unfinished"> - </translation> + <translation>Wing Area = %1 </translation> </message> <message> <source>XYProj. Area = %1 </source> - <translation type="unfinished"> - </translation> + <translation>XY投映翼面積 = %1 </translation> </message> <message> <source>Plane Mass = %1 </source> - <translation type="unfinished"> - </translation> + <translation>主翼重量 = %1 </translation> </message> <message> <source>Wing Load = %1 </source> - <translation type="unfinished"> - </translation> + <translation>翼面荷重 = %1 </translation> </message> <message> <source>Tail Volume = %1</source> - <translation type="unfinished"> - </translation> + <translation>水平尾翼容積 = %1</translation> </message> <message> <source>Root Chord = %1 </source> - <translation type="unfinished"> - </translation> + <translation>翼根の翼弦長 = %1 </translation> </message> <message> <source>M.A.C. = %1 </source> - <translation type="unfinished"> - </translation> + <translation>空力平均翼弦= </translation> </message> <message> <source>Tip Twist = %1</source> - <translation type="unfinished"> - </translation> + <translation>翼端捩り=</translation> </message> <message> <source>Aspect Ratio = %1</source> - <translation type="unfinished"> - </translation> + <translation>アスペクト比=</translation> </message> <message> <source>Taper Ratio = %1</source> - <translation type="unfinished"> - </translation> + <translation>テーパー比=</translation> </message> <message> <source>Root-Tip Sweep = %1</source> - <translation type="unfinished"> - </translation> + <translation>翼端捻り下げ = %1</translation> </message> <message> <source>V = %1 </source> - <translation type="unfinished"> - </translation> + <translation>V = %1 </translation> </message> <message> <source>Alpha = %1</source> - <translation type="unfinished"> - </translation> + <translation>迎角 = %1</translation> </message> <message> <source>Sideslip = %1</source> - <translation type="unfinished"> - </translation> + <translation>横滑り = %1</translation> </message> <message> <source>Bank = %1</source> - <translation type="unfinished"> - </translation> + <translation>バンク = %1</translation> </message> <message> <source>Control pos. = %1 </source> @@ -7519,38 +7033,31 @@ </message> <message> <source>CL/CD = %1 </source> - <translation type="unfinished"> - </translation> + <translation>揚抗比= </translation> </message> <message> <source>Cl = %1 </source> - <translation type="unfinished"> - </translation> + <translation>揚力係数= </translation> </message> <message> <source>Cm = %1 </source> - <translation type="unfinished"> - </translation> + <translation>モーメント係数= </translation> </message> <message> <source>Cn = %1 </source> - <translation type="unfinished"> - </translation> + <translation>Cn = %1 </translation> </message> <message> <source>X_NP = %1 </source> - <translation type="unfinished"> - </translation> + <translation>X_NP = %1 </translation> </message> <message> <source>X_CP = %1 </source> - <translation type="unfinished"> - </translation> + <translation>X_CP = %1 </translation> </message> <message> <source>X_CG = %1 </source> - <translation type="unfinished"> - </translation> + <translation>X_CG = %1 </translation> </message> <message> <source>Point is out of the flight envelope</source> @@ -7559,43 +7066,35 @@ </message> <message> <source>CL = %1 </source> - <translation type="unfinished"> - </translation> + <translation>揚力係数= </translation> </message> <message> <source>CD = %1 </source> - <translation type="unfinished"> - </translation> + <translation>抗力係数= </translation> </message> <message> <source>Efficiency = %1 </source> - <translation type="unfinished"> - </translation> + <translation>翼効率= </translation> </message> <message> <source>Point</source> - <translation type="unfinished"> - </translation> + <translation>点</translation> </message> <message> <source>x</source> - <translation type="unfinished"> - </translation> + <translation>x</translation> </message> <message> <source>y</source> - <translation type="unfinished"> - </translation> + <translation>y</translation> </message> <message> <source>Upper side points</source> - <translation type="unfinished"> - </translation> + <translation>上面の点</translation> </message> <message> <source>Lower side points</source> - <translation type="unfinished"> - </translation> + <translation>下面の点</translation> </message> <message> <source>Invalid Analysis Settings @@ -7607,18 +7106,23 @@ </message> <message> <source>Cl = %1</source> - <translation type="unfinished"> - </translation> + <translation>Cl = %1</translation> </message> <message> <source> ...converged after %1 iterations </source> - <translation type="unfinished"> - </translation> + <translation> ...%1回の繰り返しで収束しました +</translation> </message> <message> <source> ...unconverged after %1 iterations </source> + <translation> ...%1回の繰り返しで収束しませんでした +</translation> + </message> + <message> + <source>Continuous foils for surface do not have the same initial flap angle... aborting +</source> <translation type="unfinished"> </translation> </message> @@ -7627,13 +7131,11 @@ <name>QXDirect</name> <message> <source>Cp</source> - <translation type="unfinished"> - </translation> + <translation>Cp</translation> </message> <message> <source>Q</source> - <translation type="unfinished"> - </translation> + <translation>Q</translation> </message> <message> <source>Not enough threads available for multithreading</source> @@ -7645,18 +7147,15 @@ </message> <message> <source>Top</source> - <translation type="unfinished"> - </translation> + <translation>上面</translation> </message> <message> <source>Bot</source> - <translation type="unfinished"> - </translation> + <translation>下面</translation> </message> <message> <source>Max Shear</source> - <translation type="unfinished"> - </translation> + <translation>最大せん断力</translation> </message> <message> <source>Top Shear</source> @@ -7680,8 +7179,7 @@ </message> <message> <source>X</source> - <translation type="unfinished"> - </translation> + <translation>X</translation> </message> <message> <source>Cp Graph</source> @@ -7709,13 +7207,11 @@ </message> <message> <source>Cf</source> - <translation type="unfinished"> - </translation> + <translation>Cf</translation> </message> <message> <source>Cd'</source> - <translation type="unfinished"> - </translation> + <translation>Cd'</translation> </message> <message> <source>Are you sure you want to delete the Operating Point @@ -7730,8 +7226,8 @@ <message> <source>Are you sure you want to delete the polar : </source> - <translation type="unfinished"> - </translation> + <translation>本当に極曲線を消去しますか? : + </translation> </message> <message> <source> @@ -7757,8 +7253,7 @@ </message> <message> <source>Export Current XFoil Results</source> - <translation type="unfinished"> - </translation> + <translation>現在のXfoilの結果をエクスポート</translation> </message> <message> <source>Text File (*.txt);;Comma Separated Values (*.csv)</source> @@ -7787,13 +7282,12 @@ <source> Bottom Side </source> - <translation type="unfinished"> + <translation type="obsolete"> </translation> </message> <message> <source>Export Directory</source> - <translation type="unfinished"> - </translation> + <translation>ディレクトリを書き出す</translation> </message> <message> <source>Export Foil</source> @@ -7819,14 +7313,13 @@ </message> <message> <source>XFoil Polar Format (*.*)</source> - <translation type="unfinished"> - </translation> + <translation>XFoil Polar Format (*.*)</translation> </message> <message> <source>Could not read the file </source> - <translation type="unfinished"> - </translation> + <translation>ファイルを読み込めませんでした +</translation> </message> <message> <source>No Foil with the name </source> @@ -7836,23 +7329,21 @@ <message> <source> could be found. The polar(s) will not be stored</source> - <translation type="unfinished"> - </translation> + <translation> +見つかりません。曲線は保存されません。</translation> </message> <message> <source>Error reading at line xx. The polar(s) will not be stored</source> - <translation type="unfinished"> + <translation type="obsolete"> </translation> </message> <message> <source>JavaFoil Polar Format (*.*)</source> - <translation type="unfinished"> - </translation> + <translation>JavaFoil Polar Format (*.*)</translation> </message> <message> <source>At least two foils are required</source> - <translation type="unfinished"> - </translation> + <translation>2つ以上の翼型が必要です</translation> </message> <message> <source>The foil has been normalized from %1 to 1.000</source> @@ -7861,8 +7352,7 @@ </message> <message> <source>Enter the new name for the foil polar :</source> - <translation type="unfinished"> - </translation> + <translation>翼型曲線の新しい名前を入力して下さい:</translation> </message> <message> <source>Polar File</source> @@ -7871,258 +7361,207 @@ </message> <message> <source>Polar File (*.plr)</source> - <translation type="unfinished"> - </translation> + <translation>Polar File (*.plr)</translation> </message> <message> <source>Thickness = %1</source> - <translation type="unfinished"> - </translation> + <translation>翼厚 = %1</translation> </message> <message> <source>Max. Thick.pos. = %1</source> - <translation type="unfinished"> - </translation> + <translation>最大翼厚位置 = %1</translation> </message> <message> <source>Max. Camber = %1</source> - <translation type="unfinished"> - </translation> + <translation>最大キャンバ = %1</translation> </message> <message> <source>Max. Camber pos. = %1</source> - <translation type="unfinished"> - </translation> + <translation>最大キャンバ位置 = %1</translation> </message> <message> <source>Number of Panels = %1</source> - <translation type="unfinished"> - </translation> + <translation>パネル数 = %1</translation> </message> <message> <source>Flap Angle = %1</source> - <translation type="unfinished"> - </translation> + <translation>フラップ角度 = %1</translation> </message> <message> <source>XHinge = %1</source> - <translation type="unfinished"> - </translation> + <translation>XHinge = %1</translation> </message> <message> - <source>YHinge = %1</source> - <translation type="unfinished"> - </translation> + <source>YHinge = %1</source> + <translation>YHinge = %1</translation> </message> <message> <source>TE Hinge Moment/span = 123456789</source> - <translation type="unfinished"> - </translation> + <translation>TE Hinge Moment/span = 123456789</translation> </message> <message> <source>Polar Type = %1</source> - <translation type="unfinished"> - </translation> + <translation>Polar Type = %1</translation> </message> <message> <source>Re.sqrt(Cl) = </source> - <translation type="unfinished"> - </translation> + <translation>Re.sqrt(Cl) = </translation> </message> <message> <source>M.sqrt(Cl) = %1</source> - <translation type="unfinished"> - </translation> + <translation>M.sqrt(Cl) = %1</translation> </message> <message> <source>Forced Upper Trans. = %1</source> - <translation type="unfinished"> - </translation> + <translation>上面強制遷移 = %1</translation> </message> <message> <source>Forced Lower Trans. = %1</source> - <translation type="unfinished"> - </translation> + <translation>下面強制遷移 =%1</translation> </message> <message> <source> Alpha = %1 </source> - <translation type="unfinished"> - </translation> + <translation> 迎え角 = %1 </translation> </message> <message> <source> Cl = %1</source> - <translation type="unfinished"> - </translation> + <translation> Cl = %1</translation> </message> <message> <source> Cm = %1</source> - <translation type="unfinished"> - </translation> + <translation> Cm = %1</translation> </message> <message> <source> Cd = %1</source> - <translation type="unfinished"> - </translation> + <translation> Cd = %1</translation> </message> <message> <source> L/D = %1</source> - <translation type="unfinished"> - </translation> + <translation> L/D = %1</translation> </message> <message> <source>Upper Trans. = %1</source> - <translation type="unfinished"> - </translation> + <translation>上面遷移 = %1</translation> </message> <message> <source>Lower Trans. = %1</source> - <translation type="unfinished"> - </translation> + <translation>下面遷移 = %1</translation> </message> <message> <source>TE Hinge Moment/span = %1</source> - <translation type="unfinished"> - </translation> + <translation>後縁ヒンジモーメント/スパン = %1</translation> </message> <message> <source>LE Hinge Moment/span = %1</source> - <translation type="unfinished"> - </translation> + <translation>前縁ヒンジモーメント/スパン = %1</translation> </message> <message> <source>Alpha</source> - <translation type="unfinished"> - </translation> + <translation>迎え角</translation> </message> <message> <source>Cl</source> - <translation type="unfinished"> - </translation> + <translation>Cl</translation> </message> <message> <source>Cd</source> - <translation type="unfinished"> - </translation> + <translation>Cd</translation> </message> <message> <source>Cd x 10000</source> - <translation type="unfinished"> - </translation> + <translation>Cd x 10000</translation> </message> <message> <source>Cdp</source> - <translation type="unfinished"> - </translation> + <translation>Cdp</translation> </message> <message> <source>Cm</source> - <translation type="unfinished"> - </translation> + <translation>Cm</translation> </message> <message> <source>Xtr1</source> - <translation type="unfinished"> - </translation> + <translation>Xtr1</translation> </message> <message> <source>Xtr2</source> - <translation type="unfinished"> - </translation> + <translation>Xtr2</translation> </message> <message> <source>HMom</source> - <translation type="unfinished"> - </translation> + <translation>HMom</translation> </message> <message> <source>Cpmin</source> - <translation type="unfinished"> - </translation> + <translation>Cpmin</translation> </message> <message> <source>Cl/Cd</source> - <translation type="unfinished"> - </translation> + <translation>Cl/Cd</translation> </message> <message> <source>|Cl|^(3/2)/Cd</source> - <translation type="unfinished"> - </translation> + <translation>|Cl|^(3/2)/Cd</translation> </message> <message> <source>1/Rt(Cl)</source> - <translation type="unfinished"> - </translation> + <translation>1/Rt(Cl)</translation> </message> <message> <source>Re</source> - <translation type="unfinished"> - </translation> + <translation>Re</translation> </message> <message> <source>XCp</source> - <translation type="unfinished"> - </translation> + <translation>XCp</translation> </message> <message> <source>Sequence</source> - <translation type="unfinished"> - </translation> + <translation>Sequence</translation> </message> <message> <source>Start=</source> - <translation type="unfinished"> - </translation> + <translation>Start=</translation> </message> <message> <source>End=</source> - <translation type="unfinished"> - </translation> + <translation>End=</translation> </message> <message> <source>D=</source> - <translation type="unfinished"> - </translation> + <translation>D=</translation> </message> <message> <source>Viscous</source> - <translation type="unfinished"> - </translation> + <translation>粘性</translation> </message> <message> <source>Init BL</source> - <translation type="unfinished"> - </translation> + <translation>初期境界層</translation> </message> <message> <source>Store Opp</source> - <translation type="unfinished"> - </translation> + <translation>Store Opp</translation> </message> <message> <source>Analyze</source> - <translation type="unfinished"> - </translation> + <translation>解析</translation> </message> <message> <source>Analysis settings</source> - <translation type="unfinished"> - </translation> + <translation>解析設定</translation> </message> <message> <source>Show BL</source> - <translation type="unfinished"> - </translation> + <translation>境界層を表示</translation> </message> <message> <source>Show Pressure</source> - <translation type="unfinished"> - </translation> + <translation>圧力分布を表示</translation> </message> <message> <source>Animate</source> - <translation type="unfinished"> - </translation> + <translation>アニメーション表示</translation> </message> <message> <source>Display</source> @@ -8131,13 +7570,11 @@ </message> <message> <source>Polar properties</source> - <translation type="unfinished"> - </translation> + <translation>グラフのプロパティ</translation> </message> <message> <source>Curve</source> - <translation type="unfinished"> - </translation> + <translation>曲線</translation> </message> <message> <source>Points</source> @@ -8146,23 +7583,19 @@ </message> <message> <source>Style</source> - <translation type="unfinished"> - </translation> + <translation>スタイル</translation> </message> <message> <source>Width</source> - <translation type="unfinished"> - </translation> + <translation>幅</translation> </message> <message> <source>Color</source> - <translation type="unfinished"> - </translation> + <translation>カラー/色</translation> </message> <message> <source>Graph Curve Settings</source> - <translation type="unfinished"> - </translation> + <translation>グラフ曲線の設定</translation> </message> <message> <source>abcopy: buffer airfoil not available</source> @@ -8175,23 +7608,27 @@ <translation type="unfinished"> </translation> </message> + <message> + <source> + +Bottom Side +</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>QXInverse</name> <message> <source>x/c</source> - <translation type="unfinished"> - </translation> + <translation>x/c</translation> </message> <message> <source>Q/Vinf</source> - <translation type="unfinished"> - </translation> + <translation>Q/Vinf</translation> </message> <message> <source>Q Graph</source> - <translation type="unfinished"> - </translation> + <translation>Q グラフ</translation> </message> <message> <source>Must mark off target segment first</source> @@ -8200,13 +7637,11 @@ </message> <message> <source>Converged</source> - <translation type="unfinished"> - </translation> + <translation>収束</translation> </message> <message> <source>Unconverged</source> - <translation type="unfinished"> - </translation> + <translation>発散</translation> </message> <message> <source> Modified</source> @@ -8219,8 +7654,7 @@ </message> <message> <source>Unrecognized foil format</source> - <translation type="unfinished"> - </translation> + <translation>読み込めない翼型フォーマット</translation> </message> <message> <source>Drag points to modify splines, Apply, and Execute to generate the new geometry</source> @@ -8239,13 +7673,11 @@ </message> <message> <source>Alpha = </source> - <translation type="unfinished"> - </translation> + <translation>迎え角 = </translation> </message> <message> <source>Cl = </source> - <translation type="unfinished"> - </translation> + <translation>Cl = </translation> </message> <message> <source>Mark target segment for smoothing, or type 'Return' to smooth the entire distribution</source> @@ -8268,23 +7700,19 @@ </message> <message> <source>Max.Thick.pos. = %1%</source> - <translation type="unfinished"> - </translation> + <translation>最大翼厚位置 = %1%</translation> </message> <message> <source>Max. Camber = %1%</source> - <translation type="unfinished"> - </translation> + <translation>最大キャンバー = %1%</translation> </message> <message> <source>Alpha = %1</source> - <translation type="unfinished"> - </translation> + <translation>迎角 = %1</translation> </message> <message> <source>Cl = %1</source> - <translation type="unfinished"> - </translation> + <translation>Cl = %1</translation> </message> <message> <source>Q - Reference</source> @@ -8308,13 +7736,11 @@ </message> <message> <source>Alpha</source> - <translation type="unfinished"> - </translation> + <translation>迎え角</translation> </message> <message> <source>Cl</source> - <translation type="unfinished"> - </translation> + <translation>Cl</translation> </message> <message> <source>Specification</source> @@ -8323,8 +7749,7 @@ </message> <message> <source>ShowSpline</source> - <translation type="unfinished"> - </translation> + <translation>スプラインを表示</translation> </message> <message> <source>Tangent Spline</source> @@ -8333,13 +7758,11 @@ </message> <message> <source>New Spline</source> - <translation type="unfinished"> - </translation> + <translation>New Spline</translation> </message> <message> <source>Apply Spline</source> - <translation type="unfinished"> - </translation> + <translation>スプラインを適用</translation> </message> <message> <source>Reset QSpec</source> @@ -8373,13 +7796,11 @@ </message> <message> <source>Smoothing</source> - <translation type="unfinished"> - </translation> + <translation>スムージング</translation> </message> <message> <source>T.E. Angle</source> - <translation type="unfinished"> - </translation> + <translation>後縁角度</translation> </message> <message> <source>T.E. Gap dx/c</source> @@ -8393,8 +7814,7 @@ </message> <message> <source>Symmetric foil</source> - <translation type="unfinished"> - </translation> + <translation>対称翼型</translation> </message> <message> <source>Constraints</source> @@ -8403,13 +7823,11 @@ </message> <message> <source>Execute</source> - <translation type="unfinished"> - </translation> + <translation>実行</translation> </message> <message> <source>Cl =</source> - <translation type="unfinished"> - </translation> + <translation>Cl =</translation> </message> <message> <source>Mark for modification</source> @@ -8424,23 +7842,24 @@ <message> <source> </source> - <translation> + <translation type="obsolete"> </translation> </message> <message> <source>Smooth</source> - <translation type="unfinished"> - </translation> + <translation>平滑化</translation> </message> <message> <source>Max Iterations</source> - <translation type="unfinished"> - </translation> + <translation>最大繰り返し数</translation> </message> <message> <source>Foil</source> - <translation type="unfinished"> - </translation> + <translation>翼型</translation> + </message> + <message> + <source> </source> + <translation type="unfinished"></translation> </message> </context> <context> @@ -8494,13 +7913,11 @@ </message> <message> <source>Note : Overwrite will delete Opps and reset polars</source> - <translation type="unfinished"> - </translation> + <translation>注意:上書きは実行点を消去し,ポーラーをリセットする.</translation> </message> <message> <source>Enter a name</source> - <translation type="unfinished"> - </translation> + <translation>名前を入力</translation> </message> <message> <source>Warning</source> @@ -8508,13 +7925,11 @@ </message> <message> <source>Must enter a name</source> - <translation type="unfinished"> - </translation> + <translation>名前を入力してください</translation> </message> <message> <source>Do you wish to overwrite </source> - <translation type="unfinished"> - </translation> + <translation>上書きしますか? </translation> </message> <message> <source>Question</source> @@ -8597,13 +8012,11 @@ </message> <message> <source>Min</source> - <translation type="unfinished"> - </translation> + <translation>最小値</translation> </message> <message> <source>Max</source> - <translation type="unfinished"> - </translation> + <translation>最大値</translation> </message> <message> <source>Controls</source> @@ -8612,13 +8025,11 @@ </message> <message> <source>Wing Tilt (</source> - <translation type="unfinished"> - </translation> + <translation>主翼の傾き(</translation> </message> <message> <source>Elevator Tilt </source> - <translation type="unfinished"> - </translation> + <translation>水平尾翼の傾き </translation> </message> <message> <source>Wing Flap angle %1 </source> @@ -8627,13 +8038,11 @@ </message> <message> <source>Elevator Flap %1 </source> - <translation type="unfinished"> - </translation> + <translation>主翼フラップ角 %1 </translation> </message> <message> <source>Fin Flap %1 </source> - <translation type="unfinished"> - </translation> + <translation>垂直尾翼フラップ %1 </translation> </message> <message> <source>Warning</source> @@ -8641,18 +8050,15 @@ </message> <message> <source>Mass must be non-zero for type 7 polars</source> - <translation type="unfinished"> - </translation> + <translation>タイプ7解析においては質量は正値でなければなりません</translation> </message> <message> <source>Must enter a name</source> - <translation type="unfinished"> - </translation> + <translation>名前を入力してください</translation> </message> <message> <source>The polar's name already exists</source> - <translation type="unfinished"> - </translation> + <translation>その曲線の名前は既に存在します</translation> </message> <message> <source>Wing Name</source> @@ -8660,84 +8066,69 @@ </message> <message> <source>Auto Analysis Name</source> - <translation type="unfinished"> - </translation> + <translation>解析データの名前を自動設定にする</translation> </message> <message> <source>Polar Name</source> - <translation type="unfinished"> - </translation> + <translation>特性曲線の名前</translation> </message> <message> <source>b =</source> - <translation type="unfinished"> - </translation> + <translation>b =</translation> </message> <message> <source>f =</source> - <translation type="unfinished"> - </translation> + <translation>f =</translation> </message> <message> <source>Use plane inertia</source> - <translation type="unfinished"> - </translation> + <translation>機体の慣性値を適用</translation> </message> <message> <source>VLM</source> - <translation type="unfinished"> - </translation> + <translation>VLM</translation> </message> <message> <source>3D Panels</source> - <translation type="unfinished"> - </translation> + <translation>3Dパネル法</translation> </message> <message> <source>Wing analysis methods</source> - <translation type="unfinished"> - </translation> + <translation>翼の解析方法</translation> </message> <message> <source>Mix 3D Panels/VLM</source> - <translation type="unfinished"> - </translation> + <translation>3Dパネル法とVLM法の混合</translation> </message> <message> <source>Note: + sign means trailing edge down</source> - <translation type="unfinished"> - </translation> + <translation>注意: + の表示は後縁のダウン方向を意味します</translation> </message> <message> <source>Active</source> - <translation type="unfinished"> - </translation> + <translation>有効</translation> </message> <message> <source>Gain</source> - <translation type="unfinished"> - </translation> + <translation>ゲイン</translation> </message> <message> <source>Viscous Analysis</source> - <translation type="unfinished"> - </translation> + <translation>粘性解析</translation> </message> <message> <source>Note : the analysis may be of the viscous type only if all the flap controls are inactive</source> - <translation type="unfinished"> - </translation> + <translation>注意 : 全てのフラップを動かさない場合のみ +粘性タイプの解析を用いてもよい</translation> </message> <message> <source>Plane and Flight Data</source> - <translation type="unfinished"> - </translation> + <translation>機体と飛行データ</translation> </message> <message> <source>Unit</source> - <translation type="unfinished"> - </translation> + <translation>単位</translation> </message> <message> <source>International</source> @@ -8746,33 +8137,27 @@ </message> <message> <source>Imperial</source> - <translation type="unfinished"> - </translation> + <translation>ヤード・ポンド法</translation> </message> <message> <source>Aerodynamic Data</source> - <translation type="unfinished"> - </translation> + <translation>空気力学的データ</translation> </message> <message> <source>Wing Planform Area</source> - <translation type="unfinished"> - </translation> + <translation>翼の幾何的面積</translation> </message> <message> <source>Wing Planform Area projected on xy plane</source> - <translation type="unfinished"> - </translation> + <translation>xy平面に投影された翼の幾何的面積</translation> </message> <message> <source>Reference Area for Aero Coefficients</source> - <translation type="unfinished"> - </translation> + <translation>空力効率に引用される翼面積</translation> </message> <message> <source>Plane analysis methods</source> - <translation type="unfinished"> - </translation> + <translation>機体の解析方法</translation> </message> <message> <source>AVL Controls</source> @@ -8781,8 +8166,7 @@ </message> <message> <source>OK</source> - <translation type="unfinished"> - </translation> + <translation>OK</translation> </message> <message> <source>Cancel</source> @@ -8797,34 +8181,28 @@ </translation> </message> <message> - <source>Longitudinal</source> - <translation type="unfinished"> - </translation> + <source>Longitudinal</source> + <translation>縦の</translation> </message> <message> <source>Lateral</source> - <translation type="unfinished"> - </translation> + <translation>文字通りの</translation> </message> <message> <source>Stability direction</source> - <translation type="unfinished"> - </translation> + <translation>安定方向</translation> </message> <message> <source>Initial Conditions Response</source> - <translation type="unfinished"> - </translation> + <translation>初期状態反応</translation> </message> <message> <source>Forced Response</source> - <translation type="unfinished"> - </translation> + <translation>強制反応</translation> </message> <message> <source>Initial conditions</source> - <translation type="unfinished"> - </translation> + <translation>初期条件</translation> </message> <message> <source>Modal Response</source> @@ -8838,68 +8216,55 @@ </message> <message> <source>Define the total time range for the graphs</source> - <translation type="unfinished"> - </translation> + <translation>グラフの時間レンジを定義せよ</translation> </message> <message> <source>Define the time step for the resolution of the differential equations</source> - <translation type="unfinished"> - </translation> + <translation>微分方程式の分解能のための時間ステップの設定</translation> </message> <message> <source>Re-calculate the currently selected curve with the user-specified input data</source> - <translation type="unfinished"> - </translation> + <translation>ユーザ指定入力データを用いて現在選択されている曲線を再計算</translation> </message> <message> <source>Add a new curve to the graphs, using the current user-specified input</source> - <translation type="unfinished"> - </translation> + <translation>現在のユーザ指定入力データを用いてグラフに新しい曲線を追加</translation> </message> <message> <source>Rename the currently selected curve</source> - <translation type="unfinished"> - </translation> + <translation>現在選択されている曲線の名前を変更</translation> </message> <message> <source>Delete the currently selected curve</source> - <translation type="unfinished"> - </translation> + <translation>現在選択されている曲線を削除</translation> </message> <message> <source>Time Graph Params</source> - <translation type="unfinished"> - </translation> + <translation>時間発展グラフパラメータ</translation> </message> <message> <source>Mode Selection</source> - <translation type="unfinished"> - </translation> + <translation>モード選択</translation> </message> <message> <source>Eigenvalues</source> - <translation type="unfinished"> - </translation> + <translation>固有値</translation> </message> <message> <source>F1 =</source> - <translation type="unfinished"> - </translation> + <translation>F1 =</translation> </message> <message> <source>z =</source> - <translation type="unfinished"> - </translation> + <translation>z =</translation> </message> <message> <source>Mode properties</source> - <translation type="unfinished"> - </translation> + <translation>モデルの特性</translation> </message> <message> <source>Total Time</source> - <translation type="unfinished"> - </translation> + <translation>総時間</translation> </message> <message> <source>Operating point modes</source> @@ -8908,43 +8273,35 @@ </message> <message> <source>Speed</source> - <translation type="unfinished"> - </translation> + <translation>対気速度</translation> </message> <message> <source>Amplitude</source> - <translation type="unfinished"> - </translation> + <translation>振幅</translation> </message> <message> <source>Animate</source> - <translation type="unfinished"> - </translation> + <translation>アニメーション表示</translation> </message> <message> <source>Restart</source> - <translation type="unfinished"> - </translation> + <translation>リスタート</translation> </message> <message> <source>Time Step =</source> - <translation type="unfinished"> - </translation> + <translation>時間間隔=</translation> </message> <message> <source>s</source> - <translation type="unfinished"> - </translation> + <translation>s</translation> </message> <message> <source>Animation</source> - <translation type="unfinished"> - </translation> + <translation>アニメーション</translation> </message> <message> <source>Time (s)</source> - <translation type="unfinished"> - </translation> + <translation>時間(秒)</translation> </message> <message> <source>Angle </source> @@ -8968,86 +8325,74 @@ </message> <message> <source>Curve Settings</source> - <translation type="unfinished"> - </translation> + <translation>曲線設定</translation> </message> <message> <source>Recalc.</source> - <translation type="unfinished"> - </translation> + <translation>再計算</translation> </message> <message> <source>Add</source> - <translation type="unfinished"> - </translation> + <translation>追加</translation> </message> <message> <source>Rename</source> - <translation type="unfinished"> - </translation> + <translation>名前を変更</translation> </message> <message> <source>Delete</source> - <translation type="unfinished"> - </translation> + <translation>削除</translation> </message> <message> <source>Press Ctrl+H to highlight the mode on the root locus plot</source> - <translation type="unfinished"> - </translation> + <translation>Ctrl+H で根軌跡上のモードをハイライト</translation> </message> <message> <source>u0=</source> - <translation type="unfinished"> - </translation> + <translation>u0=</translation> </message> <message> <source>w0=</source> - <translation type="unfinished"> - </translation> + <translation>w0=</translation> </message> <message> <source>q0=</source> - <translation type="unfinished"> - </translation> + <translation>q0=</translation> </message> <message> <source>v0=</source> - <translation type="unfinished"> - </translation> + <translation>v0=</translation> </message> <message> <source>p0=</source> - <translation type="unfinished"> - </translation> + <translation>p0=</translation> </message> <message> <source>r0=</source> - <translation type="unfinished"> - </translation> + <translation>r0=</translation> </message> <message> <source>New curve</source> - <translation type="unfinished"> - </translation> + <translation>新しい曲線</translation> + </message> + <message> + <source>Mode Properties:</source> + <translation type="unfinished"></translation> </message> </context> <context> <name>TEGapDlg</name> <message> <source>T.E. Gap</source> - <translation type="unfinished"> - </translation> + <translation>後縁の隙間</translation> </message> <message> <source>T.E. Gap Value</source> - <translation type="unfinished"> - </translation> + <translation>後縁の隙間の値</translation> </message> <message> <source>% chord</source> - <translation type="unfinished"> - </translation> + <translation>% コード長</translation> </message> <message> <source>Blending Distance from L.E.</source> @@ -9072,13 +8417,11 @@ </message> <message> <source>Unrecognized foil format</source> - <translation type="unfinished"> - </translation> + <translation>読み込めない翼型フォーマット</translation> </message> <message> <source>Panel number cannot exceed 300</source> - <translation type="unfinished"> - </translation> + <translation>メッシュの数は300を超えることができません</translation> </message> </context> <context> @@ -9129,8 +8472,7 @@ </message> <message> <source>Number of Panels</source> - <translation type="unfinished"> - </translation> + <translation>メッシュ数</translation> </message> <message> <source>Panel Bunching Parameter</source> @@ -9139,8 +8481,7 @@ </message> <message> <source>TE/LE Panel Density Ratio</source> - <translation type="unfinished"> - </translation> + <translation>後縁/前縁パネル密度比</translation> </message> <message> <source>Refined area/LE Panel Density Ratio</source> @@ -9175,13 +8516,11 @@ </message> <message> <source>Unrecognized foil format</source> - <translation type="unfinished"> - </translation> + <translation>読み込めない翼型フォーマット</translation> </message> <message> <source>The total number of panels cannot exceed %1</source> - <translation type="unfinished"> - </translation> + <translation>合計メッシュ数は%1を超えることはできません</translation> </message> </context> <context> @@ -9243,28 +8582,23 @@ </message> <message> <source>Outline</source> - <translation type="unfinished"> - </translation> + <translation>アウトライン</translation> </message> <message> <source>VLM Mesh</source> - <translation type="unfinished"> - </translation> + <translation>VLMメッシュ</translation> </message> <message> <source>Top transition</source> - <translation type="unfinished"> - </translation> + <translation>上面の遷移</translation> </message> <message> <source>Bottom transition</source> - <translation type="unfinished"> - </translation> + <translation>下面の遷移</translation> </message> <message> <source>Lift</source> - <translation type="unfinished"> - </translation> + <translation>揚力</translation> </message> <message> <source>Moments</source> @@ -9272,43 +8606,35 @@ </message> <message> <source>Induced Drag</source> - <translation type="unfinished"> - </translation> + <translation>誘導抗力</translation> </message> <message> <source>Viscous Drag</source> - <translation type="unfinished"> - </translation> + <translation>粘性抗力</translation> </message> <message> <source>Downwash</source> - <translation type="unfinished"> - </translation> + <translation>吹き下ろし</translation> </message> <message> <source>WakePanels</source> - <translation type="unfinished"> - </translation> + <translation>後流のメッシュ</translation> </message> <message> <source>Streamlines</source> - <translation type="unfinished"> - </translation> + <translation>流線</translation> </message> <message> <source>Masses</source> - <translation type="unfinished"> - </translation> + <translation>質量</translation> </message> <message> <source>Show Wake Panels</source> - <translation type="unfinished"> - </translation> + <translation>後流のメッシュを表示</translation> </message> <message> <source>OK</source> - <translation type="unfinished"> - </translation> + <translation>OK</translation> </message> <message> <source>Cancel</source> @@ -9327,8 +8653,7 @@ </message> <message> <source>Reset Wake between each angle</source> - <translation type="unfinished"> - </translation> + <translation>各角度の計算ごとに後流をリセット</translation> </message> <message> <source>Store points outside the polar mesh</source> @@ -9337,13 +8662,11 @@ </message> <message> <source>All Analysis</source> - <translation type="unfinished"> - </translation> + <translation>全ての解析</translation> </message> <message> <source>VLM and Panel Methods</source> - <translation type="unfinished"> - </translation> + <translation>VLM及びパネル法</translation> </message> <message> <source>Core Size</source> @@ -9352,8 +8675,7 @@ </message> <message> <source>VLM Method</source> - <translation type="unfinished"> - </translation> + <translation>VLM法</translation> </message> <message> <source>Ignore wing panels with span <</source> @@ -9362,18 +8684,15 @@ </message> <message> <source>Horseshoe vortex</source> - <translation type="unfinished"> - </translation> + <translation>馬蹄形渦</translation> </message> <message> <source>Ring vortex</source> - <translation type="unfinished"> - </translation> + <translation>渦輪</translation> </message> <message> <source>Vortex Position</source> - <translation type="unfinished"> - </translation> + <translation>渦位置</translation> </message> <message> <source>Control Point Position</source> @@ -9382,13 +8701,11 @@ </message> <message> <source>Lifting Line Method</source> - <translation type="unfinished"> - </translation> + <translation>揚力線理論</translation> </message> <message> <source>Relax. factor</source> - <translation type="unfinished"> - </translation> + <translation>緩和係数</translation> </message> <message> <source>Alpha Precision</source> @@ -9397,8 +8714,7 @@ </message> <message> <source>Max. Iterations</source> - <translation type="unfinished"> - </translation> + <translation>最大反復回数</translation> </message> <message> <source>Number of spanwise stations</source> @@ -9407,8 +8723,7 @@ </message> <message> <source>3D Panel boundary conditions</source> - <translation type="unfinished"> - </translation> + <translation>3D Panel法の境界条件</translation> </message> <message> <source>OK</source> @@ -9427,8 +8742,7 @@ <name>WPolarDlg</name> <message> <source>Analysis Definition</source> - <translation type="unfinished"> - </translation> + <translation>解析の定義</translation> </message> <message> <source>Warning</source> @@ -9442,13 +8756,11 @@ </message> <message> <source>Must enter a name for the polar</source> - <translation type="unfinished"> - </translation> + <translation>曲線の名前を入力して下さい</translation> </message> <message> <source>The polar's name already exists</source> - <translation type="unfinished"> - </translation> + <translation>その曲線の名前は既に存在します</translation> </message> <message> <source>Wing Name</source> @@ -9456,128 +8768,103 @@ </message> <message> <source>Auto Analysis Name</source> - <translation type="unfinished"> - </translation> + <translation>解析データの名前を自動設定にする</translation> </message> <message> <source>Polar Name</source> - <translation type="unfinished"> - </translation> + <translation>特性曲線の名前</translation> </message> <message> <source>Type 1 (Fixed Speed)</source> - <translation type="unfinished"> - </translation> + <translation>タイプ1(速度一定)</translation> </message> <message> <source>Type 2 (Fixed Lift)</source> - <translation type="unfinished"> - </translation> + <translation>タイプ2(揚力一定)</translation> </message> <message> <source>Type 4 (Fixed aoa)</source> - <translation type="unfinished"> - </translation> + <translation>タイプ4(迎角一定)</translation> </message> <message> <source>Polar Type</source> - <translation type="unfinished"> - </translation> + <translation>グラフの種類</translation> </message> <message> <source>Free Stream Speed =</source> - <translation type="unfinished"> - </translation> + <translation>自由流れの速度 =</translation> </message> <message> <source>Inertia properties</source> - <translation type="unfinished"> - </translation> + <translation>慣性データ</translation> </message> <message> <source>Use plane inertia</source> - <translation type="unfinished"> - </translation> + <translation>機体の慣性値を適用</translation> </message> <message> <source>Plane Mass =</source> - <translation type="unfinished"> - </translation> + <translation>機体重量 =</translation> </message> <message> <source>X_CoG =</source> - <translation type="unfinished"> - </translation> + <translation>重心のX座標=</translation> </message> <message> <source>Z_CoG =</source> - <translation type="unfinished"> - </translation> + <translation>重心のZ座標値=</translation> </message> <message> <source>Plane and Flight Data</source> - <translation type="unfinished"> - </translation> + <translation>機体と飛行データ</translation> </message> <message> <source>Wing Loading = 0.033 kg/dm2</source> - <translation type="unfinished"> - </translation> + <translation>翼面荷重=0.033 kg/dm2</translation> </message> <message> <source>SRe</source> - <translation type="unfinished"> - </translation> + <translation>SRe</translation> </message> <message> <source>RRe</source> - <translation type="unfinished"> - </translation> + <translation>RRe</translation> </message> <message> <source>QInfCl</source> - <translation type="unfinished"> - </translation> + <translation>QInfCl</translation> </message> <message> <source>Flight Characteristics</source> - <translation type="unfinished"> - </translation> + <translation>飛行特性</translation> </message> <message> <source>Mass must be non-zero for type 2 polars</source> - <translation type="unfinished"> - </translation> + <translation>タイプ2で解析を行う場合は、質量を正の値にしてください。</translation> </message> <message> <source>LLT</source> - <translation type="unfinished"> - </translation> + <translation>揚力線理論</translation> </message> <message> <source>VLM</source> - <translation type="unfinished"> - </translation> + <translation>渦格子法</translation> </message> <message> <source>3D Panels</source> - <translation type="unfinished"> - </translation> + <translation>3Dパネル法</translation> </message> <message> <source>Wing analysis methods</source> - <translation type="unfinished"> - </translation> + <translation>翼の解析方法</translation> </message> <message> <source>Mix 3D Panels/VLM</source> - <translation type="unfinished"> - </translation> + <translation>3Dパネル法とVLM法の混合</translation> </message> <message> <source>Unit</source> - <translation type="unfinished"> - </translation> + <translation>単位</translation> </message> <message> <source>International</source> @@ -9586,23 +8873,19 @@ </message> <message> <source>Imperial</source> - <translation type="unfinished"> - </translation> + <translation>ヤード・ポンド法</translation> </message> <message> <source>Vinf.sqrt(Cl) =</source> - <translation type="unfinished"> - </translation> + <translation>Vinf.sqrt(Cl) =</translation> </message> <message> <source>Aerodynamic Data</source> - <translation type="unfinished"> - </translation> + <translation>空気力データ</translation> </message> <message> <source>Viscous</source> - <translation type="unfinished"> - </translation> + <translation>粘性</translation> </message> <message> <source>Tilt. Geom.</source> @@ -9611,38 +8894,31 @@ </message> <message> <source>Options</source> - <translation type="unfinished"> - </translation> + <translation>オプション</translation> </message> <message> <source>Ground Effect</source> - <translation type="unfinished"> - </translation> + <translation>地面効果</translation> </message> <message> <source>Height =</source> - <translation type="unfinished"> - </translation> + <translation>高さ=</translation> </message> <message> <source>Wing Planform</source> - <translation type="unfinished"> - </translation> + <translation>翼平面型</translation> </message> <message> <source>Wing Planform projected on xy plane</source> - <translation type="unfinished"> - </translation> + <translation>XY平面に投影された翼平面型</translation> </message> <message> <source>Reference Area and Span for Aero Coefficients</source> - <translation type="unfinished"> - </translation> + <translation>空力微係数の基準面積およびスパン</translation> </message> <message> <source>OK</source> - <translation type="unfinished"> - </translation> + <translation>OK</translation> </message> <message> <source>Cancel</source> @@ -9650,36 +8926,30 @@ </message> <message> <source>Root Re =</source> - <translation type="unfinished"> - </translation> + <translation>翼根のRe</translation> </message> <message> <source>Tip Re =</source> - <translation type="unfinished"> - </translation> + <translation>翼端のRe</translation> </message> <message> <source>Root Re.sqrt(Cl) =</source> - <translation type="unfinished"> - </translation> + <translation>Root Re.sqrt(Cl) =</translation> </message> <message> <source>Tip Re.sqrt(Cl) =</source> - <translation type="unfinished"> - </translation> + <translation>Tip Re.sqrt(Cl) =</translation> </message> <message> <source>Wing Loading = </source> - <translation type="unfinished"> - </translation> + <translation>翼面荷重 </translation> </message> </context> <context> <name>WingDelegate</name> <message> <source>Uniform</source> - <translation type="unfinished"> - </translation> + <translation>一様</translation> </message> <message> <source>Cosine</source> @@ -9870,14 +9140,14 @@ <message> <source> Iteration %1 ... </source> - <translation type="unfinished"> - </translation> + <translation> 反復 %1 回目... +</translation> </message> <message> <source>unconverged after %1 iterations </source> - <translation type="unfinished"> - </translation> + <translation>反復%1回で収束しませんでした +</translation> </message> <message> <source>--------- Unconverged ----------- @@ -9888,8 +9158,8 @@ <message> <source>converged after %1 iterations </source> - <translation type="unfinished"> - </translation> + <translation>反復%1回で収束しました +</translation> </message> <message> <source>Close</source> diff -Nru xflr5-6.05/win/xflr5.rc xflr5-6.06/win/xflr5.rc --- xflr5-6.05/win/xflr5.rc 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/win/xflr5.rc 2011-11-20 04:52:13.000000000 +0900 @@ -1 +1,2 @@ -IDI_ICON1 ICON DISCARDABLE "XFLR5.ico" +IDI_ICON1 ICON DISCARDABLE "xflr5.ico" +IDI_ICON2 ICON DISCARDABLE "xflr5_doc.ico" バイナリーファイル /tmp/zcWbuH4OEV/xflr5-6.05/win/xflr5_doc.ico と/tmp/ssOPEP4rVI/xflr5-6.06/win/xflr5_doc.ico は異なります diff -Nru xflr5-6.05/xflr5.pro xflr5-6.06/xflr5.pro --- xflr5-6.05/xflr5.pro 2011-07-25 02:43:09.000000000 +0900 +++ xflr5-6.06/xflr5.pro 2012-01-28 19:34:55.000000000 +0900 @@ -58,7 +58,6 @@ src/XDirect/XFoilAdvancedDlg.cpp \ src/XDirect/XDirect.cpp \ src/Objects/Body.cpp \ - src/Objects/CRectangle.cpp \ src/Objects/CVector.cpp \ src/Objects/Foil.cpp \ src/Objects/Frame.cpp \ @@ -239,7 +238,7 @@ # MAKE INSTALL INSTALLS += target - target.path = $$BINDIR +# target.path = $$BINDIR } macx { diff -Nru xflr5-6.05/xflr5.qrc xflr5-6.06/xflr5.qrc --- xflr5-6.05/xflr5.qrc 2011-05-22 21:16:25.000000000 +0900 +++ xflr5-6.06/xflr5.qrc 2012-01-28 19:34:55.000000000 +0900 @@ -1,6 +1,5 @@ <RCC> <qresource prefix="/"> - <file>images/xflr5_64.png</file> <file>images/new.png</file> <file>images/open.png</file> <file>images/save.png</file> @@ -24,6 +23,7 @@ <file>images/OnStabView.png</file> <file>images/OnRootLocus.png</file> <file>images/On3DModes.png</file> + <file>images/xflr5_64.png</file> <file>images/splash.png</file> </qresource> </RCC>
Attachment:
pgpq11rbdMGE5.pgp
Description: PGP signature