Пример #1
0
        static public string Name(ELEMENTS e)
        {
            listAtom      atom = (listAtom)elements.atom[(int)e];
            listAtomLabel a    = (listAtomLabel)((listAtom)elements.atom[(int)e]).Items[2];

            return(a.value);
        }
Пример #2
0
 public void UnlockElement(ELEMENTS element)
 {
     if (!elements.Contains(element))
     {
         elements.Add(element);
     }
 }
Пример #3
0
        static public String LookupValue(ELEMENTS e, string dictRef)
        {
            listAtom atom = (listAtom)elements.atom[(int)e];

            foreach (object item in atom.Items)
            {
                if (item.GetType() == typeof(ChemInfo.listAtomScalar))
                {
                    listAtomScalar scalar = (listAtomScalar)item;
                    if (scalar.dictRef == dictRef)
                    {
                        return(scalar.Value);;
                    }
                }
                if (item.GetType() == typeof(ChemInfo.listAtomArray))
                {
                    listAtomArray array = (listAtomArray)item;
                    if (array.dictRef == dictRef)
                    {
                        return(array.Value);;
                    }
                }
            }
            listAtomLabel a = (listAtomLabel)((listAtom)elements.atom[(int)e]).Items[2];

            return("0");
        }
Пример #4
0
 public Atom(string element, AtomType type)
 {
     if (element == "*")
     {
         m_Element = ELEMENTS.WILD_CARD;
     }
     else if (element == "X")
     {
         m_Element = ELEMENTS.Halogen;
     }
     else
     {
         m_Element = (ELEMENTS)Enum.Parse(typeof(ELEMENTS), element);
     }
     m_ExplicitHydrogens = 0;
     m_Isotope           = 0;
     m_Charge            = 0;
     m_Chiral            = Chirality.UNSPECIFIED;
     AtomType            = type;
     m_Chiral            = Chirality.UNSPECIFIED;
     if (this.Element != ELEMENTS.Halogen)
     {
         this.SetColor(SustainableChemistryWeb.ChemInfo.Element.ElementColor(m_Element));
     }
     else
     {
         Color = System.Drawing.Color.FromName("olivedrab");
     }
     _x = (int)(random.NextDouble() * 100);
     _y = (int)(random.NextDouble() * 100);
     //m_WeiningerInvariant = new WeiningerInvariant(this);
 }
Пример #5
0
 static public int[] ElementColor(ELEMENTS e)
 {
     string[] temp   = LookupValue(e, "bo:elementColor").Split(' ');
     int[]    retVal = new int[3];
     retVal[0] = (int)(Convert.ToDouble(temp[0]) * 255);
     retVal[1] = (int)(Convert.ToDouble(temp[1]) * 255);
     retVal[2] = (int)(Convert.ToDouble(temp[2]) * 255);
     return(retVal);
 }
Пример #6
0
 public void ToggleElement(ELEMENTS element)
 {
     if (!elements.Contains(element))
     {
         elements.Add(element);
     }
     else
     {
         elements.Remove(element);
     }
 }
Пример #7
0
        public Bond[] GetBondsToElement(ELEMENTS element)
        {
            List <Bond> bonds = new List <Bond>();

            foreach (Bond b in m_Bonds)
            {
                if (b.ConnectedAtom.Element == element)
                {
                    bonds.Add(b);
                }
            }
            return(bonds.ToArray <Bond>());
        }
Пример #8
0
        void addElementItem(ToolStripMenuItem menu, string title, ELEMENTS item)
        {
            var elm = ConstructElement(item);

            if (elm == null)
            {
                return;
            }
            else
            {
                elm.Delete();
            }
            ToolStripMenuItem mi;
            var sc = shortcut(elm.Shortcut);

            if (sc.Key == Keys.None)
            {
                mi = new ToolStripMenuItem();
            }
            else
            {
                mi = new ToolStripMenuItem()
                {
                    ShowShortcutKeys         = true,
                    ShortcutKeys             = sc.Key,
                    ShortcutKeyDisplayString = sc.Name
                };
            }
            mi.Font   = menuFont;
            mi.Text   = title;
            mi.Click += new EventHandler((sender, e) => {
                mSim.Performed(item);
                if (null != mi.OwnerItem)
                {
                    for (int i = 0; i < mMainMenuItems.Count; i++)
                    {
                        if (mMainMenuItems[i].Checked)
                        {
                            mMainMenuItems[i].Checked             = false;
                            mMainMenuItems[i].OwnerItem.BackColor = Color.Transparent;
                        }
                    }
                    mi.Checked             = true;
                    mi.OwnerItem.BackColor = Color.LightGray;
                }
            });
            mMainMenuItems.Add(mi);
            menu.DropDownItems.Add(mi);
        }
