|
@@ -31,7 +31,7 @@ XVMainWindow::XVMainWindow(QWidget *parent) :
|
|
myview->setGeometry(QRect(30, 30, 600, 600));
|
|
myview->setGeometry(QRect(30, 30, 600, 600));
|
|
|
|
|
|
connect(myview,SIGNAL(dbclickxy(double,double)),this,SLOT(onClickXY(double,double)));
|
|
connect(myview,SIGNAL(dbclickxy(double,double)),this,SLOT(onClickXY(double,double)));
|
|
-
|
|
|
|
|
|
+ connect(myview,SIGNAL(beishuchange(double)),this,SLOT(onbeishuchange(double)));
|
|
|
|
|
|
myview->setCacheMode(myview->CacheBackground);
|
|
myview->setCacheMode(myview->CacheBackground);
|
|
|
|
|
|
@@ -39,6 +39,8 @@ XVMainWindow::XVMainWindow(QWidget *parent) :
|
|
mpscene->setBackgroundBrush(Qt::darkGreen);
|
|
mpscene->setBackgroundBrush(Qt::darkGreen);
|
|
|
|
|
|
myview->setScene(mpscene);
|
|
myview->setScene(mpscene);
|
|
|
|
+ mfViewMoveX = VIEW_WIDTH/2.0;
|
|
|
|
+ mfViewMoveY = (-1.0)*VIEW_HEIGHT/2.0;
|
|
|
|
|
|
connect(&mFileDialog,SIGNAL(accepted()),this,SLOT(onFileOpen()));
|
|
connect(&mFileDialog,SIGNAL(accepted()),this,SLOT(onFileOpen()));
|
|
|
|
|
|
@@ -55,6 +57,8 @@ void XVMainWindow::resizeEvent(QResizeEvent *event)
|
|
qDebug("resize");
|
|
qDebug("resize");
|
|
QSize sizemain = ui->centralwidget->size();
|
|
QSize sizemain = ui->centralwidget->size();
|
|
qDebug("size x = %d y=%d",sizemain.width(),sizemain.height());
|
|
qDebug("size x = %d y=%d",sizemain.width(),sizemain.height());
|
|
|
|
+ mnViewWidth = sizemain.width();
|
|
|
|
+ mnViewHeight = sizemain.height();
|
|
myview->setGeometry(0,30,sizemain.width(),sizemain.height()-30);
|
|
myview->setGeometry(0,30,sizemain.width(),sizemain.height()-30);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -154,7 +158,8 @@ void XVMainWindow::UpdateScene()
|
|
for(j=0;j<ncount;j++)
|
|
for(j=0;j<ncount;j++)
|
|
{
|
|
{
|
|
QGraphicsPathItem * pitem = xvectorlanepath[j];
|
|
QGraphicsPathItem * pitem = xvectorlanepath[j];
|
|
- pitem->setPos(mfViewMoveX +VIEW_WIDTH/2,-mfViewMoveY+VIEW_HEIGHT/2);
|
|
|
|
|
|
+// pitem->setPos(mfViewMoveX +VIEW_WIDTH/2,-mfViewMoveY+VIEW_HEIGHT/2);
|
|
|
|
+ pitem->setPos(mfViewMoveX,-mfViewMoveY);
|
|
mpscene->addItem(pitem);
|
|
mpscene->addItem(pitem);
|
|
mvectorviewitem.push_back(pitem);
|
|
mvectorviewitem.push_back(pitem);
|
|
}
|
|
}
|
|
@@ -168,7 +173,8 @@ void XVMainWindow::UpdateScene()
|
|
for(j=0;j<ncount;j++)
|
|
for(j=0;j<ncount;j++)
|
|
{
|
|
{
|
|
QGraphicsPathItem * pitem = xvectormarkpath[j];
|
|
QGraphicsPathItem * pitem = xvectormarkpath[j];
|
|
- pitem->setPos(mfViewMoveX +VIEW_WIDTH/2,-mfViewMoveY+VIEW_HEIGHT/2);
|
|
|
|
|
|
+ // pitem->setPos(mfViewMoveX +VIEW_WIDTH/2,-mfViewMoveY+VIEW_HEIGHT/2);
|
|
|
|
+ pitem->setPos(mfViewMoveX,-mfViewMoveY);
|
|
mpscene->addItem(pitem);
|
|
mpscene->addItem(pitem);
|
|
mvectorviewitem.push_back(pitem);
|
|
mvectorviewitem.push_back(pitem);
|
|
}
|
|
}
|
|
@@ -195,19 +201,35 @@ void XVMainWindow::onClickXY(double x, double y)
|
|
{
|
|
{
|
|
double selx,sely;
|
|
double selx,sely;
|
|
double lon,lat;
|
|
double lon,lat;
|
|
- selx = (x - VIEW_WIDTH/2);
|
|
|
|
- sely = (y - VIEW_HEIGHT/2) * (-1);
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
+ selx = (x - (1.0/mfbeishu) * VIEW_WIDTH/2);
|
|
|
|
+ sely = (y - (1.0/mfbeishu) *VIEW_HEIGHT/2) * (-1);
|
|
|
|
+
|
|
|
|
+ qDebug("beishu is %f ",mfbeishu);
|
|
|
|
+ sely = (y - (1.0/mfbeishu) *(mnViewHeight/2)) * (-1);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ qDebug("selx is %f sely is %f ",selx,sely);
|
|
mfselx = selx;
|
|
mfselx = selx;
|
|
- mfsely = sely;
|
|
|
|
|
|
+ mfsely = sely ;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+// selx = x;
|
|
|
|
+// sely = y;
|
|
|
|
+// mfselx = selx;
|
|
|
|
+// mfsely = sely;
|
|
|
|
|
|
// double x0,y0;
|
|
// double x0,y0;
|
|
// GaussProjCal(glon0,glat0,&x0,&y0);
|
|
// GaussProjCal(glon0,glat0,&x0,&y0);
|
|
// GaussProjInvCal(x0+selx,y0+sely,&lon,&lat);
|
|
// GaussProjInvCal(x0+selx,y0+sely,&lon,&lat);
|
|
|
|
|
|
double rel_x,rel_y;
|
|
double rel_x,rel_y;
|
|
- rel_x = selx - mfViewMoveX;
|
|
|
|
- rel_y = sely - mfViewMoveY;
|
|
|
|
|
|
+// rel_x = selx - mfViewMoveX;
|
|
|
|
+// rel_y = sely - mfViewMoveY;
|
|
|
|
+
|
|
|
|
+ rel_x = selx ;
|
|
|
|
+ rel_y = sely ;
|
|
|
|
|
|
Road * pRoad = 0;
|
|
Road * pRoad = 0;
|
|
GeometryBlock * pgeob;
|
|
GeometryBlock * pgeob;
|
|
@@ -258,7 +280,8 @@ void XVMainWindow::on_actionSet_Move_triggered()
|
|
}
|
|
}
|
|
for(i=0;i<nsize;i++)
|
|
for(i=0;i<nsize;i++)
|
|
{
|
|
{
|
|
- mvectorviewitem.at(i)->setPos(mfViewMoveX +VIEW_WIDTH/2,-mfViewMoveY+VIEW_HEIGHT/2);
|
|
|
|
|
|
+// mvectorviewitem.at(i)->setPos(mfViewMoveX +VIEW_WIDTH/2,-mfViewMoveY+VIEW_HEIGHT/2);
|
|
|
|
+ mvectorviewitem.at(i)->setPos(mfViewMoveX ,-mfViewMoveY);
|
|
mpscene->addItem(mvectorviewitem.at(i));
|
|
mpscene->addItem(mvectorviewitem.at(i));
|
|
}
|
|
}
|
|
|
|
|
|
@@ -280,7 +303,8 @@ void XVMainWindow::on_actionReset_Move_triggered()
|
|
|
|
|
|
for(i=0;i<nsize;i++)
|
|
for(i=0;i<nsize;i++)
|
|
{
|
|
{
|
|
- mvectorviewitem.at(i)->setPos(mfViewMoveX +VIEW_WIDTH/2,-mfViewMoveY+VIEW_HEIGHT/2);
|
|
|
|
|
|
+ mvectorviewitem.at(i)->setPos(mfViewMoveX ,-mfViewMoveY);
|
|
|
|
+ // mvectorviewitem.at(i)->setPos(mfViewMoveX +VIEW_WIDTH/2,-mfViewMoveY+VIEW_HEIGHT/2);
|
|
mpscene->addItem(mvectorviewitem.at(i));
|
|
mpscene->addItem(mvectorviewitem.at(i));
|
|
}
|
|
}
|
|
|
|
|
|
@@ -313,3 +337,8 @@ void XVMainWindow::on_actionHelp_triggered()
|
|
"在屏幕上可以移动查看区域");
|
|
"在屏幕上可以移动查看区域");
|
|
QMessageBox::information(this,"Help",helpinfo,QMessageBox::Yes);
|
|
QMessageBox::information(this,"Help",helpinfo,QMessageBox::Yes);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+void XVMainWindow::onbeishuchange(double fbeishu)
|
|
|
|
+{
|
|
|
|
+ mfbeishu = fbeishu;
|
|
|
|
+}
|