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

Member Function Documentation

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

Implemented in TS_MetaEllipsoid, and TS_MetaSuperQuadric.

const TS_MetaPrimitive* TS_MetaPrimitive::isPrimitive ( ) const

Reimplemented from TS_MetaExpression.

TS_MetaPrimitive* TS_MetaPrimitive::isPrimitive ( )

Reimplemented from TS_MetaExpression.

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

Implements TS_MetaExpression.

virtual TS_MetaExpression* TS_MetaPrimitive::prune ( const UT_BoundingBox ,

Implements TS_MetaExpression.

virtual 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_MetaEllipsoid, and TS_MetaSuperQuadric.

void TS_MetaPrimitive::setGeoPrimPtr ( const GEO_Primitive g)

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

Member Data Documentation

TS_MetaKernel TS_MetaPrimitive::kernel

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

Definition at line 66 of file TS_Primitive.h.

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