Пример #9
0
 public Atom(string element, AtomType type, int isotope, Chirality chirality, int hCount, int charge, int atomClass)
 {
     //degree = 0;
     if (element == "*")
     {
         m_Element = ELEMENTS.WILD_CARD;
     }
     else
     {
         m_Element = (ELEMENTS)Enum.Parse(typeof(ELEMENTS), element);
     }
     m_ExplicitHydrogens = hCount;
     m_Isotope           = isotope;
     m_Charge            = charge;
     m_Chiral            = chirality;
     AtomType            = type;
     this.SetColor(SustainableChemistryWeb.ChemInfo.Element.ElementColor(m_Element));
     _x = (int)(random.NextDouble() * 100);
     _y = (int)(random.NextDouble() * 100);
     //m_WeiningerInvariant = new WeiningerInvariant(this);
 }
Пример #10
0
 // Constructors
 public Atom(string element)
 {
     if (element == "*")
     {
         m_Element = ELEMENTS.WILD_CARD;
     }
     else
     {
         m_Element = (ELEMENTS)Enum.Parse(typeof(ELEMENTS), element);
     }
     m_ExplicitHydrogens = 0;
     //degree = 0;
     m_Isotope = 0;
     m_Charge  = 0;
     m_Chiral  = Chirality.UNSPECIFIED;
     m_Chiral  = Chirality.UNSPECIFIED;
     this.SetColor(SustainableChemistryWeb.ChemInfo.Element.ElementColor(m_Element));
     //this.m_AtomicMass = SustainableChemistryWeb.ChemInfo.Element.ExactMass(e);
     _x = (int)(random.NextDouble() * 100);
     _y = (int)(random.NextDouble() * 100);
     //m_WeiningerInvariant = new WeiningerInvariant(this);
 }
Пример #11
0
 public Atom(string element, int isotope)
 {
     //degree = 0;
     if (element == "*")
     {
         m_Element = ELEMENTS.WILD_CARD;
     }
     else
     {
         m_Element = (ELEMENTS)Enum.Parse(typeof(ELEMENTS), element);
     }
     m_ExplicitHydrogens = 0;
     isotope             = (byte)isotope;
     m_Charge            = 0;
     m_Chiral            = Chirality.UNSPECIFIED;
     AtomType            = AtomType.NONE;
     m_Chiral            = Chirality.UNSPECIFIED;
     this.SetColor(SustainableChemistryWeb.ChemInfo.Element.ElementColor(m_Element));
     _x = (int)(random.NextDouble() * 100);
     _y = (int)(random.NextDouble() * 100);
     //m_WeiningerInvariant = new WeiningerInvariant(this);
 }
Пример #12
0
 static public int Period(ELEMENTS e)
 {
     return(Convert.ToInt32(Element.LookupValue(e, "bo:period")));
 }
