public RayTraceParameters(OpticalSystem system)
        {
            this._sequence         = new List <Element>();
            this._sequential_mode  = true;
            this._intensity_mode   = RayTracer.TraceIntensityMode.Simpletrace;
            this._propagation_mode = PropagationMode.RayPropagation;
            this._max_bounce       = 50;
            this._unobstructed     = false;
            this._lost_ray_length  = 1000;
            foreach (Element e in system.elements())
            {
                add(e);
            }

            _sequence.Sort((a, b) =>
            {
                double z1 = a.get_position().z();
                double z2 = b.get_position().z();
                if (z1 > z2)
                {
                    return(1);
                }
                else if (z1 < z2)
                {
                    return(-1);
                }
                else
                {
                    return(0);
                }
            });
            this._default_distribution = new Distribution(Pattern.MeridionalDist, 10, 0.999);
        }
Exemple #2
0
		private static void Endisable(ToolStrip ts, bool enable, PropagationMode mode){
			if((mode & PropagationMode.CHILDREN) == PropagationMode.CHILDREN) {
				foreach(ToolStripItem tsi in ts.Items) {
					Endisable(tsi, enable, PropagationMode.CHILDREN);
				}
			}
		}
Exemple #3
0
		private static void Endisable(ToolStripDropDownItem tsddi, bool enable, PropagationMode mode) {
			
			if((mode & PropagationMode.CHILDREN) == PropagationMode.CHILDREN) {
				foreach(ToolStripItem tsi in tsddi.DropDownItems) {
					Endisable(tsi, enable, PropagationMode.CHILDREN);
				}
			}
			tsddi.Enabled = enable;
		}
Exemple #4
0
		private static void Endisable(ToolStripItem tsi, bool enable, PropagationMode mode){
			if(tsi is ToolStripDropDownItem) {
				Endisable(tsi as ToolStripDropDownItem, enable, mode);
			} else {
				tsi.Enabled = enable;
			}
			if((mode & PropagationMode.ANCESTORS) == PropagationMode.ANCESTORS) {
				if(tsi.OwnerItem != null) Endisable(tsi.OwnerItem, enable, PropagationMode.ANCESTORS);
			}
			
		}
Exemple #5
0
 public NiCollisionData()
 {
     propagationMode = (PropagationMode)0;
     collisionMode   = (CollisionMode)0;
     useAbv          = (byte)0;
 }
Exemple #6
0
 private IEnumerable <XmlQualifiedName> GetPropertyNamesByPropagationMode(PropagationMode mode)
 {
     return(this.Cast <PropertyPropagation>().Where(e => e.Mode == mode).Select(p => p.QName));
 }