HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT Namespace Reference

Namespaces

 Format
 
 Literal
 

Classes

struct  DefaultClearer
 
struct  DefaultClearer< FONT_Style >
 
struct  DefaultClearer< FONT_Weight >
 
struct  DefaultClearer< FS_IndexFile::ConversionFuncs >
 
struct  DefaultClearer< GA_EdgeT< T, DIRECTED > >
 For possible use with UT::ArraySet or UT::ArrayMap. More...
 
struct  DefaultClearer< OP_ConnectorId >
 
struct  DefaultClearer< STY_Result >
 
struct  DefaultClearer< STY_ResultMap >
 
struct  DefaultClearer< STY_Styler >
 
struct  DefaultClearer< UT_Array< T > >
 
struct  MapKeyEqual
 
struct  MapKeyHash
 
struct  MapKeyClearer
 
class  ArrayMap
 
struct  DefaultClearer< ArrayMap< Key, T, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual > >
 
struct  DefaultClearer< S * >
 
struct  NumericClearer
 
struct  DefaultClearer< int8_t >
 
struct  DefaultClearer< uint8_t >
 
struct  DefaultClearer< int16_t >
 
struct  DefaultClearer< uint16_t >
 
struct  DefaultClearer< int32_t >
 
struct  DefaultClearer< uint32_t >
 
struct  DefaultClearer< int64_t >
 
struct  DefaultClearer< uint64_t >
 
struct  DefaultClearer< float >
 
struct  DefaultClearer< double >
 
struct  DefaultClearer< long double >
 
struct  DefaultClearer< bool >
 
struct  DefaultClearer< std::pair< S0, S1 > >
 
class  ArraySet
 
struct  DefaultClearer< ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual > >
 
struct  DefaultClearer< UT_ArrayStringMap< ITEM_T > >
 
struct  DefaultClearer< UT_ArrayStringSet >
 
struct  Box
 
class  BVH
 
struct  BVHOrderedStackEntry
 
struct  ZeroRadiiWrapper
 
struct  SingleRadiusWrapper
 
struct  ut_BoxCentre
 
struct  ut_BoxCentre< UT_FixedVector< T, NAXES, INSTANTIATED > >
 
struct  ut_BoxCentre< UT_Vector2T< T > >
 
struct  ut_BoxCentre< UT_Vector3T< T > >
 
struct  ut_BoxCentre< UT_Vector4T< T > >
 
class  ut_BVHOrderedStackCompare
 
struct  DefaultClearer< UT_IntrusivePtr< T > >
 
class  RWNullLock
 
struct  DefaultClearer< UT_SharedPtr< T > >
 
struct  DefaultClearer< UT_SmallArray< T, BYTES > >
 
struct  DefaultClearer< UT_StringHolder >
 
struct  DefaultClearer< UT_UniquePtr< T > >
 
struct  DefaultClearer< UT_ValArray< T > >
 

Typedefs

using BVHUnorderedStack = UT_Array< UT::BVH< 4 >::INT_TYPE >
 
using BVHUnorderedStackSmall = UT_SmallArray< UT::BVH< 4 >::INT_TYPE, 128 >
 
using BVHOrderedStack = UT_Array< BVHOrderedStackEntry >
 
using BVHOrderedStackSmall = UT_SmallArray< BVHOrderedStackEntry, 256 >
 

Enumerations

enum  BVH_Heuristic {
  BVH_Heuristic::BOX_PERIMETER, BVH_Heuristic::BOX_AREA, BVH_Heuristic::BOX_VOLUME, BVH_Heuristic::BOX_RADIUS,
  BVH_Heuristic::BOX_RADIUS2, BVH_Heuristic::BOX_RADIUS3, BVH_Heuristic::MEDIAN_MAX_AXIS
}
 

Functions

template<uint BVH_N, typename ITEM_BOX , typename NODE_BOX >
SYS_FORCE_INLINE void createBVHNodeBoxes (const UT::BVH< BVH_N > &bvh, const ITEM_BOX *item_boxes, NODE_BOX *node_boxes) noexcept
 
template<uint NAXES, typename T , uint BVH_N, typename ITEM_BOX , typename NODE_BOX >
SYS_FORCE_INLINE void createBVHInterleavedBoxes (const UT::BVH< BVH_N > &bvh, const ITEM_BOX *item_boxes, NODE_BOX *node_boxes, float expand_factor=0.0f) noexcept
 
