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 >
 
UT_Array< TS_MetaExpressionPtr > TS_ExpressionList
 
UT_Array< TS_SweepNode * > TS_SweepList
 
IMATH_NAMESPACE::V2f IMATH_NAMESPACE::Box2i std::string this attribute is obsolete as of OpenEXR v3 float
 
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