<?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="d9/d15/classIPhysicsComponent" kind="class" language="C++" prot="public">
    <compoundname>IPhysicsComponent</compoundname>
    <basecompoundref refid="d8/d6b/classComponent" prot="public" virt="non-virtual">Component</basecompoundref>
    <derivedcompoundref refid="de/d87/classRigidbodyComponent" prot="public" virt="non-virtual">RigidbodyComponent</derivedcompoundref>
    <includes refid="d5/d69/IPhysicsComponent_8hpp" local="no">IPhysicsComponent.hpp</includes>
      <sectiondef kind="protected-attrib">
      <memberdef kind="variable" id="d9/d15/classIPhysicsComponent_1a793d76606057fb4dcf4ad9550fbbeca2" prot="protected" static="no" mutable="no">
        <type><ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref> *</type>
        <definition>TransformComponent* IPhysicsComponent::m_position</definition>
        <argsstring></argsstring>
        <name>m_position</name>
        <qualifiedname>IPhysicsComponent::m_position</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/IPhysicsComponent.hpp" line="126" column="24" bodyfile="include/IPhysicsComponent.hpp" bodystart="126" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="d9/d15/classIPhysicsComponent_1ad22593592587dde0b325bd608b559aab" prot="protected" static="no" mutable="no">
        <type><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref></type>
        <definition>Vec2D IPhysicsComponent::dimensions</definition>
        <argsstring></argsstring>
        <name>dimensions</name>
        <qualifiedname>IPhysicsComponent::dimensions</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>pointer to the <ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref> used by the shared parent <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref> </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/IPhysicsComponent.hpp" line="127" column="11" bodyfile="include/IPhysicsComponent.hpp" bodystart="127" bodyend="-1"/>
        <referencedby refid="d9/d15/classIPhysicsComponent_1abb67c9f5741590c7ebcca1434175386a" compoundref="d3/d9c/IPhysicsComponent_8cpp" startline="24" endline="26">GetDimensions</referencedby>
        <referencedby refid="d9/d15/classIPhysicsComponent_1ab4bee7d6211a8649c7089629eaccbb21" compoundref="d3/d9c/IPhysicsComponent_8cpp" startline="3" endline="6">IPhysicsComponent</referencedby>
        <referencedby refid="d9/d15/classIPhysicsComponent_1aae80e0691898c61495f43a7bc2f0e494" compoundref="d3/d9c/IPhysicsComponent_8cpp" startline="9" endline="18">IsColliding</referencedby>
      </memberdef>
      <memberdef kind="variable" id="d9/d15/classIPhysicsComponent_1a527df5bfe70078a0302906962494be1a" prot="protected" static="no" mutable="no">
        <type>std::vector&lt; ComponentTag &gt;</type>
        <definition>std::vector&lt;ComponentTag&gt; IPhysicsComponent::tags</definition>
        <argsstring></argsstring>
        <name>tags</name>
        <qualifiedname>IPhysicsComponent::tags</qualifiedname>
        <initializer>= {ComponentTag::Physics}</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/IPhysicsComponent.hpp" line="128" column="17" bodyfile="include/IPhysicsComponent.hpp" bodystart="128" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="d9/d15/classIPhysicsComponent_1ab4bee7d6211a8649c7089629eaccbb21" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>IPhysicsComponent::IPhysicsComponent</definition>
        <argsstring>(TransformComponent *pos, Vec2D dim)</argsstring>
        <name>IPhysicsComponent</name>
        <qualifiedname>IPhysicsComponent::IPhysicsComponent</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>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Construct a new <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref> object</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>pos</parametername>