template<uint NAXES, typename T , typename ITEM_BOX , typename NODE_BOX , typename INT_TYPE0 = uint>
SYS_FORCE_INLINE void createBVHInterleavedBoxes (const UT::BVH< 4 > &bvh, const ITEM_BOX *item_boxes, NODE_BOX *node_boxes, const v4uu *node_nitems, const INT_TYPE0 *indices_mapping=nullptr) noexcept
 
template<uint NAXES, typename INT_TYPE >
void getIntersectingBoxes (const UT::BVH< 4 > &bvh, const UT::Box< v4uf, NAXES > *node_boxes, const UT::Box< float, NAXES > &query_box, UT_Array< INT_TYPE > &box_indices, BVHUnorderedStack &stack) noexcept
 
template<uint NAXES, typename INT_TYPE >
void getIntersectingBoxesFromStack (const UT::BVH< 4 > &bvh, const UT::Box< v4uf, NAXES > *node_boxes, const UT::Box< float, NAXES > &query_box, UT_Array< INT_TYPE > &box_indices, BVHUnorderedStack &stack) noexcept
 
template<uint NAXES, typename INT_TYPE >
void getIntersectingNodes (const UT::BVH< 4 > &bvh, const UT::Box< v4uf, NAXES > *node_boxes, const UT::Box< float, NAXES > &query_box, UT_Array< INT_TYPE > &box_indices, BVHUnorderedStack &stack) noexcept
 
template<uint NAXES, typename INT_TYPE , int BATCH_SIZE>
void getIntersectingBoxesBatch (const UT::BVH< 4 > &bvh, const UT::Box< v4uf, NAXES > *node_boxes, const UT::Box< float, NAXES > *query_box, UT_Array< INT_TYPE > *box_indices, BVHUnorderedStack &stack) noexcept
 
void computeNodeNItems (const UT::BVH< 4 > &bvh, v4uu *node_nitems, exint nitems) noexcept
 Computes the number of items per node entry and fills in node_nitems. More...
 
template<typename T >
constexpr bool allRadiiZero (const T &array) noexcept
 
constexpr bool allRadiiZero (const ZeroRadiiWrapper &array) noexcept
 
template<typename T >
constexpr bool allRadiiZero (const T *const array) noexcept
 
template<bool farthest, bool reordered, bool use_max_points, uint NAXES, bool INSTANTIATED, typename INT_TYPE0 , typename POSITION_ARRAY , typename RADIUS_ARRAY >
void findClosestPoints (const UT::BVH< 4 > &bvh, const UT::Box< v4uf, NAXES > *node_boxes, const v4uu *node_nitems, const INT_TYPE0 *indices_mapping, const POSITION_ARRAY &positions, const UT_FixedVector< float, NAXES, INSTANTIATED > &query_point, BVHOrderedStack &stack, BVHOrderedStack &output_queue, const RADIUS_ARRAY &radii=ZeroRadiiWrapper(), exint max_points=std::numeric_limits< exint >::max(), float max_dist_squared=std::numeric_limits< float >::max()) noexcept
 
template<typename T , uint NAXES>
SYS_FORCE_INLINE bool utBoxExclude (const UT::Box< T, NAXES > &box) noexcept
 
template<uint NAXES>
SYS_FORCE_INLINE bool utBoxExclude (const UT::Box< fpreal32, NAXES > &box) noexcept
 
template<typename T , uint NAXES>
SYS_FORCE_INLINEutBoxCenter (const UT::Box< T, NAXES > &box, uint axis) noexcept
 
template<typename T , uint NAXES, bool INSTANTIATED>
SYS_FORCE_INLINEutBoxExclude (const UT_FixedVector< T, NAXES, INSTANTIATED > &position) noexcept
 
template<uint NAXES, bool INSTANTIATED>
SYS_FORCE_INLINE bool utBoxExclude (const UT_FixedVector< fpreal32, NAXES, INSTANTIATED > &position) noexcept
 
template<typename T , uint NAXES, bool INSTANTIATED>
SYS_FORCE_INLINEutBoxCenter (const UT_FixedVector< T, NAXES, INSTANTIATED > &position, uint axis) noexcept
 
