1de2fde748
- Aggiunta variabile altezza grezzo. - Migliorate caratteristiche projetto corrente.
107 lines
5.4 KiB
VB.net
107 lines
5.4 KiB
VB.net
Imports EgtUILib
|
|
|
|
Public Class CurrentProjectPageUC
|
|
|
|
' Riferimento alla MainWindow
|
|
Private m_MainWindow As MainWindow = Application.Current.MainWindow
|
|
|
|
' Properties
|
|
Private m_bFirst As Boolean = True
|
|
|
|
' Dichiarazione Scene
|
|
Friend WithEvents CurrentProjectScene As New Scene
|
|
Private CurrentProjectSceneHost As New System.Windows.Forms.Integration.WindowsFormsHost
|
|
|
|
'Dichiarazione variabile per altezza grezzo
|
|
Friend m_dRawHeight As Double
|
|
|
|
' Identificativo del grezzo
|
|
Friend m_nRawId As Integer = GDB_ID.NULL
|
|
|
|
Private Sub CurrentProjectPage_Initialized(sender As Object, e As EventArgs)
|
|
|
|
'Posizionemento nella griglia delle Page UserControl
|
|
m_MainWindow.m_DirectCutPageUC.SetValue(Grid.RowSpanProperty, 3)
|
|
m_MainWindow.m_DirectCutPageUC.SetValue(Grid.ColumnSpanProperty, 2)
|
|
m_MainWindow.m_CadCutPageUC.SetValue(Grid.RowSpanProperty, 3)
|
|
m_MainWindow.m_CadCutPageUC.SetValue(Grid.ColumnSpanProperty, 2)
|
|
m_MainWindow.m_FrameCutPageUC.SetValue(Grid.RowSpanProperty, 3)
|
|
m_MainWindow.m_FrameCutPageUC.SetValue(Grid.ColumnSpanProperty, 2)
|
|
|
|
'Assegnazione scena all'host e posizionamento nella PlacePageGrid
|
|
CurrentProjectSceneHost.Child = CurrentProjectScene
|
|
CurrentProjectSceneHost.SetValue(Grid.ColumnProperty, 1)
|
|
CurrentProjectSceneHost.SetValue(Grid.RowProperty, 1)
|
|
Me.CurrentProjectPageGrid.Children.Add(CurrentProjectSceneHost)
|
|
|
|
End Sub
|
|
|
|
Private Sub CurrentProjectPage_Loaded(sender As Object, e As RoutedEventArgs)
|
|
|
|
If m_bFirst Then
|
|
' imposto colore di default
|
|
Dim DefColor As New Color3d(0, 0, 0)
|
|
GetPrivateProfileColor(S_GEOMDB, K_DEFAULTCOLOR, DefColor, m_MainWindow.GetIniFile())
|
|
CurrentProjectScene.SetDefaultMaterial(DefColor)
|
|
' imposto colori sfondo
|
|
Dim BackTopColor As New Color3d(192, 192, 192)
|
|
GetPrivateProfileColor(S_SCENE, K_BACKTOP, BackTopColor, m_MainWindow.GetIniFile())
|
|
Dim BackBotColor As New Color3d(BackTopColor)
|
|
GetPrivateProfileColor(S_SCENE, K_BACKBOTTOM, BackBotColor, m_MainWindow.GetIniFile())
|
|
CurrentProjectScene.SetViewBackground(BackTopColor, BackBotColor)
|
|
' imposto colore di evidenziazione
|
|
Dim MarkColor As New Color3d(255, 255, 0)
|
|
GetPrivateProfileColor(S_SCENE, K_MARK, MarkColor, m_MainWindow.GetIniFile())
|
|
CurrentProjectScene.SetMarkMaterial(MarkColor)
|
|
' imposto colore per superfici selezionate
|
|
Dim SelSurfColor As New Color3d(255, 255, 192)
|
|
GetPrivateProfileColor(S_SCENE, K_SELSURF, SelSurfColor, m_MainWindow.GetIniFile())
|
|
CurrentProjectScene.SetSelSurfMaterial(SelSurfColor)
|
|
' imposto tipo e colore del rettangolo di zoom
|
|
Dim bOutline As Boolean = True
|
|
Dim ZwColor As New Color3d(0, 0, 0)
|
|
GetPrivateProfileZoomWin(S_SCENE, K_ZOOMWIN, bOutline, ZwColor, m_MainWindow.GetIniFile())
|
|
CurrentProjectScene.SetZoomWinAttribs(bOutline, ZwColor)
|
|
' imposto colore della linea di distanza
|
|
Dim DstLnColor As New Color3d(255, 0, 0)
|
|
GetPrivateProfileColor(S_SCENE, K_DISTLINE, DstLnColor, m_MainWindow.GetIniFile())
|
|
CurrentProjectScene.SetDistLineMaterial(DstLnColor)
|
|
' imposto parametri OpenGL
|
|
Dim nDriver As Integer = GetPrivateProfileInt(S_OPENGL, K_DRIVER, 3, m_MainWindow.GetIniFile())
|
|
Dim b2Buff As Boolean = (GetPrivateProfileInt(S_OPENGL, K_DOUBLEBUFFER, 1, m_MainWindow.GetIniFile()) <> 0)
|
|
Dim nColorBits As Integer = GetPrivateProfileInt(S_OPENGL, K_COLORBITS, 32, m_MainWindow.GetIniFile())
|
|
Dim nDepthBits As Integer = GetPrivateProfileInt(S_OPENGL, K_DEPTHBITS, 32, m_MainWindow.GetIniFile())
|
|
CurrentProjectScene.SetViewAttributes(nDriver, b2Buff, nColorBits, nDepthBits)
|
|
' inizializzo la scena (DB geometrico + visualizzazione) e verifico presenza chiave
|
|
If Not CurrentProjectScene.Init() Then
|
|
Dim m_MissingKeyWindow As New MissingKeyWD
|
|
m_MissingKeyWindow.Top = m_MainWindow.Top + (m_MainWindow.Height / 2 - m_MissingKeyWindow.Height / 2)
|
|
m_MissingKeyWindow.Left = m_MainWindow.Left + (m_MainWindow.Width / 2 - m_MissingKeyWindow.Width / 2)
|
|
m_MainWindow.Close()
|
|
m_MissingKeyWindow.Show()
|
|
End If
|
|
' inizializzo gestore lavorazioni
|
|
EgtInitMachMgr(m_MainWindow.GetMachinesRootDir())
|
|
m_bFirst = False
|
|
' carico la macchina corrente
|
|
Dim sCurrMach As String = String.Empty
|
|
GetPrivateProfileString(S_MACH, K_CURRMACH, "", sCurrMach, m_MainWindow.GetIniFile())
|
|
EgtAddMachGroup("Mach01", sCurrMach)
|
|
' imposto la tavola corrente
|
|
EgtSetTable("MainTab")
|
|
Else
|
|
EgtSetCurrentContext(CurrentProjectScene.GetCtx())
|
|
End If
|
|
' inibisco selezione diretta da Scene
|
|
CurrentProjectScene.SetStatusNull()
|
|
|
|
'Imposto dati progetto
|
|
MaterialLbl.Content = m_MainWindow.m_MaterialsList(m_MainWindow.m_nCurrentMaterial).Name
|
|
HeightLbl.Content = m_dRawHeight
|
|
GetPrivateProfileString("Mach", "CurrSaw", "", ToolLbl.Content, m_MainWindow.GetIniFile)
|
|
|
|
|
|
End Sub
|
|
|
|
End Class
|