3#include <Foundation/Containers/Deque.h>
4#include <Foundation/Math/Vec3.h>
5#include <Utilities/UtilitiesDLL.h>
27namespace pl2DGridUtils
47 plInt32 iStartX, plInt32 iStartY, plInt32 iEndX, plInt32 iEndY, PL_RASTERIZED_POINT_CALLBACK callback,
void* pPassThrough =
nullptr);
59 PL_UTILITIES_DLL
plRasterizationResult::Enum ComputePointsOnLineConservative(plInt32 iStartX, plInt32 iStartY, plInt32 iEndX, plInt32 iEndY,
60 PL_RASTERIZED_POINT_CALLBACK callback,
void* pPassThrough =
nullptr,
bool bVisitBothNeighbors =
false);
69 plInt32 iStartX, plInt32 iStartY, plUInt32 uiRadius, PL_RASTERIZED_POINT_CALLBACK callback,
void* pPassThrough =
nullptr);
84 PL_UTILITIES_DLL plUInt32 FloodFill(
85 plInt32 iStartX, plInt32 iStartY, PL_RASTERIZED_POINT_CALLBACK callback,
void* pPassThrough =
nullptr,
plDeque<plVec2I32>* pTempArray =
nullptr);
88 PL_UTILITIES_DLL plUInt32 FloodFillDiag(
89 plInt32 iStartX, plInt32 iStartY, PL_RASTERIZED_POINT_CALLBACK callback,
void* pPassThrough =
nullptr,
plDeque<plVec2I32>* pTempArray =
nullptr);
92 enum plBlobType : plUInt8
116 plInt32 iPosX, plInt32 iPosY, plBlobType type, PL_RASTERIZED_POINT_CALLBACK callback,
void* pPassThrough =
nullptr);
121 plInt32 iPosX, plInt32 iPosY, plBlobType type, PL_RASTERIZED_BLOB_CALLBACK callback,
void* pPassThrough =
nullptr);
132 plInt32 iPosX, plInt32 iPosY,
float fRadius, PL_RASTERIZED_POINT_CALLBACK callback,
void* pPassThrough =
nullptr);
146 PL_UTILITIES_DLL
void ComputeVisibleArea(plInt32 iPosX, plInt32 iPosY, plUInt16 uiRadius, plUInt32 uiWidth, plUInt32 uiHeight,
147 PL_RASTERIZED_POINT_CALLBACK callback,
void* pPassThrough =
nullptr,
plDynamicArray<plUInt8>* pTempArray =
nullptr);
153 PL_UTILITIES_DLL
void ComputeVisibleAreaInCone(plInt32 iPosX, plInt32 iPosY, plUInt16 uiRadius,
const plVec2& vDirection,
plAngle coneAngle,
154 plUInt32 uiWidth, plUInt32 uiHeight, PL_RASTERIZED_POINT_CALLBACK callback,
void* pPassThrough =
nullptr,
Float wrapper struct for a safe usage and conversions of angles.
Definition Angle.h:10
Definition DynamicArray.h:81
Enum values for success and failure. To be used by functions as return values mostly,...
Definition Rasterization.h:9
Enum
Definition Rasterization.h:11
@ Stop
The calling function should stop expanding in this direction (might mean it should abort entirely)
Definition Rasterization.h:12
@ Continue
The calling function should continue further.
Definition Rasterization.h:13
Enum values for the result of some rasterization functions.
Definition Rasterization.h:19
Enum
Definition Rasterization.h:21
@ Finished
The function rasterized all possible points.
Definition Rasterization.h:23
@ Aborted
The function was aborted before it reached the end.
Definition Rasterization.h:22