many changes in the RichPoint3m dialog parameter:

- re-connected a missing signal
- now "view pos." is the trackball view position, before it was not working
- "camera pos." is now "raster camera pos." and gets the current raster camera position (if any). before it was not really working
- added "trackball center" as possible choice
This commit is contained in:
Marco Callieri mcallieri 2016-11-02 15:55:25 +00:00
parent c7e2668b63
commit 2c2fdcc430
6 changed files with 50 additions and 32 deletions

View File

@ -1695,8 +1695,14 @@ void GLArea::sendRasterShot(QString name)
void GLArea::sendCameraPos( QString name )
{
Point3f dir= trackball.camera.ViewPoint();
emit transmitCameraPos(name,dir);
Point3f pos = trackball.camera.ViewPoint();
emit transmitCameraPos(name, pos);
}
void GLArea::sendTrackballPos(QString name)
{
Point3f pos = -trackball.track.tra;
emit transmitTrackballPos(name, pos);
}
Point3f GLArea::getViewDir()
@ -2271,7 +2277,7 @@ void GLArea::toggleOrtho()
void GLArea::trackballStep(QString dir)
{
float stepAngle = M_PI / 6.0;
float stepAngle = M_PI / 12.0;
if (dir == tr("Horizontal +"))
trackball.track.rot = Quaternionf(-stepAngle, Point3f(0.0, 1.0, 0.0)) * trackball.track.rot;

View File

@ -341,11 +341,12 @@ public:
// This mechanism is used to get the view direction/position and picking point on surface in the filter parameter dialog.
// See the Point3fWidget code.
signals :
void transmitViewDir(QString name, Point3m dir);
void transmitViewPos(QString name, Point3m dir);
void transmitSurfacePos(QString name, Point3m dir);
void transmitPickedPos(QString name, Point2m dir);
void transmitCameraPos(QString name, Point3m dir);
void transmitViewDir(QString name, Point3m dir);
void transmitViewPos(QString name, Point3m pos);
void transmitSurfacePos(QString name, Point3m pos);
void transmitPickedPos(QString name, Point2m pos);
void transmitCameraPos(QString name, Point3m pos);
void transmitTrackballPos(QString name, Point3m pos);
void transmitShot(QString name, Shotm);
void transmitMatrix(QString name, Matrix44m);
void updateLayerTable();
@ -361,8 +362,7 @@ public slots:
void sendMeshMatrix(QString name);
void sendViewerShot(QString name);
void sendRasterShot(QString name);
void sendTrackballPos(QString name);
public:

View File

@ -277,10 +277,11 @@ Point3fWidget::Point3fWidget(QWidget *p, RichPoint3f* rpf, QWidget *gla_curr): M
//this->addWidget(getPoint3Button,0,Qt::AlignHCenter);
vlay->addWidget(getPoint3Button);
QStringList names;
names << "View Dir";
names << "View Pos";
names << "Surf. Pos";
names << "Camera Pos";
names << "View Dir.";
names << "View Pos.";
names << "Surf. Pos.";
names << "Raster Camera Pos.";
names << "Trackball Center";
getPoint3Combo = new QComboBox(this);
getPoint3Combo->addItems(names);
@ -293,10 +294,13 @@ Point3fWidget::Point3fWidget(QWidget *p, RichPoint3f* rpf, QWidget *gla_curr): M
connect(gla_curr,SIGNAL(transmitViewDir(QString,Point3m)),this,SLOT(setValue(QString,Point3m)));
connect(gla_curr,SIGNAL(transmitShot(QString,Shotm)),this,SLOT(setShotValue(QString,Shotm)));
connect(gla_curr,SIGNAL(transmitSurfacePos(QString,Point3m)),this,SLOT(setValue(QString,Point3m)));
connect(gla_curr,SIGNAL(transmitCameraPos(QString, Point3m)),this,SLOT(setValue(QString, Point3m)));
connect(gla_curr,SIGNAL(transmitTrackballPos(QString, Point3m)),this,SLOT(setValue(QString, Point3m)));
connect(this,SIGNAL(askViewDir(QString)),gla_curr,SLOT(sendViewDir(QString)));
connect(this,SIGNAL(askViewPos(QString)),gla_curr,SLOT(sendMeshShot(QString)));
connect(this,SIGNAL(askViewPos(QString)),gla_curr,SLOT(sendViewerShot(QString)));
connect(this,SIGNAL(askSurfacePos(QString)),gla_curr,SLOT(sendSurfacePos(QString)));
connect(this,SIGNAL(askCameraPos(QString)),gla_curr,SLOT(sendCameraPos(QString)));
connect(this,SIGNAL(askCameraPos(QString)),gla_curr,SLOT(sendRasterShot(QString)));
connect(this,SIGNAL(askTrackballPos(QString)),gla_curr,SLOT(sendTrackballPos(QString)));
}
//gridLay->addLayout(lay,row,1,Qt::AlignTop);
}
@ -307,11 +311,12 @@ void Point3fWidget::getPoint()
//qDebug("Got signal %i",index);
switch(index)
{
case 0 : emit askViewDir(paramName); break;
case 1 : emit askViewPos(paramName); break;
case 2 : emit askSurfacePos(paramName); break;
case 3 : emit askCameraPos(paramName); break;
default : assert(0);
case 0: emit askViewDir(paramName); break;
case 1: emit askViewPos(paramName); break;
case 2: emit askSurfacePos(paramName); break;
case 3: emit askCameraPos(paramName); break;
case 4: emit askTrackballPos(paramName); break;
default : assert(0);
}
}

