Esempio n. 1
0
        /// <summary>
        /// Performs data processing that involves creating or retiring spatial features.
        /// Newly created features will not have any definition for their geometry - a
        /// subsequent call to <see cref="CalculateGeometry"/> is needed to to that.
        /// </summary>
        /// <param name="ff">The factory class for generating any spatial features</param>
        internal override void ProcessFeatures(FeatureFactory ff)
        {
            PointFeature startPoint = m_From;

            for (int i = 0; i < m_Legs.Count; i++)
            {
                Leg          leg       = m_Legs[i];
                PointFeature lastPoint = (i < (m_Legs.Count - 1) ? null : m_To);
                leg.CreateFeatures(ff, startPoint, lastPoint);
                startPoint = leg.PrimaryFace.GetEndPoint(this);
            }
        }