HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT::BVHQueryPointWrapper< const UT_FixedVector< float, NAXES > > Struct Template Reference

#include <UT_BVHImpl.h>

+ Inheritance diagram for UT::BVHQueryPointWrapper< const UT_FixedVector< float, NAXES > >:

Public Types

using FloatType = float
 
using BoxType = UT::Box< v4uf, NAXES >
 

Public Member Functions

template<typename TS >
SYS_FORCE_INLINE BVHQueryPointWrapper (const TS &query_point)
 
SYS_FORCE_INLINE bool isValid (uint tree_point_index) const
 
template<typename TS , typename RADIUS_ARRAY >
SYS_FORCE_INLINE FloatType queryDistance2 (const TS &tree_point, const RADIUS_ARRAY &radii, uint index) const
 This must be the exact distance squared. More...
 
template<bool farthest>
SYS_FORCE_INLINE uint boxHitAndDist2 (const BoxType &boxes, const FloatType max_dist_squared, const uint internal_node_num, v4uf &dist2) const
 

Public Attributes

const UT_FixedVector< v4uf, NAXES > myVQueryPoint
 
const UT_FixedVector
< FloatType, NAXES > 
myQueryPoint
 

Static Public Attributes

static constexpr bool theAllPointsValid = true
 isValid() doesn't need to be called, because theAllPointsValid is true. More...
 

Detailed Description

template<exint NAXES>
struct UT::BVHQueryPointWrapper< const UT_FixedVector< float, NAXES > >

Definition at line 3088 of file UT_BVHImpl.h.

Member Typedef Documentation

template<exint NAXES>
using UT::BVHQueryPointWrapper< const UT_FixedVector< float, NAXES > >::BoxType = UT::Box<v4uf,NAXES>

Definition at line 3097 of file UT_BVHImpl.h.

template<exint NAXES>
using UT::BVHQueryPointWrapper< const UT_FixedVector< float, NAXES > >::FloatType = float

Definition at line 3090 of file UT_BVHImpl.h.

Constructor & Destructor Documentation

template<exint NAXES>
template<typename TS >
SYS_FORCE_INLINE UT::BVHQueryPointWrapper< const UT_FixedVector< float, NAXES > >::BVHQueryPointWrapper ( const TS &  query_point)
inline

Definition at line 3101 of file UT_BVHImpl.h.

Member Function Documentation

template<exint NAXES>
template<bool farthest>
SYS_FORCE_INLINE uint UT::BVHQueryPointWrapper< const UT_FixedVector< float, NAXES > >::boxHitAndDist2 ( const BoxType boxes,
const FloatType  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 3133 of file UT_BVHImpl.h.

template<exint NAXES>
SYS_FORCE_INLINE bool UT::BVHQueryPointWrapper< const UT_FixedVector< float, NAXES > >::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 3111 of file UT_BVHImpl.h.

template<exint NAXES>
template<typename TS , typename RADIUS_ARRAY >
SYS_FORCE_INLINE FloatType UT::BVHQueryPointWrapper< const UT_FixedVector< float, NAXES > >::queryDistance2 ( const TS &  tree_point,
const RADIUS_ARRAY &  radii,
uint  index 
) const
inline

This must be the exact distance squared.

Definition at line 3118 of file UT_BVHImpl.h.

Member Data Documentation

template<exint NAXES>
const UT_FixedVector<FloatType,NAXES> UT::BVHQueryPointWrapper< const UT_FixedVector< float, NAXES > >::myQueryPoint

Definition at line 3093 of file UT_BVHImpl.h.

template<exint NAXES>
const UT_FixedVector<v4uf,NAXES> UT::BVHQueryPointWrapper< const UT_FixedVector< float, NAXES > >::myVQueryPoint

Definition at line 3092 of file UT_BVHImpl.h.

template<exint NAXES>
constexpr bool UT::BVHQueryPointWrapper< const UT_FixedVector< float, NAXES > >::theAllPointsValid = true
static

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

Definition at line 3096 of file UT_BVHImpl.h.


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