template<typename T >
SYS_FORCE_INLINE bool utBoxExclude (const UT_Vector2T< T > &position) noexcept
 
template<typename T >
SYS_FORCE_INLINE bool utBoxExclude (const UT_Vector3T< T > &position) noexcept
 
template<typename T >
SYS_FORCE_INLINE bool utBoxExclude (const UT_Vector4T< T > &position) noexcept
 
template<>
SYS_FORCE_INLINE bool utBoxExclude (const UT_Vector2T< fpreal32 > &position) noexcept
 
template<>
SYS_FORCE_INLINE bool utBoxExclude (const UT_Vector3T< fpreal32 > &position) noexcept
 
template<>
SYS_FORCE_INLINE bool utBoxExclude (const UT_Vector4T< fpreal32 > &position) noexcept
 
template<typename T >
SYS_FORCE_INLINEutBoxCenter (const UT_Vector2T< T > &position, uint axis) noexcept
 
template<typename T >
SYS_FORCE_INLINEutBoxCenter (const UT_Vector3T< T > &position, uint axis) noexcept
 
template<typename T >
SYS_FORCE_INLINEutBoxCenter (const UT_Vector4T< T > &position, uint axis) noexcept
 
template<typename BOX_TYPE , typename SRC_INT_TYPE , typename INT_TYPE >
INT_TYPE utExcludeNaNInfBoxIndices (const BOX_TYPE *boxes, SRC_INT_TYPE *indices, INT_TYPE &nboxes) noexcept
 
template<typename T , uint NAXES, bool PARALLEL, typename INT_TYPE0 , typename DATA , typename INT_TYPE >
void utCreateBVHInterleavedBoxesHelper (INT_TYPE nodei, INT_TYPE next_node_id, const DATA &data, UT::Box< T, NAXES > *data_for_parent) noexcept
 
template<bool PARALLEL, typename DATA >
void utComputeNodeNItemsHelper (uint nodei, uint next_node_id, uint next_item_id, const DATA &data) noexcept
 
template<bool farthest, bool reordered, bool use_max_points, uint NAXES, bool INSTANTIATED, typename INT_TYPE0 , typename POSITION_ARRAY , typename RADIUS_ARRAY >
SYS_FORCE_INLINE void utHandleSingleClosePoint (const uint index, const INT_TYPE0 *indices_mapping, const POSITION_ARRAY &positions, const UT_FixedVector< float, NAXES, INSTANTIATED > &query_point, BVHOrderedStack &output_queue, const RADIUS_ARRAY &radii, exint max_points, float &max_dist_squared) noexcept
 

Detailed Description

A user-defined string literal to construct UT_StringHolder objects. E.g:

auto lit = "This is my UT_StringHolder literal"_sh;

Typedef Documentation

Definition at line 712 of file UT_BVH.h.

Definition at line 713 of file UT_BVH.h.

using UT::BVHUnorderedStack = typedef UT_Array<UT::BVH<4>::INT_TYPE>

Definition at line 630 of file UT_BVH.h.

using UT::BVHUnorderedStackSmall = typedef UT_SmallArray<UT::BVH<4>::INT_TYPE,128>

Definition at line 631 of file UT_BVH.h.

Enumeration Type Documentation

enum UT::BVH_Heuristic
strong

Used by BVH::init to specify the heuristic to use for choosing between different box splits. I tried putting this inside the BVH class, but I had difficulty getting it to compile.

Enumerator
BOX_PERIMETER 

Tries to minimize the sum of axis lengths of the boxes. This is useful for applications where the probability of a box being applicable to a query is proportional to the "length", e.g. the probability of a random infinite plane intersecting the box.

BOX_AREA 

Tries to minimize the "surface area" of the boxes. In 3D, uses the surface area; in 2D, uses the perimeter; in 1D, uses the axis length. This is what most applications, e.g. ray tracing, should use, particularly when the probability of a box being applicable to a query is proportional to the surface "area", e.g. the probability of a random ray hitting the box.

NOTE: USE THIS ONE IF YOU ARE UNSURE!

BOX_VOLUME 

Tries to minimize the "volume" of the boxes. Uses the product of all axis lengths as a heuristic, (volume in 3D, area in 2D, length in 1D). This is useful for applications where the probability of a box being applicable to a query is proportional to the "volume", e.g. the probability of a random point being inside the box.

