19 #ifndef _TS_Expression_h_
20 #define _TS_Expression_h_
89 virtual float density(
const UT_Vector3 &p)
const = 0;
100 virtual void raySweepInit(
const TS_Ray &ray,
float clip,
101 float &t0,
float &t1) = 0;
102 virtual void raySweepComplete();
104 virtual float rayDensity(
float t)
const = 0;
107 virtual int rayIntersect(
const TS_Ray &ray,
111 virtual int rayIntersect(
const TS_Ray &ray,
124 virtual int setRay(
const TS_Ray &ray) = 0;
154 { myThreadNum = thread_num; }
159 static void setupThreads(
int num_threads);
162 virtual int64 getMemoryUsage(
bool inclusive)
const;
182 virtual void buildOctree();
204 float clip,
float &t0,
float &t1)
override;
230 bool inclusive)
const override;
233 void initSweepList(
const TS_Ray &ray);
240 void freeList(ts_PrimNode *list_start);
241 void clearAndDestroy();
334 #define TS_MetaPotentialThreshold 1.0F
336 #endif // _TS_Expression_h_
UT_IntrusivePtr< TS_MetaExpression > TS_MetaExpressionPtr
**But if you need a result
A reference counter base class for use with UT_IntrusivePtr.
auto arg(const Char *name, const T &arg) -> detail::named_arg< Char, T >
IMATH_NAMESPACE::V2f float
UT_Array< TS_MetaExpressionPtr > TS_ExpressionList
UT_Array< TS_SweepNode * > TS_SweepList
UT_IntervalT< float > UT_Interval
IMATH_INTERNAL_NAMESPACE_HEADER_ENTER IMATH_HOSTDEVICE IMATH_CONSTEXPR14 T clip(const T &p, const Box< T > &box) IMATH_NOEXCEPT