Exemplo n.º 1
0
        public void restoreConfiguration(GNCconfig config)
        {
            // should be good, might need to add some checks
            command = config.command;
            rateMode = config.rateMode;
            attMode = config.attMode;
            eacMode = config.eacMode;
            posMode = config.posMode;
            dockMode = config.dockMode;
            dockState = config.dockState;
            dockAbort = config.dockAbort;
            userRateSetting = config.userRateSetting.toVector3 ();
            userAttSetting = config.userAttSetting.toVector3 ();
            userAttUpSetting = config.userAttUpSetting.toVector3 ();
            userPosSetting = config.userPosSetting.toVector3 ();
            Kp_AngVel = config.Kp_AngVel;
            Kp_AngAcc = config.Kp_AngAcc;
            Kp_Vel = config.Kp_Vel;
            Kp_Acc = config.Kp_Acc;
            eacPulseLength = config.eacPulseLength;
            eacPulseLevel = config.eacPulseLevel;
            eacRate = config.eacRate;
            dockRollAdjust = config.dockRollAdjust;
            networkPropulsion = config.networkPropulsion;

            // ...
            if (command == Command.EAC && eacMode == EACMode.RATE_ATT) {
                eacAttInvalid = true;
            }
        }
Exemplo n.º 2
0
        public void requestCommand(Command c)
        {
            command = c;

            rateMode = RateMode.IDLE;
            attMode = AttMode.IDLE;
            eacMode = EACMode.IDLE;
            dockMode = DockMode.IDLE;
            dockState = DockState.IDLE;

            if (command != Command.RATE && command != Command.ATT && command != Command.EAC)
                posMode = PosMode.IDLE;

            if (command == Command.DOCK)
            {
                if (flightData.targetVessel == null)
                {
                    command = Command.OFF;
                }
            }
        }
Exemplo n.º 3
0
        public void requestDockMode(DockMode m)
        {
            if (command != Command.DOCK)
                return;

            if (dockMode == m)
                dockMode = DockMode.IDLE;
            else
                dockMode = m;

            dockState = DockState.IDLE;
            dockAbort = DockAbort.UNKNOWN;

            // check dockRollAdjust and adjust if it does not match
            if (dockMode != DockMode.IDLE && flightData.targetPart != null) {
                /*float rollAngle = 0;
                bool restrictedRoll = flightData.targetPart.getRingRestrictions(out rollAngle);
                if(restrictedRoll && rollAngle != 0) {
                    if((Mathf.Abs(dockRollAdjust) % rollAngle) > 1 || Mathf.Abs (dockRollAdjust) < 1) {
                        dockRollAdjust = rollAngle;
                        print ("adjusted dockRollAdjust to " + dockRollAdjust.ToString("F1"));
                    }
                }*/
            }
        }
Exemplo n.º 4
0
 public void getStates(out Command outCommand, 
     out RateMode outRateMode,
     out AttMode outAttMode,
     out EACMode outEacMode,
     out PosMode outPosMode,
     out DockMode outDockMode)
 {
     outCommand = command;
     outRateMode = rateMode;
     outAttMode = attMode;
     outEacMode = eacMode;
     outPosMode = posMode;
     outDockMode = dockMode;
 }
Exemplo n.º 5
0
 internal void LockWidth()
 {
     dockX = DockMode.LOCK;
 }
Exemplo n.º 6
0
 // 0 = stretch
 // -1 = lock
 // 1 - 9 = dockpoints
 public void setDock(int dock)
 {
     DockMode dockXold = dockX;
     if (dock == 0)
     {
         dockX = dockY = DockMode.STRETCH;
     }
     else if (dock == -1)
     {
         dockX = dockY = DockMode.LOCK;
     }
     else if (dock >= 1 && dock <= 9)
     {
         int x = (dock - 1) % 3;
         int y = (dock - 1) / 3;
         dockX = DockMode.LEFTTOP + x;
         dockY = DockMode.RIGHTBOTTOM - y;
     }
     else
     {
         throw new ArgumentException();
     }
     if (yonly) dockX = dockXold;
 }
Exemplo n.º 7
0
 public void reset(Rectangle reference, string title)
 {
     baseRect = reference;
     width = baseRect.Width;
     height = baseRect.Height;
     dockX = dockY = DockMode.STRETCH;
     yonly = false;
     this.title = title;
 }
 void Add(DockMode dockMode)
 {
     dockControl.Items.Insert(0, new C1DockTabControl
     {
         DockMode = dockMode,
         Items =
         {
             new C1DockTabItem
             {
                 Header = "tab " + item_count,
                 Content = "tab " + item_count,
             },
         },
     });
     item_count++;
 }