Archived
deploy.
This commit is contained in:
@@ -88,10 +88,8 @@
|
||||
<h1 id="transformer-select-panel">Transformer Select Panel</h1>
|
||||
|
||||
<p>The Transformer Select Panel is the switchboard that picks which <a class="xref" href="../../api/Hi.Mech.Topo.ITransformer.html">ITransformer</a>
|
||||
occupies a transformer-valued slot and edits the one that is there. Both clients carry it under the
|
||||
same name: <code>wwwroot-src/src/components/topo/TransformerSelectPanel.vue</code> on the web,
|
||||
<code>Mech/Topo/TransformerSelectPanel.xaml</code> on WPF. For the model behind the picker — what each
|
||||
transformer does to a frame — see
|
||||
occupies a transformer-valued slot and edits the one that is there. For the model behind the picker
|
||||
— what each transformer does to a frame — see
|
||||
<a class="xref" href="../../technique/mechanism/transformers.html">Handle Transform Matrix by ITransformer</a>.</p>
|
||||
<h2 id="surface">Surface</h2>
|
||||
<p>The panel's principal home is a <strong>Transformer slot</strong> of the General Setup page's Control Tree
|
||||
@@ -158,13 +156,10 @@ hook, in which case that hook runs instead so the owning domain object is reboun
|
||||
IndexService entry.</p>
|
||||
<p>Which kinds it offers is the <code>allowedKinds</code> prop, defaulting to all seven. A Control-Tree slot feeds
|
||||
it from the node's <code>ctx.allowedKinds</code>; none of the four General Setup slots narrows it, so all seven
|
||||
appear there. The WPF panel restricts through four properties on its code-behind instead:
|
||||
<code>AllowedTransformerTypes</code>, <code>SelectionFilter</code>, <code>ShowNoTransform</code> and <code>ShowNotSet</code>.</p>
|
||||
appear there.</p>
|
||||
<p>When the probed kind falls outside <code>allowedKinds</code>, both the active and the selected kind reset to
|
||||
empty: the dropdown blanks, and the embedded form prints <em>No transformer attached.</em> in place of an
|
||||
editor. The out-of-list transformer is not rendered. The WPF client resolves that case the other
|
||||
way — <code>UpdateUI()</code> leaves the combo unselected when no item matches, then still calls
|
||||
<code>UpdateTransformerPanel()</code> and builds the current transformer's content panel.</p>
|
||||
editor. The out-of-list transformer is not rendered.</p>
|
||||
<h2 id="transformer-kinds">Transformer Kinds</h2>
|
||||
<p>The web client offers seven kinds, one editor each.</p>
|
||||
<table>
|
||||
@@ -213,11 +208,7 @@ way — <code>UpdateUI()</code> leaves the combo unselected when no item matches
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>The WPF client offers six of them — <code>NoTransform</code>, <code>StaticTranslation</code>, <code>StaticFreeform</code>,
|
||||
<code>GeneralTransform</code>, <code>DynamicTranslation</code>, <code>DynamicRotation</code> — plus a <em>Not Set</em> entry that leaves the
|
||||
slot holding a null transformer. It has no <code>StaticRotation</code> panel, and selecting <code>NoTransform</code> there
|
||||
simply empties its content area. The web picker offers no null entry of either sort: identity is
|
||||
expressed by choosing <code>NoTransform</code>.</p>
|
||||
<p>The picker offers no null entry: identity is expressed by choosing <code>NoTransform</code>.</p>
|
||||
<div class="NOTE">
|
||||
<h5>Note</h5>
|
||||
<p>The <a class="xref" href="../../api/Hi.Mech.Topo.GeneralTransform.html">GeneralTransform</a> editor is a composition, not a flat form: a scale field,
|
||||
@@ -226,9 +217,7 @@ embedded in their own bordered cards, titled <em>Rotation sub-transformer</em> a
|
||||
sub-transformer</em>. It keys the two sub-editors off <code>POST /api/GeneralTransform/IndexRotation</code> and
|
||||
<code>/IndexTranslation</code>, edits the scale itself, and owns no vector widget — every
|
||||
<a class="xref" href="../../api/Hi.Geom.Vec3d.html">Vec3d</a> field on it comes from the nested editors. The effective transform is
|
||||
<code>T × R × scale × I</code>. Its WPF counterpart <code>Mech/Topo/GeneralTransformPanel.xaml</code> takes the other
|
||||
approach: three Vec3dControls of its own (translation, rotation axis, rotation pivot) plus scale
|
||||
and angle text boxes, embedding no sub-panel.</p>
|
||||
<code>T × R × scale × I</code>.</p>
|
||||
</div>
|
||||
<h2 id="key-model">Key Model</h2>
|
||||
<ul>
|
||||
|
||||
Reference in New Issue
Block a user