Archived
deploy.
This commit is contained in:
@@ -93,18 +93,16 @@ surfaces:</p>
|
||||
<ul>
|
||||
<li>the <code>equipment/fixture</code> branch of the General Setup page's Control Tree
|
||||
(<code>/general-setup?tree=equipment/fixture</code>), an equipment child of the General Setup group between
|
||||
Coolant and Workpiece. <code>/fixture</code> and anything below it redirects there;</li>
|
||||
<li>in the WPF client, a sub-window opened from the <a class="xref" href="../shell/main-panel.html">Main Panel</a>.</li>
|
||||
Coolant and Workpiece. <code>/fixture</code> and anything below it redirects there.</li>
|
||||
</ul>
|
||||
<p>Both edit the one fixture the project owns.</p>
|
||||
<p>It edits the one fixture the project owns.</p>
|
||||
<ul>
|
||||
<li>Key Model:
|
||||
<ul>
|
||||
<li><a class="xref" href="../../api/Hi.NcMech.Fixtures.Fixture.html">Fixture</a>
|
||||
On the web it is addressed by an IndexService key handed to the
|
||||
It is addressed by an IndexService key handed to the
|
||||
<a class="xref" href="../widget/object-management-menu-button.html">Object Management Menu Button</a> and installed back onto
|
||||
the project through the controller's UpdateFixture. On the WPF client the same button is wired
|
||||
with a TargetObjectGetter / TargetObjectSetter pair (see that page for the design pattern).</li>
|
||||
the project through the controller's UpdateFixture.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Assistant Model:
|
||||
@@ -114,14 +112,11 @@ with a TargetObjectGetter / TargetObjectSetter pair (see that page for the desig
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>The displayee differs by client. The web branch has no fixture-only canvas: it shares the General
|
||||
Setup canvas, whose displayee is the equipment-setup displayee (<code>Disp/EquipmentSetupDisplayee.cs</code>) —
|
||||
the merged fixture + workpiece scene with the anchor, buckle and controller-coordinate overlays. Its
|
||||
option set is the equipment-setup config (<code>Disp/EquipmentSetupDisplayeeConfig.cs</code>), carried on
|
||||
<code>UserService.UserConfig</code> as its <code>EquipmentSetupDisplayeeConfig</code> property. The WPF sub-window has a
|
||||
canvas of its own, whose displayee is <a class="xref" href="../../api/Hi.NcMech.Fixtures.FixtureEditorDisplayee.html">FixtureEditorDisplayee</a> configured by
|
||||
<a class="xref" href="../../api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.html">FixtureEditorDisplayeeConfig</a>, taken from <code>UserService.UserConfig</code> as its
|
||||
<code>FixtureSetupDisplayeeConfig</code> property.</p>
|
||||
<p>There is no fixture-only canvas: the branch shares the General Setup canvas, whose displayee is the
|
||||
equipment-setup displayee (<code>Disp/EquipmentSetupDisplayee.cs</code>) — the merged fixture + workpiece scene
|
||||
with the anchor, buckle and controller-coordinate overlays. Its option set is the equipment-setup
|
||||
config (<code>Disp/EquipmentSetupDisplayeeConfig.cs</code>), carried on <code>UserService.UserConfig</code> as its
|
||||
<code>EquipmentSetupDisplayeeConfig</code> property.</p>
|
||||
<h2 id="layout">Layout</h2>
|
||||
<h3 id="control-tree-branch">Control Tree Branch</h3>
|
||||
<p>The root panel is rendered inline by the dock's primary editor pane, so it has no title label of its
|
||||
@@ -164,53 +159,10 @@ Display Options dropdown carries this branch's share of the scene — the <stron
|
||||
Solid / Edge / Hide radio group, and the Fixture Geom Anchor, Workpiece Buckle and Table Buckle
|
||||
flags in the Anchors group.</li>
|
||||
</ul>
|
||||
<h3 id="wpf-page">WPF Page</h3>
|
||||
<ul>
|
||||
<li>Head Line
|
||||
<ul>
|
||||
<li><a class="xref" href="../widget/object-management-menu-button.html">Object Management Menu Button</a> — file extension
|
||||
<code>.Fixture</code>, load type <a class="xref" href="../../api/Hi.NcMech.Fixtures.Fixture.html">Fixture</a>, rel file <code>Fixture.xml</code>. The pointed
|
||||
Editor Panel is the Management Tabs Panel, a ContentPresenter the button swaps between the tab
|
||||
stack and XML mode.</li>
|
||||
<li>Title Label</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Management Tabs Panel — the same content the tree renders as nodes, stacked as tabs:
|
||||
<ul>
|
||||
<li>Geometry Tab — <a class="xref" href="../geom/geom-manage-control.html">Geometry Management Control</a> over
|
||||
<a class="xref" href="../../api/Hi.NcMech.Fixtures.Fixture.html#Hi_NcMech_Fixtures_Fixture_Geom">Geom</a>.</li>
|
||||
<li>Anchor Tab — a nested tab stack, each tab a
|
||||
<a class="xref" href="../geom/transformer-panel.html">Transformer Manage Panel</a>:
|
||||
<ul>
|
||||
<li>Geom To Workpiece Tab</li>
|
||||
<li>Geom To Table Tab</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Viewer Panel
|
||||
<ul>
|
||||
<li>Viewer ToolBar
|
||||
<ul>
|
||||
<li><a class="xref" href="../widget/renderingcanvas-tool-bar.html">RenderingCanvas Tool Bar</a></li>
|
||||
<li>Display Options menu — the Show Geom Anchor, Show Workpiece Buckle and Show Table Buckle
|
||||
checkboxes and the Solid / Edge / Hide rendering-mode radio group, all writing
|
||||
<a class="xref" href="../../api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.html">FixtureEditorDisplayeeConfig</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>RenderingCanvas — its <a class="xref" href="../../api/Hi.Disp.DispEngine.html">DispEngine</a>.<a class="xref" href="../../api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_Displayee">Displayee</a> is
|
||||
<a class="xref" href="../../api/Hi.NcMech.Fixtures.FixtureEditorDisplayee.html">FixtureEditorDisplayee</a>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Both clients put a draggable divider between the editor column and the canvas: a GridSplitter in the
|
||||
WPF page, nested draggable splitters on the web page (dock / content column / canvas), plus the
|
||||
dock's own height divider between the tree row and the editor row.</p>
|
||||
<h2 id="behavior">Behavior</h2>
|
||||
<ul>
|
||||
<li><a class="xref" href="../../api/Hi.NcMech.Fixtures.Fixture.html#Hi_NcMech_Fixtures_Fixture_ClearGeomCache">ClearGeomCache()</a> runs after any change at or below the branch. On
|
||||
the web each node's afterChange chain ends in the controller's ClearGeometryCache, which calls it;
|
||||
in WPF the page calls it directly from the geometry control's setter and update callbacks.</li>
|
||||
<li><a class="xref" href="../../api/Hi.NcMech.Fixtures.Fixture.html#Hi_NcMech_Fixtures_Fixture_ClearGeomCache">ClearGeomCache()</a> runs after any change at or below the branch:
|
||||
each node's afterChange chain ends in the controller's ClearGeometryCache, which calls it.</li>
|
||||
<li>The two anchor slots re-commit their swap-in <em>before</em> clearing the cache: an inner-value edit
|
||||
re-posts UpdateGeomToWorkpieceTransformer / UpdateGeomToTableTransformer, so the object the
|
||||
switchboard produced is always the one installed on the owning field when the redraw happens.</li>
|
||||
@@ -222,10 +174,7 @@ once.</li>
|
||||
<li>Kind pickers are parent-aware. Picking a geometry kind calls CreateGeometry, which installs the
|
||||
new object on <a class="xref" href="../../api/Hi.NcMech.Fixtures.Fixture.html#Hi_NcMech_Fixtures_Fixture_Geom">Geom</a> server-side and maps the literal <code>None</code> to
|
||||
null; picking a transformer kind creates the object and then rebinds the owning field.</li>
|
||||
<li>View snapping differs by client. The WPF page snaps its canvas to the isometric view when the
|
||||
displayee is bound, and again whenever a new geometry object is set, on the assumption that a
|
||||
shape swap changes the scene more than an edit within one shape does. The shared web canvas snaps
|
||||
once, when its displayee is bound — the display controller's initialize does it server-side.
|
||||
<li>The shared canvas snaps to the isometric view once, when its displayee is bound — the display controller's initialize does it server-side.
|
||||
Afterwards a geometry set only clears the cache, and the operator re-frames from the
|
||||
<a class="xref" href="../widget/renderingcanvas-tool-bar.html">RenderingCanvas Tool Bar</a>'s view picker.</li>
|
||||
<li>Both canvases draw the live model, so an edit shows on the next frame with no further calls.</li>
|
||||
@@ -287,13 +236,11 @@ fixture + workpiece scene with the anchor, buckle and controller-coordinate over
|
||||
<ul>
|
||||
<li><code>HiMech/NcMech/Fixtures/Fixture.cs</code> — the key model: the geometry, the table and workpiece
|
||||
buckles, the geom anchor, the two anchor transformers and ClearGeomCache.</li>
|
||||
<li><code>HiMech/NcMech/Fixtures/FixtureEditorDisplayee.cs</code> — the WPF fixture canvas's displayee.</li>
|
||||
<li><code>HiMech/NcMech/Fixtures/FixtureEditorDisplayeeConfig.cs</code> — its option set: ShowGeomAnchor,
|
||||
ShowWorkpieceBuckle, ShowTableBuckle and the rendering mode.</li>
|
||||
</ul>
|
||||
<h2 id="see-also">See Also</h2>
|
||||
<ul>
|
||||
<li><a class="xref" href="../util/mech-builder.html">Mechanism Builder Page</a> — reuses this page’s parent-aware transformer rebind pattern</li>
|
||||
<li><a class="xref" href="../tool-house/holder/freeform-holder-panel.html">Freeform Holder Panel</a> — the other surface built from the same generic Geometry and Transformer slots</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
Reference in New Issue
Block a user