</parameternamelist>
<parameterdescription>
<para>the position of the <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref> the <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> is attached to </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>dim</parametername>
</parameternamelist>
<parameterdescription>
<para>the dimensions (width, height) of the <ref refid="de/d1c/classGameObject" kindref="compound">GameObject</ref> the <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> is attached to </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/IPhysicsComponent.hpp" line="19" column="5" bodyfile="src/IPhysicsComponent.cpp" bodystart="3" bodyend="6"/>
        <references refid="d9/d15/classIPhysicsComponent_1ad22593592587dde0b325bd608b559aab" compoundref="d5/d69/IPhysicsComponent_8hpp" startline="127">dimensions</references>
      </memberdef>
      <memberdef kind="function" id="d9/d15/classIPhysicsComponent_1ae02e2c332f14e4206c21fc08902d5161" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>IPhysicsComponent::~IPhysicsComponent</definition>
        <argsstring>()</argsstring>
        <name>~IPhysicsComponent</name>
        <qualifiedname>IPhysicsComponent::~IPhysicsComponent</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Destroy the <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref> object </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/IPhysicsComponent.hpp" line="24" column="5" bodyfile="src/IPhysicsComponent.cpp" bodystart="7" bodyend="7"/>
      </memberdef>
      <memberdef kind="function" id="d9/d15/classIPhysicsComponent_1aae80e0691898c61495f43a7bc2f0e494" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool</type>
        <definition>bool IPhysicsComponent::IsColliding</definition>
        <argsstring>(IPhysicsComponent *other)</argsstring>
        <name>IsColliding</name>
        <qualifiedname>IPhysicsComponent::IsColliding</qualifiedname>
        <param>
          <type><ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref> *</type>
          <declname>other</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Check for a collision with the given <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref>.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>other</parametername>
</parameternamelist>
<parameterdescription>
<para>the <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> to check for collisions </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>whether other is colliding with this object </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/IPhysicsComponent.hpp" line="32" column="10" bodyfile="src/IPhysicsComponent.cpp" bodystart="9" bodyend="18"/>
        <references refid="d9/d15/classIPhysicsComponent_1ad22593592587dde0b325bd608b559aab" compoundref="d5/d69/IPhysicsComponent_8hpp" startline="127">dimensions</references>
        <references refid="d9/d15/classIPhysicsComponent_1abb67c9f5741590c7ebcca1434175386a" compoundref="d3/d9c/IPhysicsComponent_8cpp" startline="24" endline="26">GetDimensions</references>
        <references refid="d2/d0a/classTransformComponent_1a5452c308a26521441745d3edc1ab5d4d" compoundref="da/d4e/TransformComponent_8cpp" startline="19" endline="21">TransformComponent::getPos</references>
        <references refid="d9/d15/classIPhysicsComponent_1abfaa678eb1c7312e9bf098bc1473f794" compoundref="d3/d9c/IPhysicsComponent_8cpp" startline="20" endline="22">GetPosition</references>
        <referencedby refid="db/df5/classPhysicsEngine_1a30d283b6067980e42765340dea6eb62a" compoundref="df/da7/PhysicsEngine_8cpp" startline="17" endline="85">PhysicsEngine::Update</referencedby>
      </memberdef>
      <memberdef kind="function" id="d9/d15/classIPhysicsComponent_1a12248fc80967b165bc598e6f8bd3a8cd" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void IPhysicsComponent::ApplyForce</definition>
        <argsstring>(Vec2D force)</argsstring>
        <name>ApplyForce</name>
        <qualifiedname>IPhysicsComponent::ApplyForce</qualifiedname>
        <reimplementedby refid="de/d87/classRigidbodyComponent_1a1883fe26d2113b4aa5e74f21c0b49eab">ApplyForce</reimplementedby>
        <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="d9/d15/classIPhysicsComponent_1aff905f4a966c951b7f56e716ab9f9347" kindref="member">SetVelocity()</ref> to directly change the velocity </para>
