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