Revit.SDK.Samples.GeometryCreation_BooleanOperation.CS.AnalysisVisualizationFramework.ComputeValueAtPointForFace C# (CSharp) Method

ComputeValueAtPointForFace() private static method

Compute the value of face on specific point
private static ComputeValueAtPointForFace ( Face face, IList &uvPts, IList &valList, int measurementNo ) : void
face Face
uvPts IList
valList IList
measurementNo int
return void
        private static void ComputeValueAtPointForFace(Face face, out IList<UV> uvPts, out IList<ValueAtPoint> valList, int measurementNo)
        {
            List<double> doubleList = new List<double>();
             uvPts = new List<UV>();
             valList = new List<ValueAtPoint>();
             BoundingBoxUV bb = face.GetBoundingBox();
             for (double u = bb.Min.U; u < bb.Max.U + 0.0000001; u = u + (bb.Max.U - bb.Min.U) / 1)
             {
            for (double v = bb.Min.V; v < bb.Max.V + 0.0000001; v = v + (bb.Max.V - bb.Min.V) / 1)
            {
               UV uvPnt = new UV(u, v);
               uvPts.Add(uvPnt);
               XYZ faceXYZ = face.Evaluate(uvPnt);
               // Specify three values for each point
               for (int ii = 1; ii <= measurementNo; ii++)
                  doubleList.Add(faceXYZ.DistanceTo(XYZ.Zero) * ii);
               valList.Add(new ValueAtPoint(doubleList));
               doubleList.Clear();
            }
             }
        }