From adc4e42d34d53e687daaab743ef3f8d6eae4a909 Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Tue, 1 Nov 2022 21:23:37 -0500 Subject: [PATCH] It is working as it should Co-authored-by: sigonasr2 --- C++ProjectTemplate | Bin 550888 -> 694592 bytes geom2d.h | 1024 ++++++++++++++++++++++++++++++++++++++++++++ main.cpp | 191 ++++++++- quadtree.h | 328 ++++++++++++++ transformedView.h | 735 +++++++++++++++++++++++++++++++ 5 files changed, 2269 insertions(+), 9 deletions(-) create mode 100644 geom2d.h create mode 100644 quadtree.h create mode 100644 transformedView.h diff --git a/C++ProjectTemplate b/C++ProjectTemplate index 4d8ff5d9ac65212f887cbd89238608c302412848..1fb706159c0b6041294889574bc0acd9bd93d69b 100755 GIT binary patch literal 694592 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

D&giiHe`>$}t;(4lE$IWDdm$ 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�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 diff --git a/geom2d.h b/geom2d.h new file mode 100644 index 0000000..4d7e9d7 --- /dev/null +++ b/geom2d.h @@ -0,0 +1,1024 @@ +/* + OneLoneCoder - Geometry 2D v1.00 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + A collection of 2D Geometric primitives and functions to work with + and between them. + + + License (OLC-3) + ~~~~~~~~~~~~~~~ + + Copyright 2018 - 2022 OneLoneCoder.com + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions or derivations of source code must retain the above + copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions or derivative works in binary form must reproduce + the above copyright notice. This list of conditions and the following + disclaimer must be reproduced in the documentation and/or other + materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Links + ~~~~~ + YouTube: https://www.youtube.com/javidx9 + Discord: https://discord.gg/WhwHUMV + Twitter: https://www.twitter.com/javidx9 + Twitch: https://www.twitch.tv/javidx9 + GitHub: https://www.github.com/onelonecoder + Homepage: https://www.onelonecoder.com + + Author + ~~~~~~ + David Barr, aka javidx9, �OneLoneCoder 2019, 2020, 2021, 2022 + +*/ + +#include "pixelGameEngine.h" + +namespace olc::utils::geom2d +{ + // Lemon Meringue + const double pi = 3.141592653589793238462643383279502884; + + // Floating point error margin + const double epsilon = 0.001; + + //https://stackoverflow.com/questions/1903954/is-there-a-standard-sign-function-signum-sgn-in-c-c + template + constexpr int sgn(T val) { return (T(0) < val) - (val < T(0)); } + + // Defines a line segment + template + struct line + { + olc::v2d_generic start; + olc::v2d_generic end; + + inline line(const olc::v2d_generic& s = { T(0), T(0) }, + const olc::v2d_generic& e = { T(0), T(0) }) + : start(s), end(e) + { } + + + // Get length of line + inline constexpr T length() + { + return (end - start).mag(); + } + + // Get length of line^2 + inline constexpr T length2() + { + return (end - start).mag2(); + } + + inline constexpr olc::v2d_generic vector() const + { + return (end - start); + } + + // Given a real distance, get point along line + inline constexpr olc::v2d_generic rpoint(const T& distance) const + { + return start + (end - start).norm() * distance; + } + + // Given a unit distance, get point along line + inline constexpr olc::v2d_generic upoint(const T& distance) const + { + return start + (end - start) * distance; + } + + // Return which side of the line does a point lie + inline constexpr int32_t side(const olc::v2d_generic& point) const + { + double d = (end - start).cross(point - start); + if (d < 0) + return -1; + else + if (d > 0) + return 1; + else + return 0; + } + }; + + template + struct ray + { + olc::v2d_generic origin; + olc::v2d_generic direction; + }; + + template + struct rect + { + olc::v2d_generic pos; + olc::v2d_generic size; + + inline rect(const olc::v2d_generic& p = { T(0), T(0) }, + const olc::v2d_generic& s = { T(1), T(1) }) + : pos(p), size(s) + { } + + inline olc::v2d_generic middle() const + { + return pos + (size * double(0.5)); + } + + // Get line segment from top side of rectangle + inline line top() const + { + return { pos, {pos.x + size.x, pos.y } }; + } + + // Get line segment from bottom side of rectangle + inline line bottom() const + { + return { {pos.x, pos.y + size.y}, pos + size }; + } + + // Get line segment from left side of rectangle + inline line left() const + { + return { pos, {pos.x, pos.y + size.y} }; + } + + // Get line segment from right side of rectangle + inline line right() const + { + return { {pos.x + size.x, pos.y }, pos + size }; + } + + // Get a line from an indexed side, starting top, going clockwise + inline line side(const size_t i) const + { + if (i & 0b11 == 0) return top(); + if (i & 0b11 == 1) return right(); + if (i & 0b11 == 2) return bottom(); + if (i & 0b11 == 3) return left(); + } + + // Get area of rectangle + inline constexpr T area() const + { + return size.x * size.y; + } + + // Get perimeter of rectangle + inline constexpr T perimeter() const + { + return T(2) * (size.x + size.y); + } + }; + + + template + struct circle + { + olc::v2d_generic pos; + T radius = T(0); + + inline circle(const olc::v2d_generic& p = { T(0), T(0) }, const T r = T(0)) + : pos(p), radius(r) + { } + + // Get area of circle + inline constexpr T area() const + { + return T(pi) * radius * radius; + } + + // Get circumference of circle + inline constexpr T perimeter() const + { + return T(2.0 * pi) * radius; + } + + // Get circumference of circle + inline constexpr T circumference() const + { + return perimeter(); + } + }; + + + template + struct triangle + { + std::array, 3> pos; + + inline triangle( + const olc::v2d_generic& p0 = { T(0), T(0) }, + const olc::v2d_generic& p1 = { T(0), T(0) }, + const olc::v2d_generic& p2 = { T(0), T(0) }) + : pos{ p0,p1,p2 } + { } + + // Get a line from an indexed side, starting top, going clockwise + inline line side(const size_t i) const + { + return line(pos[i % 3], pos[(i + 1) % 3]); + } + + // Get area of triangle + inline constexpr T area() const + { + return double(0.5) * std::abs( + (pos[0].x * (pos[1].y - pos[2].y)) + + (pos[1].x * (pos[2].y - pos[0].y)) + + (pos[2].x * (pos[0].y - pos[1].y))); + } + + // Get perimeter of triangle + inline constexpr T perimeter() const + { + return line(pos[0], pos[1]).length() + + line(pos[1], pos[2]).length() + + line(pos[2], pos[0]).length(); + } + }; + + + template + struct polygon + { + std::vector> vPoints; + }; + + + // ========================================================================================================================= + // Closest(shape, point) =================================================================================================== + + // Returns closest point to point + template + inline olc::v2d_generic closest(const olc::v2d_generic& p1, const olc::v2d_generic& p2) + { + return p1; + } + + // Returns closest point on line to point + template + inline olc::v2d_generic closest(const line& l, const olc::v2d_generic& p) + { + auto d = l.vector(); + double u = std::clamp(double(d.dot(p - l.start) / d.mag2()), 0.0, 1.0); + return l.start + d * u; + } + + // Returns closest point on circle to point + template + inline olc::v2d_generic closest(const circle& c, const olc::v2d_generic& p) + { + return c.pos + (p - c.pos).norm() * c.radius; + } + + // Returns closest point on rectangle to point + template + inline olc::v2d_generic closest(const rect& r, const olc::v2d_generic& p) + { + // This could be a "constrain" function hmmmm + // TODO: Not quite what i wanted, should restrain to boundary + return olc::v2d_generic{ std::clamp(p.x, r.pos.x, r.pos.x + r.size.x), std::clamp(p.y, r.pos.y, r.pos.y + r.size.y) }; + + } + + // Returns closest point on triangle to point + template + inline olc::v2d_generic closest(const triangle& t, const olc::v2d_generic& p) + { + // TODO: + return olc::v2d_generic(); + } + + + + + + + + + + + + // ================================================================================================================ + // POINT ========================================================================================================== + + // Checks if point contains point + template + inline constexpr bool contains(const olc::v2d_generic& p1, const olc::v2d_generic& p2) + { + return (p1 - p2).mag2() < epsilon; + } + + // Checks if line contains point + template + inline constexpr bool contains(const line& l, const olc::v2d_generic& p) + { + double d = ((p.x - l.start.x) * (l.end.y - l.start.y) - (p.y - l.start.y) * (l.end.x - l.start.x)); + if (std::abs(d) < epsilon) + { + // point is on line + double u = l.vector().dot(p - l.start) / l.vector().mag2(); + return (u >= double(0.0) && u <= double(1.0)); + } + + return false; + } + + // Checks if rectangle contains point + template + inline constexpr bool contains(const rect& r, const olc::v2d_generic& p) + { + return !(p.x < r.pos.x || p.y < r.pos.y || + p.x > (r.pos.x + r.size.x) || p.y > (r.pos.y + r.size.y)); + } + + // Checks if circle contains a point + template + inline constexpr bool contains(const circle& c, const olc::v2d_generic& p) + { + return (c.pos - p).mag2() < (c.radius * c.radius); + } + + // Checks if triangle contains a point + template + inline constexpr bool contains(const triangle& t, const olc::v2d_generic& p) + { + // http://jsfiddle.net/PerroAZUL/zdaY8/1/ + T2 A = T2(0.5) * (-t.pos[1].y * t.pos[2].x + t.pos[0].y * (-t.pos[1].x + t.pos[2].x) + t.pos[0].x * (t.pos[1].y - t.pos[2].y) + t.pos[1].x * t.pos[2].y); + T2 sign = A < T2(0) ? T2(-1) : T2(1); + T2 s = (t.pos[0].y * t.pos[2].x - t.pos[0].x * t.pos[2].y + (t.pos[2].y - t.pos[0].y) * p.x + (t.pos[0].x - t.pos[2].x) * p.y) * sign; + T2 v = (t.pos[0].x * t.pos[1].y - t.pos[0].y * t.pos[1].x + (t.pos[0].y - t.pos[1].y) * p.x + (t.pos[1].x - t.pos[0].x) * p.y) * sign; + return s > T2(0) && v > T2(0) && (s + v) < T2(2) * A * sign; + } + + + + + // Check if point overlaps with point (analagous to contains()) + template + inline constexpr bool overlaps(const olc::v2d_generic& p1, const olc::v2d_generic& p2) + { + return contains(p1, p2); + } + + // Checks if line segment overlaps with point + template + inline constexpr bool overlaps(const line& l, const olc::v2d_generic& p) + { + return contains(l, p); + } + + // Checks if rectangle overlaps with point + template + inline constexpr bool overlaps(const rect& r, const olc::v2d_generic& p) + { + return contains(r, p); + } + + // Checks if circle overlaps with point + template + inline constexpr bool overlaps(const circle& c, const olc::v2d_generic& p) + { + return contains(c, p); + } + + // Checks if triangle overlaps with point + template + inline constexpr bool overlaps(const triangle& t, const olc::v2d_generic& p) + { + return contains(t, p); + } + + + + + // Get intersection points where point intersects with point + template + inline std::vector> intersects(const olc::v2d_generic& p1, const olc::v2d_generic& p2) + { + if (contains(p1, p2)) + return { p1 }; + else + return {}; + } + + // Get intersection points where line segment intersects with point + template + inline std::vector> intersects(const line& l, const olc::v2d_generic& p) + { + if (contains(l, p)) + return { p }; + else + return {}; + } + + // Get intersection points where rectangle intersects with point + template + inline std::vector> intersects(const rect& r, const olc::v2d_generic& p) + { + std::vector> vPoints; + if (contains(r.top(), p)) vPoints.push_back(p); + if (contains(r.bottom(), p)) vPoints.push_back(p); + if (contains(r.left(), p)) vPoints.push_back(p); + if (contains(r.right(), p)) vPoints.push_back(p); + return vPoints; + } + + // Get intersection points where circle intersects with point + template + inline std::vector> intersects(const circle& c, const olc::v2d_generic& p) + { + if (std::abs((p - c.pos).mag2() - (c.radius * c.radius)) <= epsilon) + return { p }; + else + return {}; + } + + // Get intersection points where triangle intersects with point + template + inline std::vector> intersects(const triangle& r, const olc::v2d_generic& p) + { + // TODO: + return {}; + } + + + + + + + + + + + + + // ================================================================================================================ + // LINE =========================================================================================================== + + // Check if point contains line segment + template + inline constexpr bool contains(const olc::v2d_generic& p, const line& l) + { + return false; // It can't! + } + + // Check if line segment contains line segment + template + inline constexpr bool contains(const line& l1, const line& l2) + { + // TODO: Check if segments are colinear, and l1 exists within bounds of l2 + return false; + } + + // Check if rectangle contains line segment + template + inline constexpr bool contains(const rect& r, const line& l) + { + return contains(r, l.start) && contains(r, l.end); + } + + // Check if circle contains line segment + template + inline constexpr bool contains(const circle& c1, const line& l) + { + return contains(c1, l.start) && contains(c1, l.end); + } + + // Check if triangle contains line segment + template + inline constexpr bool contains(const triangle& t, const line& l) + { + return contains(t, l.start) && contains(t, l.end); + } + + + + + // Check if point overlaps line segment + template + inline constexpr bool overlaps(const olc::v2d_generic& p, const line& l) + { + return contains(l, p); + } + + // Check if line segment overlaps line segment + template + inline constexpr bool overlaps(const line& l1, const line& l2) + { + // TODO: + return false; + } + + // Check if rectangle overlaps line segment + template + inline constexpr bool overlaps(const rect& r, const line& l) + { + return contains(r, l.start) + || contains(r, l.end); + + // TODO: This method is no good, it cant detect lines whose start and end + // points are outside the rectangle + } + + // Check if circle overlaps line segment + template + inline constexpr bool overlaps(const circle& c, const line& l) + { + // TODO: + return false; + } + + // Check if triangle overlaps line segment + template + inline constexpr bool overlaps(const triangle& t, const line& l) + { + return overlaps(t, l.start) || overlaps(t, l.end); + + // TODO: This method is no good, it cant detect lines whose start and end + // points are outside the triangle + } + + + + + // Get intersection points where point intersects with line segment + template + inline std::vector> intersects(const olc::v2d_generic& p, const line& l) + { + // TODO: + return {}; + } + + // Get intersection points where line segment intersects with line segment + template + inline std::vector> intersects(const line& l1, const line& l2) + { + // TODO: + return {}; + } + + // Get intersection points where rectangle intersects with line segment + template + inline std::vector> intersects(const rect& r, const line& l) + { + // TODO: + return {}; + } + + // Get intersection points where circle intersects with line segment + template + inline std::vector> intersects(const circle& c, const line& l) + { + // TODO: + return {}; + } + + // Get intersection points where triangle intersects with line segment + template + inline std::vector> intersects(const triangle& t, const line& l) + { + // TODO: + return {}; + } + + + + + + + + + + + + + // ================================================================================================================ + // RECTANGLE ====================================================================================================== + + // Check if point contains rectangle + template + inline constexpr bool contains(const olc::v2d_generic& p, const rect& r) + { + return false; // It can't! + } + + // Check if line segment contains rectangle + template + inline constexpr bool contains(const line& l, const rect& r) + { + return false; // It can't + } + + // Check if rectangle contains rectangle + template + inline constexpr bool contains(const rect& r1, const rect& r2) + { + return (r2.pos.x >= r1.pos.x) && (r2.pos.x + r2.size.x < r1.pos.x + r1.size.x) && + (r2.pos.y >= r1.pos.y) && (r2.pos.y + r2.size.y < r1.pos.y + r1.size.y); + } + + // Check if circle contains rectangle + template + inline constexpr bool contains(const circle& c, const rect& r) + { + return contains(c, r.pos) + && contains(c, olc::v2d_generic{ r.pos.x + r.size.x, r.pos.y }) + && contains(c, olc::v2d_generic{ r.pos.x, r.pos.y + r.size.y }) + && contains(c, r.pos + r.size); + } + + // Check if triangle contains rectangle + template + inline constexpr bool contains(const triangle& t, const rect& r) + { + return contains(t, r.pos) + && contains(t, r.pos + r.size) + && contains(t, olc::v2d_generic{ r.pos.x + r.size.x,r.pos.y }) + && contains(t, olc::v2d_generic{ r.pos.x, r.pos.y + r.size.y }); + } + + + + + // Check if point overlaps rectangle + template + inline constexpr bool overlaps(const olc::v2d_generic& p, const rect& r) + { + return overlaps(r, p); + } + + // Check if line segment overlaps rectangle + template + inline constexpr bool overlaps(const line& l, const rect& r) + { + return overlaps(r, l); + } + + // Check if rectangle overlaps rectangle + template + inline constexpr bool overlaps(const rect& r1, const rect& r2) + { + return (r1.pos.x < r2.pos.x + r2.size.x && r1.pos.x + r1.size.x >= r2.pos.x && + r1.pos.y < r2.pos.y + r2.size.y && r1.pos.y + r1.size.y >= r2.pos.y); + } + + // Check if circle overlaps rectangle + template + inline constexpr bool overlaps(const circle& c, const rect& r) + { + // Inspired by this (very clever btw) + // https://stackoverflow.com/questions/45370692/circle-rectangle-collision-response + // But modified to work :P + T2 overlap = (olc::v2d_generic{ std::clamp(c.pos.x, r.pos.x, r.pos.x + r.size.x), std::clamp(c.pos.y, r.pos.y, r.pos.y + r.size.y) } - c.pos).mag2(); + if (std::isnan(overlap)) overlap = T2(0); + return (overlap - (c.radius * c.radius)) < T2(0); + } + + // Check if triangle overlaps rectangle + template + inline constexpr bool overlaps(const triangle& t, const rect& r) + { + return contains(t, r.pos) + || contains(t, r.pos + r.size) + || contains(t, olc::v2d_generic{ r.pos.x + r.size.x, r.pos.y }) + || contains(t, olc::v2d_generic{ r.pos.x, r.pos.y + r.size.y }); + + // TODO: This method is no good, consider rectangle with all vertices + // outside of triangle, but edges still crossing + } + + + + + // Get intersection points where point intersects with rectangle + template + inline std::vector> intersects(const olc::v2d_generic& p, const rect& r) + { + return intersects(r, p); + } + + // Get intersection points where line segment intersects with rectangle + template + inline std::vector> intersects(const line& l, const rect& r) + { + // TODO: + return {}; + } + + // Get intersection points where rectangle intersects with rectangle + template + inline std::vector> intersects(const rect& r1, const rect& r2) + { + // TODO: + return {}; + } + + // Get intersection points where circle intersects with rectangle + template + inline std::vector> intersects(const circle& c, const rect& r) + { + // TODO: + return {}; + } + + // Get intersection points where triangle intersects with rectangle + template + inline std::vector> intersects(const triangle& t, const rect& r) + { + // TODO: + return {}; + } + + + + + + + + + + + + + + // ================================================================================================================ + // CIRCLE ========================================================================================================= + + // Check if point contains circle + template + inline constexpr bool contains(const olc::v2d_generic& p, const circle& c) + { + return false; // It can't! + } + + // Check if line segment contains circle + template + inline constexpr bool contains(const line& l, const circle& c) + { + return false; // It can't! + } + + // Check if rectangle contains circle + template + inline constexpr bool contains(const rect& r, const circle& c) + { + // TODO: + return false; + } + + // Check if circle contains circle + template + inline constexpr bool contains(const circle& c1, const circle& c2) + { + return (c1.pos - c2.pos).mag2() <= (c1.radius - c2.radius) * (c1.radius - c2.radius); + } + + // Check if triangle contains circle + template + inline constexpr bool contains(const triangle& t, const circle& c) + { + // TODO: + return false; + } + + + + + // Check if point overlaps circle + template + inline constexpr bool overlaps(const olc::v2d_generic& p, const circle& c) + { + return overlaps(c, p); + } + + // Check if line segment overlaps circle + template + inline constexpr bool overlaps(const line& l, const circle& c) + { + return overlaps(c, l); + } + + // Check if rectangle overlaps circle + template + inline constexpr bool overlaps(const rect& r, const circle& c) + { + return overlaps(c, r); + } + + // Check if circle overlaps circle + template + inline constexpr bool overlaps(const circle& c1, const circle& c2) + { + return (c1.pos - c2.pos).mag2() <= (c1.radius + c2.radius) * (c1.radius + c2.radius); + } + + // Check if triangle overlaps circle + template + inline constexpr bool overlaps(const triangle& t, const circle& c) + { + // TODO: + return false; + } + + + + + // Get intersection points where point intersects with circle + template + inline std::vector> intersects(const olc::v2d_generic& p, const circle& c) + { + // TODO: + return {}; + } + + // Get intersection points where line segment intersects with circle + template + inline std::vector> intersects(const line& l, const circle& c) + { + // TODO: + return {}; + } + + // Get intersection points where rectangle intersects with circle + template + inline std::vector> intersects(const rect& r, const circle& c) + { + // TODO: + return {}; + } + + // Get intersection points where circle intersects with circle + template + inline std::vector> intersects(const circle& c1, const circle& c2) + { + // TODO: + return {}; + } + + // Get intersection points where triangle intersects with circle + template + inline std::vector> intersects(const triangle& t, const circle& c) + { + // TODO: + return {}; + } + + + + + + + + + + + + + + // ================================================================================================================ + // TRIANGLE ======================================================================================================= + + // Check if point contains triangle + template + inline constexpr bool contains(const olc::v2d_generic& p, const triangle& t) + { + return false; // It can't! + } + + // Check if line segment contains triangle + template + inline constexpr bool contains(const line& l, const triangle& t) + { + return false; // It can't + } + + // Check if rectangle contains triangle + template + inline constexpr bool contains(const rect& r, const triangle& t) + { + // TODO: + return false; + } + + // Check if circle contains triangle + template + inline constexpr bool contains(const circle& c, const triangle& t) + { + // TODO: + return false; + } + + // Check if triangle contains triangle + template + inline constexpr bool contains(const triangle& t1, const triangle& t2) + { + // TODO: + return false; + } + + + + + // Check if point overlaps triangle + template + inline constexpr bool overlaps(const olc::v2d_generic& p, const triangle& t) + { + return overlaps(t, p); + } + + // Check if line segment overlaps triangle + template + inline constexpr bool overlaps(const line& l, const triangle& t) + { + return overlaps(t, l); + } + + // Check if rectangle overlaps triangle + template + inline constexpr bool overlaps(const rect& r, const triangle& t) + { + return overlaps(t, r); + } + + // Check if circle overlaps triangle + template + inline constexpr bool overlaps(const circle& c, const triangle& t) + { + return overlaps(t, c); + } + + // Check if triangle overlaps triangle + template + inline constexpr bool overlaps(const triangle& t1, const triangle& t2) + { + // TODO: + return false; + } + + + + + // Get intersection points where point intersects with triangle + template + inline std::vector> intersects(const olc::v2d_generic& p, const triangle& t) + { + // TODO: + return {}; + } + + // Get intersection points where line segment intersects with triangle + template + inline std::vector> intersects(const line& l, const triangle& t) + { + // TODO: + return {}; + } + + // Get intersection points where rectangle intersects with triangle + template + inline std::vector> intersects(const rect& r, const triangle& t) + { + // TODO: + return {}; + } + + // Get intersection points where circle intersects with triangle + template + inline std::vector> intersects(const circle& c, const triangle& t) + { + // TODO: + return {}; + } + + // Get intersection points where triangle intersects with triangle + template + inline std::vector> intersects(const triangle& t1, const triangle& t2) + { + // TODO: + return {}; + } + +} \ No newline at end of file diff --git a/main.cpp b/main.cpp index 1485e96..5033962 100644 --- a/main.cpp +++ b/main.cpp @@ -1,20 +1,193 @@ -#include +/* + Quirky Quad Trees Part #1 - Static Quad Tree Implementation + "War... huh... What is it good for? Absolutely nothin..." - javidx9 + + License (OLC-3) + ~~~~~~~~~~~~~~~ + Copyright 2018 - 2022 OneLoneCoder.com + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions or derivations of source code must retain the above + copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions or derivative works in binary form must reproduce + the above copyright notice. This list of conditions and the following + disclaimer must be reproduced in the documentation and/or other + materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Video: + ~~~~~~ + https://youtu.be/ASAowY6yJII + + Pan & Zoom with middle mouse, TAB to switch between methods + + Links + ~~~~~ + YouTube: https://www.youtube.com/javidx9 + https://www.youtube.com/javidx9extra + Discord: https://discord.gg/WhwHUMV + Twitter: https://www.twitter.com/javidx9 + Twitch: https://www.twitch.tv/javidx9 + GitHub: https://www.github.com/onelonecoder + Homepage: https://www.onelonecoder.com + + Author + ~~~~~~ + David Barr, aka javidx9, �OneLoneCoder 2019, 2020, 2021, 2022 +*/ + + #define OLC_PGE_APPLICATION #include "pixelGameEngine.h" -using namespace olc; +#define OLC_PGEX_TRANSFORMEDVIEW +#include "transformedView.h" + +#include "quadtree.h" -struct MyStruct{ - int val=4; - friend std::ostream&operator<<(std::ostream&os,MyStruct&rhs){ - printf("Called\n"); - return os; +// The Example! +class Example_StaticQuadTree : public olc::PixelGameEngine +{ +public: + Example_StaticQuadTree() + { + sAppName = "Static QuadTree"; + } + +protected: + olc::TransformedView tv; + + // An example object of something in 2D space + struct SomeObjectWithArea + { + olc::vf2d vPos; + olc::vf2d vVel; + olc::vf2d vSize; + olc::Pixel colour; + }; + + // A regular list of the objects + std::list vecObjects; + + // An equivalent quad tree of the objects + olc::utils::QuadTreeContainer treeObjects; + + // The "length" of one side of the "world" the objects reside in + float fArea = 100000.0f; + + bool bUseQuadTree = true; + +public: + bool OnUserCreate() override + { + // Transform View - enables Pan & Zoom + tv.Initialise({ ScreenWidth(), ScreenHeight() }); + + // Create the tree, and size it to the world + treeObjects.resize(olc::utils::geom2d::rect({ 0.0f, 0.0f }, { fArea, fArea })); + + + // Dirty random float generator + auto rand_float = [](const float a, const float b) + { + return float(rand()) / float(RAND_MAX) * (b - a) + a; + }; + + + // Create 1,000,000 objects, push into both containers (so 2,000,000 I suppose :P ) + for (int i = 0; i < 1000000; i++) + { + SomeObjectWithArea ob; + ob.vPos = { rand_float(0.0f, fArea), rand_float(0.0f, fArea) }; + ob.vSize = { rand_float(0.1f, 100.0f), rand_float(0.1f, 100.0f) }; + ob.colour = olc::Pixel(rand() % 256, rand() % 256, rand() % 256); + + treeObjects.insert(ob, olc::utils::geom2d::rect(ob.vPos, ob.vSize)); + vecObjects.push_back(ob); + } + + return true; + } + + bool OnUserUpdate(float fElapsedTime) override + { + // Tab switches between modes + if (GetKey(olc::Key::TAB).bPressed) + bUseQuadTree = !bUseQuadTree; + + tv.HandlePanAndZoom(); + + // Get rectangle that equates to screen in world space + olc::utils::geom2d::rect rScreen = { tv.GetWorldTL(), tv.GetWorldBR() - tv.GetWorldTL() }; + size_t nObjectCount = 0; + + if (bUseQuadTree) + { + // QUAD TREE MODE + auto tpStart = std::chrono::system_clock::now(); + + // Use search function to return list of pointers to objects in that area + for (const auto& object : treeObjects.search(rScreen)) + { + tv.FillRectDecal(object->item.vPos, object->item.vSize, object->item.colour); + nObjectCount++; + } + std::chrono::duration duration = std::chrono::system_clock::now() - tpStart; + + + std::string sOutput = "Quadtree " + std::to_string(nObjectCount) + "/" + std::to_string(vecObjects.size()) + " in " + std::to_string(duration.count()); + DrawStringDecal({ 4, 4 }, sOutput, olc::BLACK, { 4.0f, 8.0f }); + DrawStringDecal({ 2, 2 }, sOutput, olc::WHITE, { 4.0f, 8.0f }); + + } + else + { + // LINEAR SEARCH MODE + auto tpStart = std::chrono::system_clock::now(); + + // Blindly check all objects to see if they overlap with screen + for (const auto& object : vecObjects) + { + if (olc::utils::geom2d::overlaps(rScreen,olc::utils::geom2d::rect{ object.vPos, object.vSize })) + { + tv.FillRectDecal(object.vPos, object.vSize, object.colour); + nObjectCount++; + } + } + std::chrono::duration duration = std::chrono::system_clock::now() - tpStart; + + std::string sOutput = "Linear " + std::to_string(nObjectCount) + "/" + std::to_string(vecObjects.size()) + " in " + std::to_string(duration.count()); + DrawStringDecal({ 4, 4 }, sOutput, olc::BLACK, { 4.0f, 8.0f }); + DrawStringDecal({ 2, 2 }, sOutput, olc::WHITE, { 4.0f, 8.0f }); + } + + return true; } }; + int main() { - MyStruct*st=new MyStruct({5}); - std::cout<<*st< + struct QuadTreeItemLocation + { + typename std::list, T>>* container = nullptr; + typename std::list, T>>::iterator iterator; + }; + + template + class DynamicQuadTree + { + public: + DynamicQuadTree(const geom2d::rect& size, const size_t nDepth = 0, const size_t nMaxDepth = 8) + { + m_depth = nDepth; + m_rect = size; + m_maxdepth = nMaxDepth; + resize(m_rect); + } + + // Insert a region into this area + QuadTreeItemLocation insert(const pT item, const geom2d::rect& itemsize) + { + for (int i = 0; i < 4; i++) + { + if (geom2d::contains(m_rChild[i], itemsize)) + { + // Have we reached depth limit? + if (m_depth + 1 < m_maxdepth) + { + // No, so does child exist? + if (!m_pChild[i]) + { + // No, so create it + m_pChild[i] = std::make_shared>(m_rChild[i], m_depth + 1, m_maxdepth); + } + + // Yes, so add item to it + return m_pChild[i]->insert(item, itemsize); + } + } + } + + // It didnt fit, so item must belong to this geom2d::rect + m_pItems.push_back({ itemsize, item }); + return { &m_pItems, std::prev(m_pItems.end()) }; + } + + void relocate(pT item, const geom2d::rect& rArea) + { + // Remove it + remove(item); + + // Reinsert it with new location + insert(item, rArea); + } + + size_t size() const + { + size_t nCount = m_pItems.size(); + for (int i = 0; i < 4; i++) + if (m_pChild[i]) nCount += m_pChild[i]->size(); + return nCount; + } + + void search(const geom2d::rect& rArea, std::list& listItems) const + { + // First, check for items belonging to this area, add them to the list + // if there is overlap + for (const auto& p : m_pItems) + { + if (geom2d::overlaps(rArea,p.first)) + listItems.push_back(p.second); + } + + // Second, recurse through children and see if they can + // add to the list + for (int i = 0; i < 4; i++) + { + if (m_pChild[i]) + { + // If child is entirely contained within area, recursively + // add all of its children, no need to check boundaries + if (geom2d::contains(rArea,m_rChild[i])) + m_pChild[i]->items(listItems); + + // If child overlaps with search area then checks need + // to be made + else if (geom2d::overlaps(m_rChild[i],rArea)) + m_pChild[i]->search(rArea, listItems); + } + } + + + } + + void items(std::list& listItems) const + { + // No questions asked, just return child items + for (const auto& p : m_pItems) + listItems.push_back(p.second); + + for (int i = 0; i < 4; i++) + if (m_pChild[i]) m_pChild[i]->items(listItems); + } + + void clear() + { + m_pItems.clear(); + + for (int i = 0; i < 4; i++) + { + if (m_pChild[i]) + m_pChild[i]->clear(); + else + m_pChild[i].reset(); + } + } + + void resize(const geom2d::rect& rArea) + { + clear(); + m_rect = rArea; + olc::v2d_generic vChildSize = m_rect.size / CTYPE(2); + m_rChild = + { + geom2d::rect(m_rect.pos, vChildSize), + geom2d::rect({m_rect.pos.x + vChildSize.x, m_rect.pos.y}, vChildSize), + geom2d::rect({m_rect.pos.x, m_rect.pos.y + vChildSize.y}, vChildSize), + geom2d::rect(m_rect.pos + vChildSize, vChildSize) + }; + } + + + const geom2d::rect& area() + { + return m_rect; + } + + protected: + size_t m_depth = 0; + size_t m_maxdepth = 8; + + // Area of this quadnode + geom2d::rect m_rect; + + // 4 child areas of this quadnode + std::array, 4> m_rChild{}; + + // 4 potential children of this quadnode + std::array>, 4> m_pChild{}; + + // Items which belong to this quadnode + std::list, pT>> m_pItems; + + }; + + template + struct QuadTreeItem + { + // The item Itself + T item; + + // A "locator" to the container/iterator that points to this item's iterator in the + // top level list - phew + QuadTreeItemLocation>::iterator> pItem; + }; + + template + class QuadTreeContainer + { + using IQuadtreeContainer = std::list>; + + public: + QuadTreeContainer(const geom2d::rect& size = { {0.0f, 0.0f}, { 100.0f, 100.0f } }, const size_t nDepth = 0, const size_t nMaxDepth = 8) : root(size, nDepth, nMaxDepth) + { + + } + + // Sets the spatial coverage area of teh quadtree + void resize(const geom2d::rect& rArea) + { + root.resize(rArea); + } + + // Inserts an item into the quadtree + void insert(const T& item, const geom2d::rect& itemsize) + { + QuadTreeItem newItem; + newItem.item = item; + + // Item i stored in container + m_allItems.emplace_back(newItem); + + // Pointer/Area of item is stored in geom2d::rect tree + m_allItems.back().pItem = root.insert(std::prev(m_allItems.end()), itemsize); + } + + // Returns a std::list of pointers to items within the search area + std::list search(const geom2d::rect& rArea) const + { + std::list listItemPointers; + root.search(rArea, listItemPointers); + return listItemPointers; + } + + void remove(typename IQuadtreeContainer::iterator& item) + { + // Iterator points to a QuadTreeItem + item->pItem.container->erase(item->pItem.iterator); + + // Remove actual item from container + m_allItems.erase(item); + } + + void relocate(typename IQuadtreeContainer::iterator& item, const geom2d::rect& itemsize) + { + // Remove pointer to item from whichever container its stored in + item->pItem.container->erase(item->pItem.iterator); + + // Update the items pointer by reinsertion into geom2d::rect tree + item->pItem = root.insert(item, itemsize); + + } + + typename IQuadtreeContainer::iterator begin() + { + return m_allItems.begin(); + } + + typename IQuadtreeContainer::iterator end() + { + return m_allItems.end(); + } + + typename IQuadtreeContainer::const_iterator cbegin() + { + return m_allItems.cbegin(); + } + + typename IQuadtreeContainer::const_iterator cend() + { + return m_allItems.cend(); + } + + size_t size() const + { + return root.size(); + } + + void clear() + { + root.clear(); + } + + const geom2d::rect& area() + { + return root.area(); + } + + protected: + DynamicQuadTree root; + IQuadtreeContainer m_allItems; + }; +} diff --git a/transformedView.h b/transformedView.h new file mode 100644 index 0000000..5c95872 --- /dev/null +++ b/transformedView.h @@ -0,0 +1,735 @@ +/* + olcPGEX_TransformedView.h + + +-------------------------------------------------------------+ + | OneLoneCoder Pixel Game Engine Extension | + | Transformed View v1.07 | + +-------------------------------------------------------------+ + + NOTE: UNDER ACTIVE DEVELOPMENT - THERE ARE BUGS/GLITCHES + + What is this? + ~~~~~~~~~~~~~ + This extension provides drawing routines that are compatible with + changeable world and screen spaces. For example you can pan and + zoom, and all PGE drawing routines will automatically adopt the current + world scales and offsets. + + License (OLC-3) + ~~~~~~~~~~~~~~~ + + Copyright 2018 - 2022 OneLoneCoder.com + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions or derivations of source code must retain the above + copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions or derivative works in binary form must reproduce + the above copyright notice. This list of conditions and the following + disclaimer must be reproduced in the documentation and/or other + materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Links + ~~~~~ + YouTube: https://www.youtube.com/javidx9 + Discord: https://discord.gg/WhwHUMV + Twitter: https://www.twitter.com/javidx9 + Twitch: https://www.twitch.tv/javidx9 + GitHub: https://www.github.com/onelonecoder + Homepage: https://www.onelonecoder.com + + Author + ~~~~~~ + David Barr, aka javidx9, �OneLoneCoder 2019, 2020, 2021, 2022 + + Revisions: + 1.00: Initial Release + 1.01: Fix for rounding error when scaling to screen + 1.02: Added DrawLineDecal for convenience + 1.03: Removed std::floor from WorldToScreen() + Added HandlePanAndZoom(...) convenience function + Removed unused "range" facility in TileTransformView + 1.04: Added DrawPolygonDecal() for arbitrary polygons + 1.05: Clipped DrawSprite() to visible area, massive performance increase + 1.06: Fixed error in DrawLine() - Thanks CraisyDaisyRecords (& Fern)! + 1.07: +DrawRectDecal() + +GetPGE() +*/ + +#pragma once +#ifndef OLC_PGEX_TRANSFORMEDVIEW_H +#define OLC_PGEX_TRANSFORMEDVIEW_H + +#include "pixelGameEngine.h" + + + +namespace olc +{ + class TransformedView : public olc::PGEX + { + public: + TransformedView() = default; + virtual void Initialise(const olc::vi2d& vViewArea, const olc::vf2d& vPixelScale = { 1.0f, 1.0f }); + + olc::PixelGameEngine* GetPGE(); + + public: + void SetWorldOffset(const olc::vf2d& vOffset); + void MoveWorldOffset(const olc::vf2d& vDeltaOffset); + void SetWorldScale(const olc::vf2d& vScale); + void SetViewArea(const olc::vi2d& vViewArea); + olc::vf2d GetWorldTL() const; + olc::vf2d GetWorldBR() const; + olc::vf2d GetWorldVisibleArea() const; + void ZoomAtScreenPos(const float fDeltaZoom, const olc::vi2d& vPos); + void SetZoom(const float fZoom, const olc::vf2d& vPos); + void StartPan(const olc::vi2d& vPos); + void UpdatePan(const olc::vi2d& vPos); + void EndPan(const olc::vi2d& vPos); + const olc::vf2d& GetWorldOffset() const; + const olc::vf2d& GetWorldScale() const; + virtual olc::vf2d WorldToScreen(const olc::vf2d& vWorldPos) const; + virtual olc::vf2d ScreenToWorld(const olc::vf2d& vScreenPos) const; + virtual olc::vf2d ScaleToWorld(const olc::vf2d& vScreenSize) const; + virtual olc::vf2d ScaleToScreen(const olc::vf2d& vWorldSize) const; + virtual bool IsPointVisible(const olc::vf2d& vPos) const; + virtual bool IsRectVisible(const olc::vf2d& vPos, const olc::vf2d& vSize) const; + virtual void HandlePanAndZoom(const int nMouseButton = 2, const float fZoomRate = 0.1f, const bool bPan = true, const bool bZoom = true); + protected: + olc::vf2d m_vWorldOffset = { 0.0f, 0.0f }; + olc::vf2d m_vWorldScale = { 1.0f, 1.0f }; + olc::vf2d m_vRecipPixel = { 1.0f, 1.0f }; + olc::vf2d m_vPixelScale = { 1.0f, 1.0f }; + bool m_bPanning = false; + olc::vf2d m_vStartPan = { 0.0f, 0.0f }; + olc::vi2d m_vViewArea; + + public: // Hopefully, these should look familiar! + // Plots a single point + virtual bool Draw(float x, float y, olc::Pixel p = olc::WHITE); + bool Draw(const olc::vf2d& pos, olc::Pixel p = olc::WHITE); + // Draws a line from (x1,y1) to (x2,y2) + void DrawLine(float x1, float y1, float x2, float y2, olc::Pixel p = olc::WHITE, uint32_t pattern = 0xFFFFFFFF); + void DrawLine(const olc::vf2d& pos1, const olc::vf2d& pos2, olc::Pixel p = olc::WHITE, uint32_t pattern = 0xFFFFFFFF); + // Draws a circle located at (x,y) with radius + void DrawCircle(float x, float y, float radius, olc::Pixel p = olc::WHITE, uint8_t mask = 0xFF); + void DrawCircle(const olc::vf2d& pos, float radius, olc::Pixel p = olc::WHITE, uint8_t mask = 0xFF); + // Fills a circle located at (x,y) with radius + void FillCircle(float x, float y, float radius, olc::Pixel p = olc::WHITE); + void FillCircle(const olc::vf2d& pos, float radius, olc::Pixel p = olc::WHITE); + // Draws a rectangle at (x,y) to (x+w,y+h) + void DrawRect(float x, float y, float w, float h, olc::Pixel p = olc::WHITE); + void DrawRect(const olc::vf2d& pos, const olc::vf2d& size, olc::Pixel p = olc::WHITE); + // Fills a rectangle at (x,y) to (x+w,y+h) + void FillRect(float x, float y, float w, float h, olc::Pixel p = olc::WHITE); + void FillRect(const olc::vf2d& pos, const olc::vf2d& size, olc::Pixel p = olc::WHITE); + // Draws a triangle between points (x1,y1), (x2,y2) and (x3,y3) + void DrawTriangle(float x1, float y1, float x2, float y2, float x3, float y3, olc::Pixel p = olc::WHITE); + void DrawTriangle(const olc::vf2d& pos1, const olc::vf2d& pos2, const olc::vf2d& pos3, olc::Pixel p = olc::WHITE); + // Flat fills a triangle between points (x1,y1), (x2,y2) and (x3,y3) + void FillTriangle(float x1, float y1, float x2, float y2, float x3, float y3, olc::Pixel p = olc::WHITE); + void FillTriangle(const olc::vf2d& pos1, const olc::vf2d& pos2, const olc::vf2d& pos3, olc::Pixel p = olc::WHITE); + // Draws an entire sprite at location (x,y) + void DrawSprite(float x, float y, olc::Sprite* sprite, float scalex = 1, float scaley = 1, uint8_t flip = olc::Sprite::NONE); + void DrawSprite(const olc::vf2d& pos, olc::Sprite* sprite, const olc::vf2d& scale = { 1.0f, 1.0f }, uint8_t flip = olc::Sprite::NONE); + // Draws an area of a sprite at location (x,y), where the + // selected area is (ox,oy) to (ox+w,oy+h) + void DrawPartialSprite(float x, float y, Sprite* sprite, int32_t ox, int32_t oy, int32_t w, int32_t h, float scalex = 1, float scaley = 1, uint8_t flip = olc::Sprite::NONE); + void DrawPartialSprite(const olc::vf2d& pos, Sprite* sprite, const olc::vi2d& sourcepos, const olc::vi2d& size, const olc::vf2d& scale = { 1.0f, 1.0f }, uint8_t flip = olc::Sprite::NONE); + void DrawString(float x, float y, const std::string& sText, Pixel col, const olc::vf2d& scale); + void DrawString(const olc::vf2d& pos, const std::string& sText, const Pixel col, const olc::vf2d& scale); + + + // Draws a whole decal, with optional scale and tinting + void DrawDecal(const olc::vf2d& pos, olc::Decal* decal, const olc::vf2d& scale = { 1.0f,1.0f }, const olc::Pixel& tint = olc::WHITE); + // Draws a region of a decal, with optional scale and tinting + void DrawPartialDecal(const olc::vf2d& pos, olc::Decal* decal, const olc::vf2d& source_pos, const olc::vf2d& source_size, const olc::vf2d& scale = { 1.0f,1.0f }, const olc::Pixel& tint = olc::WHITE); + void DrawPartialDecal(const olc::vf2d& pos, const olc::vf2d& size, olc::Decal* decal, const olc::vf2d& source_pos, const olc::vf2d& source_size, const olc::Pixel& tint = olc::WHITE); + // Draws fully user controlled 4 vertices, pos(pixels), uv(pixels), colours + void DrawExplicitDecal(olc::Decal* decal, const olc::vf2d* pos, const olc::vf2d* uv, const olc::Pixel* col, uint32_t elements = 4); + //// Draws a decal with 4 arbitrary points, warping the texture to look "correct" + void DrawWarpedDecal(olc::Decal* decal, const olc::vf2d(&pos)[4], const olc::Pixel& tint = olc::WHITE); + void DrawWarpedDecal(olc::Decal* decal, const olc::vf2d* pos, const olc::Pixel& tint = olc::WHITE); + void DrawWarpedDecal(olc::Decal* decal, const std::array& pos, const olc::Pixel& tint = olc::WHITE); + //// As above, but you can specify a region of a decal source sprite + void DrawPartialWarpedDecal(olc::Decal* decal, const olc::vf2d(&pos)[4], const olc::vf2d& source_pos, const olc::vf2d& source_size, const olc::Pixel& tint = olc::WHITE); + void DrawPartialWarpedDecal(olc::Decal* decal, const olc::vf2d* pos, const olc::vf2d& source_pos, const olc::vf2d& source_size, const olc::Pixel& tint = olc::WHITE); + void DrawPartialWarpedDecal(olc::Decal* decal, const std::array& pos, const olc::vf2d& source_pos, const olc::vf2d& source_size, const olc::Pixel& tint = olc::WHITE); + //// Draws a decal rotated to specified angle, wit point of rotation offset + void DrawRotatedDecal(const olc::vf2d& pos, olc::Decal* decal, const float fAngle, const olc::vf2d& center = { 0.0f, 0.0f }, const olc::vf2d& scale = { 1.0f,1.0f }, const olc::Pixel& tint = olc::WHITE); + void DrawPartialRotatedDecal(const olc::vf2d& pos, olc::Decal* decal, const float fAngle, const olc::vf2d& center, const olc::vf2d& source_pos, const olc::vf2d& source_size, const olc::vf2d& scale = { 1.0f, 1.0f }, const olc::Pixel& tint = olc::WHITE); + // Draws a multiline string as a decal, with tiniting and scaling + void DrawStringDecal(const olc::vf2d& pos, const std::string& sText, const olc::Pixel col = olc::WHITE, const olc::vf2d& scale = { 1.0f, 1.0f }); + void DrawStringPropDecal(const olc::vf2d& pos, const std::string& sText, const olc::Pixel col = olc::WHITE, const olc::vf2d& scale = { 1.0f, 1.0f }); + // Draws a single shaded filled rectangle as a decal + void FillRectDecal(const olc::vf2d& pos, const olc::vf2d& size, const olc::Pixel col = olc::WHITE); + void DrawRectDecal(const olc::vf2d& pos, const olc::vf2d& size, const olc::Pixel col = olc::WHITE); + + // Draws a corner shaded rectangle as a decal + void GradientFillRectDecal(const olc::vf2d& pos, const olc::vf2d& size, const olc::Pixel colTL, const olc::Pixel colBL, const olc::Pixel colBR, const olc::Pixel colTR); + // Draws an arbitrary convex textured polygon using GPU + void DrawPolygonDecal(olc::Decal* decal, const std::vector& pos, const std::vector& uv, const olc::Pixel tint = olc::WHITE); + void DrawLineDecal(const olc::vf2d& pos1, const olc::vf2d& pos2, Pixel p = olc::WHITE); + void DrawPolygonDecal(olc::Decal * decal, const std::vector&pos, const std::vector&uv, const std::vector &tint); + + +#if defined(OLC_PGEX_SHADER) + // Shader Specific + void DrawDecal(olc::Shade& shader, const olc::vf2d & pos, olc::Decal * decal, const olc::vf2d & scale = { 1.0f,1.0f }, const olc::Pixel & tint = olc::WHITE); + void DrawPartialDecal(olc::Shade& shader, const olc::vf2d& pos, olc::Decal* decal, const olc::vf2d& source_pos, const olc::vf2d& source_size, const olc::vf2d& scale = { 1.0f,1.0f }, const olc::Pixel& tint = olc::WHITE); + void DrawPartialDecal(olc::Shade& shader, const olc::vf2d& pos, const olc::vf2d& size, olc::Decal* decal, const olc::vf2d& source_pos, const olc::vf2d& source_size, const olc::Pixel& tint = olc::WHITE); +#endif + + + + }; + + class TileTransformedView : public TransformedView + { + public: + TileTransformedView() = default; + TileTransformedView(const olc::vi2d& vViewArea, const olc::vi2d& vTileSize); + + public: + olc::vi2d GetTopLeftTile() const; + olc::vi2d GetBottomRightTile() const; + olc::vi2d GetVisibleTiles() const; + olc::vi2d GetTileUnderScreenPos(const olc::vi2d& vPos) const; + const olc::vi2d GetTileOffset() const; + + }; +} + +#ifdef OLC_PGEX_TRANSFORMEDVIEW +#undef OLC_PGEX_TRANSFORMEDVIEW + +namespace olc +{ + olc::PixelGameEngine* TransformedView::GetPGE() + { + return pge; + } + + void TransformedView::Initialise(const olc::vi2d& vViewArea, const olc::vf2d& vPixelScale) + { + SetViewArea(vViewArea); + SetWorldScale(vPixelScale); + m_vPixelScale = vPixelScale; + m_vRecipPixel = 1.0f / m_vPixelScale; + } + + void TransformedView::SetWorldOffset(const olc::vf2d& vOffset) + { + m_vWorldOffset = vOffset; + } + + void TransformedView::MoveWorldOffset(const olc::vf2d& vDeltaOffset) + { + m_vWorldOffset += vDeltaOffset; + } + + void TransformedView::SetWorldScale(const olc::vf2d& vScale) + { + m_vWorldScale = vScale; + } + + void TransformedView::SetViewArea(const olc::vi2d& vViewArea) + { + m_vViewArea = vViewArea; + } + + olc::vf2d TransformedView::GetWorldTL() const + { + return TransformedView::ScreenToWorld({ 0,0 }); + } + + olc::vf2d TransformedView::GetWorldBR() const + { + return TransformedView::ScreenToWorld(m_vViewArea); + } + + olc::vf2d TransformedView::GetWorldVisibleArea() const + { + return GetWorldBR() - GetWorldTL(); + } + + void TransformedView::ZoomAtScreenPos(const float fDeltaZoom, const olc::vi2d& vPos) + { + olc::vf2d vOffsetBeforeZoom = ScreenToWorld(vPos); + m_vWorldScale *= fDeltaZoom; + olc::vf2d vOffsetAfterZoom = ScreenToWorld(vPos); + m_vWorldOffset += vOffsetBeforeZoom - vOffsetAfterZoom; + } + + void TransformedView::SetZoom(const float fZoom, const olc::vf2d& vPos) + { + olc::vf2d vOffsetBeforeZoom = ScreenToWorld(vPos); + m_vWorldScale = { fZoom, fZoom }; + olc::vf2d vOffsetAfterZoom = ScreenToWorld(vPos); + m_vWorldOffset += vOffsetBeforeZoom - vOffsetAfterZoom; + } + + void TransformedView::StartPan(const olc::vi2d& vPos) + { + m_bPanning = true; + m_vStartPan = olc::vf2d(vPos); + } + + void TransformedView::UpdatePan(const olc::vi2d& vPos) + { + if (m_bPanning) + { + m_vWorldOffset -= (olc::vf2d(vPos) - m_vStartPan) / m_vWorldScale; + m_vStartPan = olc::vf2d(vPos); + } + } + + void TransformedView::EndPan(const olc::vi2d& vPos) + { + UpdatePan(vPos); + m_bPanning = false; + } + + const olc::vf2d& TransformedView::GetWorldOffset() const + { + return m_vWorldOffset; + } + + const olc::vf2d& TransformedView::GetWorldScale() const + { + return m_vWorldScale; + } + + olc::vf2d TransformedView::WorldToScreen(const olc::vf2d& vWorldPos) const + { + olc::vf2d vFloat = ((vWorldPos - m_vWorldOffset) * m_vWorldScale); + //vFloat = { std::floor(vFloat.x + 0.5f), std::floor(vFloat.y + 0.5f) }; + return vFloat; + } + + olc::vf2d TransformedView::ScreenToWorld(const olc::vf2d& vScreenPos) const + { + return (olc::vf2d(vScreenPos) / m_vWorldScale) + m_vWorldOffset; + } + + olc::vf2d TransformedView::ScaleToWorld(const olc::vf2d& vScreenSize) const + { + return (olc::vf2d(vScreenSize) / m_vWorldScale); + } + + olc::vf2d TransformedView::ScaleToScreen(const olc::vf2d& vWorldSize) const + { + //olc::vf2d vFloat = (vWorldSize * m_vWorldScale) + olc::vf2d(0.5f, 0.5f); + //return vFloat.floor(); + return (vWorldSize * m_vWorldScale); + } + + bool TransformedView::IsPointVisible(const olc::vf2d & vPos) const + { + olc::vi2d vScreen = WorldToScreen(vPos); + return vScreen.x >= 0 && vScreen.x < m_vViewArea.x&& vScreen.y >= 0 && vScreen.y < m_vViewArea.y; + } + + bool TransformedView::IsRectVisible(const olc::vf2d& vPos, const olc::vf2d& vSize) const + { + olc::vi2d vScreenPos = WorldToScreen(vPos); + olc::vi2d vScreenSize = vSize * m_vWorldScale; + return (vScreenPos.x < 0 + m_vViewArea.x && vScreenPos.x + vScreenSize.x > 0 && vScreenPos.y < m_vViewArea.y&& vScreenPos.y + vScreenSize.y > 0); + } + + void TransformedView::HandlePanAndZoom(const int nMouseButton, const float fZoomRate, const bool bPan, const bool bZoom) + { + const auto& vMousePos = pge->GetMousePos(); + if (bPan) + { + if (pge->GetMouse(nMouseButton).bPressed) StartPan(vMousePos); + if (pge->GetMouse(nMouseButton).bHeld) UpdatePan(vMousePos); + if (pge->GetMouse(nMouseButton).bReleased) EndPan(vMousePos); + } + + if (bZoom) + { + if (pge->GetMouseWheel() > 0) ZoomAtScreenPos(1.0f + fZoomRate, vMousePos); + if (pge->GetMouseWheel() < 0) ZoomAtScreenPos(1.0f - fZoomRate, vMousePos); + } + } + + bool TransformedView::Draw(float x, float y, olc::Pixel p) + { + return Draw({ x, y }, p); + } + + bool TransformedView::Draw(const olc::vf2d & pos, olc::Pixel p) + { + return pge->Draw(WorldToScreen(pos), p); + } + + void TransformedView::DrawLine(float x1, float y1, float x2, float y2, olc::Pixel p, uint32_t pattern) + { + DrawLine({ x1, y1 }, { x2, y2 }, p, pattern); + } + + void TransformedView::DrawLine(const olc::vf2d & pos1, const olc::vf2d & pos2, olc::Pixel p, uint32_t pattern) + { + pge->DrawLine(WorldToScreen(pos1), WorldToScreen(pos2), p, pattern); + } + + void TransformedView::DrawCircle(float x, float y, float radius, olc::Pixel p, uint8_t mask) + { + DrawCircle({ x,y }, radius, p, mask); + } + + void TransformedView::DrawCircle(const olc::vf2d & pos, float radius, olc::Pixel p, uint8_t mask) + { + pge->DrawCircle(WorldToScreen(pos), int32_t(radius * m_vWorldScale.x), p, mask); + } + + void TransformedView::FillCircle(float x, float y, float radius, olc::Pixel p) + { + FillCircle({ x,y }, radius, p); + } + + void TransformedView::FillCircle(const olc::vf2d & pos, float radius, olc::Pixel p) + { + pge->FillCircle(WorldToScreen(pos), int32_t(radius * m_vWorldScale.x), p); + } + + void TransformedView::DrawRect(float x, float y, float w, float h, olc::Pixel p) + { + DrawRect({ x, y }, { w, h }, p); + } + + void TransformedView::DrawRect(const olc::vf2d & pos, const olc::vf2d & size, olc::Pixel p) + { + pge->DrawRect(WorldToScreen(pos), ((size * m_vWorldScale) + olc::vf2d(0.5f, 0.5f)).floor(), p); + } + + void TransformedView::FillRect(float x, float y, float w, float h, olc::Pixel p) + { + FillRect({ x, y }, { w, h }, p); + } + + void TransformedView::FillRect(const olc::vf2d & pos, const olc::vf2d & size, olc::Pixel p) + { + pge->FillRect(WorldToScreen(pos), size * m_vWorldScale, p); + } + + void TransformedView::DrawTriangle(float x1, float y1, float x2, float y2, float x3, float y3, olc::Pixel p) + { + DrawTriangle({ x1, y1 }, { x2, y2 }, { x3, y3 }, p); + } + + void TransformedView::DrawTriangle(const olc::vf2d & pos1, const olc::vf2d & pos2, const olc::vf2d & pos3, olc::Pixel p) + { + pge->DrawTriangle(WorldToScreen(pos1), WorldToScreen(pos2), WorldToScreen(pos3), p); + } + + void TransformedView::FillTriangle(float x1, float y1, float x2, float y2, float x3, float y3, olc::Pixel p) + { + FillTriangle({ x1, y1 }, { x2, y2 }, { x3, y3 }, p); + } + + void TransformedView::FillTriangle(const olc::vf2d & pos1, const olc::vf2d & pos2, const olc::vf2d & pos3, olc::Pixel p) + { + pge->FillTriangle(WorldToScreen(pos1), WorldToScreen(pos2), WorldToScreen(pos3), p); + } + + void TransformedView::DrawSprite(float x, float y, olc::Sprite* sprite, float scalex, float scaley, uint8_t flip) + { + DrawSprite({ x, y }, sprite, { scalex, scaley }, flip); + } + + void TransformedView::DrawSprite(const olc::vf2d & pos, olc::Sprite * sprite, const olc::vf2d & scale, uint8_t flip) + { + olc::vf2d vSpriteSize = olc::vf2d(float(sprite->width), float(sprite->height)); + if (IsRectVisible(pos, vSpriteSize * scale)) + { + olc::vf2d vSpriteScaledSize = vSpriteSize * m_vRecipPixel * m_vWorldScale * scale; + olc::vi2d vPixel; + olc::vi2d vSpritePixelStart = WorldToScreen(pos); + olc::vi2d vSpritePixelEnd = WorldToScreen((vSpriteSize * scale) + pos); + + olc::vi2d vScreenPixelStart = (vSpritePixelStart).max({0,0}); + olc::vi2d vScreenPixelEnd = (vSpritePixelEnd).min({ pge->ScreenWidth(),pge->ScreenHeight() }); + + olc::vf2d vPixelStep = 1.0f / vSpriteScaledSize; + + for (vPixel.y = vScreenPixelStart.y; vPixel.y < vScreenPixelEnd.y; vPixel.y++) + { + for (vPixel.x = vScreenPixelStart.x; vPixel.x < vScreenPixelEnd.x; vPixel.x++) + { + olc::vf2d vSample = olc::vf2d(vPixel - vSpritePixelStart) * vPixelStep; + pge->Draw(vPixel, sprite->Sample(vSample.x, vSample.y)); + } + } + } + } + + + void TransformedView::DrawPartialSprite(float x, float y, Sprite* sprite, int32_t ox, int32_t oy, int32_t w, int32_t h, float scalex, float scaley, uint8_t flip) + { + DrawPartialSprite({ x,y }, sprite, { ox,oy }, { w, h }, { scalex, scaley }, flip); + } + + void TransformedView::DrawPartialSprite(const olc::vf2d& pos, Sprite* sprite, const olc::vi2d& sourcepos, const olc::vi2d& size, const olc::vf2d& scale, uint8_t flip) + { + olc::vf2d vSpriteSize = size; + if (IsRectVisible(pos, size * scale)) + { + olc::vf2d vSpriteScaledSize = olc::vf2d(size) * m_vRecipPixel * m_vWorldScale * scale; + olc::vf2d vSpritePixelStep = 1.0f / olc::vf2d(float(sprite->width), float(sprite->height)); + olc::vi2d vPixel, vStart = WorldToScreen(pos), vEnd = vSpriteScaledSize + vStart; + olc::vf2d vScreenPixelStep = 1.0f / vSpriteScaledSize; + + for (vPixel.y = vStart.y; vPixel.y < vEnd.y; vPixel.y++) + { + for (vPixel.x = vStart.x; vPixel.x < vEnd.x; vPixel.x++) + { + olc::vf2d vSample = ((olc::vf2d(vPixel - vStart) * vScreenPixelStep) * size * vSpritePixelStep) + olc::vf2d(sourcepos) * vSpritePixelStep; + pge->Draw(vPixel, sprite->Sample(vSample.x, vSample.y)); + } + } + } + } + + void TransformedView::DrawString(float x, float y, const std::string& sText, Pixel col, const olc::vf2d& scale) + { + DrawString({ x, y }, sText, col, scale); + } + + void TransformedView::DrawString(const olc::vf2d& pos, const std::string& sText, const Pixel col, const olc::vf2d& scale) + { + olc::vf2d vOffset = { 0.0f, 0.0f }; + Pixel::Mode m = pge->GetPixelMode(); + + auto StringPlot = [&col](const int x, const int y, const olc::Pixel& pSource, const olc::Pixel& pDest) + { + return pSource.r > 1 ? col : pDest; + }; + + pge->SetPixelMode(StringPlot); + + for (auto c : sText) + { + if (c == '\n') + { + vOffset.x = 0.0f; vOffset.y += 8.0f * m_vRecipPixel.y * scale.y; + } + else + { + int32_t ox = ((c - 32) % 16) * 8; + int32_t oy = ((c - 32) / 16) * 8; + DrawPartialSprite(pos + vOffset, pge->GetFontSprite(), { ox, oy }, { 8, 8 }, scale); + vOffset.x += 8.0f * m_vRecipPixel.x * scale.x; + } + } + pge->SetPixelMode(m); + } + + + void TransformedView::DrawDecal(const olc::vf2d & pos, olc::Decal * decal, const olc::vf2d & scale, const olc::Pixel & tint) + { + pge->DrawDecal(WorldToScreen(pos), decal, scale * m_vWorldScale * m_vRecipPixel, tint); + } + + void TransformedView::DrawPartialDecal(const olc::vf2d & pos, olc::Decal * decal, const olc::vf2d & source_pos, const olc::vf2d & source_size, const olc::vf2d & scale, const olc::Pixel & tint) + { + pge->DrawPartialDecal(WorldToScreen(pos), decal, source_pos, source_size, scale * m_vWorldScale * m_vRecipPixel, tint); + } + + void TransformedView::DrawPartialDecal(const olc::vf2d & pos, const olc::vf2d & size, olc::Decal * decal, const olc::vf2d & source_pos, const olc::vf2d & source_size, const olc::Pixel & tint) + { + pge->DrawPartialDecal(WorldToScreen(pos), size * m_vWorldScale * m_vRecipPixel, decal, source_pos, source_size, tint); + } + + void TransformedView::DrawExplicitDecal(olc::Decal* decal, const olc::vf2d* pos, const olc::vf2d* uv, const olc::Pixel* col, uint32_t elements) + { + std::vector vTransformed(elements); + for (uint32_t n = 0; n < elements; n++) + vTransformed[n] = WorldToScreen(pos[n]); + pge->DrawExplicitDecal(decal, vTransformed.data(), uv, col, elements); + } + + void TransformedView::DrawWarpedDecal(olc::Decal* decal, const olc::vf2d* pos, const olc::Pixel& tint) + { + std::array vTransformed = + { { + WorldToScreen(pos[0]), WorldToScreen(pos[1]), + WorldToScreen(pos[2]), WorldToScreen(pos[3]), + } }; + + pge->DrawWarpedDecal(decal, vTransformed, tint); + } + + void TransformedView::DrawWarpedDecal(olc::Decal* decal, const olc::vf2d(&pos)[4], const olc::Pixel& tint) + { + DrawWarpedDecal(decal, &pos[0], tint); + } + + void TransformedView::DrawWarpedDecal(olc::Decal* decal, const std::array& pos, const olc::Pixel& tint) + { + DrawWarpedDecal(decal, pos.data(), tint); + } + + void TransformedView::DrawPartialWarpedDecal(olc::Decal* decal, const olc::vf2d(&pos)[4], const olc::vf2d& source_pos, const olc::vf2d& source_size, const olc::Pixel& tint) + { + DrawPartialWarpedDecal(decal, &pos[0], source_pos, source_size, tint); + } + + void TransformedView::DrawPartialWarpedDecal(olc::Decal* decal, const olc::vf2d* pos, const olc::vf2d& source_pos, const olc::vf2d& source_size, const olc::Pixel& tint) + { + std::array vTransformed = + { { + WorldToScreen(pos[0]), WorldToScreen(pos[1]), + WorldToScreen(pos[2]), WorldToScreen(pos[3]), + } }; + + pge->DrawPartialWarpedDecal(decal, vTransformed, source_pos, source_size, tint); + } + + void TransformedView::DrawPartialWarpedDecal(olc::Decal* decal, const std::array& pos, const olc::vf2d& source_pos, const olc::vf2d& source_size, const olc::Pixel& tint) + { + DrawPartialWarpedDecal(decal, pos.data(), source_pos, source_size, tint); + } + + void TransformedView::DrawRotatedDecal(const olc::vf2d & pos, olc::Decal * decal, const float fAngle, const olc::vf2d & center, const olc::vf2d & scale, const olc::Pixel & tint) + { + pge->DrawRotatedDecal(WorldToScreen(pos), decal, fAngle, center, scale * m_vWorldScale * m_vRecipPixel, tint); + } + + void TransformedView::DrawPartialRotatedDecal(const olc::vf2d & pos, olc::Decal * decal, const float fAngle, const olc::vf2d & center, const olc::vf2d & source_pos, const olc::vf2d & source_size, const olc::vf2d & scale, const olc::Pixel & tint) + { + pge->DrawPartialRotatedDecal(WorldToScreen(pos), decal, fAngle, center, source_pos, source_size, scale * m_vWorldScale * m_vRecipPixel, tint); + } + + void TransformedView::DrawStringDecal(const olc::vf2d & pos, const std::string & sText, const olc::Pixel col, const olc::vf2d & scale) + { + pge->DrawStringDecal(WorldToScreen(pos), sText, col, scale * m_vWorldScale * m_vRecipPixel); + } + + void TransformedView::DrawStringPropDecal(const olc::vf2d & pos, const std::string & sText, const olc::Pixel col, const olc::vf2d & scale ) + { + pge->DrawStringPropDecal(WorldToScreen(pos), sText, col, scale * m_vWorldScale * m_vRecipPixel); + } + + void TransformedView::FillRectDecal(const olc::vf2d & pos, const olc::vf2d & size, const olc::Pixel col) + { + pge->FillRectDecal(WorldToScreen(pos), (size * m_vWorldScale).ceil(), col); + } + + void TransformedView::DrawRectDecal(const olc::vf2d& pos, const olc::vf2d& size, const olc::Pixel col) + { + pge->DrawRectDecal(WorldToScreen(pos), (size * m_vWorldScale).ceil(), col); + } + + void TransformedView::DrawLineDecal(const olc::vf2d& pos1, const olc::vf2d& pos2, Pixel p) + { + pge->DrawLineDecal(WorldToScreen(pos1), WorldToScreen(pos2), p); + } + + void TransformedView::GradientFillRectDecal(const olc::vf2d & pos, const olc::vf2d & size, const olc::Pixel colTL, const olc::Pixel colBL, const olc::Pixel colBR, const olc::Pixel colTR) + { + pge->GradientFillRectDecal(WorldToScreen(pos), size * m_vWorldScale, colTL, colBL, colBR, colTR); + } + + void TransformedView::DrawPolygonDecal(olc::Decal* decal, const std::vector& pos, const std::vector& uv, const olc::Pixel tint) + { + std::vector vTransformed(pos.size()); + for (uint32_t n = 0; n < pos.size(); n++) + vTransformed[n] = WorldToScreen(pos[n]); + pge->DrawPolygonDecal(decal, vTransformed, uv, tint); + } + + void TransformedView::DrawPolygonDecal(olc::Decal* decal, const std::vector& pos, const std::vector& uv, const std::vector &tint) + { + std::vector vTransformed(pos.size()); + for (uint32_t n = 0; n < pos.size(); n++) + vTransformed[n] = WorldToScreen(pos[n]); + pge->DrawPolygonDecal(decal, vTransformed, uv, tint); + } + + +#if defined (OLC_PGEX_SHADER) + + void TransformedView::DrawDecal(olc::Shade &shade, const olc::vf2d& pos, olc::Decal* decal, const olc::vf2d& scale, const olc::Pixel& tint) + { + shade.DrawDecal(WorldToScreen(pos), decal, scale * m_vWorldScale * m_vRecipPixel, tint); + } + + void TransformedView::DrawPartialDecal(olc::Shade& shade, const olc::vf2d& pos, olc::Decal* decal, const olc::vf2d& source_pos, const olc::vf2d& source_size, const olc::vf2d& scale, const olc::Pixel& tint) + { + shade.DrawPartialDecal(WorldToScreen(pos), decal, source_pos, source_size, scale * m_vWorldScale * m_vRecipPixel, tint); + } + + void TransformedView::DrawPartialDecal(olc::Shade& shade, const olc::vf2d& pos, const olc::vf2d& size, olc::Decal* decal, const olc::vf2d& source_pos, const olc::vf2d& source_size, const olc::Pixel& tint) + { + shade.DrawPartialDecal(WorldToScreen(pos), size * m_vWorldScale * m_vRecipPixel, decal, source_pos, source_size, tint); + } + +#endif + + + + + + + + ///////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////// + + + TileTransformedView::TileTransformedView(const olc::vi2d& vViewArea, const olc::vi2d& vTileSize) + { + Initialise(vViewArea, vTileSize); + } + + + olc::vi2d TileTransformedView::GetTopLeftTile() const + { + return ScreenToWorld({ 0,0 }).floor(); + } + + olc::vi2d TileTransformedView::GetBottomRightTile() const + { + return ScreenToWorld(m_vViewArea).ceil(); + } + + olc::vi2d TileTransformedView::GetVisibleTiles() const + { + return GetBottomRightTile() - GetTopLeftTile(); + } + + olc::vi2d TileTransformedView::GetTileUnderScreenPos(const olc::vi2d& vPos) const + { + return ScreenToWorld(vPos).floor(); + } + + const olc::vi2d TileTransformedView::GetTileOffset() const + { + return { int32_t((m_vWorldOffset.x - std::floor(m_vWorldOffset.x)) * m_vWorldScale.x), + int32_t((m_vWorldOffset.y - std::floor(m_vWorldOffset.y)) * m_vWorldScale.y) }; + } +} + +#endif +#endif