프로젝트

일반

사용자정보

개정판 ac1b02f3

IDac1b02f32a48a60632af128360fb3161fbd89766
상위 70ed289d
하위 b2ff5ff4

백흠경이(가) 일년 이상 전에 추가함

Feature: 엔터티 비교 기능 및 Tolerance, 색상 설정 기능 추가

Change-Id: I97dd6fb154ebffa28e932bcc7c035f43701b2a9d

차이점 보기:

ID2.Manager/ID2.Manager/Controls/Verification.Designer.cs
32 32
            devDept.Eyeshot.CancelToolBarButton cancelToolBarButton1 = new devDept.Eyeshot.CancelToolBarButton("Cancel", devDept.Eyeshot.ToolBarButton.styleType.ToggleButton, true, true);
33 33
            devDept.Eyeshot.ProgressBar progressBar1 = new devDept.Eyeshot.ProgressBar(devDept.Eyeshot.ProgressBar.styleType.Circular, 0, "Idle", System.Drawing.Color.Black, System.Drawing.Color.Transparent, System.Drawing.Color.Green, 1D, true, cancelToolBarButton1, false, 0.1D, 0.333D, true);
34 34
            devDept.Graphics.BackgroundSettings backgroundSettings1 = new devDept.Graphics.BackgroundSettings(devDept.Graphics.backgroundStyleType.Solid, System.Drawing.Color.DeepSkyBlue, System.Drawing.Color.DodgerBlue, System.Drawing.Color.Black, 0.75D, null, devDept.Graphics.colorThemeType.Auto, 0.33D);
35
            devDept.Eyeshot.Camera camera1 = new devDept.Eyeshot.Camera(new devDept.Geometry.Point3D(-4.5374030325107811E-16D, 2.0434646606445308D, 47.596564948558793D), 97.257904648780823D, new devDept.Geometry.Quaternion(0.49999999999999989D, 0.5D, 0.5D, 0.50000000000000011D), devDept.Graphics.projectionType.Orthographic, 40D, 1.3889669754156004D, false, 0.001D);
35
            devDept.Eyeshot.Camera camera1 = new devDept.Eyeshot.Camera(new devDept.Geometry.Point3D(-4.5374030325107811E-16D, 2.0434646606445308D, 47.596564948558793D), 97.257904648780823D, new devDept.Geometry.Quaternion(0.49999999999999989D, 0.5D, 0.5D, 0.50000000000000011D), devDept.Graphics.projectionType.Orthographic, 40D, 1.2891609803814788D, false, 0.001D);
36 36
            devDept.Eyeshot.MagnifyingGlassToolBarButton magnifyingGlassToolBarButton1 = new devDept.Eyeshot.MagnifyingGlassToolBarButton("Magnifying Glass", devDept.Eyeshot.ToolBarButton.styleType.ToggleButton, true, true);
37 37
            devDept.Eyeshot.ZoomWindowToolBarButton zoomWindowToolBarButton1 = new devDept.Eyeshot.ZoomWindowToolBarButton("Zoom Window", devDept.Eyeshot.ToolBarButton.styleType.ToggleButton, true, true);
38 38
            devDept.Eyeshot.ZoomToolBarButton zoomToolBarButton1 = new devDept.Eyeshot.ZoomToolBarButton("Zoom", devDept.Eyeshot.ToolBarButton.styleType.ToggleButton, true, true);
......
54 54
            devDept.Eyeshot.CoordinateSystemIcon coordinateSystemIcon1 = new devDept.Eyeshot.CoordinateSystemIcon(new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))), System.Drawing.Color.Black, System.Drawing.Color.Black, System.Drawing.Color.Black, System.Drawing.Color.Black, System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))), System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))), System.Drawing.Color.OrangeRed, "Origin", "X", "Y", "Z", true, devDept.Eyeshot.coordinateSystemPositionType.BottomLeft, 37, null, false);
55 55
            devDept.Eyeshot.ViewCubeIcon viewCubeIcon1 = new devDept.Eyeshot.ViewCubeIcon(devDept.Eyeshot.coordinateSystemPositionType.TopRight, false, System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(20)))), ((int)(((byte)(60))))), true, "FRONT", "BACK", "LEFT", "RIGHT", "TOP", "BOTTOM", System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), 'S', 'N', 'W', 'E', true, null, System.Drawing.Color.White, System.Drawing.Color.Black, 120, true, true, null, null, null, null, null, null, false, new devDept.Geometry.Quaternion(0D, 0D, 0D, 1D), true);
56 56
            devDept.Eyeshot.Viewport.SavedViewsManager savedViewsManager1 = new devDept.Eyeshot.Viewport.SavedViewsManager(8);
57
            devDept.Eyeshot.Viewport viewport1 = new devDept.Eyeshot.Viewport(new System.Drawing.Point(0, 0), new System.Drawing.Size(426, 334), backgroundSettings1, camera1, new devDept.Eyeshot.ToolBar[] {
57
            devDept.Eyeshot.Viewport viewport1 = new devDept.Eyeshot.Viewport(new System.Drawing.Point(0, 0), new System.Drawing.Size(422, 310), backgroundSettings1, camera1, new devDept.Eyeshot.ToolBar[] {
58 58
            toolBar1}, new devDept.Eyeshot.Legend[0], histogram1, devDept.Eyeshot.displayType.Wireframe, true, false, false, false, new devDept.Eyeshot.Grid[] {
59 59
            grid1}, new devDept.Eyeshot.OriginSymbol[] {
60 60
            originSymbol1}, false, rotateSettings1, zoomSettings1, panSettings1, navigationSettings1, coordinateSystemIcon1, viewCubeIcon1, savedViewsManager1, devDept.Eyeshot.viewType.Top);
61 61
            devDept.Eyeshot.CancelToolBarButton cancelToolBarButton2 = new devDept.Eyeshot.CancelToolBarButton("Cancel", devDept.Eyeshot.ToolBarButton.styleType.ToggleButton, true, true);
62 62
            devDept.Eyeshot.ProgressBar progressBar2 = new devDept.Eyeshot.ProgressBar(devDept.Eyeshot.ProgressBar.styleType.Circular, 0, "Idle", System.Drawing.Color.Black, System.Drawing.Color.Transparent, System.Drawing.Color.Green, 1D, true, cancelToolBarButton2, false, 0.1D, 0.333D, true);
63 63
            devDept.Graphics.BackgroundSettings backgroundSettings2 = new devDept.Graphics.BackgroundSettings(devDept.Graphics.backgroundStyleType.Solid, System.Drawing.Color.DeepSkyBlue, System.Drawing.Color.DodgerBlue, System.Drawing.Color.Black, 0.75D, null, devDept.Graphics.colorThemeType.Auto, 0.33D);
64
            devDept.Eyeshot.Camera camera2 = new devDept.Eyeshot.Camera(new devDept.Geometry.Point3D(-4.5374030325107811E-16D, 2.0434646606445308D, 47.596564948558793D), 97.257904648780823D, new devDept.Geometry.Quaternion(0.49999999999999989D, 0.5D, 0.5D, 0.50000000000000011D), devDept.Graphics.projectionType.Orthographic, 40D, 1.3889669754156004D, false, 0.001D);
64
            devDept.Eyeshot.Camera camera2 = new devDept.Eyeshot.Camera(new devDept.Geometry.Point3D(-4.5374030325107811E-16D, 2.0434646606445308D, 47.596564948558793D), 97.257904648780823D, new devDept.Geometry.Quaternion(0.49999999999999989D, 0.5D, 0.5D, 0.50000000000000011D), devDept.Graphics.projectionType.Orthographic, 40D, 1.2891609803814788D, false, 0.001D);
65 65
            devDept.Eyeshot.MagnifyingGlassToolBarButton magnifyingGlassToolBarButton2 = new devDept.Eyeshot.MagnifyingGlassToolBarButton("Magnifying Glass", devDept.Eyeshot.ToolBarButton.styleType.ToggleButton, true, true);
66 66
            devDept.Eyeshot.ZoomWindowToolBarButton zoomWindowToolBarButton2 = new devDept.Eyeshot.ZoomWindowToolBarButton("Zoom Window", devDept.Eyeshot.ToolBarButton.styleType.ToggleButton, true, true);
67 67
            devDept.Eyeshot.ZoomToolBarButton zoomToolBarButton2 = new devDept.Eyeshot.ZoomToolBarButton("Zoom", devDept.Eyeshot.ToolBarButton.styleType.ToggleButton, true, true);
......
83 83
            devDept.Eyeshot.CoordinateSystemIcon coordinateSystemIcon2 = new devDept.Eyeshot.CoordinateSystemIcon(new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))), System.Drawing.Color.Black, System.Drawing.Color.Black, System.Drawing.Color.Black, System.Drawing.Color.Black, System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))), System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))), System.Drawing.Color.OrangeRed, "Origin", "X", "Y", "Z", true, devDept.Eyeshot.coordinateSystemPositionType.BottomLeft, 37, null, false);
84 84
            devDept.Eyeshot.ViewCubeIcon viewCubeIcon2 = new devDept.Eyeshot.ViewCubeIcon(devDept.Eyeshot.coordinateSystemPositionType.TopRight, false, System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(20)))), ((int)(((byte)(60))))), true, "FRONT", "BACK", "LEFT", "RIGHT", "TOP", "BOTTOM", System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), 'S', 'N', 'W', 'E', true, null, System.Drawing.Color.White, System.Drawing.Color.Black, 120, true, true, null, null, null, null, null, null, false, new devDept.Geometry.Quaternion(0D, 0D, 0D, 1D), true);
