HDK
 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
 
TS_SweepNodemyActive
 
TS_SweepNodemyQueue
 
- 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
TS_OctreemyOctree
 
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 ( )
override

Member Function Documentation

virtual void TS_MetaOp::append ( const TS_MetaExpressionPtr arg)
virtual

Reimplemented in TS_MetaMin.

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

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)
protected
const TS_ExpressionList* TS_MetaOp::getAllKids ( ) const
overridevirtual

Reimplemented from TS_MetaExpression.

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

Reimplemented from TS_MetaExpression.

int64 TS_MetaOp::getMemoryUsage ( bool  inclusive) const
overridevirtual

Compute memory usage (includes all shared memory)

Reimplemented from TS_MetaExpression.

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

Reimplemented from TS_MetaExpression.

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

Implements TS_MetaExpression.

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

Implements TS_MetaExpression.

void TS_MetaOp::setThreadNum ( int  thread_num)
overridevirtual

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: