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