26template<
size_t pixelCount>
Declares the CameraBase class for defining camera functionality.
Declares the PixelGroup template class for managing a collection of pixels.
Base class for managing camera properties and transformations.
CameraLayout * cameraLayout
Pointer to the camera's layout information.
Transform * transform
Pointer to the camera's transformation data.
Manages camera orientation and axis alignment.
Manages camera behavior and pixel groups.
PixelGroup< pixelCount > * GetPixelGroup() override
Retrieves the associated PixelGroup.
Vector2D GetCameraMaxCoordinate() override
Retrieves the maximum coordinate of the camera.
Vector3D GetCameraTransformCenter() override
Retrieves the center transform of the camera.
Vector2D maxC
Cached maximum coordinate of the camera.
PixelGroup< pixelCount > * pixelGroup
Pointer to the associated PixelGroup instance.
Camera(Transform *transform, PixelGroup< pixelCount > *pixelGroup)
Constructs a Camera with a transform and pixel group.
Vector2D GetCameraMinCoordinate() override
Retrieves the minimum coordinate of the camera.
Vector2D GetCameraCenterCoordinate() override
Retrieves the center coordinate of the camera.
Camera(Transform *transform, CameraLayout *cameraLayout, PixelGroup< pixelCount > *pixelGroup)
Constructs a Camera with a transform, camera layout, and pixel group.
bool calculatedMax
Indicates if the maximum coordinate has been calculated.
Vector2D minC
Cached minimum coordinate of the camera.
Vector3D GetCameraTransformMin() override
Retrieves the minimum transform of the camera.
Vector3D GetCameraTransformMax() override
Retrieves the maximum transform of the camera.
bool calculatedMin
Indicates if the minimum coordinate has been calculated.
Manages a collection of pixels with positions, colors, and spatial relationships.
Represents a 2D vector (X, Y) and provides methods for vector arithmetic.
Represents a 3D vector (X, Y, Z) and provides methods for vector arithmetic.