<?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="de/d87/classRigidbodyComponent" kind="class" language="C++" prot="public">
    <compoundname>RigidbodyComponent</compoundname>
    <basecompoundref refid="d9/d15/classIPhysicsComponent" prot="public" virt="non-virtual">IPhysicsComponent</basecompoundref>
    <includes refid="d8/d16/RigidbodyComponent_8hpp" local="no">RigidbodyComponent.hpp</includes>
      <sectiondef kind="private-attrib">
      <memberdef kind="variable" id="de/d87/classRigidbodyComponent_1a7e10905cb50d667caf8b00b3b33ed259" prot="private" static="no" mutable="no">
        <type><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref></type>
        <definition>Vec2D RigidbodyComponent::velocity</definition>
        <argsstring></argsstring>
        <name>velocity</name>
        <qualifiedname>RigidbodyComponent::velocity</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="65" column="11" bodyfile="include/RigidbodyComponent.hpp" bodystart="65" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="de/d87/classRigidbodyComponent_1a6be86875545d5d98feb13d452e113ef3" prot="private" static="no" mutable="no">
        <type>float</type>
        <definition>float RigidbodyComponent::mass</definition>
        <argsstring></argsstring>
        <name>mass</name>
        <qualifiedname>RigidbodyComponent::mass</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="66" column="11" bodyfile="include/RigidbodyComponent.hpp" bodystart="66" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="de/d87/classRigidbodyComponent_1a375b851cba4e604eceb0c2f9e4928cca" prot="private" static="no" mutable="no">
        <type>bool</type>
        <definition>bool RigidbodyComponent::isElastic</definition>
        <argsstring></argsstring>
        <name>isElastic</name>
        <qualifiedname>RigidbodyComponent::isElastic</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="67" column="10" bodyfile="include/RigidbodyComponent.hpp" bodystart="67" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="de/d87/classRigidbodyComponent_1a8e8f0b5db0c37bbea552a537f3c6e065" prot="private" static="no" mutable="no">
        <type>bool</type>
        <definition>bool RigidbodyComponent::usesGravity</definition>
        <argsstring></argsstring>
        <name>usesGravity</name>
        <qualifiedname>RigidbodyComponent::usesGravity</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="68" column="10" bodyfile="include/RigidbodyComponent.hpp" bodystart="68" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="de/d87/classRigidbodyComponent_1a870828e81a3946f12bc09d49848072af" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>RigidbodyComponent::RigidbodyComponent</definition>
        <argsstring>(TransformComponent *pos, Vec2D dim, Vec2D vel, float m, bool elastic=false, bool grav=false)</argsstring>
        <name>RigidbodyComponent</name>
        <qualifiedname>RigidbodyComponent::RigidbodyComponent</qualifiedname>
        <param>
          <type><ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref> *</type>
          <declname>pos</declname>
        </param>
        <param>
          <type><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref></type>
          <declname>dim</declname>
        </param>
        <param>
          <type><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref></type>
          <declname>vel</declname>
        </param>
        <param>
          <type>float</type>
          <declname>m</declname>
        </param>
        <param>
          <type>bool</type>
          <declname>elastic</declname>
          <defval>false</defval>
        </param>
        <param>
          <type>bool</type>
          <declname>grav</declname>
          <defval>false</defval>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Construct a new Rigidbody <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> object.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>pos</parametername>
