コード例 #1
0
        public LocusViewer(double sX0, double sY0, double sX1, double sY1,
                           AirPlane ap, Recorder rec)
        {
            planeM = new Material(new LightColor(0.0D, 0.0D, 0.6D),
                                  new LightColor(0.5D, 0.5D, 0.5D), 10.0D, new LightColor(0.0D, 0.0D,
                                                                                          0.0D));
            planeM2 = new Material(new LightColor(0.6D, 0.0D, 0.0D),
                                   new LightColor(0.5D, 0.5D, 0.5D), 10.0D, new LightColor(0.0D, 0.0D,
                                                                                           0.0D));
            light = Jp.Maker1.Vsys3.Tools.Light.Parallel(new LightColor(255.0D, 255.0D, 255.0D),
                                                         new Vector3D(0.5D, -0.5D, 1.0D));
            amblight         = Jp.Maker1.Vsys3.Tools.Light.Ambience(new LightColor(128.0D, 128.0D, 128.0D));
            infoCol          = Color.FromArgb(64, 64, 64);
            dataCol          = Color.Gray;
            cursolCol        = Color.FromArgb(255, 0, 0);
            suisenCol        = Color.Gray;
            stdFont          = new Font("SansSelif", 12);
            smallFont        = new Font("SansSelif", 11);
            sc               = new Scine();
            oa               = new OpticalAmbience();
            viewAngle        = 25.0D;
            grid             = new LocusGrid();
            rmat             = new Matrix44();
            tmat             = new Matrix44();
            mat_bef          = new Matrix44();
            mat              = new Matrix44();
            moveingTime      = 5.0D;
            rotationTime     = 7.0D;
            currentDataIndex = 0;
            proj             = new Projector(sX1 - sX0 + 1.0D, sY1 - sY0 + 1.0D, MathTool.DegToRad(25.0D));
            clip             = new Clipper(sX0, sY0, sX1, sY1);
            oa.AddLight(light);
            oa.AddLight(amblight);

            recorder = rec;

            locus = new Locus(ap, rec, planeM, planeM2);
            InitDispParam();

            fastMoveStep = (recorder.N_record() / 50);
            if (fastMoveStep <= 0)
            {
                fastMoveStep = 1;
            }
        }
