Files
OmagCUT/SimulationPageUC.xaml.vb
T
Dario Sassi 83f328bb56 OmagCUT 1.6i8 :
- modifiche varie per foto, grezzo, simulazione, ...
2015-10-01 19:55:21 +00:00

102 lines
3.8 KiB
VB.net

Imports EgtUILib
Public Class SimulationPageUC
Dim m_MainWindow As MainWindow = Application.Current.MainWindow
Dim m_CurrProjPage As CurrentProjectPageUC
' Dichiarazione delle Page UserControl
Friend m_SceneButtons As SceneButtonsUC
' Dichiarazione flag PlayPauseBtn
Private m_bPlay As Boolean = False
' Flag di progetto da caricare prima di simulare
Private m_bToReload As Boolean = False
Private Sub SimulationPage_Initialized(sender As Object, e As EventArgs)
'Creazione del UserCOntrol SceneButtons
m_SceneButtons = New SceneButtonsUC
'Posizionemento nella griglia del UserControl SceneButtons
m_SceneButtons.SetValue(Grid.ColumnProperty, 1)
UpperButtonGrid.Children.Add(m_SceneButtons)
PlayPauseImage.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/Play.png", UriKind.Relative))
End Sub
Private Sub SimulationPage_Loaded(sender As Object, e As RoutedEventArgs)
m_CurrProjPage = m_MainWindow.m_CurrentProjectPageUC
' Salvo il progetto corrente
SaveProject()
' Nascondo eventuali pezzi in parcheggio
HideParkedParts()
' Visualizzo tutta la macchina
EgtShowOnlyTable(False)
' Imposto vista 3d isometrica di tutto
EgtSetView(VT.ISO_SE, False)
EgtZoom(ZM.ALL)
End Sub
Private Sub PlayPauseBtn_Click(sender As Object, e As RoutedEventArgs) Handles PlayPauseBtn.Click
If m_bPlay Then
' Metto in pausa
m_bPlay = False
PlayPauseImage.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/Play.png", UriKind.Relative))
Else
' Ricarico il progetto, se necessario
If ReloadProject() Then
HideParkedParts()
EgtShowOnlyTable(False)
EgtDraw()
End If
' Metto in play
m_bPlay = True
PlayPauseImage.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/Pause.png", UriKind.Relative))
' Eseguo
m_bToReload = True
EgtLuaExecFile("C:\EgtData\OmagCut\Config\Simulate.lua")
' Metto in pausa
m_bPlay = False
PlayPauseImage.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/Play.png", UriKind.Relative))
End If
End Sub
Private Sub ExitBtnUC_Click(sender As Object, e As RoutedEventArgs)
' Ricarico il progetto corrente
ReloadProject()
' Ripristino visualizzazione di eventuali pezzi in parcheggio
ShowParkedParts()
' Ripristino visualizzazione della sola tavola
EgtShowOnlyTable(True)
' Imposto vista 2D
EgtSetView(VT.TOP, False)
EgtZoom(ZM.ALL)
' Esco dalla pagina
m_MainWindow.m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(Me)
m_CurrProjPage.CurrProjGrid.Visibility = Windows.Visibility.Visible
m_MainWindow.m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_MainWindow.m_CadCutPageUC)
m_MainWindow.m_ActivePage = MainWindow.Pages.CadCut
End Sub
Private Sub SaveProject()
Dim sPath As String = m_MainWindow.GetTempDir() & "\" & "SimuProj.nge"
m_CurrProjPage.SaveProject(sPath)
m_bToReload = False
End Sub
Private Function ReloadProject() As Boolean
If Not m_bToReload Then
Return False
End If
' Ricarico
Dim sPath As String = m_MainWindow.GetTempDir() & "\" & "SimuProj.nge"
m_CurrProjPage.LoadProject(sPath)
m_bToReload = False
Return True
End Function
End Class