All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TS_MetaOp Class Reference

#include <TS_Expression.h>

+ Inheritance diagram for TS_MetaOp:

Public Member Functions

 TS_MetaOp (int n)
 ~TS_MetaOp () override
virtual void append (const TS_MetaExpressionPtr &arg)
const TS_ExpressionListgetAllKids () const override
int setRay (const TS_Ray &ray) override
void raySweepInit (const TS_Ray &ray, float clip, float &t0, float &t1) override
void raySweepComplete () override
void getAllPrimitives (UT_Array< TS_MetaPrimitive * > &prims) override
void setThreadNum (int thread_num) override
void reset ()
int64 getMemoryUsage (bool inclusive) const override
 Compute memory usage (includes all shared memory) More...
void countMemory (UT_MemoryCounter &counter, bool inclusive) const override
void initSweepList (const TS_Ray &ray)
- Public Member Functions inherited from TS_MetaExpression
 TS_MetaExpression ()
virtual ~TS_MetaExpression ()
virtual const TS_MetaPrimitiveisPrimitive () const
virtual TS_MetaPrimitiveisPrimitive ()
virtual TS_MetaSumisSum ()
virtual TS_MetaMinisMin ()
virtual TS_MetaMaxisMax ()
virtual float density (const UT_Vector3 &p) const =0
virtual UT_Interval density (const UT_BoundingBox &p) const =0
virtual float listDensity (const UT_Vector3 &p, UT_ValArray< TS_MetaPrimitive * > &)=0
virtual float grad (const UT_Vector3 &point, UT_Vector3 &grad) const =0
virtual float rayDensity (float t) const =0
virtual UT_Interval rayDensity (const UT_Interval &t) const =0
virtual int rayIntersect (const TS_Ray &ray, const UT_Interval &start, float &result, float tol=-1.0f)
virtual int rayIntersect (const TS_Ray &ray, const UT_Interval &start, UT_FloatArray &result, float tol=-1.0f)
const UT_BoundingBoxgetBBox () const
virtual UT_Interval getBBox (UT_BoundingBox &) const =0
virtual TS_MetaExpressionprune (const UT_BoundingBox &, UT_Interval &range)=0
virtual TS_MetaExpressionduplicate () const =0
virtual TS_SweepNodeallocSweepNode (const TS_Ray &ray)
const TS_ExpressionListgetCellPrimitives (const UT_Vector3 &pos)
TS_OctreegetOctree ()
void setOctreeIndex (int idx)
int getOctreeIndex () const
virtual int getRibOpcode () const
virtual TS_SerialOp getOpCode () const
 Return the serialization operation. More...
int getThreadNum () const
- Public Member Functions inherited from UT_IntrusiveRefCounter< TS_MetaExpression >
SYS_FORCE_INLINE UT_IntrusiveRefCounter () noexcept
 Default constructor: Sets counter to 0. More...
SYS_FORCE_INLINE UT_IntrusiveRefCounter (const UT_IntrusiveRefCounter &) noexcept
 Copy constructor: Sets counter to 0. More...
UT_IntrusiveRefCounteroperator= (const UT_IntrusiveRefCounter &) noexcept
 Assignment operator: Does not modify counter. More...
SYS_FORCE_INLINE uint32 use_count () const noexcept
 Return current counter. More...
SYS_FORCE_INLINE bool conditionalAddRef () noexcept

Public Attributes

TS_ExpressionList myArray
- Public Attributes inherited from TS_MetaExpression
int myThreadNum

Protected Member Functions

void freeList (ts_PrimNode *list_start)
void clearAndDestroy ()
- Protected Member Functions inherited from TS_MetaExpression
void clearOctree ()
virtual void buildOctree ()
- Protected Member Functions inherited from UT_IntrusiveRefCounter< TS_MetaExpression >
SYS_FORCE_INLINE ~UT_IntrusiveRefCounter ()
 Destructor: Only derived classes can destruct this. More...

Additional Inherited Members

- Static Public Member Functions inherited from TS_MetaExpression
static void setupThreads (int num_threads)
- Protected Attributes inherited from TS_MetaExpression
UT_BoundingBox myBBox
int myRayIndex
int myOctreeRayIndex

Detailed Description

Definition at line 192 of file TS_Expression.h.

Constructor & Destructor Documentation

TS_MetaOp::TS_MetaOp ( int  n)
TS_MetaOp::~TS_MetaOp ( )

Member Function Documentation

virtual void TS_MetaOp::append ( const TS_MetaExpressionPtr arg)

Reimplemented in TS_MetaMin.

void TS_MetaOp::clearAndDestroy ( )
void TS_MetaOp::countMemory ( UT_MemoryCounter counter,
bool  inclusive 
) const

Count memory usage using a UT_MemoryCounter in order to count shared memory correctly. If inclusive is true, the size of this object is counted, else only memory owned by this object is counted. If this is pointed to by the calling object, inclusive should be true. If this is contained in the calling object, inclusive should be false. (Its memory was already counted in the size of the calling object.)

Reimplemented from TS_MetaExpression.

void TS_MetaOp::freeList ( ts_PrimNode *  list_start)
const TS_ExpressionList* TS_MetaOp::getAllKids ( ) const

Reimplemented from TS_MetaExpression.

void TS_MetaOp::getAllPrimitives ( UT_Array< TS_MetaPrimitive * > &  prims)

Reimplemented from TS_MetaExpression.

int64 TS_MetaOp::getMemoryUsage ( bool  inclusive) const

Compute memory usage (includes all shared memory)

Reimplemented from TS_MetaExpression.

void TS_MetaOp::initSweepList ( const TS_Ray ray)
void TS_MetaOp::raySweepComplete ( )

Reimplemented from TS_MetaExpression.

void TS_MetaOp::raySweepInit ( const TS_Ray ray,
float  clip,
float t0,
float t1 

Implements TS_MetaExpression.

void TS_MetaOp::reset ( )
int TS_MetaOp::setRay ( const TS_Ray ray)

Implements TS_MetaExpression.

void TS_MetaOp::setThreadNum ( int  thread_num)

Reimplemented from TS_MetaExpression.

Member Data Documentation

TS_SweepNode* TS_MetaOp::myActive

Definition at line 235 of file TS_Expression.h.

TS_ExpressionList TS_MetaOp::myArray

Definition at line 234 of file TS_Expression.h.

TS_SweepNode* TS_MetaOp::myQueue

Definition at line 236 of file TS_Expression.h.

The documentation for this class was generated from the following file: