//
// Une masse ponctuelle
//
#ifndef __M_MASS_H
#define __M_MASS_H

#include "maths_defs.h"
#include "m_Vector.h"


class Mass
{
	float mass;
	Vector position;
	Vector velocity;
	Vector force;

public:

	mass(float n)                   : mass(n), force(0,0,0), position(0,0,0),velocity(0,0,0) {}
	mass(float n, Vector pos) : mass(n), position(pos), force(0,0,0), velocity(0,0,0)	 {}

	inline void setForce		(const Vector& f)		{force = f;		}
	inline void setVelocity	(const Vector& v)		{velocity = v;	}
	inline void setVPosition	(const Vector& p)		{position = p;	}

	void applyForce(const Vector f) const
	{
		force += f;
	}

	void initForce()
	{
		force.Init();
	}

	// ce que fais chaque masse
	void Simulation(const float dt)
	{
		velocity += (force / m) * dt;	
		position += (velocity * dt);
	}

};

#endif
