Автоматически генерировать объекты среды в XML-файле для моделирования Omnett ++ - PullRequest
0 голосов
/ 10 ноября 2019

Я собираюсь смоделировать систему умного домашнего освещения с помощью Omnet ++. Для этого мне нужно нарисовать план здания для конкретного здания, на котором я симулирую свою сеть. Есть модуль, который выполняет эту работу за меня, однако он должен быть визуализирован с помощью XML-файла, который содержит позиции и размеры объектов (в основном стен), которые должны быть нарисованы.

Так что, пожалуйста, если кто-нибудь знает, как автоматически сгенерировать такой и XML-файл, содержащий объекты, или это единственный путь, который утомительно пишет сотни строк, подобных следующей:

[положение объекта = "мин 21 15,5 0" ориентация = "0 0 0" shape = "cuboid 10 0,5 2" material = "brick" fill-color = "203 65 84" opacity = "0.8" texture = "brick. JPG "/]

1 Ответ

0 голосов
/ 11 ноября 2019

В этом вопросе отсутствуют несколько важных моментов:

  • Каков источник плана этажа? (вы можете автоматически генерировать что-то только из предыдущих данных)
  • Вам нужно смоделировать стены? Т.е. вы используете беспроводную связь, где поведение модели зависит от затухания беспроводных сигналов через стену, правильно учтено? Если да, то вы должны использовать XML-файл с препятствиями, и вам действительно нужно создать этот файл. Очевидно, что написать небольшую программу, которая перебирает ваши текущие данные и print выводит соответствующие элементы XML, очень легко.
  • Если вас не волнует распространение по беспроводной сети, а план помещения предназначен только для эстетики, вы можетеиспользуйте @figure в вашем файле NED и рисуйте на холсте. См. Пример CarDemo и test/anim/canvas в качестве примера. Это даст вам масштабируемое фоновое изображение, которое иначе не связано с поведением модели.
  • Или вы можете сделать это дешево, создав PNG-изображение с планом и поместив его в фон модуля.
  • Или вы можете создать 3D-модель OpenSceneGraph, как в samples/osg-indoor (OSG может загружать множество 3D-форматов).
...