TestEIn 1.6d8 :

- aggiunta esplodi superfici
- corretto piccolo problema di visualizzazione in Rotate3d
- migliorate info in About.
This commit is contained in:
Dario Sassi
2015-04-27 08:29:21 +00:00
parent 2a49060127
commit f767cdfa3a
8 changed files with 151 additions and 41 deletions
+31 -1
View File
@@ -93,6 +93,7 @@ Public Class Controller
SCREW
RULED
MERGESURF
EXPLODESURF
INVERTSURF
DELETE
CHANGELAYER
@@ -973,6 +974,9 @@ Public Class Controller
' Merge Surfaces
Case CMD.MERGESURF
Return ProcessMergeSurf()
' Explode Surfaces
Case CMD.EXPLODESURF
Return ProcessExplodeSurf()
' Invert Surface
Case CMD.INVERTSURF
Return ProcessInvertSurf()
@@ -3517,6 +3521,31 @@ Public Class Controller
Return True
End Function
Private Function ProcessExplodeSurf() As Boolean
If m_nStep <> 0 Then
Return False
End If
' opero su tutti gli oggetti selezionati
EnableCommandLog()
Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL
' recupero il successivo, perchè il corrente verrà cancellato
Dim nNextId = EgtGetNextSelectedObj()
' eseguo esplosione
Dim nCount As Integer
Dim nFirstId As Integer = EgtExplodeSurfTm(nId, nCount)
' passo al successivo
nId = nNextId
End While
DisableCommandLog()
' reset stato scena
m_Scene.ResetStatus()
' reset stato
m_nStep = 0
RaiseEvent UpdateUI(Me, True)
Return True
End Function
Private Function ProcessInvertSurf() As Boolean
If m_nStep <> 0 Then
Return False
@@ -3897,7 +3926,7 @@ Public Class Controller
Dim nFirstId As Integer = EgtExplodeCurveCompo(nId, nCount)
Case GDB_TY.CRV_BEZ
' approssimo la curva di Bezier con archi
Dim nNewId As Integer = EgtExplodeCurveBezier(nId, True, 10 * EPS_SMALL)
Dim nNewId As Integer = EgtApproxCurveBezier(nId, True, 10 * EPS_SMALL)
Case GDB_TY.EXT_TEXT
' esplodo il testo nei suoi contorni
Dim nCount As Integer
@@ -4246,6 +4275,7 @@ Public Class Controller
EgtSetGeoLine(m_ptP1, m_ptLast)
EgtDraw()
ElseIf m_nStep = 3 Then
EgtResetGeoLine(False)
EgtSetGeoTria(m_ptP1, m_ptP2, m_ptLast)
EgtDraw()
ElseIf m_nStep = 4 Then