File: lc_arraydialog.cpp

package info (click to toggle)
leocad 25.09-1
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 9,008 kB
  • sloc: cpp: 51,794; xml: 11,265; python: 81; sh: 52; makefile: 16
file content (101 lines) | stat: -rw-r--r-- 4,487 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include "lc_global.h"
#include "lc_arraydialog.h"
#include "ui_lc_arraydialog.h"
#include "lc_qutils.h"

lcArrayDialog::lcArrayDialog(QWidget* Parent)
	: QDialog(Parent), ui(new Ui::lcArrayDialog)
{
	ui->setupUi(this);

	ui->offset1x->setValidator(new QDoubleValidator(ui->offset1x));
	ui->offset1y->setValidator(new QDoubleValidator(ui->offset1y));
	ui->offset1z->setValidator(new QDoubleValidator(ui->offset1z));
	ui->offset2x->setValidator(new QDoubleValidator(ui->offset2x));
	ui->offset2y->setValidator(new QDoubleValidator(ui->offset2y));
	ui->offset2z->setValidator(new QDoubleValidator(ui->offset2z));
	ui->offset3x->setValidator(new QDoubleValidator(ui->offset3x));
	ui->offset3y->setValidator(new QDoubleValidator(ui->offset3y));
	ui->offset3z->setValidator(new QDoubleValidator(ui->offset3z));
	ui->rotation1x->setValidator(new QDoubleValidator(ui->rotation1x));
	ui->rotation1y->setValidator(new QDoubleValidator(ui->rotation1y));
	ui->rotation1z->setValidator(new QDoubleValidator(ui->rotation1z));
	ui->rotation2x->setValidator(new QDoubleValidator(ui->rotation2x));
	ui->rotation2y->setValidator(new QDoubleValidator(ui->rotation2y));
	ui->rotation2z->setValidator(new QDoubleValidator(ui->rotation2z));
	ui->rotation3x->setValidator(new QDoubleValidator(ui->rotation3x));
	ui->rotation3y->setValidator(new QDoubleValidator(ui->rotation3y));
	ui->rotation3z->setValidator(new QDoubleValidator(ui->rotation3z));

	mCounts[0] = 10;
	mCounts[1] = 1;
	mCounts[2] = 1;
	mOffsets[0] = mOffsets[1] = mOffsets[2] = lcVector3(0.0f, 0.0f, 0.0f);
	mRotations[0] = mRotations[1] = mRotations[2] = lcVector3(0.0f, 0.0f, 0.0f);

	ui->count1->setValue(mCounts[0]);
	ui->count2->setValue(mCounts[1]);
	ui->count3->setValue(mCounts[2]);
	ui->offset1x->setText(lcFormatValueLocalized(mOffsets[0].x));
	ui->offset1y->setText(lcFormatValueLocalized(mOffsets[0].y));
	ui->offset1z->setText(lcFormatValueLocalized(mOffsets[0].z));
	ui->offset2x->setText(lcFormatValueLocalized(mOffsets[1].x));
	ui->offset2y->setText(lcFormatValueLocalized(mOffsets[1].y));
	ui->offset2z->setText(lcFormatValueLocalized(mOffsets[1].z));
	ui->offset3x->setText(lcFormatValueLocalized(mOffsets[2].x));
	ui->offset3y->setText(lcFormatValueLocalized(mOffsets[2].y));
	ui->offset3z->setText(lcFormatValueLocalized(mOffsets[2].z));
	ui->rotation1x->setText(lcFormatValueLocalized(mRotations[0].x));
	ui->rotation1y->setText(lcFormatValueLocalized(mRotations[0].y));
	ui->rotation1z->setText(lcFormatValueLocalized(mRotations[0].z));
	ui->rotation2x->setText(lcFormatValueLocalized(mRotations[1].x));
	ui->rotation2y->setText(lcFormatValueLocalized(mRotations[1].y));
	ui->rotation2z->setText(lcFormatValueLocalized(mRotations[1].z));
	ui->rotation3x->setText(lcFormatValueLocalized(mRotations[2].x));
	ui->rotation3y->setText(lcFormatValueLocalized(mRotations[2].y));
	ui->rotation3z->setText(lcFormatValueLocalized(mRotations[2].z));
}

lcArrayDialog::~lcArrayDialog()
{
	delete ui;
}

void lcArrayDialog::accept()
{
	int Counts[3];

	Counts[0] = ui->count1->value();
	Counts[1] = ui->count2->value();
	Counts[2] = ui->count3->value();

	if (Counts[0] * Counts[1] * Counts[2] < 2)
	{
		QMessageBox::information(this, "LeoCAD", tr("Array is empty."));
		return;
	}

	mCounts[0] = Counts[0];
	mCounts[1] = Counts[1];
	mCounts[2] = Counts[2];
	mOffsets[0].x = lcParseValueLocalized(ui->offset1x->text());
	mOffsets[0].y = lcParseValueLocalized(ui->offset1y->text());
	mOffsets[0].z = lcParseValueLocalized(ui->offset1z->text());
	mOffsets[1].x = lcParseValueLocalized(ui->offset2x->text());
	mOffsets[1].y = lcParseValueLocalized(ui->offset2y->text());
	mOffsets[1].z = lcParseValueLocalized(ui->offset2z->text());
	mOffsets[2].x = lcParseValueLocalized(ui->offset3x->text());
	mOffsets[2].y = lcParseValueLocalized(ui->offset3y->text());
	mOffsets[2].z = lcParseValueLocalized(ui->offset3z->text());
	mRotations[0].x = lcParseValueLocalized(ui->rotation1x->text());
	mRotations[0].y = lcParseValueLocalized(ui->rotation1y->text());
	mRotations[0].z = lcParseValueLocalized(ui->rotation1z->text());
	mRotations[1].x = lcParseValueLocalized(ui->rotation2x->text());
	mRotations[1].y = lcParseValueLocalized(ui->rotation2y->text());
	mRotations[1].z = lcParseValueLocalized(ui->rotation2z->text());
	mRotations[2].x = lcParseValueLocalized(ui->rotation3x->text());
	mRotations[2].y = lcParseValueLocalized(ui->rotation3y->text());
	mRotations[2].z = lcParseValueLocalized(ui->rotation3z->text());

	QDialog::accept();
}