#include <batchisector.h>
Public Member Functions | ||||
| BatchIsector (Scene *scene=NULL) | ||||
| ||||
| void | SetQueryRoot (DeltaDrawable *drawable) | |||
| Sets a drawable as the root of the intersection tests. | ||||
| void | ClearQueryRoot () | |||
| Clears the currently assigned root drawable of the intersection tests. | ||||
| DeltaDrawable * | GetQueryRoot () | |||
| ||||
| const DeltaDrawable * | GetQueryRoot () const | |||
| ||||
| void | SetScene (Scene *newScene) | |||
| Sets the scene to use as the base for the scene query. | ||||
| Scene * | GetScene () | |||
| ||||
| const Scene * | GetScene () const | |||
| ||||
| SingleISector & | EnableAndGetISector (int nID) | |||
| Create an isector if not made already, else makes one. | ||||
| const SingleISector & | GetSingleISector (int nIndexID) | |||
| Get an SingleISector for reference vars. | ||||
| void | StopUsingSingleISector (int nIndexID) | |||
| removes a single isector from the list | ||||
| void | StopUsingAllISectors () | |||
| removes a single isector from the list | ||||
| bool | Update (const osg::Vec3 &cameraEyePoint, bool useHighestLvlOfDetail=true) | |||
| Ray traces the scene. | ||||
| void | Reset () | |||
| Resets the intersection query. | ||||
| DeltaDrawable * | MapNodePathToDrawable (osg::NodePath &geode) | |||
| Finds the DeltaDrawable that contains the given geometry node. | ||||
Protected Member Functions | ||||
| virtual | ~BatchIsector () | |||
| bool | CheckBoundsOnArray (int index) | |||
Classes | ||||
| class | SingleISector | |||
BatchIsector *isect = new BatchIsector( mScene ); osg::Vec3 queryPoint( 500.0f, 500.0f, 1000.0f ); isect->EnableAndGetISector(0).SetSectorAsLineSegment(const osg::Vec3& startPos, const osg::Vec3& endPos); isect->Update(queryPoint, true); osg::Vec3 hitPt; isect->GetSingleISector(0).GetHitPoint( hitPt );
| dtCore::BatchIsector::BatchIsector | ( | dtCore::Scene * | scene = NULL |
) |
| scene | The Delta3D scene to intersect. |
| dtCore::BatchIsector::~BatchIsector | ( | ) | [protected, virtual] |
| bool dtCore::BatchIsector::CheckBoundsOnArray | ( | int | index | ) | [protected] |
| void dtCore::BatchIsector::SetQueryRoot | ( | DeltaDrawable * | drawable | ) | [inline] |
Sets a drawable as the root of the intersection tests.
If this is specified, it will take precedence over the currently assigned Delta3D scene.
| drawable | The drawable to intersect. |
| void dtCore::BatchIsector::ClearQueryRoot | ( | ) | [inline] |
Clears the currently assigned root drawable of the intersection tests.
| DeltaDrawable* dtCore::BatchIsector::GetQueryRoot | ( | ) | [inline] |
| const DeltaDrawable* dtCore::BatchIsector::GetQueryRoot | ( | ) | const [inline] |
| void dtCore::BatchIsector::SetScene | ( | Scene * | newScene | ) | [inline] |
Sets the scene to use as the base for the scene query.
| Scene* dtCore::BatchIsector::GetScene | ( | ) | [inline] |
| const Scene* dtCore::BatchIsector::GetScene | ( | ) | const [inline] |
| BatchIsector::SingleISector & dtCore::BatchIsector::EnableAndGetISector | ( | int | nID | ) |
Create an isector if not made already, else makes one.
| const BatchIsector::SingleISector & dtCore::BatchIsector::GetSingleISector | ( | int | nIndexID | ) |
Get an SingleISector for reference vars.
| void dtCore::BatchIsector::StopUsingSingleISector | ( | int | nIndexID | ) |
removes a single isector from the list
| void dtCore::BatchIsector::StopUsingAllISectors | ( | ) |
removes a single isector from the list
| bool dtCore::BatchIsector::Update | ( | const osg::Vec3 & | cameraEyePoint, | |
| bool | useHighestLvlOfDetail = true | |||
| ) |
Ray traces the scene.
| void dtCore::BatchIsector::Reset | ( | ) |
Resets the intersection query.
Call this in between disjoint intersection executions.
| dtCore::DeltaDrawable * dtCore::BatchIsector::MapNodePathToDrawable | ( | osg::NodePath & | geode | ) |
Finds the DeltaDrawable that contains the given geometry node.
| geode | The node to search for. |