crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

kemiisto
  опции профиля:
сообщение 5.9.2009, 16:34
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 5.9.2009
Из: Осло, Норвегия
Пользователь №: 1054

Спасибо сказали: 2 раз(а)




Репутация:   0  


Здравствуйте!

Если у кого-нибудь найдётся минутка-другая, посмотрите проектик. Исходники тут. Я не стал убирать *.dll и *.a от QGLViewer'а и инклюды от QGLViewer'а и Eigen'а. Так чтоб под Windows собиралось "из коробки"...

Я первый раз пишу на ++ и проект только-только начинается. Так что там много методов-пустышек и "говнокода". :blush:

Собственно, беда такая. Есть у нас класс (молекула)
namespace Chemistry
{
  class Molecule
  {
  public:
  ...

  private:
    typedef QList<Chemistry::Bond*> IncidenceList;
    typedef QList<IncidenceList> IncidenceMatrix;

    IncidenceMatrix incidenceMatrix_;
    QList<Chemistry::Bond*> chemistryBonds_;
    QList<Chemistry::Atom*> chemistryAtoms_;    
    ...
  };
}


В Render::Viewer попытка использовать экземпляр этого класса
namespace Render
{
  class Viewer : public QGLViewer
  {
    Q_OBJECT

  public:
  ...

  protected:
  ...

  private:
    Chemistry::Molecule chemistryMolecule_;
    ...

  };
}


Попытка не совсем успешная. Когда отрабатывает конструктор Chemistry::Molecule, все 3 списка инициализируются.



При попытке добавить атом в Render::Viewer::mousePressEvent в самом начале ставим точку останова:



Вот. Куда то пропал incidenceMatrix_. Куда?

А самое интересное. Если в объявлении поменять местами скажем так:
  private:
    typedef QList<Chemistry::Bond*> IncidenceList;
    typedef QList<IncidenceList> IncidenceMatrix;

    QList<Chemistry::Bond*> chemistryBonds_;
    QList<Chemistry::Atom*> chemistryAtoms_;
    IncidenceMatrix incidenceMatrix_;


то на точке останова не будет уже chemistryBonds_.

То есть получается: кто первым объявлен (первым инициализируется в конструкторе), тот куда-то пропадает.

Немного побегал дебагом. Список портится внутри void Render::Viewer::updateMolecule().

До вызова updateGL() всё отлично, после <internal error>. А это метод (точнее слот) QGLViewer'а.

