lux::Primitive Class Reference

#include <primitive.h>

Inheritance diagram for lux::Primitive:

lux::Aggregate lux::GeometricPrimitive lux::InstancePrimitive lux::BruteForceAccel lux::GridAccel lux::TaBRecKdTreeAccel lux::UnsafeKdTreeAccel

List of all members.

Public Member Functions

virtual ~Primitive ()
virtual BBox WorldBound () const =0
virtual bool CanIntersect () const
virtual bool Intersect (const Ray &r, Intersection *in) const =0
virtual bool IntersectP (const Ray &r) const =0
virtual void Refine (vector< Primitive * > &refined) const
void FullyRefine (vector< Primitive * > &refined) const
virtual const AreaLightGetAreaLight () const =0
virtual BSDFGetBSDF (const DifferentialGeometry &dg, const Transform &WorldToObject, float u) const =0


Detailed Description

Definition at line 34 of file primitive.h.


Constructor & Destructor Documentation

Primitive::~Primitive (  )  [virtual]

Definition at line 31 of file primitive.cpp.


Member Function Documentation

bool Primitive::CanIntersect (  )  const [virtual]

void Primitive::FullyRefine ( vector< Primitive * > &  refined  )  const

virtual const AreaLight* lux::Primitive::GetAreaLight (  )  const [pure virtual]

virtual BSDF* lux::Primitive::GetBSDF ( const DifferentialGeometry dg,
const Transform WorldToObject,
float  u 
) const [pure virtual]

virtual bool lux::Primitive::Intersect ( const Ray r,
Intersection in 
) const [pure virtual]

virtual bool lux::Primitive::IntersectP ( const Ray r  )  const [pure virtual]

void Primitive::Refine ( vector< Primitive * > &  refined  )  const [virtual]

Reimplemented in lux::GeometricPrimitive.

Definition at line 38 of file primitive.cpp.

References LUX_BUG, LUX_SEVERE, and luxError.

Referenced by FullyRefine().

virtual BBox lux::Primitive::WorldBound (  )  const [pure virtual]


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

Generated on Mon May 18 07:16:39 2009 for lux by  doxygen 1.5.8