85 85
            devDept.Eyeshot.Viewport.SavedViewsManager savedViewsManager2 = new devDept.Eyeshot.Viewport.SavedViewsManager(8);
86
            devDept.Eyeshot.Viewport viewport2 = new devDept.Eyeshot.Viewport(new System.Drawing.Point(0, 0), new System.Drawing.Size(426, 334), backgroundSettings2, camera2, new devDept.Eyeshot.ToolBar[] {
86
            devDept.Eyeshot.Viewport viewport2 = new devDept.Eyeshot.Viewport(new System.Drawing.Point(0, 0), new System.Drawing.Size(422, 310), backgroundSettings2, camera2, new devDept.Eyeshot.ToolBar[] {
87 87
            toolBar2}, new devDept.Eyeshot.Legend[0], histogram2, devDept.Eyeshot.displayType.Wireframe, true, false, false, false, new devDept.Eyeshot.Grid[] {
88 88
            grid2}, new devDept.Eyeshot.OriginSymbol[] {
89 89
            originSymbol2}, false, rotateSettings2, zoomSettings2, panSettings2, navigationSettings2, coordinateSystemIcon2, viewCubeIcon2, savedViewsManager2, devDept.Eyeshot.viewType.Top);
90
            Telerik.WinControls.UI.TableViewDefinition tableViewDefinition1 = new Telerik.WinControls.UI.TableViewDefinition();
90 91
            Telerik.WinControls.UI.GridViewTextBoxColumn gridViewTextBoxColumn1 = new Telerik.WinControls.UI.GridViewTextBoxColumn();
91 92
            Telerik.WinControls.UI.TableViewDefinition tableViewDefinition2 = new Telerik.WinControls.UI.TableViewDefinition();
92
            Telerik.WinControls.UI.TableViewDefinition tableViewDefinition1 = new Telerik.WinControls.UI.TableViewDefinition();
93 93
            this.radSplitContainer1 = new Telerik.WinControls.UI.RadSplitContainer();
94 94
            this.splitPanel1 = new Telerik.WinControls.UI.SplitPanel();
95 95
            this.radSplitContainer2 = new Telerik.WinControls.UI.RadSplitContainer();
......
100 100
            this.splitPanelAVEVA = new Telerik.WinControls.UI.SplitPanel();
101 101
            this.designAVEVA = new devDept.Eyeshot.Design();
102 102
            this.splitPanelData = new Telerik.WinControls.UI.SplitPanel();
103
            this.radGridViewData = new Telerik.WinControls.UI.RadGridView();
103 104
            this.radSplitContainerMain = new Telerik.WinControls.UI.RadSplitContainer();
104 105
            this.splitPanelDocument = new Telerik.WinControls.UI.SplitPanel();
105 106
            this.radGridViewDocument = new Telerik.WinControls.UI.RadGridView();
......
111 112
            this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
112 113
            this.radLabel2 = new Telerik.WinControls.UI.RadLabel();
113 114
            this.radBrowseEditorAVEVAPIDFolder = new Telerik.WinControls.UI.RadBrowseEditor();
114
            this.radGridViewData = new Telerik.WinControls.UI.RadGridView();
115
            this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel();
116
            this.radLabel3 = new Telerik.WinControls.UI.RadLabel();
117
            this.radSpinEditorTolerance = new Telerik.WinControls.UI.RadSpinEditor();
118
            this.radLabel4 = new Telerik.WinControls.UI.RadLabel();
119
            this.radColorBoxEqualColor = new Telerik.WinControls.UI.RadColorBox();
120
            this.radLabel5 = new Telerik.WinControls.UI.RadLabel();
121
            this.radColorBoxDiffColor = new Telerik.WinControls.UI.RadColorBox();
115 122
            ((System.ComponentModel.ISupportInitialize)(this.radSplitContainer1)).BeginInit();
116 123
            this.radSplitContainer1.SuspendLayout();
117 124
            ((System.ComponentModel.ISupportInitialize)(this.splitPanel1)).BeginInit();
......
130 137
            ((System.ComponentModel.ISupportInitialize)(this.designAVEVA)).BeginInit();
131 138
            ((System.ComponentModel.ISupportInitialize)(this.splitPanelData)).BeginInit();
132 139
            this.splitPanelData.SuspendLayout();
140
            ((System.ComponentModel.ISupportInitialize)(this.radGridViewData)).BeginInit();
141
            ((System.ComponentModel.ISupportInitialize)(this.radGridViewData.MasterTemplate)).BeginInit();
133 142
            ((System.ComponentModel.ISupportInitialize)(this.radSplitContainerMain)).BeginInit();
134 143
            this.radSplitContainerMain.SuspendLayout();
135 144
            ((System.ComponentModel.ISupportInitialize)(this.splitPanelDocument)).BeginInit();
......
145 154
            this.tableLayoutPanel2.SuspendLayout();
146 155
            ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).BeginInit();
147 156
            ((System.ComponentModel.ISupportInitialize)(this.radBrowseEditorAVEVAPIDFolder)).BeginInit();
148
            ((System.ComponentModel.ISupportInitialize)(this.radGridViewData)).BeginInit();
149
            ((System.ComponentModel.ISupportInitialize)(this.radGridViewData.MasterTemplate)).BeginInit();
157
            this.tableLayoutPanel3.SuspendLayout();
158
            ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).BeginInit();
159
            ((System.ComponentModel.ISupportInitialize)(this.radSpinEditorTolerance)).BeginInit();
160
            ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).BeginInit();
161
            ((System.ComponentModel.ISupportInitialize)(this.radColorBoxEqualColor)).BeginInit();
162
            ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).BeginInit();
163
            ((System.ComponentModel.ISupportInitialize)(this.radColorBoxDiffColor)).BeginInit();
150 164
            this.SuspendLayout();
151 165
            // 
152 166
            // radSplitContainer1
......
161 175
            // 
162 176
            // 
163 177
            this.radSplitContainer1.RootElement.MinSize = new System.Drawing.Size(25, 25);
164
            this.radSplitContainer1.Size = new System.Drawing.Size(856, 538);
178
            this.radSplitContainer1.Size = new System.Drawing.Size(852, 518);
179
            this.radSplitContainer1.SplitterWidth = 8;
165 180
            this.radSplitContainer1.TabIndex = 0;
166 181
            this.radSplitContainer1.TabStop = false;
167 182
            // 
......
174 189
            // 
175 190
            // 
176 191
            this.splitPanel1.RootElement.MinSize = new System.Drawing.Size(25, 25);
177
            this.splitPanel1.Size = new System.Drawing.Size(856, 334);
192
            this.splitPanel1.Size = new System.Drawing.Size(852, 310);
178 193
            this.splitPanel1.SizeInfo.AutoSizeScale = new System.Drawing.SizeF(0.2820976F, 0F);
179 194
            this.splitPanel1.SizeInfo.SplitterCorrection = new System.Drawing.Size(312, 0);
180 195
            this.splitPanel1.TabIndex = 0;
......
192 207
            // 
193 208
            // 
194 209
            this.radSplitContainer2.RootElement.MinSize = new System.Drawing.Size(25, 25);
195
            this.radSplitContainer2.Size = new System.Drawing.Size(856, 334);
210
            this.radSplitContainer2.Size = new System.Drawing.Size(852, 310);
211
            this.radSplitContainer2.SplitterWidth = 8;
196 212
            this.radSplitContainer2.TabIndex = 0;
197 213
            this.radSplitContainer2.TabStop = false;
198 214
            // 
......
205 221
            // 
206 222
            // 
207 223
            this.splitPanel2.RootElement.MinSize = new System.Drawing.Size(25, 25);
208
            this.splitPanel2.Size = new System.Drawing.Size(856, 334);
224
            this.splitPanel2.Size = new System.Drawing.Size(852, 310);
209 225
            this.splitPanel2.TabIndex = 0;
210 226
            this.splitPanel2.TabStop = false;
211 227
            this.splitPanel2.Text = "splitPanel2";
......
221 237
            // 
222 238
            // 
223 239
            this.radSplitContainer3.RootElement.MinSize = new System.Drawing.Size(25, 25);
224
            this.radSplitContainer3.Size = new System.Drawing.Size(856, 334);
240
            this.radSplitContainer3.Size = new System.Drawing.Size(852, 310);
241
            this.radSplitContainer3.SplitterWidth = 8;
225 242
            this.radSplitContainer3.TabIndex = 0;
226 243
            this.radSplitContainer3.TabStop = false;
227 244
            // 
......
234 251
            // 
235 252
            // 
236 253
            this.splitPanelAutoCAD.RootElement.MinSize = new System.Drawing.Size(25, 25);
237
            this.splitPanelAutoCAD.Size = new System.Drawing.Size(426, 334);
254
            this.splitPanelAutoCAD.Size = new System.Drawing.Size(422, 310);
238 255
            this.splitPanelAutoCAD.TabIndex = 0;
239 256
            this.splitPanelAutoCAD.TabStop = false;
240 257
            this.splitPanelAutoCAD.Text = "splitPanel4";
......
246 263
            this.designAutoCAD.Location = new System.Drawing.Point(0, 0);
247 264
            this.designAutoCAD.Name = "designAutoCAD";
