Newer
Older

Yoel
committed
#pragma once
#include "../tools/Mat4.h"
#include "../tools/Transformation.h"
#include "Light.h"
namespace shapes {
class LightSingleGroup : public Light {
public:
LightSingleGroup(const util::Transformation& trans,
std::shared_ptr<Light> shape);
LightSingleGroup(const util::Mat4& matrix, std::shared_ptr<Light> shape);
util::SurfacePoint sampleLight() const override;
util::Vec3 calculateLightEmission(const util::SurfacePoint& p,
const util::Vec3& d) const override;
private:
std::shared_ptr<Light> light;
util::Transformation transform;
};
} // namespace shapes