#include <iboundedobject.h>
Inheritance diagram for toxic::IBoundedObject:

Public Member Functions | |
| IBoundedObject (const sheep::Matrix4 &m, const ISurfaceShader *surface_shader=0, IntersectionMask intersection_mask=INTERSECT_ALL_RAYS) | |
| virtual | ~IBoundedObject () |
| virtual const sheep::AABB3 & | GetAABB () const=0 |
| virtual sheep::Real | ComputeSurfaceArea () const=0 |
| Computes the surface area of this object. | |
| virtual void | EvaluateSurface (const sheep::Point2 &input, sheep::Point3 *point, sheep::Vector3 *geometric_normal) const=0 |
|
||||||||||||||||
|
m is the object space to world space transformation matrix. The 'surface_shader' pointer may be null because some objects (like the Collection and Octree objects) don't need a shader. Definition at line 28 of file iboundedobject.cpp. |
|
|
Definition at line 53 of file iboundedobject.h. |
|
|
Computes the surface area of this object.
Implemented in toxic::Cube, toxic::DummyObject, toxic::Mesh, toxic::Octree, toxic::Ring, toxic::Sphere, and toxic::Square. Referenced by toxic::IAreaLight::Finalize(). |
|
||||||||||||||||
|
Given a point in the unit square (the set of points in [0..1]^2), this method computes the corresponding surface point and normal (both are expressed in world space). Implemented in toxic::Cube, toxic::DummyObject, toxic::Mesh, toxic::Octree, toxic::Ring, toxic::Sphere, and toxic::Square. Referenced by toxic::IAreaLight::ComputeIrradiance(), and toxic::IAreaLight::GeneratePhotonRay(). |
|
|
Returns the Axis Aligned Bounding Box of this object. The AABB is expressed in world space. Implemented in toxic::Cube, toxic::DummyObject, toxic::Mesh, toxic::Octree, toxic::Ring, toxic::Sphere, and toxic::Square. Referenced by toxic::Octree::object_voxel_intersector::Intersect(). |
1.3.6