예제 #1
0
        public void PicturePrint()
        {
            Image.Children.Clear();

            {
                var abramsCopy = abrams.export();
                abramsCopy.EmbedMatrix(cameraMovementMatrix);
                abramsCopy.EmbedMatrix(cameraRotationMatrix);
                abramsCopy.EmbedMatrix(cameraPerspectiveMatrix);
                foreach (var line in abramsCopy.GetPolylines())
                {
                    Image.Children.Add(line);
                }
            }

            if (!hideCar)
            {
                copycar = car.export();
                copycar.EmbedMatrix(cameraMovementMatrix);
                copycar.EmbedMatrix(cameraRotationMatrix);
                copycar.EmbedMatrix(cameraPerspectiveMatrix);
                foreach (var line in copycar.GetPolylines())
                {
                    Image.Children.Add(line);
                }
            }
            if (!hideIron)
            {

                var helmetCopy = helmet.export();
                helmetCopy.EmbedMatrix(cameraMovementMatrix);
                helmetCopy.EmbedMatrix(cameraRotationMatrix);
                helmetCopy.EmbedMatrix(cameraPerspectiveMatrix);

                foreach (var line in helmetCopy.GetPolylines())
                {
                    Image.Children.Add(line);
                }
            }
        }
예제 #2
0
        public void CarLoading()
        {
            Matrix carMatrix;
            car.LoadingFromResource("sources/mustang.txt", false);
            car.GenerateAxles();

            wheel = Figures.Cylinder(32, 130, 100);
            wheel.name = "wheel";
            var wheelMatrix = Matrix.Movement(new Models.Point()
            {
                X = 210,
                Y = 250,
                Z = 25
            });
            wheel.EmbedMatrix(wheelMatrix);

            car.details.Add(wheel);

            var wheelYAxle = wheel.axles.Y.export();
            wheelYAxle.info = "wheelYAxle";
            car.axles.customs.Add(wheelYAxle);

            var gun = Figures.Cylinder(10, 100, 300);
            var gunMatrix = Matrix.Movement(new Models.Point()
            {
                X = 860,
                Y = -250,
                Z = 75
            });
            gun.EmbedMatrix(gunMatrix);
            gunMatrix = Matrix.Rotation(gun.axles.Y, Math.PI / 2);
            gun.EmbedMatrix(gunMatrix);
            gunMatrix = Matrix.Rotation(gun.axles.X, -Math.PI / 4);
            gun.EmbedMatrix(gunMatrix);
            gun.name = "gun";
            var secondGun = gun.export();
            gunMatrix = Matrix.Movement(new Models.Point()
            {
                X = 0,
                Y = 0,
                Z = 225
            });
            gun.EmbedMatrix(gunMatrix);
            gun.details.Add(secondGun);
            car.details.Add(gun);
            var gunZAxle = gun.axles.Z.export();
            gunZAxle.info = "gunZAxle";
            car.axles.customs.Add(gunZAxle);

            var gunBase = Figures.MultiCylinder(4, 150, 100, 100);
            var gunBaseMatrix = Matrix.Rotation(gunBase.axles.X, Math.PI / 2);
            gunBase.EmbedMatrix(gunBaseMatrix);
            gunBaseMatrix = Matrix.Movement(new Models.Point()
            {
                X = 850,
                Y = -140,
                Z = 275
            });
            gunBase.EmbedMatrix(gunBaseMatrix);
            car.details.Add(gunBase);

            var hoodOpenAxle = car.axles["HoodOpen"].export();
            hood = car.CutDetailFromBody("hood", new string[] { "Hood" });
            car.details.Add(hood);
            car.ReloadBody();
            carMatrix = Matrix.Scaling(0.5, new Models.Point() { X = 0, Y = 0, Z = 0 });
            car.EmbedMatrix(carMatrix);
            carMatrix = Matrix.Movement(new Models.Point()
            {
                X = -300,
                Y = 500,
                Z = 100
            });
            car.EmbedMatrix(carMatrix);
            carMatrix = Matrix.Rotation(car.axles.Y, Math.PI / 2);
            car.EmbedMatrix(carMatrix);
        }