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);
+}