Skip to content

Commit

Permalink
Deploying to gh-pages from @ b780df1 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
traversaro committed Dec 5, 2024
1 parent 5cf521d commit 59cc6fa
Show file tree
Hide file tree
Showing 6 changed files with 98 additions and 1 deletion.
23 changes: 23 additions & 0 deletions ModelTransformers_8h.html
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,12 @@ <h2><a href="#func-members">Functions</a></h2>
<a href="classiDynTree_1_1Model.html" class="m-doc">iDynTree::<wbr />Model</a>&amp; outputModel) -&gt; bool</span>
</dt>
<dd><a href="classiDynTree_1_1Transform.html" class="m-doc">Transform</a> the input model in model that can be exported as URDF with the given base link.</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="#a9a8fd1db7c7bbfb060362056a4ec65ee" class="m-doc">removeAdditionalFramesFromModel</a>(</span><span class="m-doc-wrap">const Model&amp; modelWithAllAdditionalFrames,
Model&amp; modelWithOnlyAllowedAdditionalFrames,
const std::vector&lt;std::string&gt; allowedAdditionalFrames = std::vector&lt;std::string&gt;()) -&gt; bool</span>
</dt>
<dd>\function Remove all additional frames from the model, except a specified allowlist.</dd>
</dl>
</section>
<section>
Expand Down Expand Up @@ -221,6 +227,23 @@ <h3>
</table>
<p>In iDynTree, the link frame can be placed without constraint w.r.t. to the joints to which the link is connected. On the other hand, in the URDF format, the origin of the frame of the child link connected to its parent with a non-fixed joint <strong>must</strong> lay on the axis of the joint.</p><p>That means that if you want to export a model with an arbitrary base link, some link frame will need to be moved to respect the constraint given by the URDF format. This function perform exactly this transformation, ensuring that inertia, visual and collision information is probably accounted for, and leaving the original link frames in the model as &quot;additional frames&quot; with the naming scheme &lt;linkName&gt;_original_frame .</p><p>Note that the operation done depends on the base link used, if you want to use a different base link, change the default base link of the model via inputModel.setDefaultBaseLink method.</p>
</div></section>
<section class="m-doc-details" id="a9a8fd1db7c7bbfb060362056a4ec65ee"><div>
<h3>
<span class="m-doc-wrap-bumper">bool </span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a9a8fd1db7c7bbfb060362056a4ec65ee" class="m-doc-self">removeAdditionalFramesFromModel</a>(</span><span class="m-doc-wrap">const Model&amp; modelWithAllAdditionalFrames,
Model&amp; modelWithOnlyAllowedAdditionalFrames,
const std::vector&lt;std::string&gt; allowedAdditionalFrames = std::vector&lt;std::string&gt;())</span></span>
</h3>
<p>\function Remove all additional frames from the model, except a specified allowlist.</p>
<table class="m-table m-fullwidth m-flat">
<tfoot>
<tr>
<th style="width: 1%">Returns</th>
<td>true if all went well, false if there was an error.</td>
</tr>
</tfoot>
</table>
<p>This function takes in input a model, and return a model with all the additional frame list removed, except for the additional frames whose name is specified in the specified allowlist.</p><aside class="m-note m-info"><h4>Note</h4><p>The main use of this function is for processing models that need to be passed to other libraries or physics engines, where the additional frames may create problems or create performance problem. As long as you are using iDynTree, the presence of additional frames does not impact the performance of kinematics or dynamics algorithms, so there is no need to call this function to remove the additional frames.</p></aside>
</div></section>
</section>
</div>
</div>
Expand Down
6 changes: 6 additions & 0 deletions namespaceiDynTree.html
Original file line number Diff line number Diff line change
Expand Up @@ -1532,6 +1532,12 @@ <h2><a href="#func-members">Functions</a></h2>
<a href="classiDynTree_1_1Model.html" class="m-doc">iDynTree::<wbr />Model</a>&amp; outputModel) -&gt; bool</span>
</dt>
<dd><a href="classiDynTree_1_1Transform.html" class="m-doc">Transform</a> the input model in model that can be exported as URDF with the given base link.</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="ModelTransformers_8h.html#a9a8fd1db7c7bbfb060362056a4ec65ee" class="m-doc">removeAdditionalFramesFromModel</a>(</span><span class="m-doc-wrap">const <a href="classiDynTree_1_1Model.html" class="m-doc">Model</a>&amp; modelWithAllAdditionalFrames,
<a href="classiDynTree_1_1Model.html" class="m-doc">Model</a>&amp; modelWithOnlyAllowedAdditionalFrames,
const std::vector&lt;std::string&gt; allowedAdditionalFrames = std::vector&lt;std::string&gt;()) -&gt; bool</span>
</dt>
<dd>\function Remove all additional frames from the model, except a specified allowlist.</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="group__iDynTreeSensors.html#ga26f5afdf5245848ed0cf946cab8510d6" class="m-doc">predictSensorsMeasurements</a>(</span><span class="m-doc-wrap">const <a href="classiDynTree_1_1Model.html" class="m-doc">Model</a>&amp; model,
const <a href="classiDynTree_1_1Traversal.html" class="m-doc">Traversal</a>&amp; traversal,
Expand Down
2 changes: 1 addition & 1 deletion searchdata-v2.js

Large diffs are not rendered by default.

33 changes: 33 additions & 0 deletions xml/ModelTransformers_8h.xml
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,39 @@
</inbodydescription>
<location file="iDynTree/ModelTransformers.h" line="166" column="6" declfile="iDynTree/ModelTransformers.h" declline="166" declcolumn="6"/>
</memberdef>
<memberdef kind="function" id="ModelTransformers_8h_1a9a8fd1db7c7bbfb060362056a4ec65ee" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type>bool</type>
<definition>bool iDynTree::removeAdditionalFramesFromModel</definition>
<argsstring>(const Model &amp;modelWithAllAdditionalFrames, Model &amp;modelWithOnlyAllowedAdditionalFrames, const std::vector&lt; std::string &gt; allowedAdditionalFrames=std::vector&lt; std::string &gt;())</argsstring>
<name>removeAdditionalFramesFromModel</name>
<param>
<type>const Model &amp;</type>
<declname>modelWithAllAdditionalFrames</declname>
</param>
<param>
<type>Model &amp;</type>
<declname>modelWithOnlyAllowedAdditionalFrames</declname>
</param>
<param>
<type>const std::vector&lt; std::string &gt;</type>
<declname>allowedAdditionalFrames</declname>
<defval>std::vector&lt; std::string &gt;()</defval>
</param>
<briefdescription>
<para>\function Remove all additional frames from the model, except a specified allowlist. </para>
</briefdescription>
<detaileddescription>
<para>This function takes in input a model, and return a model with all the additional frame list removed, except for the additional frames whose name is specified in the specified allowlist.</para>
<para><simplesect kind="note"><para>The main use of this function is for processing models that need to be passed to other libraries or physics engines, where the additional frames may create problems or create performance problem. As long as you are using iDynTree, the presence of additional frames does not impact the performance of kinematics or dynamics algorithms, so there is no need to call this function to remove the additional frames.</para>
</simplesect>
<simplesect kind="return"><para>true if all went well, false if there was an error. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="iDynTree/ModelTransformers.h" line="186" column="6" declfile="iDynTree/ModelTransformers.h" declline="186" declcolumn="6"/>
</memberdef>
</sectiondef>
<briefdescription>
<para>Collection of function to modify model in various ways. </para>
Expand Down
2 changes: 2 additions & 0 deletions xml/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4455,6 +4455,7 @@
<member refid="ModelTransformers_8h_1a3800ea0a0da713ba27da022845601b2f" kind="function"><name>extractSubModel</name></member>
<member refid="ModelTransformers_8h_1a43a3d5de5f629b00c5c7a607278a4f20" kind="function"><name>addValidNamesToAllSolidShapes</name></member>
<member refid="ModelTransformers_8h_1a133a097cc3ef37982c00cdd729829118" kind="function"><name>moveLinkFramesToBeCompatibleWithURDFWithGivenBaseLink</name></member>
<member refid="ModelTransformers_8h_1a9a8fd1db7c7bbfb060362056a4ec65ee" kind="function"><name>removeAdditionalFramesFromModel</name></member>
<member refid="group__iDynTreeSensors_1ga26f5afdf5245848ed0cf946cab8510d6" kind="function"><name>predictSensorsMeasurements</name></member>
<member refid="group__iDynTreeSensors_1ga85a09204a0c57c96bb77548d2a633677" kind="function"><name>predictSensorsMeasurementsFromRawBuffers</name></member>
<member refid="group__iDynTreeSensors_1gacf87de6a0acc7c79369e4ea587ef19bc" kind="function"><name>predictSensorsMeasurements</name></member>
Expand Down Expand Up @@ -5309,6 +5310,7 @@
<member refid="ModelTransformers_8h_1a3800ea0a0da713ba27da022845601b2f" kind="function"><name>extractSubModel</name></member>
<member refid="ModelTransformers_8h_1a43a3d5de5f629b00c5c7a607278a4f20" kind="function"><name>addValidNamesToAllSolidShapes</name></member>
<member refid="ModelTransformers_8h_1a133a097cc3ef37982c00cdd729829118" kind="function"><name>moveLinkFramesToBeCompatibleWithURDFWithGivenBaseLink</name></member>
<member refid="ModelTransformers_8h_1a9a8fd1db7c7bbfb060362056a4ec65ee" kind="function"><name>removeAdditionalFramesFromModel</name></member>
</compound>
<compound refid="Model_2MovableJointImpl_8h" kind="file"><name>MovableJointImpl.h</name>
</compound>
Expand Down
33 changes: 33 additions & 0 deletions xml/namespaceiDynTree.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3813,6 +3813,39 @@
</inbodydescription>
<location file="iDynTree/ModelTransformers.h" line="166" column="6" declfile="iDynTree/ModelTransformers.h" declline="166" declcolumn="6"/>
</memberdef>
<memberdef kind="function" id="ModelTransformers_8h_1a9a8fd1db7c7bbfb060362056a4ec65ee" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type>bool</type>
<definition>bool iDynTree::removeAdditionalFramesFromModel</definition>
<argsstring>(const Model &amp;modelWithAllAdditionalFrames, Model &amp;modelWithOnlyAllowedAdditionalFrames, const std::vector&lt; std::string &gt; allowedAdditionalFrames=std::vector&lt; std::string &gt;())</argsstring>
<name>removeAdditionalFramesFromModel</name>
<param>
<type>const <ref refid="classiDynTree_1_1Model" kindref="compound">Model</ref> &amp;</type>
<declname>modelWithAllAdditionalFrames</declname>
</param>
<param>
<type><ref refid="classiDynTree_1_1Model" kindref="compound">Model</ref> &amp;</type>
<declname>modelWithOnlyAllowedAdditionalFrames</declname>
</param>
<param>
<type>const std::vector&lt; std::string &gt;</type>
<declname>allowedAdditionalFrames</declname>
<defval>std::vector&lt; std::string &gt;()</defval>
</param>
<briefdescription>
<para>\function Remove all additional frames from the model, except a specified allowlist. </para>
</briefdescription>
<detaileddescription>
<para>This function takes in input a model, and return a model with all the additional frame list removed, except for the additional frames whose name is specified in the specified allowlist.</para>
<para><simplesect kind="note"><para>The main use of this function is for processing models that need to be passed to other libraries or physics engines, where the additional frames may create problems or create performance problem. As long as you are using iDynTree, the presence of additional frames does not impact the performance of kinematics or dynamics algorithms, so there is no need to call this function to remove the additional frames.</para>
</simplesect>
<simplesect kind="return"><para>true if all went well, false if there was an error. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="iDynTree/ModelTransformers.h" line="186" column="6" declfile="iDynTree/ModelTransformers.h" declline="186" declcolumn="6"/>
</memberdef>
<memberdef kind="function" id="group__iDynTreeSensors_1ga26f5afdf5245848ed0cf946cab8510d6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type>bool</type>
<definition>bool iDynTree::predictSensorsMeasurements</definition>
Expand Down

0 comments on commit 59cc6fa

Please sign in to comment.