Primitive Class Reference

#include <primitive.h>

Inheritance diagram for Primitive:
ReferenceCounted Aggregate GeometricPrimitive TransformedPrimitive BVHAccel GridAccel KdTreeAccel

List of all members.

Public Member Functions

 Primitive ()
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< Reference< Primitive > > &refined) const
void FullyRefine (vector< Reference< Primitive > > &refined) const
virtual const AreaLightGetAreaLight () const =0
virtual BSDFGetBSDF (const DifferentialGeometry &dg, const Transform &ObjectToWorld, MemoryArena &arena) const =0
virtual BSSRDFGetBSSRDF (const DifferentialGeometry &dg, const Transform &ObjectToWorld, MemoryArena &arena) const =0

Public Attributes

const uint32_t primitiveId

Static Protected Attributes

static uint32_t nextprimitiveId = 1

Detailed Description

Definition at line 37 of file primitive.h.


Constructor & Destructor Documentation

Primitive::Primitive (  )  [inline]

Definition at line 40 of file primitive.h.

Primitive::~Primitive (  )  [virtual]

Definition at line 33 of file primitive.cpp.


Member Function Documentation

bool Primitive::CanIntersect (  )  const [virtual]

Reimplemented in BVHAccel, GridAccel, KdTreeAccel, and GeometricPrimitive.

Definition at line 35 of file primitive.cpp.

void Primitive::FullyRefine ( vector< Reference< Primitive > > &  refined  )  const
virtual const AreaLight* Primitive::GetAreaLight (  )  const [pure virtual]
virtual BSDF* Primitive::GetBSDF ( const DifferentialGeometry dg,
const Transform ObjectToWorld,
MemoryArena arena 
) const [pure virtual]
virtual BSSRDF* Primitive::GetBSSRDF ( const DifferentialGeometry dg,
const Transform ObjectToWorld,
MemoryArena arena 
) const [pure virtual]
virtual bool Primitive::Intersect ( const Ray r,
Intersection in 
) const [pure virtual]
virtual bool Primitive::IntersectP ( const Ray r  )  const [pure virtual]
void Primitive::Refine ( vector< Reference< Primitive > > &  refined  )  const [virtual]

Reimplemented in GeometricPrimitive.

Definition at line 41 of file primitive.cpp.

References Severe().

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

Member Data Documentation

uint32_t Primitive::nextprimitiveId = 1 [static, protected]

Definition at line 58 of file primitive.h.

const uint32_t Primitive::primitiveId

Definition at line 55 of file primitive.h.

Referenced by GeometricPrimitive::Intersect(), and TransformedPrimitive::Intersect().


The documentation for this class was generated from the following files:
Generated on Sat Aug 28 20:00:14 2010 for pbrt by  doxygen 1.6.3