Class TopoReflection
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
rootAsmbAsmbroot assembly
Exceptions
- ArgumentNullException
rootAsmbis null.- OutOfMemoryException
The native clone could not be allocated.
Properties
AnchorMap
public Dictionary<Anchor, Anchor> AnchorMap { get; }
Property Value
AsmbMap
public Dictionary<Asmb, Asmb> AsmbMap { get; }
Property Value
BranchMap
public Dictionary<Branch, Branch> BranchMap { get; }
Property Value
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
TransformerMap
public Dictionary<ITransformer, ITransformer> TransformerMap { get; }