亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vector4d.h

?? it is a visual c++ file
?? H
字號:
//////////////////////////////////////////////////////////////////////////////////////////
//	VECTOR4D.h
//	Class declaration for a 4d vector
//	Downloaded from: www.paulsprojects.net
//	Created:	20th July 2002
//	Modified:	8th November 2002	-	Changed Constructor layout
//									-	Some speed Improvements
//									-	Corrected Lerp
//				7th January 2003	-	Added QuadraticInterpolate
//
//	Copyright (c) 2006, Paul Baker
//	Distributed under the New BSD Licence. (See accompanying file License.txt or copy at
//	http://www.paulsprojects.net/NewBSDLicense.txt)
//////////////////////////////////////////////////////////////////////////////////////////	

#ifndef VECTOR4D_H
#define VECTOR4D_H

class VECTOR4D
{
public:
	//constructors
	VECTOR4D(void)	:	x(0.0f), y(0.0f), z(0.0f), w(0.0f)
	{}

	VECTOR4D(float newX, float newY, float newZ, float newW)	
		:	x(newX), y(newY), z(newZ), w(newW)
	{}

	VECTOR4D(const float * rhs)	:	x(*rhs), y(*(rhs+1)), z(*(rhs+2)), w(*(rhs+3))
	{}

	VECTOR4D(const VECTOR4D & rhs):	x(rhs.x), y(rhs.y), z(rhs.z), w(rhs.w)
	{}

	//convert v3d to v4d
	VECTOR4D(const VECTOR3D & rhs):	x(rhs.x), y(rhs.y), z(rhs.z), w(1.0f)
	{}

	~VECTOR4D() {}	//empty

	void Set(float newX, float newY, float newZ, float newW)
	{	x=newX;	y=newY;	z=newZ; w=newW;	}
	
	//accessors kept for compatability
	void SetX(float newX) {x = newX;}
	void SetY(float newY) {y = newY;}
	void SetZ(float newZ) {z = newZ;}
	void SetW(float newW) {w = newW;}
	
	float GetX() const {return x;}	//public accessor functions
	float GetY() const {return y;}	//inline, const
	float GetZ() const {return z;}
	float GetW() const {return w;}

	void LoadZero(void)
	{	x=0.0f; y=0.0f; z=0.0f; w=0.0f;	}

	void LoadOne(void)
	{	x=1.0f; y=1.0f; z=1.0f; w=1.0f;	}

	//vector algebra
	float DotProduct(const VECTOR4D & rhs)
	{	return x*rhs.x + y*rhs.y + z*rhs.z + w*rhs.w;	}

	//rotations
	void RotateX(double angle);
	VECTOR4D GetRotatedX(double angle) const;
	void RotateY(double angle);
	VECTOR4D GetRotatedY(double angle) const;
	void RotateZ(double angle);
	VECTOR4D GetRotatedZ(double angle) const;
	void RotateAxis(double angle, const VECTOR3D & axis);
	VECTOR4D GetRotatedAxis(double angle, const VECTOR3D & axis) const;
	
	VECTOR4D lerp(const VECTOR4D & v2, float factor) const
	{	return (*this)*(1.0f-factor)+v2*factor;	}

	VECTOR4D QuadraticInterpolate(const VECTOR4D & v2, const VECTOR4D & v3, float factor) const
	{	return (*this)*(1.0f-factor)*(1.0f-factor) + 2*v2*factor*(1.0f-factor) + v3*factor*factor;}

	//binary operators
	VECTOR4D operator+(const VECTOR4D & rhs) const
	{	return VECTOR4D(x+rhs.x, y+rhs.y, z+rhs.z, w+rhs.w);	}

	VECTOR4D operator-(const VECTOR4D & rhs) const
	{	return VECTOR4D(x-rhs.x, y-rhs.y, z-rhs.z, w-rhs.w);	}

	VECTOR4D operator*(const float rhs) const
	{	return VECTOR4D(x*rhs, y*rhs, z*rhs, w*rhs);	}

