Files
egtbeamwall/EgtBEAMWALL.Core/BTLPart.vb
T
Samuele E. Locatelli f812ff66c2 initial commit
2021-03-04 19:48:48 +01:00

236 lines
5.1 KiB
VB.net

Imports System.Collections.ObjectModel
Public Class BTLPart
Inherits VMBase
' Feature a cui appartiene il parametro
Protected m_ParentStructure As BTLStructure
Public ReadOnly Property ParentStructure As BTLStructure
Get
Return m_ParentStructure
End Get
End Property
' Id geometrico del pezzo
Protected m_nPartId As Integer
Public ReadOnly Property nPartId As Integer
Get
Return m_nPartId
End Get
End Property
Public WriteOnly Property SetPartId As Integer
Set(value As Integer)
m_nPartId = value
End Set
End Property
' Info del pezzo
Protected m_nPDN As Integer
Public Property nPDN As Integer
Get
Return m_nPDN
End Get
Set(value As Integer)
m_nPDN = value
End Set
End Property
Protected m_bDO As Boolean
Public Overridable Property bDO As Boolean
Get
Return m_bDO
End Get
Set(value As Boolean)
m_bDO = value
End Set
End Property
Protected m_sNAM As String
Public Overridable Property sNAM As String
Get
Return m_sNAM
End Get
Set(value As String)
m_sNAM = value
End Set
End Property
Protected m_dL As Double
Public Property dL As Double
Get
Return m_dL
End Get
Set(value As Double)
m_dL = value
End Set
End Property
Protected m_dW As Double
Public Property dW As Double
Get
Return m_dW
End Get
Set(value As Double)
m_dW = value
End Set
End Property
Protected m_dH As Double
Public Property dH As Double
Get
Return m_dH
End Get
Set(value As Double)
m_dH = value
End Set
End Property
Protected m_sMATERIAL As String
Public Overridable Property sMATERIAL As String
Get
Return m_sMATERIAL
End Get
Set(value As String)
m_sMATERIAL = value
End Set
End Property
Protected m_nCNT As Integer
Public Property nCNT As Integer
Get
Return m_nCNT
End Get
Set(value As Integer)
m_nCNT = value
End Set
End Property
Protected m_nTBP As Integer
Public Property nTBP As Integer
Get
Return m_nTBP
End Get
Set(value As Integer)
m_nTBP = value
End Set
End Property
Protected m_nDON As Integer
Public Property nDON As Integer
Get
Return m_nDON
End Get
Set(value As Integer)
m_nDON = value
End Set
End Property
Protected m_nROT As Integer
Public Property nROT As Integer
Get
Return m_nROT
End Get
Set(value As Integer)
m_nROT = value
End Set
End Property
Protected m_sGRP As String
Public Property sGRP As String
Get
Return m_sGRP
End Get
Set(value As String)
m_sGRP = value
End Set
End Property
Protected m_nUNT As Integer
Public Property nUNT As Integer
Get
Return m_nUNT
End Get
Set(value As Integer)
m_nUNT = value
End Set
End Property
Protected m_nGlobalState As CalcStates = -1
Protected m_nState As CalcStates = -1
Public Property nState As CalcStates
Get
Return m_nState
End Get
Set(value As CalcStates)
m_nState = value
End Set
End Property
Protected m_nCALC_ROT As Integer
Public Property nCALC_ROT As Integer
Get
Return m_nCALC_ROT
End Get
Set(value As Integer)
m_nCALC_ROT = value
End Set
End Property
Protected m_nCALC_TIME As Integer
Public Property nCALC_TIME As Integer
Get
Return m_nCALC_TIME
End Get
Set(value As Integer)
m_nCALC_TIME = value
End Set
End Property
' lista delle feature del pezzo
Protected m_FeatureList As ObservableCollection(Of BTLFeature)
Public Property FeatureList As ObservableCollection(Of BTLFeature)
Get
Return m_FeatureList
End Get
Set(value As ObservableCollection(Of BTLFeature))
m_FeatureList = value
End Set
End Property
Protected m_SelFeature As BTLFeature
Public Overridable Property SelFeature As BTLFeature
Get
Return m_SelFeature
End Get
Set(value As BTLFeature)
m_SelFeature = value
End Set
End Property
Public ReadOnly Property Section As SectionXMaterial
Get
Return New SectionXMaterial(m_dW, m_dH, m_dL, m_sMATERIAL)
End Get
End Property
#Region "CONSTRUCTOR"
Sub New(ParentStructure As BTLStructure, nPartId As Integer)
m_ParentStructure = ParentStructure
Me.SetPartId = nPartId
m_FeatureList = New ObservableCollection(Of BTLFeature)
End Sub
#End Region ' CONSTRUCTOR
Public Function NewProcId() As Integer
Dim nMaxProcId As Integer = 0
If Not IsNothing(Me.FeatureList) AndAlso Me.FeatureList.Count > 0 Then
nMaxProcId = Me.FeatureList.Max(Function(x) x.nPRID)
End If
Return nMaxProcId + 1
End Function
End Class