-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTFigEditDialog.h
More file actions
102 lines (99 loc) · 3.49 KB
/
TFigEditDialog.h
File metadata and controls
102 lines (99 loc) · 3.49 KB
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
102
/********************************************************************************
* Copyright (c) 2024 Pleshkov Maksim
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
* which is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
********************************************************************************/
#ifndef TFigEditDialogH
#define TFigEditDialogH
//----------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.Buttons.hpp>
//----------------------------------------------------------
#include <Figures/figure3d_unit.h>
//Êëàññ äëÿ äåëåãàòà èçìåíåíèÿ ôîðìû
class field_action;
//Ôîðìà äèàëîãà èçìåíåíèÿ ôèãóðû (Àôèííûå ïðåîáðàçîâàíèÿ)
class TFigEditDialog : public TForm {
__published: // IDE-managed Components
//Ïîäïèñè ðÿäîâ ïîëåé ââîäà
TLabel *Label1;
TLabel *ScaleL;
TLabel *Label3;
TLabel *Label4;
TLabel *Label5;
//Ïîëÿ ââîäà
//Íîâàÿ àñîëþòíàÿ ïîçèöèÿ öåíòðà ôèãóðû
TEdit *PosXAbs;
TEdit *PosYAbs;
TEdit *PosZAbs;
//Ñìåùåíèå îòíîñèòåëüíî òåêóùåãî öåíòðà ôèãóðû
TEdit *PosXRel;
TEdit *PosYRel;
TEdit *PosZRel;
//Íîâûé ìàñøòàá ôèãóðû
TEdit *ScXAbs;
TEdit *ScYAbs;
TEdit *ScZAbs;
//Ìàñøòàá îòíîñèòåëüíî ñòàðîãî
TEdit *ScXRel;
TEdit *ScYRel;
TEdit *ScZRel;
//Ïîâîðîò ôèãóðû (ýéëåðà XYZ)
TEdit *RotZ;
TEdit *RotX;
TEdit *RotY;
//Ôëàã ðåæèìà îäíîðîäíîãî ìàñøòàáèðîâàíèÿ
TCheckBox *UniformCB;
//Êíîïêè ïîäòâåðæäåíèÿ èçìåíåíèé
TBitBtn *OkBtn;
TBitBtn *CancelBtn;
//Ñîáûòèÿ èçìåíåíèÿ çíà÷åíèé â ïîëÿõ ââîäà
void __fastcall PosXAbsChange(TObject *Sender);
void __fastcall PosYAbsChange(TObject *Sender);
void __fastcall PosZAbsChange(TObject *Sender);
void __fastcall PosXRelChange(TObject *Sender);
void __fastcall PosYRelChange(TObject *Sender);
void __fastcall PosZRelChange(TObject *Sender);
void __fastcall RotXChange(TObject *Sender);
void __fastcall RotYChange(TObject *Sender);
void __fastcall RotZChange(TObject *Sender);
void __fastcall ScXAbsChange(TObject *Sender);
void __fastcall ScYAbsChange(TObject *Sender);
void __fastcall ScZAbsChange(TObject *Sender);
void __fastcall ScXRelChange(TObject *Sender);
void __fastcall ScYRelChange(TObject *Sender);
void __fastcall ScZRelChange(TObject *Sender);
private: // User declarations
//Óêàçàòåëü íà èçìåíÿåìóþ ôèãóðó
Figure3d_unit* figure;
//Ôëàã äëÿ çàùèòû îò öèêëîâ ïðè èçìåíåíèè ïîëåé
bool edit_flag = false;
//Ïðîâåðèòü âàëèäíîñòü âñåõ ïîëåé ââîäà
bool TestFields();
//Îá¸ðòêà îáðàáîòêè ïîëåé ââîäà
void FieldActionWrap(const field_action &act);
public: // User declarations
double Offset[3]; //Íîâàÿ ïîçèöèÿ öåíòðà ôèãóðû
double Offset_old[3]; //Òåêóùàÿ ïîçèöèÿ öåíòðà ôèãóðû
double Scale[3]; //Íîâûé ìàñøòàá ôèãóðû
double Scale_old[3]; //Òåêóùèé ìàñøòàá ôèãóðû
double Rotation[3] = {0}; //Ïîâîðîò ôèãóðû (ýéëåðà XYZ)
bool Execute(); //Âûçâàòü äèàëîã (true ëèøü ïðè "ÎÊ")
//Êîíñòðóêòîð ñ ðîäèòåëüñêîé ôîðìîé è èçìåíÿåìîé ôèãóðîé
__fastcall TFigEditDialog(TComponent* Owner,
Figure3d_unit* figure);
//Ïîëÿ ââîäà
TEdit* Fields[15];
};
//----------------------------------------------------------
extern PACKAGE TFigEditDialog *FigEditDialog;
//----------------------------------------------------------
#endif