diff --git a/EgtInterface.vb b/EgtInterface.vb index a117378..56b36eb 100644 --- a/EgtInterface.vb +++ b/EgtInterface.vb @@ -5271,6 +5271,40 @@ Public Function EgtRotateSelectedPartCluster(ByVal bReducedCut As Boolean, ByVal End If End Function + +Private Function EgtAlignPartClusterOnCollision_32(ByVal vId As Integer(), ByVal nCount As Integer, + ByVal bReducedCut As Boolean, + ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double) As Boolean +End Function + +Private Function EgtAlignPartClusterOnCollision_64(ByVal vId As Integer(), ByVal nCount As Integer, + ByVal bReducedCut As Boolean, + ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double) As Boolean +End Function +Public Function EgtAlignPartClusterOnCollision(ByVal vId As Integer(), + ByVal bReducedCut As Boolean, + ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double) As Boolean + If IntPtr.Size = 4 Then + Return EgtAlignPartClusterOnCollision_32(vId, vId.Count(), bReducedCut, dXmin, dYmin, dXmax, dYmax) + Else + Return EgtAlignPartClusterOnCollision_64(vId, vId.Count(), bReducedCut, dXmin, dYmin, dXmax, dYmax) + End If +End Function +Public Function EgtAlignSelectedPartClusterOnCollision(ByVal bReducedCut As Boolean, + ByVal dXmin As Double, ByVal dYmin As Double, + ByVal dXmax As Double, ByVal dYmax As Double) As Boolean + Dim vId(1) As Integer + vId(0) = GDB_ID.SEL + If IntPtr.Size = 4 Then + Return EgtAlignPartClusterOnCollision_32(vId, 1, bReducedCut, dXmin, dYmin, dXmax, dYmax) + Else + Return EgtAlignPartClusterOnCollision_64(vId, 1, bReducedCut, dXmin, dYmin, dXmax, dYmax) + End If +End Function + Private Function EgtGetPartClusterCenterGlob_32(ByVal vId As Integer(), ByVal nCount As Integer, ByRef ptCen As Point3d) As Boolean End Function