示例#1
0
        public override void render()
        {
            if (shape == null)
            {
                return;
            }
            Mps mcps = (Mps)shape;

            for (int m = mcps.MpsmodelCount; --m >= 0;)
            {
                Mps.Mpsmodel mcpsmodel = mcps.getMpsmodel(m);
                if (displayModelIndex >= 0 && displayModelIndex != mcpsmodel.modelIndex)
                {
                    continue;
                }
                for (int c = mcpsmodel.MpspolymerCount; --c >= 0;)
                {
                    Mps.Mpspolymer mpspolymer = mcpsmodel.getMpspolymer(c);
                    if (mpspolymer.monomerCount >= 2)
                    {
                        renderMpspolymer(mpspolymer);
                    }
                }
            }
        }
示例#2
0
 public Mpsmodel(Mps enclosingInstance, Model model)
 {
     InitBlock(enclosingInstance);
     mpspolymers     = new Mpspolymer[model.PolymerCount];
     this.modelIndex = model.modelIndex;
     for (int i = mpspolymers.Length; --i >= 0;)
     {
         mpspolymers[i] = Enclosing_Instance.allocateMpspolymer(model.getPolymer(i));
     }
 }
        public override void renderMpspolymer(Mps.Mpspolymer mpspolymer)
		{
			Ribbons.Schain strandsChain = (Ribbons.Schain) mpspolymer;
			if (strandsChain.wingVectors != null)
			{
				// note that we are not treating a PhosphorusPolymer
				// as nucleic because we are not calculating the wing
				// vector correctly.
				// if/when we do that then this test will become
				//isNucleic = strandsChain.polymer.Nucleic;
                ribbonBorder = false;// viewer.RibbonBorder;
				isNucleic = strandsChain.polymer is NucleicPolymer;
				render1Chain(strandsChain.monomerCount, strandsChain.monomers, strandsChain.leadMidpoints, strandsChain.wingVectors, strandsChain.mads, strandsChain.colixes);
			}
		}
示例#4
0
 private void  InitBlock(Mps enclosingInstance)
 {
     this.enclosingInstance = enclosingInstance;
 }
        public override void renderMpspolymer(Mps.Mpspolymer mpspolymer)
		{
			Cartoon.Cchain strandsChain = (Cartoon.Cchain) mpspolymer;
			if (strandsChain.wingVectors != null)
			{
				monomerCount = strandsChain.monomerCount;
				monomers = strandsChain.monomers;
				isNucleicPolymer = strandsChain.polymer is NucleicPolymer;
				leadMidpoints = strandsChain.leadMidpoints;
				wingVectors = strandsChain.wingVectors;
				mads = strandsChain.mads;
				colixes = strandsChain.colixes;
                //ribbonBorder = viewer.RibbonBorder;
				render1Chain();
			}
		}
示例#6
0
 public abstract void renderMpspolymer(Mps.Mpspolymer mpspolymer);
示例#7
0
            public Mpsmodel(Mps enclosingInstance, Model model)
			{
				InitBlock(enclosingInstance);
				mpspolymers = new Mpspolymer[model.PolymerCount];
				this.modelIndex = model.modelIndex;
				for (int i = mpspolymers.Length; --i >= 0; )
					mpspolymers[i] = Enclosing_Instance.allocateMpspolymer(model.getPolymer(i));
			}
示例#8
0
			private void  InitBlock(Mps enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}