#include <primitive.h>
Public Member Functions | |
bool | CanIntersect () const |
void | Refine (vector< Reference< 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 Reference< Shape > &s, const Reference< Material > &m, AreaLight *a) | |
const AreaLight * | GetAreaLight () const |
BSDF * | GetBSDF (const DifferentialGeometry &dg, const Transform &ObjectToWorld, MemoryArena &arena) const |
BSSRDF * | GetBSSRDF (const DifferentialGeometry &dg, const Transform &ObjectToWorld, MemoryArena &arena) const |
Private Attributes | |
Reference< Shape > | shape |
Reference< Material > | material |
AreaLight * | areaLight |
Definition at line 64 of file primitive.h.
GeometricPrimitive::GeometricPrimitive | ( | const Reference< Shape > & | s, | |
const Reference< Material > & | m, | |||
AreaLight * | a | |||
) |
Definition at line 149 of file primitive.cpp.
Referenced by Refine().
bool GeometricPrimitive::CanIntersect | ( | ) | const [virtual] |
const AreaLight * GeometricPrimitive::GetAreaLight | ( | ) | const [virtual] |
BSDF * GeometricPrimitive::GetBSDF | ( | const DifferentialGeometry & | dg, | |
const Transform & | ObjectToWorld, | |||
MemoryArena & | arena | |||
) | const [virtual] |
BSSRDF * GeometricPrimitive::GetBSSRDF | ( | const DifferentialGeometry & | dg, | |
const Transform & | ObjectToWorld, | |||
MemoryArena & | arena | |||
) | const [virtual] |
bool GeometricPrimitive::Intersect | ( | const Ray & | r, | |
Intersection * | isect | |||
) | const [virtual] |
Implements Primitive.
Definition at line 155 of file primitive.cpp.
References Intersection::dg, Ray::maxt, Intersection::ObjectToWorld, Intersection::primitive, Primitive::primitiveId, Intersection::primitiveId, Intersection::rayEpsilon, shape, Intersection::shapeId, and Intersection::WorldToObject.
Referenced by SurfacePointTask::Run().
bool GeometricPrimitive::IntersectP | ( | const Ray & | r | ) | const [virtual] |
Reimplemented from Primitive.
Definition at line 137 of file primitive.cpp.
References areaLight, GeometricPrimitive(), material, and shape.
BBox GeometricPrimitive::WorldBound | ( | ) | const [virtual] |
AreaLight* GeometricPrimitive::areaLight [private] |
Definition at line 83 of file primitive.h.
Referenced by GetAreaLight(), and Refine().
Reference<Material> GeometricPrimitive::material [private] |
Definition at line 82 of file primitive.h.
Referenced by GetBSDF(), GetBSSRDF(), and Refine().
Reference<Shape> GeometricPrimitive::shape [private] |
Definition at line 81 of file primitive.h.
Referenced by CanIntersect(), GetBSDF(), GetBSSRDF(), Intersect(), IntersectP(), Refine(), and WorldBound().