C# Class Axiom.Core.SceneQuery

A class for performing queries on a scene.
This is an abstract class for performing a query on a scene, i.e. to retrieve a list of objects and/or world geometry sections which are potentially intersecting a given region. Note the use of the word 'potentially': the results of a scene query are generated based on bounding volumes, and as such are not correct at a triangle level; the user of the SceneQuery is expected to filter the results further if greater accuracy is required.

Different SceneManagers will implement these queries in different ways to exploit their particular scene organization, and thus will provide their own concrete subclasses. In fact, these subclasses will be derived from subclasses of this class rather than directly because there will be region-type classes in between.

These queries could have just been implemented as methods on the SceneManager, however, they are wrapped up as objects to allow 'compilation' of queries if deemed appropriate by the implementation; i.e. each concrete subclass may precalculate information (such as fixed scene partitions involved in the query) to speed up the repeated use of the query.

You should never try to create a SceneQuery object yourself, they should be created using the SceneManager interfaces for the type of query required, e.g. SceneManager.CreateRaySceneQuery.

Datei anzeigen Open project: WolfgangSt/axiom Class Usage Examples

Protected Properties

Property Type Description
creator SceneManager
queryMask uint
queryTypeMask uint
worldFragmentTypes WorldFragmentType

Public Methods

Method Description
AddWorldFragmentType ( WorldFragmentType fragmentType ) : void

Used to add a supported world fragment type to this query.

Private Methods

Method Description
SceneQuery ( SceneManager creator ) : System

Internal constructor.

Method Details

AddWorldFragmentType() public method

Used to add a supported world fragment type to this query.
public AddWorldFragmentType ( WorldFragmentType fragmentType ) : void
fragmentType WorldFragmentType
return void

Property Details

creator protected_oe property

Reference to the SceneManager that this query was created by.
protected SceneManager,Axiom.Core creator
return SceneManager

queryMask protected_oe property

User definable query bit mask which can be used to filter the results of a query.
protected uint queryMask
return uint

queryTypeMask protected_oe property

query bit mask which can be used to filter the results of a query based on object type.
protected uint queryTypeMask
return uint

worldFragmentTypes protected_oe property

A flag enum which holds the world fragment types supported by this query.
protected WorldFragmentType worldFragmentTypes
return WorldFragmentType