Esempio n. 1
0
        // Must call Reset() before this in advance
        public Cube4 GetCube4()
        {
            if (!Exist())
            {
                return(null);
            }
            double a = rd.NextDouble(), b = rd.NextDouble();
            var    c = rd.NextDouble() < CF ? Corner.odd[Array.FindIndex(OCPs, x => x > a * OCP)] :
                       Corner.even[Array.FindIndex(ECPs, x => x > a * ECP)];
            var w  = Wing.list[Array.FindIndex(WPs, x => x > b)];
            var xc = XCenter.GetInstance(xcLimit);

            return(new Cube4(c.GetInstance(), w.GetInstance(), xc));
        }