248 265
            this.designAutoCAD.ProgressBar = progressBar1;
249
            this.designAutoCAD.Size = new System.Drawing.Size(426, 334);
266
            this.designAutoCAD.Size = new System.Drawing.Size(422, 310);
250 267
            this.designAutoCAD.TabIndex = 0;
251 268
            this.designAutoCAD.Text = "design1";
252 269
            this.designAutoCAD.Viewports.Add(viewport1);
......
260 277
            // 
261 278
            // 
262 279
            this.splitPanelAVEVA.RootElement.MinSize = new System.Drawing.Size(25, 25);
263
            this.splitPanelAVEVA.Size = new System.Drawing.Size(426, 334);
280
            this.splitPanelAVEVA.Size = new System.Drawing.Size(422, 310);
264 281
            this.splitPanelAVEVA.TabIndex = 1;
265 282
            this.splitPanelAVEVA.TabStop = false;
266 283
            this.splitPanelAVEVA.Text = "splitPanel5";
......
272 289
            this.designAVEVA.Location = new System.Drawing.Point(0, 0);
273 290
            this.designAVEVA.Name = "designAVEVA";
274 291
            this.designAVEVA.ProgressBar = progressBar2;
275
            this.designAVEVA.Size = new System.Drawing.Size(426, 334);
292
            this.designAVEVA.Size = new System.Drawing.Size(422, 310);
276 293
            this.designAVEVA.TabIndex = 0;
277 294
            this.designAVEVA.Text = "design1";
278 295
            this.designAVEVA.Viewports.Add(viewport2);
......
280 297
            // splitPanelData
281 298
            // 
282 299
            this.splitPanelData.Controls.Add(this.radGridViewData);
283
            this.splitPanelData.Location = new System.Drawing.Point(0, 338);
300
            this.splitPanelData.Location = new System.Drawing.Point(0, 318);
284 301
            this.splitPanelData.Name = "splitPanelData";
285 302
            // 
286 303
            // 
287 304
            // 
288 305
            this.splitPanelData.RootElement.MinSize = new System.Drawing.Size(25, 25);
289
            this.splitPanelData.Size = new System.Drawing.Size(856, 200);
306
            this.splitPanelData.Size = new System.Drawing.Size(852, 200);
290 307
            this.splitPanelData.SizeInfo.AbsoluteSize = new System.Drawing.Size(250, 200);
291 308
            this.splitPanelData.SizeInfo.AutoSizeScale = new System.Drawing.SizeF(-0.2820976F, 0F);
292 309
            this.splitPanelData.SizeInfo.SizeMode = Telerik.WinControls.UI.Docking.SplitPanelSizeMode.Absolute;
......
294 311
            this.splitPanelData.TabIndex = 1;
295 312
            this.splitPanelData.TabStop = false;
296 313
            // 
314
            // radGridViewData
315
            // 
316
            this.radGridViewData.Dock = System.Windows.Forms.DockStyle.Fill;
317
            this.radGridViewData.Location = new System.Drawing.Point(0, 0);
318
            // 
319
            // 
320
            // 
321
            this.radGridViewData.MasterTemplate.ViewDefinition = tableViewDefinition1;
322
            this.radGridViewData.Name = "radGridViewData";
323
            this.radGridViewData.Size = new System.Drawing.Size(852, 200);
324
            this.radGridViewData.TabIndex = 0;
325
            // 
297 326
            // radSplitContainerMain
298 327
            // 
299 328
            this.radSplitContainerMain.Controls.Add(this.splitPanelDocument);
300 329
            this.radSplitContainerMain.Controls.Add(this.splitPanel4);
301 330
            this.radSplitContainerMain.Dock = System.Windows.Forms.DockStyle.Fill;
302
            this.radSplitContainerMain.Location = new System.Drawing.Point(0, 70);
331
            this.radSplitContainerMain.Location = new System.Drawing.Point(0, 90);
303 332
            this.radSplitContainerMain.Name = "radSplitContainerMain";
304 333
            // 
305 334
            // 
306 335
            // 
307 336
            this.radSplitContainerMain.RootElement.MinSize = new System.Drawing.Size(25, 25);
308
            this.radSplitContainerMain.Size = new System.Drawing.Size(1110, 538);
337
            this.radSplitContainerMain.Size = new System.Drawing.Size(1110, 518);
338
            this.radSplitContainerMain.SplitterWidth = 8;
309 339
            this.radSplitContainerMain.TabIndex = 1;
310 340
            this.radSplitContainerMain.TabStop = false;
311 341
            // 
......
318 348
            // 
319 349
            // 
320 350
            this.splitPanelDocument.RootElement.MinSize = new System.Drawing.Size(25, 25);
321
            this.splitPanelDocument.Size = new System.Drawing.Size(250, 538);
351
            this.splitPanelDocument.Size = new System.Drawing.Size(250, 518);
322 352
            this.splitPanelDocument.SizeInfo.AbsoluteSize = new System.Drawing.Size(250, 200);
323 353
            this.splitPanelDocument.SizeInfo.SizeMode = Telerik.WinControls.UI.Docking.SplitPanelSizeMode.Absolute;
324 354
            this.splitPanelDocument.TabIndex = 0;
......
341 371
            gridViewTextBoxColumn1});
342 372
            this.radGridViewDocument.MasterTemplate.ViewDefinition = tableViewDefinition2;
343 373
            this.radGridViewDocument.Name = "radGridViewDocument";
344
            this.radGridViewDocument.Size = new System.Drawing.Size(250, 538);
374
            this.radGridViewDocument.Size = new System.Drawing.Size(250, 518);
345 375
            this.radGridViewDocument.TabIndex = 0;
346 376
            // 
347 377
            // splitPanel4
348 378
            // 
349 379
            this.splitPanel4.Controls.Add(this.radSplitContainer1);
350
            this.splitPanel4.Location = new System.Drawing.Point(254, 0);
380
            this.splitPanel4.Location = new System.Drawing.Point(258, 0);
351 381
            this.splitPanel4.Name = "splitPanel4";
352 382
            // 
353 383
            // 
354 384
            // 
355 385
            this.splitPanel4.RootElement.MinSize = new System.Drawing.Size(25, 25);
356
            this.splitPanel4.Size = new System.Drawing.Size(856, 538);
386
            this.splitPanel4.Size = new System.Drawing.Size(852, 518);
357 387
            this.splitPanel4.TabIndex = 1;
358 388
            this.splitPanel4.TabStop = false;
359 389
            this.splitPanel4.Text = "splitPanel4";
......
362 392
            // 
363 393
            this.tableLayoutPanelMain.ColumnCount = 1;
364 394
            this.tableLayoutPanelMain.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
365
            this.tableLayoutPanelMain.Controls.Add(this.radSplitContainerMain, 0, 2);
395
            this.tableLayoutPanelMain.Controls.Add(this.radSplitContainerMain, 0, 3);
366 396
            this.tableLayoutPanelMain.Controls.Add(this.tableLayoutPanel1, 0, 0);
367 397
            this.tableLayoutPanelMain.Controls.Add(this.tableLayoutPanel2, 0, 1);
398
            this.tableLayoutPanelMain.Controls.Add(this.tableLayoutPanel3, 0, 2);
368 399
            this.tableLayoutPanelMain.Dock = System.Windows.Forms.DockStyle.Fill;
369 400
            this.tableLayoutPanelMain.Location = new System.Drawing.Point(0, 0);
370 401
            this.tableLayoutPanelMain.Name = "tableLayoutPanelMain";
371
            this.tableLayoutPanelMain.RowCount = 3;
372
            this.tableLayoutPanelMain.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
373
            this.tableLayoutPanelMain.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
402
            this.tableLayoutPanelMain.RowCount = 4;
403
            this.tableLayoutPanelMain.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
404
            this.tableLayoutPanelMain.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
405
            this.tableLayoutPanelMain.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
374 406
            this.tableLayoutPanelMain.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
375 407
            this.tableLayoutPanelMain.Size = new System.Drawing.Size(1110, 608);
376 408
            this.tableLayoutPanelMain.TabIndex = 2;
......
387 419
            this.tableLayoutPanel1.Name = "tableLayoutPanel1";
388 420
            this.tableLayoutPanel1.RowCount = 1;
389 421
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
390
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 29F));
391
            this.tableLayoutPanel1.Size = new System.Drawing.Size(1104, 29);
422
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 24F));
423
            this.tableLayoutPanel1.Size = new System.Drawing.Size(1104, 24);
392 424
            this.tableLayoutPanel1.TabIndex = 2;
393 425
            // 
394 426
            // radLabel1
395 427
            // 
396 428
            this.radLabel1.Anchor = System.Windows.Forms.AnchorStyles.Left;
397
            this.radLabel1.Location = new System.Drawing.Point(3, 5);
429
            this.radLabel1.Location = new System.Drawing.Point(3, 3);
398 430
            this.radLabel1.Name = "radLabel1";
399 431
            this.radLabel1.Size = new System.Drawing.Size(111, 18);
400 432
            this.radLabel1.TabIndex = 0;
......
404 436
            // 
405 437
            this.radTextBoxID2DrawingFolder.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
406 438
            this.radTextBoxID2DrawingFolder.Enabled = false;
407
            this.radTextBoxID2DrawingFolder.Location = new System.Drawing.Point(123, 4);
439
            this.radTextBoxID2DrawingFolder.Location = new System.Drawing.Point(123, 3);