</simplesect>
<simplesect kind="see"><para><ref refid="d9/d15/classIPhysicsComponent_1a0e5005877e7fc2b280c418515bb1954a" kindref="member">ApplyAcceleration()</ref> to modify the acceleration </para>
</simplesect>
<simplesect kind="see"><para><ref refid="d9/d15/classIPhysicsComponent_1ac1eb84fa1b67c0258a48fb1ac15f497d" kindref="member">ApplyVelocity()</ref> to finalize movement </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/IPhysicsComponent.hpp" line="43" column="18" bodyfile="src/IPhysicsComponent.cpp" bodystart="29" bodyend="29"/>
      </memberdef>
      <memberdef kind="function" id="d9/d15/classIPhysicsComponent_1a0e5005877e7fc2b280c418515bb1954a" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void IPhysicsComponent::ApplyAcceleration</definition>
        <argsstring>(Vec2D acceleration)</argsstring>
        <name>ApplyAcceleration</name>
        <qualifiedname>IPhysicsComponent::ApplyAcceleration</qualifiedname>
        <reimplementedby refid="de/d87/classRigidbodyComponent_1ae30aa822d90c6426fdbb96ec05a37d28">ApplyAcceleration</reimplementedby>
        <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/IPhysicsComponent.hpp" line="49" column="18" bodyfile="src/IPhysicsComponent.cpp" bodystart="30" bodyend="30"/>
      </memberdef>
      <memberdef kind="function" id="d9/d15/classIPhysicsComponent_1ac1eb84fa1b67c0258a48fb1ac15f497d" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void IPhysicsComponent::ApplyVelocity</definition>
        <argsstring>()</argsstring>
        <name>ApplyVelocity</name>
        <qualifiedname>IPhysicsComponent::ApplyVelocity</qualifiedname>
        <reimplementedby refid="de/d87/classRigidbodyComponent_1a7dafbd3c40121afeb2e30ad99d9be4ca">ApplyVelocity</reimplementedby>
        <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="d9/d15/classIPhysicsComponent_1a12248fc80967b165bc598e6f8bd3a8cd" kindref="member">ApplyForce()</ref> to use force to change the velocity </para>
</simplesect>
<simplesect kind="see"><para><ref refid="d9/d15/classIPhysicsComponent_1aff905f4a966c951b7f56e716ab9f9347" kindref="member">SetVelocity()</ref> to directly change the velocity </para>
</simplesect>
<simplesect kind="see"><para><ref refid="d9/d15/classIPhysicsComponent_1a0e5005877e7fc2b280c418515bb1954a" kindref="member">ApplyAcceleration()</ref> to modify the acceleration </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/IPhysicsComponent.hpp" line="59" column="18" bodyfile="src/IPhysicsComponent.cpp" bodystart="31" bodyend="31"/>
      </memberdef>
      <memberdef kind="function" id="d9/d15/classIPhysicsComponent_1aff905f4a966c951b7f56e716ab9f9347" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void IPhysicsComponent::SetVelocity</definition>
        <argsstring>(Vec2D vel)</argsstring>
        <name>SetVelocity</name>
        <qualifiedname>IPhysicsComponent::SetVelocity</qualifiedname>
        <reimplementedby refid="de/d87/classRigidbodyComponent_1a5c6caca7d911fb61f00a2a35de0f62ef">SetVelocity</reimplementedby>
        <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/IPhysicsComponent.hpp" line="68" column="18" bodyfile="src/IPhysicsComponent.cpp" bodystart="32" bodyend="32"/>
      </memberdef>
      <memberdef kind="function" id="d9/d15/classIPhysicsComponent_1aaf37980fe6dea6de4d49156b3c4ce998" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>bool</type>
        <definition>bool IPhysicsComponent::IsKinematic</definition>
        <argsstring>()</argsstring>
        <name>IsKinematic</name>
        <qualifiedname>IPhysicsComponent::IsKinematic</qualifiedname>
        <reimplementedby refid="de/d87/classRigidbodyComponent_1a73b252b29fbb76a6354b0c56aebe36f9">IsKinematic</reimplementedby>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get whether the <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref> is kinematic. Allows for Colliders to only get collision data, without applying forces to other Components</para>
