summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/coord-circle.cc
diff options
context:
space:
mode:
authorRobert Vollmert <rvollmert@gmx.net>2009-11-13 22:05:59 +0100
committerRobert Vollmert <rvollmert@gmx.net>2009-11-13 22:51:34 +0100
commitbb4f0a1ac81da867dbe57bfaea364b69fb02d68a (patch)
treef7278f31bc269f7b527276722200c28b1e832947 /crawl-ref/source/coord-circle.cc
parentd15c5257fbe4fc12651fa1b59745550d87f4df8d (diff)
downloadcrawl-ref-bb4f0a1ac81da867dbe57bfaea364b69fb02d68a.tar.gz
crawl-ref-bb4f0a1ac81da867dbe57bfaea364b69fb02d68a.zip
Add translating constructor to circle_def.
Diffstat (limited to 'crawl-ref/source/coord-circle.cc')
-rw-r--r--crawl-ref/source/coord-circle.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/crawl-ref/source/coord-circle.cc b/crawl-ref/source/coord-circle.cc
index a4d98ad505..d43f41cfd1 100644
--- a/crawl-ref/source/coord-circle.cc
+++ b/crawl-ref/source/coord-circle.cc
@@ -33,6 +33,14 @@ circle_def::circle_def()
init(LOS_MAX_RADIUS, C_ROUND);
}
+circle_def::circle_def(const coord_def& origin_, const circle_def& bds)
+ : los_radius(bds.los_radius), shape(bds.shape),
+ origin(origin_), radius(bds.radius), radius_sq(bds.radius_sq)
+{
+ // Set up bounding box.
+ init_bbox();
+}
+
circle_def::circle_def(int param, circle_type ctype)
: los_radius(false), origin(coord_def(0,0))
{
@@ -69,6 +77,11 @@ void circle_def::init(int param, circle_type ctype)
radius = param;
radius_sq = radius * radius;
}
+ init_bbox();
+}
+
+void circle_def::init_bbox()
+{
bbox = rect_def(origin - coord_def(radius, radius),
origin + coord_def(radius, radius));
if (!origin.origin())