Example #1
0
        /// <summary>
        /// フォーマット(サイズ)リストの指標が変化したとき
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void comboFormatSize_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                this.Grabber.Stop();
            }
            catch (Exception)
            {
            }
            this.Grabber.Dispose();
            lock (this.TimeStamps)
            {
                this.TimeStamps.Clear();
            }
            this.statusTimeStamp.Text = "";
            this.statusFps.Text       = "";

            FilterPair     filter_pair = FilterPairs[comboFilter.SelectedIndex];
            PinPair        pin_pair    = filter_pair.Value[comboPin.SelectedIndex];
            FormatPair     format_pair = pin_pair.Value[comboFormatColor.SelectedIndex];
            CxDSFormatInfo format_info = format_pair.Value[comboFormatSize.SelectedIndex];

            this.Backup.FilterInfo = filter_pair.Key;
            this.Backup.PinInfo    = pin_pair.Key;
            this.Backup.FormatInfo = format_info;
            this.propertyParam.Refresh();

            this.Grabber.Setup();
            foreach (var image in this.Buffer)
            {
                image.Resize(this.Grabber.FrameSize.Width, this.Grabber.FrameSize.Height, TxModel.U8(4), 1);
            }
            this.Grabber.Capture(this.Buffer, true);
            this.Grabber.Start();
        }
Example #2
0
 public IControllable<double> AddPinPair(string inPin, string outPin)
 {
     var pinPair = new PinPair(inPin, outPin);
     lock (mutex)
     {
         this.PinPairs.Add(inPin + outPin, pinPair);
     }
     return pinPair;
 }
Example #3
0
        /// <summary>
        /// ピンリストの指標が変化したとき
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void comboPin_SelectedIndexChanged(object sender, EventArgs e)
        {
            FilterPair filter_pair = FilterPairs[comboFilter.SelectedIndex];
            PinPair    pin_pair    = filter_pair.Value[comboPin.SelectedIndex];

            comboFormatColor.Items.Clear();
            foreach (var format_pair in pin_pair.Value)
            {
                comboFormatColor.Items.Add(format_pair.Key);
            }
            int index = 0;

            if (comboFormatColor.Items.Count > index)
            {
                comboFormatColor.SelectedIndex = index;
            }
        }
Example #4
0
        /// <summary>
        /// フォーマット(色空間)リストの指標が変化したとき
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void comboFormatColor_SelectedIndexChanged(object sender, EventArgs e)
        {
            FilterPair filter_pair = FilterPairs[comboFilter.SelectedIndex];
            PinPair    pin_pair    = filter_pair.Value[comboPin.SelectedIndex];
            FormatPair format_pair = pin_pair.Value[comboFormatColor.SelectedIndex];

            comboFormatSize.Items.Clear();
            foreach (var format in format_pair.Value)
            {
                comboFormatSize.Items.Add(string.Format("{0} x {1}", format.VideoSize.Width, format.VideoSize.Height));
            }
            int index = 0;

            if (comboFormatSize.Items.Count > index)
            {
                comboFormatSize.SelectedIndex = index;
            }
        }
Example #5
0
    public void Command_GetxSignalInfo()//Const View : IServerDocumentView; Var Parameters : WideString)
    {
        IPCB_ServerInterface PCBServer = PCB.GlobalVars.PCBServer;
        IPCB_Board           Board;
        IPCB_BoardIterator   Iterator;
        IPCB_ObjectClass2    ObjectClass;
        IPCB_PinPairsManager PinPairsManager;
        IPCB_PinPair         PinPair;
        //int I;
        ArrayList      Report = new ArrayList();
        IClient        Client = DXP.GlobalVars.Client;
        IPCB_Primitive Prim;
        IPCB_Pad       Pad;

        if (PCBServer == null)
        {
            return;
        }

        Board = PCBServer.GetCurrentPCBBoard();
        if (Board == null)
        {
            return;
        }

        PinPairsManager = Board.GetState_PinPairsManager();
        if (PinPairsManager == null)
        {
            return;
        }

        PinPairsManager.InvalidateAll();

        Iterator = Board.BoardIterator_Create();
        try
        {
            Iterator.AddFilter_ObjectSet(Util.MKset(PCB.TObjectId.eClassObject));
            Iterator.AddFilter_LayerSet(PCBConstant.V6AllLayersSet);

            ObjectClass = (IPCB_ObjectClass2)Iterator.FirstPCBObject();
            while (ObjectClass != null)
            {
                if (ObjectClass.GetState_MemberKind() == TClassMemberKind.eClassMemberKind_Signal)
                {
                    Report.Add("xSignal Class : " + ObjectClass.GetState_DisplayName());

                    for (int I = 0; I <= PinPairsManager.GetState_PinPairsCount() - 1; I++)
                    {
                        PinPair = PinPairsManager.GetState_PinPairs(I);

                        if (ObjectClass.IsMember(PinPair.GetState_Name()))
                        {
                            //need primitive info
                            //refdes and pin number

                            Report.Add(String.Format("    xSignal : {0}, Node Count : {1}, Signal Length : {2}mils, Routed Length : {3}mils, Unrouted Length : {4}mils, Primitive Count : {5}",

                                                     PinPair.GetState_Name(),
                                                     PinPair.GetState_NodeCount(),
                                                     EDP.Utils.CoordToMils((int)PinPair.GetState_Length()),
                                                     EDP.Utils.CoordToMils((int)PinPair.GetState_RoutedLength()),
                                                     EDP.Utils.CoordToMils((int)PinPair.GetState_UnroutedLength()),
                                                     PinPair.GetState_PrimitivesCount()));

                            for (int j = 0; j <= PinPair.GetState_PrimitivesCount() - 1; j++)
                            {
                                Prim = PinPair.GetPrimitives(j);
                                if (Prim.GetState_DescriptorString().StartsWith("Pad")) //need refdes, pin number, net name
                                {
                                    Pad = (IPCB_Pad)Prim;                               //Pad.GetState_PinDescriptorString() = "U6-C17"
                                    Report.Add("        Pin: " + Pad.GetState_PinDescriptorString() + ", Net: " + Prim.GetState_Net().GetState_Name());
                                    //Report.Add("        Primative Desc: " + Prim.GetState_DescriptorString() + ", Net : " + Prim.GetState_Net().GetState_Name());
                                }
                            }
                        }
                    }
                }

                ObjectClass = (IPCB_ObjectClass2)Iterator.NextPCBObject();
            }

            File.WriteAllLines("C:\\xSignals.txt", (string[])Report.ToArray(typeof(string)));

            //Client.OpenDocument("Text", "C:\\xSignals.txt");
        }
        finally
        {
            Board.BoardIterator_Destroy(ref Iterator);
            //FreeAndnull(Report);
        }
    }