<para><simplesect kind="return"><para>whether the <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref> uses kinematic 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/IPhysicsComponent.hpp" line="79" column="18" bodyfile="src/IPhysicsComponent.cpp" bodystart="33" bodyend="33"/>
        <referencedby refid="db/df5/classPhysicsEngine_1a30d283b6067980e42765340dea6eb62a" compoundref="df/da7/PhysicsEngine_8cpp" startline="17" endline="85">PhysicsEngine::Update</referencedby>
      </memberdef>
      <memberdef kind="function" id="d9/d15/classIPhysicsComponent_1a4136b164031d8fa821316e1664264392" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>bool</type>
        <definition>bool IPhysicsComponent::IsElastic</definition>
        <argsstring>()</argsstring>
        <name>IsElastic</name>
        <qualifiedname>IPhysicsComponent::IsElastic</qualifiedname>
        <reimplementedby refid="de/d87/classRigidbodyComponent_1adc67765c449d8cde1c9dcdd279b97194">IsElastic</reimplementedby>
        <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/IPhysicsComponent.hpp" line="87" column="18" bodyfile="src/IPhysicsComponent.cpp" bodystart="34" bodyend="34"/>
        <referencedby refid="db/df5/classPhysicsEngine_1a30d283b6067980e42765340dea6eb62a" compoundref="df/da7/PhysicsEngine_8cpp" startline="17" endline="85">PhysicsEngine::Update</referencedby>
      </memberdef>
      <memberdef kind="function" id="d9/d15/classIPhysicsComponent_1a41f11dca49e23ad9236b2ccbfe81e8f4" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>bool</type>
        <definition>bool IPhysicsComponent::UsesGravity</definition>
        <argsstring>()</argsstring>
        <name>UsesGravity</name>
        <qualifiedname>IPhysicsComponent::UsesGravity</qualifiedname>
        <reimplementedby refid="de/d87/classRigidbodyComponent_1aa4d0c27e47cef8b74058d70a5054eb31">UsesGravity</reimplementedby>
        <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/IPhysicsComponent.hpp" line="94" column="18" bodyfile="src/IPhysicsComponent.cpp" bodystart="35" bodyend="35"/>
      </memberdef>
      <memberdef kind="function" id="d9/d15/classIPhysicsComponent_1abfaa678eb1c7312e9bf098bc1473f794" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref></type>
        <definition>Vec2D IPhysicsComponent::GetPosition</definition>
        <argsstring>()</argsstring>
        <name>GetPosition</name>
        <qualifiedname>IPhysicsComponent::GetPosition</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the position of the <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref>.</para>
<para><simplesect kind="return"><para>the position of the <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> </para>
</simplesect>
<simplesect kind="see"><para><ref refid="d2/d0a/classTransformComponent" kindref="compound">TransformComponent</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/IPhysicsComponent.hpp" line="102" column="11" bodyfile="src/IPhysicsComponent.cpp" bodystart="20" bodyend="22"/>
        <references refid="d2/d0a/classTransformComponent_1a5452c308a26521441745d3edc1ab5d4d" compoundref="da/d4e/TransformComponent_8cpp" startline="19" endline="21">TransformComponent::getPos</references>
        <referencedby refid="d9/d15/classIPhysicsComponent_1aae80e0691898c61495f43a7bc2f0e494" compoundref="d3/d9c/IPhysicsComponent_8cpp" startline="9" endline="18">IsColliding</referencedby>
        <referencedby refid="dd/d7a/classProjectileComponent_1ac67ad7b89802466876a93ff01ab291f5" compoundref="db/d41/ProjectileComponent_8cpp" startline="3" endline="34">ProjectileComponent::ProjectileComponent</referencedby>
        <referencedby refid="db/df5/classPhysicsEngine_1a30d283b6067980e42765340dea6eb62a" compoundref="df/da7/PhysicsEngine_8cpp" startline="17" endline="85">PhysicsEngine::Update</referencedby>
        <referencedby refid="dd/d7a/classProjectileComponent_1a38c9c6161b276691004f672991795b54" compoundref="db/d41/ProjectileComponent_8cpp" startline="40" endline="52">ProjectileComponent::Update</referencedby>
      </memberdef>
      <memberdef kind="function" id="d9/d15/classIPhysicsComponent_1abb67c9f5741590c7ebcca1434175386a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="dd/d40/structVec2D" kindref="compound">Vec2D</ref></type>
        <definition>Vec2D IPhysicsComponent::GetDimensions</definition>
        <argsstring>()</argsstring>
        <name>GetDimensions</name>
        <qualifiedname>IPhysicsComponent::GetDimensions</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the dimensions of the <ref refid="d9/d15/classIPhysicsComponent" kindref="compound">IPhysicsComponent</ref>.</para>