408 440
            this.radTextBoxID2DrawingFolder.Name = "radTextBoxID2DrawingFolder";
409 441
            this.radTextBoxID2DrawingFolder.Size = new System.Drawing.Size(978, 20);
410 442
            this.radTextBoxID2DrawingFolder.TabIndex = 1;
......
417 449
            this.tableLayoutPanel2.Controls.Add(this.radLabel2, 0, 0);
418 450
            this.tableLayoutPanel2.Controls.Add(this.radBrowseEditorAVEVAPIDFolder, 1, 0);
419 451
            this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
420
            this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 38);
452
            this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 33);
421 453
            this.tableLayoutPanel2.Name = "tableLayoutPanel2";
422 454
            this.tableLayoutPanel2.RowCount = 1;
423 455
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
424
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 29F));
425
            this.tableLayoutPanel2.Size = new System.Drawing.Size(1104, 29);
456
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 24F));
457
            this.tableLayoutPanel2.Size = new System.Drawing.Size(1104, 24);
426 458
            this.tableLayoutPanel2.TabIndex = 3;
427 459
            // 
428 460
            // radLabel2
429 461
            // 
430 462
            this.radLabel2.Anchor = System.Windows.Forms.AnchorStyles.Left;
431
            this.radLabel2.Location = new System.Drawing.Point(3, 5);
463
            this.radLabel2.Location = new System.Drawing.Point(3, 3);
432 464
            this.radLabel2.Name = "radLabel2";
433 465
            this.radLabel2.Size = new System.Drawing.Size(104, 18);
434 466
            this.radLabel2.TabIndex = 0;
......
438 470
            // 
439 471
            this.radBrowseEditorAVEVAPIDFolder.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
440 472
            this.radBrowseEditorAVEVAPIDFolder.DialogType = Telerik.WinControls.UI.BrowseEditorDialogType.FolderBrowseDialog;
441
            this.radBrowseEditorAVEVAPIDFolder.Location = new System.Drawing.Point(123, 4);
473
            this.radBrowseEditorAVEVAPIDFolder.Location = new System.Drawing.Point(123, 3);
442 474
            this.radBrowseEditorAVEVAPIDFolder.Name = "radBrowseEditorAVEVAPIDFolder";
443 475
            this.radBrowseEditorAVEVAPIDFolder.Size = new System.Drawing.Size(978, 20);
444 476
            this.radBrowseEditorAVEVAPIDFolder.TabIndex = 1;
445 477
            // 
446
            // radGridViewData
447
            // 
448
            this.radGridViewData.Dock = System.Windows.Forms.DockStyle.Fill;
449
            this.radGridViewData.Location = new System.Drawing.Point(0, 0);
450
            // 
451
            // 
452
            // 
453
            this.radGridViewData.MasterTemplate.ViewDefinition = tableViewDefinition1;
454
            this.radGridViewData.Name = "radGridViewData";
455
            this.radGridViewData.Size = new System.Drawing.Size(856, 200);
456
            this.radGridViewData.TabIndex = 0;
478
            // tableLayoutPanel3
479
            // 
480
            this.tableLayoutPanel3.ColumnCount = 7;
481
            this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 120F));
482
            this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 120F));
483
            this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100F));
484
            this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 120F));
485
            this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100F));
486
            this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 120F));
487
            this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
488
            this.tableLayoutPanel3.Controls.Add(this.radLabel3, 0, 0);
489
            this.tableLayoutPanel3.Controls.Add(this.radSpinEditorTolerance, 1, 0);
490
            this.tableLayoutPanel3.Controls.Add(this.radLabel4, 2, 0);
491
            this.tableLayoutPanel3.Controls.Add(this.radColorBoxEqualColor, 3, 0);
492
            this.tableLayoutPanel3.Controls.Add(this.radLabel5, 4, 0);
493
            this.tableLayoutPanel3.Controls.Add(this.radColorBoxDiffColor, 5, 0);
494
            this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
495
            this.tableLayoutPanel3.Location = new System.Drawing.Point(3, 63);
496
            this.tableLayoutPanel3.Name = "tableLayoutPanel3";
497
            this.tableLayoutPanel3.RowCount = 1;
498
            this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
499
            this.tableLayoutPanel3.Size = new System.Drawing.Size(1104, 24);
500
            this.tableLayoutPanel3.TabIndex = 4;
501
            // 
502
            // radLabel3
503
            // 
504
            this.radLabel3.Anchor = System.Windows.Forms.AnchorStyles.Left;
505
            this.radLabel3.Location = new System.Drawing.Point(3, 3);
506
            this.radLabel3.Name = "radLabel3";
507
            this.radLabel3.Size = new System.Drawing.Size(55, 18);
508
            this.radLabel3.TabIndex = 0;
509
            this.radLabel3.Text = "Tolerance : ";
510
            // 
511
            // radSpinEditorTolerance
512
            // 
513
            this.radSpinEditorTolerance.Anchor = System.Windows.Forms.AnchorStyles.Left;
514
            this.radSpinEditorTolerance.DecimalPlaces = 2;
515
            this.radSpinEditorTolerance.Increment = new decimal(new int[] {
516
            1,
517
            0,
518
            0,
519
            131072});
520
            this.radSpinEditorTolerance.Location = new System.Drawing.Point(123, 3);
521
            this.radSpinEditorTolerance.Name = "radSpinEditorTolerance";
522
            this.radSpinEditorTolerance.Size = new System.Drawing.Size(100, 18);
523
            this.radSpinEditorTolerance.TabIndex = 1;
524
            // 
525
            // radLabel4
526
            // 
527
            this.radLabel4.Anchor = System.Windows.Forms.AnchorStyles.Right;
528
            this.radLabel4.Location = new System.Drawing.Point(243, 3);
529
            this.radLabel4.Name = "radLabel4";
530
            this.radLabel4.Size = new System.Drawing.Size(72, 18);
531
            this.radLabel4.TabIndex = 2;
532
            this.radLabel4.Text = "Equal Color : ";
533
            this.radLabel4.TextAlignment = System.Drawing.ContentAlignment.TopLeft;
534
            // 
535
            // radColorBoxEqualColor
536
            // 
537
            this.radColorBoxEqualColor.Dock = System.Windows.Forms.DockStyle.Fill;
538
            this.radColorBoxEqualColor.Location = new System.Drawing.Point(343, 3);
539
            this.radColorBoxEqualColor.Name = "radColorBoxEqualColor";
540
            this.radColorBoxEqualColor.Size = new System.Drawing.Size(114, 20);
541
            this.radColorBoxEqualColor.TabIndex = 3;
542
            this.radColorBoxEqualColor.Value = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(44)))), ((int)(((byte)(44)))));
543
            // 
544
            // radLabel5
545
            // 
546
            this.radLabel5.Anchor = System.Windows.Forms.AnchorStyles.Left;
547
            this.radLabel5.Location = new System.Drawing.Point(463, 3);
548
            this.radLabel5.Name = "radLabel5";
549
            this.radLabel5.Size = new System.Drawing.Size(89, 18);
550
            this.radLabel5.TabIndex = 4;
551
            this.radLabel5.Text = "Different Color : ";
552
            // 
553
            // radColorBoxDiffColor
554
            // 
555
            this.radColorBoxDiffColor.Dock = System.Windows.Forms.DockStyle.Fill;
556
            this.radColorBoxDiffColor.Location = new System.Drawing.Point(583, 3);
557
            this.radColorBoxDiffColor.Name = "radColorBoxDiffColor";
558
            this.radColorBoxDiffColor.Size = new System.Drawing.Size(114, 20);
559
            this.radColorBoxDiffColor.TabIndex = 5;
560
            this.radColorBoxDiffColor.Value = System.Drawing.Color.Yellow;
457 561
            // 
458 562
            // Verification
459 563
            // 
......
480 584
            ((System.ComponentModel.ISupportInitialize)(this.designAVEVA)).EndInit();
481 585
            ((System.ComponentModel.ISupportInitialize)(this.splitPanelData)).EndInit();
482 586
            this.splitPanelData.ResumeLayout(false);
587
            ((System.ComponentModel.ISupportInitialize)(this.radGridViewData.MasterTemplate)).EndInit();
588
            ((System.ComponentModel.ISupportInitialize)(this.radGridViewData)).EndInit();
483 589
            ((System.ComponentModel.ISupportInitialize)(this.radSplitContainerMain)).EndInit();
484 590
            this.radSplitContainerMain.ResumeLayout(false);
485 591
            ((System.ComponentModel.ISupportInitialize)(this.splitPanelDocument)).EndInit();
......
497 603
            this.tableLayoutPanel2.PerformLayout();
498 604
            ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).EndInit();
499 605
            ((System.ComponentModel.ISupportInitialize)(this.radBrowseEditorAVEVAPIDFolder)).EndInit();
500
            ((System.ComponentModel.ISupportInitialize)(this.radGridViewData.MasterTemplate)).EndInit();
501
            ((System.ComponentModel.ISupportInitialize)(this.radGridViewData)).EndInit();
606
            this.tableLayoutPanel3.ResumeLayout(false);
607
            this.tableLayoutPanel3.PerformLayout();
608
            ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).EndInit();
609
            ((System.ComponentModel.ISupportInitialize)(this.radSpinEditorTolerance)).EndInit();
610
            ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).EndInit();
611
            ((System.ComponentModel.ISupportInitialize)(this.radColorBoxEqualColor)).EndInit();
