PixelLightAPI  .
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
PLScene::SceneQuery Class Reference

Abstract scene query class. More...

#include <SceneQuery.h>

Inheritance diagram for PLScene::SceneQuery:
Inheritance graph
[legend]

List of all members.

Public Types

enum  EFlags { Recursive = 1<<0, StopQuery = 1<<1 }
 Flags. More...

Public Member Functions

 pl_class (PLS_RTTI_EXPORT, SceneQuery,"PLScene", PLCore::Object,"Abstract scene query class") pl_signal_2(SignalSceneNode
PLS_API SceneContextGetSceneContext () const
 Returns the scene context the scene query is in.
SceneContainerGetSceneContainer () const
 Returns the scene container this query operates on.
PLCore::uint32 GetFlags () const
 Returns the flags.
void SetFlags (PLCore::uint32 nFlags=Recursive)
 Sets the flags.
void Stop ()
 Stops the currently running query.
virtual bool PerformQuery ()=0
 Performs the query.

Public Attributes

SceneQuery SceneNode A scene
node was touched during the
query Event causing scene
query and found scene node as 
parameters

Protected Member Functions

PLS_API SceneQuery ()
 Constructor.
virtual PLS_API ~SceneQuery ()
 Destructor.

Protected Attributes

PLCore::uint32 m_nFlags

Detailed Description

Abstract scene query class.

Remarks:
The scene query is operating on a scene container. For instance there can be a query to perform volume checks against the scene or a query rendering the scene. This process can be quite efficient if the scene container provides a good scene hierarchy. Events will inform about the results.
Note:
  • Derived classes should use a 'SQ'-prefix (example: SQLine)

Member Enumeration Documentation

Flags.

Enumerator:
Recursive 

Take sub scene containers into account

StopQuery 

Stop the currently running query (removed within PerformQuery() on start automatically)

Reimplemented in PLScene::SQByClassName.


Constructor & Destructor Documentation

PLS_API PLScene::SceneQuery::SceneQuery ( ) [protected]

Constructor.

virtual PLS_API PLScene::SceneQuery::~SceneQuery ( ) [protected, virtual]

Destructor.


Member Function Documentation

PLScene::SceneQuery::pl_class ( PLS_RTTI_EXPORT  ,
SceneQuery  ,
"PLScene"  ,
PLCore::Object  ,
"Abstract scene query class"   
)

Returns the scene context the scene query is in.

Returns:
The scene context the scene query is in, can but shouldn't be a null pointer

Returns the scene container this query operates on.

Returns:
The scene container this query operates on
PLCore::uint32 PLScene::SceneQuery::GetFlags ( ) const [inline]

Returns the flags.

Returns:
Flags (see EFlags)
void PLScene::SceneQuery::SetFlags ( PLCore::uint32  nFlags = Recursive) [inline]

Sets the flags.

Parameters:
[in]nFlagsFlags (see EFlags)
void PLScene::SceneQuery::Stop ( ) [inline]

Stops the currently running query.

virtual bool PLScene::SceneQuery::PerformQuery ( ) [pure virtual]

Performs the query.

Note:
  • Before you start the query you have to do some settings within the derived query classes first. (for instance setting the query volume)
Returns:
'true' if the query was cancelled by the user, else 'false'

Implemented in PLScene::SQCull, PLScene::SQByClassName, PLScene::SQByName, PLScene::SQAABoundingBox, PLScene::SQSphere, PLScene::SQLine, PLScene::SQPlaneSet, PLScene::SQPoint, and PLScene::SQEnumerate.


Member Data Documentation

SceneQuery SceneNode A scene node was touched during the query Event causing scene query and found scene node as PLScene::SceneQuery::parameters
PLCore::uint32 PLScene::SceneQuery::m_nFlags [protected]

Flags (see EFlags)


The documentation for this class was generated from the following files:


PixelLight PixelLight 0.9.10-R1
Copyright (C) 2002-2011 by The PixelLight Team
Last modified Fri Dec 23 2011 15:51:25
The content of this PixelLight document is published under the
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported