#include <primitive.h>
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 AreaLight * | GetAreaLight () const =0 |
virtual BSDF * | GetBSDF (const DifferentialGeometry &dg, const Transform &ObjectToWorld, MemoryArena &arena) const =0 |
virtual BSSRDF * | GetBSSRDF (const DifferentialGeometry &dg, const Transform &ObjectToWorld, MemoryArena &arena) const =0 |
Public Attributes | |
const uint32_t | primitiveId |
Static Protected Attributes | |
static uint32_t | nextprimitiveId = 1 |
Definition at line 37 of file primitive.h.
Primitive::Primitive | ( | ) | [inline] |
Definition at line 40 of file primitive.h.
Primitive::~Primitive | ( | ) | [virtual] |
Definition at line 33 of file primitive.cpp.
bool Primitive::CanIntersect | ( | ) | const [virtual] |
Reimplemented in BVHAccel, GridAccel, KdTreeAccel, and GeometricPrimitive.
Definition at line 35 of file primitive.cpp.
Definition at line 47 of file primitive.cpp.
Referenced by BVHAccel::BVHAccel(), GridAccel::GridAccel(), and KdTreeAccel::KdTreeAccel().
virtual const AreaLight* Primitive::GetAreaLight | ( | ) | const [pure virtual] |
Implemented in GeometricPrimitive, TransformedPrimitive, and Aggregate.
Referenced by EstimateDirect(), and Intersection::Le().
virtual BSDF* Primitive::GetBSDF | ( | const DifferentialGeometry & | dg, | |
const Transform & | ObjectToWorld, | |||
MemoryArena & | arena | |||
) | const [pure virtual] |
Implemented in GeometricPrimitive, TransformedPrimitive, and Aggregate.
Referenced by Intersection::GetBSDF().
virtual BSSRDF* Primitive::GetBSSRDF | ( | const DifferentialGeometry & | dg, | |
const Transform & | ObjectToWorld, | |||
MemoryArena & | arena | |||
) | const [pure virtual] |
Implemented in GeometricPrimitive, TransformedPrimitive, and Aggregate.
Referenced by Intersection::GetBSSRDF().
virtual bool Primitive::Intersect | ( | const Ray & | r, | |
Intersection * | in | |||
) | const [pure virtual] |
Implemented in BVHAccel, GridAccel, KdTreeAccel, GeometricPrimitive, and TransformedPrimitive.
Referenced by Scene::Intersect().
virtual bool Primitive::IntersectP | ( | const Ray & | r | ) | const [pure virtual] |
Implemented in BVHAccel, GridAccel, KdTreeAccel, GeometricPrimitive, and TransformedPrimitive.
Referenced by Scene::IntersectP().
Reimplemented in GeometricPrimitive.
Definition at line 41 of file primitive.cpp.
References Severe().
virtual BBox Primitive::WorldBound | ( | ) | const [pure virtual] |
Implemented in BVHAccel, GridAccel, KdTreeAccel, GeometricPrimitive, and TransformedPrimitive.
Referenced by Scene::Scene().
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().