HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT::BVHQueryPointWrapper< QUERY_POINT > Struct Template Reference

#include <UT_BVH.h>

Public Member Functions

SYS_FORCE_INLINE BVHQueryPointWrapper (QUERY_POINT &query_point)
 
SYS_FORCE_INLINE bool isValid (uint tree_point_index) const
 
template<typename POSITION , typename RADIUS_ARRAY >
SYS_FORCE_INLINE float queryDistance2 (const POSITION &tree_point, const RADIUS_ARRAY &radii, uint index) const
 This must be the exact distance squared. More...
 
template<bool farthest, uint NAXES>
SYS_FORCE_INLINE uint boxHitAndDist2 (const UT::Box< v4uf, NAXES > &boxes, const float max_dist_squared, const uint internal_node_num, v4uf &dist2) const
 

Public Attributes

QUERY_POINT & myQueryPoint
 

Static Public Attributes

static constexpr bool theAllPointsValid = QUERY_POINT::theAllPointsValid
 isValid() doesn't need to be called if theAllPointsValid is true. More...
 

Detailed Description

template<typename QUERY_POINT>
struct UT::BVHQueryPointWrapper< QUERY_POINT >

Definition at line 773 of file UT_BVH.h.

Constructor & Destructor Documentation

template<typename QUERY_POINT>
SYS_FORCE_INLINE UT::BVHQueryPointWrapper< QUERY_POINT >::BVHQueryPointWrapper ( QUERY_POINT &  query_point)
inline

Definition at line 780 of file UT_BVH.h.

Member Function Documentation

template<typename QUERY_POINT>
template<bool farthest, uint NAXES>
SYS_FORCE_INLINE uint UT::BVHQueryPointWrapper< QUERY_POINT >::boxHitAndDist2 ( const UT::Box< v4uf, NAXES > &  boxes,
const float  max_dist_squared,
const uint  internal_node_num,
v4uf dist2 
) const
inline

The distance squared can be an underestimate, but not an overestimate, of the true distance squared. The reverse is the case if farthest is true. Also, if farthest is true, max_dist_squared is actually min_dist_squared.

Definition at line 803 of file UT_BVH.h.

template<typename QUERY_POINT>
SYS_FORCE_INLINE bool UT::BVHQueryPointWrapper< QUERY_POINT >::isValid ( uint  tree_point_index) const
inline

NOTE: This doesn't necessarily need to be const, for subclasses that have a limit on the number of invalid points hit before giving up, for example.

Definition at line 787 of file UT_BVH.h.

template<typename QUERY_POINT>
template<typename POSITION , typename RADIUS_ARRAY >
SYS_FORCE_INLINE float UT::BVHQueryPointWrapper< QUERY_POINT >::queryDistance2 ( const POSITION &  tree_point,
const RADIUS_ARRAY &  radii,
uint  index 
) const
inline

This must be the exact distance squared.

Definition at line 794 of file UT_BVH.h.

Member Data Documentation

template<typename QUERY_POINT>
QUERY_POINT& UT::BVHQueryPointWrapper< QUERY_POINT >::myQueryPoint

Definition at line 774 of file UT_BVH.h.

template<typename QUERY_POINT>
constexpr bool UT::BVHQueryPointWrapper< QUERY_POINT >::theAllPointsValid = QUERY_POINT::theAllPointsValid
static

isValid() doesn't need to be called if theAllPointsValid is true.

Definition at line 777 of file UT_BVH.h.


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