HDK
|
#include <UT_BVHImpl.h>
Public Types | |
using | FloatType = float |
using | BoxType = UT::Box< v4uf, NAXES > |
Public Member Functions | |
template<typename TS > | |
SYS_FORCE_INLINE | BVHQuerySegment (const TS &p0, const TS &p1) |
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 < FloatType, NAXES > | myP0 |
const UT_FixedVector < FloatType, NAXES > | myP1 |
const UT_FixedVector < FloatType, NAXES > | myDiff |
const FloatType | myDiff2 |
const UT_FixedVector< v4uf, NAXES > | myVP0 |
const UT_FixedVector< v4uf, NAXES > | myVP1 |
const UT_FixedVector< v4uf, NAXES > | myVDiff |
const v4uf | myVDiff2 |
Static Public Attributes | |
static constexpr bool | theAllPointsValid = true |
isValid() doesn't need to be called, because theAllPointsValid is true. More... | |
This replaces UT_KDTubeQuery, but be careful, because this now takes p0 and p1, instead of p0 and dir, since it was confusing that dir was not a direction, but was p1-p0. This treats distance as the distance from a tree point to the query segment.
Definition at line 3182 of file UT_BVHImpl.h.
using UT::BVHQuerySegment< NAXES >::BoxType = UT::Box<v4uf,NAXES> |
Definition at line 3197 of file UT_BVHImpl.h.
using UT::BVHQuerySegment< NAXES >::FloatType = float |
Definition at line 3184 of file UT_BVHImpl.h.
|
inline |
Definition at line 3201 of file UT_BVHImpl.h.
|
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 3263 of file UT_BVHImpl.h.
|
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 3217 of file UT_BVHImpl.h.
|
inline |
This must be the exact distance squared.
Definition at line 3224 of file UT_BVHImpl.h.
const UT_FixedVector<FloatType, NAXES> UT::BVHQuerySegment< NAXES >::myDiff |
Definition at line 3188 of file UT_BVHImpl.h.
const FloatType UT::BVHQuerySegment< NAXES >::myDiff2 |
Definition at line 3189 of file UT_BVHImpl.h.
const UT_FixedVector<FloatType, NAXES> UT::BVHQuerySegment< NAXES >::myP0 |
Definition at line 3186 of file UT_BVHImpl.h.
const UT_FixedVector<FloatType, NAXES> UT::BVHQuerySegment< NAXES >::myP1 |
Definition at line 3187 of file UT_BVHImpl.h.
const UT_FixedVector<v4uf, NAXES> UT::BVHQuerySegment< NAXES >::myVDiff |
Definition at line 3192 of file UT_BVHImpl.h.
const v4uf UT::BVHQuerySegment< NAXES >::myVDiff2 |
Definition at line 3193 of file UT_BVHImpl.h.
const UT_FixedVector<v4uf, NAXES> UT::BVHQuerySegment< NAXES >::myVP0 |
Definition at line 3190 of file UT_BVHImpl.h.
const UT_FixedVector<v4uf, NAXES> UT::BVHQuerySegment< NAXES >::myVP1 |
Definition at line 3191 of file UT_BVHImpl.h.
|
static |
isValid() doesn't need to be called, because theAllPointsValid is true.
Definition at line 3196 of file UT_BVHImpl.h.