	VECTOR4D operator/(const float rhs) const
	{	return rhs==0.0f	?	VECTOR4D(0.0f, 0.0f, 0.0f, 0.0f)
							:	VECTOR4D(x/rhs, y/rhs, z/rhs, w/rhs);	}

	//multiply by a float, eg 3*v
	friend VECTOR4D operator*(float scaleFactor, const VECTOR4D & rhs);

	bool operator==(const VECTOR4D & rhs) const;
	bool operator!=(const VECTOR4D & rhs) const
	{	return !((*this)==rhs);	}

	//self-add etc
	void operator+=(const VECTOR4D & rhs)
	{	x+=rhs.x; y+=rhs.y; z+=rhs.z; w+=rhs.w;	}

	void operator-=(const VECTOR4D & rhs)
	{	x-=rhs.x; y-=rhs.y; z-=rhs.z; w-=rhs.w;	}

	void operator*=(const float rhs)
	{	x*=rhs; y*=rhs; z*=rhs; w*=rhs;	}

	void operator/=(const float rhs)
	{	if(rhs==0.0f)
			return;
		else
		{	x/=rhs; y/=rhs; z/=rhs; w/=rhs;	}
	}

	//unary operators
	VECTOR4D operator-(void) const {return VECTOR4D(-x, -y, -z, -w);}
	VECTOR4D operator+(void) const {return (*this);}

	//cast to pointer to float for glVertex4fv etc
	operator float* () const {return (float*) this;}
	operator const float* () const {return (const float*) this;}

	operator VECTOR3D();							//convert v4d to v3d

	//member variables
	float x;
	float y;
	float z;
	float w;
};

