protected virtual void OnBoxChanged()
{
this.Children.Clear();
if (this.BoundingBox.IsEmpty)
{
return;
}
Rect3D bb = this.BoundingBox;
var p0 = new Point3D(bb.X, bb.Y, bb.Z);
var p1 = new Point3D(bb.X, bb.Y + bb.SizeY, bb.Z);
var p2 = new Point3D(bb.X + bb.SizeX, bb.Y + bb.SizeY, bb.Z);
var p3 = new Point3D(bb.X + bb.SizeX, bb.Y, bb.Z);
var p4 = new Point3D(bb.X, bb.Y, bb.Z + bb.SizeZ);
var p5 = new Point3D(bb.X, bb.Y + bb.SizeY, bb.Z + bb.SizeZ);
var p6 = new Point3D(bb.X + bb.SizeX, bb.Y + bb.SizeY, bb.Z + bb.SizeZ);
var p7 = new Point3D(bb.X + bb.SizeX, bb.Y, bb.Z + bb.SizeZ);
this.AddEdge(p0, p1);
this.AddEdge(p1, p2);
this.AddEdge(p2, p3);
this.AddEdge(p3, p0);
this.AddEdge(p4, p5);
this.AddEdge(p5, p6);
this.AddEdge(p6, p7);
this.AddEdge(p7, p4);
this.AddEdge(p0, p4);
this.AddEdge(p1, p5);
this.AddEdge(p2, p6);
this.AddEdge(p3, p7);
}