public BoundBlock3d MeshOrthoBoundBlock()
{
return MeshOrthoBoundBlock(Matrix3d.Identity);
}
private BoundBlock3d MeshOrthoBoundBlock(Matrix3d localToBound)
{
BoundBlock3d bounds = new BoundBlock3d();
Matrix3d mtx = localToBound * this.Child.ScalingTransform;
foreach (CI childCI in this.Child.ReferencedCIs)
bounds.orthoExtend(MeshOrthoBoundBlock(mtx * childCI.ChildToParentTransform));
// Calculate self bounds
bounds.orthoExtend(activeBody.GetOrthoBoundingBlock(mtx));
return bounds;
}