Files
EgtDOORCreator/HardwareManager/HardwareHelpSceneHostV.xaml.vb
Nicola Pievani f914b3b40f EgtDOORCreator 1.9i1:
- è stata modificata la pagina HardwarePageV.xaml per funzionare con XP;
- è stata migliorata la gestione delle porte ad arco a seconda della configurazione.
2018-09-13 15:52:41 +00:00

109 lines
4.7 KiB
VB.net

Imports EgtUILib
Imports EgtWPFLib5
Imports System.IO
Public Class HardwareHelpSceneHostV
Sub New()
' This call is required by the designer.
InitializeComponent()
' Creo riferimento a questa classe in CompoWindowMap
Map.SetRefHardwareHelpSceneHostV(Me)
' Inizializzazione Scena
PreInitializeScene()
HardwareHelpScene.Init()
PostInitializeScene()
' Imposto stato gestione mouse diretto della scena a nessuno
HardwareHelpScene.SetStatusNull()
EgtSetCurrentContext(HardwareHelpScene.GetCtx)
EgtNewFile()
End Sub
Private Sub PreInitializeScene()
' imposto colore di default
Dim DefColor As New Color3d(0, 0, 0)
GetMainPrivateProfileColor(S_GEOMDB, K_DEFAULTCOLOR, DefColor)
HardwareHelpScene.SetDefaultMaterial(DefColor)
' imposto colori sfondo
Dim BackTopColor As New Color3d(192, 192, 192)
GetMainPrivateProfileColor(S_SCENE, K_BACKTOP, BackTopColor)
Dim BackBotColor As New Color3d(BackTopColor)
GetMainPrivateProfileColor(S_SCENE, K_BACKBOTTOM, BackBotColor)
HardwareHelpScene.SetViewBackground(BackTopColor, BackBotColor)
' imposto colore di evidenziazione
Dim MarkColor As New Color3d(255, 255, 0)
GetMainPrivateProfileColor(S_SCENE, K_MARK, MarkColor)
HardwareHelpScene.SetMarkMaterial(MarkColor)
' imposto colore per superfici selezionate
Dim SelSurfColor As New Color3d(255, 255, 192)
GetMainPrivateProfileColor(S_SCENE, K_SELSURF, SelSurfColor)
HardwareHelpScene.SetSelSurfMaterial(SelSurfColor)
' imposto tipo e colore del rettangolo di zoom
Dim bOutline As Boolean = True
Dim ZwColor As New Color3d(0, 0, 0)
GetMainPrivateProfileZoomWin(S_SCENE, K_ZOOMWIN, bOutline, ZwColor)
HardwareHelpScene.SetZoomWinAttribs(bOutline, ZwColor)
' imposto colore della linea di distanza
Dim DstLnColor As New Color3d(255, 0, 0)
GetMainPrivateProfileColor(S_SCENE, K_DISTLINE, DstLnColor)
HardwareHelpScene.SetDistLineMaterial(DstLnColor)
' imposto parametri OpenGL
Dim nDriver As Integer = GetMainPrivateProfileInt(S_OPENGL, K_DRIVER, 3)
Dim b2Buff As Boolean = (GetMainPrivateProfileInt(S_OPENGL, K_DOUBLEBUFFER, 1) <> 0)
Dim nColorBits As Integer = GetMainPrivateProfileInt(S_OPENGL, K_COLORBITS, 32)
Dim nDepthBits As Integer = GetMainPrivateProfileInt(S_OPENGL, K_DEPTHBITS, 32)
HardwareHelpScene.SetViewAttributes(nDriver, b2Buff, nColorBits, nDepthBits)
End Sub
Private Sub PostInitializeScene()
' imposto tipo coordinate
HardwareHelpScene.SetGridCursorPos(True)
' modo di visualizzazione
Dim nShowMode As Integer = GetMainPrivateProfileInt(S_SCENE, K_SHOWMODE, SM.HIDDENLINE)
EgtSetShowMode(DirectCast(nShowMode, SM))
End Sub
'Private Sub OnMouseDownScene() Handles HardwareHelpScene.OnMouseDownScene
' EgtSetCurrentContext(Map.refSceneManagerVM.ProjectScene.GetCtx())
'End Sub
Friend Sub LoadHelpProject()
EgtSetCurrentContext(HardwareHelpScene.GetCtx())
Dim FileName As String = Map.refHardwarePageVM.CurrHardware.HardwareGeneral.Path & "\" & Map.refHardwarePageVM.CurrHardware.SelType.Name & NHE_EXTENSION
If String.IsNullOrWhiteSpace(FileName) OrElse Not File.Exists(FileName) Then
EgtNewFile()
Else
EgtOpenFile(FileName)
EgtSetView(VT.ISO_NE, False)
EgtZoom(ZM.ALL, True)
End If
EgtSetCurrentContext(Map.refSceneManagerVM.ProjectScene.GetCtx())
End Sub
Friend Sub CleanHelpProject()
EgtSetCurrentContext(HardwareHelpScene.GetCtx())
EgtNewFile()
EgtSetCurrentContext(Map.refSceneManagerVM.ProjectScene.GetCtx())
End Sub
Friend Sub ShowHideParam(Param As CompoParam)
EgtSetCurrentContext(HardwareHelpScene.GetCtx())
Dim FirstPart As Integer = EgtGetFirstPart()
If FirstPart = GDB_ID.NULL Then
EgtSetCurrentContext(Map.refSceneManagerVM.ProjectScene.GetCtx())
Return
End If
For Each Compo In Map.refHardwarePageVM.CurrHardware.GroupChapters
For Each CurrParam In Compo.CompoParamList
If Not IsNothing(CurrParam.LayerName) Then
EgtSetStatus(EgtGetFirstNameInGroup(FirstPart, CurrParam.LayerName), If(CurrParam.LayerName = Param.LayerName, GDB_ST.ON_, GDB_ST.OFF))
End If
'EgtSetStatus(EgtGetFirstNameInGroup(FirstPart, CurrParam.DDFName), If(CurrParam.DDFName = Param.DDFName, GDB_ST.ON_, GDB_ST.OFF))
Next
Next
EgtDraw()
EgtSetCurrentContext(Map.refSceneManagerVM.ProjectScene.GetCtx())
End Sub
End Class