// Created by Paul Gonzalez Becerra

using System;

using Saserdote.DataSystems;
using Saserdote.Mathematics;

namespace Saserdote.Animation
{
	public class MeshAnimation:ICloneable<MeshAnimation>
	{
		#region --- Field Variables ---
		
		// Variables
		public FList<Vector3>	vectorKeys;
		public FList<Matrix>	rotationKeys;
		public FList<Vector3>	scalingKeys;
		
		#endregion // Field Variables
		
		#region --- Constructors ---
		
		public MeshAnimation()
		{
			vectorKeys=	new FList<Vector3>();
			rotationKeys=	new FList<Matrix>();
			scalingKeys=	new FList<Vector3>();
		}
		
		#endregion // Constructors
		
		#region --- Inherited Methods ---
		
		// Clones the model animation
		public MeshAnimation clone()
		{
			// Variables
			MeshAnimation	ma=	new MeshAnimation();
			
			for(int i= 0; i< vectorKeys.size; i++)
				ma.vectorKeys.add(vectorKeys[i]);
			for(int i= 0; i< rotationKeys.size; i++)
				ma.rotationKeys.add(rotationKeys[i]);
			for(int i= 0; i< scalingKeys.size; i++)
				ma.scalingKeys.add(scalingKeys[i]);
			
			return ma;
		}
		
		#endregion // Inhertied Methods
	}
}

// End of File