Ejemplo n.º 1
0
        public static PlanarFace FirstFace(IList <PlanarFace> listFace, XYZ vector)
        {
            PlanarFace         result = null;
            IList <PlanarFace> list   = Facelibry.PerpendicularFace(listFace, vector);
            double             num    = 0.0;

            foreach (PlanarFace planarFace in list)
            {
                XYZ  source = Facelibry.CenterPoint(planarFace);
                bool flag   = MathLib.IsEqual(num, 0.0, 0.0001);
                if (flag)
                {
                    num    = vector.DotProduct(source);
                    result = planarFace;
                }
                else
                {
                    double num2  = vector.DotProduct(source);
                    bool   flag2 = num2 < num;
                    if (flag2)
                    {
                        result = planarFace;
                        num    = num2;
                    }
                }
            }
            return(result);
        }
Ejemplo n.º 2
0
        public static PlanarFace LastFace(IList <PlanarFace> listFace, XYZ vector, Transform transform)
        {
            PlanarFace         result = null;
            IList <PlanarFace> list   = Facelibry.PerpendicularFace(listFace, vector, transform);
            double             num    = 0.0;

            foreach (PlanarFace planarFace in list)
            {
                XYZ xyz = planarFace.Origin;
                xyz = transform.OfPoint(xyz);
                bool flag = MathLib.IsEqual(num, 0.0, 0.0001);
                if (flag)
                {
                    num    = vector.DotProduct(xyz);
                    result = planarFace;
                }
                else
                {
                    double num2  = vector.DotProduct(xyz);
                    bool   flag2 = num2 > num;
                    if (flag2)
                    {
                        result = planarFace;
                        num    = num2;
                    }
                }
            }
            return(result);
        }