![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Kagami |
![]()
Сообщение
#31
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: ![]() ![]() ![]() |
Кстати, а на предупреждения компилятора никто не смотрел? Может в них собака зарыта?
Раскрывающийся текст Цитата Sources/Render/RenderAtom.cpp: In member function ‘const QString& Render::Atom::label() const’: Sources/Render/RenderAtom.cpp:164: warning: returning reference to temporary Sources/File/FileDal.cpp: In member function ‘bool File::Dal::hasParametre(const QString&, const QString&, const QString&)’: Sources/File/FileDal.cpp:156: warning: comparison is always true due to limited range of data type Sources/File/FileDal.cpp:159: warning: comparison is always true due to limited range of data type Sources/File/FileDal.cpp:162: warning: comparison is always true due to limited range of data type |
|
|
kwisp |
![]()
Сообщение
#32
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
я не помню. потому что поставил на сборку и ушел обедать.
поэтому не видел процесса сборки. |
|
|
Kagami |
![]()
Сообщение
#33
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: ![]() ![]() ![]() |
У меня вроде все работает и ничего не падает. Атом в центр координат добавляется. Кстати, в молекуле сразу после импорта одной связи нету.
P.S. Для сборки под дебианом пришлось поставить QGLViewer Цитата $ sudo apt-get install libqglviewer-qt4-dev и подправить файл проекта
|
|
|
kemiisto |
![]()
Сообщение
#34
|
![]() Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 5.9.2009 Из: Осло, Норвегия Пользователь №: 1054 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Кстати, в молекуле сразу после импорта одной связи нету. Это бага. Я её уже отловил. Должно быть так:
а было i < chemistryMolecule_.bondsCount() - 1. Надо отучать себя от for'а. Но никак не могу заставить себя... ![]() Забавно. У меня на Mac OS атом сразу добавляется, а на Windows - нет. Но тут надо возится и с OpenGL... Всем помогающим огромное спасибо. |
|
|
kemiisto |
![]() ![]()
Сообщение
#35
|
![]() Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 5.9.2009 Из: Осло, Норвегия Пользователь №: 1054 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
![]() Ну, я практически локализовал баг. Но абсолютно не понимаю, как такое происходит. Я реорганизовал код, объединил классы, ... И вот, что происходит. Импорт молекулы проходит нормально (я добавил небольшую молекулку воды для удобства отладки). Потом мы пытаемся добавить атом. Он добавляется в список атомов. Начинается перерисовка списков отображения OpenGL. Доходит до формирования списка связей - метод GLuint Render::Viewer::makeSticks(Quality quality):
Создаём итератор и поехали! Списко атомов, связей пока ещё не попорчены. Вызываем метод draw для первой связи. Оказываемся внутри void Render::Bond::draw(Quality quality) const. Как в начале метода, так и в конце списки живы. Возвращаемся обратно в makeSticks(). Списки по-прежнему живы. Снова заходим в draw()... И получаем epic fail! В списках какой-то мусор! ![]() Если будет у кого минутка, посмотрите, пожалуйста... Архив. |
|
|
BRE |
![]()
Сообщение
#36
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
![]() В конструкторе и операторе копирования в циклах не нужно вычитать единицу, у тебя же условие <. Раскрывающийся текст
|
|
|
kwisp |
![]()
Сообщение
#37
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
я подозре\ваю что у второго атома в списке не валидный указатель на molecule_.
где атом получает указатель на молекулу? |
|
|
BRE |
![]()
Сообщение
#38
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
я подозре\ваю что у второго атома в списке не валидный указатель на molecule_. где атом получает указатель на молекулу? Смотри конструктор и оператор копирования.... ![]() Предполагаю, такие штучки с циклами можно ожидать и в других местах. kemiisto, проверь другие циклы на предмет < count() -1. |
|
|
BRE |
![]()
Сообщение
#39
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
[Дубль.]
[Блин, почему такие ошибки с редактированием сообщения происходят, приходиться по несколько раз сообщения набирать ![]() Сообщение отредактировал BRE - 8.9.2009, 19:18 |
|
|
kemiisto |
![]()
Сообщение
#40
|
![]() Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 5.9.2009 Из: Осло, Норвегия Пользователь №: 1054 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 7.7.2025, 8:59 |