本文整理汇总了C++中PhysicsObject::getRadius方法的典型用法代码示例。如果您正苦于以下问题:C++ PhysicsObject::getRadius方法的具体用法?C++ PhysicsObject::getRadius怎么用?C++ PhysicsObject::getRadius使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PhysicsObject
的用法示例。
在下文中一共展示了PhysicsObject::getRadius方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PhysicsObjectId
PhysicsObjectId WorldTestUnitAi :: getCollisionForObject (const PhysicsObject& object) const
{
double radius = object.getRadius();
// check for collision with moon
if(object.getPosition().isNormLessThan(MOON_RADIUS + radius))
return ID_MOON;
// check for collision with target
if(object.getId() != ID_TARGET &&
m_target_disappear_time <= 0.0 &&
object.getPosition().isDistanceLessThan(m_target.getPosition(),
m_target.getRadius() + radius))
{
return ID_TARGET;
}
// don't check against agent
// don't check against bullets
// check for collision with ring particles
for(unsigned int i = 0; i < m_ring_particle_count; i++)
{
assert(i < RING_PARTICLE_COUNT_MAX);
const RingParticleData& rp = ma_ring_particles[i];
if(object.getPosition().isDistanceLessThan(rp.m_position, rp.m_radius + radius))
return PhysicsObjectId(TYPE_RING_PARTICLE, PhysicsObjectId::FLEET_NATURE, i);
}
// no collisions
return PhysicsObjectId::ID_NOTHING;
}