BOX_RADIUS 

Tries to minimize the "radii" of the boxes (i.e. the distance from the centre to a corner). This is useful for applications where the probability of a box being applicable to a query is proportional to the distance to the box centre, e.g. the probability of a random infinite plane being within the "radius" of the centre.

BOX_RADIUS2 

Tries to minimize the squared "radii" of the boxes (i.e. the squared distance from the centre to a corner). This is useful for applications where the probability of a box being applicable to a query is proportional to the squared distance to the box centre, e.g. the probability of a random ray passing within the "radius" of the centre.

BOX_RADIUS3 

Tries to minimize the cubed "radii" of the boxes (i.e. the cubed distance from the centre to a corner). This is useful for applications where the probability of a box being applicable to a query is proportional to the cubed distance to the box centre, e.g. the probability of a random point being within the "radius" of the centre.

MEDIAN_MAX_AXIS 

Tries to minimize the depth of the tree by primarily splitting at the median of the max axis. It may fall back to minimizing the area, but the tree depth should be unaffected.

FIXME: This is not fully implemented yet.

Definition at line 324 of file UT_BVH.h.

Function Documentation

template<typename T >
constexpr bool UT::allRadiiZero ( const T &  array)
noexcept

Definition at line 734 of file UT_BVH.h.

constexpr bool UT::allRadiiZero ( const ZeroRadiiWrapper &  array)
noexcept

Definition at line 736 of file UT_BVH.h.

template<typename T >
constexpr bool UT::allRadiiZero ( const T *const  array)
noexcept

Definition at line 739 of file UT_BVH.h.

void UT::computeNodeNItems ( const UT::BVH< 4 > &  bvh,
v4uu node_nitems,
exint  nitems 
)
inlinenoexcept

Computes the number of items per node entry and fills in node_nitems.

Definition at line 2958 of file UT_BVHImpl.h.

template<uint NAXES, typename T , uint BVH_N, typename ITEM_BOX , typename NODE_BOX >
SYS_FORCE_INLINE void UT::createBVHInterleavedBoxes ( const UT::BVH< BVH_N > &  bvh,
const ITEM_BOX *  item_boxes,
NODE_BOX *  node_boxes,
float  expand_factor = 0.0f 
)
noexcept

Fills in node_boxes as interleaved child boxes, possibly in parallel if there are enough nodes. ITEM_BOX should act like UT::Box<T,NAXES>, and the length should be the number of items. NODE_BOX should act like UT::Box<v4uf,NAXES> or UT::Box<UT_FixedVector<T,BVH_N>,NAXES>, and the length should be bvh.getNumNodes().

Definition at line 2088 of file UT_BVHImpl.h.

template<uint NAXES, typename T , typename ITEM_BOX , typename NODE_BOX , typename INT_TYPE0 = uint>
SYS_FORCE_INLINE void UT::createBVHInterleavedBoxes ( const UT::BVH< 4 > &  bvh,
const ITEM_BOX *  item_boxes,
NODE_BOX *  node_boxes,
const v4uu node_nitems,
const INT_TYPE0 *  indices_mapping = nullptr 
)
noexcept

Fills in node_boxes as interleaved child boxes, possibly in parallel if there are enough nodes. ITEM_BOX should act like UT::Box<T,NAXES> or UT_FixedVector<T,NAXES>, and the length should be the number of items. NODE_BOX should act like UT::Box<v4uf,NAXES> or UT::Box<UT_FixedVector<T,4>,NAXES>, and the length should be bvh.getNumNodes().

Definition at line 2358 of file UT_BVHImpl.h.

template<uint BVH_N, typename ITEM_BOX , typename NODE_BOX >
SYS_FORCE_INLINE void UT::createBVHNodeBoxes ( const UT::BVH< BVH_N > &  bvh,
const ITEM_BOX *  item_boxes,
NODE_BOX *  node_boxes 
)
noexcept

Fills in node_boxes, possibly in parallel if there are enough nodes. ITEM_BOX should act like UT::Box<T,NAXES>, and the length should be the number of items. NODE_BOX should act like UT::Box<T,NAXES>, and the length should be bvh.getNumNodes().

