X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fipdf.h;h=e150088ce90058837e877f638f5ad280bab35a4a;hp=33962d65a40843b6c57d9b0ab748b12d3697ae99;hb=428f1eb86a616d95dbb72ff08a3d09771d5c47e6;hpb=e24f0693b4e3989e625448009175c06e1e6e08d4 diff --git a/src/ipdf.h b/src/ipdf.h index 33962d6..e150088 100644 --- a/src/ipdf.h +++ b/src/ipdf.h @@ -1,10 +1,39 @@ #ifndef _IPDF_H #define _IPDF_H +#include "common.h" + namespace IPDF { typedef float Real; + inline float RealToFloat(Real r) {return r;} + inline Real Random(Real max=1, Real min=0) + { + return min + (max-min) * ((Real)(rand() % (int)1e6) / 1e6); + } + + typedef unsigned ObjectID; + + struct Rect + { + Real x; Real y; Real w; Real h; + Rect() = default; // Needed so we can fread/fwrite this struct + Rect(Real _x, Real _y, Real _w, Real _h) : x(_x), y(_y), w(_w), h(_h) {} + std::string Str() + { + std::stringstream s; + s << "{" << x << ", " << y << ", " << w << ", " << h << "}"; + return s.str(); + } + }; + + struct Objects + { + std::vector bounds; + }; + + class View; }