Неотрабатывают границы радиуса

не могу достичь понятного результата

смысл такой : с начала проверяю пересекают ли границы от рисовки линии в ноль (0, 360) если пересекают то отрабатывает if( angle >= poz_start || angle <= poz_end)(вот тут всё работает как надо)

если нет то if( angle >= poz_start && angle <= poz_end)

почему то этот код if( angle >= poz_start && angle <= poz_end) не отрабатывает почему то он выводит код даже в случае angle < poz_start и angle> poz_end

Не могу понять что делать ??

    float angle = _value; // угол (0, 360)

    bool bool_null = false;
    float prov_null = _border - _border_start;
    if(prov_null < 0){
        prov_null = prov_null + 360.0;
        bool_null = true;
    }

    if(bool_null == true)
    {

        if( angle >= poz_start || angle <= poz_end)
        {
            p->rotate(angle);

            p->setBrush(Qt::NoBrush);
            p->setPen(QPen(_colorItem, 1.6*_thickness, Qt::SolidLine));
            //    p->drawEllipse(QPointF(0,0),r*0.3, r*0.3);
            p->drawLine(QPointF(0,0), QPointF(0,0 - r*0.3));
            p->rotate(-angle); // возвращаем назад точку отчёта
        }
    }
    if(bool_null == false)
    {
        if( angle >= poz_start && angle <= poz_end)
        {
            p->rotate(angle);

            p->setBrush(Qt::NoBrush);
            p->setPen(QPen(_colorItem, 1.6*_thickness, Qt::SolidLine));
            //    p->drawEllipse(QPointF(0,0),r*0.3, r*0.3);
            p->drawLine(QPointF(0,0), QPointF(0,0 - r*0.3));
            p->rotate(-angle); // возвращаем назад точку отчёта
        }
    }

введите сюда описание изображения


Ответы (0 шт):