<para><simplesect kind="return"><para>the dimensions of the <ref refid="d8/d6b/classComponent" kindref="compound">Component</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="include/IPhysicsComponent.hpp" line="109" column="11" bodyfile="src/IPhysicsComponent.cpp" bodystart="24" bodyend="26"/>
        <references refid="d9/d15/classIPhysicsComponent_1ad22593592587dde0b325bd608b559aab" compoundref="d5/d69/IPhysicsComponent_8hpp" startline="127">dimensions</references>
        <referencedby refid="d9/d15/classIPhysicsComponent_1aae80e0691898c61495f43a7bc2f0e494" compoundref="d3/d9c/IPhysicsComponent_8cpp" startline="9" endline="18">IsColliding</referencedby>
        <referencedby refid="db/df5/classPhysicsEngine_1a30d283b6067980e42765340dea6eb62a" compoundref="df/da7/PhysicsEngine_8cpp" startline="17" endline="85">PhysicsEngine::Update</referencedby>
      </memberdef>
      <memberdef kind="function" id="d9/d15/classIPhysicsComponent_1a476359cb97729525a9e476f6777c1536" 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 IPhysicsComponent::GetVelocity</definition>
        <argsstring>()</argsstring>
        <name>GetVelocity</name>
        <qualifiedname>IPhysicsComponent::GetVelocity</qualifiedname>
        <reimplementedby refid="de/d87/classRigidbodyComponent_1aca2cbab492d09175e0f2aa1e87f62f1f">GetVelocity</reimplementedby>
        <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/IPhysicsComponent.hpp" line="116" column="19" bodyfile="src/IPhysicsComponent.cpp" bodystart="36" bodyend="36"/>
      </memberdef>
      <memberdef kind="function" id="d9/d15/classIPhysicsComponent_1a5a88a9979998bcfe46ec45d4a6c4966b" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>float</type>
        <definition>float IPhysicsComponent::GetMass</definition>
        <argsstring>()</argsstring>
        <name>GetMass</name>
        <qualifiedname>IPhysicsComponent::GetMass</qualifiedname>
        <reimplementedby refid="de/d87/classRigidbodyComponent_1a96b7ca6de81de1347b2daf4f9c32a66b">GetMass</reimplementedby>
        <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/IPhysicsComponent.hpp" line="123" column="19" bodyfile="src/IPhysicsComponent.cpp" bodystart="37" bodyend="37"/>
        <referencedby refid="db/df5/classPhysicsEngine_1a30d283b6067980e42765340dea6eb62a" compoundref="df/da7/PhysicsEngine_8cpp" startline="17" endline="85">PhysicsEngine::Update</referencedby>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