</parameternamelist>
<parameterdescription>
<para>the <ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref> of the parent <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref> </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>dim</parametername>
</parameternamelist>
<parameterdescription>
<para>the dimensions of the Rigidbody </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>vel</parametername>
</parameternamelist>
<parameterdescription>
<para>the velocity of the Rigidbody </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>m</parametername>
</parameternamelist>
<parameterdescription>
<para>the mass of the Rigidbody </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>elastic</parametername>
</parameternamelist>
<parameterdescription>
<para>whether the Rigidbody uses elastic collisions. Defaults to false. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>grav</parametername>
</parameternamelist>
<parameterdescription>
<para>whether the Rigidbody is affected by gravity. Defaults to false. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="25" column="5" bodyfile="src/RigidbodyComponent.cpp" bodystart="4" bodyend="10"/>
      </memberdef>
      <memberdef kind="function" id="de/d87/classRigidbodyComponent_1afc85f13b28ca4dd1377fbbd2c9ddfd32" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>RigidbodyComponent::~RigidbodyComponent</definition>
        <argsstring>()</argsstring>
        <name>~RigidbodyComponent</name>
        <qualifiedname>RigidbodyComponent::~RigidbodyComponent</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Destroy the Rigidbody <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> object. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="30" column="5" bodyfile="src/RigidbodyComponent.cpp" bodystart="12" bodyend="14"/>
      </memberdef>
      <memberdef kind="function" id="de/d87/classRigidbodyComponent_1a1883fe26d2113b4aa5e74f21c0b49eab" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void RigidbodyComponent::ApplyForce</definition>
        <argsstring>(Vec2D force) override</argsstring>
        <name>ApplyForce</name>
        <qualifiedname>RigidbodyComponent::ApplyForce</qualifiedname>
        <reimplements refid="d9/d15/classIPhysicsComponent_1a12248fc80967b165bc598e6f8bd3a8cd">ApplyForce</reimplements>
        <param>
          <type><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref></type>
          <declname>force</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Apply a force to the <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref>. Handles forces outside of collisions (such as from scripts).</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>force</parametername>
</parameternamelist>
<parameterdescription>
<para>the force to be applied to the <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref> </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="see"><para><ref refid="de/d87/classRigidbodyComponent_1a5c6caca7d911fb61f00a2a35de0f62ef" kindref="member">SetVelocity()</ref> to directly change the velocity </para>
</simplesect>
<simplesect kind="see"><para><ref refid="de/d87/classRigidbodyComponent_1ae30aa822d90c6426fdbb96ec05a37d28" kindref="member">ApplyAcceleration()</ref> to modify the acceleration </para>
</simplesect>
<simplesect kind="see"><para><ref refid="de/d87/classRigidbodyComponent_1a7dafbd3c40121afeb2e30ad99d9be4ca" kindref="member">ApplyVelocity()</ref> to finalize movement </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="32" column="10" bodyfile="src/RigidbodyComponent.cpp" bodystart="16" bodyend="20"/>
        <references refid="de/d87/classRigidbodyComponent_1ae30aa822d90c6426fdbb96ec05a37d28" compoundref="d4/d4e/RigidbodyComponent_8cpp" startline="22" endline="24">ApplyAcceleration</references>
        <references refid="de/d87/classRigidbodyComponent_1a96b7ca6de81de1347b2daf4f9c32a66b" compoundref="d4/d4e/RigidbodyComponent_8cpp" startline="60" endline="60">GetMass</references>
      </memberdef>
      <memberdef kind="function" id="de/d87/classRigidbodyComponent_1ae30aa822d90c6426fdbb96ec05a37d28" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void RigidbodyComponent::ApplyAcceleration</definition>
        <argsstring>(Vec2D acceleration) override</argsstring>
        <name>ApplyAcceleration</name>
        <qualifiedname>RigidbodyComponent::ApplyAcceleration</qualifiedname>
        <reimplements refid="d9/d15/classIPhysicsComponent_1a0e5005877e7fc2b280c418515bb1954a">ApplyAcceleration</reimplements>
        <param>
          <type><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref></type>
          <declname>acceleration</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Change the velocity of the <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref>. Adds the acceleration value to the current velocity. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="34" column="10" bodyfile="src/RigidbodyComponent.cpp" bodystart="22" bodyend="24"/>
        <referencedby refid="de/d87/classRigidbodyComponent_1a1883fe26d2113b4aa5e74f21c0b49eab" compoundref="d4/d4e/RigidbodyComponent_8cpp" startline="16" endline="20">ApplyForce</referencedby>
      </memberdef>
      <memberdef kind="function" id="de/d87/classRigidbodyComponent_1a7dafbd3c40121afeb2e30ad99d9be4ca" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void RigidbodyComponent::ApplyVelocity</definition>
        <argsstring>() override</argsstring>
        <name>ApplyVelocity</name>
        <qualifiedname>RigidbodyComponent::ApplyVelocity</qualifiedname>
        <reimplements refid="d9/d15/classIPhysicsComponent_1ac1eb84fa1b67c0258a48fb1ac15f497d">ApplyVelocity</reimplements>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Moves the <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref>. The <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref> will not move until this is called.</para>
