#pragma once

#include "Mix/Tool/CLR/Core/Dynamics/Groups.h"

using namespace System::ComponentModel;

namespace Mix{ namespace Tool{ namespace Win32{ namespace Dynamics{
	class CollisionObject;
}}}}

namespace Mix{ namespace Tool{ namespace Dynamics{

	public ref class CollisionObject abstract
	{
	public:
		[Browsable(false)]
		property Mix::Tool::Dynamics::Groups Group
		{
			virtual Mix::Tool::Dynamics::Groups get( void );
			virtual void set( Mix::Tool::Dynamics::Groups value );
		}

		[Browsable(false)]
		property Mix::Tool::Dynamics::Groups GroupMask
		{
			virtual Mix::Tool::Dynamics::Groups get( void );
			virtual void set( Mix::Tool::Dynamics::Groups value );
		}

		[Browsable(false)]
		property Mix::Tool::Math::Vector^ Position
		{
			virtual Mix::Tool::Math::Vector^ get( void );
			virtual void set( Mix::Tool::Math::Vector^ value );
		}

		[Browsable(false)]
		property Mix::Tool::Math::Quaternion^ Rotation
		{
			virtual Mix::Tool::Math::Quaternion^ get( void );
			virtual void set( Mix::Tool::Math::Quaternion^ value );
		}

	internal:
		property Mix::Tool::Win32::Dynamics::CollisionObject* Impl
		{
			virtual Mix::Tool::Win32::Dynamics::CollisionObject* get( void ) abstract;
		}
	};

}}}