<para>An interface for all <ref refid="d8/d6b/classComponent" kindref="compound">components </ref> that will be interacting with the PhysicEngine </para>
    </detaileddescription>
    <inheritancegraph>
      <node id="2">
        <label>Component</label>
        <link refid="d8/d6b/classComponent"/>
      </node>
      <node id="1">
        <label>IPhysicsComponent</label>
        <link refid="d9/d15/classIPhysicsComponent"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
      <node id="3">
        <label>RigidbodyComponent</label>
        <link refid="de/d87/classRigidbodyComponent"/>
        <childnode refid="1" relation="public-inheritance">
        </childnode>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="2">
        <label>Component</label>
        <link refid="d8/d6b/classComponent"/>
      </node>
      <node id="1">
        <label>IPhysicsComponent</label>
        <link refid="d9/d15/classIPhysicsComponent"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
        <childnode refid="3" relation="usage">
          <edgelabel>m_position</edgelabel>
        </childnode>
        <childnode refid="4" relation="usage">
          <edgelabel>dimensions</edgelabel>
        </childnode>
      </node>
      <node id="3">
        <label>TransformComponent</label>
        <link refid="d2/d0a/classTransformComponent"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
        <childnode refid="4" relation="usage">
          <edgelabel>position</edgelabel>
        </childnode>
      </node>
      <node id="4">
        <label>Vec2D</label>
        <link refid="dd/d40/structVec2D"/>
      </node>
    </collaborationgraph>
    <location file="include/IPhysicsComponent.hpp" line="11" column="1" bodyfile="include/IPhysicsComponent.hpp" bodystart="11" bodyend="129"/>
    <listofallmembers>
      <member refid="d9/d15/classIPhysicsComponent_1a0e5005877e7fc2b280c418515bb1954a" prot="public" virt="virtual"><scope>IPhysicsComponent</scope><name>ApplyAcceleration</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1a12248fc80967b165bc598e6f8bd3a8cd" prot="public" virt="virtual"><scope>IPhysicsComponent</scope><name>ApplyForce</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1ac1eb84fa1b67c0258a48fb1ac15f497d" prot="public" virt="virtual"><scope>IPhysicsComponent</scope><name>ApplyVelocity</name></member>
      <member refid="d8/d6b/classComponent_1a8775db6d1a2c1afc2e77cd3c8f39da6f" prot="public" virt="non-virtual"><scope>IPhysicsComponent</scope><name>Component</name></member>
      <member refid="d8/d6b/classComponent_1a6ad359e7f57daa4ba249aaf5c88da052" prot="public" virt="virtual"><scope>IPhysicsComponent</scope><name>ComponentTypeName</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1ad22593592587dde0b325bd608b559aab" prot="protected" virt="non-virtual"><scope>IPhysicsComponent</scope><name>dimensions</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1abb67c9f5741590c7ebcca1434175386a" prot="public" virt="non-virtual"><scope>IPhysicsComponent</scope><name>GetDimensions</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1a5a88a9979998bcfe46ec45d4a6c4966b" prot="public" virt="virtual"><scope>IPhysicsComponent</scope><name>GetMass</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1abfaa678eb1c7312e9bf098bc1473f794" prot="public" virt="non-virtual"><scope>IPhysicsComponent</scope><name>GetPosition</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1a476359cb97729525a9e476f6777c1536" prot="public" virt="virtual"><scope>IPhysicsComponent</scope><name>GetVelocity</name></member>
      <member refid="d8/d6b/classComponent_1aed93a0ec70ebc71f34f02eb0a3ad4006" prot="public" virt="virtual"><scope>IPhysicsComponent</scope><name>HasTag</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1ab4bee7d6211a8649c7089629eaccbb21" prot="public" virt="non-virtual"><scope>IPhysicsComponent</scope><name>IPhysicsComponent</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1aae80e0691898c61495f43a7bc2f0e494" prot="public" virt="non-virtual"><scope>IPhysicsComponent</scope><name>IsColliding</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1a4136b164031d8fa821316e1664264392" prot="public" virt="virtual"><scope>IPhysicsComponent</scope><name>IsElastic</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1aaf37980fe6dea6de4d49156b3c4ce998" prot="public" virt="virtual"><scope>IPhysicsComponent</scope><name>IsKinematic</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1a793d76606057fb4dcf4ad9550fbbeca2" prot="protected" virt="non-virtual"><scope>IPhysicsComponent</scope><name>m_position</name></member>
      <member refid="d8/d6b/classComponent_1aea8f0f460a62d86183020bd667b6cbf0" prot="public" virt="non-virtual"><scope>IPhysicsComponent</scope><name>ParseAndUpdateBroadcast</name></member>
      <member refid="d8/d6b/classComponent_1a7d03b8c23a6fa95fd83f08ad88cd59ee" prot="protected" virt="non-virtual"><scope>IPhysicsComponent</scope><name>pendingBroadcasts</name></member>
      <member refid="d8/d6b/classComponent_1a929d29b8cdb9447b70f5e7d990c7d0f0" prot="protected" virt="non-virtual"><scope>IPhysicsComponent</scope><name>previousBroadcasts</name></member>
      <member refid="d8/d6b/classComponent_1ab856bdb8c4357a080d7abcf99871a573" prot="public" virt="virtual"><scope>IPhysicsComponent</scope><name>Render</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1aff905f4a966c951b7f56e716ab9f9347" prot="public" virt="virtual"><scope>IPhysicsComponent</scope><name>SetVelocity</name></member>
      <member refid="d8/d6b/classComponent_1a92af5bb942ea9633515a0c0e16a0bb8c" prot="public" virt="virtual"><scope>IPhysicsComponent</scope><name>ShowComponentEditor</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1a527df5bfe70078a0302906962494be1a" prot="protected" virt="non-virtual"><scope>IPhysicsComponent</scope><name>tags</name></member>
      <member refid="d8/d6b/classComponent_1a9c764c2a5607ef52629458d361ebf16e" prot="public" virt="virtual"><scope>IPhysicsComponent</scope><name>Update</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1a41f11dca49e23ad9236b2ccbfe81e8f4" prot="public" virt="virtual"><scope>IPhysicsComponent</scope><name>UsesGravity</name></member>
      <member refid="d8/d6b/classComponent_1ab8378fa275af98e568a7e91d33d867af" prot="public" virt="non-virtual"><scope>IPhysicsComponent</scope><name>~Component</name></member>
      <member refid="d9/d15/classIPhysicsComponent_1ae02e2c332f14e4206c21fc08902d5161" prot="public" virt="non-virtual"><scope>IPhysicsComponent</scope><name>~IPhysicsComponent</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