612
            ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).EndInit();
613
            ((System.ComponentModel.ISupportInitialize)(this.radColorBoxDiffColor)).EndInit();
502 614
            this.ResumeLayout(false);
503 615

  
504 616
        }
......
527 639
        private Telerik.WinControls.UI.RadTextBox radTextBoxID2DrawingFolder;
528 640
        private Telerik.WinControls.UI.RadBrowseEditor radBrowseEditorAVEVAPIDFolder;
529 641
        private Telerik.WinControls.UI.RadGridView radGridViewData;
642
        private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3;
643
        private Telerik.WinControls.UI.RadLabel radLabel3;
644
        private Telerik.WinControls.UI.RadSpinEditor radSpinEditorTolerance;
645
        private Telerik.WinControls.UI.RadLabel radLabel4;
646
        private Telerik.WinControls.UI.RadColorBox radColorBoxEqualColor;
647
        private Telerik.WinControls.UI.RadLabel radLabel5;
648
        private Telerik.WinControls.UI.RadColorBox radColorBoxDiffColor;
530 649
    }
531 650
}
ID2.Manager/ID2.Manager/Controls/Verification.cs
21 21
        readonly Informations informations = Informations.Instance;
22 22
        readonly string IniFilePath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), 
23 23
            Application.ProductName, $"{Application.ProductName}.ini");
24
        private static readonly Color NOT_MODIFIED_COLOR = Color.FromArgb(44, 44, 44);
24

  
25
        private static Color EqualColor = Color.FromArgb(44, 44, 44);
26
        private static Color DiffColor = Color.Yellow;
27
        private static double Tolerance = 0;
25 28

  
26 29
        public Verification()
27 30
        {
......
31 34
            this.Load += Verification_Load;
32 35
            this.radGridViewDocument.SelectionChanged += RadGridViewDocument_SelectionChanged;
33 36
            this.radBrowseEditorAVEVAPIDFolder.ValueChanged += RadBrowseEditorAVEVAPIDFolder_ValueChanged;
37
            this.radSpinEditorTolerance.ValueChanged += RadSpinEditorTolerance_ValueChanged;
38
            this.radColorBoxEqualColor.ValueChanged += RadColorBoxEqualColor_ValueChanged;
39
            this.radColorBoxDiffColor.ValueChanged += RadColorBoxDiffColor_ValueChanged;
34 40

  
35 41
            #region Camera Sync
36 42
            this.designAutoCAD.ActiveViewport.Rotate.Enabled = false;
......
50 56
            #endregion
51 57
        }
52 58

  
59
        /// <summary>
60
        /// 서로 다른 엔터티의 색상을 설정한다.
61
        /// </summary>
62
        /// <param name="sender"></param>
63
        /// <param name="e"></param>
64
        private void RadColorBoxDiffColor_ValueChanged(object sender, EventArgs e)
65
        {
66
            Verification.DiffColor = this.radColorBoxDiffColor.Value;
67
            string color = $"{Verification.DiffColor.R},{Verification.DiffColor.G},{Verification.DiffColor.B}";
68
            Classes.ID2Helper.IniWriteValue(IniFilePath, "Verification", "DiffColor", color);
69
        }
70

  
71
        /// <summary>
72
        /// 동일한 엔터티의 색상을 설정한다.
73
        /// </summary>
74
        /// <param name="sender"></param>
75
        /// <param name="e"></param>
76
        private void RadColorBoxEqualColor_ValueChanged(object sender, EventArgs e)
77
        {
78
            Verification.EqualColor = this.radColorBoxEqualColor.Value;
79
            string color = $"{Verification.EqualColor.R},{Verification.EqualColor.G},{Verification.EqualColor.B}";
80
            Classes.ID2Helper.IniWriteValue(IniFilePath, "Verification", "EqualColor", color);
81
        }
82

  
83
        private void RadSpinEditorTolerance_ValueChanged(object sender, EventArgs e)
84
        {
85
            string AVEVAPIDFolder = this.radBrowseEditorAVEVAPIDFolder.Value;
86
            if (System.IO.Directory.Exists(AVEVAPIDFolder))
87
            {
88
                Classes.ID2Helper.IniWriteValue(IniFilePath, "Verification", "Tolerance", this.radSpinEditorTolerance.Value.ToString());
89
            }
90
        }
91

  
53 92
        private void RadBrowseEditorAVEVAPIDFolder_ValueChanged(object sender, EventArgs e)
54 93
        {
55 94
            string AVEVAPIDFolder = this.radBrowseEditorAVEVAPIDFolder.Value;
......
63 102
        {
64 103
            string AVEVAPIDFolder = Classes.ID2Helper.IniReadValue(IniFilePath, "Path", "AVEVA P&ID Folder");
65 104
            if (!string.IsNullOrEmpty(AVEVAPIDFolder)) this.radBrowseEditorAVEVAPIDFolder.Value = AVEVAPIDFolder;
105

  
106
            string Toler = Classes.ID2Helper.IniReadValue(IniFilePath, "Verification", "Tolerance");
107
            if (!string.IsNullOrEmpty(Toler)) this.radSpinEditorTolerance.Value = Convert.ToDecimal(Toler);
108

  
109
            string _EqualColor = Classes.ID2Helper.IniReadValue(IniFilePath, "Verification", "EqualColor");
110
            if (!string.IsNullOrEmpty(_EqualColor))
111
            {
112
                var tokens = _EqualColor.Split(',');
113
                if (tokens.Length == 3)
114
                {
115
                    this.radColorBoxEqualColor.Value =
116
                         Color.FromArgb(Convert.ToInt32(tokens[0]), Convert.ToInt32(tokens[1]), Convert.ToInt32(tokens[2]));
117
                }
118
            }
119

  
120
            string _DiffColor = Classes.ID2Helper.IniReadValue(IniFilePath, "Verification", "DiffColor");
121
            if (!string.IsNullOrEmpty(_DiffColor))
122
            {
123
                var tokens = _DiffColor.Split(',');
124
                if (tokens.Length == 3)
125
                {
126
                    this.radColorBoxDiffColor.Value =
127
                        Color.FromArgb(Convert.ToInt32(tokens[0]), Convert.ToInt32(tokens[1]), Convert.ToInt32(tokens[2]));
128
                }
129
            }
66 130
        }
67 131

  
68
        public void ColorEntities(Design design, EntityList list)
132
        /// <summary>
133
        /// 엔터티들의 색상을 바꾼다.
134
        /// </summary>
135
        /// <param name="design"></param>
136
        /// <param name="list"></param>
137
        public void ColorEntities(Design design, EntityList list, Color color)
69 138
        {
70 139
            foreach (Entity ent in list)
71 140
            {
72
                if (ent is BlockReference blkref)
141
                ColorEntity(design, ent, color);
142
            }
143
        }
144

  
145
        /// <summary>
146
        /// 엔터티의 색상을 변경한다.
147
        /// </summary>
148
        /// <param name="design"></param>
149
        /// <param name="entity"></param>
150
        /// <param name="color"></param>
151
        private void ColorEntity(Design design, Entity entity, Color color)
152
        {
153
            if (entity is BlockReference blkref)
154
            {
155
                blkref.Color = color;
156
                blkref.ColorMethod = colorMethodType.byEntity;
157
                var blk = design.Blocks.FirstOrDefault(x => x.Name == blkref.BlockName);
158
                if (blk != null)
73 159
                {
74
                    var blk = design.Blocks.FirstOrDefault(x => x.Name == blkref.BlockName);
75
                    if(blk != null)
160
                    ColorEntities(design, blk.Entities, color);
161
                    foreach(var attr in blkref.Attributes.Values)
76 162
                    {
77
                        foreach(Entity _ent in blk.Entities)
78
                        {
79
                            _ent.Color = NOT_MODIFIED_COLOR;
80
                            _ent.ColorMethod = colorMethodType.byEntity;
81
                        }
163
                        attr.Color = color;
164
                        attr.ColorMethod = colorMethodType.byEntity;
82 165
                    }
83 166
                }
84
                else
85
                {
86
                    ent.Color = NOT_MODIFIED_COLOR;
87
                    ent.ColorMethod = colorMethodType.byEntity;
88
                }
167
            }
168
            else
169
            {
170
                entity.Color = color;
171
                entity.ColorMethod = colorMethodType.byEntity;
89 172
            }
90 173
        }
91 174

  
......
100 183
                    ra.DoWork();
101 184
                    ra.AddToScene(this.designAutoCAD);
102 185

  
103
                    ///Entity[] toAdd = this.designAutoCAD.Entities.Explode();
104
                    ///this.designAutoCAD.Entities.AddRange(toAdd, NOT_MODIFIED_COLOR);
105
                    ColorEntities(this.designAutoCAD, this.designAutoCAD.Entities);
186
                    ColorEntities(this.designAutoCAD, this.designAutoCAD.Entities, Verification.EqualColor);
106 187

  
107 188
                    // Sets the view as Top
108 189
                    this.designAutoCAD.SetView(viewType.Top);
......
120 201
                    ra.DoWork();
121 202
                    ra.AddToScene(this.designAVEVA);
122 203

  
123
                    ///Entity[] toAdd = this.designAVEVA.Entities.Explode();
124
                    ///this.designAVEVA.Entities.AddRange(toAdd, NOT_MODIFIED_COLOR);
125
                    ColorEntities(this.designAVEVA, this.designAVEVA.Entities);
204
                    ColorEntities(this.designAVEVA, this.designAVEVA.Entities, Verification.EqualColor);
126 205

  
127 206
                    this.designAVEVA.SetView(viewType.Top);
128 207
                    this.designAVEVA.ZoomFit();
......
148 227

  
149 228
                if(System.IO.File.Exists(dwgFilePath) && System.IO.File.Exists(AVEVAPIDFilePath))
150 229
                {
151
                    CompareAndMark(this.designAutoCAD.Entities, this.designAVEVA.Entities);
230
                    CompareAndMark(this.designAutoCAD, this.designAutoCAD.Entities, this.designAVEVA, this.designAVEVA.Entities);
152 231
                }
153 232
            }
