PhysX SDK 3.2 API Reference: PxSceneQueryFilterCallback Class Reference

PhysX SDK 3.2 API

PxSceneQueryFilterCallback Class Reference
[Scenequery]

Scene query filtering callbacks. More...

#include <PxSceneQueryFiltering.h>

List of all members.


Public Member Functions

virtual PxSceneQueryHitType::Enum preFilter (const PxFilterData &filterData, PxShape *shape, PxSceneQueryFilterFlags &filterFlags)=0
 Filter callback before precise intersection testing.
virtual PxSceneQueryHitType::Enum postFilter (const PxFilterData &filterData, const PxSceneQueryHit &hit)=0
 Filter callback after precise intersection testing.
virtual ~PxSceneQueryFilterCallback ()
 virtual destructor

Detailed Description

Scene query filtering callbacks.

Custom filtering logic for scene query intersection candidates. If an intersection candidate object passes the data based filter (see PxSceneQueryFilterData), the filtering callbacks run on request (see PxSceneQueryFilterData.flags)

The prefilter may overwrite the copy of filterFlags passed in the query's PxSceneQueryFilterData, in order to specify PxSceneQueryFilterFlag::eBACKFACE and PxSceneQueryFilterFlag::eMESH_MULTIPLE on a per-shape basis. Changes apply only to the shape being filtered, and changes to other flags are ignored.

  • If the PxSceneQueryFilterFlag::ePOSTFILTER flag is set, the postFilter function is called for each intersection point to determine touch/block status. This overrides any touch/block status returned from the preFilter function for this shape.
Filtering calls are not in order along the query direction, rather they are processed in the order in which candidate shapes for testing are found by PhysX' scene traversal algorithms.

See also:
PxScene.raycastAny PxScene.raycastSingle PxScene.raycastMultiple PxScene.sweepSingle PxScene.sweepMultiple PxScene.overlapMultiple

Constructor & Destructor Documentation

virtual PxSceneQueryFilterCallback::~PxSceneQueryFilterCallback (  )  [inline, virtual]

virtual destructor


Member Function Documentation

virtual PxSceneQueryHitType::Enum PxSceneQueryFilterCallback::postFilter ( const PxFilterData filterData,
const PxSceneQueryHit hit 
) [pure virtual]

Filter callback after precise intersection testing.

Parameters:
[in] filterData The custom filter data of the query
[in] hit Scene query hit information. For overlap tests the faceIndex member is not valid. For sweepSingle/sweepMultiple and raycastSingle/raycastMultiple the hit information can be casted to PxSweepHit and PxRaycastHit respectively
Returns:
Hit declaration.
See also:
PxSceneQueryFilterCallback

virtual PxSceneQueryHitType::Enum PxSceneQueryFilterCallback::preFilter ( const PxFilterData filterData,
PxShape shape,
PxSceneQueryFilterFlags filterFlags 
) [pure virtual]

Filter callback before precise intersection testing.

Parameters:
[in] filterData The custom filter data of the query
[in] shape The potentially hit shape
[in,out] filterFlags The query filter flags from the query's PxSceneQueryFilterData (only the flags eMESH_MULTIPLE, eBACKFACE can be modified)
See also:
PxSceneQueryFilterCallback


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



Copyright © 2008-2012 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com