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
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 ( )
TS_MetaPrimitive::TS_MetaPrimitive ( const TS_MetaPrimitive )
TS_MetaPrimitive::~TS_MetaPrimitive ( )

Member Function Documentation

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

Reimplemented from TS_MetaExpression.

const UT_BoundingBox& TS_MetaPrimitive::getBBox ( ) const

Definition at line 34 of file TS_Primitive.h.

UT_Interval TS_MetaPrimitive::getBBox ( UT_BoundingBox ) const

Implements TS_MetaExpression.

const GEO_Primitive* TS_MetaPrimitive::getGeoPrimPtr ( ) const

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 void TS_MetaPrimitive::init ( )
pure virtual

Implemented in TS_MetaSuperQuadric, and TS_MetaEllipsoid.

const TS_MetaPrimitive* TS_MetaPrimitive::isPrimitive ( ) const

Reimplemented from TS_MetaExpression.

TS_MetaPrimitive* TS_MetaPrimitive::isPrimitive ( )

Reimplemented from TS_MetaExpression.

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

Implements TS_MetaExpression.

TS_MetaExpression* TS_MetaPrimitive::prune ( const UT_BoundingBox ,

Implements TS_MetaExpression.

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

Implements TS_MetaExpression.

virtual void TS_MetaPrimitive::reset ( )

Reimplemented in TS_MetaSuperQuadric, and TS_MetaEllipsoid.

void TS_MetaPrimitive::setGeoPrimPtr ( const GEO_Primitive g)

Definition at line 49 of file TS_Primitive.h.

virtual void TS_MetaPrimitive::setKernel ( const TS_MetaKernel )
virtual void TS_MetaPrimitive::setWeight ( float  )
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

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

Definition at line 75 of file TS_Primitive.h.

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