#include <OgreTerrainSceneManager.h>
Inheritance diagram for Ogre::TerrainRaySceneQuery:
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 | |
TerrainRaySceneQuery (SceneManager *creator) | |
~TerrainRaySceneQuery () | |
void | execute (RaySceneQueryListener *listener) |
See RayScenQuery. | |
virtual RaySceneQueryResult & | execute (void) |
Executes the query, returning the results back in one list. | |
virtual void | setRay (const Ray &ray) |
Sets the ray which is to be used for this query. | |
virtual const Ray & | getRay (void) const |
Gets the ray which is to be used for this query. | |
virtual void | setSortByDistance (bool sort, ushort maxresults=0) |
Sets whether the results of this query will be sorted by distance along the ray. | |
virtual bool | getSortByDistance (void) const |
Gets whether the results are sorted by distance. | |
virtual ushort | getMaxResults (void) const |
Gets the maximum number of results returned from the query (only relevant if results are being sorted). | |
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 56 of file OgreTerrainSceneManager.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 73 of file OgreSceneQuery.h. |
|
Definition at line 805 of file OgreTerrainSceneManager.cpp. References Ogre::SceneQuery::mSupportedWorldFragments. |
|
Definition at line 811 of file OgreTerrainSceneManager.cpp. |
|
Clears the results of the last query execution.
Definition at line 254 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 217 of file OgreSceneQuery.cpp. References Ogre::RaySceneQuery::clearResults(), Ogre::RaySceneQuery::mLastResult, Ogre::RaySceneQuery::mMaxResults, and Ogre::RaySceneQueryResult. |
|
See RayScenQuery.
Reimplemented from Ogre::OctreeRaySceneQuery. Definition at line 815 of file OgreTerrainSceneManager.cpp. References Ogre::Ray::getDirection(), Ogre::Ray::getOrigin(), Ogre::RaySceneQuery::mRay, Ogre::RaySceneQueryListener::queryResult(), Ogre::Real, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. |
|
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 248 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 212 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 196 of file OgreSceneQuery.cpp. References Ogre::RaySceneQuery::mRay. |
|
Gets whether the results are sorted by distance.
Definition at line 207 of file OgreSceneQuery.cpp. References Ogre::RaySceneQuery::mSortByDistance. |
|
Returns the types of world fragments this query supports.
Definition at line 152 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 275 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 263 of file OgreSceneQuery.cpp. References Ogre::RaySceneQueryResultEntry::distance, Ogre::RaySceneQuery::mLastResult, Ogre::RaySceneQueryResultEntry::movable, Ogre::Real, and Ogre::RaySceneQueryResultEntry::worldFragment. Referenced by Ogre::OctreeRaySceneQuery::execute(). |
|
|
Sets the ray which is to be used for this query.
Definition at line 191 of file OgreSceneQuery.cpp. References Ogre::RaySceneQuery::mRay. Referenced by Ogre::TerrainSceneManager::createRayQuery(), Ogre::SceneManager::createRayQuery(), and Ogre::OctreeSceneManager::createRayQuery(). |
|
Sets whether the results of this query will be sorted by distance along the ray.
Definition at line 201 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 357 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 356 of file OgreSceneQuery.h. Referenced by Ogre::RaySceneQuery::execute(), Ogre::RaySceneQuery::getMaxResults(), Ogre::RaySceneQuery::RaySceneQuery(), and Ogre::RaySceneQuery::setSortByDistance(). |
|
|
|
Definition at line 354 of file OgreSceneQuery.h. Referenced by execute(), Ogre::DefaultRaySceneQuery::execute(), Ogre::OctreeRaySceneQuery::execute(), Ogre::RaySceneQuery::getRay(), and Ogre::RaySceneQuery::setRay(). |
|
Definition at line 355 of file OgreSceneQuery.h. Referenced by Ogre::RaySceneQuery::getSortByDistance(), Ogre::RaySceneQuery::RaySceneQuery(), and Ogre::RaySceneQuery::setSortByDistance(). |
|
|
Definition at line 116 of file OgreSceneQuery.h. Referenced by Ogre::SceneQuery::getWorldFragmentType(), and Ogre::SceneQuery::setWorldFragmentType(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:50:03 2004