lux::UnsafeKdTreeAccel Class Reference

#include <unsafekdtreeaccel.h>

Inheritance diagram for lux::UnsafeKdTreeAccel:

lux::Aggregate lux::Primitive

List of all members.

Public Member Functions

 UnsafeKdTreeAccel (const vector< Primitive * > &p, int icost, int scost, float ebonus, int maxp, int maxDepth)
BBox WorldBound () const
bool CanIntersect () const
 ~UnsafeKdTreeAccel ()
void buildTree (int nodeNum, const BBox &bounds, const vector< BBox > &primBounds, int *primNums, int nprims, int depth, UnsafeBoundEdge *edges[3], int *prims0, int *prims1, int badRefines=0)
bool Intersect (const Ray &ray, Intersection *isect) const
bool IntersectP (const Ray &ray) const

Static Public Member Functions

static PrimitiveCreateAccelerator (const vector< Primitive * > &prims, const ParamSet &ps)

Private Attributes

BBox bounds
int isectCost
int traversalCost
int maxPrims
float emptyBonus
u_int nMailboxes
MailboxPrimmailboxPrims
int curMailboxId
UnsafeKdAccelNodenodes
int nAllocedNodes
int nextFreeNode
MemoryArena arena


Detailed Description

Definition at line 118 of file unsafekdtreeaccel.h.


Constructor & Destructor Documentation

UnsafeKdTreeAccel::UnsafeKdTreeAccel ( const vector< Primitive * > &  p,
int  icost,
int  scost,
float  ebonus,
int  maxp,
int  maxDepth 
)

UnsafeKdTreeAccel::~UnsafeKdTreeAccel (  ) 

Definition at line 81 of file unsafekdtree.cpp.

References lux::FreeAligned(), mailboxPrims, nMailboxes, and nodes.


Member Function Documentation

void UnsafeKdTreeAccel::buildTree ( int  nodeNum,
const BBox bounds,
const vector< BBox > &  primBounds,
int *  primNums,
int  nprims,
int  depth,
UnsafeBoundEdge edges[3],
int *  prims0,
int *  prims1,
int  badRefines = 0 
)

bool lux::UnsafeKdTreeAccel::CanIntersect (  )  const [inline, virtual]

Reimplemented from lux::Primitive.

Definition at line 125 of file unsafekdtreeaccel.h.

Primitive * UnsafeKdTreeAccel::CreateAccelerator ( const vector< Primitive * > &  prims,
const ParamSet ps 
) [static]

bool UnsafeKdTreeAccel::Intersect ( const Ray ray,
Intersection isect 
) const [virtual]

bool UnsafeKdTreeAccel::IntersectP ( const Ray ray  )  const [virtual]

BBox lux::UnsafeKdTreeAccel::WorldBound (  )  const [inline, virtual]

Implements lux::Primitive.

Definition at line 124 of file unsafekdtreeaccel.h.

References bounds.


Member Data Documentation

Definition at line 150 of file unsafekdtreeaccel.h.

Referenced by buildTree().

Definition at line 141 of file unsafekdtreeaccel.h.

Referenced by Intersect(), IntersectP(), UnsafeKdTreeAccel(), and WorldBound().

int lux::UnsafeKdTreeAccel::curMailboxId [mutable, private]

Definition at line 146 of file unsafekdtreeaccel.h.

Referenced by Intersect(), IntersectP(), and UnsafeKdTreeAccel().

Definition at line 143 of file unsafekdtreeaccel.h.

Referenced by buildTree(), and CreateAccelerator().

Definition at line 142 of file unsafekdtreeaccel.h.

Referenced by buildTree(), and CreateAccelerator().

Definition at line 145 of file unsafekdtreeaccel.h.

Referenced by buildTree(), UnsafeKdTreeAccel(), and ~UnsafeKdTreeAccel().

Definition at line 142 of file unsafekdtreeaccel.h.

Referenced by buildTree(), and CreateAccelerator().

Definition at line 148 of file unsafekdtreeaccel.h.

Referenced by buildTree(), and UnsafeKdTreeAccel().

Definition at line 148 of file unsafekdtreeaccel.h.

Referenced by buildTree(), and UnsafeKdTreeAccel().

Definition at line 144 of file unsafekdtreeaccel.h.

Referenced by UnsafeKdTreeAccel(), and ~UnsafeKdTreeAccel().

Definition at line 147 of file unsafekdtreeaccel.h.

Referenced by buildTree(), Intersect(), IntersectP(), and ~UnsafeKdTreeAccel().

Definition at line 142 of file unsafekdtreeaccel.h.

Referenced by buildTree().


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

Generated on Fri Jul 24 11:46:57 2009 for lux by  doxygen 1.5.9