TestEIn 1.6c4 :

- gestione filtro selezione entità usato per selezione path e path auto.
This commit is contained in:
Dario Sassi
2015-03-18 13:58:29 +00:00
parent 756021ca09
commit 2183c972c3
3 changed files with 28 additions and 13 deletions
+10 -10
View File
@@ -1875,11 +1875,8 @@ Public Function EgtSelect(ByVal Curr As Point, ByVal nSelW As Integer, ByVal nSe
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Function EgtGetFirstObjInSelWin() As Integer
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Function EgtGetNextObjInSelWin() As Integer
Public Function EgtSetObjFilterForSelect(ByVal bZeroDim As Boolean, ByVal bCurve As Boolean,
ByVal bSurf As Boolean, ByVal bVolume As Boolean, ByVal bExtra As Boolean) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
@@ -1894,6 +1891,14 @@ End Function
Public Function EgtUnselectableClearAll() As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Function EgtGetFirstObjInSelWin() As Integer
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Function EgtGetNextObjInSelWin() As Integer
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Private Function EgtGetPointFromSelect(ByVal nSelId As Integer, ByVal nWinX As Integer, ByVal nWinY As Integer,
ByRef ptP As Point3d, ByRef nAux As Integer) As Boolean
@@ -1932,11 +1937,6 @@ End Function
Public Function EgtGetLastSnapDir(ByRef VtDir As Vector3d) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Function EgtSetObjFilterForSnap(ByVal bZeroDim As Boolean, ByVal bCurve As Boolean,
ByVal bSurf As Boolean, ByVal bVolume As Boolean, ByVal bExtra As Boolean) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Function EgtSetShowMode(ByVal nShowMode As SM, Optional ByVal bRedraw As Boolean = True) As Boolean
End Function
+2 -2
View File
@@ -46,5 +46,5 @@ Imports System.Runtime.InteropServices
' utilizzando l'asterisco (*) come descritto di seguito:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.6.3.3")>
<Assembly: AssemblyFileVersion("1.6.3.3")>
<Assembly: AssemblyVersion("1.6.3.4")>
<Assembly: AssemblyFileVersion("1.6.3.4")>
+16 -1
View File
@@ -228,6 +228,12 @@ Public Class Scene
Else
Cursor = New Cursor(Me.GetType(), "Analyze.cur")
End If
' per selezione percorso abilito solo le curve
If m_nStatus = ST.SELPATH Or m_nStatus = ST.SELPATHAUTO Then
EgtSetObjFilterForSelect(False, True, False, False, False)
Else
EgtSetObjFilterForSelect(True, True, True, True, True)
End If
Dim nId As Integer = GDB_ID.NULL
Dim nSel As Integer
EgtSelect(e.Location, DIM_SEL, DIM_SEL, nSel)
@@ -272,6 +278,9 @@ Public Class Scene
End If
' se stato misura di distanza (primo punto)
ElseIf m_nStatus = ST.GETDIST Then
If m_bExcludeSurfForSnap Then
EgtSetObjFilterForSelect(True, True, False, True, True)
End If
If EgtGetGraphicSnapPoint(m_nSnapType, e.Location, DIM_SEL, DIM_SEL, m_ptPrev) Then
' salvo il punto di riferimento
Dim ptWin As Point3d
@@ -281,6 +290,9 @@ Public Class Scene
End If
' se stato misura di distanza (secondo punto)
ElseIf m_nStatus = ST.GETDIST2 Then
If m_bExcludeSurfForSnap Then
EgtSetObjFilterForSelect(True, True, False, True, True)
End If
Dim ptSel As Point3d
If EgtGetGraphicSnapPoint(m_nSnapType, e.Location, DIM_SEL, DIM_SEL, ptSel) Then
' disegno la linea (coordinate geo globali)
@@ -306,6 +318,9 @@ Public Class Scene
End If
' se stato selezione punto
ElseIf m_nStatus = ST.SELPOINT Then
If m_bExcludeSurfForSnap Then
EgtSetObjFilterForSelect(True, True, False, True, True)
End If
If Not m_bDragOn Then
' rendo selezionabile gruppo di drag
If Not m_bDragSelectable Then
@@ -874,7 +889,6 @@ Public Class Scene
' esclusione superfici da punto snap
ElseIf e.ClickedItem.Name = "cmdExcludeSurfForSnap" Then
m_bExcludeSurfForSnap = Not m_bExcludeSurfForSnap
EgtSetObjFilterForSnap(True, True, Not m_bExcludeSurfForSnap, True, True)
' Sospensione drag
ElseIf e.ClickedItem.Name = "cmdStopDrag" Then
m_bDragOn = False
@@ -1007,6 +1021,7 @@ Public Class Scene
EgtResetGeoTria(False)
EgtResetWinRect(False)
' reset entità non selezionabili
EgtSetObjFilterForSelect(True, True, True, True, True)
EgtUnselectableClearAll()
' imposto lo stato
m_nStatus = ST.SEL