Есть ли способ использовать библиотеку PhysX без использования const NxRay?

Я заметил, что есть много функций, которые могут использовать raycast, но они, похоже, используют константу NxRay.

Моя проблема заключается в том, что у меня есть транспортное средство, которое отбрасывает луч вниз как мой NxRay. Это не постоянно, потому что транспортное средство может двигаться под разными углами, но я хочу иметь возможность использовать луч, чтобы узнать расстояние, необходимое для столкновения с землей или другими объектами. Спасибо.

Использование C++, Glut, PhysX


person Aer    schedule 06.02.2010    source источник


Ответы (2)


Почему вы не можете просто сделать следующее?

NxRay ray;

// fill in ray structure here
// ray.dir = ...

// call a ray cast
// scene->raycastClosestBounds(ray, ...
// scene->raycastClosestShape(ray, ...

Значение const в вызовах raycast просто гарантирует, что оно не изменит эти значения. Это не означает, что вы должны предоставить константу NxRay.

person xgalaxy    schedule 06.02.2010

Функция C, принимающая параметр const, означает только то, что функция не изменяет свое значение, а не то, что само значение должно быть постоянным. Например, я могу передать неконстантный char * первому параметру printf(), даже если этот параметр объявлен как const char *.

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

person Theran    schedule 06.02.2010