1996
|
Qt / 2D и 3D графика / Re: Прорисовка сетки поверх полигонов
|
: Июль 31, 2014, 17:46
|
У меня проще. Детали идеально соприкасаются по элементам. Вычислить эти элементы и вуаля. Можно, пожалуйста подробнее, с кодом. Я только успел изучить 5 глав суперкниги и на разбор документации времени нет.
|
|
|
1997
|
Qt / 2D и 3D графика / Прорисовка сетки поверх полигонов
|
: Июль 31, 2014, 16:55
|
Здравствуйте! Я заинтересовался вопросом, как поверх нарисованных мною полигонов нарисовать сетку. При обычном наложении сетки на полигоны возникала, так называемая z-fighting. В интернете я нашёл функцию glPolygonOffset(-1.0, -1.0). На что указывают её аргументы, так и не смог понять. В прикрепленном файле имеется две детали. Одна вставлена во вторую. Поверхности, которые не видны, я вычислять не хотел бы (по крайней мере на процессоре), так как мне очень критична скорость. На рисунке видно, как сквозь синюю деталь, обшитую белыми линиями, просачиваются чёрные, принадлежащие красной детали (при поворотах видны иногда и соседние белые, которые за поверхностью). Данные о вершинах поступают таким образом, что невозможно определить переднюю сторону полигона. Каким образом можно ликвидировать это неверное наложение?
|
|
|
1998
|
Qt / Вопросы новичков / Re: Макросы
|
: Июль 31, 2014, 15:06
|
Не совсем понятно поставлена задача.
Возможно, Вам нужен QGridLayout и QDesktopWidget
|
|
|
1999
|
Qt / ActiveX / Re: Не работают сигналы слоты.
|
: Июль 31, 2014, 10:15
|
У меня было подобное в обычном проекте. Решал так: заменил connect(timer, SIGNAL(timeout()), this, SLOT(timeout())); на bool tmp = connect(timer, SIGNAL(timeout()), this, SLOT(timeout())); qDebug() << tmp; Если true, тогда указать явно механизм коннекта.
|
|
|
2003
|
Qt / Вопросы новичков / Re: QWT(QwtThermo)
|
: Июль 29, 2014, 17:35
|
пытался сделать так C++ (Qt) QwtLinearScaleEngine *scale = new QwtLinearScaleEngine; scale->setAttribute(QwtLinearScaleEngine::IncludeReference); scale->setReference(min); ...
но, что не получилось или я что-тол тоже не понял а пример кода с инвертированием шкалы можете показать... Я примерно то же делал. И 0 в параметр передавал - результата не было. Код сегодня уже показать не смогу, так как уже далеко от компьютера, но, было что-то такое: scale->setAttribute(QwtLinearScaleEngine::Inverted); Только задавать нужно до присвоения движка.
|
|
|
2004
|
Qt / Вопросы новичков / Re: QWT(QwtThermo)
|
: Июль 29, 2014, 17:16
|
А можете привести пример кода плз К сожалению, я не разобрался, как пользоваться атрибутами. Мне удалось только инвертировать направление шкалы. Возможно, я ошибаюсь насчет атрибутов.
|
|
|
2005
|
Qt / Вопросы новичков / Re: QWT(QwtThermo)
|
: Июль 29, 2014, 17:01
|
я предлагаю поиграть с атрибутом IncludeReference. Я так понял, что если задать этот референс 0, то он будет включен в шкалу, а сам ColorMap смещен.
забавно, что этот виджет даже при установке собственного шага не даёт желаемого результата.
|
|
|
2006
|
Qt / Вопросы новичков / Re: QWT(QwtThermo)
|
: Июль 29, 2014, 16:48
|
Мне никак не понять, что такое reference... относительно неё можно построить симметричную шкалу, либо шкалу, включающую это значение.
Вы не хотите использовать 0 в минимуме, потому что будет выводиться часть лишнего colorMap?
|
|
|
2007
|
Qt / Вопросы новичков / Re: QWT(QwtThermo)
|
: Июль 29, 2014, 16:38
|
Значит выход один: делать логарифмическую шкалу Шучу Base class for scale engines. A scale engine tries to find "reasonable" ranges and step sizes for scales. The layout of the scale can be varied with setAttribute(). Qwt offers implementations for logarithmic and linear scales. Но, у меня неуспешно удалось поиграть с атрибутами.
|
|
|
2008
|
Qt / Вопросы новичков / Re: QWT(QwtThermo)
|
: Июль 29, 2014, 15:52
|
Да походу действительно это особенности либы. Поменял диапазон шкалы 0 до 100 и все норм. И как от этого избавится???
Я скажу больше. Вы можете поставить диапазон 1-100. Получите тот же эффект. Просто либа пытается округлить значения на шкале, соответственно, минимальное круглое значение (0) лежит вне шкалы... Даже так называемый тик отсутствует в начале шкалы Советую почитать про void QwtThermo::setScaleDraw ( QwtScaleDraw * scaleDraw ), правда, я с этим не разбирался
|
|
|
2010
|
Qt / Вопросы новичков / Re: QWT(QwtThermo)
|
: Июль 29, 2014, 15:04
|
А если так написать? d_thermo->setScaleMaxMajor(3); не сработает. предлагаю заменить d_thermo->setScale(min,max) на d_thermo->setScale(0,max)
|
|
|
|
|