View File

@ -275,6 +275,7 @@ public:
void askViewPos(QString);
void askSurfacePos(QString);
void askCameraPos(QString);
void askTrackballPos(QString);
protected:
QLineEdit * coordSB[3];

View File

@ -876,10 +876,11 @@ XMLVec3Widget::XMLVec3Widget(const MLXMLPluginInfo::XMLMap& xmlWidgetTag,EnvWrap
hlay->addWidget(getPoint3Button);
QStringList names;
names << "View Dir";
names << "View Pos";
names << "Surf. Pos";
names << "Camera Pos";
names << "View Dir.";
names << "View Pos.";
names << "Surf. Pos.";
names << "Raster Camera Pos.";
names << "Trackball Center";
getPoint3Combo = new QComboBox(this);
getPoint3Combo->addItems(names);
@ -892,10 +893,13 @@ XMLVec3Widget::XMLVec3Widget(const MLXMLPluginInfo::XMLMap& xmlWidgetTag,EnvWrap
connect(curr_gla,SIGNAL(transmitViewDir(QString,vcg::Point3f)),this,SLOT(setPoint(QString,vcg::Point3f)));
connect(curr_gla,SIGNAL(transmitShot(QString,vcg::Shotf)),this,SLOT(setShot(QString,vcg::Shotf)));
connect(curr_gla,SIGNAL(transmitSurfacePos(QString,vcg::Point3f)),this,SLOT(setPoint(QString,vcg::Point3f)));
connect(curr_gla,SIGNAL(transmitCameraPos(QString, Point3m)),this,SLOT(setValue(QString, Point3m)));
connect(curr_gla,SIGNAL(transmitTrackballPos(QString, Point3m)),this,SLOT(setValue(QString, Point3m)));
connect(this,SIGNAL(askViewDir(QString)),curr_gla,SLOT(sendViewDir(QString)));
connect(this,SIGNAL(askViewPos(QString)),curr_gla,SLOT(sendMeshShot(QString)));
connect(this,SIGNAL(askViewPos(QString)),curr_gla,SLOT(sendViewerShot(QString)));
connect(this,SIGNAL(askSurfacePos(QString)),curr_gla,SLOT(sendSurfacePos(QString)));
connect(this,SIGNAL(askCameraPos(QString)),curr_gla,SLOT(sendCameraPos(QString)));
connect(this,SIGNAL(askCameraPos(QString)),curr_gla,SLOT(sendRasterShot(QString)));
connect(this,SIGNAL(askTrackballPos(QString)),curr_gla,SLOT(sendTrackballPos(QString)));
}
//gridLay->addLayout(hlay,row,1,Qt::AlignTop);
}
@ -935,11 +939,12 @@ void XMLVec3Widget::getPoint()
qDebug("Got signal %i",index);
switch(index)
{
case 0 : emit askViewDir(paramName); break;
case 1 : emit askViewPos(paramName); break;
case 2 : emit askSurfacePos(paramName); break;
case 3 : emit askCameraPos(paramName); break;
default : assert(0);
case 0 : emit askViewDir(paramName); break;
case 1 : emit askViewPos(paramName); break;
case 2 : emit askSurfacePos(paramName); break;
case 3 : emit askCameraPos(paramName); break;
case 4 : emit askTrackballPos(paramName); break;
default : assert(0);
}
}

View File

@ -231,6 +231,7 @@ signals:
void askViewPos(QString);
void askSurfacePos(QString);
void askCameraPos(QString);
void askTrackballPos(QString);
void setExp(const QString& name,const QString& exp );
protected:
QLineEdit * coordSB[3];