public void CanRoundTripIgesViaStreams()
        {
            var disc0 = Modeler.CreateCirclularSheet
                            (center: Vector3.Zero
                            , vNormal: Vector3.UnitZ
                            , vRef: Vector3.UnitX
                            , radius: 2
                            );

            var mStream = new MemoryStream();

            disc0.SaveAsIges(stream =>
            {
                stream.CopyTo(mStream);
                mStream.Position = 0;
            }, false);

            var loadedBody = BodyExtensions.LoadBodiesAsIges(mStream).First();

            loadedBody.Should().NotBeNull();
            var b0 = disc0.GetBodyBoxTs();
            var b1 = loadedBody.GetBodyBoxTs();

            b0.P0.X.Should().BeApproximately(b1.P0.X, 1e-5);
            b0.P0.Y.Should().BeApproximately(b1.P0.Y, 1e-5);
            b0.P0.Z.Should().BeApproximately(b1.P0.Z, 1e-5);

            b0.P1.X.Should().BeApproximately(b1.P1.X, 1e-5);
            b0.P1.Y.Should().BeApproximately(b1.P1.Y, 1e-5);
            b0.P1.Z.Should().BeApproximately(b1.P1.Z, 1e-5);
        }
 public static float GetBodyMassByActor(this ActorBase actor)
 {
     return(BodyExtensions.GetSpaceWanderMass(actor.GetGameModelByActorType()));
 }