154 233
        }
......
159 238
            this.radGridViewDocument.DataSource = new BindingList<ID2.Manager.Data.Models.Documents>(docs);
160 239
        }
161 240

  
162
        private void CompareAndMark(IList<Entity> entList1, IList<Entity> entList2)
241
        /// <summary>
242
        /// 주어진 두 엔터티 리스트를 비교하여 틀린 엔터티의 색상을 Yellow로 변경한다.
243
        /// </summary>
244
        /// <param name="entList1"></param>
245
        /// <param name="entList2"></param>
246
        private void CompareAndMark(Design design1, IList<Entity> entList1, Design design2, IList<Entity> entList2)
163 247
        {
164 248
            bool[] equalEntitiesInV2 = new bool[entList2.Count];
165 249

  
......
174 258
                    {
175 259
                        Entity entVp2 = entList2[j];
176 260

  
177
                        if (!equalEntitiesInV2[j] && entVp1.GetType() == entVp2.GetType() && CompareIfEqual(entVp1, entVp2))
261
                        if (!equalEntitiesInV2[j] && entVp1.GetType() == entVp2.GetType() && 
262
                            CompareIfEqual(this.designAutoCAD, entVp1, this.designAVEVA, entVp2))
178 263
                        {
179 264
                            equalEntitiesInV2[j] = true;
180 265
                            foundEqual = true;
......
183 268
                    }
184 269
                    if (!foundEqual)
185 270
                    {
186
                        entList1[i].Color = Color.Yellow;
187
                        entList1[i].ColorMethod = colorMethodType.byEntity;
271
                        ColorEntity(design1, entList1[i], Verification.DiffColor);
188 272
                    }
189 273
                }
190 274

  
......
192 276
                {
193 277
                    if (!equalEntitiesInV2[j])
194 278
                    {
195
                        entList2[j].Color = Color.Yellow;
196
                        entList2[j].ColorMethod = colorMethodType.byEntity;
279
                        ColorEntity(design2, entList2[j], Verification.DiffColor);
197 280
                    }
198 281
                }
199 282
            }
......
203 286
            }
204 287
        }
205 288

  
206
        private bool CompareIfEqual(Entity entVp1, Entity entVp2)
289
        /// <summary>
290
        /// 주어진 두 엔터티를 비교한다.
291
        /// </summary>
292
        /// <param name="entVp1"></param>
293
        /// <param name="entVp2"></param>
294
        /// <returns></returns>
295
        private bool CompareIfEqual(Design design1, Entity entVp1, Design design2, Entity entVp2)
207 296
        {
208 297
            bool areEqualAttributes = AreEqualAttributes(entVp1, entVp2);
209
            bool areEqual = AreEqual(entVp1, entVp2);
298
            bool areEqual = AreEqual(design1, entVp1, design2, entVp2);
210 299

  
211 300
            return areEqualAttributes && areEqual;
212 301
        }
......
216 305
            return AreGEntityEqual(entVp1, entVp2);
217 306
        }
218 307

  
219
        private bool AreEqual(Entity ent1, Entity ent2)
308
        private bool AreEqual(Design design1, Entity ent1, Design design2, Entity ent2)
