EgtUILib :

- correzione a EgtCreateCurveBezier con coefficienti quando distanza tra estremi nulla.
This commit is contained in:
Dario Sassi
2025-07-22 10:39:44 +02:00
parent 3d6b9178d5
commit c838f991a5
2 changed files with 5 additions and 4 deletions
+4 -4
View File
@@ -3952,8 +3952,8 @@ Public Class Controller
' reset scena
m_Scene.ResetStatus(False)
' creo il biarco (i punti sono in globale)
m_d3Last(0) = Math.Max( Math.Min( m_d3Last(0), 10), 0.1)
m_d3Last(1) = Math.Max( Math.Min( m_d3Last(1), 10), 0.1)
m_d3Last(0) = Math.Max( Math.Min( m_d3Last(0), 100), 0.01)
m_d3Last(1) = Math.Max( Math.Min( m_d3Last(1), 100), 0.01)
EnableCommandLog()
EgtCreateCurveBezier( GetCurrLayer(), m_ptP2.Loc(GDB_ID.GRID), m_ptP1.Loc(GDB_ID.GRID), m_dPrev, m_dAux, m_d3Last(0), m_d3Last(1), GDB_RT.GRID)
DisableCommandLog()
@@ -3988,8 +3988,8 @@ Public Class Controller
ElseIf m_nStep = 5 Then
' durante la creazione di oggetti il gruppo di Drag ha riferimento globale
EgtEmptyGroup( m_Scene.GetDragGroup())
m_d3Last(0) = Math.Max( Math.Min( m_d3Last(0), 10), 0.1)
m_d3Last(1) = Math.Max( Math.Min( m_d3Last(1), 10), 0.1)
m_d3Last(0) = Math.Max( Math.Min( m_d3Last(0), 100), 0.01)
m_d3Last(1) = Math.Max( Math.Min( m_d3Last(1), 100), 0.01)
EgtCreateCurveBezier( m_Scene.GetDragGroup(), m_ptP2.Loc(GDB_ID.GRID), m_ptP1.Loc(GDB_ID.GRID), m_dPrev, m_dAux, m_d3Last(0), m_d3Last(1), GDB_RT.GRID)
EgtDraw()
End If
+1
View File
@@ -3629,6 +3629,7 @@ Public Function EgtCreateCurveBezier(nParentId As Integer, ptIni As Point3d, ptF
dDirIni As Double, dDirFin As Double, dCoeffIni As Double, dCoeffFin As Double,
Optional nRefType As GDB_RT = GDB_RT.LOC) As Integer
Dim dLen As Double = Point3d.Dist( ptIni, ptFin)
dLen = Math.Max( dLen, 10)
Dim ptCtrls( 3) As Point3d
ptCtrls(0) = ptIni
ptCtrls(1) = ptIni + Vector3d.FromPolar( dLen * dCoeffIni, dDirIni)