История изменений
Исправление alysnix, (текущая версия) :
ну вот - три класса уже есть прям в исходнике - круг, треугольник, прямоугольник.
какую-то им надо приделать базу, ориентируясь на общие функции, что на них вызываются(надо смотреть какие это функции). База содержит общие функции по определению и тип_фигуры.
какая-то «CheckGeometryCollision» которую явно надо затащить методом в класс Collider. Ей дают фигуры по базовому классу.
вот она и должна, понимая, какие пары фигур ей дали - вызывать внутри себя оптимизитированные версии функции столкновения.
Как это написать на с++ - да по разному. По сути тебе надо найти по паре ключей нужную функцию. Тупо можешь построить двумерный массив функций столкновения, и по двум индексам [тип_фигуры, тип _фигуры] тут же находить оптимальную функцию. Быстрей не бывает. Но это не про ООП вообще. это по общей алгоритмистике вопрос или как оно там.
Исправление alysnix, :
ну вот - три класса уже есть прям в исходнике - круг, треугольник, прямоугольник.
какую-то им надо приделать базу, ориентируясь на общие функции, что на них вызываются(надо смотреть какие это функции). База содержит общие функции по определению и тип_фигуры.
какая-то «CheckGeometryCollision» которую явно надо затащить методом в класс Collider. Ей дают по фигуры по базовому классу.
вот она и должна, понимая, какие пары фигур ей дали - вызывать внутри себя оптимизитированные версии функции столкновения.
Как это написать на с++ - да по разному. По сути тебе надо найти по паре ключей нужную функцию. Тупо можешь построить двумерный массив функций столкновения, и по двум индексам [тип_фигуры, тип _фигуры] тут же находить оптимальную функцию. Быстрей не бывает. Но это не про ООП вообще. это по общей алгоритмистике вопрос или как оно там.
Исходная версия alysnix, :
ну вот - три класса уже есть прям в исходнике - круг, треугольник, прямоугольник.
какую - им надо приделать базу, ориентируясь на общие функции, что на них вызываются(надо смотреть какие это функции). База содержит общие функции по определению.
какая-то «CheckGeometryCollision» которую явно надо затащить методом в класс Collider. Ей дают по фигуры по базовому классу.
вот она и должна, понимая, какие пары фигур ей дали - вызывать внутри себя оптимизитированные версии функции столкновения.
Как это написать на с++ - да по разному. По сути тебе надо найти по паре ключей нужную функцию. Тупо можешь построить двумерный массив функций столкновения, и по двум индексам [тип_фигуры, тип _фигуры] тут же находить оптимальную функцию. Быстрей не бывает. Но это не про ООП вообще. это по общей алгоритмистике вопрос или как оно там.