| | |
| | | /// </summary> |
| | | public BoundingBox3d GetBoundingBox() |
| | | { |
| | | var bd = new BoundingBox3d(); |
| | | bd.Min = new Point3d(); |
| | | bd.Max = new Point3d(); |
| | | var minX = float.MaxValue; |
| | | var minY = float.MaxValue; |
| | | var minZ = float.MaxValue; |
| | | var maxX = float.MinValue; |
| | | var maxY = float.MinValue; |
| | | var maxZ = float.MinValue; |
| | | |
| | | foreach (var node in this.Nodes) |
| | | { |
| | | bd.Min.X = Math.Min(bd.Min.X, node.Position.X); |
| | | bd.Max.X = Math.Max(bd.Max.X, node.Position.X); |
| | | bd.Min.Y = Math.Min(bd.Min.Y, node.Position.Y); |
| | | bd.Max.Y = Math.Max(bd.Max.Y, node.Position.Y); |
| | | bd.Min.Z = Math.Min(bd.Min.Z, node.Position.Z); |
| | | bd.Max.Z = Math.Max(bd.Max.Z, node.Position.Z); |
| | | minX = Math.Min(minX, node.Position.X); |
| | | minY = Math.Min(minY, node.Position.Y); |
| | | minZ = Math.Min(minZ, node.Position.Z); |
| | | maxX = Math.Max(maxX, node.Position.X); |
| | | maxY = Math.Max(maxY, node.Position.Y); |
| | | maxZ = Math.Max(maxZ, node.Position.Z); |
| | | } |
| | | |
| | | return bd; |
| | | return new BoundingBox3d() |
| | | { |
| | | Min = new Point3d(minX, minY, minZ), |
| | | Max = new Point3d(maxX, maxY, maxZ) |
| | | }; |
| | | } |
| | | |
| | | |