I am getting an assert in debug mode when attempting to use SceneQueries in 2.1:
Code: Select all
#if OGRE_DEBUG_MODE
//Queries must be performed after all bounds have been updated
//(i.e. SceneManager::updateSceneGraph does this for you), and don't
//move the objects between that call and this query.
//Ignore out of date Aabbs from objects that have been
//explicitly disabled or fail the query mask.
assert((!(objData.mVisibilityFlags[objData.mIndex] & VisibilityFlags::LAYER_VISIBILITY) ||
!(objData.mQueryFlags[objData.mIndex] & mQueryMask) ||
!objData.mOwner[j]->isCachedAabbOutOfDate()) &&
"Perform the queries after MovableObject::updateAllBounds has been called!");
#endif
Code: Select all
Aabb MovableObject::getWorldAabb() const
{
#if OGRE_DEBUG_MODE
assert( !mCachedAabbOutOfDate );
#endif
return mObjectData.mWorldAabb->getAsAabb( mObjectData.mIndex );
}
Here is the query:
Code: Select all
Ogre::Ray mouse_ray = Camera.getCameraToViewportRay ( mouse_pos.x / static_cast <float> ( Window.getWidth () ), mouse_pos.y / static_cast <float> ( Window.getHeight () ) ) ;
RaySceneQuery->setRay ( mouse_ray ) ;
RaySceneQuery->setSortByDistance ( true ) ;
RaySceneQuery->setQueryMask ( BUILDING_MASK | HUMAN_MASK | VEHICLE_MASK ) ;
Ogre::RaySceneQueryResult &result = RaySceneQuery->execute () ; <-- assert