Мыслей больше нет. :blink:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- kemiisto   QList <internal error>   5.9.2009, 16:34
- - Litkevich Yuriy   В отладчике не смотрел, воткнул qDebug в Chemistry...   5.9.2009, 17:34
- - kemiisto   Litkevich Yuriy, спасибо, что не бросаете в беде...   5.9.2009, 18:18
- - Litkevich Yuriy   Цитата(kemiisto @ 5.9.2009, 22:18) Сначал...   5.9.2009, 18:21
- - kemiisto   Цитата(Litkevich Yuriy @ 5.9.2009, 17:21)...   5.9.2009, 18:32
- - Litkevich Yuriy   Цитата(kemiisto @ 5.9.2009, 22:32) Должен...   5.9.2009, 18:53
- - kemiisto   Цитата(Litkevich Yuriy @ 5.9.2009, 17:53)...   5.9.2009, 19:01
- - kwisp   kemiisto, то что кто первый в объявлении класса то...   5.9.2009, 19:09
- - Litkevich Yuriy   Цитата(kwisp @ 5.9.2009, 23:09) тоже инте...   5.9.2009, 19:12
- - kwisp   kemiisto, Chemistry::Molecule::Mo...   5.9.2009, 19:31
|- - BRE   Цитата(kwisp @ 5.9.2009, 20:31) kemiisto,...   5.9.2009, 19:40
- - kwisp   ну да по идее у 2 разных молекул должны быть разны...   5.9.2009, 20:25
|- - BRE   Жаль под linux собрать не могу, по исходникам не л...   5.9.2009, 20:41
- - kemiisto   BRE, kwisp, я учитываю ваши комментарии. Спасибо. ...   5.9.2009, 20:42
- - Litkevich Yuriy   Цитата(BRE @ 6.9.2009, 0:41) Жаль под lin...   5.9.2009, 21:24
|- - BRE   Цитата(Litkevich Yuriy @ 5.9.2009, 22:24)...   5.9.2009, 21:28
- - kemiisto   Цитата(kwisp @ 5.9.2009, 18:31) ну попроб...   5.9.2009, 21:46
- - kwisp   kemiisto, значит надо досканалнее. глянуть. расс...   5.9.2009, 22:52
- - kemiisto   kwisp, хорошо. Напишу explicit деструкторы для кла...   6.9.2009, 1:22
|- - kemiisto   Ну вот, потихоньку изменил код. Убрал пока указате...   6.9.2009, 20:05
- - Kagami   У меня не собирается Раскрывающийся текстЦитатаSou...   6.9.2009, 22:06
- - kemiisto   Цитата(Kagami @ 6.9.2009, 21:06) Судя по-...   6.9.2009, 22:53
- - Kagami   Что-нибудь типа... Хех. http://doc.trolltech.com/4...   6.9.2009, 23:35
- - kemiisto   Начинаем набирать 20 сообщений. Цитата(Kagami ...   6.9.2009, 23:41
- - Litkevich Yuriy   Цитата(kemiisto @ 7.9.2009, 2:53) А где т...   6.9.2009, 23:49
- - kwisp   Цитата(kemiisto @ 5.9.2009, 19:32) Жмакае...   7.9.2009, 13:33
- - kemiisto   Цитата(kwisp @ 7.9.2009, 12:33) у меня до...   7.9.2009, 14:08
- - kwisp   kemiisto, добавляю и к импортированной через раз....   7.9.2009, 14:15
- - kemiisto   kwisp, я туперь на 100% уверен, что неправильно со...   7.9.2009, 17:05
- - kwisp   kemiisto, вопрос конечно интересный. я собирал на ...   7.9.2009, 18:58
- - Kagami   Кстати, а на предупреждения компилятора никто не с...   7.9.2009, 20:13
- - kwisp   я не помню. потому что поставил на сборку и ушел о...   7.9.2009, 20:19
- - Kagami   У меня вроде все работает и ничего не падает. Атом...   7.9.2009, 20:32
- - kemiisto   Цитата(Kagami @ 7.9.2009, 19:32) Кстати, ...   7.9.2009, 21:02
- - kemiisto   Ну, я практически локализовал баг. Но абсолютно не...   8.9.2009, 18:30
|- - BRE   Цитата(kemiisto @ 8.9.2009, 19:30) В ко...   8.9.2009, 19:08
- - kwisp   я подозре\ваю что у второго атома в списке не...   8.9.2009, 19:11
|- - BRE   Цитата(kwisp @ 8.9.2009, 20:11) я подозре...   8.9.2009, 19:15
|- - BRE   [Дубль.] [Блин, почему такие ошибки с редактирован...   8.9.2009, 19:16
- - kemiisto   Цитата(BRE @ 8.9.2009, 18:08) В конструкт...   8.9.2009, 19:27
|- - BRE   Не забудь исправить File::Dal::hasParametre(...). ...   8.9.2009, 19:36
- - kwisp   Цитата(BRE @ 8.9.2009, 20:15) Смотри конс...   8.9.2009, 19:33
- - kwisp   Цитата(BRE @ 8.9.2009, 20:36) Ты в классе...   8.9.2009, 19:40
- - kemiisto   Цитата(BRE @ 8.9.2009, 18:36) Не забудь и...   8.9.2009, 19:57
|- - BRE   Цитата(kemiisto @ 8.9.2009, 20:57) Это да...   8.9.2009, 20:05
- - kemiisto   Цитата(BRE @ 8.9.2009, 19:05) Нужно его т...   8.9.2009, 20:42
|- - BRE   Цитата(kemiisto @ 8.9.2009, 21:42) Цитата...   8.9.2009, 21:21
- - kemiisto   Цитата(BRE @ 8.9.2009, 20:21) Да. Я добав...   8.9.2009, 21:31
|- - BRE   Цитата(kemiisto @ 8.9.2009, 22:31) Я доба...   8.9.2009, 21:34
- - kwisp   ну что как успехи в ловле бага?   10.9.2009, 14:04
- - kemiisto   Цитата(kwisp @ 10.9.2009, 13:04) ну что к...   10.9.2009, 14:23
- - kwisp   kemiisto, так где собака была зарыта?   10.9.2009, 14:36
- - kemiisto   Цитата(kwisp @ 10.9.2009, 13:36) kemiisto...   10.9.2009, 15:02


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 19.6.2025, 20:27