コード例 #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;
            }
        }