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 | BVHQueryCone (const TS &p0, const TS &dir, const float angle, const POSITION_ARRAY &positions, const RADIUS_ARRAY &radii) |
template<typename T > | |
SYS_FORCE_INLINE T | getDistToSurface (const UT_FixedVector< T, NAXES > &point) const |
template<typename T > | |
SYS_FORCE_INLINE bool | sphereIntersects (const UT_FixedVector< T, NAXES > ¢er, const T rad) const |
SYS_FORCE_INLINE bool | isValid (uint tree_point_index) const |
template<typename TS > | |
SYS_FORCE_INLINE float | 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 float max_dist_squared, const uint internal_node_num, v4uf &dist2) const |
Public Attributes | |
const UT_FixedVector< float, NAXES > | myP0 |
const UT_FixedVector< float, NAXES > | myDir |
const UT_FixedVector< v4uf, NAXES > | myVP0 |
const POSITION_ARRAY & | myPositions |
const RADIUS_ARRAY & | myRadii |
const float | myAngle |
const float | myCosAngle |
const float | mySinAngle |
Static Public Attributes | |
static constexpr bool | theAllPointsValid = false |
isValid() does need to be called, because theAllPointsValid is false (not every point is valid). More... | |
Definition at line 3403 of file UT_BVHImpl.h.
using UT::BVHQueryCone< NAXES, POSITION_ARRAY, RADIUS_ARRAY >::BoxType = UT::Box<v4uf,NAXES> |
Definition at line 3416 of file UT_BVHImpl.h.
using UT::BVHQueryCone< NAXES, POSITION_ARRAY, RADIUS_ARRAY >::FloatType = float |
Definition at line 3405 of file UT_BVHImpl.h.
|
inline |
Definition at line 3420 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 3487 of file UT_BVHImpl.h.
|
inline |
Definition at line 3440 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 3461 of file UT_BVHImpl.h.
|
inline |
This must be the exact distance squared.
Definition at line 3470 of file UT_BVHImpl.h.
|
inline |
Definition at line 3453 of file UT_BVHImpl.h.
const float UT::BVHQueryCone< NAXES, POSITION_ARRAY, RADIUS_ARRAY >::myAngle |
Definition at line 3412 of file UT_BVHImpl.h.
const float UT::BVHQueryCone< NAXES, POSITION_ARRAY, RADIUS_ARRAY >::myCosAngle |
Definition at line 3412 of file UT_BVHImpl.h.
const UT_FixedVector<float,NAXES> UT::BVHQueryCone< NAXES, POSITION_ARRAY, RADIUS_ARRAY >::myDir |
Definition at line 3408 of file UT_BVHImpl.h.
const UT_FixedVector<float,NAXES> UT::BVHQueryCone< NAXES, POSITION_ARRAY, RADIUS_ARRAY >::myP0 |
Definition at line 3407 of file UT_BVHImpl.h.
const POSITION_ARRAY& UT::BVHQueryCone< NAXES, POSITION_ARRAY, RADIUS_ARRAY >::myPositions |
Definition at line 3410 of file UT_BVHImpl.h.
const RADIUS_ARRAY& UT::BVHQueryCone< NAXES, POSITION_ARRAY, RADIUS_ARRAY >::myRadii |
Definition at line 3411 of file UT_BVHImpl.h.
const float UT::BVHQueryCone< NAXES, POSITION_ARRAY, RADIUS_ARRAY >::mySinAngle |
Definition at line 3412 of file UT_BVHImpl.h.
const UT_FixedVector<v4uf,NAXES> UT::BVHQueryCone< NAXES, POSITION_ARRAY, RADIUS_ARRAY >::myVP0 |
Definition at line 3409 of file UT_BVHImpl.h.
|
static |
isValid() does need to be called, because theAllPointsValid is false (not every point is valid).
Definition at line 3415 of file UT_BVHImpl.h.