#include <geometry.h>
Public Member Functions | |
BBox () | |
BBox (const Point &p) | |
BBox (const Point &p1, const Point &p2) | |
bool | Overlaps (const BBox &b) const |
bool | Inside (const Point &pt) const |
void | Expand (float delta) |
float | SurfaceArea () const |
float | Volume () const |
int | MaximumExtent () const |
const Point & | operator[] (int i) const |
Point & | operator[] (int i) |
Point | Lerp (float tx, float ty, float tz) const |
Vector | Offset (const Point &p) const |
void | BoundingSphere (Point *c, float *rad) const |
bool | IntersectP (const Ray &ray, float *hitt0=NULL, float *hitt1=NULL) const |
Public Attributes | |
Point | pMin |
Point | pMax |
Friends | |
BBox | Union (const BBox &b, const Point &p) |
BBox | Union (const BBox &b, const BBox &b2) |
Definition at line 358 of file geometry.h.
BBox::BBox | ( | ) | [inline] |
Definition at line 361 of file geometry.h.
BBox::BBox | ( | const Point & | p | ) | [inline] |
Definition at line 365 of file geometry.h.
void BBox::BoundingSphere | ( | Point * | c, | |
float * | rad | |||
) | const |
Definition at line 54 of file geometry.cpp.
References Distance(), Inside(), pMax, and pMin.
Referenced by InfiniteAreaLight::Power(), DistantLight::Power(), SurfacePointsRenderer::Render(), CreateRadianceProbes::Render(), InfiniteAreaLight::Sample_L(), and DistantLight::Sample_L().
void BBox::Expand | ( | float | delta | ) | [inline] |
Definition at line 383 of file geometry.h.
Referenced by IrradianceCacheIntegrator::indirectLo(), SurfacePointsRenderer::Render(), and AggregateTest::Render().
bool BBox::Inside | ( | const Point & | pt | ) | const [inline] |
Definition at line 378 of file geometry.h.
References pMax, pMin, Point::x, Point::y, and Point::z.
Referenced by BoundingSphere(), VolumeGridDensity::Density(), ExponentialDensity::Density(), GridAccel::Intersect(), GridAccel::IntersectP(), Octree< SurfacePoint >::Lookup(), HomogeneousVolumeDensity::Lve(), SubsurfaceOctreeNode::Mo(), HomogeneousVolumeDensity::p(), HomogeneousVolumeDensity::sigma_a(), HomogeneousVolumeDensity::sigma_s(), and HomogeneousVolumeDensity::sigma_t().
bool BBox::IntersectP | ( | const Ray & | ray, | |
float * | hitt0 = NULL , |
|||
float * | hitt1 = NULL | |||
) | const |
Definition at line 60 of file geometry.cpp.
References Ray::d, Ray::maxt, Ray::mint, Ray::o, pMax, and pMin.
Referenced by KdTreeAccel::Intersect(), GridAccel::Intersect(), VolumeGridDensity::IntersectP(), KdTreeAccel::IntersectP(), HomogeneousVolumeDensity::IntersectP(), GridAccel::IntersectP(), and ExponentialDensity::IntersectP().
Point BBox::Lerp | ( | float | tx, | |
float | ty, | |||
float | tz | |||
) | const [inline] |
Definition at line 406 of file geometry.h.
References pMax, pMin, Point::x, Point::y, and Point::z.
Referenced by CreateRadProbeTask::Run().
int BBox::MaximumExtent | ( | ) | const [inline] |
Definition at line 395 of file geometry.h.
References pMax, pMin, Vector::x, Vector::y, and Vector::z.
Referenced by KdTreeAccel::buildTree(), GridAccel::GridAccel(), KdTree< NodeData >::recursiveBuild(), BVHAccel::recursiveBuild(), and AggregateTest::Render().
Definition at line 410 of file geometry.h.
References pMax, pMin, Point::x, Point::y, and Point::z.
Referenced by VolumeGridDensity::Density(), and UseRadianceProbes::Li().
Point & BBox::operator[] | ( | int | i | ) | [inline] |
Definition at line 585 of file geometry.h.
const Point & BBox::operator[] | ( | int | i | ) | const [inline] |
Definition at line 578 of file geometry.h.
bool BBox::Overlaps | ( | const BBox & | b | ) | const [inline] |
float BBox::SurfaceArea | ( | ) | const [inline] |
Definition at line 387 of file geometry.h.
References pMax, pMin, Vector::x, Vector::y, and Vector::z.
Referenced by KdTreeAccel::buildTree(), and BVHAccel::recursiveBuild().
float BBox::Volume | ( | ) | const [inline] |
Definition at line 391 of file geometry.h.
References pMax, pMin, Vector::x, Vector::y, and Vector::z.
Referenced by SurfacePointsRenderer::Render().
Definition at line 42 of file geometry.cpp.
Definition at line 30 of file geometry.cpp.
Definition at line 419 of file geometry.h.
Referenced by Octree< SurfacePoint >::Add(), Octree< NodeData >::addPrivate(), BBox(), BoundingSphere(), KdTreeAccel::buildTree(), Expand(), GridAccel::GridAccel(), SubsurfaceOctreeNode::Insert(), Inside(), IntersectP(), Lerp(), Octree< NodeData >::lookupPrivate(), MaximumExtent(), SubsurfaceOctreeNode::Mo(), octreeChildBound(), Offset(), Transform::operator()(), CompareToBucket::operator()(), Overlaps(), IrradianceCacheIntegrator::Preprocess(), GlossyPRTIntegrator::Preprocess(), DiffusePRTIntegrator::Preprocess(), BVHAccel::recursiveBuild(), CreateRadianceProbes::Render(), AggregateTest::Render(), SurfaceArea(), Union(), UseRadianceProbes::UseRadianceProbes(), and Volume().
Definition at line 419 of file geometry.h.
Referenced by Octree< SurfacePoint >::Add(), Octree< NodeData >::addPrivate(), BBox(), BoundingSphere(), KdTreeAccel::buildTree(), ExponentialDensity::Density(), Expand(), GridAccel::GridAccel(), SubsurfaceOctreeNode::Insert(), Inside(), IntersectP(), Lerp(), Octree< NodeData >::lookupPrivate(), MaximumExtent(), SubsurfaceOctreeNode::Mo(), octreeChildBound(), Offset(), Transform::operator()(), CompareToBucket::operator()(), operator[](), Overlaps(), GridAccel::posToVoxel(), IrradianceCacheIntegrator::Preprocess(), GlossyPRTIntegrator::Preprocess(), DiffusePRTIntegrator::Preprocess(), BVHAccel::recursiveBuild(), CreateRadianceProbes::Render(), AggregateTest::Render(), SurfaceArea(), Union(), UseRadianceProbes::UseRadianceProbes(), Volume(), and GridAccel::voxelToPos().