<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.7" xml:lang="en-US">
  <compounddef id="d8/d16/RigidbodyComponent_8hpp" kind="file" language="C++">
    <compoundname>RigidbodyComponent.hpp</compoundname>
    <includes refid="d5/d69/IPhysicsComponent_8hpp" local="yes">IPhysicsComponent.hpp</includes>
    <includes refid="d9/da8/TransformComponent_8hpp" local="yes">TransformComponent.hpp</includes>
    <includes refid="d9/dec/TinyMath_8hpp" local="yes">TinyMath.hpp</includes>
    <includes local="no">string</includes>
    <includedby refid="d8/da5/ProjectileComponent_8hpp" local="yes">include/ProjectileComponent.hpp</includedby>
    <includedby refid="d6/d0c/Engine_8cpp" local="yes">src/Engine.cpp</includedby>
    <includedby refid="d8/da4/GameMakerGUI_8cpp" local="yes">src/GameMakerGUI.cpp</includedby>
    <includedby refid="d5/d9a/PhysicsTests_8cpp" local="yes">src/PhysicsTests.cpp</includedby>
    <includedby refid="d4/d4e/RigidbodyComponent_8cpp" local="yes">src/RigidbodyComponent.cpp</includedby>
    <incdepgraph>
      <node id="3">
        <label>Component.hpp</label>
        <link refid="df/d1f/Component_8hpp_source"/>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
        <childnode refid="10" relation="include">
        </childnode>
      </node>
      <node id="2">
        <label>IPhysicsComponent.hpp</label>
        <link refid="d5/d69/IPhysicsComponent_8hpp_source"/>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
      </node>
      <node id="1">
        <label>include/RigidbodyComponent.hpp</label>
        <link refid="d8/d16/RigidbodyComponent_8hpp"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
      </node>
      <node id="12">
        <label>TinyMath.hpp</label>
        <link refid="d9/dec/TinyMath_8hpp_source"/>
        <childnode refid="13" relation="include">
        </childnode>
        <childnode refid="14" relation="include">
        </childnode>
      </node>
      <node id="11">
        <label>TransformComponent.hpp</label>
        <link refid="d9/da8/TransformComponent_8hpp_source"/>
        <childnode refid="12" relation="include">
        </childnode>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
      </node>
      <node id="4">
        <label>SDL.h</label>
      </node>
      <node id="10">
        <label>algorithm</label>
      </node>
      <node id="13">
        <label>cmath</label>
      </node>
      <node id="5">
        <label>imgui.h</label>
      </node>
      <node id="6">
        <label>imgui_impl_sdl2.h</label>
      </node>
      <node id="7">
        <label>imgui_impl_sdlrenderer.h</label>
      </node>
      <node id="14">
        <label>ostream</label>
      </node>
      <node id="9">
        <label>string</label>
      </node>
      <node id="8">
        <label>vector</label>
      </node>
    </incdepgraph>
    <invincdepgraph>
      <node id="2">
        <label>include/ProjectileComponent.hpp</label>
        <link refid="d8/da5/ProjectileComponent_8hpp_source"/>
      </node>
      <node id="1">
        <label>include/RigidbodyComponent.hpp</label>
        <link refid="d8/d16/RigidbodyComponent_8hpp"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
    </invincdepgraph>
    <innerclass refid="de/d87/classRigidbodyComponent" prot="public">RigidbodyComponent</innerclass>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <programlisting>
