<?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="d3/d9c/IPhysicsComponent_8cpp" kind="file" language="C++">
    <compoundname>IPhysicsComponent.cpp</compoundname>
    <includes refid="d5/d69/IPhysicsComponent_8hpp" local="yes">IPhysicsComponent.hpp</includes>
    <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="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="1">
        <label>src/IPhysicsComponent.cpp</label>
        <link refid="d3/d9c/IPhysicsComponent_8cpp"/>
        <childnode refid="2" 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>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <programlisting>
<codeline lineno="1"><highlight class="preprocessor">#include<sp/>&quot;IPhysicsComponent.hpp&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight></codeline>
<codeline lineno="3" refid="d9/d15/classIPhysicsComponent_1ab4bee7d6211a8649c7089629eaccbb21" refkind="member"><highlight class="normal"><ref refid="d9/d15/classIPhysicsComponent_1ab4bee7d6211a8649c7089629eaccbb21" kindref="member">IPhysicsComponent::IPhysicsComponent</ref>(<ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref>*<sp/>pos,<sp/><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/>dim){</highlight></codeline>
<codeline lineno="4"><highlight class="normal"><sp/><sp/><sp/><sp/>m_position<sp/>=<sp/>pos;</highlight></codeline>
<codeline lineno="5"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="d9/d15/classIPhysicsComponent_1ad22593592587dde0b325bd608b559aab" kindref="member">dimensions</ref><sp/>=<sp/>dim;</highlight></codeline>
<codeline lineno="6"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7" refid="d9/d15/classIPhysicsComponent_1ae02e2c332f14e4206c21fc08902d5161" refkind="member"><highlight class="normal"><ref refid="d9/d15/classIPhysicsComponent_1ae02e2c332f14e4206c21fc08902d5161" kindref="member">IPhysicsComponent::~IPhysicsComponent</ref>(){};</highlight></codeline>
<codeline lineno="8"><highlight class="normal"></highlight></codeline>
<codeline lineno="9" refid="d9/d15/classIPhysicsComponent_1aae80e0691898c61495f43a7bc2f0e494" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="d9/d15/classIPhysicsComponent_1aae80e0691898c61495f43a7bc2f0e494" kindref="member">IPhysicsComponent::IsColliding</ref>(<ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref>*<sp/>other){</highlight></codeline>
<codeline lineno="10"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/>thisPos<sp/>=<sp/>m_position-&gt;<ref refid="d2/d0a/classTransformComponent_1a5452c308a26521441745d3edc1ab5d4d" kindref="member">getPos</ref>();</highlight></codeline>
<codeline lineno="11"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/>thisFarRight<sp/>=<sp/>thisPos<sp/>+<sp/><ref refid="d9/d15/classIPhysicsComponent_1ad22593592587dde0b325bd608b559aab" kindref="member">dimensions</ref>;</highlight></codeline>
<codeline lineno="12"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/>otherPos<sp/>=<sp/>other-&gt;<ref refid="d9/d15/classIPhysicsComponent_1abfaa678eb1c7312e9bf098bc1473f794" kindref="member">GetPosition</ref>();</highlight></codeline>
<codeline lineno="13"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/>otherFarRight<sp/>=<sp/>otherPos<sp/>+<sp/>other-&gt;<ref refid="d9/d15/classIPhysicsComponent_1abb67c9f5741590c7ebcca1434175386a" kindref="member">GetDimensions</ref>();</highlight></codeline>
<codeline lineno="14"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>((thisPos.x<sp/>&gt;=<sp/>otherPos.x<sp/>&amp;&amp;<sp/>thisPos.x<sp/>&lt;=<sp/>otherFarRight.x)<sp/>||</highlight></codeline>
<codeline lineno="15"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(thisPos.x<sp/>&lt;=<sp/>otherPos.x<sp/>&amp;&amp;<sp/>thisFarRight.x<sp/>&gt;=<sp/>otherPos.x))<sp/>&amp;&amp;</highlight></codeline>
<codeline lineno="16"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>((thisPos.y<sp/>&gt;=<sp/>otherPos.y<sp/>&amp;&amp;<sp/>thisPos.y<sp/>&lt;=<sp/>otherFarRight.y)<sp/>||</highlight></codeline>
<codeline lineno="17"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(thisPos.y<sp/>&lt;=<sp/>otherPos.y<sp/>&amp;&amp;<sp/>thisFarRight.y<sp/>&gt;=<sp/>otherPos.y));</highlight></codeline>
<codeline lineno="18"><highlight class="normal">}</highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight></codeline>
<codeline lineno="20" refid="d9/d15/classIPhysicsComponent_1abfaa678eb1c7312e9bf098bc1473f794" refkind="member"><highlight class="normal"><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/><ref refid="d9/d15/classIPhysicsComponent_1abfaa678eb1c7312e9bf098bc1473f794" kindref="member">IPhysicsComponent::GetPosition</ref>(){</highlight></codeline>
<codeline lineno="21"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>m_position-&gt;<ref refid="d2/d0a/classTransformComponent_1a5452c308a26521441745d3edc1ab5d4d" kindref="member">getPos</ref>();</highlight></codeline>
<codeline lineno="22"><highlight class="normal">}</highlight></codeline>
<codeline lineno="23"><highlight class="normal"></highlight></codeline>
<codeline lineno="24" refid="d9/d15/classIPhysicsComponent_1abb67c9f5741590c7ebcca1434175386a" refkind="member"><highlight class="normal"><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/><ref refid="d9/d15/classIPhysicsComponent_1abb67c9f5741590c7ebcca1434175386a" kindref="member">IPhysicsComponent::GetDimensions</ref>(){</highlight></codeline>
<codeline lineno="25"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="d9/d15/classIPhysicsComponent_1ad22593592587dde0b325bd608b559aab" kindref="member">dimensions</ref>;</highlight></codeline>
<codeline lineno="26"><highlight class="normal">}</highlight></codeline>
<codeline lineno="27"><highlight class="normal"></highlight></codeline>
<codeline lineno="28"><highlight class="normal"></highlight><highlight class="comment">//<sp/>Stubs<sp/>to<sp/>be<sp/>implemented<sp/>by<sp/>child<sp/>classes</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="29" refid="d9/d15/classIPhysicsComponent_1a12248fc80967b165bc598e6f8bd3a8cd" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="d9/d15/classIPhysicsComponent_1a12248fc80967b165bc598e6f8bd3a8cd" kindref="member">IPhysicsComponent::ApplyForce</ref>(<ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/>force){}</highlight></codeline>
<codeline lineno="30" refid="d9/d15/classIPhysicsComponent_1a0e5005877e7fc2b280c418515bb1954a" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="d9/d15/classIPhysicsComponent_1a0e5005877e7fc2b280c418515bb1954a" kindref="member">IPhysicsComponent::ApplyAcceleration</ref>(<ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/>acceleration){}</highlight></codeline>
<codeline lineno="31" refid="d9/d15/classIPhysicsComponent_1ac1eb84fa1b67c0258a48fb1ac15f497d" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="d9/d15/classIPhysicsComponent_1ac1eb84fa1b67c0258a48fb1ac15f497d" kindref="member">IPhysicsComponent::ApplyVelocity</ref>(){};</highlight></codeline>
<codeline lineno="32" refid="d9/d15/classIPhysicsComponent_1aff905f4a966c951b7f56e716ab9f9347" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="d9/d15/classIPhysicsComponent_1aff905f4a966c951b7f56e716ab9f9347" kindref="member">IPhysicsComponent::SetVelocity</ref>(<ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/>vel){}</highlight></codeline>
<codeline lineno="33" refid="d9/d15/classIPhysicsComponent_1aaf37980fe6dea6de4d49156b3c4ce998" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="d9/d15/classIPhysicsComponent_1aaf37980fe6dea6de4d49156b3c4ce998" kindref="member">IPhysicsComponent::IsKinematic</ref>(){</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;}</highlight></codeline>
<codeline lineno="34" refid="d9/d15/classIPhysicsComponent_1a4136b164031d8fa821316e1664264392" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="d9/d15/classIPhysicsComponent_1a4136b164031d8fa821316e1664264392" kindref="member">IPhysicsComponent::IsElastic</ref>(){</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;}</highlight></codeline>
<codeline lineno="35" refid="d9/d15/classIPhysicsComponent_1a41f11dca49e23ad9236b2ccbfe81e8f4" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="d9/d15/classIPhysicsComponent_1a41f11dca49e23ad9236b2ccbfe81e8f4" kindref="member">IPhysicsComponent::UsesGravity</ref>(){</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;}</highlight></codeline>
<codeline lineno="36" refid="d9/d15/classIPhysicsComponent_1a476359cb97729525a9e476f6777c1536" refkind="member"><highlight class="normal"><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref><sp/><ref refid="d9/d15/classIPhysicsComponent_1a476359cb97729525a9e476f6777c1536" kindref="member">IPhysicsComponent::GetVelocity</ref>(){</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref>(0,0);}</highlight></codeline>
<codeline lineno="37" refid="d9/d15/classIPhysicsComponent_1a5a88a9979998bcfe46ec45d4a6c4966b" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="d9/d15/classIPhysicsComponent_1a5a88a9979998bcfe46ec45d4a6c4966b" kindref="member">IPhysicsComponent::GetMass</ref>(){</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;}</highlight></codeline>
    </programlisting>
    <location file="src/IPhysicsComponent.cpp"/>
  </compounddef>
</doxygen>
