#pragma once

//! @file Mix/Scene/ICollider.h"
//! @brief コライダーインターフェースインクルードファイル

#include "Mix/Scene/IDynamicsObject.h"

namespace Mix{ namespace Scene{

	//! @class ICollider
	//! @brief コライダーインターフェース
	class ICollider : public Mix::Scene::IDynamicsObject
	{
	protected:
		//! @brief デストラクタ
		virtual ~ICollider( void ) {}

	public:
		//! @brief デフォルトかどうかを取得します
		//! @return デフォルトの場合は True を返します
		//! @note 質量を持ったコライダーかどうかを確認できます
		virtual Boolean IsDefault( void ) const = 0;
		//! @brief スタティックかどうかを取得します
		//! @return スタティックの場合は True を返します
		//! @note 質量が無く、運動をすることがないコライダーかどうかを確認できます
		virtual Boolean IsStatic( void ) const = 0;
		//! @brief キネマティックかどうかを取得します
		//! @return スタティックの場合は True を返します
		//! @note 質量が無く、運動をすることができるコライダーかどうかを確認できます
		virtual Boolean IsKinematic( void ) const = 0;
	};

}}
