TestEIn 1.6i7 :
- controllo esistenza direttorio e file nel dialogo dei componenti - corretta visualizzazione coordinate mouse con grid perp. alla vista.
This commit is contained in:
@@ -85,11 +85,19 @@ Public Class Component
|
||||
GetPrivateProfileString(S_COMPO, K_COMPODIR, "", m_sCompoDir, Form1.GetIniFile())
|
||||
' recupero i file lua del direttorio e li inserisco nella lista dei componenti
|
||||
Dim DirInfo As New IO.DirectoryInfo(m_sCompoDir)
|
||||
If Not DirInfo.Exists Then
|
||||
EgtOutLog("Error : CompoDir does not exist")
|
||||
Return
|
||||
End If
|
||||
Dim vFi As IO.FileInfo() = DirInfo.GetFiles("*.lua")
|
||||
Dim Fi As IO.FileInfo
|
||||
For Each Fi In vFi
|
||||
ListBox1.Items.Add(IO.Path.GetFileNameWithoutExtension(Fi.Name))
|
||||
Next
|
||||
If ListBox1.Items.Count = 0 Then
|
||||
EgtOutLog("Error : CompoDir empty (missing lua files)")
|
||||
Return
|
||||
End If
|
||||
' Imposto selezione sul primo -> viene caricato il relativo componente
|
||||
ListBox1.SelectedIndex = 0
|
||||
End Sub
|
||||
|
||||
@@ -46,5 +46,5 @@ Imports System.Runtime.InteropServices
|
||||
' utilizzando l'asterisco (*) come descritto di seguito:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.6.9.6")>
|
||||
<Assembly: AssemblyFileVersion("1.6.9.6")>
|
||||
<Assembly: AssemblyVersion("1.6.9.7")>
|
||||
<Assembly: AssemblyFileVersion("1.6.9.7")>
|
||||
|
||||
@@ -690,32 +690,66 @@ Public Class Scene
|
||||
' ricavo il punto 3d da proiezione inversa
|
||||
Dim ptWorld As Point3d
|
||||
EgtUnProjectPoint(WinXY, ptWorld)
|
||||
'ricavo direzione di vista
|
||||
Dim nDir As Integer
|
||||
EgtGetView(nDir)
|
||||
'costruisco stringa con dati
|
||||
Dim sCursorPos As New System.Text.StringBuilder
|
||||
Select Case nDir
|
||||
Case VT.TOP, VT.BOTTOM
|
||||
sCursorPos.Append("X=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptWorld.x).ToString("F4", CultureInfo.InvariantCulture))
|
||||
sCursorPos.Append(" Y=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptWorld.y).ToString("F4", CultureInfo.InvariantCulture))
|
||||
Case VT.FRONT, VT.BACK
|
||||
sCursorPos.Append("X=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptWorld.x).ToString("F4", CultureInfo.InvariantCulture))
|
||||
sCursorPos.Append(" Z=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptWorld.z).ToString("F4", CultureInfo.InvariantCulture))
|
||||
Case VT.LEFT, VT.RIGHT
|
||||
sCursorPos.Append("Y=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptWorld.y).ToString("F4", CultureInfo.InvariantCulture))
|
||||
sCursorPos.Append(" Z=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptWorld.z).ToString("F4", CultureInfo.InvariantCulture))
|
||||
Case Else
|
||||
sCursorPos.Append(" ")
|
||||
End Select
|
||||
' visualizzazione stringa
|
||||
RaiseEvent OnCursorPos(Me, sCursorPos.ToString)
|
||||
' se coordinate globali
|
||||
If Not m_bGridCursorPos Then
|
||||
' ricavo direzione di vista
|
||||
Dim nDir As Integer
|
||||
EgtGetView(nDir)
|
||||
' costruisco stringa con dati
|
||||
Dim sCursorPos As New System.Text.StringBuilder
|
||||
Select Case nDir
|
||||
Case VT.TOP, VT.BOTTOM
|
||||
sCursorPos.Append("X=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptWorld.x).ToString("F4", CultureInfo.InvariantCulture))
|
||||
sCursorPos.Append(" Y=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptWorld.y).ToString("F4", CultureInfo.InvariantCulture))
|
||||
Case VT.FRONT, VT.BACK
|
||||
sCursorPos.Append("X=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptWorld.x).ToString("F4", CultureInfo.InvariantCulture))
|
||||
sCursorPos.Append(" Z=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptWorld.z).ToString("F4", CultureInfo.InvariantCulture))
|
||||
Case VT.LEFT, VT.RIGHT
|
||||
sCursorPos.Append("Y=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptWorld.y).ToString("F4", CultureInfo.InvariantCulture))
|
||||
sCursorPos.Append(" Z=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptWorld.z).ToString("F4", CultureInfo.InvariantCulture))
|
||||
Case Else
|
||||
sCursorPos.Append(" ")
|
||||
End Select
|
||||
' visualizzazione stringa
|
||||
RaiseEvent OnCursorPos(Me, sCursorPos.ToString)
|
||||
' altrimenti coordinate griglia
|
||||
Else
|
||||
' porto il punto nel riferimento griglia
|
||||
Dim ptGrid As Point3d = ptWorld.Loc(GDB_ID.GRID)
|
||||
' ricavo vettore direzione di vista e lo porto nel riferimento griglia
|
||||
Dim dAngVertDeg, dAngHorizDeg As Double
|
||||
EgtGetGenericView(dAngVertDeg, dAngHorizDeg)
|
||||
Dim vtView As Vector3d = Vector3d.FromSpherical(1, dAngVertDeg, dAngHorizDeg).Loc(GDB_ID.GRID)
|
||||
' costruisco stringa con dati
|
||||
' la direzione di vista sicuramente deve coincidere con uno dei tre assi della griglia
|
||||
Dim sCursorPos As New System.Text.StringBuilder
|
||||
If Math.Abs(vtView.x) < EPS_SMALL And Math.Abs(vtView.y) < EPS_SMALL Then
|
||||
sCursorPos.Append("X=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptGrid.x).ToString("F4", CultureInfo.InvariantCulture))
|
||||
sCursorPos.Append(" Y=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptGrid.y).ToString("F4", CultureInfo.InvariantCulture))
|
||||
ElseIf Math.Abs(vtView.x) < EPS_SMALL And Math.Abs(vtView.z) < EPS_SMALL Then
|
||||
sCursorPos.Append("X=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptGrid.x).ToString("F4", CultureInfo.InvariantCulture))
|
||||
sCursorPos.Append(" Z=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptGrid.z).ToString("F4", CultureInfo.InvariantCulture))
|
||||
ElseIf Math.Abs(vtView.y) < EPS_SMALL And Math.Abs(vtView.z) < EPS_SMALL Then
|
||||
sCursorPos.Append("Y=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptGrid.y).ToString("F4", CultureInfo.InvariantCulture))
|
||||
sCursorPos.Append(" Z=")
|
||||
sCursorPos.Append(EgtToUiUnits(ptGrid.z).ToString("F4", CultureInfo.InvariantCulture))
|
||||
Else
|
||||
sCursorPos.Append(" ")
|
||||
End If
|
||||
' visualizzazione stringa
|
||||
RaiseEvent OnCursorPos(Me, sCursorPos.ToString)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Reference in New Issue
Block a user