|
| BVHBase () noexcept |
|
| ~BVHBase () noexcept |
|
SYS_FORCE_INLINE bool | isEmpty () const noexcept |
|
template<bool farthest = false, bool rm_backface = false, bool reverse = false, typename HitInfoType > |
void | sendRay (const VectorType &origin, const VectorType &direction, HitInfoType &hit_info, float tmin=0, float tmax=std::numeric_limits< float >::max()) const noexcept |
|
template<bool farthest = false, bool rm_backface = false, bool reverse = false, typename HitInfoType > |
void | sendRayRad (const VectorType &origin, const VectorType &direction, HitInfoType &hit_info, float default_radius, float tmin=0, float tmax=std::numeric_limits< float >::max()) const noexcept |
|
template<bool rm_backface = false, bool reverse = false, bool sort = true, typename HitInfoType > |
void | sendRayAll (const VectorType &origin, const VectorType &direction, UT_Array< HitInfoType > &hit_info, UT_Array< exint > *nesting_temp_array=nullptr, float duplicate_tolerance=0, float tmin=0, float tmax=std::numeric_limits< float >::max()) const noexcept |
|
template<bool rm_backface = false, bool reverse = false, bool sort = true, typename HitInfoType > |
void | sendRayAllRad (const VectorType &origin, const VectorType &direction, UT_Array< HitInfoType > &hit_info, float default_radius, UT_Array< exint > *nesting_temp_array=nullptr, float duplicate_tolerance=0, float tmin=0, float tmax=std::numeric_limits< float >::max()) const noexcept |
|
template<bool farthest, bool rm_backface, bool reverse, typename FUNCTOR > |
void | sendRayGeneric (VectorType origin, VectorType direction, FUNCTOR &hit_info, float tmin=0, float tmax=std::numeric_limits< float >::max()) const noexcept |
|
void | findClosestToLine (VectorType origin, VectorType direction, const exint max_points, const float max_dist_squared, UT::BVHOrderedStack &output_queue) const noexcept |
| Finds the closest points to the infinite line containing origin with direction direction . More...
|
|
void | findClosestToSegment (VectorType p0, VectorType p1, const exint max_points, const float max_dist_squared, UT::BVHOrderedStack &output_queue) const noexcept |
| Finds the closest points to the line segment with endpoints p0 and p1 . More...
|
|
void | findClosestInCone (VectorType origin, VectorType direction, const float angle, const exint max_points, const float max_dist_squared, UT::BVHOrderedStack &output_queue) const noexcept |
|
template<bool farthest> |
void | findClosest (VectorType origin, MinInfo &min_info, float max_dist_squared=std::numeric_limits< float >::max()) const noexcept |
|
void | getIntersectingBoxes (const SingleBoxType &query_box, UT_Array< exint > &box_indices) const noexcept |
|
SYS_FORCE_INLINE exint | numPoints () const noexcept |
|
SYS_FORCE_INLINE GA_Offset | pointOffset (exint item_index) const noexcept |
|
template<bool normalize = true> |
VectorType | getGeometricNormal (const CommonHitInfo &hit_info) const noexcept |
|
void | getDerivs (const CommonHitInfo &hit_info, VectorType &dP_du, VectorType &dP_dv) const noexcept |
| Fills in the values of dP/du and dP/dv for the hit surface. More...
|
|
template<GA_AttributeOwner owner, typename T , typename DEST_T > |
bool | getAttribute (const CommonHitInfo &hit_info, const GA_ROHandleT< T > &attrib, const GEO_Detail &detail, DEST_T &value) const noexcept |
|
SingleBoxType | getBBox () const noexcept |
|
template<bool normalize> |
BVHBase< NAXES, SUBCLASS >
::VectorType | getGeometricNormal (const CommonHitInfo &hit_info) const noexcept |
|
template<uint NAXES, typename SUBCLASS>
class GEO::BVHBase< NAXES, SUBCLASS >
Definition at line 31 of file GEO_BVH.h.
template<uint NAXES, typename SUBCLASS >
template<bool farthest, bool rm_backface, bool reverse, typename HitInfoType >
Sends a ray from the specified origin in the specified direction and finds the closest (or farthest) intersection. Potential hits less than tmin or greater than tmax from the origin are treated as not having been hit, regardless of whether farthest is true. If rm_backface is true, backface hits will be treated as no hit, and if reverse is also true, frontface hits will be treated as no hit. NOTE: If the hit_info.myNestedItemIndices is non-null, it will be filled with the hit path, ignoring the outermost index, which is in hit_info.myItemIndex.
Definition at line 346 of file GEO_BVHImpl.h.
template<uint NAXES, typename SUBCLASS >
template<bool rm_backface, bool reverse, bool sort, typename HitInfoType >
Sends a ray from the specified origin in the specified direction and finds all intersections, removing all but one that are within duplicate_tolerance of another hit. Potential hits less than tmin or greater than tmax from the origin are treated as not having been hit, regardless of whether farthest is true. If rm_backface is true, backface hits will be treated as no hit, and if reverse is also true, frontface hits will be treated as no hit. NOTE: If nesting_temp_array is non-null, this function will allocate nesting arrays for any applicable entries in hit_info, so the caller is responsible for deleting myNestedItemIndices arrays in hit_info. nesting_temp_array itself is just used for temporary storage to reduce the number of allocations.
Definition at line 380 of file GEO_BVHImpl.h.
template<uint NAXES, typename SUBCLASS >
template<bool farthest, bool rm_backface, bool reverse, typename HitInfoType >
Like sendRay, except with a radius (tolerance) for curve and point hits, in case myRadii is empty.
Definition at line 359 of file GEO_BVHImpl.h.