mirror of
https://github.com/lucaspalomodevelop/meshlab.git
synced 2026-03-13 08:09:39 +00:00
122 lines
3.5 KiB
C++
122 lines
3.5 KiB
C++
/****************************************************************************
|
|
* MeshLab o o *
|
|
* An extendible mesh processor o o *
|
|
* _ O _ *
|
|
* Copyright(C) 2005, 2009 \/)\/ *
|
|
* Visual Computing Lab /\/| *
|
|
* ISTI - Italian National Research Council | *
|
|
* \ *
|
|
* All rights reserved. *
|
|
* *
|
|
* 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 (http://www.gnu.org/licenses/gpl.txt) *
|
|
* for more details. *
|
|
* *
|
|
****************************************************************************/
|
|
|
|
#include "slicedialog.h"
|
|
|
|
dialogslice::dialogslice(QWidget *parent)
|
|
: QDockWidget(parent)
|
|
{
|
|
|
|
ui.setupUi(this);
|
|
this->setWidget(ui.frame);
|
|
numPlane=1; //number of plans
|
|
distance=1;
|
|
|
|
//defaultTrackball=false;
|
|
restoreDefalut=false;
|
|
QPoint p=parent->mapToGlobal(QPoint(0,0));
|
|
this->setGeometry(p.x()+(parent->width()-width()),p.y()+40,width(),height() );
|
|
this->setFloating(true);
|
|
multi_sigleExportFile=false; //Multi/Single file choose
|
|
|
|
}
|
|
|
|
dialogslice::~dialogslice(){
|
|
|
|
}
|
|
void dialogslice::on_DefultButton_clicked()
|
|
{
|
|
emit Update_glArea();
|
|
emit RestoreDefault();
|
|
|
|
numPlane=1;
|
|
distance=1;
|
|
ui.SliderPlaneDistance->setValue(1);
|
|
ui.spinBox->setValue(1);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
void dialogslice::on_ExportButton_clicked()
|
|
{
|
|
emit exportMesh();
|
|
}
|
|
|
|
|
|
|
|
|
|
void dialogslice::on_SliderPlaneDistance_sliderMoved(int x)
|
|
{
|
|
distanceDefault=false;
|
|
distance=x;
|
|
QString c;
|
|
ui.DistanceEdit->setText(c.setNum(distance*distanceRange));
|
|
|
|
emit Update_glArea();
|
|
}
|
|
void dialogslice::on_Exporter_singleFile_clicked()
|
|
{
|
|
this->multi_sigleExportFile=true;
|
|
}
|
|
|
|
void dialogslice::on_Exporter_MultiFile_clicked()
|
|
{
|
|
this->multi_sigleExportFile=false;
|
|
}
|
|
|
|
void dialogslice::on_DistanceEdit_returnPressed()
|
|
{
|
|
distanceDefault=false;
|
|
bool ok;
|
|
float val=this->ui.DistanceEdit->text().toFloat(&ok);
|
|
if (ok)
|
|
{
|
|
this->ui.SliderPlaneDistance->setValue(val/distanceRange);
|
|
distance=val/distanceRange;
|
|
QString c;
|
|
|
|
}
|
|
else
|
|
this->ui.SliderPlaneDistance->setValue(1);
|
|
emit Update_glArea();
|
|
}
|
|
|
|
void dialogslice::on_spinBox_valueChanged(int x)
|
|
{numPlane=x;
|
|
if(x>1){
|
|
ui.DistanceEdit->setEnabled(true);
|
|
ui.SliderPlaneDistance->setEnabled(true);
|
|
ui.SliderPlaneDistance->setValue(defaultdistance/distanceRange);
|
|
}
|
|
else
|
|
{
|
|
ui.DistanceEdit->setEnabled(false);
|
|
ui.SliderPlaneDistance->setEnabled(false);
|
|
}
|
|
|
|
emit Update_glArea();
|
|
}
|
|
|