<tr><tdclass="paramname">EngineT</td><td>The engine type being viewed (must satisfy <aclass="el"href="conceptgridfire_1_1_engine_type.html"title="Concept for types allowed as engine bases in EngineView.">EngineType</a>).</td></tr>
</table>
</dd>
</dl>
<p><aclass="el"href="classgridfire_1_1_engine_view.html"title="Abstract base class for a "view" of a reaction network engine.">EngineView</a> provides an interface for accessing an underlying engine instance, while presenting a potentially modified or reduced network structure to the user. This enables dynamic or adaptive network topologies (e.g., culling, masking, or remapping of species and reactions) without altering the core physics engine.</p>
<p>Intended usage: Derive from this class to implement a custom view or wrapper that manages a dynamic or adaptive network structure, delegating core calculations to the base engine. The contract is that <aclass="el"href="#ad294227f8b5cf6d970c349eabf5447a6"title="Access the underlying engine instance.">getBaseEngine()</a> must return a reference to the underlying engine instance, which remains responsible for the full physics.</p>
<p>Example (see also <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html"title="An engine view that dynamically adapts the reaction network based on runtime conditions.">AdaptiveEngineView</a>): </p><divclass="fragment"><divclass="line"><spanclass="keyword">class </span>MyAdaptiveView : <spanclass="keyword">public</span><aclass="code hl_class"href="classgridfire_1_1_engine_view.html">gridfire::EngineView</a><DynamicEngine> {</div>
<divclass="ttc"id="aclassgridfire_1_1_dynamic_engine_html"><divclass="ttname"><ahref="classgridfire_1_1_dynamic_engine.html">gridfire::DynamicEngine</a></div><divclass="ttdoc">Abstract class for engines supporting Jacobian and stoichiometry operations.</div><divclass="ttdef"><b>Definition</b> engine_abstract.h:142</div></div>
<divclass="ttc"id="aclassgridfire_1_1_engine_view_html"><divclass="ttname"><ahref="classgridfire_1_1_engine_view.html">gridfire::EngineView</a></div><divclass="ttdoc">Abstract base class for a "view" of a reaction network engine.</div><divclass="ttdef"><b>Definition</b> engine_view_abstract.h:74</div></div>
<divclass="ttc"id="aclassgridfire_1_1_engine_view_html_ad294227f8b5cf6d970c349eabf5447a6"><divclass="ttname"><ahref="#ad294227f8b5cf6d970c349eabf5447a6">gridfire::EngineView::getBaseEngine</a></div><divclass="ttdeci">virtual const EngineT & getBaseEngine() const =0</div><divclass="ttdoc">Access the underlying engine instance.</div></div>
</div><!-- fragment --><dlclass="section see"><dt>See also</dt><dd><aclass="el"href="classgridfire_1_1_adaptive_engine_view.html"title="An engine view that dynamically adapts the reaction network based on runtime conditions.">gridfire::AdaptiveEngineView</a> for a concrete example of dynamic culling. </dd></dl>
</div><h2class="groupheader">Constructor & Destructor Documentation</h2>
<dlclass="section return"><dt>Returns</dt><dd>Const reference to the underlying engine.</dd></dl>
<p>This method must be implemented by derived classes to provide access to the base engine. The returned reference should remain valid for the lifetime of the <aclass="el"href="classgridfire_1_1_engine_view.html"title="Abstract base class for a "view" of a reaction network engine.">EngineView</a>.</p>
<p>Implemented in <aclass="el"href="classgridfire_1_1_adaptive_engine_view.html#aee095b30a9dce5fcb5ae2fa1d2aa192c">gridfire::AdaptiveEngineView</a>, <aclass="el"href="classgridfire_1_1_defined_engine_view.html#a69b9a5812ad8bda13f956acd0da24484">gridfire::DefinedEngineView</a>, <aclass="el"href="classgridfire_1_1_multiscale_partitioning_engine_view.html#a22bd1f0e821ed415611d75bac67063d1">gridfire::MultiscalePartitioningEngineView</a>, <aclass="el"href="class_py_dynamic_engine_view.html#a51680b135cfc3eea40daf9ef5aa903e0">PyDynamicEngineView</a>, and <aclass="el"href="class_py_engine_view.html#a3cd83dc57b521c65a14edf70357a8845">PyEngineView</a>.</p>
<liclass="footer">Generated by <ahref="https://www.doxygen.org/index.html"><imgclass="footer"src="doxygen.svg"width="104"height="31"alt="doxygen"/></a> 1.13.2 </li>