Table of Contents

Class IsoCoordinateTableProxy

Namespace
Hi.NcParsers.Dependencys.Generic
Assembly
HiMech.dll

Get-or-create INcDependencyProxy for IsoCoordinateTable: a placeholder in the shared PipelineNcDependencyList that resolves the host project's own per-case work coordinate offsets (G54–G59…).

The proxy may carry a Seed — the shape (which ids exist, all zero) a fresh host table is cloned from. The Fanuc, Mazak and Syntec presets mount this proxy behind their brand parameter table with the ExtendedG59x seed, so the brand table keeps G54–G59 and G54.1 P1–P48 while this table carries only the extended G59.1–G59.9 the brand tables cannot map. Without a seed the fresh table is the full brand-neutral set (the shape every pre-seed <IsoCoordinateTableProxy/> element materialized).

public sealed class IsoCoordinateTableProxy : INcDependencyProxy, INcDependency, IMakeXmlSource
Inheritance
IsoCoordinateTableProxy
Implements
Inherited Members
Extension Methods

Constructors

IsoCoordinateTableProxy()

Creates a proxy whose fresh host table is the full brand-neutral default.

public IsoCoordinateTableProxy()

IsoCoordinateTableProxy(IsoCoordinateTable)

Creates a proxy whose fresh host table is cloned from seed (null for the full brand-neutral default).

public IsoCoordinateTableProxy(IsoCoordinateTable seed)

Parameters

seed IsoCoordinateTable

The shape a fresh host table is cloned from.

Properties

Seed

The shape a fresh host table is deep-cloned from — its ids at zero — or null for the full brand-neutral default. Carried on the shared runner and serialized into the runner file; never the per-case instance, which lives on the host (see GetNcDependency()).

public IsoCoordinateTable Seed { get; }

Property Value

IsoCoordinateTable

XName

XML element name used to register this dependency with XFactory.

public static string XName { get; }

Property Value

string

Methods

GetNcDependency()

Takes the host's IsoCoordinateTable (created during InitNcDependencyHost(INcDependencyListHost)). Returns null when no host is wired.

public INcDependency GetNcDependency()

Returns

INcDependency

InitNcDependencyHost(INcDependencyListHost)

Wires the host and materializes the per-case IsoCoordinateTable: when the host list has none, one is created (a clone of Seed, else the full default) and installed so it exists and is editable before any run. GetNcDependency() is then a pure take. Idempotent — an existing table is left untouched, whatever its shape.

public void InitNcDependencyHost(INcDependencyListHost host)

Parameters

host INcDependencyListHost

MakeXmlSource(string, string, bool)

Serializes only the Seed (an empty element when there is none) — the wired host and the resolved table are runtime-only and not persisted in the shared runner.

public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly)

Parameters

baseDirectory string
relFile string
exhibitionOnly bool

Returns

XElement

Reg(XFactory)

Registers this type's deserializer with the given XFactory (or Default when factory is null). Rehydrates the carried Seed from the nested IsoCoordinateTable element when present. Idempotent.

public static void Reg(XFactory factory = null)

Parameters

factory XFactory