Exemplo n.º 1
0
        public void TestMethod()
        {
            ShellSecState         state = Utilities.MakeState_ElementBased();
            ShellSec_RendererInfo info  = new ShellSec_RendererInfo_Force();
            var mock = Substitute.For <IDrawViewBehaviour>();

            var expectedOrigins = new Point3[] { new Point3(0.25, 0, 0), new Point3(0.75, 0, 0) };
            var expectedAxes    = new List <Vector3[]>
            {
                new Vector3[]
                {
                    new Vector3(1, 0, 0),
                    new Vector3(0, -1, 0),
                    new Vector3(0, 0, 1)
                },
                new Vector3[]
                {
                    new Vector3(1, 0, 0),
                    new Vector3(0, -1, 0),
                    new Vector3(0, 0, 1)
                }
            };



            var sut = new ShellSec_LocalAxesRenderer(mock);

            sut.Render(state, info);



            Assert.That(sut.Origins, Is.EqualTo(expectedOrigins));
            Assert.That(sut.AxesList, Is.EqualTo(expectedAxes));
            mock.Received().DrawView();
        }
Exemplo n.º 2
0
        public void Render_DrawSmoothNumber_ForElementBased()
        {
            ShellSecState state = Utilities.MakeState_ElementBased();

            ShellSec_RendererInfo info = new ShellSec_RendererInfo_Force();

            info.DisplayResults[ShellSecResult.M_nn] = true;
            info.ScaleResults[ShellSecResult.M_nn]   = 1.0;
            info.DisplaySmooth = true;
            info.TextFormat    = "{0:f}";

            var mock = Substitute.For <IDrawViewBehaviour>();

            var expectedPosition = new Point3[] { new Point3(0, 0, 1), new Point3(0.5, 0, 1.5), new Point3(1, 0, 2) };
            var expectedText     = new string[] { "1.00", "1.50", "2.00" };



            var sut = new ShellSec_NumberRenderer(mock);

            sut.Render(state, info);



            Assert.That(sut.Positions, Is.EqualTo(expectedPosition));
            Assert.That(sut.Texts, Is.EqualTo(expectedText));
            mock.Received().DrawView();
        }
Exemplo n.º 3
0
        public void Render_DrawStepwiseCurve()
        {
            ShellSecState state = Utilities.MakeState_ElementBased();

            ShellSec_RendererInfo info = new ShellSec_RendererInfo_Force();

            info.DisplayResults = new Dictionary <ShellSecResult, bool> {
                { ShellSecResult.M_nn, true }
            };
            info.ScaleResults = new Dictionary <ShellSecResult, double> {
                { ShellSecResult.M_nn, 1.0 }
            };
            info.DisplaySmooth = false;

            var expectedCurves = new List <PolyLine3>();

            expectedCurves.Add(new PolyLine3(new Point3(0, 0, 1), new Point3(0.5, 0, 1)));
            expectedCurves.Add(new PolyLine3(new Point3(0.5, 0, 2), new Point3(1, 0, 2)));



            var sut = new ShellSec_MeshRenderer();

            sut.Render(state, info);
            List <List <PolyLine3> > output = sut.RenderedCurves;
            var outputCurves = output.SelectMany(poly => poly);



            Assert.That(outputCurves, Is.EqualTo(expectedCurves));
        }
Exemplo n.º 4
0
        public void Render_DrawSmoothCurve_ForElementBasedResult()
        {
            ShellSecState state = Utilities.MakeState_ElementBased();

            ShellSec_RendererInfo info = new ShellSec_RendererInfo_Force();

            info.DisplayResults[ShellSecResult.M_nn] = true;
            info.ScaleResults[ShellSecResult.M_nn]   = 1.0;
            info.DisplaySmooth  = true;
            info.BaseMeshObject = ShellSec_BaseObj.Element;

            var expectedCurves = new List <PolyLine3>();

            expectedCurves.Add(new PolyLine3(new Point3(0, 0, 1), new Point3(0.5, 0, 1.5), new Point3(1, 0, 2)));



            var sut = new ShellSec_MeshRenderer();

            sut.Render(state, info);
            List <List <PolyLine3> > output = sut.RenderedCurves;
            var outputCurves = output.SelectMany(poly => poly);



            Assert.That(outputCurves, Is.EqualTo(expectedCurves));
        }
Exemplo n.º 5
0
        public void Render_DrawStepwiseMesh()
        {
            ShellSecState state = Utilities.MakeState_ElementBased();

            ShellSec_RendererInfo info = new ShellSec_RendererInfo_Force();

            info.DisplayResults = new Dictionary <ShellSecResult, bool> {
                { ShellSecResult.M_nn, true }
            };
            info.ScaleResults = new Dictionary <ShellSecResult, double> {
                { ShellSecResult.M_nn, 1.0 }
            };
            info.DisplaySmooth = false;
            info.DisplayMesh   = true;


            var expectedVertices = new List <Point3>()
            {
                new Point3(0, 0, 1),
                new Point3(0, 0, 0),
                new Point3(0.5, 0, 1),
                new Point3(0.5, 0, 0),
                new Point3(0.5, 0, 2),
                new Point3(0.5, 0, 0),
                new Point3(1, 0, 2),
                new Point3(1, 0, 0),
            };
            var expectedFaces = new Face3[]
            {
                new Face3(0, 1, 3, 2),
                new Face3(4, 5, 7, 6)
            };



            var sut = new ShellSec_MeshRenderer();

            sut.Render(state, info);
            List <IMesh> output = sut.RenderedMeshes;



            Assert.AreEqual(output.Count, 1);
            Assert.That(output[0].Vertices, Is.EqualTo(expectedVertices));
            Assert.That(output[0].Faces, Is.EqualTo(expectedFaces));
        }