<codeline lineno="1"><highlight class="preprocessor">#ifndef<sp/>RIGIDBODYCOMPONENT_HPP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>RIGIDBODYCOMPONENT_HPP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3"><highlight class="normal"></highlight></codeline>
<codeline lineno="4"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;IPhysicsComponent.hpp&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;TransformComponent.hpp&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;TinyMath.hpp&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="7"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;string&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="8"><highlight class="normal"></highlight></codeline>
<codeline lineno="13" refid="de/d87/classRigidbodyComponent" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="de/d87/classRigidbodyComponent" kindref="compound">RigidbodyComponent</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref><sp/>{</highlight></codeline>
<codeline lineno="14"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="25"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="de/d87/classRigidbodyComponent" kindref="compound">RigidbodyComponent</ref>(<ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref>*<sp/>pos,<sp/><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/>dim,<sp/><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/>vel,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>m,<sp/></highlight></codeline>
<codeline lineno="26"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>elastic<sp/>=<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">,<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>grav<sp/>=<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="30"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="de/d87/classRigidbodyComponent_1afc85f13b28ca4dd1377fbbd2c9ddfd32" kindref="member">~RigidbodyComponent</ref>();</highlight></codeline>
<codeline lineno="31"><highlight class="normal"></highlight></codeline>
<codeline lineno="32"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="de/d87/classRigidbodyComponent_1a1883fe26d2113b4aa5e74f21c0b49eab" kindref="member">ApplyForce</ref>(<ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/>force)<sp/></highlight><highlight class="keyword">override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="33"><highlight class="normal"></highlight></codeline>
<codeline lineno="34"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="de/d87/classRigidbodyComponent_1ae30aa822d90c6426fdbb96ec05a37d28" kindref="member">ApplyAcceleration</ref>(<ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/>acceleration)<sp/></highlight><highlight class="keyword">override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="35"><highlight class="normal"></highlight></codeline>
<codeline lineno="36"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="de/d87/classRigidbodyComponent_1a7dafbd3c40121afeb2e30ad99d9be4ca" kindref="member">ApplyVelocity</ref>()<sp/></highlight><highlight class="keyword">override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="37"><highlight class="normal"></highlight></codeline>
<codeline lineno="42"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="de/d87/classRigidbodyComponent_1afc82759bee18cd1bd0cc90d7482307c1" kindref="member">Update</ref>(SDL_Event<sp/>e,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>frame,<sp/>std::vector&lt;std::string&gt;<sp/>broadcastList)<sp/></highlight><highlight class="keyword">override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="43"><highlight class="normal"></highlight></codeline>
<codeline lineno="44"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="de/d87/classRigidbodyComponent_1a397796f2f8deb197ee0f0d96eb6ba23d" kindref="member">ShowComponentEditor</ref>(</highlight><highlight class="keywordtype">bool</highlight><highlight class="normal">*<sp/>showEditor)<sp/></highlight><highlight class="keyword">override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="45"><highlight class="normal"></highlight></codeline>
<codeline lineno="46" refid="de/d87/classRigidbodyComponent_1a4e89f2337c4ebe6f720bdad08ece917b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/><ref refid="de/d87/classRigidbodyComponent_1a4e89f2337c4ebe6f720bdad08ece917b" kindref="member">ComponentTypeName</ref>()</highlight><highlight class="keyword"><sp/>override<sp/></highlight><highlight class="normal">{</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Rigidbody<sp/>Component&quot;</highlight><highlight class="normal">;}</highlight></codeline>
<codeline lineno="47"><highlight class="normal"></highlight></codeline>
<codeline lineno="48"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>SETTERS</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="49"><highlight class="normal"></highlight></codeline>
<codeline lineno="50"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="de/d87/classRigidbodyComponent_1a5c6caca7d911fb61f00a2a35de0f62ef" kindref="member">SetVelocity</ref>(<ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/>vel)<sp/></highlight><highlight class="keyword">override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="51"><highlight class="normal"></highlight></codeline>
<codeline lineno="52"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>GETTERS</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="53"><highlight class="normal"></highlight></codeline>
<codeline lineno="57"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="de/d87/classRigidbodyComponent_1a73b252b29fbb76a6354b0c56aebe36f9" kindref="member">IsKinematic</ref>()<sp/></highlight><highlight class="keyword">override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="58"><highlight class="normal"></highlight></codeline>
<codeline lineno="59"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="de/d87/classRigidbodyComponent_1adc67765c449d8cde1c9dcdd279b97194" kindref="member">IsElastic</ref>()<sp/></highlight><highlight class="keyword">override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="60"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="de/d87/classRigidbodyComponent_1aa4d0c27e47cef8b74058d70a5054eb31" kindref="member">UsesGravity</ref>()<sp/></highlight><highlight class="keyword">override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="61"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/><ref refid="de/d87/classRigidbodyComponent_1aca2cbab492d09175e0f2aa1e87f62f1f" kindref="member">GetVelocity</ref>()<sp/></highlight><highlight class="keyword">override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="62"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="de/d87/classRigidbodyComponent_1a96b7ca6de81de1347b2daf4f9c32a66b" kindref="member">GetMass</ref>()<sp/></highlight><highlight class="keyword">override</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="63"><highlight class="normal"></highlight></codeline>
<codeline lineno="64"><highlight class="normal"></highlight><highlight class="keyword">private</highlight><highlight class="normal">:<sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="65"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/>velocity;</highlight></codeline>
<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>mass;</highlight></codeline>
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>isElastic;</highlight></codeline>
<codeline lineno="68"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>usesGravity;</highlight></codeline>
<codeline lineno="69"><highlight class="normal">};</highlight></codeline>
<codeline lineno="70"><highlight class="normal"></highlight></codeline>
<codeline lineno="71"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
    </programlisting>
    <location file="include/RigidbodyComponent.hpp"/>
  </compounddef>
</doxygen>
