Files
egtstone3d/Rotate/RotateVM.vb
T
2025-01-07 15:55:05 +01:00

80 lines
2.3 KiB
VB.net

Imports EgtUILib
Imports EgtWPFLib5
Public Class RotateVM
Inherits VMBase
#Region "FIELDS & PROPERTIES"
#Region "Messages"
Public ReadOnly Property Conferma_Msg As String
Get
Return EgtMsg(110003)
End Get
End Property
Public ReadOnly Property Annulla_Msg As String
Get
Return EgtMsg(110004)
End Get
End Property
Public ReadOnly Property TopBar_Msg As String
Get
Return EgtMsg(110005)
End Get
End Property
Public ReadOnly Property Testo_Msg As String
Get
Return EgtMsg(110006)
End Get
End Property
#End Region ' Messages
#End Region ' Fields & Properties
#Region "METHODS"
Public Sub Conferma(RotateView As RotateV)
Map.refSceneButtonV.RemoveRotateUC(RotateView)
SolidManagerM.ResetOperationMarks(Map.refSceneHostV.m_nIdPart)
EgtDraw()
DirectCast(DirectCast(Map.refSceneButtonV.DataContext, SceneButtonVM).GetButton(EGT_ROTATE), _ToggleButton).IsChecked = False
End Sub
Public Sub Annulla(RotateView As RotateV)
Map.refSceneButtonV.RemoveRotateUC(RotateView)
SolidManagerM.ResetOperationMarks(Map.refSceneHostV.m_nIdPart)
EgtDraw()
DirectCast(DirectCast(Map.refSceneButtonV.DataContext, SceneButtonVM).GetButton(EGT_ROTATE), _ToggleButton).IsChecked = False
End Sub
Public Sub AngText_Changed()
If Not DirectCast(DirectCast(Map.refSceneButtonV.DataContext, SceneButtonVM).GetButton(EGT_ROTATE), _ToggleButton).IsChecked Then Return
Dim nId As Integer = Map.refSceneHostV.m_nIdPart
If nId = GDB_ID.NULL Then Return
Dim sAng As String = Map.refSceneButtonV.m_RotateUC.RotInputData.Text
If String.IsNullOrEmpty(sAng) Then Return
If Not IsNumeric(sAng) Then Return
Dim dAng As Double = CDbl(sAng)
If Map.refSceneHostV.m_dAngRot <> 0 Then
ResetRotation(False, False)
End If
Dim PartSolidIdSel = SolidManagerM.GetPartSolid(nId)
Dim vtDir As Vector3d
Dim ptStart As Point3d
If PartSolidIdSel.nIdLineAxisRotate = GDB_ID.NULL Then Return
EgtStartPoint(PartSolidIdSel.nIdLineAxisRotate, GDB_ID.ROOT, ptStart)
EgtStartVector(PartSolidIdSel.nIdLineAxisRotate, GDB_ID.ROOT, vtDir)
SolidManagerM.Rotate(nId, ptStart, vtDir, dAng)
Map.refSceneHostV.m_dAngRot = dAng
End Sub
#End Region ' Methods
End Class