<para><simplesect kind="see"><para><ref refid="de/d87/classRigidbodyComponent_1a1883fe26d2113b4aa5e74f21c0b49eab" kindref="member">ApplyForce()</ref> to use force to change the velocity </para>
</simplesect>
<simplesect kind="see"><para><ref refid="de/d87/classRigidbodyComponent_1a5c6caca7d911fb61f00a2a35de0f62ef" kindref="member">SetVelocity()</ref> to directly change the velocity </para>
</simplesect>
<simplesect kind="see"><para><ref refid="de/d87/classRigidbodyComponent_1ae30aa822d90c6426fdbb96ec05a37d28" kindref="member">ApplyAcceleration()</ref> to modify the acceleration </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="36" column="10" bodyfile="src/RigidbodyComponent.cpp" bodystart="26" bodyend="28"/>
        <references refid="d2/d0a/classTransformComponent_1a5452c308a26521441745d3edc1ab5d4d" compoundref="da/d4e/TransformComponent_8cpp" startline="19" endline="21">TransformComponent::getPos</references>
        <references refid="d2/d0a/classTransformComponent_1aa3cd2785878a82d02103778d04761a32" compoundref="da/d4e/TransformComponent_8cpp" startline="8" endline="12">TransformComponent::SetTransform</references>
      </memberdef>
      <memberdef kind="function" id="de/d87/classRigidbodyComponent_1afc82759bee18cd1bd0cc90d7482307c1" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void RigidbodyComponent::Update</definition>
        <argsstring>(SDL_Event e, int frame, std::vector&lt; std::string &gt; broadcastList) override</argsstring>
        <name>Update</name>
        <qualifiedname>RigidbodyComponent::Update</qualifiedname>
        <reimplements refid="d8/d6b/classComponent_1a9c764c2a5607ef52629458d361ebf16e">Update</reimplements>
        <param>
          <type>SDL_Event</type>
          <declname>e</declname>
        </param>
        <param>
          <type>int</type>
          <declname>frame</declname>
        </param>
        <param>
          <type>std::vector&lt; std::string &gt;</type>
          <declname>broadcastList</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Move the <ref refid="de/d87/classRigidbodyComponent" kindref="compound">RigidbodyComponent</ref> every frame. <para>Updates the state of the component object. Called by the <ref refid="d1/db6/classEngine" kindref="compound">Engine</ref> every tick</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>e</parametername>
</parameternamelist>
<parameterdescription>
<para>any inputs given by the user </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>frame</parametername>
</parameternamelist>
<parameterdescription>
<para>what frame is the game currently displaying </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>broadcastList</parametername>
</parameternamelist>
<parameterdescription>
<para>a list to be used to send messages between components </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="see"><para><ref refid="d8/d6b/classComponent_1aea8f0f460a62d86183020bd667b6cbf0" kindref="member">ParseAndUpdateBroadcast()</ref></para>
</simplesect>
</para>
 </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="42" column="10" bodyfile="src/RigidbodyComponent.cpp" bodystart="30" bodyend="33"/>
        <references refid="d2/d0a/classTransformComponent_1a5452c308a26521441745d3edc1ab5d4d" compoundref="da/d4e/TransformComponent_8cpp" startline="19" endline="21">TransformComponent::getPos</references>
        <references refid="d8/d6b/classComponent_1aea8f0f460a62d86183020bd667b6cbf0" compoundref="d4/d92/Component_8cpp" startline="37" endline="50">Component::ParseAndUpdateBroadcast</references>
        <references refid="d2/d0a/classTransformComponent_1aa3cd2785878a82d02103778d04761a32" compoundref="da/d4e/TransformComponent_8cpp" startline="8" endline="12">TransformComponent::SetTransform</references>
      </memberdef>
      <memberdef kind="function" id="de/d87/classRigidbodyComponent_1a397796f2f8deb197ee0f0d96eb6ba23d" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void RigidbodyComponent::ShowComponentEditor</definition>
        <argsstring>(bool *showEditor) override</argsstring>
        <name>ShowComponentEditor</name>
        <qualifiedname>RigidbodyComponent::ShowComponentEditor</qualifiedname>
        <reimplements refid="d8/d6b/classComponent_1a92af5bb942ea9633515a0c0e16a0bb8c">ShowComponentEditor</reimplements>
        <param>
          <type>bool *</type>
          <declname>showEditor</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Using Imgui, render an editor for this component</para>
