|
SYS_FORCE_INLINE | PointBVHT () noexcept |
|
SYS_FORCE_INLINE | ~PointBVHT () noexcept |
|
SYS_FORCE_INLINE void | init (const GA_Detail &detail, const GA_ROHandleT< VectorType > &P, const float radius=0.0f, const GA_Range *point_range=nullptr, const bool force_rebalance=false) noexcept |
| NOTE: With this signature, radius is the point radius. More...
|
|
SYS_FORCE_INLINE void | init (const GA_Detail &detail, const GA_ROHandleF &P, const float radius=0.0f, const GA_Range *point_range=nullptr, const bool force_rebalance=false) noexcept |
|
SYS_FORCE_INLINE void | init (const GA_Detail &detail, const GA_ROHandleT< VectorType > &P, const GA_ROHandleF &pscale, const float radscale=1.0f, const GA_Range *point_range=nullptr, const bool force_rebalance=false) noexcept |
|
SYS_FORCE_INLINE void | init (const GA_Detail &detail, const GA_ROHandleF &P, const GA_ROHandleF &pscale, const float radscale=1.0f, const GA_Range *point_range=nullptr, const bool force_rebalance=false) noexcept |
|
SYS_FORCE_INLINE void | init (const exint n, const VectorType *P, const float radius=0.0f, const bool rebalance=true) noexcept |
| NOTE: With this signature, radius is the point radius. More...
|
|
GEO_API void | init (const exint n, const VectorType *P, const float *pscale, const float radscale=1.0f, const bool rebalance=true) noexcept |
|
SYS_FORCE_INLINE void | findClosestPoints (const VectorType &query_pt, UT::BVHOrderedStack &stack, UT::BVHOrderedStack &output_queue, exint max_points=std::numeric_limits< uint >::max(), float max_distance_squared=std::numeric_limits< float >::max()) const noexcept |
|
SYS_FORCE_INLINE void | findFarthestPoints (const VectorType &query_pt, UT::BVHOrderedStack &stack, UT::BVHOrderedStack &output_queue, exint max_points=std::numeric_limits< uint >::max(), float min_distance_squared=0.0f) const noexcept |
|
template<bool farthest> |
GEO_API void | sortResults (UT::BVHOrderedStack &closepts) const noexcept |
|
template<bool farthest> |
GEO_API void | findMaximalPoints (const VectorType &query_pt, UT::BVHOrderedStack &stack, UT::BVHOrderedStack &output_queue, exint max_points, float max_distance_squared) const noexcept |
|
GEO_API const exint * | getPointsArray () const noexcept |
|
| BVHBase () noexcept |
|
| ~BVHBase () noexcept |
|
SYS_FORCE_INLINE bool | isEmpty () const noexcept |
|
void | sendRay (const VectorType &origin, const VectorType &direction, HitInfoType &hit_info, float tmin=0, float tmax=std::numeric_limits< float >::max()) const noexcept |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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...
|
|
bool | getAttribute (const CommonHitInfo &hit_info, const GA_ROHandleT< T > &attrib, const GEO_Detail &detail, DEST_T &value) const noexcept |
|
SingleBoxType | getBBox () const noexcept |
|
|
GEO_API void | fillPositionArray (const GA_ROHandleT< VectorType > &P, const GA_Range *point_range, const bool topology_changed, const GA_Size npoints) noexcept |
|
GEO_API void | fillPositionArray (const GA_ROHandleF &P, const GA_Range *point_range, const bool topology_changed, const GA_Size npoints) noexcept |
|
template<typename T > |
GEO_API void | initAttribCommon (const GA_Detail &detail, const GA_ROHandleT< T > &P, const GA_ROHandleF &pscale, const float radscale, const GA_Range *point_range, const bool force_rebalance) noexcept |
| This is instantiated for VectorType and float. More...
|
|
GEO_API void | initCommon (bool topology_changed, const VectorType *orig_order_positions, const float *orig_order_radii) noexcept |
|
template<bool farthest, bool rm_backface, bool reverse, typename FUNCTOR > |
SYS_FORCE_INLINE bool | intersectPrim (uint index, const VectorType &origin, const VectorType &direction, const VectorType &inverse_direction, int &max_dir, VectorType &N0, VectorType &N1, float &outer_tmax, float &outer_tmin, FUNCTOR &hit_info) const noexcept |
|
template<bool farthest> |
SYS_FORCE_INLINE void | closestPrim (uint index, const VectorType &origin, float &max_dist_squared, exint &hit_index, UT_Vector3 &hit_uvw, VectorType &hit_position, const UT_FixedVector< v4uf, NAXES > &vorigin, UT_Array< exint > *nesting_array, exint nesting_array_base) const noexcept |
|
template<bool normalize> |
SYS_FORCE_INLINE VectorType | primGeometricNormal (const CommonHitInfo &hit_info) const noexcept |
|
SYS_FORCE_INLINE void | primDerivs (const CommonHitInfo &hit_info, VectorType &dP_du, VectorType &dP_dv) const noexcept |
|
template<GA_AttributeOwner owner, typename T , typename DEST_T > |
SYS_FORCE_INLINE bool | primAttribute (const CommonHitInfo &hit_info, const GA_ROHandleT< T > &attrib, const GEO_Detail &detail, DEST_T &value) const noexcept |
|
void | clear () noexcept |
|
SYS_FORCE_INLINE PointBVHT
< NAXES > * | subclass () noexcept |
|
SYS_FORCE_INLINE const
PointBVHT< NAXES > * | subclass () const noexcept |
|
void | findMaximalPointsCommon (const QUERY_POINT &query_point, UT::BVHOrderedStack &stack, UT::BVHOrderedStack &output_queue, exint max_points, float max_dist_squared) const noexcept |
|
template<uint NAXES>
class GEO::PointBVHT< NAXES >
Definition at line 357 of file GEO_BVH.h.