#include <OgreBspSceneManager.h>
Inheritance diagram for Ogre::BspRaySceneQuery:
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 Member Functions | |
BspRaySceneQuery (SceneManager *creator) | |
~BspRaySceneQuery () | |
void | execute (RaySceneQueryListener *listener) |
See RaySceneQuery. | |
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) |
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 (uint32 mask) |
Sets the mask for results of this query. | |
virtual uint32 | getQueryMask (void) const |
Returns the current mask for this query. | |
virtual void | setQueryTypeMask (uint32 mask) |
Sets the type mask for results of this query. | |
virtual uint32 | getQueryTypeMask (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 Member Functions | |
void | clearTemporaries (void) |
bool | processNode (const BspNode *node, const Ray &tracingRay, RaySceneQueryListener *listener, Real maxDistance=Math::POS_INFINITY, Real traceDistance=0.0f) |
Internal processing of a single node. | |
bool | processLeaf (const BspNode *node, const Ray &tracingRay, RaySceneQueryListener *listener, Real maxDistance=Math::POS_INFINITY, Real traceDistance=0.0f) |
Internal processing of a single leaf. | |
Protected Attributes | |
std::set< MovableObject * > | mObjsThisQuery |
Set for eliminating duplicates since objects can be in > 1 node. | |
std::vector< SceneQuery::WorldFragment * > | mSingleIntersections |
list of the last single intersection world fragments (derived) | |
Ray | mRay |
bool | mSortByDistance |
ushort | mMaxResults |
RaySceneQueryResult | mResult |
SceneManager * | mParentSceneMgr |
uint32 | mQueryMask |
uint32 | mQueryTypeMask |
std::set< WorldFragmentType > | mSupportedWorldFragments |
WorldFragmentType | mWorldFragmentType |
Definition at line 233 of file OgreBspSceneManager.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. |
|
|
|
|
|
Clears the results of the last query execution.
|
|
|
|
Executes the query, returning the results back in one list.
|
|
See RaySceneQuery.
Reimplemented from Ogre::DefaultRaySceneQuery. |
|
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.
|
|
Gets the maximum number of results returned from the query (only relevant if results are being sorted).
|
|
Returns the current mask for this query.
|
|
Returns the current mask for this query.
|
|
Gets the ray which is to be used for this query.
|
|
Gets whether the results are sorted by distance.
|
|
Returns the types of world fragments this query supports.
Definition at line 165 of file OgreSceneQuery.h. |
|
Gets the current world fragment types to be returned from the query.
|
|
Internal processing of a single leaf.
|
|
Internal processing of a single node.
|
|
Self-callback in order to deal with execute which returns collection.
Implements Ogre::RaySceneQueryListener. |
|
Self-callback in order to deal with execute which returns collection.
Implements Ogre::RaySceneQueryListener. |
|
Sets the mask for results of this query.
|
|
Sets the type mask for results of this query.
|
|
Sets the ray which is to be used for this query.
|
|
Sets whether the results of this query will be sorted by distance along the ray.
|
|
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 371 of file OgreSceneQuery.h. |
|
Set for eliminating duplicates since objects can be in > 1 node.
Definition at line 243 of file OgreBspSceneManager.h. |
|
Definition at line 113 of file OgreSceneQuery.h. |
|
Definition at line 114 of file OgreSceneQuery.h. |
|
Definition at line 115 of file OgreSceneQuery.h. |
|
Definition at line 369 of file OgreSceneQuery.h. |
|
Definition at line 372 of file OgreSceneQuery.h. |
|
list of the last single intersection world fragments (derived)
Definition at line 245 of file OgreBspSceneManager.h. |
|
Definition at line 370 of file OgreSceneQuery.h. |
|
Definition at line 116 of file OgreSceneQuery.h. |
|
Definition at line 117 of file OgreSceneQuery.h. |
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:46:53 2006