Название: Импорт данных дерева/иерерхии Отправлено: Igors от Декабрь 12, 2016, 15:39 Добрый день
Есть иерархия объектов (сцена), в общем дерево (необязательно "ветвистое" - могут быть все "корни"). И есть файл в котором тоже записана иерархия объектов. Формат файла не мой и не совпадает с форматом моих объектов. Задача прочитать из файла набор данных для каждого объекта (напр позиция, вращение, масштаб) и присвоить их объектам сцены. Нужно как-то "сбить" 2 дерева чтобы знать какой объект файла соответствует какому сцены. И здесь и там объекты имеют имена, но они не уникальны. Как организовать "сбивку" и какой UI дать юзеру? Да, интересует толковая "постановка" Спасибо Название: Re: Импорт данных дерева/иерерхии Отправлено: Авварон от Декабрь 12, 2016, 18:16 Что является ключом элемента в файле?
Название: Re: Импорт данных дерева/иерерхии Отправлено: Igors от Декабрь 14, 2016, 16:18 Что является ключом элемента в файле? Это постановка, что решите то и будетНазвание: Re: Импорт данных дерева/иерерхии Отправлено: Авварон от Декабрь 14, 2016, 16:29 Вы ж сказали что формат не ваш
Название: Re: Импорт данных дерева/иерерхии Отправлено: Igors от Декабрь 14, 2016, 16:36 Вы ж сказали что формат не ваш Не мой, Autodesk. Ну везде у объекта есть имя, тип, трансформы и дальше в зависимости от типа. Как-то с общими вещами совсем мрачно :'(Название: Re: Импорт данных дерева/иерерхии Отправлено: Racheengel от Декабрь 14, 2016, 19:40 Что значит имена не уникальны? Могут быть 2 объекта с одним именем и типом в пределах файла?
Если так, то юзать MultiMap с ключом по имени имхо ок. Название: Re: Импорт данных дерева/иерерхии Отправлено: Igors от Декабрь 15, 2016, 12:37 Что значит имена не уникальны? Могут быть 2 объекта с одним именем и типом в пределах файла? Да, как в пределах файла, так и сцены, а что тут такого? Любое приложение рисует объекты в окнах где могут быть интерактивно выбраны и всегда есть их полный список. Поэтому нет необходимости еще их как-то идентифицировать для юзера.Если так, то юзать MultiMap с ключом по имени имхо ок. Не очень понимаю чему посвящен этот ключ. Думал может как-то задействовать иерархию. Отсутствие объекта в сцене не является преступлением, задача дать юзеру понять что найдено (и данные будут импортированы), а что нетНазвание: Re: Импорт данных дерева/иерерхии Отправлено: Igors от Декабрь 16, 2016, 13:20 Собсно ничего супер-пупер я не спрашиваю, задачка - типичная "бытовуха" (ну или "логика ГУЯ" для солидности :)). Прикинем пару вариантов
1) Вообще без UI. Взяли имена объектов в файле, нашли объекты с теми же именами и типами в сцене, и импортировали данные. Ну так явно не годится - хз что сделала эта операция 2) Стало быть, нужно показать юзверю что есть в файле и что там "найдено". Видимо табличкой. И вот тут не очень ясно что и как. Напр показать дерево "все что есть в файле" с учетом иерархии. Логично, но очень может быть что многие ноды дерева не могут быть импортированы - не имеют нужных данных или в сцене нет с таким именем. Ну и хз по каким прынцыпам определять "найден", напр File node_1 // есть в сцене но нет данных для импорта, --node_2 // этого в сцене нет --node_3 // этот есть в сцене и данные имеет Как должно выглядеть UI ? Может ли юзер импортировать данные node_3? А если в сцене он совсем не в такой цепочке иерархии? Название: Re: Импорт данных дерева/иерерхии Отправлено: Racheengel от Декабрь 16, 2016, 15:40 Я бы сделал деревом с разноцветными (разноиконными) нодами.
То есть показать всю структуру, как она будет выглядеть после объединения. а дальше варинты разных цветов нодов для: - нормально импортированных объектов - несуществующих в файле - существующих только в файле - дубликатов по имени - конфликтов (не те данные и т.д.) И предоставить юзеру варианты действий, например: - при конфликте оставить только элемент сцены, или перезаписать элементом из файла, или сделать копию с др.именем - удалить или оставить те, которые есть только в файле или только в сцене и т.д. Ну т.е. нод3 юзер может импортировать, если захочет (поставит галочку "перезаписать из файла"). Название: Re: Импорт данных дерева/иерерхии Отправлено: Igors от Декабрь 16, 2016, 17:18 Я бы сделал деревом с разноцветными (разноиконными) нодами. Это далеко за рамками задачи - в сцене иерархия и все остальное остаются неизменны, никаких новых объектов не добавляется, только данные существующих объектов могут быть загружены из файла. Также "вся структура" (сцены) может быть намного больше содержимого файла (хотя может и наоборот). То есть показать всю структуру, как она будет выглядеть после объединения. а дальше варинты разных цветов нодов для: - нормально импортированных объектов - несуществующих в файле - существующих только в файле - дубликатов по имени - конфликтов (не те данные и т.д.) |