<para><simplesect kind="see"><para><ref refid="d5/d3b/classGameMakerGUI_1a2cc6da97c0f4b45175ddc9683308866e" kindref="member">GameMakerGUI::RenderEditor()</ref> </para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>showEditor</parametername>
</parameternamelist>
<parameterdescription>
<para></para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="44" column="10" bodyfile="src/RigidbodyComponent.cpp" bodystart="35" bodyend="46"/>
      </memberdef>
      <memberdef kind="function" id="de/d87/classRigidbodyComponent_1a4e89f2337c4ebe6f720bdad08ece917b" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type>const char *</type>
        <definition>const char * RigidbodyComponent::ComponentTypeName</definition>
        <argsstring>() override</argsstring>
        <name>ComponentTypeName</name>
        <qualifiedname>RigidbodyComponent::ComponentTypeName</qualifiedname>
        <reimplements refid="d8/d6b/classComponent_1a6ad359e7f57daa4ba249aaf5c88da052">ComponentTypeName</reimplements>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>The name of the component type. Used by the GUI</para>
<para><simplesect kind="see"><para><ref refid="d5/d3b/classGameMakerGUI_1a39546dd352c9c5d198f61e34011131b4" kindref="member">GameMakerGUI::CreateComponent()</ref> </para>
</simplesect>
<simplesect kind="return"><para>the name of the component </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="46" column="16" bodyfile="include/RigidbodyComponent.hpp" bodystart="46" bodyend="46"/>
      </memberdef>
      <memberdef kind="function" id="de/d87/classRigidbodyComponent_1a5c6caca7d911fb61f00a2a35de0f62ef" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void RigidbodyComponent::SetVelocity</definition>
        <argsstring>(Vec2D vel) override</argsstring>
        <name>SetVelocity</name>
        <qualifiedname>RigidbodyComponent::SetVelocity</qualifiedname>
        <reimplements refid="d9/d15/classIPhysicsComponent_1aff905f4a966c951b7f56e716ab9f9347">SetVelocity</reimplements>
        <param>
          <type><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref></type>
          <declname>vel</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the velocity of the <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref>.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>vel</parametername>
</parameternamelist>
<parameterdescription>
<para>the new velocity </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="50" column="10" bodyfile="src/RigidbodyComponent.cpp" bodystart="50" bodyend="52"/>
        <referencedby refid="dd/d7a/classProjectileComponent_1ac67ad7b89802466876a93ff01ab291f5" compoundref="db/d41/ProjectileComponent_8cpp" startline="3" endline="34">ProjectileComponent::ProjectileComponent</referencedby>
        <referencedby refid="dd/d7a/classProjectileComponent_1a38c9c6161b276691004f672991795b54" compoundref="db/d41/ProjectileComponent_8cpp" startline="40" endline="52">ProjectileComponent::Update</referencedby>
      </memberdef>
      <memberdef kind="function" id="de/d87/classRigidbodyComponent_1a73b252b29fbb76a6354b0c56aebe36f9" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>bool</type>
        <definition>bool RigidbodyComponent::IsKinematic</definition>
        <argsstring>() override</argsstring>
        <name>IsKinematic</name>
        <qualifiedname>RigidbodyComponent::IsKinematic</qualifiedname>
        <reimplements refid="d9/d15/classIPhysicsComponent_1aaf37980fe6dea6de4d49156b3c4ce998">IsKinematic</reimplements>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><simplesect kind="return"><para>true for all RigidbodyComponents </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="57" column="10" bodyfile="src/RigidbodyComponent.cpp" bodystart="56" bodyend="56"/>
      </memberdef>
      <memberdef kind="function" id="de/d87/classRigidbodyComponent_1adc67765c449d8cde1c9dcdd279b97194" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>bool</type>
        <definition>bool RigidbodyComponent::IsElastic</definition>
        <argsstring>() override</argsstring>
        <name>IsElastic</name>
        <qualifiedname>RigidbodyComponent::IsElastic</qualifiedname>
        <reimplements refid="d9/d15/classIPhysicsComponent_1a4136b164031d8fa821316e1664264392">IsElastic</reimplements>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get whether the <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref> bounces or just stops on collision.</para>
