Table of Contents

Class TopoReflection

Namespace
Hi.Mech.Topo
Assembly
HiMech.dll

Clone Asmb and provide map between source topology and cloned topology. The clone is one native clone_subtree under one registry lock, so it is one consistent snapshot of the source: every assembly and anchor inside the root (names copied, fresh GUIDs), then every branch whose both ends were cloned, each with a copy of its transformer and with its error-term mark (IsErrorTerm: the native clone copies it, and the twin view reads it when it is made). The twin lives in a Hi.Mech.Topo.TopoWorld of its own with the root twin as its root assembly.

public class TopoReflection
Inheritance
TopoReflection
Inherited Members
Extension Methods

Constructors

TopoReflection(Asmb)

Ctor.

public TopoReflection(Asmb rootAsmb)

Parameters

rootAsmb Asmb

root assembly

Exceptions

ArgumentNullException

rootAsmb is null.

OutOfMemoryException

The native clone could not be allocated.

Properties

AnchorMap

Key is source anchor. Value is cloned anchor.

public Dictionary<Anchor, Anchor> AnchorMap { get; }

Property Value

Dictionary<Anchor, Anchor>

AsmbMap

Key is source asmb. Value is cloned asmb.

public Dictionary<Asmb, Asmb> AsmbMap { get; }

Property Value

Dictionary<Asmb, Asmb>

BranchMap

Key is source branch. Value is cloned branch.

public Dictionary<Branch, Branch> BranchMap { get; }

Property Value

Dictionary<Branch, Branch>

HostAsmbTwins

Pair<TA, TB>.A is the source host; Pair<TA, TB>.B is the cloned host.

public Pair<Asmb, Asmb> HostAsmbTwins { get; }

Property Value

Pair<Asmb, Asmb>

TransformerMap

Key is source transformer. Value is cloned transformer.

public Dictionary<ITransformer, ITransformer> TransformerMap { get; }

Property Value

Dictionary<ITransformer, ITransformer>