view engine/swigwrappers/python/extensions.i.templ @ 622:c0c3f64bfc2d

* Templatized Rect to extend it's functionality beyond integers * Added some typedefs: Rect, FloatRect, DoubleRect * Removed the Rect class from the fife_math extensions * Modified the shooter demo to use the FIFE rect template class
author prock@33b003aa-7bff-0310-803a-e67f0ece8222
date Fri, 01 Oct 2010 15:32:55 +0000
parents 4a0efb7baf70
children
line wrap: on
line source

namespace FIFE {
	
	%extend PointType2D<int> {
		int getX() { return $self->x; }
		int getY() { return $self->y; }
		void setX(int _x) { $self->x = _x; }
		void setY(int _y) { $self->y = _y; }
		
		std::string __str__() {
			std::stringstream str;
			str << "Point" << *$self;
			return  str.str();
		}
	};
	
	%extend PointType2D<double> {
		double getX() { return $self->x; }
		double getY() { return $self->y; }
		void setX(double _x) { $self->x = _x; }
		void setY(double _y) { $self->y = _y; }
		
		std::string __str__() {
			std::stringstream str;
			str << "DoublePoint" << *$self;
			return  str.str();
		}
	};
	
	%extend PointType3D<int> {
		std::string __str__() {
			std::stringstream str;
			str << "Point3D" << *$self;
			return  str.str();
		}
	};
	
	%extend PointType3D<double> {
		std::string __str__() {
			std::stringstream str;
			str << "DoublePoint3D" << *$self;
			return  str.str();
		}
	};
		
	%extend RectType<int> {
		int getX() { return $self->x; }
		int getY() { return $self->y; }
		void setX(int _x) { $self->x = _x; }
		void setY(int _y) { $self->y = _y; }
	
		int getW() { return $self->w; }
		int getH() { return $self->h; }
		void setW(int _w) { $self->w = _w; }
		void setH(int _h) { $self->h = _h; }
	
		std::string __str__() {
			std::stringstream str;
			str << "Rect" << *$self;
			return  str.str();
		}
	};
			
	%extend RectType<float> {
		float getX() { return $self->x; }
		float getY() { return $self->y; }
		void setX(float _x) { $self->x = _x; }
		void setY(float _y) { $self->y = _y; }
		
		float getW() { return $self->w; }
		float getH() { return $self->h; }
		void setW(float _w) { $self->w = _w; }
		void setH(float _h) { $self->h = _h; }
		
		std::string __str__() {
			std::stringstream str;
			str << "FloatRect" << *$self;
			return  str.str();
		}
	};
	
	%extend RectType<double> {
		double getX() { return $self->x; }
		double getY() { return $self->y; }
		void setX(double _x) { $self->x = _x; }
		void setY(double _y) { $self->y = _y; }
		
		double getW() { return $self->w; }
		double getH() { return $self->h; }
		void setW(double _w) { $self->w = _w; }
		void setH(double _h) { $self->h = _h; }
		
		std::string __str__() {
			std::stringstream str;
			str << "DoubleRect" << *$self;
			return  str.str();
		}
	};
}