<para><simplesect kind="return"><para>whether the <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref> uses elastic collisions </para>
</simplesect>
<simplesect kind="see"><para><ref refid="db/df5/classPhysicsEngine_1a30d283b6067980e42765340dea6eb62a" kindref="member">PhysicsEngine::Update()</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="59" column="10" bodyfile="src/RigidbodyComponent.cpp" bodystart="57" bodyend="57"/>
      </memberdef>
      <memberdef kind="function" id="de/d87/classRigidbodyComponent_1aa4d0c27e47cef8b74058d70a5054eb31" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>bool</type>
        <definition>bool RigidbodyComponent::UsesGravity</definition>
        <argsstring>() override</argsstring>
        <name>UsesGravity</name>
        <qualifiedname>RigidbodyComponent::UsesGravity</qualifiedname>
        <reimplements refid="d9/d15/classIPhysicsComponent_1a41f11dca49e23ad9236b2ccbfe81e8f4">UsesGravity</reimplements>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get whether the <ref refid="db/df5/classPhysicsEngine" kindref="compound">PhysicsEngine</ref> will apply gravity forces to the <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref>.</para>
<para><simplesect kind="return"><para>whether the <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref> uses gravity </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="60" column="10" bodyfile="src/RigidbodyComponent.cpp" bodystart="58" bodyend="58"/>
      </memberdef>
      <memberdef kind="function" id="de/d87/classRigidbodyComponent_1aca2cbab492d09175e0f2aa1e87f62f1f" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref></type>
        <definition>Vec2D RigidbodyComponent::GetVelocity</definition>
        <argsstring>() override</argsstring>
        <name>GetVelocity</name>
        <qualifiedname>RigidbodyComponent::GetVelocity</qualifiedname>
        <reimplements refid="d9/d15/classIPhysicsComponent_1a476359cb97729525a9e476f6777c1536">GetVelocity</reimplements>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the velocity of the <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref>.</para>
<para><simplesect kind="return"><para>the velocity of the <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="61" column="11" bodyfile="src/RigidbodyComponent.cpp" bodystart="59" bodyend="59"/>
      </memberdef>
      <memberdef kind="function" id="de/d87/classRigidbodyComponent_1a96b7ca6de81de1347b2daf4f9c32a66b" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>float</type>
        <definition>float RigidbodyComponent::GetMass</definition>
        <argsstring>() override</argsstring>
        <name>GetMass</name>
        <qualifiedname>RigidbodyComponent::GetMass</qualifiedname>
        <reimplements refid="d9/d15/classIPhysicsComponent_1a5a88a9979998bcfe46ec45d4a6c4966b">GetMass</reimplements>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the mass of the <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref>.</para>
<para><simplesect kind="return"><para>the mass of the <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/RigidbodyComponent.hpp" line="62" column="11" bodyfile="src/RigidbodyComponent.cpp" bodystart="60" bodyend="60"/>
        <referencedby refid="de/d87/classRigidbodyComponent_1a1883fe26d2113b4aa5e74f21c0b49eab" compoundref="d4/d4e/RigidbodyComponent_8cpp" startline="16" endline="20">ApplyForce</referencedby>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
