#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().
1.6.3