TestEIn 1.6d6 :

- migliorie a gestioni pnti notevoli Tg, Perp e MinDist.
This commit is contained in:
Dario Sassi
2015-04-23 12:22:15 +00:00
parent be6ed69099
commit 298c4d12eb
4 changed files with 44 additions and 37 deletions
+6
View File
@@ -826,6 +826,12 @@ Public Class Controller
If m_nStep <> 0 Then
Return False
End If
' se non è linea 2P reset punti speciali (tg, perp e mindist)
If (nCmd <> CMD.LINE2P) Then
m_Scene.DisableTangentPoint()
m_Scene.DisablePerpendicularPoint()
m_Scene.DisableMinDistPoint()
End If
' salvo ed eseguo il comando
m_nLastCmd = nCmd
Return ProcessStatus()
+6 -1
View File
@@ -1609,7 +1609,12 @@ Public Class Form1
tsStatusOutput.Text = sText
End Sub
Private Sub ToolStripStatusSnapPointType_Changed(ByVal sender As Object, ByVal nSpType As SP) Handles Scene1.OnChangedSnapPointType
Private Sub ToolStripStatusSnapPointType_Changed(ByVal sender As Object, ByVal nSpType As SP, ByVal bUser As Boolean) Handles Scene1.OnChangedSnapPointType
If bUser Then
tsStatusSnapPointType.BackColor = SystemColors.Control
Else
tsStatusSnapPointType.BackColor = Color.Bisque
End If
Select Case nSpType
Case SP.PT_SKETCH
tsStatusSnapPointType.Text = EgtMsg(1102) 'Sketch Point
+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.4.5")>
<Assembly: AssemblyFileVersion("1.6.4.5")>
<Assembly: AssemblyVersion("1.6.4.6")>
<Assembly: AssemblyFileVersion("1.6.4.6")>
+30 -34
View File
@@ -147,7 +147,7 @@ Public Class Scene
EgtSetGeoLineAttribs(m_DstLnColor)
EgtSetGeoTriaAttribs(m_DstLnColor)
EgtInitTscExec()
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
End Sub
Public Function GetCtx() As Integer
@@ -205,7 +205,7 @@ Public Class Scene
Public Event OnMouseSelectedPoint(ByVal sender As Object, ByVal PtP As Point3d, ByVal nSep As SEP, ByVal nId As Integer)
Public Event OnMouseSelectedDir(ByVal sender As Object, ByVal VtDir As Vector3d)
Public Event OnMouseMoveSelPoint(ByVal sender As Object, ByVal PtP As Point3d)
Public Event OnChangedSnapPointType(ByVal sender As Object, ByVal nSpType As SP)
Public Event OnChangedSnapPointType(ByVal sender As Object, ByVal nSpType As SP, ByVal bForced As Boolean)
'---- Mouse -----------
' Per correggere un problema con hot spot cursore, nei file cur è stato spostato di 4 pixel in Y+ (in basso)
@@ -697,24 +697,24 @@ Public Class Scene
Public Sub DisableTangentPoint()
m_bTangentPointOn = False
If m_nSnapType = SP.PT_TANGENT Then
m_nSnapType = SP.PT_NEAR
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
m_nSnapType = SP.PT_GRID
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, False)
End If
End Sub
Public Sub DisablePerpendicularPoint()
m_bPerpendicularPointOn = False
If m_nSnapType = SP.PT_PERPENDICULAR Then
m_nSnapType = SP.PT_NEAR
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
m_nSnapType = SP.PT_GRID
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, False)
End If
End Sub
Public Sub DisableMinDistPoint()
m_bMinDistPointOn = False
If m_nSnapType = SP.PT_MINDIST Then
m_nSnapType = SP.PT_NEAR
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
m_nSnapType = SP.PT_GRID
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, False)
End If
End Sub
@@ -869,37 +869,37 @@ Public Class Scene
' Scelta tipo punto snap
ElseIf e.ClickedItem.Name = "cmdSketchPoint" Then
m_nSnapType = SP.PT_SKETCH
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
ElseIf e.ClickedItem.Name = "cmdGridPoint" Then
m_nSnapType = SP.PT_GRID
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
ElseIf e.ClickedItem.Name = "cmdEndPoint" Then
m_nSnapType = SP.PT_END
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
ElseIf e.ClickedItem.Name = "cmdMidPoint" Then
m_nSnapType = SP.PT_MID
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
ElseIf e.ClickedItem.Name = "cmdCenterPoint" Then
m_nSnapType = SP.CENTER
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
ElseIf e.ClickedItem.Name = "cmdCentroid" Then
m_nSnapType = SP.CENTROID
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
ElseIf e.ClickedItem.Name = "cmdNearPoint" Then
m_nSnapType = SP.PT_NEAR
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
ElseIf e.ClickedItem.Name = "cmdIntersectionPoint" Then
m_nSnapType = SP.PT_INTERS
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
ElseIf e.ClickedItem.Name = "cmdTangentPoint" Then
m_nSnapType = SP.PT_TANGENT
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
ElseIf e.ClickedItem.Name = "cmdPerpendicularPoint" Then
m_nSnapType = SP.PT_PERPENDICULAR
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
ElseIf e.ClickedItem.Name = "cmdMinDistPoint" Then
m_nSnapType = SP.PT_MINDIST
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
' esclusione superfici da punto snap
ElseIf e.ClickedItem.Name = "cmdExcludeSurfForSnap" Then
m_bAlsoSurfForSnap = Not m_bAlsoSurfForSnap
@@ -916,52 +916,52 @@ Public Class Scene
' Con 'S' imposto Punto Sketch
If e.KeyData = Keys.S Then
m_nSnapType = SP.PT_SKETCH
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
' Con 'G' imposto Punto Griglia
ElseIf e.KeyData = Keys.G Then
m_nSnapType = SP.PT_GRID
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
' Con 'E' imposto Punto Finale
ElseIf e.KeyData = Keys.E Then
m_nSnapType = SP.PT_END
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
' Con 'M' imposto Punto Medio
ElseIf e.KeyData = Keys.M Then
m_nSnapType = SP.PT_MID
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
' Con 'C' imposto Centro
ElseIf e.KeyData = Keys.C Then
m_nSnapType = SP.CENTER
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
' Con 'B' imposto Baricentro
ElseIf e.KeyData = Keys.B Then
m_nSnapType = SP.CENTROID
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
' Con 'N' imposto Punto Vicino
ElseIf e.KeyData = Keys.N Then
m_nSnapType = SP.PT_NEAR
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
' Con 'I' imposto Punto Intersezione
ElseIf e.KeyData = Keys.I Then
m_nSnapType = SP.PT_INTERS
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
' Con 'T' imposto Punto Tangente
ElseIf e.KeyData = Keys.T Then
If m_bTangentPointOn Then
m_nSnapType = SP.PT_TANGENT
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
End If
' Con 'P' imposto Punto Perpendicolare
ElseIf e.KeyData = Keys.P Then
If m_bPerpendicularPointOn Then
m_nSnapType = SP.PT_PERPENDICULAR
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
End If
' Con 'D' imposto Punto Minima Distanza
ElseIf e.KeyData = Keys.D Then
If m_bMinDistPointOn Then
m_nSnapType = SP.PT_MINDIST
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType, True)
End If
End If
End If
@@ -1041,10 +1041,6 @@ Public Class Scene
' imposto lo stato
m_nStatus = ST.SEL
m_nOldStatus = ST.SEL
' disabilito scelta punto tangente, perpendicolare e minima distanza
DisableTangentPoint()
DisablePerpendicularPoint()
DisableMinDistPoint()
' abilito drag
m_bDragOn = True
' aggiorno visualizzazione