//'--------------------------------------------------
//' irr:scene:ISceneNodeAnimatorFactory wrappers
//'--------------------------------------------------

extern "C"
{
	ISceneNodeAnimator* IrrScene_ISceneNodeAnimatorFactory_createSceneNodeAnimatorFromType(ISceneNodeAnimatorFactory* snf,ESCENE_NODE_ANIMATOR_TYPE type, ISceneNode* target)
	{
		if (snf)
			return snf->createSceneNodeAnimator(type,target);
		else return 0;
	}

	ISceneNodeAnimator* IrrScene_ISceneNodeAnimatorFactory_createSceneNodeAnimatorFromName(ISceneNodeAnimatorFactory* snf,const char* typeName, ISceneNode* target)
	{
		if (snf)
			return snf->createSceneNodeAnimator(typeName,target);
		else return 0;
	}
	
	u32 IrrScene_ISceneNodeAnimatorFactory_getCreatableSceneNodeAnimatorTypeCount(ISceneNodeAnimatorFactory* snf)
	{
		if (snf)
			return snf->getCreatableSceneNodeAnimatorTypeCount();
		else return 0;
	}

	s32 IrrScene_ISceneNodeAnimatorFactory_getCreateableSceneNodeAnimatorType(ISceneNodeAnimatorFactory* snf,u32 idx)
	{
		if (snf)
			return (s32)snf->getCreateableSceneNodeAnimatorType(idx);
		else return -1;
	}

	const c8* IrrScene_ISceneNodeAnimatorFactory_getCreateableSceneNodeAnimatorTypeNameFromIndex(ISceneNodeAnimatorFactory* snf,u32 idx)
	{
		if (snf)
			return snf->getCreateableSceneNodeAnimatorTypeName(idx);
		else return 0;
	}

	const c8* IrrScene_ISceneNodeAnimatorFactory_getCreateableSceneNodeAnimatorTypeNameFromType(ISceneNodeAnimatorFactory* snf,ESCENE_NODE_ANIMATOR_TYPE type)
	{
		if (snf)
			return snf->getCreateableSceneNodeAnimatorTypeName(type);
		else return 0;
	}
	
	bool IrrScene_ISceneNodeAnimatorFactory_drop(ISceneNodeAnimatorFactory* unk)
	{
		if (unk)
			return unk->drop();
		else return 0;
	}
	
	const c8* IrrScene_ISceneNodeAnimatorFactory_getDebugName(ISceneNodeAnimatorFactory* unk)
	{
		if (unk)
			return unk->getDebugName();
		else return "";
	}
	
	void IrrScene_ISceneNodeAnimatorFactory_grab(ISceneNodeAnimatorFactory* unk)
	{
		if (unk)
			unk->grab();
	}
		
} 



