TestEIn 1.6c4 :
- gestione filtro selezione entità usato per selezione path e path auto.
This commit is contained in:
+10
-10
@@ -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
|
||||
|
||||
@@ -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")>
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user