有没有办法在不使用const NxRay的情况下使用PhysX库进行光线投射?

时间:2010-02-06 03:46:56

标签: c++ physx

我注意到有很多功能可以使用光线投影,但它们似乎使用了 const NxRay

我遇到的问题是有一辆向下投射光线的车辆是我的NxRay。它不是恒定的,因为车辆可以以不同的角度移动,但我希望能够射线投射以找出撞击地面或其他物体所需的距离。感谢。

使用C ++,Glut,PhysX

2 个答案:

答案 0 :(得分:2)

为什么你不能这样做?

NxRay ray;

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

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

raycast调用中的const值只是向您保证它不会更改这些值。这并不意味着您必须提供const NxRay。

答案 1 :(得分:1)

仅使用const参数的C函数意味着函数不会修改其值,而不是值本身必须是常量。例如,我可以将非const char *传递给printf()的第一个参数,即使该参数已声明为const char *

因此,使用变量NxRay作为光线投射函数的参数应该没有问题。