Class PathSegmentCollection
A collection of path segment objects.
Inheritance
Implements
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> |