public boolean hasChanged()
    {
        if(oldPos == null)
        {
            oldPos = new Vector3f(0,0,0).set(pos);
            oldRot = new Quaternion(0,0,0,0).set(rot);
            oldScale = new Vector3f(0,0,0).set(scale);
            return true;
        }

        if(parent != null && parent.hasChanged())
            return true;

        if(!pos.equals(oldPos))
            return true;

        if(!rot.equals(oldRot))
            return true;

        if(!scale.equals(oldScale))
            return true;

        return false;
    }