2#include "Engine/Primitives/Primitive.h"
13class PointLight :
public Primitive
16 PointLight(std::string_view path =
"/pointLight");
17 PointLight(
const PointLight& other);
18 PointLight& operator=(
const PointLight& rhs);
19 ~PointLight()
override =
default;
21 PrimType getType()
const override {
return PrimType::POINT_LIGHT; }
22 std::shared_ptr<Primitive> clone()
const override
24 return std::make_shared<PointLight>(*
this);
26 TransformClass transformType()
const override {
return TransformClass::PRIMITIVE; }
27 void applyTransform(
const Matrix4& mat, TransformClass transformClass)
override;
29 Matrix4 getTransform()
const;
30 void setTransform(
const Matrix4& xform);
31 Vector3 getColor()
const;
32 void setColor(
const Vector3& color);
33 floatT getIntensity()
const;
34 void setIntensity(floatT intensity);
37 attr::AttributeHandle<Matrix4> transformHandle_;
38 attr::AttributeHandle<Vector3> colorHandle_;
39 attr::AttributeHandle<floatT> intensityHandle_;