#include <primitive.h>
Public Member Functions | |
InstancePrimitive (Reference< Primitive > &i, const Transform &i2w) | |
bool | Intersect (const Ray &r, Intersection *in) const |
bool | IntersectP (const Ray &r) const |
const AreaLight * | GetAreaLight () const |
BSDF * | GetBSDF (const DifferentialGeometry &dg, const Transform &WorldToObject) const |
BBox | WorldBound () const |
Private Attributes | |
Reference< Primitive > | instance |
Transform | InstanceToWorld |
Transform | WorldToInstance |
Definition at line 78 of file primitive.h.
bool InstancePrimitive::Intersect | ( | const Ray & | r, | |
Intersection * | in | |||
) | const [virtual] |
Implements Primitive.
Definition at line 66 of file primitive.cpp.
References Intersection::dg, DifferentialGeometry::dndu, DifferentialGeometry::dndv, DifferentialGeometry::dpdu, DifferentialGeometry::dpdv, instance, InstanceToWorld, Ray::maxt, DifferentialGeometry::nn, Normalize(), DifferentialGeometry::p, WorldToInstance, and Intersection::WorldToObject.
bool InstancePrimitive::IntersectP | ( | const Ray & | r | ) | const [virtual] |
Implements Primitive.
Definition at line 83 of file primitive.cpp.
References instance, and WorldToInstance.
const AreaLight* InstancePrimitive::GetAreaLight | ( | ) | const [inline, virtual] |
BSDF* InstancePrimitive::GetBSDF | ( | const DifferentialGeometry & | dg, | |
const Transform & | WorldToObject | |||
) | const [inline, virtual] |
BBox InstancePrimitive::WorldBound | ( | ) | const [inline, virtual] |
Reference<Primitive> InstancePrimitive::instance [private] |
Transform InstancePrimitive::InstanceToWorld [private] |
Transform InstancePrimitive::WorldToInstance [private] |