111 lines
3.5 KiB
VB.net
111 lines
3.5 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports System.IO
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Public Class WallM
|
|
Inherits PartM
|
|
|
|
Protected m_dPOSY As Double
|
|
Public Property dPOSY As Double
|
|
Get
|
|
Return m_dPOSY
|
|
End Get
|
|
Set(value As Double)
|
|
m_dPOSY = value
|
|
End Set
|
|
End Property
|
|
|
|
Protected m_dROT As Double
|
|
Public Property dROT As Double
|
|
Get
|
|
Return m_dROT
|
|
End Get
|
|
Set(value As Double)
|
|
m_dROT = value
|
|
End Set
|
|
End Property
|
|
|
|
Protected m_bFLIP As Boolean
|
|
Public Property bFLIP As Boolean
|
|
Get
|
|
Return m_bFLIP
|
|
End Get
|
|
Set(value As Boolean)
|
|
m_bFLIP = value
|
|
End Set
|
|
End Property
|
|
|
|
#Region "CONSTRUCTOR"
|
|
|
|
Protected Sub New(nParentMachGroup As MyMachGroupM, nPartId As Integer)
|
|
MyBase.New(nParentMachGroup, nPartId)
|
|
End Sub
|
|
|
|
Public Shared Function CreateWall(nParentMachGroup As MyMachGroupM, nPartId As Integer, nRawPartId As Integer) As WallM
|
|
Dim NewWallM As New WallM(nParentMachGroup, nPartId)
|
|
' leggo info pezzo
|
|
EgtGetInfo(nPartId, BTL_PRT_PROJ, NewWallM.m_nProjId)
|
|
EgtGetInfo(nPartId, BTL_PRT_PDN, NewWallM.m_nPDN)
|
|
EgtGetInfo(nPartId, BTL_PRT_NAM, NewWallM.m_sNAM)
|
|
EgtGetInfo(nPartId, BTL_PRT_L, NewWallM.m_dBtlL)
|
|
EgtGetInfo(nPartId, BTL_PRT_W, NewWallM.m_dBtlW)
|
|
EgtGetInfo(nPartId, BTL_PRT_H, NewWallM.m_dBtlH)
|
|
EgtGetInfo(nPartId, BTL_PRT_CNT, NewWallM.m_nCNT)
|
|
Dim nTemp As Integer = 0
|
|
If Not EgtGetInfo(nPartId, BTL_PRT_ROTATED, nTemp) Then
|
|
nTemp = 0
|
|
End If
|
|
NewWallM.SetRotated(nTemp)
|
|
If Not EgtGetInfo(nPartId, BTL_PRT_INVERTED, nTemp) Then
|
|
nTemp = 0
|
|
End If
|
|
NewWallM.SetInverted(nTemp)
|
|
' leggo PosX, PosY, Rot e Flip
|
|
EgtGetInfo(nPartId, MGR_PRT_POSX, NewWallM.m_dPOSX)
|
|
EgtGetInfo(nPartId, MGR_PRT_POSY, NewWallM.m_dPOSY)
|
|
EgtGetInfo(nPartId, MGR_PRT_ROT, NewWallM.m_dROT)
|
|
EgtGetInfo(nPartId, MGR_PRT_FLIP, NewWallM.m_bFLIP)
|
|
' leggo feature
|
|
NewWallM.m_FeatureMList = LoadBTLFeatures(nPartId)
|
|
ReadMachGroupData(NewWallM)
|
|
Return NewWallM
|
|
End Function
|
|
|
|
#End Region ' CONSTRUCTOR
|
|
|
|
#Region "METHODS"
|
|
|
|
Private Shared Function LoadBTLFeatures(nPartId As Integer) As List(Of BTLFeatureM)
|
|
Dim TempList As New List(Of BTLFeatureM)
|
|
' Aggiungo outline
|
|
Dim nOutLayerId As Integer = EgtGetFirstNameInGroup(nPartId, OUTLINE)
|
|
Dim nOutlineId As Integer = EgtGetFirstInGroup(nOutLayerId)
|
|
While nOutlineId <> GDB_ID.NULL
|
|
' verifico che sia una feature
|
|
Dim nGRP As Integer
|
|
If EgtGetInfo(nOutlineId, BTL_FTR_GRP, nGRP) AndAlso Not EgtExistsInfo(nOutlineId, BTL_FTR_MAINID) Then
|
|
' creo la feature
|
|
TempList.Add(BTLFeatureM.CreateBTLFeature(Nothing, nOutlineId))
|
|
End If
|
|
nOutlineId = EgtGetNext(nOutlineId)
|
|
End While
|
|
' Aggiungo feature
|
|
Dim nProcessingId As Integer = EgtGetFirstNameInGroup(nPartId, PROCESSINGS)
|
|
Dim nFeatureId As Integer = EgtGetFirstInGroup(nProcessingId)
|
|
While nFeatureId <> GDB_ID.NULL
|
|
' verifico che sia una feature
|
|
Dim nGRP As Integer
|
|
If EgtGetInfo(nFeatureId, BTL_FTR_GRP, nGRP) AndAlso Not EgtExistsInfo(nFeatureId, BTL_FTR_MAINID) Then
|
|
' creo la feature
|
|
TempList.Add(BTLFeatureM.CreateBTLFeature(Nothing, nFeatureId))
|
|
End If
|
|
nFeatureId = EgtGetNext(nFeatureId)
|
|
End While
|
|
Return TempList
|
|
End Function
|
|
|
|
#End Region ' METHODS
|
|
|
|
End Class
|