Mercurial > fife-parpg
diff engine/core/model/structures/location.i @ 0:4a0efb7baf70
* Datasets becomes the new trunk and retires after that :-)
author | mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Sun, 29 Jun 2008 18:44:17 +0000 |
parents | |
children | 90005975cdbb |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/engine/core/model/structures/location.i Sun Jun 29 18:44:17 2008 +0000 @@ -0,0 +1,51 @@ +%module fife +%{ +#include "model/structures/location.h" +%} + +namespace FIFE { + + class Map; + class Layer; + class NotSet; + class ModelCoordinate; + class ExactModelCoordinate; + + // for some reason swig ignores operator= and gives warning. Ignore this for now + %ignore Location::operator=; + + class Location { + public: + Location(); + Location(const Location& loc); + Location(Layer* layer); + ~Location(); + void reset(); + Location& operator=(const Location& rhs) const; + inline bool operator==(const Location& loc) const; + + Map* getMap() const; + void setLayer(Layer* layer); + Layer* getLayer() const; + + void setExactLayerCoordinates(const ExactModelCoordinate& coordinates); + void setLayerCoordinates(const ModelCoordinate& coordinates); + void setMapCoordinates(const ExactModelCoordinate& coordinates); + + ExactModelCoordinate& getExactLayerCoordinatesRef(); + ExactModelCoordinate getExactLayerCoordinates() const; + ExactModelCoordinate getExactLayerCoordinates(const Layer* layer) const; + + ModelCoordinate getLayerCoordinates() const; + ModelCoordinate getLayerCoordinates(const Layer* layer) const; + + ExactModelCoordinate getMapCoordinates() const; + + bool isValid() const; + double getCellOffsetDistance() const; + + double getMapDistanceTo(const Location& location) const; + double getLayerDistanceTo(const Location& location) const; + }; + std::ostream& operator<<(std::ostream& os, const Location& l); +}