rcrt::Traceable Class Reference

#include <Traceable.h>

Inheritance diagram for rcrt::Traceable:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 Traceable ()
virtual ~Traceable ()
virtual Intersection intersect (Ray &r) const =0
virtual const AABBgetBoundingBox () const =0
virtual const Point3DgetCentroid () const =0
virtual void clipPlane (Axis axis, float plane, AABB &lBox, AABB &rBox) const


Detailed Description

An abstract base class for anything that can be traced or "meta"-traced (such as containers/acceleration structures of primitives/objects/more acceleration structures).

Definition at line 25 of file Traceable.h.


Constructor & Destructor Documentation

rcrt::Traceable::Traceable (  ) 

Definition at line 6 of file Traceable.cpp.

rcrt::Traceable::~Traceable (  )  [virtual]

Definition at line 11 of file Traceable.cpp.


Member Function Documentation

virtual Intersection rcrt::Traceable::intersect ( Ray r  )  const [pure virtual]

Parameters:
The ray that will be tested against.
Returns:
An Intersection that contains the closest intersection that can be determined.

Implemented in rcrt::BIH< T >, rcrt::AffineObject, rcrt::DynamicObject, rcrt::AABB, rcrt::ConvexQuad, rcrt::DisplacedTriangle, rcrt::Sphere, rcrt::Triangle, rcrt::SAHKDtree< T >, rcrt::Scene, rcrt::BIH< rcrt::Primitive >, rcrt::BIH< rcrt::Traceable >, rcrt::SAHKDtree< rcrt::Primitive >, and rcrt::SAHKDtree< rcrt::Triangle >.

virtual const AABB& rcrt::Traceable::getBoundingBox (  )  const [pure virtual]

Returns:
The minimum Axis-Aligned Bounding Box of this Traceable.

Implemented in rcrt::BIH< T >, rcrt::AffineObject, rcrt::DynamicObject, rcrt::AABB, rcrt::ConvexQuad, rcrt::Sphere, rcrt::Triangle, rcrt::SAHKDtree< T >, rcrt::Scene, rcrt::BIH< rcrt::Primitive >, rcrt::BIH< rcrt::Traceable >, rcrt::SAHKDtree< rcrt::Primitive >, and rcrt::SAHKDtree< rcrt::Triangle >.

virtual const Point3D& rcrt::Traceable::getCentroid (  )  const [pure virtual]

Returns:
Some kind of central point of this object. This may just be an approximation (e.g. the central point of the AABB).

Implemented in rcrt::BIH< T >, rcrt::AffineObject, rcrt::DynamicObject, rcrt::AABB, rcrt::ConvexQuad, rcrt::Sphere, rcrt::Triangle, rcrt::SAHKDtree< T >, rcrt::Scene, rcrt::BIH< rcrt::Primitive >, rcrt::BIH< rcrt::Traceable >, rcrt::SAHKDtree< rcrt::Primitive >, and rcrt::SAHKDtree< rcrt::Triangle >.

void rcrt::Traceable::clipPlane ( Axis  axis,
float  plane,
AABB lBox,
AABB rBox 
) const [virtual]

Parameters:
axis The Axis of the plane with which to clip.
plane The value along the axis which describes the plane.
lBox An AABB that should contain the left part (with respect to the clipping plane) of the object after calling this method.
rBox An AABB that should contain the right part of the object after this method.

Reimplemented in rcrt::AABB, and rcrt::Triangle.

Definition at line 16 of file Traceable.cpp.


The documentation for this class was generated from the following files:
Generated on Thu Jan 31 19:33:22 2008 for RenderingCompetitionRayTracer by  doxygen 1.5.3