Пример #13
0
 static public string Name(ELEMENTS e)
 {
     if (e == ELEMENTS.H)
     {
         return("Hydrogen");
     }
     if (e == ELEMENTS.He)
     {
         return("Helium");
     }
     if (e == ELEMENTS.Li)
     {
         return("Lithium");
     }
     if (e == ELEMENTS.Be)
     {
         return("Beryllium");
     }
     if (e == ELEMENTS.B)
     {
         return("Boron");
     }
     if (e == ELEMENTS.C)
     {
         return("Carbon");
     }
     if (e == ELEMENTS.N)
     {
         return("Nitrogen");
     }
     if (e == ELEMENTS.O)
     {
         return("Oxygen");
     }
     if (e == ELEMENTS.F)
     {
         return("Fluorine");
     }
     if (e == ELEMENTS.Ne)
     {
         return("Neon");
     }
     if (e == ELEMENTS.Na)
     {
         return("Sodium");
     }
     if (e == ELEMENTS.Mg)
     {
         return("Magnesium");
     }
     if (e == ELEMENTS.Al)
     {
         return("Aluminium");
     }
     if (e == ELEMENTS.Si)
     {
         return("Silicon");
     }
     if (e == ELEMENTS.P)
     {
         return("Phosphorus");
     }
     if (e == ELEMENTS.S)
     {
         return("Sulfur");
     }
     if (e == ELEMENTS.Cl)
     {
         return("Chlorine");
     }
     if (e == ELEMENTS.Ar)
     {
         return("Argon");
     }
     if (e == ELEMENTS.K)
     {
         return("Potassium");
     }
     if (e == ELEMENTS.Ca)
     {
         return("Calcium");
     }
     if (e == ELEMENTS.Sc)
     {
         return("Scandium");
     }
     if (e == ELEMENTS.Ti)
     {
         return("Titanium");
     }
     if (e == ELEMENTS.V)
     {
         return("Vanadium");
     }
     if (e == ELEMENTS.Cr)
     {
         return("Chromium");
     }
     if (e == ELEMENTS.Mn)
     {
         return("Manganese");
     }
     if (e == ELEMENTS.Fe)
     {
         return("Iron");
     }
     if (e == ELEMENTS.Co)
     {
         return("Cobalt");
     }
     if (e == ELEMENTS.Ni)
     {
         return("Nickel");
     }
     if (e == ELEMENTS.Cu)
     {
         return("Copper");
     }
     if (e == ELEMENTS.Zn)
     {
         return("Zinc");
     }
     if (e == ELEMENTS.Ga)
     {
         return("Gallium");
     }
     if (e == ELEMENTS.Ge)
     {
         return("Germanium");
     }
     if (e == ELEMENTS.As)
     {
         return("Arsenic");
     }
     if (e == ELEMENTS.Se)
     {
         return("Selenium");
     }
     if (e == ELEMENTS.Br)
     {
         return("Bromine");
     }
     if (e == ELEMENTS.Kr)
     {
         return("Krypton");
     }
     if (e == ELEMENTS.Rb)
     {
         return("Rubidium");
     }
     if (e == ELEMENTS.Sr)
     {
         return("Strontium");
     }
     if (e == ELEMENTS.Y)
     {
         return("Yttrium");
     }
     if (e == ELEMENTS.Zr)
     {
         return("Zirconium");
     }
     if (e == ELEMENTS.Nb)
     {
         return("Niobium");
     }
     if (e == ELEMENTS.Mo)
     {
         return("Molybdenum");
     }
     if (e == ELEMENTS.Tc)
     {
         return("Technetium");
     }
     if (e == ELEMENTS.Ru)
     {
         return("Ruthenium");
     }
     if (e == ELEMENTS.Rh)
     {
         return("Rhodium");
     }
     if (e == ELEMENTS.Pd)
     {
         return("Palladium");
     }
     if (e == ELEMENTS.Ag)
     {
         return("Silver");
     }
     if (e == ELEMENTS.Cd)
     {
         return("Cadmium");
     }
     if (e == ELEMENTS.In)
     {
         return("Indium");
     }
     if (e == ELEMENTS.Sn)
     {
         return("Tin");
     }
     if (e == ELEMENTS.Sb)
     {
         return("Antimony");
     }
     if (e == ELEMENTS.Te)
     {
         return("Tellurium");
     }
     if (e == ELEMENTS.I)
     {
         return("Iodine");
     }
     if (e == ELEMENTS.Xe)
     {
         return("Xenon");
     }
     if (e == ELEMENTS.Cs)
     {
         return("Caesium");
     }
     if (e == ELEMENTS.Ba)
     {
         return("Barium");
     }
     if (e == ELEMENTS.La)
     {
         return("Lanthanum");
     }
     if (e == ELEMENTS.Ce)
     {
         return("Cerium");
     }
     if (e == ELEMENTS.Pr)
     {
         return("Praseodymium");
     }
     if (e == ELEMENTS.Nd)
     {
         return("Neodymium");
     }
     if (e == ELEMENTS.Pm)
     {
         return("Promethium");
     }
     if (e == ELEMENTS.Sm)
     {
         return("Samarium");
     }
     if (e == ELEMENTS.Eu)
     {
         return("Europium");
     }
     if (e == ELEMENTS.Gd)
     {
         return("Gadolinium");
     }
     if (e == ELEMENTS.Tb)
     {
         return("Terbium");
     }
     if (e == ELEMENTS.Dy)
     {
         return("Dysprosium");
     }
     if (e == ELEMENTS.Ho)
     {
         return("Holmium");
     }
     if (e == ELEMENTS.Er)
     {
         return("Erbium");
     }
     if (e == ELEMENTS.Tm)
     {
         return("Thulium");
     }
     if (e == ELEMENTS.Yb)
     {
         return("Ytterbium");
     }
     if (e == ELEMENTS.Lu)
     {
         return("Lutetium");
     }
     if (e == ELEMENTS.Hf)
     {
         return("Hafnium");
     }
     if (e == ELEMENTS.Ta)
     {
         return("Tantalum");
     }
     if (e == ELEMENTS.W)
     {
         return("Tungsten");
     }
     if (e == ELEMENTS.Re)
     {
         return("Rhenium");
     }
     if (e == ELEMENTS.Os)
     {
         return("Osmium");
     }
     if (e == ELEMENTS.Ir)
     {
         return("Iridium");
     }
     if (e == ELEMENTS.Pt)
     {
         return("Platinum");
     }
     if (e == ELEMENTS.Au)
     {
         return("Gold");
     }
     if (e == ELEMENTS.Hg)
     {
         return("Mercury");
     }
     if (e == ELEMENTS.Tl)
     {
         return("Thallium");
     }
     if (e == ELEMENTS.Pb)
     {
         return("Lead");
     }
     if (e == ELEMENTS.Bi)
     {
         return("Bismuth");
     }
     if (e == ELEMENTS.Po)
     {
         return("Polonium");
     }
     if (e == ELEMENTS.At)
     {
         return("Astatine");
     }
     if (e == ELEMENTS.Rn)
     {
         return("Radon");
     }
     if (e == ELEMENTS.Fr)
     {
         return("Francium");
     }
     if (e == ELEMENTS.Ra)
     {
         return("Radium");
     }
     if (e == ELEMENTS.Ac)
     {
         return("Actinium");
     }
     if (e == ELEMENTS.Th)
     {
         return("Thorium");
     }
     if (e == ELEMENTS.Pa)
     {
         return("Protactinium");
     }
     if (e == ELEMENTS.U)
     {
         return("Uranium");
     }
     if (e == ELEMENTS.Np)
     {
         return("Neptunium");
     }
     if (e == ELEMENTS.Pu)
     {
         return("Plutonium");
     }
     if (e == ELEMENTS.Am)
     {
         return("Americium");
     }
     if (e == ELEMENTS.Cm)
     {
         return("Curium");
     }
     if (e == ELEMENTS.Bk)
     {
         return("Berkelium");
     }
     if (e == ELEMENTS.Cf)
     {
         return("Californium");
     }
     if (e == ELEMENTS.Es)
     {
         return("Einsteinium");
     }
     if (e == ELEMENTS.Fm)
     {
         return("Fermium");
     }
     if (e == ELEMENTS.Md)
     {
         return("Mendelevium");
     }
     if (e == ELEMENTS.No)
     {
         return("Nobelium");
     }
     if (e == ELEMENTS.Lr)
     {
         return("Lawrencium");
     }
     if (e == ELEMENTS.Rf)
     {
         return("Rutherfordium");
     }
     if (e == ELEMENTS.Db)
     {
         return("Dubnium");
     }
     if (e == ELEMENTS.Sg)
     {
         return("Seaborgium");
     }
     if (e == ELEMENTS.Bh)
     {
         return("Bohrium");
     }
     if (e == ELEMENTS.Hs)
     {
         return("Hassium");
     }
     if (e == ELEMENTS.Mt)
     {
         return("Meitnerium");
     }
     if (e == ELEMENTS.Ds)
     {
         return("Darmstadtium");
     }
     if (e == ELEMENTS.Rg)
     {
         return("Roentgenium");
     }
     if (e == ELEMENTS.Cn)
     {
         return("Copernicium");
     }
     if (e == ELEMENTS.Nh)
     {
         return("Nihonium");
     }
     if (e == ELEMENTS.Fl)
     {
         return("Flerovium");
     }
     if (e == ELEMENTS.Mc)
     {
         return("Moscovium");
     }
     if (e == ELEMENTS.Lv)
     {
         return("Livermorium");
     }
     if (e == ELEMENTS.Ts)
     {
         return("Tennessine");
     }
     if (e == ELEMENTS.Og)
     {
         return("Oganesson");
     }
     return(string.Empty);
 }
