9#include <Common/assertion.h>
51 Ray localRay, localSrcRay;
68 HitDetail*
const out_detail)
const override
84 *out_detail = localDetail;
Detailed information regarding a ray-primitive intersection.
Definition HitDetail.h:26
void setDistanceErrorFactors(real meanFactor, real maxFactor)
Definition HitDetail.h:192
std::pair< real, real > getDistanceErrorFactors() const
Definition HitDetail.h:185
const HitInfo & getHitInfo(ECoordSys coordSys=ECoordSys::World) const
Definition HitDetail.h:173
Lightweight ray intersection testing and reporting object. If an intersection is found,...
Definition HitProbe.h:27
const Intersectable * getTopHit() const
Definition HitProbe.h:154
void popHit()
Removes the most recent hit target from the stack.
Definition HitProbe.h:127
void pushIntermediateHit(const Intersectable *hitTarget)
Adds a hit target that will participate in hit detail's calculation to the stack.
Definition HitProbe.h:112
An object in the scene that a ray can intersect with.
Definition Intersectable.h:31
virtual bool reintersect(const Ray &ray, HitProbe &probe, const Ray &srcRay, HitProbe &srcProbe) const =0
Intersect the intersected object again with a different ray.
virtual bool isOccluding(const Ray &ray) const
Determines whether this object blocks the ray.
Definition Intersectable.cpp:8
virtual void calcHitDetail(const Ray &ray, HitProbe &probe, HitDetail *out_detail) const =0
Calculates properties of a hit, such as coordinates and normal.
virtual bool isIntersecting(const Ray &ray, HitProbe &probe) const =0
Determine whether a given ray hits the object.
Represents a ray in space.
Definition Ray.h:21
The root for all renderer implementations.
Definition EEngineProject.h:6