Exemplo n.º 1
0
        //public static LWQuboidPlace EncloseCopy(this IHas<IQuboidPlaceLogic> qplace, IHas<IQuboidPlaceLogic> placeToEnclose)
        //{
        //    LWQuboidPlace quboidplace = new LWQuboidPlace();
        //    double right = qplace.Right();
        //    double front = qplace.Front();
        //    double up = qplace.Up();

        //    quboidplace.Left = Math.Min(qplace.Left, placeToEnclose.Left);
        //    quboidplace.Back = Math.Min(qplace.Back, placeToEnclose.Back);
        //    quboidplace.Down = Math.Min(qplace.Down, placeToEnclose.Down);
        //    quboidplace.Width = Math.Max(right, placeToEnclose.Right()) - quboidplace.Left;
        //    quboidplace.Length = Math.Max(front, placeToEnclose.Front()) - quboidplace.Back;
        //    quboidplace.Height = Math.Max(up, placeToEnclose.Up()) - quboidplace.Down;

        //    return quboidplace;
        //}

        public static LWQuboidPlace MoveCopy(this IHas <IQuboidPlaceLogic> quboidPlace, double x, double y, double z)
        {
            LWQuboidPlace qplace = new LWQuboidPlace(quboidPlace);

            qplace.Move(x, y, z);
            return(qplace);
        }
Exemplo n.º 2
0
        public static LWQuboidPlace Quboid <T>(this GridQuboid <T> gquboid) where T : IConnectedGridElement3D, ILocalizableGridElement3D, IHas <IQuboidPlaceLogic>
        {
            LWQuboidPlace quboid = new LWQuboidPlace();
            bool          init   = true;

            foreach (var element in gquboid.EnclosedElements)
            {
                if (init)
                {
                    element.TakeSimpleValues <IQuboidPlaceLogic>(quboid);
                    init = false;
                }
                else
                {
                    quboid.Enclose(element);
                }
            }
            return(quboid);
        }