#endif	//VECTOR3D_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区视频在线播放| **性色生活片久久毛片| 色综合久久久久久久久| voyeur盗摄精品| 成人动漫一区二区在线| 成人动漫一区二区在线| 丁香激情综合国产| 成人综合在线观看| 91免费视频大全| 在线视频你懂得一区| 欧美性大战久久久久久久蜜臀| 在线视频国产一区| 欧美色精品天天在线观看视频| 欧美三片在线视频观看 | 国产成人免费视频一区| 狠狠久久亚洲欧美| 东方欧美亚洲色图在线| 91欧美激情一区二区三区成人| 在线免费一区三区| 91麻豆精品国产91久久久久| 亚洲精品在线网站| 日本一区二区成人| 亚洲在线中文字幕| 另类综合日韩欧美亚洲| 高清国产一区二区| 欧美在线|欧美| 2017欧美狠狠色| 一区二区三区欧美日| 奇米一区二区三区| 成人美女视频在线看| 在线观看av一区二区| 精品区一区二区| 亚洲欧美日韩国产另类专区| 美女一区二区久久| 欧美天天综合网| 久久综合99re88久久爱| 亚洲欧美色一区| 国产一区在线观看视频| 色婷婷av一区| 国产欧美精品一区| 丝袜亚洲精品中文字幕一区| 丁香激情综合五月| 日韩亚洲欧美成人一区| 亚洲欧美视频一区| 国产剧情在线观看一区二区| 欧美三级中文字幕在线观看| 中文字幕免费不卡| 日本午夜一本久久久综合| jizz一区二区| 欧美激情在线观看视频免费| 三级在线观看一区二区| av一区二区三区四区| 久久网站热最新地址| 五月天一区二区| 日本韩国视频一区二区| 国产免费久久精品| 久久精品国产一区二区| 欧美综合天天夜夜久久| 国产精品国产馆在线真实露脸 | 中文字幕亚洲在| 久久99蜜桃精品| 在线综合亚洲欧美在线视频| 亚洲一区二区三区三| 91麻豆精东视频| 日韩毛片在线免费观看| 国产91露脸合集magnet | 91看片淫黄大片一级| 国产午夜精品一区二区三区嫩草| 美女任你摸久久| 日韩午夜电影av| 免费精品99久久国产综合精品| 欧美性色综合网| 亚洲免费毛片网站| 91丨九色丨国产丨porny| 国产精品久久久久天堂| 福利电影一区二区三区| 国产精品久久看| 99精品国产91久久久久久| 国产精品女同互慰在线看| 成人ar影院免费观看视频| 国产精品的网站| 在线观看www91| 午夜欧美视频在线观看| 在线电影一区二区三区| 奇米影视一区二区三区| 精品日韩在线一区| 国产精品一区二区不卡| 欧美高清在线精品一区| 99久久婷婷国产综合精品| 日韩毛片视频在线看| 欧美综合一区二区| 日本伊人色综合网| 日韩欧美国产一二三区| 精品无人区卡一卡二卡三乱码免费卡 | k8久久久一区二区三区| 综合亚洲深深色噜噜狠狠网站| 91黄视频在线| 久88久久88久久久| 欧美激情一区二区三区四区 | 在线综合视频播放| 久久99国产精品久久99| 国产精品美女www爽爽爽| 色婷婷精品久久二区二区蜜臂av| 午夜伊人狠狠久久| 337p日本欧洲亚洲大胆精品| 成人美女视频在线观看| 一级中文字幕一区二区| 日韩精品专区在线影院重磅| 成人午夜av在线| 亚洲.国产.中文慕字在线| 精品播放一区二区| 91亚洲男人天堂| 国产一区欧美一区| 亚洲男同性视频| 精品1区2区在线观看| 欧美艳星brazzers| 国产美女久久久久| 午夜视频在线观看一区二区| 欧美韩国一区二区| 欧美一二三区在线观看| 94-欧美-setu| 国产九九视频一区二区三区| 一区二区三区美女视频| 国产日本欧美一区二区| 6080日韩午夜伦伦午夜伦| 成人av影视在线观看| 极品销魂美女一区二区三区| 五月激情综合婷婷| 综合久久一区二区三区| 久久人人超碰精品| 欧美一区二区三区性视频| 色老汉一区二区三区| 国产91丝袜在线18| 国产一区免费电影| 日韩国产精品91| 午夜精品久久久| 一二三四社区欧美黄| 中文字幕一区二区日韩精品绯色| 国产亚洲短视频| xf在线a精品一区二区视频网站| 7878成人国产在线观看| 色综合中文字幕国产 | 五月激情丁香一区二区三区| 亚洲男人的天堂在线观看| 久久久www成人免费无遮挡大片| 欧美一区二区三区免费在线看| 欧美性感一区二区三区| 在线精品视频免费播放| 一本一道波多野结衣一区二区| 国产成人av资源| 国产成人免费视频网站 | 亚洲国产一区在线观看| 91精品国模一区二区三区| 欧美日韩卡一卡二| 在线视频国产一区| 在线精品视频一区二区三四| 在线亚洲一区观看| 色久优优欧美色久优优| 91国产福利在线| 91激情五月电影| 欧美少妇xxx| 欧美va亚洲va国产综合| 久久综合色天天久久综合图片| 26uuu亚洲| 成人免费一区二区三区在线观看| 国产精品成人网| 一区二区视频在线| 亚洲自拍偷拍欧美| 日韩精品亚洲一区| 国产一区二区美女诱惑| 国产精品一级片| 成人精品一区二区三区四区 | 亚洲黄色免费电影| 日本视频一区二区三区| 国产毛片精品一区| eeuss鲁片一区二区三区| 日本乱人伦aⅴ精品| 欧美美女直播网站| 精品电影一区二区| 亚洲欧洲国产日韩| 日日摸夜夜添夜夜添国产精品| 美女精品一区二区| 99国产麻豆精品| 91精品国产色综合久久不卡电影| 久久综合久久久久88| 亚洲视频中文字幕| 老司机午夜精品| 色综合天天做天天爱| 欧美成人伊人久久综合网| 一区在线播放视频| 免费观看成人鲁鲁鲁鲁鲁视频| thepron国产精品| 欧美一区二区三区不卡| 国产精品福利一区二区| 日韩黄色在线观看| 97精品电影院| 精品嫩草影院久久| 亚洲国产精品嫩草影院| 成人av中文字幕| 久久婷婷成人综合色|