本文整理汇总了C++中Vec3r::dot方法的典型用法代码示例。如果您正苦于以下问题:C++ Vec3r::dot方法的具体用法?C++ Vec3r::dot怎么用?C++ Vec3r::dot使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vec3r
的用法示例。
在下文中一共展示了Vec3r::dot方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: intersect
bool Line::intersect(const SphereVolume &sphere,
Real &enter,
Real &exit ) const
{
Vec3r v;
Pnt3r center;
sphere.getCenter(center);
Real radius;
Real h;
Real b;
Real d;
Real t1;
Real t2;
radius = sphere.getRadius();
v = center - _pos;
h = (v.dot(v))-(radius * radius);
b = (v.dot(_dir));
if(h >= 0.f && b <= 0.f)
return false;
d = b * b - h;
if(d < 0.f)
return false;
d = osgSqrt(d);
t1 = b - d;
// if (t1 > 1)
// return false;
t2 = b + d;
if( t1 < TypeTraits<Real>::getDefaultEps() )
{
if( t2 < TypeTraits<Real>::getDefaultEps() /*|| t2 > 1*/)
{
return false;
}
}
enter = t1;
exit = t2;
return true;
}