\brief Scene query filtering data. Whenever the scene query intersects a shape, filtering is performed in the following order: \li For non-batched queries only: If the data field is non-zero, and the bitwise-AND value of data AND the shape's queryFilterData is zero, the shape is skipped \li If filter callbacks are enabled in flags field (see #PxQueryFlags) they will get invoked accordingly. \
| 130 | @see PxScene.raycast PxScene.sweep PxScene.overlap PxBatchQuery.raycast PxBatchQuery.sweep PxBatchQuery.overlap PxQueryFlag::eANY_HIT |
| 131 | */ |
| 132 | struct PxQueryFilterData |
| 133 | { |
| 134 | /** \brief default constructor */ |
| 135 | explicit PX_INLINE PxQueryFilterData() : flags(PxQueryFlag::eDYNAMIC | PxQueryFlag::eSTATIC) {} |
| 136 | |
| 137 | /** \brief constructor to set both filter data and filter flags */ |
| 138 | explicit PX_INLINE PxQueryFilterData(const PxFilterData& fd, PxQueryFlags f) : data(fd), flags(f) {} |
| 139 | |
| 140 | /** \brief constructor to set filter flags only */ |
| 141 | explicit PX_INLINE PxQueryFilterData(PxQueryFlags f) : flags(f) {} |
| 142 | |
| 143 | PxFilterData data; //!< Filter data associated with the scene query |
| 144 | PxQueryFlags flags; //!< Filter flags (see #PxQueryFlags) |
| 145 | }; |
| 146 | |
| 147 | /** |
| 148 | \brief Scene query filtering callbacks. |
no outgoing calls
no test coverage detected