#include <bbox.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 (const float delta) |
| float | Volume () const |
| float | SurfaceArea () const |
| int | MaximumExtent () const |
| void | BoundingSphere (Point *c, float *rad) const |
| BSphere | BoundingSphere () const |
| bool | IntersectP (const Ray &ray, float *hitt0=NULL, float *hitt1=NULL) const |
Public Attributes | |
| Point | pMin |
| Point | pMax |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const BBox &b) |
| BBox | Union (const BBox &b, const Point &p) |
| BBox | Union (const BBox &b, const BBox &b2) |
Definition at line 32 of file bbox.h.
| luxrays::BBox::BBox | ( | ) | [inline] |
Definition at line 44 of file bbox.h.
References luxrays::Max(), luxrays::Min(), pMax, pMin, luxrays::Point::x, luxrays::Point::y, and luxrays::Point::z.
| BSphere luxrays::BBox::BoundingSphere | ( | ) | const |
| void luxrays::BBox::BoundingSphere | ( | Point * | c, | |
| float * | rad | |||
| ) | const |
Definition at line 50 of file bbox.cpp.
References luxrays::Distance(), Inside(), pMax, and pMin.
Referenced by luxrays::DataSet::Add().
| void luxrays::BBox::Expand | ( | const float | delta | ) | [inline] |
Definition at line 66 of file bbox.h.
Referenced by luxrays::QBVHAccel::Init(), luxrays::BVHAccel::Init(), and luxrays::MQBVHAccel::Update().
| bool luxrays::BBox::Inside | ( | const Point & | pt | ) | const [inline] |
Definition at line 60 of file bbox.h.
References pMax, pMin, luxrays::Point::x, luxrays::Point::y, and luxrays::Point::z.
Referenced by BoundingSphere().
| bool luxrays::BBox::IntersectP | ( | const Ray & | ray, | |
| float * | hitt0 = NULL, |
|||
| float * | hitt1 = NULL | |||
| ) | const |
Definition at line 67 of file bbox.cpp.
References luxrays::Ray::d, luxrays::Ray::maxt, luxrays::Ray::mint, luxrays::Ray::o, pMax, pMin, and luxrays::Swap().
| int luxrays::BBox::MaximumExtent | ( | ) | const [inline] |
Definition at line 81 of file bbox.h.
References pMax, pMin, luxrays::Vector::x, luxrays::Vector::y, and luxrays::Vector::z.
Referenced by luxrays::QBVHAccel::BuildTree(), and luxrays::MQBVHAccel::BuildTree().
| bool luxrays::BBox::Overlaps | ( | const BBox & | b | ) | const [inline] |
Definition at line 53 of file bbox.h.
References pMax, pMin, luxrays::Point::x, luxrays::Point::y, and luxrays::Point::z.
| float luxrays::BBox::SurfaceArea | ( | ) | const [inline] |
Definition at line 76 of file bbox.h.
References pMax, pMin, luxrays::Vector::x, luxrays::Vector::y, and luxrays::Vector::z.
Referenced by luxrays::QBVHAccel::BuildTree(), luxrays::MQBVHAccel::BuildTree(), and luxrays::BVHAccel::FindBestSplit().
| float luxrays::BBox::Volume | ( | ) | const [inline] |
Definition at line 71 of file bbox.h.
References pMax, pMin, luxrays::Vector::x, luxrays::Vector::y, and luxrays::Vector::z.
| std::ostream& operator<< | ( | std::ostream & | os, | |
| const BBox & | b | |||
| ) | [friend] |
Definition at line 102 of file bbox.h.
Referenced by BBox(), BoundingSphere(), luxrays::QBVHAccel::BuildTree(), luxrays::MQBVHAccel::BuildTree(), bvh_ltf_x(), bvh_ltf_y(), bvh_ltf_z(), Expand(), luxrays::BVHAccel::FindBestSplit(), luxrays::QBVHAccel::Init(), Inside(), IntersectP(), MaximumExtent(), luxrays::Transform::operator()(), luxrays::operator<<(), Overlaps(), luxrays::QBVHNode::SetBBox(), SurfaceArea(), luxrays::Union(), luxrays::MQBVHAccel::Update(), and Volume().
Definition at line 102 of file bbox.h.
Referenced by BBox(), BoundingSphere(), luxrays::QBVHAccel::BuildTree(), luxrays::MQBVHAccel::BuildTree(), bvh_ltf_x(), bvh_ltf_y(), bvh_ltf_z(), Expand(), luxrays::BVHAccel::FindBestSplit(), luxrays::QBVHAccel::Init(), Inside(), IntersectP(), MaximumExtent(), luxrays::Transform::operator()(), luxrays::operator<<(), Overlaps(), luxrays::QBVHNode::SetBBox(), SurfaceArea(), luxrays::Union(), luxrays::MQBVHAccel::Update(), and Volume().
1.6.3