GFERIK - added icollideable cone
This commit is contained in:
parent
7541994419
commit
3324da528d
|
@ -0,0 +1,44 @@
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
// Created by Erik Persson 2014
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "Cone.h"
|
||||||
|
#include "OysterCollision3D.h"
|
||||||
|
|
||||||
|
using namespace ::Oyster::Collision3D;
|
||||||
|
using namespace ::Oyster::Math3D;
|
||||||
|
|
||||||
|
|
||||||
|
Cone::Cone( ) : ICollideable(Type_cone)
|
||||||
|
{
|
||||||
|
this->radius = 1;
|
||||||
|
this->height = Oyster::Math::Float3(0,0,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
Cone::Cone( const ::Oyster::Math::Float3 &height, const Oyster::Math::Float3 &position, const ::Oyster::Math::Float &radius )
|
||||||
|
{
|
||||||
|
this->radius = radius;
|
||||||
|
this->height = height;
|
||||||
|
this->position = position;
|
||||||
|
}
|
||||||
|
|
||||||
|
Cone::Cone( const ::Oyster::Math::Float4 &height, const Oyster::Math::Float4 &position, const ::Oyster::Math::Float &radius )
|
||||||
|
{
|
||||||
|
this->radius = radius;
|
||||||
|
this->height = (Oyster::Math::Float3)height;
|
||||||
|
this->position = (Oyster::Math::Float3)position;
|
||||||
|
}
|
||||||
|
|
||||||
|
Cone::~Cone( )
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Cone & Cone::operator = ( const Cone &cone )
|
||||||
|
{
|
||||||
|
this->radius = cone.radius;
|
||||||
|
this->height = cone.height;
|
||||||
|
this->position = cone.position;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
// Created by Erik Persson 2014
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
#ifndef OYSTER_COLLISION_3D_CONE_H
|
||||||
|
#define OYSTER_COLLISION_3D_CONE_H
|
||||||
|
|
||||||
|
|
||||||
|
#include "OysterMath.h"
|
||||||
|
#include "ICollideable.h"
|
||||||
|
|
||||||
|
namespace Oyster
|
||||||
|
{
|
||||||
|
namespace Collision3D
|
||||||
|
{
|
||||||
|
class Cone : public ICollideable
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
Cone();
|
||||||
|
Cone( const ::Oyster::Math::Float3 &height, const Oyster::Math::Float3 &position, const ::Oyster::Math::Float &radius );
|
||||||
|
Cone( const ::Oyster::Math::Float4 &height, const Oyster::Math::Float4 &position, const ::Oyster::Math::Float &radius );
|
||||||
|
virtual ~Cone( );
|
||||||
|
|
||||||
|
Cone & operator = ( const Cone &Cone );
|
||||||
|
|
||||||
|
private:
|
||||||
|
Oyster::Math::Float3 height;
|
||||||
|
Oyster::Math::Float3 position;
|
||||||
|
Oyster::Math::Float radius;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
|
@ -26,7 +26,8 @@ namespace Oyster { namespace Collision3D //! Contains a collection of 3D shapes
|
||||||
Type_box_axis_aligned,
|
Type_box_axis_aligned,
|
||||||
Type_box,
|
Type_box,
|
||||||
Type_frustrum,
|
Type_frustrum,
|
||||||
Type_line
|
Type_line,
|
||||||
|
Type_cone,
|
||||||
};
|
};
|
||||||
|
|
||||||
const Type type;
|
const Type type;
|
||||||
|
|
|
@ -154,6 +154,7 @@
|
||||||
<ClInclude Include="BoxAxisAligned.h" />
|
<ClInclude Include="BoxAxisAligned.h" />
|
||||||
<ClInclude Include="FluidDrag.h" />
|
<ClInclude Include="FluidDrag.h" />
|
||||||
<ClInclude Include="Frustrum.h" />
|
<ClInclude Include="Frustrum.h" />
|
||||||
|
<ClInclude Include="Cone.h" />
|
||||||
<ClInclude Include="ICollideable.h" />
|
<ClInclude Include="ICollideable.h" />
|
||||||
<ClInclude Include="Inertia.h" />
|
<ClInclude Include="Inertia.h" />
|
||||||
<ClInclude Include="Line.h" />
|
<ClInclude Include="Line.h" />
|
||||||
|
@ -172,6 +173,7 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="Box.cpp" />
|
<ClCompile Include="Box.cpp" />
|
||||||
<ClCompile Include="BoxAxisAligned.cpp" />
|
<ClCompile Include="BoxAxisAligned.cpp" />
|
||||||
|
<ClCompile Include="Cone.cpp" />
|
||||||
<ClCompile Include="FluidDrag.cpp" />
|
<ClCompile Include="FluidDrag.cpp" />
|
||||||
<ClCompile Include="Frustrum.cpp" />
|
<ClCompile Include="Frustrum.cpp" />
|
||||||
<ClCompile Include="ICollideable.cpp" />
|
<ClCompile Include="ICollideable.cpp" />
|
||||||
|
|
|
@ -81,6 +81,9 @@
|
||||||
<ClInclude Include="Universe.h">
|
<ClInclude Include="Universe.h">
|
||||||
<Filter>Header Files\Collision</Filter>
|
<Filter>Header Files\Collision</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="Cone.h">
|
||||||
|
<Filter>Header Files\Collision</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="Box.cpp">
|
<ClCompile Include="Box.cpp">
|
||||||
|
@ -131,5 +134,8 @@
|
||||||
<ClCompile Include="Inertia.cpp">
|
<ClCompile Include="Inertia.cpp">
|
||||||
<Filter>Source Files\Physics</Filter>
|
<Filter>Source Files\Physics</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="Cone.cpp">
|
||||||
|
<Filter>Source Files\Collision</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
Loading…
Reference in New Issue