Пример #14
0
        public static CircuitElm ConstructElement(ELEMENTS n, Point pos = new Point())
        {
            switch (n)
            {
                #region Passive Components
            case ELEMENTS.WIRE:
                return(new WireElm(pos));

            case ELEMENTS.GROUND:
                return(new GroundElm(pos));

            case ELEMENTS.SWITCH:
                return(new SwitchElm(pos));

            case ELEMENTS.SWITCH_PUSH:
                return(new PushSwitchElm(pos));

            case ELEMENTS.SWITCH_TERM:
                return(new Switch2Elm(pos));

            case ELEMENTS.RESISTOR:
                return(new ResistorElm(pos));

            case ELEMENTS.POT:
                return(new PotElm(pos));

            case ELEMENTS.CAPACITOR:
                return(new CapacitorElm(pos));

            case ELEMENTS.CAPACITOR_POLER:
                return(new PolarCapacitorElm(pos));

            case ELEMENTS.INDUCTOR:
                return(new InductorElm(pos));

            case ELEMENTS.TRANSFORMER:
                return(new TransformerElm(pos));

            case ELEMENTS.CRYSTAL:
                return(new CrystalElm(pos));

                #endregion

                #region Active Components
            case ELEMENTS.DIODE:
                return(new DiodeElm(pos));

            case ELEMENTS.ZENER:
                return(new ZenerElm(pos));

            case ELEMENTS.LED:
                return(new LEDElm(pos));

            case ELEMENTS.TRANSISTOR:
            case ELEMENTS.TRANSISTOR_N:
                return(new NTransistorElm(pos));

            case ELEMENTS.TRANSISTOR_P:
                return(new PTransistorElm(pos));

            case ELEMENTS.MOSFET:
            case ELEMENTS.MOSFET_N:
                return(new NMosfetElm(pos));

            case ELEMENTS.MOSFET_P:
                return(new PMosfetElm(pos));

            case ELEMENTS.JfetElm:
            case ELEMENTS.NJfetElm:
                return(null); //(CircuitElm)new NJfetElm(x1, y1);

            case ELEMENTS.PJfetElm:
                return(null); //(CircuitElm)new PJfetElm(x1, y1);

            case ELEMENTS.SCRElm:
                return(null); //(CircuitElm)new SCRElm(x1, y1);

            case ELEMENTS.DiacElm:
                return(null); //(CircuitElm)new DiacElm(x1, y1);

            case ELEMENTS.TriacElm:
                return(null); //(CircuitElm)new TriacElm(x1, y1);

            case ELEMENTS.DarlingtonElm:
            case ELEMENTS.NDarlingtonElm:
                return(null); //(CircuitElm)new NDarlingtonElm(x1, y1);

            case ELEMENTS.PDarlingtonElm:
                return(null); //(CircuitElm)new PDarlingtonElm(x1, y1);

            case ELEMENTS.VARACTOR:
                return(new VaractorElm(pos));

            case ELEMENTS.TunnelDiodeElm:
                return(null); //(CircuitElm)new TunnelDiodeElm(x1, y1);

            case ELEMENTS.TriodeElm:
                return(null); //(CircuitElm)new TriodeElm(x1, y1);

                #endregion

                #region Inputs and Sources
            case ELEMENTS.VOLTAGE_DC:
                return(new DCVoltageElm(pos));

            case ELEMENTS.VOLTAGE_AC:
                return(new ACVoltageElm(pos));

            case ELEMENTS.RAIL_DC:
                return(new RailElm(pos));

            case ELEMENTS.RAIL_AC:
                return(new ACRailElm(pos));

            case ELEMENTS.SquareRailElm:
                return(null); //(CircuitElm)new SquareRailElm(x1, y1);

            case ELEMENTS.CLOCK:
                return(new ClockElm(pos));

            case ELEMENTS.SWEEP:
                return(new SweepElm(pos));

            case ELEMENTS.AntennaElm:
                return(null); //(CircuitElm)new AntennaElm(x1, y1);

            case ELEMENTS.OSC_AM:
                return(new AMElm(pos));

            case ELEMENTS.OSC_FM:
                return(new FMElm(pos));

            case ELEMENTS.CURRENT:
                return(new CurrentElm(pos));

            case ELEMENTS.NOISE:
                return(new NoiseElm(pos));

            case ELEMENTS.AudioInputElm:
                return(null); //(CircuitElm)new AudioInputElm(x1, y1);

                #endregion

                #region Outputs and Labels
            case ELEMENTS.OUTPUT:
                return(new LabeledNodeElm(pos));

            case ELEMENTS.VOLTMETER:
                return(new VoltMeterElm(pos));

            case ELEMENTS.AMMETER:
                return(new AmmeterElm(pos));

            case ELEMENTS.DataRecorderElm:
                return(new DataRecorderElm(pos));

            case ELEMENTS.OUTPUT_AUDIO:
                return(new AudioOutputElm(pos));

            case ELEMENTS.LampElm:
                return(null); //(CircuitElm)new LampElm(x1, y1);

            case ELEMENTS.TestPointElm:
                return(null); //new TestPointElm(x1, y1);

            case ELEMENTS.LEDArrayElm:
                return(null); //(CircuitElm)new LEDArrayElm(x1, y1);

            case ELEMENTS.StopTriggerElm:
                return(null); //(CircuitElm)new StopTriggerElm(x1, y1);

            case ELEMENTS.SCOPE:
                return(new ScopeElm(pos));

                #endregion

                #region Active Building Blocks
            case ELEMENTS.OPAMP:
                return(new OpAmpElm(pos));

            case ELEMENTS.OPAMP_SWAP:
                return(new OpAmpSwapElm(pos));

            case ELEMENTS.OpAmpRealElm:
                return(null); //(CircuitElm)new OpAmpRealElm(x1, y1);

            case ELEMENTS.ANALOG_SWITCH:
                return(new AnalogSwitchElm(pos));

            case ELEMENTS.AnalogSwitch2Elm:
                return(null); //(CircuitElm)new AnalogSwitch2Elm(x1, y1);

            case ELEMENTS.CC2Elm:
                return(null); //(CircuitElm)new CC2Elm(x1, y1);

            case ELEMENTS.CC2NegElm:
                return(null); //(CircuitElm)new CC2NegElm(x1, y1);

            case ELEMENTS.ComparatorElm:
                return(null); //new ComparatorElm(x1, y1);

            case ELEMENTS.ComparatorSwapElm:
                return(null); //new ComparatorSwapElm(x1, y1);

            case ELEMENTS.OTAElm:
                return(null); //(CircuitElm)new OTAElm(x1, y1);

            case ELEMENTS.VCVSElm:
                return(null); //(CircuitElm)new VCVSElm(x1, y1);

            case ELEMENTS.VCCSElm:
                return(new VCCSElm(pos));

            case ELEMENTS.CCVSElm:
                return(null); //(CircuitElm)new CCVSElm(x1, y1);

            case ELEMENTS.CCCS:
                return(new CCCSElm(pos));

            case ELEMENTS.OPTOCOUPLER:
                return(new OptocouplerElm(pos));

            case ELEMENTS.CustomCompositeElm:
                return(new CustomCompositeElm(pos));

                #endregion

                #region Logic Gates
            case ELEMENTS.LOGIC_INPUT:
                return(new LogicInputElm(pos));

            case ELEMENTS.LOGIC_OUTPUT:
                return(new LogicOutputElm(pos));

            case ELEMENTS.TRISTATE:
                return(new TriStateElm(pos));

            case ELEMENTS.NOT_GATE:
                return(new InverterElm(pos));

            case ELEMENTS.AND_GATE:
                return(new AndGateElm(pos));

            case ELEMENTS.NAND_GATE:
                return(new NandGateElm(pos));

            case ELEMENTS.OR_GATE:
                return(new OrGateElm(pos));

            case ELEMENTS.NOR_GATE:
                return(new NorGateElm(pos));

            case ELEMENTS.XOR_GATE:
                return(new XorGateElm(pos));

                #endregion

                #region Digital Chips
            case ELEMENTS.SCHMITT:
                return(new SchmittElm(pos));

            case ELEMENTS.SCHMITT_INV:
                return(new InvertingSchmittElm(pos));

            case ELEMENTS.DFlipFlopElm:
                return(new DFlipFlopElm(pos));

            case ELEMENTS.JKFlipFlopElm:
                return(new JKFlipFlopElm(pos));

            case ELEMENTS.TFlipFlopElm:
                return(new TFlipFlopElm(pos));

            case ELEMENTS.SevenSegElm:
                return(null); //(CircuitElm)new SevenSegElm(x1, y1);

            case ELEMENTS.SevenSegDecoderElm:
                return(null); //(CircuitElm)new SevenSegDecoderElm(x1, y1);

            case ELEMENTS.MultiplexerElm:
                return(new MultiplexerElm(pos));

            case ELEMENTS.DeMultiplexerElm:
                return(new DeMultiplexerElm(pos));

            case ELEMENTS.SipoShiftElm:
                return(new SipoShiftElm(pos));

            case ELEMENTS.PisoShiftElm:
                return(new PisoShiftElm(pos));

            case ELEMENTS.CounterElm:
                return(new CounterElm(pos));

            /* if you take out DecadeElm, it will break the menus and people's saved shortcuts */
            /* if you take out RingCounterElm, it will break subcircuits */
            case ELEMENTS.DecadeElm:
            case ELEMENTS.RingCounterElm:
                return(new RingCounterElm(pos));

            case ELEMENTS.LatchElm:
                return(new LatchElm(pos));

            case ELEMENTS.SeqGenElm:
                return(null); //(CircuitElm)new SeqGenElm(x1, y1);

            case ELEMENTS.FullAdderElm:
                return(new FullAdderElm(pos));

            case ELEMENTS.HalfAdderElm:
                return(new HalfAdderElm(pos));

            /* if you take out UserDefinedLogicElm, it will break people's saved shortcuts */
            case ELEMENTS.CUSTOM_LOGIC:
            case ELEMENTS.UserDefinedLogicElm:
                return(new CustomLogicElm(pos));

            case ELEMENTS.SRAMElm:
                return(new SRAMElm(pos));

                #endregion

                #region Analog and Hybrid Chips
            case ELEMENTS.TimerElm:
                return(null); //(CircuitElm)new TimerElm(x1, y1);

            case ELEMENTS.PhaseCompElm:
                return(null); //(CircuitElm)new PhaseCompElm(x1, y1);

            case ELEMENTS.DACElm:
                return(null); //(CircuitElm)new DACElm(x1, y1);

            case ELEMENTS.ADCElm:
                return(null); //(CircuitElm)new ADCElm(x1, y1);

            case ELEMENTS.VCOElm:
                return(null); //(CircuitElm)new VCOElm(x1, y1);

            case ELEMENTS.MonostableElm:
                return(null); //(CircuitElm)new MonostableElm(x1, y1);

                #endregion

            case ELEMENTS.BoxElm:
                return(new BoxElm(pos));

            case ELEMENTS.TextElm:
                return(new TextElm(pos));

            default:
                return(null);
            }
        }
