Пример #1
0
    void PhysicsWorld::CheckBox( BodyList& out, const HitBox& box, DetectorList* detOut )
    {
        Detector* det;
        PhysicsBodyObject* body;
        const rsk::SystemID checkID = rsk::ObjectBase().GetID();
        RSKMAP_ITERATE( m_Bodies )
        {
            det  = iter->second;
            body = det->GetBody();
            if( body->checkID == checkID )
                continue;

            //ToDo: check ellipse too
            if( det->CheckVert( box.bottomZ, box.topZ ) && det->CheckRect( box ) )
            {
                body->checkID = checkID;
                out.push_back( body );
                if( detOut )
                    detOut->push_back( det );
            }
        }
    }