#include <render/medium.h>
#include <medium/homogeneous.h>
Float Medium::evalTransmittance(const Ray &ray, const Float &tmin,
                                const Float &tmax,
                                RndSampler *sampler) const
{
    char name[100];
    name[0] = 0;
    className(name);
    if (strcmp(name, "Homogeneous") == 0)
        return static_cast<const Homogeneous *>(this)->evalTransmittance(ray, tmin, tmax, sampler);
    assert(false);
    return 0;
}

Spectrum Medium::sigS(const Vector &x) const
{
    char name[100];
    name[0] = 0;
    className(name);
    if (strcmp(name, "Homogeneous") == 0)
        return static_cast<const Homogeneous *>(this)->sigS(x);
    assert(false);
    return Spectrum::Zero();
}

Float Medium::sigT(const Vector &x) const
{
    char name[100];
    name[0] = 0;
    className(name);
    if (strcmp(name, "Homogeneous") == 0)
        return static_cast<const Homogeneous *>(this)->sigT(x);
    assert(false);
    return 0;
}
PSDR_INACTIVE_CLASS(Medium)