コード例 #2
0
        public GraphicsGenerator(Uri codeBase, double sX0, double sY0, double sX1, double sY1)
        {
            sc                     = new Scine();
            oa                     = new OpticalAmbience();
            bgColor                = Color.FromArgb(134, 171, 225);
            earthColorRed          = 50;
            earthColorGreen        = 93;
            earthColorBlue         = 45;
            glid1mColor            = Color.FromArgb(55, 102, 48);
            glid10mColor           = Color.FromArgb(61, 113, 59);
            glid100mColor          = Color.FromArgb(67, 124, 65);
            glid1kmColor           = Color.FromArgb(61, 113, 59);
            glid10kmColor          = Color.FromArgb(55, 102, 48);
            runwayColorRed         = 151;
            runwayColorGreen       = 151;
            runwayColorBlue        = 159;
            gridRunwayColor        = Color.FromArgb(160, 160, 170);
            interfaceColorPen      = new Pen(Color.FromArgb(200, 200, 255));
            interfaceColorBrush    = new SolidBrush(Color.FromArgb(200, 200, 255));
            interfaceColorDPen     = new Pen(Color.FromArgb(180, 180, 235));
            instrumentColor        = Color.FromArgb(255, 255, 255);
            instrumentGreen        = Color.FromArgb(128, 200, 128);
            instrumentYellow       = Color.FromArgb(200, 200, 128);
            instrumentRed          = Color.FromArgb(200, 128, 128);
            informationColor       = Color.FromArgb(220, 220, 255);
            simInterfaceColor      = Color.FromArgb(230, 255, 200);
            padLockColor           = Color.FromArgb(200, 200, 255);
            stdFont                = new Font("SansSelif", 12);
            bigFont                = new Font("SansSelif", 16);
            smallFont              = new Font("SansSelif", 9);
            padFont                = new Font("SansSelif", 11);
            stick_center_x         = 300;
            stick_center_y         = 200;
            stick_x_width          = 140;
            stick_y_width          = 140;
            rudder_center_x        = 300;
            rudder_center_y        = 320;
            rudder_x_witdh         = 45;
            rudder_y_width         = 30;
            throttle_x             = 10;
            throttle_y             = 390;
            throttle_width         = 100;
            mixture_x              = 25;
            mixture_y              = 390;
            mixture_width          = 100;
            prop_pitch_x           = 40;
            prop_pitch_y           = 390;
            prop_pitch_width       = 100;
            brake_right_x          = 580;
            brake_right_y          = 390;
            brake_right_width      = 100;
            brake_left_x           = 565;
            brake_left_y           = 390;
            brake_left_width       = 100;
            instrument_object_list = new VsObjectList();
            v_true_x               = 100;
            v_true_y               = 12;
            alt_x                  = 185;
            alt_y                  = 12;
            atmo_x                 = 280;
            atmo_y                 = 12;
            gear_x                 = 130;
            gear_y                 = 325;
            gear_box_size          = 9;
            gear_box_maegine       = 12;
            flap_x                 = 450;
            flap_y                 = 395;
            flap_width             = 100;
            stallAlert_x           = 257;
            stallAlert_y           = 140;
            pause_x                = 275;
            pause_y                = 100;
            slowMoton_x            = 245;
            slowMoton_y            = 115;
            proj                   = new Projector(sX1 - sX0 + 1.0D, sY1 - sY0 + 1.0D, MathTool.DegToRad(45.0D));
            proj.SetVerticalParamer(0.0D, 0.0D, sX1 - sX0 + 1.0D, sY1 - sY0 + 1.0D, MathTool.DegToRad(45.0D));
            clip = new Clipper(sX0, sY0, sX1, sY1);

            Matrix44 mtemp = new Matrix44();
            Matrix44 smat  = new Matrix44();

            mtemp.SetRxMat(MathTool.DegToRad(90.0D));
            earth = ((VsPolygon)Jp.Maker1.Vsys3.Tools.BasicObject.RegularPolygon(32, earthColorRed, earthColorGreen, earthColorBlue).Transform(mtemp));

            glid10km = Jp.Maker1.Vsys3.Tools.BasicObject.XzGlid(0.0D, -50000.0D, -50000.0D, 50000.0D, 50000.0D, 10000.0D, 10000.0D, glid10kmColor);
            glid1km  = Jp.Maker1.Vsys3.Tools.BasicObject.XzGlid(0.0D, -10000.0D, -10000.0D, 10000.0D, 10000.0D, 1000.0D, 1000.0D, glid1kmColor);
            glid100m = Jp.Maker1.Vsys3.Tools.BasicObject.XzGlid(0.0D, -1000.0D, -1000.0D, 1000.0D, 1000.0D, 100.0D, 100.0D, glid100mColor);
            glid10m  = Jp.Maker1.Vsys3.Tools.BasicObject.XzGlid(0.0D, -200.0D, -200.0D, 200.0D, 200.0D, 10.0D, 10.0D, glid10mColor);
            glid1m   = Jp.Maker1.Vsys3.Tools.BasicObject.XzGlid(0.0D, -30.0D, -30.0D, 30.0D, 30.0D, 1.0D, 1.0D, glid1mColor);

            smat.SetSMat(60.0D, 0.0D, 1000.0D);
            runway      = ((VsPolygon)Jp.Maker1.Vsys3.Tools.BasicObject.Square(runwayColorRed, runwayColorGreen, runwayColorBlue).Transform(mtemp.MultMat(smat)));
            glid_runway = Jp.Maker1.Vsys3.Tools.BasicObject.XzGlid(0.1D, -30.0D, -500.0D, 30.0D, 500.0D, 10.0D, 10.0D, gridRunwayColor);

            FormUnitFile fmu = new FormUnitFile(instrument_object_list, codeBase, "data/instrument.fmu", "data/instrument.mdf");

            pitch_miniature_aircraft = instrument_object_list.Get("PITCH_MINIATURE_ARECRAFT");
            pitch_miniature_aircraft.SetColor(informationColor);
            roll_miniature_aircraft = instrument_object_list.Get("ROLL_MINIATURE_ARECRAFT");
            roll_miniature_aircraft.SetColor(informationColor);
            heading_miniature_aircraft = instrument_object_list.Get("HEADING_MINIATURE_ARECRAFT");
            heading_miniature_aircraft.SetColor(instrumentColor);
            velocity_vector = instrument_object_list.Get("VELOCITY_VECTOR");
            velocity_vector.SetColor(informationColor);
            artificial_horizon = instrument_object_list.Get("ARTIFICIAL_HORIZON");
            artificial_horizon.SetColor(instrumentColor);
            front_point = instrument_object_list.Get("FRONT_POINT");
            front_point.SetColor(informationColor);
        }