lux::GeometricPrimitive Class Reference

#include <primitive.h>

Inheritance diagram for lux::GeometricPrimitive:

lux::Primitive

List of all members.

Public Member Functions

bool CanIntersect () const
void Refine (vector< Primitive * > &refined) const
virtual BBox WorldBound () const
virtual bool Intersect (const Ray &r, Intersection *isect) const
virtual bool IntersectP (const Ray &r) const
 GeometricPrimitive (const boost::shared_ptr< Shape > &s, const boost::shared_ptr< Material > &m, AreaLight *a)
const AreaLightGetAreaLight () const
BSDFGetBSDF (const DifferentialGeometry &dg, const Transform &WorldToObject, float u) const

Private Attributes

boost::shared_ptr< Shapeshape
boost::shared_ptr< Materialmaterial
AreaLightareaLight


Detailed Description

Definition at line 65 of file primitive.h.


Constructor & Destructor Documentation

GeometricPrimitive::GeometricPrimitive ( const boost::shared_ptr< Shape > &  s,
const boost::shared_ptr< Material > &  m,
AreaLight a 
)

Definition at line 139 of file primitive.cpp.

Referenced by Refine().


Member Function Documentation

bool GeometricPrimitive::CanIntersect (  )  const [virtual]

Reimplemented from lux::Primitive.

Definition at line 121 of file primitive.cpp.

References shape.

const AreaLight * GeometricPrimitive::GetAreaLight (  )  const [virtual]

Implements lux::Primitive.

Definition at line 153 of file primitive.cpp.

References areaLight.

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

Implements lux::Primitive.

Definition at line 157 of file primitive.cpp.

References lux::Transform::GetInverse(), material, and shape.

bool GeometricPrimitive::Intersect ( const Ray r,
Intersection isect 
) const [virtual]

bool GeometricPrimitive::IntersectP ( const Ray r  )  const [virtual]

Implements lux::Primitive.

Definition at line 118 of file primitive.cpp.

References shape.

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

Reimplemented from lux::Primitive.

Definition at line 125 of file primitive.cpp.

References areaLight, GeometricPrimitive(), material, and shape.

BBox GeometricPrimitive::WorldBound (  )  const [virtual]

Implements lux::Primitive.

Definition at line 115 of file primitive.cpp.

References shape.


Member Data Documentation

Definition at line 84 of file primitive.h.

Referenced by GetAreaLight(), and Refine().

boost::shared_ptr<Material> lux::GeometricPrimitive::material [private]

Definition at line 83 of file primitive.h.

Referenced by GetBSDF(), and Refine().

boost::shared_ptr<Shape> lux::GeometricPrimitive::shape [private]

Definition at line 82 of file primitive.h.

Referenced by CanIntersect(), GetBSDF(), Intersect(), IntersectP(), Refine(), and WorldBound().


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

Generated on Mon May 18 07:13:51 2009 for lux by  doxygen 1.5.8