PxRaycastBufferN
Defined in include/PxQueryReport.h
- 
template<int N>
 struct PxRaycastBufferN : public PxHitBuffer<PxRaycastHit>
- Returns touching raycast hits to the user in a fixed size array embedded in the buffer class. - Public Functions - 
inline PxRaycastBufferN()
 - 
inline PxU32 getNbAnyHits() const
- Computes the number of any hits in this result, blocking or touching. 
 - 
inline const PxRaycastHit &getAnyHit(const PxU32 index) const
- Convenience iterator used to access any hits in this result, blocking or touching. 
 - 
inline const PxRaycastHit *getTouches() const
 - 
inline const PxRaycastHit &getTouch(const PxU32 index) const
 - 
virtual PxAgain processTouches(const HitType *buffer, PxU32 nbHits) = 0
- virtual callback function used to communicate query results to the user. - This callback will always be invoked with touches as a buffer if touches was specified as non-NULL. All reported touch hits are guaranteed to be closer than the closest blocking hit. - See also - PxAgain PxRaycastHit PxSweepHit PxOverlapHit - Note - There is a significant performance penalty in case multiple touch callbacks are issued (up to 2x) - Note - to avoid the penalty use a bigger buffer so that all touching hits can be reported in a single buffer. - Note - If true (again) is returned from the callback, nbTouches will be reset to 0, - Note - If false is returned, nbTouched will remain unchanged. - Note - By the time processTouches is first called, the globally closest blocking hit is already determined, - Note - values of hasBlock and block are final and all touch hits are guaranteed to be closer than the blocking hit. - Note - touches and maxNbTouches can be modified inside of processTouches callback. - Parameters
- buffer – [in] Callback will report touch hits to the user in this buffer. This pointer will be the same as touches. 
- nbHits – [in] Number of touch hits reported in buffer. This number will not exceed maxNbTouches. 
 
- Returns
- true to continue receiving callbacks in case there are more hits or false to stop. 
 
 - 
inline virtual void finalizeQuery()
- Query finalization callback, called after the last processTouches callback. 
 - 
inline bool hasAnyHits()
- Returns true if any blocking or touching hits were encountered during a query. 
 - Public Members - 
PxRaycastHit hits[N]
 - 
HitType block
- Holds the closest blocking hit result for the query. Invalid if hasBlock is false. 
 - 
bool hasBlock
- Set to true if there was a blocking hit during query. 
 - 
HitType *touches
- User specified buffer for touching hits. 
 - Protected Functions - 
inline virtual PxAgain processTouches(const PxRaycastHit *buffer, PxU32 nbHits)
- virtual callback function used to communicate query results to the user. - This callback will always be invoked with touches as a buffer if touches was specified as non-NULL. All reported touch hits are guaranteed to be closer than the closest blocking hit. - See also - PxAgain PxRaycastHit PxSweepHit PxOverlapHit - Note - There is a significant performance penalty in case multiple touch callbacks are issued (up to 2x) - Note - to avoid the penalty use a bigger buffer so that all touching hits can be reported in a single buffer. - Note - If true (again) is returned from the callback, nbTouches will be reset to 0, - Note - If false is returned, nbTouched will remain unchanged. - Note - By the time processTouches is first called, the globally closest blocking hit is already determined, - Note - values of hasBlock and block are final and all touch hits are guaranteed to be closer than the blocking hit. - Note - touches and maxNbTouches can be modified inside of processTouches callback. - Parameters
- buffer – [in] Callback will report touch hits to the user in this buffer. This pointer will be the same as touches. 
- nbHits – [in] Number of touch hits reported in buffer. This number will not exceed maxNbTouches. 
 
- Returns
- true to continue receiving callbacks in case there are more hits or false to stop. 
 
 
- 
inline PxRaycastBufferN()