mirror of
https://github.com/lucaspalomodevelop/meshlab.git
synced 2026-03-18 10:34:41 +00:00
added dialog obj exporter.
This commit is contained in:
parent
70120cb63b
commit
29d23b06b8
144
src/meshlabplugins/meshio/savemaskdialog.cpp
Normal file
144
src/meshlabplugins/meshio/savemaskdialog.cpp
Normal file
@ -0,0 +1,144 @@
|
||||
/****************************************************************************
|
||||
* MeshLab o o *
|
||||
* An extendible mesh processor o o *
|
||||
* _ O _ *
|
||||
* Copyright(C) 2005, 2006 \/)\/ *
|
||||
* 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. *
|
||||
* *
|
||||
****************************************************************************/
|
||||
/****************************************************************************
|
||||
History
|
||||
|
||||
$Log$
|
||||
Revision 1.1 2005/12/02 17:40:26 fmazzant
|
||||
added dialog obj exporter.
|
||||
|
||||
|
||||
*****************************************************************************/
|
||||
|
||||
#include "savemaskdialog.h"
|
||||
#include <QMessageBox>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
|
||||
SaveMaskDialog::SaveMaskDialog(QWidget *parent): QDialog(parent)
|
||||
{
|
||||
SaveMaskDialog::ui.setupUi(this);
|
||||
connect(ui.okButton, SIGNAL(clicked()), this, SLOT(SlotOkButton()));
|
||||
connect(ui.cancelButton, SIGNAL(clicked()), this, SLOT(SlotCancelButton()));
|
||||
}
|
||||
|
||||
//slot
|
||||
void SaveMaskDialog::SlotOkButton()
|
||||
{
|
||||
Mask mymask;
|
||||
mymask.binary = SaveMaskDialog::ui.binaryButton->isChecked();
|
||||
mymask.faces = SaveMaskDialog::ui.faceCheck->isChecked();
|
||||
mymask.normal = SaveMaskDialog::ui.normalCheck->isChecked();
|
||||
mymask.texture = SaveMaskDialog::ui.textureCheck->isChecked();
|
||||
mymask.vertexs = SaveMaskDialog::ui.vertexCheck->isChecked();
|
||||
mymask.colorV = SaveMaskDialog::ui.vertexCheck->isChecked();
|
||||
mymask.material = SaveMaskDialog::ui.vertexCheck->isChecked();
|
||||
if(WriteMask(&mymask))
|
||||
accept();
|
||||
else
|
||||
QMessageBox::warning(new QWidget(),"Error","Parameters not valid!");
|
||||
}
|
||||
|
||||
void SaveMaskDialog::SlotCancelButton()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//member
|
||||
bool SaveMaskDialog::ReadMask()
|
||||
{
|
||||
Mask mask;
|
||||
std::ifstream in("./mask.ini");
|
||||
if (in.fail()){return false;}
|
||||
std::string line;
|
||||
std::getline(in, line, '\n');
|
||||
bool ok = false;
|
||||
|
||||
if(line.size()==Mask::args)
|
||||
{
|
||||
mask.binary = QString(line.at(0)).toInt(&ok, 10);
|
||||
mask.faces = QString(line.at(1)).toInt(&ok, 10);
|
||||
mask.normal = QString(line.at(2)).toInt(&ok, 10);
|
||||
mask.texture = QString(line.at(3)).toInt(&ok, 10);
|
||||
mask.vertexs = QString(line.at(4)).toInt(&ok, 10);
|
||||
mask.colorV = QString(line.at(5)).toInt(&ok, 10);
|
||||
mask.material = QString(line.at(6)).toInt(&ok, 10);
|
||||
}
|
||||
else
|
||||
{
|
||||
mask.binary = 0;
|
||||
mask.faces = 0;
|
||||
mask.normal = 0;
|
||||
mask.texture = 0;
|
||||
mask.vertexs = 0;
|
||||
mask.colorV = 0;
|
||||
mask.material = 0;
|
||||
}
|
||||
|
||||
SaveMaskDialog::ui.binaryButton->setChecked((bool)mask.binary);
|
||||
SaveMaskDialog::ui.asciiButton->setChecked(!((bool)mask.binary));
|
||||
SaveMaskDialog::ui.faceCheck->setChecked((bool)mask.faces);
|
||||
SaveMaskDialog::ui.normalCheck->setChecked((bool)mask.normal);
|
||||
SaveMaskDialog::ui.textureCheck->setChecked((bool)mask.texture);
|
||||
SaveMaskDialog::ui.vertexCheck->setChecked((bool)mask.vertexs);
|
||||
SaveMaskDialog::ui.colorVertexCheck->setChecked((bool)mask.colorV);
|
||||
SaveMaskDialog::ui.materialCheck->setChecked((bool)mask.material);
|
||||
|
||||
in.close();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
//static
|
||||
Mask SaveMaskDialog::GetMask()
|
||||
{
|
||||
Mask mask;
|
||||
std::ifstream in("./mask.ini");
|
||||
if (in.fail()){return mask;}
|
||||
std::string line;
|
||||
std::getline(in, line, '\n');
|
||||
bool ok = false;
|
||||
mask.binary = QString(line.at(0)).toInt(&ok, 10);
|
||||
mask.faces = QString(line.at(1)).toInt(&ok, 10);
|
||||
mask.normal = QString(line.at(2)).toInt(&ok, 10);
|
||||
mask.texture = QString(line.at(3)).toInt(&ok, 10);
|
||||
mask.vertexs = QString(line.at(4)).toInt(&ok, 10);
|
||||
mask.colorV = QString(line.at(5)).toInt(&ok, 10);
|
||||
mask.material = QString(line.at(6)).toInt(&ok, 10);
|
||||
return mask;
|
||||
}
|
||||
|
||||
bool SaveMaskDialog::WriteMask(Mask *mask)
|
||||
{
|
||||
std::ofstream out("./mask.ini");
|
||||
if (out.fail()){return false;}
|
||||
out << mask->binary << mask->faces << mask->normal << mask->texture << mask->vertexs << mask->colorV << mask->material << std::endl;
|
||||
out.close();
|
||||
return true;
|
||||
}
|
||||
int SaveMaskDialog::MaskToInt(Mask *mask)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
63
src/meshlabplugins/meshio/savemaskdialog.h
Normal file
63
src/meshlabplugins/meshio/savemaskdialog.h
Normal file
@ -0,0 +1,63 @@
|
||||
/****************************************************************************
|
||||
* MeshLab o o *
|
||||
* An extendible mesh processor o o *
|
||||
* _ O _ *
|
||||
* Copyright(C) 2005, 2006 \/)\/ *
|
||||
* 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. *
|
||||
* *
|
||||
****************************************************************************/
|
||||
/****************************************************************************
|
||||
History
|
||||
|
||||
$Log$
|
||||
Revision 1.1 2005/12/02 17:40:26 fmazzant
|
||||
added dialog obj exporter.
|
||||
|
||||
|
||||
*****************************************************************************/
|
||||
|
||||
#include "ui_savemask.h"
|
||||
struct Mask
|
||||
{
|
||||
int vertexs;//salva i vertici 1, non li salva 0
|
||||
int faces;//salva le facce 1, non li salva 0
|
||||
int texture;//salva le texture 1, non li salva 0
|
||||
int normal;//salva le normali 1, non li salva 0
|
||||
int binary;//salva in binario 1, salva in ascii 0
|
||||
int colorV;//salva colore vertici 1, non li salva 0
|
||||
int material;//salva il materiale 1, non lo salva 0
|
||||
const static int args = 7;
|
||||
};
|
||||
|
||||
class SaveMaskDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
SaveMaskDialog(QWidget *parent);
|
||||
bool ReadMask();
|
||||
|
||||
static Mask GetMask();
|
||||
static bool WriteMask(Mask *mask);
|
||||
static int MaskToInt(Mask *mask); //converte la Mask nell'intero definito come maschera.
|
||||
|
||||
private slots:
|
||||
void SlotOkButton();
|
||||
void SlotCancelButton();
|
||||
|
||||
private:
|
||||
Ui::Dialog ui;
|
||||
};
|
||||
150
src/meshlabplugins/meshio/ui_savemask.h
Normal file
150
src/meshlabplugins/meshio/ui_savemask.h
Normal file
@ -0,0 +1,150 @@
|
||||
#ifndef UI_SAVEMASK_H
|
||||
#define UI_SAVEMASK_H
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtGui/QAction>
|
||||
#include <QtGui/QApplication>
|
||||
#include <QtGui/QButtonGroup>
|
||||
#include <QtGui/QCheckBox>
|
||||
#include <QtGui/QDialog>
|
||||
#include <QtGui/QGridLayout>
|
||||
#include <QtGui/QGroupBox>
|
||||
#include <QtGui/QPushButton>
|
||||
#include <QtGui/QRadioButton>
|
||||
#include <QtGui/QVBoxLayout>
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
class Ui_Dialog
|
||||
{
|
||||
public:
|
||||
QWidget *horizontalLayout;
|
||||
QWidget *layoutWidget;
|
||||
QWidget *widget;
|
||||
QWidget *widget_2;
|
||||
QWidget *widget_3;
|
||||
QGroupBox *groupBox_2;
|
||||
QVBoxLayout *vboxLayout;
|
||||
QRadioButton *binaryButton;
|
||||
QRadioButton *asciiButton;
|
||||
QPushButton *okButton;
|
||||
QPushButton *cancelButton;
|
||||
QGroupBox *groupBox_3;
|
||||
QGridLayout *gridLayout;
|
||||
QCheckBox *faceCheck;
|
||||
QCheckBox *normalCheck;
|
||||
QCheckBox *materialCheck;
|
||||
QCheckBox *textureCheck;
|
||||
QCheckBox *vertexCheck;
|
||||
QCheckBox *colorVertexCheck;
|
||||
|
||||
void setupUi(QDialog *Dialog)
|
||||
{
|
||||
Dialog->setObjectName(QString::fromUtf8("Dialog"));
|
||||
Dialog->resize(QSize(357, 150).expandedTo(Dialog->minimumSizeHint()));
|
||||
horizontalLayout = new QWidget(Dialog);
|
||||
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
|
||||
horizontalLayout->setGeometry(QRect(20, 150, 361, 31));
|
||||
layoutWidget = new QWidget(Dialog);
|
||||
layoutWidget->setObjectName(QString::fromUtf8("layoutWidget"));
|
||||
layoutWidget->setGeometry(QRect(20, 250, 351, 33));
|
||||
widget = new QWidget(Dialog);
|
||||
widget->setObjectName(QString::fromUtf8("widget"));
|
||||
widget->setGeometry(QRect(10, 10, 341, 241));
|
||||
widget_2 = new QWidget(Dialog);
|
||||
widget_2->setObjectName(QString::fromUtf8("widget_2"));
|
||||
widget_2->setGeometry(QRect(11, 94, 339, 125));
|
||||
widget_3 = new QWidget(Dialog);
|
||||
widget_3->setObjectName(QString::fromUtf8("widget_3"));
|
||||
widget_3->setGeometry(QRect(11, 225, 339, 25));
|
||||
groupBox_2 = new QGroupBox(Dialog);
|
||||
groupBox_2->setObjectName(QString::fromUtf8("groupBox_2"));
|
||||
groupBox_2->setGeometry(QRect(250, 0, 95, 78));
|
||||
vboxLayout = new QVBoxLayout(groupBox_2);
|
||||
vboxLayout->setSpacing(6);
|
||||
vboxLayout->setMargin(8);
|
||||
vboxLayout->setObjectName(QString::fromUtf8("vboxLayout"));
|
||||
binaryButton = new QRadioButton(groupBox_2);
|
||||
binaryButton->setObjectName(QString::fromUtf8("binaryButton"));
|
||||
|
||||
vboxLayout->addWidget(binaryButton);
|
||||
|
||||
asciiButton = new QRadioButton(groupBox_2);
|
||||
asciiButton->setObjectName(QString::fromUtf8("asciiButton"));
|
||||
|
||||
vboxLayout->addWidget(asciiButton);
|
||||
|
||||
okButton = new QPushButton(Dialog);
|
||||
okButton->setObjectName(QString::fromUtf8("okButton"));
|
||||
okButton->setGeometry(QRect(250, 90, 101, 23));
|
||||
cancelButton = new QPushButton(Dialog);
|
||||
cancelButton->setObjectName(QString::fromUtf8("cancelButton"));
|
||||
cancelButton->setGeometry(QRect(250, 120, 101, 23));
|
||||
groupBox_3 = new QGroupBox(Dialog);
|
||||
groupBox_3->setObjectName(QString::fromUtf8("groupBox_3"));
|
||||
groupBox_3->setGeometry(QRect(10, 0, 231, 141));
|
||||
gridLayout = new QGridLayout(groupBox_3);
|
||||
gridLayout->setSpacing(6);
|
||||
gridLayout->setMargin(8);
|
||||
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
|
||||
faceCheck = new QCheckBox(groupBox_3);
|
||||
faceCheck->setObjectName(QString::fromUtf8("faceCheck"));
|
||||
|
||||
gridLayout->addWidget(faceCheck, 2, 1, 1, 1);
|
||||
|
||||
normalCheck = new QCheckBox(groupBox_3);
|
||||
normalCheck->setObjectName(QString::fromUtf8("normalCheck"));
|
||||
|
||||
gridLayout->addWidget(normalCheck, 2, 0, 1, 1);
|
||||
|
||||
materialCheck = new QCheckBox(groupBox_3);
|
||||
materialCheck->setObjectName(QString::fromUtf8("materialCheck"));
|
||||
|
||||
gridLayout->addWidget(materialCheck, 0, 1, 1, 1);
|
||||
|
||||
textureCheck = new QCheckBox(groupBox_3);
|
||||
textureCheck->setObjectName(QString::fromUtf8("textureCheck"));
|
||||
|
||||
gridLayout->addWidget(textureCheck, 1, 1, 1, 1);
|
||||
|
||||
vertexCheck = new QCheckBox(groupBox_3);
|
||||
vertexCheck->setObjectName(QString::fromUtf8("vertexCheck"));
|
||||
|
||||
gridLayout->addWidget(vertexCheck, 0, 0, 1, 1);
|
||||
|
||||
colorVertexCheck = new QCheckBox(groupBox_3);
|
||||
colorVertexCheck->setObjectName(QString::fromUtf8("colorVertexCheck"));
|
||||
|
||||
gridLayout->addWidget(colorVertexCheck, 1, 0, 1, 1);
|
||||
|
||||
retranslateUi(Dialog);
|
||||
QObject::connect(cancelButton, SIGNAL(clicked()), Dialog, SLOT(reject()));
|
||||
QObject::connect(okButton, SIGNAL(clicked()), Dialog, SLOT(accept()));
|
||||
|
||||
QMetaObject::connectSlotsByName(Dialog);
|
||||
} // setupUi
|
||||
|
||||
void retranslateUi(QDialog *Dialog)
|
||||
{
|
||||
Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", 0, QApplication::UnicodeUTF8));
|
||||
groupBox_2->setTitle(QApplication::translate("Dialog", "Type Save", 0, QApplication::UnicodeUTF8));
|
||||
binaryButton->setText(QApplication::translate("Dialog", "Binary Obj", 0, QApplication::UnicodeUTF8));
|
||||
asciiButton->setText(QApplication::translate("Dialog", "ASCII Obj", 0, QApplication::UnicodeUTF8));
|
||||
okButton->setText(QApplication::translate("Dialog", "OK", 0, QApplication::UnicodeUTF8));
|
||||
cancelButton->setText(QApplication::translate("Dialog", "Cancel", 0, QApplication::UnicodeUTF8));
|
||||
groupBox_3->setTitle(QApplication::translate("Dialog", "Information Save", 0, QApplication::UnicodeUTF8));
|
||||
faceCheck->setText(QApplication::translate("Dialog", "Faces", 0, QApplication::UnicodeUTF8));
|
||||
normalCheck->setText(QApplication::translate("Dialog", "Normals Vertex", 0, QApplication::UnicodeUTF8));
|
||||
materialCheck->setText(QApplication::translate("Dialog", "Materials", 0, QApplication::UnicodeUTF8));
|
||||
textureCheck->setText(QApplication::translate("Dialog", "Texture Coords", 0, QApplication::UnicodeUTF8));
|
||||
vertexCheck->setText(QApplication::translate("Dialog", "Vertexs", 0, QApplication::UnicodeUTF8));
|
||||
colorVertexCheck->setText(QApplication::translate("Dialog", "Vertexs Color", 0, QApplication::UnicodeUTF8));
|
||||
Q_UNUSED(Dialog);
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class Dialog: public Ui_Dialog {};
|
||||
} // namespace Ui
|
||||
|
||||
#endif // UI_SAVEMASK_H
|
||||
Loading…
x
Reference in New Issue
Block a user