00001 // Copyright (c) 2013 by Wayne C. Gramlich. All rights reserved. 00002 00003 #if !defined(BOUNDING_BOX_H_INCLUDED) 00004 #define BOUNDING_BOX_H_INCLUDED 1 00005 00006 00007 class BoundingBox { 00008 private: 00009 double maximum_x; 00010 double minimum_x; 00011 double maximum_y; 00012 double minimum_y; 00013 00014 public: 00015 // @brief Create a new empty *BoundingBox* object 00016 BoundingBox(); 00017 00018 // @brief Resets the contents of this *BoundingBox* to empty 00019 void reset(); 00020 00021 // @brief Add the point (*x*, *y*) to this *BoundingBox* 00022 // @param x is the X value to update 00023 // @param y is the Y value to update 00024 void update(double x, double y); 00025 00026 double min_x() { return minimum_x; } 00027 double max_x() { return maximum_x; } 00028 double min_y() { return minimum_y; } 00029 double max_y() { return maximum_y; } 00030 }; 00031 00032 #endif // !defined(BOUNDING_BOX_H_INCLUDED)