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

#include <TS_Primitive.h>

+ Inheritance diagram for TS_MetaPrimitive:

Public Member Functions

virtual ~TS_MetaPrimitive ()
 
const TS_MetaPrimitiveisPrimitive () const
 
TS_MetaPrimitiveisPrimitive ()
 
virtual void setWeight (float)
 
virtual float getWeight () const
 
const UT_BoundingBoxgetBBox () const
 
UT_Interval getBBox (UT_BoundingBox &) const
 
virtual void setKernel (const TS_MetaKernel &)
 
virtual void transform (const UT_Matrix4 &)=0
 
virtual void raySweepInit (const TS_Ray &ray, float clip, float &t0, float &t1)
 
virtual void init ()=0
 
virtual void reset ()
 
virtual TS_MetaExpressionprune (const UT_BoundingBox &, UT_Interval &)
 
void setGeoPrimPtr (const GEO_Primitive *g)
 
const GEO_PrimitivegetGeoPrimPtr () const
 
virtual float listDensity (const UT_Vector3 &p, UT_ValArray< TS_MetaPrimitive * > &)
 
virtual void getAllPrimitives (UT_Array< TS_MetaPrimitive * > &prims)
 
virtual int64 getMemoryUsage (bool inclusive) const =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 threadNum)
 
virtual void countMemory (UT_MemoryCounter &counter, bool inclusive) const
 
- Public Member Functions inherited from UT_IntrusiveRefCounter< TS_MetaExpression >
SYS_FORCE_INLINE UT_IntrusiveRefCounter ()
 Default constructor: Sets counter to 0. More...
 
SYS_FORCE_INLINE UT_IntrusiveRefCounter (const UT_IntrusiveRefCounter &)
 Copy constructor: Sets counter to 0. More...
 
UT_IntrusiveRefCounteroperator= (const UT_IntrusiveRefCounter &)
 Assignment operator: Does not modify counter. More...
 
SYS_FORCE_INLINE uint32 use_count () const
 Return current counter. More...
 

Public Attributes

int rayIndex
 
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 weight
 
TS_MetaKernel kernel
 
- 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 numThreads)
 

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

Member Function Documentation

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

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
virtual

Implements TS_MetaExpression.

const GEO_Primitive* TS_MetaPrimitive::getGeoPrimPtr ( ) const
inline

Definition at line 46 of file TS_Primitive.h.

virtual int64 TS_MetaPrimitive::getMemoryUsage ( bool  inclusive) const
pure 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_MetaEllipsoid, and TS_MetaSuperQuadric.

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

Implemented in TS_MetaEllipsoid, and TS_MetaSuperQuadric.

const TS_MetaPrimitive* TS_MetaPrimitive::isPrimitive ( ) const
virtual

Reimplemented from TS_MetaExpression.

TS_MetaPrimitive* TS_MetaPrimitive::isPrimitive ( )
virtual

Reimplemented from TS_MetaExpression.

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

Implements TS_MetaExpression.

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

Implements TS_MetaExpression.

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

Implements TS_MetaExpression.

virtual void TS_MetaPrimitive::reset ( )
virtual

Reimplemented in TS_MetaEllipsoid, and TS_MetaSuperQuadric.

void TS_MetaPrimitive::setGeoPrimPtr ( const GEO_Primitive g)
inline

Definition at line 44 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_MetaEllipsoid, and TS_MetaSuperQuadric.

Member Data Documentation

TS_MetaKernel TS_MetaPrimitive::kernel
protected

Definition at line 67 of file TS_Primitive.h.

int TS_MetaPrimitive::myOctreeRayIndex

Definition at line 52 of file TS_Primitive.h.

int TS_MetaPrimitive::myRenderSerial

Definition at line 55 of file TS_Primitive.h.

int TS_MetaPrimitive::rayIndex

Definition at line 51 of file TS_Primitive.h.

float TS_MetaPrimitive::weight
protected

Definition at line 66 of file TS_Primitive.h.


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