You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
941 B
C

1 month ago
#ifndef __COMMONUTILS_H__
#define __COMMONUTILS_H__
#include <cstdlib>
#include <random>
#include "clipper2/clipper.h"
Clipper2Lib::Path64 MakeRandomPoly(int width, int height, unsigned vertCnt)
{
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> w(0, width);
std::uniform_int_distribution<> h(0, height);
using namespace Clipper2Lib;
Path64 result;
result.reserve(vertCnt);
for (unsigned i = 0; i < vertCnt; ++i)
result.push_back(Point64(w(gen), h(gen)));
return result;
}
Clipper2Lib::PathD MakeRandomPolyD(int width, int height, unsigned vertCnt)
{
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> w(0, width);
std::uniform_int_distribution<> h(0, height);
using namespace Clipper2Lib;
PathD result;
result.reserve(vertCnt);
for (unsigned i = 0; i < vertCnt; ++i)
result.push_back(PointD(w(gen), h(gen)));
return result;
}
#endif