/* -----------------------------------------------------------------------------
	GSFramework
	Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */


#ifndef	__NPHYSIC_CONSTRAINT_DESC__
#define	__NPHYSIC_CONSTRAINT_DESC__


		#include "scene3d/mitem.h"
		#include "math/matrix4.h"
		#include "memory/nweak_ptr.h"


namespace GS {
	namespace NML { class Tag; }
	namespace S3D {

//
struct	PhysicConstraintDesc
{
enum	Type
{
		TypeNone		=	0,
		TypePoint,
		TypeHinge
};

		Type			type;

		WeakPtr <MItem> item_a, item_b;
		Matrix4			pivot_a, pivot_b;

		bool			FromMetaTag(NML::Tag &);
		NML::Tag		*AsMetaTag() const;
};

	} // S3D
} // GS


#endif	// __NPHYSIC_CONSTRAINT_DESC__
