einiges zeugs usw ... blabla brummbrumm dada
git-svn-id: http://svn.lsim.tuxzone.org/trunk@33 4bec179b-ab65-46ed-a5f8-55b8b5c735d0
This commit is contained in:
Binary file not shown.
14
lsim.kdevses
14
lsim.kdevses
@@ -3,25 +3,25 @@
|
||||
<KDevPrjSession>
|
||||
<DocsAndViews NumberOfDocuments="8" >
|
||||
<Doc0 NumberOfViews="1" URL="file:///mnt/sdb1/c%2B%2B/lsim/src/graphicsellipseitem.cpp" >
|
||||
<View0 Encoding="" line="185" Type="Source" />
|
||||
<View0 Encoding="" Type="Source" />
|
||||
</Doc0>
|
||||
<Doc1 NumberOfViews="1" URL="file:///mnt/sdb1/c%2B%2B/lsim/src/simulscene.cpp" >
|
||||
<View0 Encoding="" line="57" Type="Source" />
|
||||
<View0 Encoding="" line="818" Type="Source" />
|
||||
</Doc1>
|
||||
<Doc2 NumberOfViews="1" URL="file:///mnt/sdb1/c%2B%2B/lsim/src/main.cpp" >
|
||||
<View0 Encoding="" line="0" Type="Source" />
|
||||
<View0 Encoding="" Type="Source" />
|
||||
</Doc2>
|
||||
<Doc3 NumberOfViews="1" URL="file:///mnt/sdb1/c%2B%2B/lsim/src/graphicsellipseitem.h" >
|
||||
<View0 Encoding="" line="81" Type="Source" />
|
||||
<View0 Encoding="" Type="Source" />
|
||||
</Doc3>
|
||||
<Doc4 NumberOfViews="1" URL="file:///mnt/sdb1/c%2B%2B/lsim/src/lsim.h" >
|
||||
<View0 Encoding="" line="124" Type="Source" />
|
||||
<View0 Encoding="" Type="Source" />
|
||||
</Doc4>
|
||||
<Doc5 NumberOfViews="1" URL="file:///mnt/sdb1/c%2B%2B/lsim/src/lsim.cpp" >
|
||||
<View0 Encoding="" line="105" Type="Source" />
|
||||
<View0 Encoding="" Type="Source" />
|
||||
</Doc5>
|
||||
<Doc6 NumberOfViews="1" URL="file:///mnt/sdb1/c%2B%2B/lsim/src/graphicsview.cpp" >
|
||||
<View0 Encoding="" line="105" Type="Source" />
|
||||
<View0 Encoding="" Type="Source" />
|
||||
</Doc6>
|
||||
<Doc7 NumberOfViews="1" URL="file:///mnt/sdb1/c%2B%2B/lsim/src/graphicsview.h" >
|
||||
<View0 Encoding="" line="40" Type="Source" />
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "constants.h"
|
||||
#include <iostream>
|
||||
#include <climits>
|
||||
#include <QLocale>
|
||||
|
||||
GraphicsEllipseItem::GraphicsEllipseItem() {
|
||||
//setFlag(ItemIsMovable);
|
||||
@@ -79,6 +80,22 @@ void GraphicsEllipseItem::handleSceneChange(const QList<QRectF> & /*region*/) {
|
||||
emit ScenePosChanged(myScenePos);
|
||||
emit ScenePosXChanged(myScenePos.x());
|
||||
emit ScenePosYChanged(myScenePos.y());
|
||||
|
||||
SimulScene* myScene = dynamic_cast<SimulScene*>(scene());
|
||||
if (myScene != 0) {
|
||||
QString ScenePosPxStringX(QLocale().toString(myScenePos.x(),'g',3));
|
||||
ScenePosPxStringX.append(" px");
|
||||
QString ScenePosPxStringY(QLocale().toString(myScenePos.y(),'g',3));
|
||||
ScenePosPxStringY.append(" px");
|
||||
QString ScenePosMStringX(QLocale().toString(myScenePos.x()*myScene->getMeterPerPx(),'g',3));
|
||||
ScenePosMStringX.append(" m");
|
||||
QString ScenePosMStringY(QLocale().toString(myScenePos.y()*myScene->getMeterPerPx(),'g',3));
|
||||
ScenePosMStringY.append(" m");
|
||||
emit ScenePosXChangedPixel(ScenePosPxStringX);
|
||||
emit ScenePosYChangedPixel(ScenePosPxStringY);
|
||||
emit ScenePosXChangedMeter(ScenePosMStringX);
|
||||
emit ScenePosYChangedMeter(ScenePosMStringY);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -122,17 +139,16 @@ void GraphicsEllipseItem::calculateProbePath(QPointF startPoint) {
|
||||
|
||||
double powerX = myScene->getPowerAt(currProbePath->at(i-1), charge, speedListX->at(i-1),speedListY->at(i-1), 'x');
|
||||
double powerY = myScene->getPowerAt(currProbePath->at(i-1), charge, speedListX->at(i-1),speedListY->at(i-1), 'y');
|
||||
|
||||
//automatische Zeitschrittanpassung 0.008
|
||||
if (isAdaptiveStepControlEnabled()&&combinedSpeed != 0) timePerStep = getAdaptiveStepLength()/(combinedSpeed/meterPerPx);
|
||||
//if (timePerStep < (1/10.0 * myScene->getTimePerStep())) timePerStep = 1/10.0 * myScene->getTimePerStep();
|
||||
//if (timePerStep > (19.0/10.0 * myScene->getTimePerStep())) timePerStep = 19.0/10.0 * myScene->getTimePerStep();
|
||||
double combinedPower = sqrt(powerX*powerX+powerY*powerY);
|
||||
if (isAdaptiveStepControlEnabled() && combinedPower !=0) {
|
||||
timePerStep = fabs((-combinedSpeed + sqrt(combinedSpeed*combinedSpeed + 2*(combinedPower/myMasse)*getAdaptiveStepLength()*meterPerPx)) / (combinedPower/myMasse));
|
||||
|
||||
//automatische Zeitschrittanpassung
|
||||
//if (isAdaptiveStepControlEnabled()&&combinedSpeed != 0) timePerStep = getAdaptiveStepLength()/(combinedSpeed/meterPerPx);
|
||||
//if (isAdaptiveStepControlEnabled() && combinedPower !=0) {
|
||||
// timePerStep = fabs((-combinedSpeed + sqrt(combinedSpeed*combinedSpeed + 2*(combinedPower/myMasse)*getAdaptiveStepLength()*meterPerPx)) / (combinedPower/myMasse));
|
||||
//}
|
||||
if (isAdaptiveStepControlEnabled() && (combinedPower !=0||combinedSpeed != 0)) {
|
||||
timePerStep = getAdaptiveStepLength()*meterPerPx/sqrt(2*(combinedPower/myMasse)*getAdaptiveStepLength()*meterPerPx+combinedSpeed*combinedSpeed);
|
||||
}
|
||||
|
||||
|
||||
//qDebug()<<timePerStep;
|
||||
|
||||
double deltaSpeedX = (powerX/myMasse * timePerStep);
|
||||
@@ -146,44 +162,6 @@ void GraphicsEllipseItem::calculateProbePath(QPointF startPoint) {
|
||||
|
||||
//qDebug() << deltaDistY;
|
||||
|
||||
|
||||
|
||||
//if (i >= 4) {
|
||||
|
||||
|
||||
// double dvx = (-9*speedListX->at(i-4)+37*speedListX->at(i-3)-59*speedListX->at(i-2)+55*speedListX->at(i-1))/24.0;
|
||||
// double dvy = (-9*speedListY->at(i-4)+37*speedListY->at(i-3)-59*speedListY->at(i-2)+55*speedListY->at(i-1))/24.0;
|
||||
//double dvx = (xp) / timePerStep ;
|
||||
//double dvy = (yp) / timePerStep ;
|
||||
|
||||
// deltaDistX = timePerStep/24.0 *(speedListX->at(i-3)- 5*speedListX->at(i-2)+19*speedListX->at(i-1)+9*dvx);
|
||||
// deltaDistY = timePerStep/24.0 *(speedListY->at(i-3)- 5*speedListY->at(i-2)+19*speedListY->at(i-1)+9*dvy);
|
||||
//qDebug()<< deltaDistX<< " "<< deltaDistY;
|
||||
|
||||
//}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// double k1x = deltaDistX;
|
||||
// double k1y = deltaDistY;
|
||||
// QPointF k2point = QPointF(currProbePath->at(i-1).x() * meterPerPx + k1x/2.0,currProbePath->at(i-1).y()* meterPerPx + k1y/2.0);
|
||||
// double k2x = myScene->getPowerAt( k2point , charge, k1x/timePerStep,k1y/timePerStep, 'x') /myMasse * timePerStep/2.0 * timePerStep;
|
||||
// double k2y = myScene->getPowerAt( k2point , charge, k1x/timePerStep,k1y/timePerStep, 'y') /myMasse * timePerStep/2.0 * timePerStep;
|
||||
// QPointF k3point = QPointF(currProbePath->at(i-1).x()* meterPerPx + k2x/2.0,currProbePath->at(i-1).y()* meterPerPx + k2y/2.0);
|
||||
// double k3x = myScene->getPowerAt( k3point , charge, k2x/timePerStep,k2y/timePerStep, 'x') /myMasse * timePerStep/2.0 * timePerStep;
|
||||
// double k3y = myScene->getPowerAt( k3point , charge, k2x/timePerStep,k2y/timePerStep, 'y') /myMasse * timePerStep/2.0 * timePerStep;
|
||||
// QPointF k4point = QPointF(currProbePath->at(i-1).x() + k3x,currProbePath->at(i-1).y() + k3y);
|
||||
// double k4x = myScene->getPowerAt( k4point , charge, k3x/timePerStep,k3y/timePerStep, 'x') /myMasse * timePerStep * timePerStep;
|
||||
// double k4y = myScene->getPowerAt( k4point , charge, k3x/timePerStep,k3y/timePerStep, 'y') /myMasse * timePerStep * timePerStep;
|
||||
//
|
||||
// deltaDistX = (k1x +2*k2x+2*k3x+k4x)/6.0;
|
||||
// deltaDistY = (k1y +2*k2y+2*k3y+k4y)/6.0;
|
||||
|
||||
|
||||
QPointF newPoint(currProbePath->at(i-1).x() + deltaDistX/meterPerPx ,currProbePath->at(i-1).y() + deltaDistY/meterPerPx);
|
||||
|
||||
//Scrollbar int Probleme vermeiden
|
||||
@@ -205,7 +183,7 @@ void GraphicsEllipseItem::calculateProbePath(QPointF startPoint) {
|
||||
if (i%path_entry_step == 0 || i==currProbePath->count()) flightPath.lineTo(currProbePath->at(i));
|
||||
}
|
||||
|
||||
qDebug()<< "Probe Path: " <<*currProbePath;
|
||||
//qDebug()<< "Probe Path: " <<*currProbePath;
|
||||
//qDebug()<< "speed x: "<<*speedListX;
|
||||
//qDebug()<< "speed y: "<<*speedListY;
|
||||
//qDebug()<<speedListY->at(12);
|
||||
@@ -335,3 +313,13 @@ void GraphicsEllipseItem::setAdaptiveStepLength ( double theValue ) {
|
||||
adaptiveStepLength = theValue;
|
||||
emit adaptiveStepLengthChanged(theValue);
|
||||
}
|
||||
|
||||
|
||||
QList< double >* GraphicsEllipseItem::getSpeedListX() const {
|
||||
return speedListX;
|
||||
}
|
||||
|
||||
|
||||
QList< double >* GraphicsEllipseItem::getSpeedListY() const {
|
||||
return speedListY;
|
||||
}
|
||||
|
||||
@@ -54,6 +54,8 @@ class GraphicsEllipseItem : public QObject , public QGraphicsEllipseItem {
|
||||
double getRealSimulTime() const;
|
||||
bool isAdaptiveStepControlEnabled() const;
|
||||
double getAdaptiveStepLength() const;
|
||||
QList< double >* getSpeedListX() const;
|
||||
QList< double >* getSpeedListY() const;
|
||||
|
||||
|
||||
protected:
|
||||
@@ -124,6 +126,11 @@ class GraphicsEllipseItem : public QObject , public QGraphicsEllipseItem {
|
||||
void adaptiveStepControlChanged(bool truefalse);
|
||||
void adaptiveStepLengthChanged(double length);
|
||||
|
||||
void ScenePosXChangedPixel(QString newX);
|
||||
void ScenePosYChangedPixel(QString newY);
|
||||
void ScenePosXChangedMeter(QString newX);
|
||||
void ScenePosYChangedMeter(QString newY);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
78
src/lsim.cpp
78
src/lsim.cpp
@@ -301,6 +301,7 @@ void lsim::initWindowMode(WindowMode newMode) {
|
||||
removeDockWidget(probeItemDock);
|
||||
removeDockWidget(sceneDock);
|
||||
removeDockWidget(simulOptDock);
|
||||
removeDockWidget(simulDataDock);
|
||||
gview->setDragMode(QGraphicsView::NoDrag);
|
||||
gview->setInteractive(true);
|
||||
|
||||
@@ -310,9 +311,9 @@ void lsim::initWindowMode(WindowMode newMode) {
|
||||
|
||||
addToolBar(sceneModeBar);
|
||||
addToolBar(upDownBar);
|
||||
addDockWidget(Qt::LeftDockWidgetArea,fieldItemEditDock);
|
||||
addDockWidget(Qt::LeftDockWidgetArea,probeItemDock);
|
||||
addDockWidget(Qt::LeftDockWidgetArea,sceneDock);
|
||||
addDockWidget(Qt::LeftDockWidgetArea,fieldItemEditDock);
|
||||
tabifyDockWidget(probeItemDock,sceneDock);
|
||||
tabifyDockWidget(sceneDock,fieldItemEditDock);
|
||||
sceneDock->show();
|
||||
@@ -332,7 +333,10 @@ void lsim::initWindowMode(WindowMode newMode) {
|
||||
gview->setInteractive (false);
|
||||
|
||||
addDockWidget(Qt::LeftDockWidgetArea,simulOptDock);
|
||||
addDockWidget(Qt::LeftDockWidgetArea,simulDataDock);
|
||||
simulOptDock->setVisible(true);
|
||||
simulDataDock->setVisible(true);
|
||||
tabifyDockWidget(simulDataDock,simulOptDock);
|
||||
|
||||
acts.itemEditModeAct->trigger();
|
||||
simulscene->clearSelection();
|
||||
@@ -501,6 +505,78 @@ void lsim::createDocks() {
|
||||
//************************************************************************
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
//simuldatadock
|
||||
|
||||
//labels position
|
||||
QLabel *xPxPosLabel = new QLabel("0,00 px");
|
||||
xPxPosLabel->setTextInteractionFlags(Qt::TextSelectableByMouse);
|
||||
connect(simulscene->getProbeChargeItem(), SIGNAL(ScenePosXChangedPixel(QString)),xPxPosLabel, SLOT(setText(QString)));
|
||||
|
||||
QLabel *yPxPosLabel = new QLabel("0,00 px");
|
||||
yPxPosLabel->setTextInteractionFlags(Qt::TextSelectableByMouse);
|
||||
connect(simulscene->getProbeChargeItem(), SIGNAL(ScenePosYChangedPixel(QString)),yPxPosLabel, SLOT(setText(QString)));
|
||||
|
||||
QLabel *xMPosLabel = new QLabel("0,00 m");
|
||||
xMPosLabel->setTextInteractionFlags(Qt::TextSelectableByMouse);
|
||||
connect(simulscene->getProbeChargeItem(), SIGNAL(ScenePosXChangedMeter(QString)),xMPosLabel, SLOT(setText(QString)));
|
||||
|
||||
QLabel *yMPosLabel = new QLabel("0,00 m");
|
||||
yMPosLabel->setTextInteractionFlags(Qt::TextSelectableByMouse);
|
||||
connect(simulscene->getProbeChargeItem(), SIGNAL(ScenePosYChangedMeter(QString)),yMPosLabel, SLOT(setText(QString)));
|
||||
//grid layout
|
||||
QGridLayout *ProbePosGridLayout = new QGridLayout;
|
||||
ProbePosGridLayout->addWidget(new QLabel("x:"),0,0,Qt::AlignCenter);
|
||||
ProbePosGridLayout->addWidget(xPxPosLabel,0,1,Qt::AlignCenter);
|
||||
ProbePosGridLayout->addWidget(xMPosLabel,0,2,Qt::AlignCenter);
|
||||
ProbePosGridLayout->addWidget(new QLabel("y:"),1,0,Qt::AlignCenter);
|
||||
ProbePosGridLayout->addWidget(yPxPosLabel,1,1,Qt::AlignCenter);
|
||||
ProbePosGridLayout->addWidget(yMPosLabel,1,2,Qt::AlignCenter);
|
||||
|
||||
QGroupBox *ProbePosGroupBox = new QGroupBox(tr("Position"));
|
||||
ProbePosGroupBox->setLayout(ProbePosGridLayout);
|
||||
|
||||
//labels speed
|
||||
QLabel *xSpeedLabel = new QLabel("0,00 m/s");
|
||||
xSpeedLabel->setTextInteractionFlags(Qt::TextSelectableByMouse);
|
||||
connect(simulscene, SIGNAL(probeSpeedXChanged(QString)),xSpeedLabel, SLOT(setText(QString)));
|
||||
|
||||
QLabel *ySpeedLabel = new QLabel("0,00 m/s");
|
||||
ySpeedLabel->setTextInteractionFlags(Qt::TextSelectableByMouse);
|
||||
connect(simulscene, SIGNAL(probespeedYChanged(QString)),ySpeedLabel, SLOT(setText(QString)));
|
||||
|
||||
QLabel *gesSpeedLabel = new QLabel("0,00 m/s");
|
||||
gesSpeedLabel->setTextInteractionFlags(Qt::TextSelectableByMouse);
|
||||
connect(simulscene, SIGNAL(probeSpeedChanged(QString)),gesSpeedLabel, SLOT(setText(QString)));
|
||||
//grid layout
|
||||
QGridLayout *ProbeSpeedGridLayout = new QGridLayout;
|
||||
ProbeSpeedGridLayout->addWidget(new QLabel("x:"),0,0,Qt::AlignCenter);
|
||||
ProbeSpeedGridLayout->addWidget(xSpeedLabel,0,1,Qt::AlignCenter);
|
||||
ProbeSpeedGridLayout->addWidget(new QLabel("y:"),1,0,Qt::AlignCenter);
|
||||
ProbeSpeedGridLayout->addWidget(ySpeedLabel,1,1,Qt::AlignCenter);
|
||||
ProbeSpeedGridLayout->addWidget(new QLabel(tr("Betrag gesamt:")),2,0,Qt::AlignCenter);
|
||||
ProbeSpeedGridLayout->addWidget(gesSpeedLabel,2,1,Qt::AlignCenter);
|
||||
|
||||
QGroupBox *ProbeSpeedGroupBox = new QGroupBox(tr("Geschwindigkeit"));
|
||||
ProbeSpeedGroupBox->setLayout(ProbeSpeedGridLayout);
|
||||
|
||||
|
||||
|
||||
QVBoxLayout *simulDataVBoxLayout = new QVBoxLayout();
|
||||
simulDataVBoxLayout->addWidget(ProbePosGroupBox);
|
||||
simulDataVBoxLayout->addWidget(ProbeSpeedGroupBox);
|
||||
simulDataVBoxLayout->addStretch();
|
||||
|
||||
QWidget *simulDataWidget = new QWidget;
|
||||
simulDataWidget->setLayout(simulDataVBoxLayout);
|
||||
|
||||
simulDataDock = new QDockWidget(tr("Daten"), this);
|
||||
simulDataDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea);
|
||||
simulDataDock->setWidget(simulDataWidget);
|
||||
|
||||
//************************************************************************
|
||||
|
||||
|
||||
|
||||
fieldItemEditDock = new QDockWidget(tr("Feldeinstellungen"), this);
|
||||
fieldItemEditDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea);
|
||||
|
||||
@@ -135,6 +135,8 @@ class lsim: public QMainWindow {
|
||||
QDockWidget *probeItemDock;
|
||||
QDockWidget *sceneDock;
|
||||
QDockWidget *simulOptDock;
|
||||
QDockWidget *simulDataDock;
|
||||
|
||||
|
||||
SimulScene *simulscene;
|
||||
|
||||
|
||||
@@ -38,6 +38,8 @@
|
||||
#include <QGraphicsPathItem>
|
||||
#include <QListWidget>
|
||||
#include <QPainter>
|
||||
#include <QMap>
|
||||
#include <QPair>
|
||||
|
||||
|
||||
SimulScene::SimulScene ( QObject* parent ) : QGraphicsScene ( parent ) {
|
||||
@@ -98,6 +100,8 @@ SimulScene::SimulScene ( QObject* parent ) : QGraphicsScene ( parent ) {
|
||||
ani->setTimeLine(timer);
|
||||
|
||||
connect( timer, SIGNAL(finished()), this, SIGNAL(timeLineInRunningState()) );
|
||||
connect( timer, SIGNAL(valueChanged(qreal)), this, SLOT(handleTimeLineValueChange(qreal)) );
|
||||
|
||||
|
||||
setupVars();
|
||||
|
||||
@@ -107,6 +111,27 @@ void SimulScene::drawBackground ( QPainter * painter, const QRectF & rect ) {
|
||||
QGraphicsScene::drawBackground(painter,rect);
|
||||
}
|
||||
|
||||
void SimulScene::handleTimeLineValueChange(qreal value ) {
|
||||
int step = 0;
|
||||
QList<QPair<qreal, QPointF> > poslist = ani->posList();
|
||||
for(int i = 1;i<poslist.count() ; ++i ) {
|
||||
if(value > poslist[i-1].first && value < poslist[i].first) {
|
||||
step = floor((i-1) * ellipse1->getSpeedListY()->count()/poslist.count());
|
||||
break;
|
||||
}
|
||||
}
|
||||
//qDebug()<<step <<"-->"<<ellipse1->getSpeedListY()->at(step);
|
||||
double gesSpeed = sqrt(pow(ellipse1->getSpeedListX()->at(step),2) +pow(ellipse1->getSpeedListY()->at(step),2));
|
||||
QString newSpeedStringX(QLocale().toString(ellipse1->getSpeedListX()->at(step) ,'g',3));
|
||||
newSpeedStringX.append(" m/s");
|
||||
QString newSpeedStringY(QLocale().toString(ellipse1->getSpeedListY()->at(step),'g',3));
|
||||
newSpeedStringY.append(" m/s");
|
||||
QString newSpeedGes(QLocale().toString(gesSpeed,'g',3));
|
||||
newSpeedGes.append(" m/s");
|
||||
emit probeSpeedXChanged(newSpeedStringX);
|
||||
emit probespeedYChanged(newSpeedStringY);
|
||||
emit probeSpeedChanged(newSpeedGes);
|
||||
}
|
||||
|
||||
void SimulScene::setupVars() {
|
||||
//variablen initialisieren
|
||||
@@ -813,10 +838,13 @@ void SimulScene::startCalculation() {
|
||||
int currSteps = ellipse1->getCurrProbePath()->count();
|
||||
int entry_step = ceil(currSteps/2500.0); //jeder entry_step(te) step wird eingetragen
|
||||
double totalTime = ellipse1->getElapsedTimeList()->at(currSteps-1);
|
||||
aniStepList.clear();
|
||||
for (int i=0; i<currSteps; ++i) {
|
||||
if (i%entry_step == 0 || i==currSteps) {
|
||||
//Zeianteil anstatt Weganteil
|
||||
ani->setPosAt(ellipse1->getElapsedTimeList()->at(i)/totalTime, ellipse1->getCurrProbePath()->at(i) );
|
||||
//Zeianteil
|
||||
double newStep = ellipse1->getElapsedTimeList()->at(i)/totalTime;
|
||||
ani->setPosAt(newStep, ellipse1->getCurrProbePath()->at(i) );
|
||||
//aniStepList.insert(ani->, i);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -827,8 +855,6 @@ void SimulScene::startCalculation() {
|
||||
|
||||
//brauchbare Animationsdauer bestimmen
|
||||
setTimeLineDuration(ellipse1->getFlightPath().length()/getPxPerSec() * 1000.0);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
|
||||
#include <QGraphicsScene>
|
||||
#include <graphicsellipseitem.h>
|
||||
#include <QMap>
|
||||
|
||||
class QTimeLine;
|
||||
class HomoEFieldItem;
|
||||
@@ -109,6 +110,7 @@ class SimulScene : public QGraphicsScene {
|
||||
void moveFieldItemOnBottom(QGraphicsItem* fieldItem);
|
||||
void moveSelectedFieldItemOnBottom();
|
||||
void resetScene();
|
||||
void handleTimeLineValueChange(qreal value);
|
||||
|
||||
private slots:
|
||||
void displayResizeRects(bool move = false);
|
||||
@@ -125,6 +127,10 @@ class SimulScene : public QGraphicsScene {
|
||||
void timeLineDurationChanged(int duration);
|
||||
void timeLineInRunningState(bool yesno = false);
|
||||
void realSimulTimeChanged(QString theString);
|
||||
|
||||
void probeSpeedXChanged(QString text);
|
||||
void probespeedYChanged(QString text);
|
||||
void probeSpeedChanged(QString text);
|
||||
private:
|
||||
QTimeLine *timer;
|
||||
|
||||
@@ -159,6 +165,7 @@ class SimulScene : public QGraphicsScene {
|
||||
QGraphicsPathItem *pathItem1;
|
||||
QListWidget* fieldListWidget;
|
||||
|
||||
QMap<double, int> aniStepList;
|
||||
|
||||
//rechtecke zur groesenaenderung
|
||||
struct resizeRects {
|
||||
|
||||
Reference in New Issue
Block a user