Files
LumonMDR/libs/Numbers/Number.h
andrewchilicki 71bd81f2b9 Init
2025-02-08 15:12:24 -05:00

48 lines
1.1 KiB
C++

#pragma once
#include <memory>
#include <vector>
struct BadGroup
{
BadGroup(int id, std::vector<int> numberIds, int binIdx) : id(id), numberIds(std::move(numberIds)), binIdx(binIdx) {}
int id;
std::vector<int> numberIds;
bool isActive = false;
bool superActive = false;
double scale = 0;
bool reachedMax = false;
int binIdx = 0;
bool refined = false;
};
using BadGroupPtr = std::shared_ptr<BadGroup>;
struct NumberDisplayInfos
{
explicit NumberDisplayInfos(bool horizontalOffset) : horizontalOffset(horizontalOffset) {}
bool horizontalOffset;
float centerX = -1.f, centerY = -1.f;
float refinedX = -1.f, refinedY = -1.f;
bool isVisible = false;
};
struct Number
{
Number(int id, int gridX, int gridY, int num, bool horizontalOffset) : id(id), gridX(gridX), gridY(gridY), num(num), displayInfos(NumberDisplayInfos(horizontalOffset)) {}
int id;
int gridX, gridY;
int num;
NumberDisplayInfos displayInfos;
BadGroupPtr badGroup = nullptr;
float regenerateScale = 0.f;
};
using NumberPtr = std::shared_ptr<Number>;