Search Results for

    Show / Hide Table of Contents

    Class PathSegmentCollection

    A collection of path segment objects.

    Inheritance
    System.Object
    PathSegmentCollection
    Implements
    System.Collections.Generic.IReadOnlyList<IronSoftware.Abstractions.IPathSegment>
    System.Collections.Generic.IEnumerable<IronSoftware.Abstractions.IPathSegment>
    System.Collections.IEnumerable
    System.Collections.Generic.IReadOnlyCollection<IronSoftware.Abstractions.IPathSegment>
    Namespace: IronWord.Models
    Assembly: IronWord.dll
    Syntax
    public class PathSegmentCollection : Object

    PathSegmentCollection gathers the ordered IPathSegment items that trace the outline of a custom shape in a Word document. When a developer builds or inspects a freeform shape, the individual line and curve segments that define its geometry are held together here, read in the same sequence they were drawn. It is the container a developer works through whenever a shape is described by its path rather than by a simple preset rectangle or ellipse.

    The collection is read-only over its segments, exposing them for iteration and lookup once the path has been assembled. A developer typically meets the segments of a path when constructing a ShapeContent from a List<IPathSegment>, or when reading the geometry back from an existing shape, so this collection sits on the inspection side of building custom shape outlines.

    Count reports how many segments make up the path, and the Item[Int32] indexer reaches a single segment by position so the geometry can be examined point by point. Contains tests whether a particular segment is part of the path, while CopyTo writes the segments into an IPathSegment[] for code that needs a plain array. GetEnumerator backs a foreach over the segments in order, and ToList materializes them into a List<IPathSegment> when a mutable copy is convenient. Because IsReadOnly is true, treat the collection as a window onto an already-defined path: read, iterate, and copy the segments rather than expecting to add to them in place.

    using IronWord.Models;
    
    var segments = new PathSegmentCollection();
    Console.WriteLine($"Segments in path: {segments.Count}");
    foreach (IPathSegment segment in segments)
        Console.WriteLine(segment);

    The add image how-to, the add table how-to, and the document element tutorial show how shapes and drawing elements fit into a document.

    Constructors

    PathSegmentCollection()

    Create an empty PathSegmentCollection object.

    Declaration
    public PathSegmentCollection()

    PathSegmentCollection(IPathSegment[])

    Declaration
    public PathSegmentCollection(IPathSegment[] segments)
    Parameters
    Type Name Description
    IronSoftware.Abstractions.IPathSegment[] segments

    PathSegmentCollection(List<IPathSegment>)

    Declaration
    public PathSegmentCollection(List<IPathSegment> segments)
    Parameters
    Type Name Description
    System.Collections.Generic.List<IronSoftware.Abstractions.IPathSegment> segments

    Properties

    Count

    Declaration
    public int Count { get; }
    Property Value
    Type Description
    System.Int32

    IsReadOnly

    Declaration
    public bool IsReadOnly { get; }
    Property Value
    Type Description
    System.Boolean

    Item[Int32]

    Declaration
    public IPathSegment this[int index] { get; }
    Parameters
    Type Name Description
    System.Int32 index
    Property Value
    Type Description
    IronSoftware.Abstractions.IPathSegment

    Methods

    Contains(IPathSegment)

    Check whether this path segment contains a particular path segment or not.

    Declaration
    public bool Contains(IPathSegment segment)
    Parameters
    Type Name Description
    IronSoftware.Abstractions.IPathSegment segment

    The path segment to look for.

    Returns
    Type Description
    System.Boolean

    CopyTo(IPathSegment[], Int32)

    Copy this path segment collection to a IronSoftware.Abstractions.IPathSegment array at a specified index.

    Declaration
    public void CopyTo(IPathSegment[] array, int arrayIndex)
    Parameters
    Type Name Description
    IronSoftware.Abstractions.IPathSegment[] array

    The array to copy to.

    System.Int32 arrayIndex

    The index of the array to start the copy.

    GetEnumerator()

    Declaration
    public IEnumerator<IPathSegment> GetEnumerator()
    Returns
    Type Description
    System.Collections.Generic.IEnumerator<IronSoftware.Abstractions.IPathSegment>

    ToList()

    Get the points collection as a System.Collections.Generic.List<>.

    Declaration
    public List<IPathSegment> ToList()
    Returns
    Type Description
    System.Collections.Generic.List<IronSoftware.Abstractions.IPathSegment>

    Implements

    System.Collections.Generic.IReadOnlyList<>
    System.Collections.Generic.IEnumerable<>
    System.Collections.IEnumerable
    System.Collections.Generic.IReadOnlyCollection<>
    ☀
    ☾
    Downloads
    • Download with NuGet
    • Start for Free
    In This Article
    Back to top
    Install with NuGet
    IronWord_for_dotnet_log2o
    Blue key in circleGet started for FREE
    No credit card required
    Test in a live environment

    Test in production without watermarks.
    Works wherever you need it to.

    Fully-functional product

    Get 30 days of fully functional product.
    Have it up and running in minutes.

    24/5 technical support

    Full access to our support engineering team during your product trial

    Grey key in circleGet started for FREE
    The trial form was submitted successfully.
    Calendar in circleBook Free Live Demo
    No contact, no card details, no commitments Book a 30-minute, personal demo.
    Here's what to expect:

    A live demo of our product and its key features

    Get project specific feature recommendations

    All your questions are answered to make sure you have all the information you need. (No commitment whatsoever.)

    Grey key in circleBook Free Live Demo
    Your booking has been completed Check your e-mail for confirmation
    Support Team Member 6 related to The C# PDF Library Support Team Member 14 related to The C# PDF Library Support Team Member 4 related to The C# PDF Library Support Team Member 2 related to The C# PDF Library
    Online 24/5
    Need help? Our sales team would be glad to help you.
    Try the Enterprise Trial
    ironpdf_for_dotnet_log2o
    Key in blue circle
    Get your free 30-day Trial Key instantly.
    bullet_checkedNo credit card or account creation required
    Key in blue circle
    Get your free 30-day Trial Key instantly.
    Blue key in circleNo credit card or account creation required
    Green Check in orange circle
    The trial form was submitted successfully.
    badge_greencheck_in_yellowcircle
    Thank you for starting a trial

    Please check your email for the trial license key.

    If you don’t receive an email, please start a live chat or email support@ironsoftware.com

    Install with NuGet
    View Licensing
    • Logo Aetna
    • Logo NASA
    • Logo GE
    • Logo Porsche
    • Logo USDA
    • Logo Qatar
    Join Millions of Engineers who’ve tried IronWord