public void Draw(GraphicsDevice device, ContentManager cm, Camera camera, MatrixStack stack) { stack.Push(); { mXform.ComputeWorldTransform(stack); foreach (var s in mShapes) { s.Draw(device, cm, camera, stack); } foreach (var c in mChildren) { c.Draw(device, cm, camera, stack); } #if M1 if (mShowPivot) { mPivotShape.Xform.Translation = Xform.Pivot; mPivotShape.Draw(device, cm, camera, stack); } #endif } stack.Pop(); #if M2 if (mShowPivot) { mPivotShape.Xform.Translation = Xform.Pivot + Xform.Translation; mPivotShape.Xform.Rotation = Xform.Rotation; mPivotShape.Draw(device, cm, camera, stack); } #endif }