Definition at line 2043 of file UT_BVHImpl.h.

template<bool farthest, bool reordered, bool use_max_points, uint NAXES, bool INSTANTIATED, typename INT_TYPE0 , typename POSITION_ARRAY , typename RADIUS_ARRAY >
void UT::findClosestPoints ( const UT::BVH< 4 > &  bvh,
const UT::Box< v4uf, NAXES > *  node_boxes,
const v4uu node_nitems,
const INT_TYPE0 *  indices_mapping,
const POSITION_ARRAY &  positions,
const UT_FixedVector< float, NAXES, INSTANTIATED > &  query_point,
BVHOrderedStack &  stack,
BVHOrderedStack &  output_queue,
const RADIUS_ARRAY &  radii = ZeroRadiiWrapper(),
exint  max_points = std::numeric_limits<exint>::max(),
float  max_dist_squared = std::numeric_limits<float>::max() 
)
noexcept

NOTE: If farthest is true, max_dist_squared is actually min_dist_squared. NOTE: If indices_mapping is non-null, it maps from BVH item indices to indices into positions and radii. NOTE: If reordered is true, item indices in bvh must be monotone strictly increasing, but may not be contiguous, so that multiple points can be in the same leaf. This is independent of whether indices_mapping is valid, but no mapping means that positions and radii would have to be reordered too.

Definition at line 3185 of file UT_BVHImpl.h.

template<uint NAXES, typename INT_TYPE >
void UT::getIntersectingBoxes ( const UT::BVH< 4 > &  bvh,
const UT::Box< v4uf, NAXES > *  node_boxes,
const UT::Box< float, NAXES > &  query_box,
UT_Array< INT_TYPE > &  box_indices,
BVHUnorderedStack &  stack 
)
noexcept

Fills box_indices array with the indices of all boxes intersecting query_box. NOTE: This does not clear out previous contents of indices, so that you can easily query intersection with multiple boxes. WARNING: DO NOT depend on the order of box_indices. If you need a consistent order, sort it.

Definition at line 2392 of file UT_BVHImpl.h.

template<uint NAXES, typename INT_TYPE , int BATCH_SIZE>
void UT::getIntersectingBoxesBatch ( const UT::BVH< 4 > &  bvh,
const UT::Box< v4uf, NAXES > *  node_boxes,
const UT::Box< float, NAXES > *  query_box,
UT_Array< INT_TYPE > *  box_indices,
BVHUnorderedStack &  stack 
)
noexcept

Definition at line 2704 of file UT_BVHImpl.h.

template<uint NAXES, typename INT_TYPE >
void UT::getIntersectingBoxesFromStack ( const UT::BVH< 4 > &  bvh,
const UT::Box< v4uf, NAXES > *  node_boxes,
const UT::Box< float, NAXES > &  query_box,
UT_Array< INT_TYPE > &  box_indices,
BVHUnorderedStack &  stack 
)
noexcept

Definition at line 2415 of file UT_BVHImpl.h.

template<uint NAXES, typename INT_TYPE >
void UT::getIntersectingNodes ( const UT::BVH< 4 > &  bvh,
const UT::Box< v4uf, NAXES > *  node_boxes,
const UT::Box< float, NAXES > &  query_box,
UT_Array< INT_TYPE > &  box_indices,
BVHUnorderedStack &  stack 
)
noexcept

Definition at line 2557 of file UT_BVHImpl.h.

template<typename T , uint NAXES>
SYS_FORCE_INLINE T UT::utBoxCenter ( const UT::Box< T, NAXES > &  box,
uint  axis 
)
noexcept

Definition at line 58 of file UT_BVHImpl.h.

template<typename T , uint NAXES, bool INSTANTIATED>
SYS_FORCE_INLINE T UT::utBoxCenter ( const UT_FixedVector< T, NAXES, INSTANTIATED > &  position,
uint  axis 
)
noexcept

Definition at line 83 of file UT_BVHImpl.h.

template<typename T >
SYS_FORCE_INLINE T UT::utBoxCenter ( const UT_Vector2T< T > &  position,
uint  axis 
)
noexcept

Definition at line 130 of file UT_BVHImpl.h.

template<typename T >
SYS_FORCE_INLINE T UT::utBoxCenter ( const UT_Vector3T< T > &  position,
uint  axis 
)
noexcept

