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