Exemple #1
0
        /// <summary>
        /// Creates a new <see cref="LineFeature"/> (with <see cref="SegmentGeometry"/>) using information previously
        /// recorded via a call to <see cref="AddFeatureDescription"/>.
        /// </summary>
        /// <param name="itemName">The name for the item involved</param>
        /// <param name="from">The point at the start of the line (not null).</param>
        /// <param name="to">The point at the end of the line (not null).</param>
        /// <returns>The created feature (never null)</returns>
        internal virtual LineFeature CreateSegmentLineFeature(string itemName, PointFeature from, PointFeature to)
        {
            LineFeature result = null;
            IFeature    f      = FindFeatureDescription(itemName);

            if (f == null)
            {
                InternalIdValue id = MapModel.WorkingSession.AllocateNextId();
                result = new LineFeature(m_Operation, id, LineType, from, to);
                result.SetNextId();
            }
            else
            {
                result = new LineFeature(f, from, to);
            }

            return(result);
        }