public:
LookupTable (Item const &);
virtual ~LookupTable ();
-
+
virtual std::vector<Item*> get (Rect const &) = 0;
virtual std::vector<Item*> items_at_point (Duple const &) const = 0;
virtual bool has_item_at_point (Duple const & point) const = 0;
protected:
-
+
Item const & _item;
};
{
public:
DumbLookupTable (Item const &);
-
+
std::vector<Item*> get (Rect const &);
std::vector<Item*> items_at_point (Duple const &) const;
bool has_item_at_point (Duple const & point) const;
std::vector<Item*> get (Rect const &);
std::vector<Item*> items_at_point (Duple const &) const;
bool has_item_at_point (Duple const & point) const;
-
+
static int default_items_per_cell;
-
+
private:
-
+
void area_to_indices (Rect const &, int &, int &, int &, int &) const;
void point_to_indices (Duple, int &, int &) const;
-
+
friend class ::OptimizingLookupTableTest;
-
+
typedef std::vector<Item*> Cell;
int _items_per_cell;
int _dimension;