16#ifndef AEONGAMES_CAMERA_H
17#define AEONGAMES_CAMERA_H
18#include "aeongames/Component.hpp"
38 void Update (
Node& aNode,
double aDelta )
final;
40 void ProcessMessage (
Node& aNode, uint32_t aMessageType,
const void* aMessageData )
final;
60 float mFieldOfView{60.0f};
61 float mNearPlane{1.0f};
62 float mFarPlane{16000.0f};
void SetFarPlane(float aFarPlane)
Sets the far clipping plane distance.
void SetFieldOfView(float aFieldOfView)
Sets the field of view.
const StringId & GetId() const final
Get the unique identifier for this component type.
void ProcessMessage(Node &aNode, uint32_t aMessageType, const void *aMessageData) final
Process an incoming message.
size_t GetPropertyCount() const final
Get the number of properties exposed by this component.
void SetProperty(uint32_t, const Property &aProperty) final
Set the value aProperty for the property identified by aId.
void SetNearPlane(float aNearPlane)
Sets the near clipping plane distance.
float GetNearPlane() const
Returns the near clipping plane distance.
void Render(const Node &aNode, Renderer &aRenderer, void *aWindowId) final
Render the component.
float GetFarPlane() const
Returns the far clipping plane distance.
Camera()
Default constructor.
Property GetProperty(const StringId &aId) const final
Get the value of a property.
void Update(Node &aNode, double aDelta) final
Update the component state.
static const StringId & GetClassId()
Returns the class identifier for the Camera component.
const StringId * GetPropertyInfoArray() const final
Get the array of property identifiers.
float GetFieldOfView() const
Returns the field of view in degrees.
Abstract base class for node components.
Scene graph node representing an entity in the game world.
Abstract base class for rendering backends.
CRC-based compile-time string identifier.
<- This is here just for the literals
std::variant< int, long, long long, unsigned, unsigned long, unsigned long long, float, double, std::string, std::filesystem::path > Property
A variant type that can hold any commonly used property value.