Page MenuHomec4science

newtonparticle.cpp
No OneTemporary

File Metadata

Created
Fri, Dec 13, 03:55

newtonparticle.cpp

#include "newtonparticle.h"
#include "descriptors/newton.h"
NewtonParticle::NewtonParticle( GLModel * model,
const double& mass,
const SVector<3>& position,
const SVector<3>& speed,
const QString &label,
specs_t flags)
: Particle(NULL, model, label, flags)
{
newtonDescriptor = new NewtonDescriptor(mass, position, speed);
bind(newtonDescriptor);
}
NewtonParticle::NewtonParticle( const NewtonDescriptor &desc,
GLModel * model,
const QString &label,
specs_t flags)
: Particle(NULL, model, label, flags)
{
newtonDescriptor = new NewtonDescriptor(desc);
bind(newtonDescriptor);
}
NewtonParticle::~NewtonParticle()
{
release();
/* Delete the instance */
delete newtonDescriptor;
}
/* returns the position of the NewtonParticle */
SVector<3> NewtonParticle::position() const
{
return newtonDescriptor->position;
}
/* apply a force to the NewtonParticle */
void NewtonParticle::addForce(const SVector<3> &force)
{
newtonDescriptor->forces += force;
}
/* get the mass of the NewtonParticle */
double NewtonParticle::mass() const
{
return newtonDescriptor->mass;
}
/* get the speed of the NewtonParticle */
const SVector<3>& NewtonParticle::speed() const
{
return newtonDescriptor->speed;
}
/* set the speed of the NewtonParticle */
void NewtonParticle::setSpeed(const SVector<3>& speed)
{
newtonDescriptor->speed = speed;
}
/* set the mass of the NewtonParticle */
void NewtonParticle::setMass(double mass)
{
newtonDescriptor->mass = mass;
}

Event Timeline