<para>An implementation of <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref> to allow for physics-based collisions. <simplesect kind="see"><para><ref refid="db/df5/classPhysicsEngine" kindref="compound">PhysicsEngine</ref> </para>
</simplesect>
</para>
    </detaileddescription>
    <inheritancegraph>
      <node id="3">
        <label>Component</label>
        <link refid="d8/d6b/classComponent"/>
      </node>
      <node id="2">
        <label>IPhysicsComponent</label>
        <link refid="d9/d15/classIPhysicsComponent"/>
        <childnode refid="3" relation="public-inheritance">
        </childnode>
      </node>
      <node id="1">
        <label>RigidbodyComponent</label>
        <link refid="de/d87/classRigidbodyComponent"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="3">
        <label>Component</label>
        <link refid="d8/d6b/classComponent"/>
      </node>
      <node id="2">
        <label>IPhysicsComponent</label>
        <link refid="d9/d15/classIPhysicsComponent"/>
        <childnode refid="3" relation="public-inheritance">
        </childnode>
        <childnode refid="4" relation="usage">
          <edgelabel>m_position</edgelabel>
        </childnode>
        <childnode refid="5" relation="usage">
          <edgelabel>dimensions</edgelabel>
        </childnode>
      </node>
      <node id="1">
        <label>RigidbodyComponent</label>
        <link refid="de/d87/classRigidbodyComponent"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
        <childnode refid="5" relation="usage">
          <edgelabel>velocity</edgelabel>
        </childnode>
      </node>
      <node id="4">
        <label>TransformComponent</label>
        <link refid="d2/d0a/classTransformComponent"/>
        <childnode refid="3" relation="public-inheritance">
        </childnode>
        <childnode refid="5" relation="usage">
          <edgelabel>position</edgelabel>
        </childnode>
      </node>
      <node id="5">
        <label>Vec2D</label>
        <link refid="dd/d40/structVec2D"/>
      </node>
    </collaborationgraph>
    <location file="include/RigidbodyComponent.hpp" line="13" column="1" bodyfile="include/RigidbodyComponent.hpp" bodystart="13" bodyend="69"/>
    <listofallmembers>
      <member refid="de/d87/classRigidbodyComponent_1ae30aa822d90c6426fdbb96ec05a37d28" prot="public" virt="virtual"><scope>RigidbodyComponent</scope><name>ApplyAcceleration</name></member>
      <member refid="de/d87/classRigidbodyComponent_1a1883fe26d2113b4aa5e74f21c0b49eab" prot="public" virt="virtual"><scope>RigidbodyComponent</scope><name>ApplyForce</name></member>
      <member refid="de/d87/classRigidbodyComponent_1a7dafbd3c40121afeb2e30ad99d9be4ca" prot="public" virt="virtual"><scope>RigidbodyComponent</scope><name>ApplyVelocity</name></member>
      <member refid="d8/d6b/classComponent_1a8775db6d1a2c1afc2e77cd3c8f39da6f" prot="public" virt="non-virtual"><scope>RigidbodyComponent</scope><name>Component</name></member>
      <member refid="de/d87/classRigidbodyComponent_1a4e89f2337c4ebe6f720bdad08ece917b" prot="public" virt="virtual"><scope>RigidbodyComponent</scope><name>ComponentTypeName</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1ad22593592587dde0b325bd608b559aab" prot="protected" virt="non-virtual"><scope>RigidbodyComponent</scope><name>dimensions</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1abb67c9f5741590c7ebcca1434175386a" prot="public" virt="non-virtual"><scope>RigidbodyComponent</scope><name>GetDimensions</name></member>
      <member refid="de/d87/classRigidbodyComponent_1a96b7ca6de81de1347b2daf4f9c32a66b" prot="public" virt="virtual"><scope>RigidbodyComponent</scope><name>GetMass</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1abfaa678eb1c7312e9bf098bc1473f794" prot="public" virt="non-virtual"><scope>RigidbodyComponent</scope><name>GetPosition</name></member>
      <member refid="de/d87/classRigidbodyComponent_1aca2cbab492d09175e0f2aa1e87f62f1f" prot="public" virt="virtual"><scope>RigidbodyComponent</scope><name>GetVelocity</name></member>
      <member refid="d8/d6b/classComponent_1aed93a0ec70ebc71f34f02eb0a3ad4006" prot="public" virt="virtual"><scope>RigidbodyComponent</scope><name>HasTag</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1ab4bee7d6211a8649c7089629eaccbb21" prot="public" virt="non-virtual"><scope>RigidbodyComponent</scope><name>IPhysicsComponent</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1aae80e0691898c61495f43a7bc2f0e494" prot="public" virt="non-virtual"><scope>RigidbodyComponent</scope><name>IsColliding</name></member>
      <member refid="de/d87/classRigidbodyComponent_1adc67765c449d8cde1c9dcdd279b97194" prot="public" virt="virtual"><scope>RigidbodyComponent</scope><name>IsElastic</name></member>
      <member refid="de/d87/classRigidbodyComponent_1a375b851cba4e604eceb0c2f9e4928cca" prot="private" virt="non-virtual"><scope>RigidbodyComponent</scope><name>isElastic</name></member>
      <member refid="de/d87/classRigidbodyComponent_1a73b252b29fbb76a6354b0c56aebe36f9" prot="public" virt="virtual"><scope>RigidbodyComponent</scope><name>IsKinematic</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1a793d76606057fb4dcf4ad9550fbbeca2" prot="protected" virt="non-virtual"><scope>RigidbodyComponent</scope><name>m_position</name></member>
      <member refid="de/d87/classRigidbodyComponent_1a6be86875545d5d98feb13d452e113ef3" prot="private" virt="non-virtual"><scope>RigidbodyComponent</scope><name>mass</name></member>
      <member refid="d8/d6b/classComponent_1aea8f0f460a62d86183020bd667b6cbf0" prot="public" virt="non-virtual"><scope>RigidbodyComponent</scope><name>ParseAndUpdateBroadcast</name></member>
      <member refid="d8/d6b/classComponent_1a7d03b8c23a6fa95fd83f08ad88cd59ee" prot="protected" virt="non-virtual"><scope>RigidbodyComponent</scope><name>pendingBroadcasts</name></member>
      <member refid="d8/d6b/classComponent_1a929d29b8cdb9447b70f5e7d990c7d0f0" prot="protected" virt="non-virtual"><scope>RigidbodyComponent</scope><name>previousBroadcasts</name></member>
      <member refid="d8/d6b/classComponent_1ab856bdb8c4357a080d7abcf99871a573" prot="public" virt="virtual"><scope>RigidbodyComponent</scope><name>Render</name></member>
      <member refid="de/d87/classRigidbodyComponent_1a870828e81a3946f12bc09d49848072af" prot="public" virt="non-virtual"><scope>RigidbodyComponent</scope><name>RigidbodyComponent</name></member>
      <member refid="de/d87/classRigidbodyComponent_1a5c6caca7d911fb61f00a2a35de0f62ef" prot="public" virt="virtual"><scope>RigidbodyComponent</scope><name>SetVelocity</name></member>
      <member refid="de/d87/classRigidbodyComponent_1a397796f2f8deb197ee0f0d96eb6ba23d" prot="public" virt="virtual"><scope>RigidbodyComponent</scope><name>ShowComponentEditor</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1a527df5bfe70078a0302906962494be1a" prot="protected" virt="non-virtual"><scope>RigidbodyComponent</scope><name>tags</name></member>
      <member refid="de/d87/classRigidbodyComponent_1afc82759bee18cd1bd0cc90d7482307c1" prot="public" virt="virtual"><scope>RigidbodyComponent</scope><name>Update</name></member>
      <member refid="de/d87/classRigidbodyComponent_1aa4d0c27e47cef8b74058d70a5054eb31" prot="public" virt="virtual"><scope>RigidbodyComponent</scope><name>UsesGravity</name></member>
      <member refid="de/d87/classRigidbodyComponent_1a8e8f0b5db0c37bbea552a537f3c6e065" prot="private" virt="non-virtual"><scope>RigidbodyComponent</scope><name>usesGravity</name></member>
      <member refid="de/d87/classRigidbodyComponent_1a7e10905cb50d667caf8b00b3b33ed259" prot="private" virt="non-virtual"><scope>RigidbodyComponent</scope><name>velocity</name></member>
      <member refid="d8/d6b/classComponent_1ab8378fa275af98e568a7e91d33d867af" prot="public" virt="non-virtual"><scope>RigidbodyComponent</scope><name>~Component</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1ae02e2c332f14e4206c21fc08902d5161" prot="public" virt="non-virtual"><scope>RigidbodyComponent</scope><name>~IPhysicsComponent</name></member>
      <member refid="de/d87/classRigidbodyComponent_1afc85f13b28ca4dd1377fbbd2c9ddfd32" prot="public" virt="non-virtual"><scope>RigidbodyComponent</scope><name>~RigidbodyComponent</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
