Неотрабатывают границы радиуса
не могу достичь понятного результата
смысл такой :
с начала проверяю пересекают ли границы от рисовки линии в ноль (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); // возвращаем назад точку отчёта
}
}
