Как работать с различными типами ограничивающих томов? - PullRequest
2 голосов
/ 04 марта 2012

Я работаю над университетским заданием по улучшению игрового движка.Код, который мы получили, хранит трехмерные объекты сетки внутри класса Frame, который описывает ограничивающий объем для сетки.Проблема заключается в том, что движок должен обрабатывать коллизии между различными типами ограничивающих томов, такими как сферы, AABB и OABB.

Способ работы данного класса Frame заключается в наличии элементов данных для всех различных ограничивающих элементов.типы тома и идентификатор типа, чтобы указать, какой из них он использует.Для любых двух Frame объектов вызывающий код запрашивает их идентификаторы типов и определяет, какой метод коллизий использовать оттуда.

Первое, что я сделал, было создание подклассов для различных типов BV, поэтому только памятьобъект потребности выделяется.Теперь я пытаюсь найти лучший способ для вызывающего кода проверить наличие коллизий между этими двумя подклассами.Когда они возвращают идентификатор типа, это кажется плохой практикой.Есть ли стандартный способ сделать это?

1 Ответ

1 голос
/ 04 марта 2012

То, о чем вы спрашиваете, называется двойная отправка .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...