220 309
        {
221
            if (ent1 is CompositeCurve)
310
            if (ent1 is CompositeCurve cc1 && ent2 is CompositeCurve cc2)
222 311
            {
223
                CompositeCurve cc1 = (CompositeCurve)ent1;
224
                CompositeCurve cc2 = (CompositeCurve)ent2;
225

  
226 312
                if (cc1.CurveList.Count == cc2.CurveList.Count)
227 313
                {
228 314
                    int equalCurvesInListCount = 0;
......
232 318
                        {
233 319
                            if (entC.GetType() == entC2.GetType())
234 320
                            {
235
                                if (entC is Entity && entC2 is Entity && CompareIfEqual(entC as Entity, entC2 as Entity))
321
                                if (entC is Entity && entC2 is Entity && CompareIfEqual(design1, entC as Entity, design2, entC2 as Entity))
236 322
                                {
237 323
                                    equalCurvesInListCount++;
238 324
                                    break;
......
252 338
                    }
253 339
                }
254 340
            }
255
            else if (ent1 is LinearPath)
341
            else if (ent1 is LinearPath lp1 && ent2 is LinearPath lp2)
256 342
            {
257
                LinearPath lp1 = (LinearPath)ent1;
258
                LinearPath lp2 = (LinearPath)ent2;
259

  
260 343
                if (lp1.Vertices.Length == lp2.Vertices.Length)
261 344
                {
262 345
                    for (int i = 0; i < lp1.Vertices.Length; i++)
263 346
                    {
264
                        if (!(lp1.Vertices[i] == lp2.Vertices[i]))
347
                        if (lp1.Vertices[i].DistanceTo(lp2.Vertices[i]) > Verification.Tolerance)
265 348
                            return false;
266 349
                    }
350

  
267 351
                    return true;
268 352
                }
269 353
            }
270

  
271
            else if (ent1 is PlanarEntity)
354
            else if (ent1 is PlanarEntity pe1 && ent2 is PlanarEntity pe2)
272 355
            {
273
                PlanarEntity pe1 = (PlanarEntity)ent1;
274
                PlanarEntity pe2 = (PlanarEntity)ent2;
275
                if (
276
                    pe1.Plane.AxisZ == pe2.Plane.AxisZ &&
277
                    pe1.Plane.AxisX == pe2.Plane.AxisX
278
                    )
356
                if ( pe1.Plane.AxisZ == pe2.Plane.AxisZ && pe1.Plane.AxisX == pe2.Plane.AxisX )
279 357
                {
280
                    if (ent1 is Arc)
358
                    if (ent1 is Arc arc1 && ent2 is Arc arc2)
281 359
                    {
282
                        Arc arc1 = (Arc)ent1;
283
                        Arc arc2 = (Arc)ent2;
284

  
285 360
                        if (
286
                            arc1.Center == arc2.Center &&
287
                            arc1.Radius == arc2.Radius &&
288
                            arc1.Domain.Min == arc2.Domain.Min &&
289
                            arc1.Domain.Max == arc2.Domain.Max
361
                            arc1.Center.DistanceTo(arc2.Center) <= Verification.Tolerance &&
362
                            Math.Abs(arc1.Radius - arc2.Radius) <= Verification.Tolerance &&
363
                            Math.Abs(arc1.Domain.Min - arc2.Domain.Min) <= Verification.Tolerance &&
364
                            Math.Abs(arc1.Domain.Max - arc2.Domain.Max) <= Verification.Tolerance
290 365
                            )
291 366
                        {
292 367
                            return true;
293 368
                        }
294 369
                    }
295
                    else if (ent1 is Circle)
370
                    else if (ent1 is Circle c1 && ent2 is Circle c2)
296 371
                    {
297
                        Circle c1 = (Circle)ent1;
298
                        Circle c2 = (Circle)ent2;
299

  
300 372
                        if (
301
                            c1.Center == c2.Center &&
302
                            c1.Radius == c2.Radius
373
                            c1.Center.DistanceTo(c2.Center) <= Verification.Tolerance &&
374
                            Math.Abs(c1.Radius - c2.Radius) <= Verification.Tolerance
303 375
                            )
304 376
                        {
305 377
                            return true;
306 378
                        }
307 379
                    }
308
                    else if (ent1 is EllipticalArc)
380
                    else if (ent1 is EllipticalArc e1 && ent2 is EllipticalArc e2)
309 381
                    {
310
                        EllipticalArc e1 = (EllipticalArc)ent1;
311
                        EllipticalArc e2 = (EllipticalArc)ent2;
312

  
313 382
                        if (
314
                            e1.Center == e2.Center &&
315
                            e1.RadiusX == e2.RadiusX &&
316
                            e1.RadiusY == e2.RadiusY &&
317
                            e1.Domain.Low == e2.Domain.Low &&
318
                            e1.Domain.High == e2.Domain.High
383
                            e1.Center.DistanceTo(e2.Center) <= Verification.Tolerance &&
384
                            Math.Abs(e1.RadiusX - e2.RadiusX) <= Verification.Tolerance &&
385
                            Math.Abs(e1.RadiusY - e2.RadiusY) <= Verification.Tolerance &&
386
                            Math.Abs(e1.Domain.Low - e2.Domain.Low) <= Verification.Tolerance &&
387
                            Math.Abs(e1.Domain.High - e2.Domain.High) <= Verification.Tolerance
319 388
                        )
320 389
                        {
321 390
                            return true;
322 391
                        }
323 392
                    }
324
                    else if (ent1 is Ellipse)
393
                    else if (ent1 is Ellipse el1 && ent2 is Ellipse el2)
325 394
                    {
326
                        Ellipse e1 = (Ellipse)ent1;
327
                        Ellipse e2 = (Ellipse)ent2;
328

  
329 395
                        if (
330
                            e1.Center == e2.Center &&
331
                            e1.RadiusX == e2.RadiusX &&
332
                            e1.RadiusY == e2.RadiusY
396
                            el1.Center.DistanceTo(el2.Center) <= Verification.Tolerance &&
397
                            Math.Abs(el1.RadiusX - el2.RadiusX) <= Verification.Tolerance &&
398
                            Math.Abs(el1.RadiusY - el2.RadiusY) <= Verification.Tolerance
333 399
                        )
334 400
                        {
335 401
                            return true;
......
338 404

  
339 405
                    else if (ent1 is Text)
340 406
                    {
341
                        if (ent1 is Dimension)
407
                        if (ent1 is Dimension dim1 && ent2 is Dimension dim2)
342 408
                        {
343
                            Dimension dim1 = (Dimension)ent1;
344
                            Dimension dim2 = (Dimension)ent2;
345

  
346 409
                            if (
347
                                dim1.InsertionPoint == dim2.InsertionPoint &&
348
                                dim1.DimLinePosition == dim2.DimLinePosition
410
                                dim1.InsertionPoint.DistanceTo(dim2.InsertionPoint) <= Verification.Tolerance &&
411
                                dim1.DimLinePosition.DistanceTo(dim2.DimLinePosition) <= Verification.Tolerance
349 412
                                )
350 413
                            {
351

  
352
                                if (ent1 is AngularDim)
414
                                if (ent1 is AngularDim ad1 && ent2 is AngularDim ad2)
353 415
                                {
354
                                    AngularDim ad1 = (AngularDim)ent1;
355
                                    AngularDim ad2 = (AngularDim)ent2;
356

  
357 416
                                    if (
358
                                        ad1.ExtLine1 == ad2.ExtLine1 &&
359
                                        ad1.ExtLine2 == ad2.ExtLine2 &&
360
                                        ad1.StartAngle == ad2.StartAngle &&
361
                                        ad1.EndAngle == ad2.EndAngle &&
362
                                        ad1.Radius == ad2.Radius
417
                                        ad1.ExtLine1.DistanceTo(ad2.ExtLine1) <= Verification.Tolerance &&
418
                                        ad1.ExtLine2.DistanceTo(ad2.ExtLine2) <= Verification.Tolerance &&
419
                                        Math.Abs(ad1.StartAngle - ad2.StartAngle) <= Verification.Tolerance &&
420
                                        Math.Abs(ad1.EndAngle - ad2.EndAngle) <= Verification.Tolerance &&
421
                                        Math.Abs(ad1.Radius - ad2.Radius) <= Verification.Tolerance
363 422
                                        )
364 423
                                    {
365 424
                                        return true;
366 425
                                    }
367 426
                                }
368
                                else if (ent1 is LinearDim)
427
                                else if (ent1 is LinearDim ld1 && ent2 is LinearDim ld2)
369 428
                                {
370
                                    LinearDim ld1 = (LinearDim)ent1;
371
                                    LinearDim ld2 = (LinearDim)ent2;
372

  
373 429
                                    if (
374
                                        ld1.ExtLine1 == ld2.ExtLine1 &&
375
                                        ld1.ExtLine2 == ld2.ExtLine2
430
                                        ld1.ExtLine1.DistanceTo(ld2.ExtLine1) <= Verification.Tolerance &&
431
                                        ld1.ExtLine2.DistanceTo(ld2.ExtLine2) <= Verification.Tolerance
376 432
                                        )
377 433
                                    {
378 434
                                        return true;
379 435
                                    }
380 436
                                }
381
                                else if (ent1 is DiametricDim)
437
                                else if (ent1 is DiametricDim dd1 && ent2 is DiametricDim dd2)
382 438
                                {
383
                                    DiametricDim dd1 = (DiametricDim)ent1;
384
                                    DiametricDim dd2 = (DiametricDim)ent2;
385

  
386 439
                                    if (
387
                                        dd1.Distance == dd2.Distance &&
388
                                        dd1.Radius == dd2.Radius &&
389
                                        dd1.CenterMarkSize == dd2.CenterMarkSize
440
                                        Math.Abs(dd1.Distance - dd2.Distance) <= Verification.Tolerance &&
441
                                        Math.Abs(dd1.Radius - dd2.Radius) <= Verification.Tolerance &&
442
                                        Math.Abs(dd1.CenterMarkSize - dd2.CenterMarkSize) <= Verification.Tolerance
390 443
                                    )
391 444
                                    {
392 445
                                        return true;
393 446
                                    }
394 447
                                }
395
                                else if (ent1 is RadialDim)
448
                                else if (ent1 is RadialDim rd1 && ent2 is RadialDim rd2)
396 449
                                {
397
                                    RadialDim rd1 = (RadialDim)ent1;
398
                                    RadialDim rd2 = (RadialDim)ent2;
399

  
400 450
                                    if (
401
                                        rd1.Radius == rd2.Radius &&
402
                                        rd1.CenterMarkSize == rd2.CenterMarkSize
451
                                        Math.Abs(rd1.Radius - rd2.Radius) <= Verification.Tolerance &&
452
                                        Math.Abs(rd1.CenterMarkSize - rd2.CenterMarkSize) <= Verification.Tolerance
403 453
                                    )
404 454
                                    {
405 455
                                        return true;
406 456
                                    }
407 457
                                }
408
                                else if (ent1 is OrdinateDim)
458
                                else if (ent1 is OrdinateDim od1 && ent2 is OrdinateDim od2)
409 459
                                {
410
                                    OrdinateDim od1 = (OrdinateDim)ent1;
411
                                    OrdinateDim od2 = (OrdinateDim)ent2;
412

  
413 460
                                    if (
414
                                        od1.DefiningPoint == od2.DefiningPoint &&
415
                                        od1.Origin == od2.Origin &&
416
                                        od1.LeaderEndPoint == od2.LeaderEndPoint
461
                                        od1.DefiningPoint.DistanceTo(od2.DefiningPoint) <= Verification.Tolerance &&
462
                                        od1.Origin.DistanceTo(od2.Origin) <= Verification.Tolerance &&
463
                                        od1.LeaderEndPoint.DistanceTo(od2.LeaderEndPoint) <= Verification.Tolerance
417 464
                                    )
418 465
                                    {
419 466
                                        return true;
......
427 474
                            }
428 475
                        }
429 476

  
430
                        else if (ent1 is devDept.Eyeshot.Entities.Attribute)
477
                        else if (ent1 is devDept.Eyeshot.Entities.Attribute att1 && ent2 is devDept.Eyeshot.Entities.Attribute att2)
431 478
                        {
432
                            devDept.Eyeshot.Entities.Attribute att1 = (devDept.Eyeshot.Entities.Attribute)ent1;
433
                            devDept.Eyeshot.Entities.Attribute att2 = (devDept.Eyeshot.Entities.Attribute)ent2;
434

  
435 479
                            if (
436 480
                                att1.Value == att2.Value &&
437
                                att1.InsertionPoint == att2.InsertionPoint
481
                                att1.InsertionPoint.DistanceTo(att2.InsertionPoint) <= Verification.Tolerance
438 482
                                )
439 483
                            {
440 484
                                return true;
441 485
                            }
442 486
                        }
443

  
444 487
                        else
445 488
                        {
446 489
                            Text tx1 = (Text)ent1;
447 490
                            Text tx2 = (Text)ent2;
448 491

  
449 492
                            if (
450
                                tx1.InsertionPoint == tx2.InsertionPoint &&
493
                                tx1.InsertionPoint.DistanceTo(tx2.InsertionPoint) <= Verification.Tolerance &&
451 494
                                tx1.TextString == tx2.TextString &&
452 495
                                tx1.StyleName == tx2.StyleName &&
453
                                tx1.WidthFactor == tx2.WidthFactor &&
454
                                tx1.Height == tx2.Height
496
                                Math.Abs(tx1.WidthFactor - tx2.WidthFactor) <= Verification.Tolerance &&
497
                                Math.Abs(tx1.Height - tx2.Height) <= Verification.Tolerance
455 498
                                )
456 499
                            {
457 500
                                return true;
......
466 509
                    }
467 510
                }
468 511
            }
469

  
470
            else if (ent1 is Line)
512
            else if (ent1 is Line line1 && ent2 is Line line2)
471 513
            {
472
                Line line1 = (Line)ent1;
473
                Line line2 = (Line)ent2;
474

  
475 514
                if (
476
                    line1.StartPoint == line2.StartPoint &&
477
                    line1.EndPoint == line2.EndPoint
515
                    line1.StartPoint.DistanceTo(line2.StartPoint) <= Verification.Tolerance &&
516
                    line1.EndPoint.DistanceTo(line2.EndPoint) <= Verification.Tolerance
478 517
                )
479 518
                {
480 519
                    return true;
481 520
                }
482 521
            }
483

  
484
            else if (ent1 is devDept.Eyeshot.Entities.Point)
522
            else if (ent1 is devDept.Eyeshot.Entities.Point point1 && ent2 is devDept.Eyeshot.Entities.Point point2)
485 523
            {
486
                devDept.Eyeshot.Entities.Point point1 = (devDept.Eyeshot.Entities.Point)ent1;
487
                devDept.Eyeshot.Entities.Point point2 = (devDept.Eyeshot.Entities.Point)ent2;
488

  
489
                if (
490
                    point1.Position == point2.Position
491
                )
524
                if (point1.Position.DistanceTo(point2.Position) <= Verification.Tolerance)
492 525
                {
493 526
                    return true;
494 527
                }
495 528
            }
496

  
497
#if NURBS
498
            else if (ent1 is Curve)
529
            else if (ent1 is Curve cu1 && ent2 is Curve cu2)
499 530
            {
500
                Curve cu1 = (Curve)ent1;
501
                Curve cu2 = (Curve)ent2;
502

  
503 531
                if (
504 532
                    cu1.ControlPoints.Length == cu2.ControlPoints.Length &&
505 533
                    cu1.KnotVector.Length == cu2.KnotVector.Length &&
......
508 536
                {
509 537
                    for (int k = 0; k < cu1.ControlPoints.Length; k++)
510 538
                    {
511
                        if (cu1.ControlPoints[k] != cu2.ControlPoints[k])
539
                        if (cu1.ControlPoints[k].DistanceTo(cu2.ControlPoints[k]) > Verification.Tolerance)
512 540
                        {
513 541
                            return false;
514 542
                        }
......
525 553
                    return true;
526 554
                }
527 555
            }
528
#endif
556
            else if(ent1 is Mesh m1 && ent2 is Mesh m2 && m1.Vertices.Count() == m2.Vertices.Count())
557
            {
558
                for(int i = 0;i < m1.Vertices.Count();++i)
559
                {
560
                    if (m1.Vertices[i].DistanceTo(m2.Vertices[i]) > Verification.Tolerance) return false;
561
                }
562

  
563
                return true;
564
            }
565
            else if (ent1 is BlockReference blkref1 && ent2 is BlockReference blkref2)
566
            {
567
                int equalCurvesInEntityList = 0;
529 568

  
569
                var entitites1 = blkref1.GetEntities(design1.Blocks);
570
                var entitites2 = blkref2.GetEntities(design2.Blocks);
571
                foreach (var entC in entitites1)
572
                {
573
                    foreach (var entC2 in entitites2)
574
                    {
575
                        if (entC.GetType() == entC2.GetType())
576
                        {
577
                            if (entC is Entity && entC2 is Entity && CompareIfEqual(design1, entC as Entity, design2, entC2 as Entity))
578
                            {
579
                                equalCurvesInEntityList++;
580
                                break;
581
                            }
582
                        }
583
                    }
584
                }
585

  
586
                if (entitites1.Count == equalCurvesInEntityList)
587
                {
588
                    return true;
589
                }
590
            }
530 591
            else
531 592
            {
532 593
                Console.Write("Type " + ent1.GetType() + " not implemented.");
533
                return true;
594
                return false;
534 595
            }
596

  
535 597
            return false;
536 598
        }
537 599

  
538 600
        private bool AreGEntityEqual(GEntity ent1, GEntity ent2)
539 601
        {
540
            if (ent1 is GCompositeCurve)
602
            if (ent1 is GCompositeCurve cc1 && ent2 is GCompositeCurve cc2)
541 603
            {
542
                GCompositeCurve cc1 = (GCompositeCurve)ent1;
543
                GCompositeCurve cc2 = (GCompositeCurve)ent2;
544

  
545 604
                if (cc1.CurveList.Count == cc2.CurveList.Count)
546 605
                {
547 606
                    int equalCurvesInListCount = 0;
......
566 625
                    }
567 626
                }
568 627
            }
569
            else if (ent1 is GLinearPath)
628
            else if (ent1 is GLinearPath lp1 && ent2 is GLinearPath lp2)
570 629
            {
571
                GLinearPath lp1 = (GLinearPath)ent1;
572
                GLinearPath lp2 = (GLinearPath)ent2;
573

  
574 630
                if (lp1.Vertices.Length == lp2.Vertices.Length)
575 631
                {
576 632
                    for (int i = 0; i < lp1.Vertices.Length; i++)
577 633
                    {
578
                        if (!(lp1.Vertices[i] == lp2.Vertices[i]))
634
                        if (lp1.Vertices[i].DistanceTo(lp2.Vertices[i]) > Verification.Tolerance)
579 635
                            return false;
580 636
                    }
581 637
                    return true;
582 638
                }
583 639
            }
584 640

  
585
            else if (ent1 is GPlanarEntity)
641
            else if (ent1 is GPlanarEntity pe1 && ent2 is GPlanarEntity pe2)
586 642
            {
587
                GPlanarEntity pe1 = (GPlanarEntity)ent1;
588
                GPlanarEntity pe2 = (GPlanarEntity)ent2;
589 643
                if (
590 644
                    pe1.Plane.AxisZ == pe2.Plane.AxisZ &&
591 645
                    pe1.Plane.AxisX == pe2.Plane.AxisX
592 646
                    )
593 647
                {
594
                    if (ent1 is GArc)
648
                    if (ent1 is GArc arc1 && ent2 is GArc arc2)
595 649
                    {
596
                        GArc arc1 = (GArc)ent1;
597
                        GArc arc2 = (GArc)ent2;
598

  
599 650
                        if (
600
                            arc1.Center == arc2.Center &&
601
                            arc1.Radius == arc2.Radius &&
602
                            arc1.Domain.Min == arc2.Domain.Min &&
603
                            arc1.Domain.Max == arc2.Domain.Max
651
                            arc1.Center.DistanceTo(arc2.Center) <= Verification.Tolerance &&
652
                            Math.Abs(arc1.Radius - arc2.Radius) <= Verification.Tolerance &&
653
                            Math.Abs(arc1.Domain.Min - arc2.Domain.Min) <= Verification.Tolerance &&
654
                            Math.Abs(arc1.Domain.Max - arc2.Domain.Max) <= Verification.Tolerance
604 655
                            )
605 656
                        {
606 657
                            return true;
607 658
                        }
608 659
                    }
609
                    else if (ent1 is GCircle)
660
                    else if (ent1 is GCircle c1 && ent2 is GCircle c2)
610 661
                    {
611
                        GCircle c1 = (GCircle)ent1;
612
                        GCircle c2 = (GCircle)ent2;
613

  
614
                        if ( c1.Center == c2.Center && c1.Radius == c2.Radius )
662
                        if (c1.Center.DistanceTo(c2.Center) <= Verification.Tolerance && 
663
                            Math.Abs(c1.Radius - c2.Radius) <= Verification.Tolerance)
615 664
                        {
616 665
                            return true;
617 666
                        }
618 667
                    }
619
                    else if (ent1 is GEllipticalArc)
668
                    else if (ent1 is GEllipticalArc e1 && ent2 is GEllipticalArc e2)
620 669
                    {
621
                        GEllipticalArc e1 = (GEllipticalArc)ent1;
622
                        GEllipticalArc e2 = (GEllipticalArc)ent2;
623

  
624 670
                        if (
625
                            e1.Center == e2.Center &&
626
                            e1.RadiusX == e2.RadiusX &&
627
                            e1.RadiusY == e2.RadiusY &&
628
                            e1.Domain.Low == e2.Domain.Low &&
629
                            e1.Domain.High == e2.Domain.High
671
                            e1.Center.DistanceTo(e2.Center) <= Verification.Tolerance &&
672
                            Math.Abs(e1.RadiusX - e2.RadiusX) <= Verification.Tolerance &&
673
                            Math.Abs(e1.RadiusY - e2.RadiusY) <= Verification.Tolerance &&
674
                            Math.Abs(e1.Domain.Low - e2.Domain.Low) <= Verification.Tolerance &&
675
                            Math.Abs(e1.Domain.High - e2.Domain.High) <= Verification.Tolerance
630 676
                        )
631 677
                        {
632 678
                            return true;
633 679
                        }
634 680
                    }
635
                    else if (ent1 is GEllipse)
681
                    else if (ent1 is GEllipse el1 && ent2 is GEllipse el2)
636 682
                    {
637
                        GEllipse e1 = (GEllipse)ent1;
638
                        GEllipse e2 = (GEllipse)ent2;
639

  
640 683
                        if (
641
                            e1.Center == e2.Center &&
642
                            e1.RadiusX == e2.RadiusX &&
643
                            e1.RadiusY == e2.RadiusY
684
                            el1.Center.DistanceTo(el2.Center) <= Verification.Tolerance &&
685
                            Math.Abs(el1.RadiusX - el2.RadiusX) <= Verification.Tolerance &&
686
                            Math.Abs(el1.RadiusY - el2.RadiusY) <= Verification.Tolerance
644 687
                        )
645 688
                        {
646 689
                            return true;
......
654 697
                }
655 698
            }
656 699

  
657
            else if (ent1 is GLine)
700
            else if (ent1 is GLine line1 && ent2 is GLine line2)
658 701
            {
659
                GLine line1 = (GLine)ent1;
660
                GLine line2 = (GLine)ent2;
661

  
662
                if ( line1.StartPoint == line2.StartPoint && line1.EndPoint == line2.EndPoint
702
                if (line1.StartPoint.DistanceTo(line2.StartPoint) <= Verification.Tolerance && 
703
                    line1.EndPoint.DistanceTo(line2.EndPoint) <= Verification.Tolerance
663 704
                )
664 705
                {
665 706
                    return true;

내보내기 Unified diff

클립보드 이미지 추가 (최대 크기: 500 MB)