#include <OgreSceneManager.h>
Inheritance diagram for Ogre::DefaultRaySceneQuery:
Public Types | |
enum | WorldFragmentType { WFT_NONE, WFT_PLANE_BOUNDED_REGION, WFT_SINGLE_INTERSECTION, WFT_CUSTOM_GEOMETRY, WFT_RENDER_OPERATION } |
This type can be used by collaborating applications & SceneManagers to agree on the type of world geometry to be returned from queries. More... | |
Public Methods | |
DefaultRaySceneQuery (SceneManager *creator) | |
~DefaultRaySceneQuery () | |
void | execute (RaySceneQueryListener *listener) |
See RayScenQuery. | |
void | setRay (const Ray &ray) |
Sets the ray which is to be used for this query. | |
const Ray & | getRay (void) const |
Gets the ray which is to be used for this query. | |
void | setSortByDistance (bool sort, ushort maxresults=0) |
Sets whether the results of this query will be sorted by distance along the ray. | |
bool | getSortByDistance (void) const |
Gets whether the results are sorted by distance. | |
ushort | getMaxResults (void) const |
Gets the maximum number of results returned from the query (only relevant if results are being sorted). | |
virtual RaySceneQueryResult & | execute (void) |
Executes the query, returning the results back in one list. | |
virtual RaySceneQueryResult & | getLastResults (void) const |
Gets the results of the last query that was run using this object, provided the query was executed using the collection-returning version of execute. | |
virtual void | clearResults (void) |
Clears the results of the last query execution. | |
bool | queryResult (MovableObject *obj, Real distance) |
Self-callback in order to deal with execute which returns collection. | |
bool | queryResult (SceneQuery::WorldFragment *fragment, Real distance) |
Self-callback in order to deal with execute which returns collection. | |
virtual void | setQueryMask (unsigned long mask) |
Sets the mask for results of this query. | |
virtual unsigned long | getQueryMask (void) const |
Returns the current mask for this query. | |
virtual void | setWorldFragmentType (enum WorldFragmentType wft) |
Tells the query what kind of world geometry to return from queries; often the full renderable geometry is not what is needed. | |
virtual WorldFragmentType | getWorldFragmentType (void) const |
Gets the current world fragment types to be returned from the query. | |
virtual const std::set< WorldFragmentType > * | getSupportedWorldFragmentTypes (void) const |
Returns the types of world fragments this query supports. | |
Protected Attributes | |
Ray | mRay |
bool | mSortByDistance |
ushort | mMaxResults |
RaySceneQueryResult * | mLastResult |
SceneManager * | mParentSceneMgr |
unsigned long | mQueryMask |
std::set< WorldFragmentType > | mSupportedWorldFragments |
WorldFragmentType | mWorldFragmentType |
Definition at line 1177 of file OgreSceneManager.h.
|
This type can be used by collaborating applications & SceneManagers to agree on the type of world geometry to be returned from queries. Not all these types will be supported by all SceneManagers; once the application has decided which SceneManager specialisation to use, it is expected that it will know which type of world geometry abstraction is available to it.
Definition at line 72 of file OgreSceneQuery.h. |
|
Definition at line 1986 of file OgreSceneManager.cpp. References Ogre::SceneQuery::mSupportedWorldFragments. |
|
Definition at line 1992 of file OgreSceneManager.cpp. |
|
Clears the results of the last query execution.
Definition at line 233 of file OgreSceneQuery.cpp. References Ogre::RaySceneQuery::mLastResult. Referenced by Ogre::RaySceneQuery::execute(), and Ogre::RaySceneQuery::~RaySceneQuery(). |
|
Executes the query, returning the results back in one list.
Definition at line 196 of file OgreSceneQuery.cpp. References Ogre::RaySceneQuery::clearResults(), Ogre::RaySceneQuery::mLastResult, Ogre::RaySceneQuery::mMaxResults, and Ogre::RaySceneQueryResult. |
|
See RayScenQuery.
Implements Ogre::RaySceneQuery. Definition at line 1996 of file OgreSceneManager.cpp. References Ogre::Ray::intersects(), Ogre::SceneManager::mEntities, Ogre::SceneQuery::mParentSceneMgr, Ogre::RaySceneQuery::mRay, and Ogre::RaySceneQueryListener::queryResult(). |
|
Gets the results of the last query that was run using this object, provided the query was executed using the collection-returning version of execute.
Definition at line 227 of file OgreSceneQuery.cpp. References Ogre::RaySceneQuery::mLastResult, and Ogre::RaySceneQueryResult. |
|
Gets the maximum number of results returned from the query (only relevant if results are being sorted).
Definition at line 191 of file OgreSceneQuery.cpp. References Ogre::RaySceneQuery::mMaxResults, and Ogre::ushort. |
|
Returns the current mask for this query.
Definition at line 46 of file OgreSceneQuery.cpp. References Ogre::SceneQuery::mQueryMask. |
|
Gets the ray which is to be used for this query.
Definition at line 175 of file OgreSceneQuery.cpp. References Ogre::RaySceneQuery::mRay. |
|
Gets whether the results are sorted by distance.
Definition at line 186 of file OgreSceneQuery.cpp. References Ogre::RaySceneQuery::mSortByDistance. |
|
Returns the types of world fragments this query supports.
Definition at line 151 of file OgreSceneQuery.h. |
|
Gets the current world fragment types to be returned from the query.
Definition at line 63 of file OgreSceneQuery.cpp. References Ogre::SceneQuery::mWorldFragmentType. |
|
Self-callback in order to deal with execute which returns collection.
Implements Ogre::RaySceneQueryListener. Definition at line 254 of file OgreSceneQuery.cpp. References Ogre::RaySceneQueryResultEntry::distance, Ogre::RaySceneQuery::mLastResult, Ogre::RaySceneQueryResultEntry::movable, Ogre::Real, and Ogre::RaySceneQueryResultEntry::worldFragment. |
|
Self-callback in order to deal with execute which returns collection.
Implements Ogre::RaySceneQueryListener. Definition at line 242 of file OgreSceneQuery.cpp. References Ogre::RaySceneQueryResultEntry::distance, Ogre::RaySceneQuery::mLastResult, Ogre::RaySceneQueryResultEntry::movable, Ogre::Real, and Ogre::RaySceneQueryResultEntry::worldFragment. |
|
Sets the mask for results of this query.
Definition at line 41 of file OgreSceneQuery.cpp. References Ogre::SceneQuery::mQueryMask. Referenced by Ogre::SceneManager::createAABBQuery(), Ogre::SceneManager::createIntersectionQuery(), Ogre::BspSceneManager::createIntersectionQuery(), Ogre::SceneManager::createRayQuery(), and Ogre::SceneManager::createSphereQuery(). |
|
Sets the ray which is to be used for this query.
Definition at line 170 of file OgreSceneQuery.cpp. References Ogre::RaySceneQuery::mRay. |
|
Sets whether the results of this query will be sorted by distance along the ray.
Definition at line 180 of file OgreSceneQuery.cpp. References Ogre::RaySceneQuery::mMaxResults, Ogre::RaySceneQuery::mSortByDistance, and Ogre::ushort. |
|
Tells the query what kind of world geometry to return from queries; often the full renderable geometry is not what is needed.
Definition at line 51 of file OgreSceneQuery.cpp. References Except, Ogre::SceneQuery::mSupportedWorldFragments, and Ogre::SceneQuery::mWorldFragmentType. |
|
Definition at line 338 of file OgreSceneQuery.h. Referenced by Ogre::RaySceneQuery::clearResults(), Ogre::RaySceneQuery::execute(), Ogre::RaySceneQuery::getLastResults(), Ogre::RaySceneQuery::queryResult(), and Ogre::RaySceneQuery::RaySceneQuery(). |
|
Definition at line 337 of file OgreSceneQuery.h. Referenced by Ogre::RaySceneQuery::execute(), Ogre::RaySceneQuery::getMaxResults(), Ogre::RaySceneQuery::RaySceneQuery(), and Ogre::RaySceneQuery::setSortByDistance(). |
|
Definition at line 112 of file OgreSceneQuery.h. Referenced by Ogre::DefaultSphereSceneQuery::execute(), execute(), Ogre::DefaultAxisAlignedBoxSceneQuery::execute(), Ogre::DefaultIntersectionSceneQuery::execute(), and Ogre::BspIntersectionSceneQuery::execute(). |
|
Definition at line 113 of file OgreSceneQuery.h. Referenced by Ogre::DefaultIntersectionSceneQuery::execute(), Ogre::BspIntersectionSceneQuery::execute(), Ogre::SceneQuery::getQueryMask(), and Ogre::SceneQuery::setQueryMask(). |
|
Definition at line 335 of file OgreSceneQuery.h. Referenced by execute(), Ogre::RaySceneQuery::getRay(), and Ogre::RaySceneQuery::setRay(). |
|
Definition at line 336 of file OgreSceneQuery.h. Referenced by Ogre::RaySceneQuery::getSortByDistance(), Ogre::RaySceneQuery::RaySceneQuery(), and Ogre::RaySceneQuery::setSortByDistance(). |
|
|
Definition at line 115 of file OgreSceneQuery.h. Referenced by Ogre::SceneQuery::getWorldFragmentType(), and Ogre::SceneQuery::setWorldFragmentType(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Wed Jan 21 00:16:05 2004