view engine/swigwrappers/python/extensions.i.templ @ 645:291ba2946c73

* Added the ability to normalize a 2D and 3D point. * You can now rotate a 2D point around the origin or a specific point. * Modified the shooter demo to use the new point functionality. * Removed the fife_math extension.
author prock@33b003aa-7bff-0310-803a-e67f0ece8222
date Tue, 12 Oct 2010 18:58:47 +0000
parents c0c3f64bfc2d
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();
		}
	};
}