Пример #15
0
 public bool HasElement(ELEMENTS element)
 {
     return(elements.Contains(element));
 }
Пример #16
0
 static public double CovalentRadius(ELEMENTS e)
 {
     return(Convert.ToDouble(LookupValue(e, "bo:radiusCovalent")));
 }
Пример #17
0
 static public string Symbol(ELEMENTS e)
 {
     return(e.ToString());
 }
Пример #18
0
 static public string ElecctronConfiguration(ELEMENTS e)
 {
     return(Element.LookupValue(e, "bo:electronicConfiguration"));
 }
Пример #19
0
 void SetElement(string element)
 {
     e = (ELEMENTS)Enum.Parse(typeof(ELEMENTS), element);
 }
Пример #20
0
 static public double ExactMass(ELEMENTS e)
 {
     return(Convert.ToDouble(Element.LookupValue(e, "bo:exactMass")));
 }
Пример #21
0
 static public int Group(ELEMENTS e)
 {
     return(Convert.ToInt32(Element.LookupValue(e, "bo:group")));
 }
Пример #22
0
	void selectRune(ELEMENTS element){
		for (int i=0; i<maxElements; i++){
			if(myElements[i]==ELEMENTS.ether){
				if(cooldowns[(int)element]<=0){
					myElements[i]=element;
					cooldowns[(int)element]+=elementCooldown;
				}
				break;
			}
		}
		
	}