⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c2dvector.h

📁 本程序模拟细胞的自我繁殖
💻 H
字号:
// --- C2dVector.h ----------------------------------------------
#pragma once
#if !defined(C2DVECTOR)#define C2DVECTOR 1
/// A simple class to manage a 2D point/vector, with coordinates (x,y)class C2dVector{	public:		// data members		float x,y;	public:		// default constructor		C2dVector(float a=0.0F,float b=0.0F);		// alternative constructors		C2dVector(int a,int b);		C2dVector(CPoint p);		// copy constructor		C2dVector(const C2dVector& v);		// overloaded unary operators		C2dVector& operator=(const C2dVector& v);		C2dVector& operator+=(const C2dVector& v);		C2dVector& operator-=(const C2dVector& v);
		C2dVector& operator*=(float f);		C2dVector& operator/=(float f);
		BOOL operator==(const C2dVector& v) const			{ return((x==v.x)&&(y==v.y)); }		BOOL operator!=(const C2dVector& v) const			{ return((x!=v.x)||(y!=v.y)); }
		C2dVector operator-();

		CPoint Point() { return CPoint((int)x,(int)y); }		void RotateAround(const C2dVector& c,float deg);
		C2dVector Normalize();

        // some operators encoded for speed
        void Mult(float f)
        {
            this->x *= f;
            this->y *= f;
        }
        void Add(const C2dVector& b)
        {
            this->x += b.x;
            this->y += b.y;
        }
        void Subtract(const C2dVector& b)
        {
            this->x -= b.x;
            this->y -= b.y;
        }
        static float Dist2(const C2dVector& a,const C2dVector& b);

		// overloaded binary operators		friend C2dVector operator*(const C2dVector& a,float f);		friend C2dVector operator*(float f,const C2dVector& a);		friend C2dVector operator/(const C2dVector& a,float f);		friend C2dVector operator/(float f,const C2dVector& a);		friend C2dVector operator+(const C2dVector& a,const C2dVector& b);		friend C2dVector operator-(const C2dVector& a,const C2dVector& b);		friend float Length(const C2dVector& v);
		friend float Length2(const C2dVector& v);
		friend float DotProduct(const C2dVector& a,const C2dVector& b);
		friend C2dVector Normalized(const C2dVector& a);};
#endif//-----------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -