[IoId("00000000-9d4e-44f0-a646-0c68486e099f")] public sealed class Nodes : IStorable, IEquatable<Nodes>
Maintains an immutable list of Node instances and associated attributes.

Constructors

Nodes

#
public Nodes(IReader reader)
reader (IReader)

Nodes

#
public Nodes(Node[] nodes, MetaData[] attributes)
nodes (Node[])
attributes (MetaData[])

Properties

Backwards

#
public IEnumerable<Node> Backwards { get; }
Enumerate over all nodes in a backwards fashion.

BackwardsWithAttributes

#
public IEnumerable<(Node node, MetaData attributes)> BackwardsWithAttributes { get; }
Enumerate over all nodes in a backwards fashion.

Bounds

#
public BoundingBox Bounds { get; }
Gets the bounds of this node collection. The bounds are computed lazily and then cached.

Count

#
public int Count { get; }
Gets the number of nodes in this collection.

Forwards

#
public IEnumerable<Node> Forwards { get; }
Enumerate over all nodes in a forwards fashion.

ForwardsWithAttributes

#
public IEnumerable<(Node node, MetaData attributes)> ForwardsWithAttributes { get; }
Enumerate over all nodes in a forwards fashion.

Indexers

this[]

#
public (Node node, MetaData attributes) this[int index, bool lookupAttributes] { get; }
Gets the node and its attributes at the given index.
index (int)
lookupAttributes (bool)

this[]

#
public Node this[int index] { get; }
Gets the node at the given index.
index (int)

Methods

Attributes

#
public MetaData Attributes(int index)
Gets the attributes associated with the given index. Note; the index here does NOT represent the node, but the attributes.
index (int)

Clean

#
public Nodes Clean()
Cleanup this list of nodes. This involves removing unused attributes and merging identical attributes.

Deform

#
public Nodes Deform(SpaceMorph transform)
Transform all the nodes.
transform (SpaceMorph)

Equals

#
public bool Equals(Nodes other)
other (Nodes)

Equals

#
public override bool Equals(object obj)
obj (object)
Object.Equals

GetHashCode

#
public override int GetHashCode()

Merge

#
public static Nodes Merge(Nodes a, Nodes b)
Merge two node arrays.
a (Nodes)
b (Nodes)

Store

#
public void Store(IWriter writer)
writer (IWriter)
Store

ToPointArray

#
public Point3d[] ToPointArray()
Create a oint3d array out of all nodes.

Transform

#
public Nodes Transform(Transform transform)
Transform all the nodes.
transform (Transform)

WithoutAttributes

#
public Nodes WithoutAttributes()
Remove all attributes from this node list.