Enzo
Loading...
Searching...
No Matches
Camera.h
1#pragma once
2#include "Engine/Operator/Primitive.h"
3
4namespace enzo::geo
5{
6
14class Camera : public Primitive
15{
16public:
17 Camera();
18 Camera(const Camera& other);
19 Camera& operator=(const Camera& rhs);
20 ~Camera() override = default;
21
22 PrimType getType() const override { return PrimType::CAMERA; }
23 std::shared_ptr<Primitive> clone() const override { return std::make_shared<Camera>(*this); }
24 TransformClass transformType() const override { return TransformClass::PRIMITIVE; }
25 void applyTransform(const bt::Matrix4 &mat, TransformClass transformClass) override;
26
27 bt::Matrix4 getTransform() const;
28 void setTransform(const bt::Matrix4& xform);
29
30private:
31 ga::AttributeHandle<bt::Matrix4> transformHandle_;
32};
33}