如屏幕截图所示,
double mag = 0.109981
double radius = 0.002
因此
if(mag > radius) {
// it's always false?
}
显然应该是真实的,但事实并非如此。 0.109981如何不大于0.002?
我在这里做错了什么?它发出了体系结构警告,但我仍然不明白这里发生了什么。
double mag = dVec.magnitude();
double radius = TOOL_TIP_RADIUS;
double diff = mag - radius;
cout << "mag: " << mag << endl << "radius: " << radius << endl << "diff: " << diff << endl << "mag > radius : " << (mag > radius) << endl;
if (mag > radius) {
// no collision
fve == (int) OUTSIDE;
}
答案 0 :(得分:0)
如果您假设这行:
fve == (int) OUTSIDE;
什么也不做,因为没有将fve
设置为OUTSIDE
,这是因为您没有将 fve
设置为OUTSIDE
。
您正在比较fve
和OUTSIDE
的相等性,然后丢弃结果。
我怀疑你应该写过(写着一个 =
):
fve = (int) OUTSIDE;