//===========================================================================
void cShapeMatching3dofPointer::applyForces()
{
    // check if device is available
    if (m_device == NULL)
    {
        return;
    }

    // convert force into device local coordinates
    cMatrix3d tRot;
    m_globalRot.transr(tRot);
    tRot.mulr(m_lastComputedGlobalForce, m_lastComputedLocalForce);

    if (
        (m_waitForSmallForce == false)  ||
        ((!m_forceStarted) && (m_lastComputedLocalForce.lengthsq() <0.000001))
      )
    {
        m_forceStarted = true;
    }

    // send force to device
    if ((m_forceON) && (m_forceStarted))
    {
        m_device->setForce(m_lastComputedLocalForce);
    }
    else
    {
        cVector3d zeroForce(0.0, 0.0, 0.0);
        m_device->setForce(zeroForce);
    }
}
void CVK::MassPoint::numericIntegration(float d_t)
{	
	// TODO Aufgabe 4 (a)
	// Implementieren Sie das Euler Integrationsverfahren.
	mPosition=mPosition+mVelocity*d_t;
	mVelocity=mVelocity+(mCurrentForce/mMass)*d_t;
	zeroForce();
}