HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TS_MetaPrimitive Class Referenceabstract

#include <TS_Primitive.h>

+ Inheritance diagram for TS_MetaPrimitive:

Public Member Functions

 ~TS_MetaPrimitive () override
 
const TS_MetaPrimitiveisPrimitive () const override
 
TS_MetaPrimitiveisPrimitive () override
 
virtual void setWeight (float)
 
virtual float getWeight () const
 
const UT_BoundingBoxgetBBox () const
 
UT_Interval getBBox (UT_BoundingBox &) const override
 
virtual void setKernel (const TS_MetaKernel &)
 
virtual void transform (const UT_Matrix4 &)=0
 
void raySweepInit (const TS_Ray &ray, float clip, float &t0, float &t1) override
 
virtual void init ()=0
 
virtual void reset ()
 
TS_MetaExpressionprune (const UT_BoundingBox &, UT_Interval &) override
 
void setGeoPrimPtr (const GEO_Primitive *g)
 
const GEO_PrimitivegetGeoPrimPtr () const
 
float listDensity (const UT_Vector3 &p, UT_ValArray< TS_MetaPrimitive * > &) override
 
void getAllPrimitives (UT_Array< TS_MetaPrimitive * > &prims) override
 
int64 getMemoryUsage (bool inclusive) const override=0
 
- Public Member Functions inherited from TS_MetaExpression
 TS_MetaExpression ()
 
virtual ~TS_MetaExpression ()
 
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 grad (const UT_Vector3 &point, UT_Vector3 &grad) const =0
 
virtual void raySweepComplete ()
 
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 TS_MetaExpressionduplicate () const =0
 
virtual int setRay (const TS_Ray &ray)=0
 
virtual TS_SweepNodeallocSweepNode (const TS_Ray &ray)
 
virtual const TS_ExpressionListgetAllKids () const
 
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
 
virtual void setThreadNum (int thread_num)
 
virtual void countMemory (UT_MemoryCounter &counter, bool inclusive) 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

int myRayIndex
 
int myOctreeRayIndex
 
int myRenderSerial
 
- Public Attributes inherited from TS_MetaExpression
int myThreadNum
 

Protected Member Functions

 TS_MetaPrimitive ()
 
 TS_MetaPrimitive (const TS_MetaPrimitive *)
 
- 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...
 

Protected Attributes

float myWeight
 
TS_MetaKernel myKernel
 
- Protected Attributes inherited from TS_MetaExpression
TS_OctreemyOctree
 
UT_BoundingBox myBBox
 
int myRayIndex
 
int myOctreeRayIndex
 

Additional Inherited Members

- Static Public Member Functions inherited from TS_MetaExpression
static void setupThreads (int num_threads)
 

Detailed Description

Definition at line 22 of file TS_Primitive.h.

Constructor & Destructor Documentation

TS_MetaPrimitive::TS_MetaPrimitive ( )
protected
TS_MetaPrimitive::TS_MetaPrimitive ( const TS_MetaPrimitive )
protected
TS_MetaPrimitive::~TS_MetaPrimitive ( )
override

Member Function Documentation

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

Reimplemented from TS_MetaExpression.

const UT_BoundingBox& TS_MetaPrimitive::getBBox ( ) const
inline

Definition at line 34 of file TS_Primitive.h.

UT_Interval TS_MetaPrimitive::getBBox ( UT_BoundingBox ) const
overridevirtual

Implements TS_MetaExpression.

const GEO_Primitive* TS_MetaPrimitive::getGeoPrimPtr ( ) const
inline

Definition at line 51 of file TS_Primitive.h.

int64 TS_MetaPrimitive::getMemoryUsage ( bool  inclusive) const
overridepure virtual

Compute memory usage (including all shared memory) There's nothing to add at this level, and all subclasses need it, so it might as well be pure virtual. NOTE: Subclasses must add in TS_MetaExpression::getMemoryUsage(false).

Reimplemented from TS_MetaExpression.

Implemented in TS_MetaSuperQuadric, and TS_MetaEllipsoid.

virtual float TS_MetaPrimitive::getWeight ( ) const
virtual
virtual void TS_MetaPrimitive::init ( )
pure virtual

Implemented in TS_MetaSuperQuadric, and TS_MetaEllipsoid.

const TS_MetaPrimitive* TS_MetaPrimitive::isPrimitive ( ) const
overridevirtual

Reimplemented from TS_MetaExpression.

TS_MetaPrimitive* TS_MetaPrimitive::isPrimitive ( )
overridevirtual

Reimplemented from TS_MetaExpression.

float TS_MetaPrimitive::listDensity ( const UT_Vector3 p,
UT_ValArray< TS_MetaPrimitive * > &   
)
overridevirtual

Implements TS_MetaExpression.

TS_MetaExpression* TS_MetaPrimitive::prune ( const UT_BoundingBox ,
UT_Interval  
)
overridevirtual

Implements TS_MetaExpression.

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

Implements TS_MetaExpression.

virtual void TS_MetaPrimitive::reset ( )
virtual

Reimplemented in TS_MetaSuperQuadric, and TS_MetaEllipsoid.

void TS_MetaPrimitive::setGeoPrimPtr ( const GEO_Primitive g)
inline

Definition at line 49 of file TS_Primitive.h.

virtual void TS_MetaPrimitive::setKernel ( const TS_MetaKernel )
virtual
virtual void TS_MetaPrimitive::setWeight ( float  )
virtual
virtual void TS_MetaPrimitive::transform ( const UT_Matrix4 )
pure virtual

Implemented in TS_MetaSuperQuadric, and TS_MetaEllipsoid.

Member Data Documentation

TS_MetaKernel TS_MetaPrimitive::myKernel
protected

Definition at line 76 of file TS_Primitive.h.

int TS_MetaPrimitive::myOctreeRayIndex

Definition at line 58 of file TS_Primitive.h.

int TS_MetaPrimitive::myRayIndex

Definition at line 57 of file TS_Primitive.h.

int TS_MetaPrimitive::myRenderSerial

Definition at line 61 of file TS_Primitive.h.

float TS_MetaPrimitive::myWeight
protected

Definition at line 75 of file TS_Primitive.h.


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