This commit is contained in:
2019-09-30 16:18:53 +02:00
parent 7d884d7cba
commit 53f2a0666b
70 changed files with 2984 additions and 197 deletions

View File

@@ -8,34 +8,35 @@ Public Class Mesh
Public ReadOnly Property VertexColors As New List(Of VertexColor)
Public ReadOnly Property Faces As New List(Of Face)
Friend Function GetCenterModelAvg() As Vector3
Public Sub CenterModel()
CenterModel({Me})
End Sub
Public Shared Sub CenterModel(meshes As IEnumerable(Of Mesh))
Dim avgX As Integer = 0
Dim avgY As Integer = 0
Dim avgZ As Integer = 0
Dim vertsCount As Long = 0
For Each v As Vertex In Vertices
avgX += v.X
avgY += v.Y
avgZ += v.Z
For Each m As Mesh In meshes
For Each v As Vertex In m.Vertices
avgX += v.X
avgY += v.Y
avgZ += v.Z
Next
vertsCount += m.Vertices.Count
Next
Return New Vector3(avgX, avgY, avgZ)
End Function
Dim avg As New Vector3(avgX, avgY, avgZ)
avg /= New Vector3(vertsCount)
Public Sub CenterModel()
Dim avg As Vector3 = GetCenterModelAvg()
avg /= New Vector3(Vertices.Count)
CenterModel(avg)
End Sub
Public Sub CenterModel(avg As Vector3)
For Each v As Vertex In Vertices
v.X -= avg.X
v.Y -= avg.Y
v.Z -= avg.Z
For Each m As Mesh In meshes
For Each v As Vertex In m.Vertices
v.X -= avg.X
v.Y -= avg.Y
v.Z -= avg.Z
Next
Next
End Sub
End Class
End Class