2010-02-06 4 views
1

я заметил, что есть много Funcitons, которые могут raycast, но они, кажется, используют константного NxRayЕсть ли способ рисования лучей с помощью библиотеки PhysX без использования const NxRay?

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

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

ответ

1

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

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

2

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

NxRay ray; 

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

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

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