public void AddBoundingBox(Rect3D boundingBox, double diameter)
{
var p0 = new Point3D(boundingBox.X, boundingBox.Y, boundingBox.Z);
var p1 = new Point3D(boundingBox.X, boundingBox.Y + boundingBox.SizeY, boundingBox.Z);
var p2 = new Point3D(boundingBox.X + boundingBox.SizeX, boundingBox.Y + boundingBox.SizeY, boundingBox.Z);
var p3 = new Point3D(boundingBox.X + boundingBox.SizeX, boundingBox.Y, boundingBox.Z);
var p4 = new Point3D(boundingBox.X, boundingBox.Y, boundingBox.Z + boundingBox.SizeZ);
var p5 = new Point3D(boundingBox.X, boundingBox.Y + boundingBox.SizeY, boundingBox.Z + boundingBox.SizeZ);
var p6 = new Point3D(boundingBox.X + boundingBox.SizeX, boundingBox.Y + boundingBox.SizeY, boundingBox.Z + boundingBox.SizeZ);
var p7 = new Point3D(boundingBox.X + boundingBox.SizeX, boundingBox.Y, boundingBox.Z + boundingBox.SizeZ);
Action<Point3D, Point3D> addEdge = (c1, c2) => this.AddCylinder(c1, c2, diameter, 10);
addEdge(p0, p1);
addEdge(p1, p2);
addEdge(p2, p3);
addEdge(p3, p0);
addEdge(p4, p5);
addEdge(p5, p6);
addEdge(p6, p7);
addEdge(p7, p4);
addEdge(p0, p4);
addEdge(p1, p5);
addEdge(p2, p6);
addEdge(p3, p7);
}