LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

ну вот - три класса уже есть прям в исходнике - круг, треугольник, прямоугольник.

какую-то им надо приделать базу, ориентируясь на общие функции, что на них вызываются(надо смотреть какие это функции). База содержит общие функции по определению и тип_фигуры.

какая-то «CheckGeometryCollision» которую явно надо затащить методом в класс Collider. Ей дают фигуры по базовому классу.

вот она и должна, понимая, какие пары фигур ей дали - вызывать внутри себя оптимизитированные версии функции столкновения.

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

Исправление alysnix, :

ну вот - три класса уже есть прям в исходнике - круг, треугольник, прямоугольник.

какую-то им надо приделать базу, ориентируясь на общие функции, что на них вызываются(надо смотреть какие это функции). База содержит общие функции по определению и тип_фигуры.

какая-то «CheckGeometryCollision» которую явно надо затащить методом в класс Collider. Ей дают по фигуры по базовому классу.

вот она и должна, понимая, какие пары фигур ей дали - вызывать внутри себя оптимизитированные версии функции столкновения.

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

Исходная версия alysnix, :

ну вот - три класса уже есть прям в исходнике - круг, треугольник, прямоугольник.

какую - им надо приделать базу, ориентируясь на общие функции, что на них вызываются(надо смотреть какие это функции). База содержит общие функции по определению.

какая-то «CheckGeometryCollision» которую явно надо затащить методом в класс Collider. Ей дают по фигуры по базовому классу.

вот она и должна, понимая, какие пары фигур ей дали - вызывать внутри себя оптимизитированные версии функции столкновения.

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