14#include "../../Utils/RGBColor.h"
15#include "../../Physics/Utils/BoundingBox2D.h"
118 virtual bool GetUpIndex(uint16_t count, uint16_t* upIndex) = 0;
205 virtual bool GetRadialIndex(uint16_t count, uint16_t* index,
int pixels,
float angle) = 0;
Represents a 2D axis-aligned bounding box.
Interface for managing and interacting with a collection of pixels.
virtual RGBColor * GetColors()=0
Retrieves the array of colors for the pixel group.
virtual void GridSort()=0
Sorts the pixels in a grid structure.
virtual RGBColor * GetColorBuffer()=0
Retrieves the color buffer for the pixel group.
virtual bool GetLeftIndex(uint16_t count, uint16_t *leftIndex)=0
Retrieves the index of the pixel to the left of a given pixel.
Direction
Specifies traversal directions for pixels.
@ ZEROTOMAX
Traverse from minimum to maximum indices.
@ MAXTOZERO
Traverse from maximum to minimum indices.
virtual int GetPixelIndex(Vector2D location)=0
Retrieves the index of a pixel at a specific location.
virtual Vector2D GetCoordinate(uint16_t count)=0
Retrieves the coordinate of a specific pixel.
virtual bool GetOffsetXYIndex(uint16_t count, uint16_t *index, int x1, int y1)=0
Retrieves an offset XY-axis index for a given pixel.
virtual bool ContainsVector2D(Vector2D v)=0
Checks if the pixel group contains a specific vector.
virtual RGBColor * GetColor(uint16_t count)=0
Retrieves the color of a specific pixel.
virtual bool GetRightIndex(uint16_t count, uint16_t *rightIndex)=0
Retrieves the index of the pixel to the right of a given pixel.
virtual Vector2D GetSize()=0
Retrieves the size of the pixel group.
virtual bool GetAlternateYIndex(uint16_t count, uint16_t *index)=0
Retrieves an alternate Y-axis index for a given pixel.
virtual uint16_t GetPixelCount()=0
Retrieves the total number of pixels in the group.
virtual bool GetRadialIndex(uint16_t count, uint16_t *index, int pixels, float angle)=0
Retrieves a radial index for a given pixel based on distance and angle.
virtual bool Overlaps(BoundingBox2D *box)=0
Checks if the pixel group overlaps with a bounding box.
virtual bool GetUpIndex(uint16_t count, uint16_t *upIndex)=0
Retrieves the index of the pixel above a given pixel.
virtual bool GetOffsetXIndex(uint16_t count, uint16_t *index, int x1)=0
Retrieves an offset X-axis index for a given pixel.
virtual bool GetOffsetYIndex(uint16_t count, uint16_t *index, int y1)=0
Retrieves an offset Y-axis index for a given pixel.
virtual bool GetAlternateXIndex(uint16_t count, uint16_t *index)=0
Retrieves an alternate X-axis index for a given pixel.
virtual bool GetDownIndex(uint16_t count, uint16_t *downIndex)=0
Retrieves the index of the pixel below a given pixel.
virtual Vector2D GetCenterCoordinate()=0
Retrieves the center coordinate of the pixel group.
Represents an RGB color and provides methods for manipulation.
Represents a 2D vector (X, Y) and provides methods for vector arithmetic.