Definition at line 134 of file UT_BVHImpl.h.

template<typename T >
SYS_FORCE_INLINE T UT::utBoxCenter ( const UT_Vector4T< T > &  position,
uint  axis 
)
noexcept

Definition at line 138 of file UT_BVHImpl.h.

template<typename T , uint NAXES>
SYS_FORCE_INLINE bool UT::utBoxExclude ( const UT::Box< T, NAXES > &  box)
noexcept

Definition at line 34 of file UT_BVHImpl.h.

template<uint NAXES>
SYS_FORCE_INLINE bool UT::utBoxExclude ( const UT::Box< fpreal32, NAXES > &  box)
noexcept

Definition at line 45 of file UT_BVHImpl.h.

template<typename T , uint NAXES, bool INSTANTIATED>
SYS_FORCE_INLINE T UT::utBoxExclude ( const UT_FixedVector< T, NAXES, INSTANTIATED > &  position)
noexcept

Definition at line 67 of file UT_BVHImpl.h.

template<uint NAXES, bool INSTANTIATED>
SYS_FORCE_INLINE bool UT::utBoxExclude ( const UT_FixedVector< fpreal32, NAXES, INSTANTIATED > &  position)
noexcept

Definition at line 74 of file UT_BVHImpl.h.

template<typename T >
SYS_FORCE_INLINE bool UT::utBoxExclude ( const UT_Vector2T< T > &  position)
noexcept

Definition at line 91 of file UT_BVHImpl.h.

template<typename T >
SYS_FORCE_INLINE bool UT::utBoxExclude ( const UT_Vector3T< T > &  position)
noexcept

Definition at line 95 of file UT_BVHImpl.h.

template<typename T >
SYS_FORCE_INLINE bool UT::utBoxExclude ( const UT_Vector4T< T > &  position)
noexcept

Definition at line 99 of file UT_BVHImpl.h.

template<>
SYS_FORCE_INLINE bool UT::utBoxExclude ( const UT_Vector2T< fpreal32 > &  position)
noexcept

Definition at line 103 of file UT_BVHImpl.h.

template<>
SYS_FORCE_INLINE bool UT::utBoxExclude ( const UT_Vector3T< fpreal32 > &  position)
noexcept

Definition at line 111 of file UT_BVHImpl.h.

template<>
SYS_FORCE_INLINE bool UT::utBoxExclude ( const UT_Vector4T< fpreal32 > &  position)
noexcept

Definition at line 120 of file UT_BVHImpl.h.

template<bool PARALLEL, typename DATA >
void UT::utComputeNodeNItemsHelper ( uint  nodei,
uint  next_node_id,
uint  next_item_id,
const DATA &  data 
)
noexcept

Definition at line 2833 of file UT_BVHImpl.h.

template<typename T , uint NAXES, bool PARALLEL, typename INT_TYPE0 , typename DATA , typename INT_TYPE >
void UT::utCreateBVHInterleavedBoxesHelper ( INT_TYPE  nodei,
INT_TYPE  next_node_id,
const DATA &  data,
UT::Box< T, NAXES > *  data_for_parent 
)
noexcept

Definition at line 2187 of file UT_BVHImpl.h.

template<typename BOX_TYPE , typename SRC_INT_TYPE , typename INT_TYPE >
INT_TYPE UT::utExcludeNaNInfBoxIndices ( const BOX_TYPE *  boxes,
SRC_INT_TYPE *  indices,
INT_TYPE &  nboxes 
)
noexcept

Definition at line 155 of file UT_BVHImpl.h.

template<bool farthest, bool reordered, bool use_max_points, uint NAXES, bool INSTANTIATED, typename INT_TYPE0 , typename POSITION_ARRAY , typename RADIUS_ARRAY >
SYS_FORCE_INLINE void UT::utHandleSingleClosePoint ( const uint  index,
const INT_TYPE0 *  indices_mapping,
const POSITION_ARRAY &  positions,
const UT_FixedVector< float, NAXES, INSTANTIATED > &  query_point,
BVHOrderedStack &  output_queue,
const RADIUS_ARRAY &  radii,
exint  max_points,
float &  max_dist_squared 
)
noexcept

Definition at line 3047 of file UT_BVHImpl.h.