www.pudn.com > Particles1.zip > basics.cpp


#include "basics.h" 
 
SF3dVector F3dVector ( GLfloat x, GLfloat y, GLfloat z ) 
{ 
	SF3dVector tmp; 
	tmp.x = x; 
	tmp.y = y; 
	tmp.z = z; 
	return tmp; 
} 
SF3dVector AddF3dVectors (SF3dVector* u, SF3dVector* v) 
{ 
	SF3dVector result; 
	result.x = u->x + v->x; 
	result.y = u->y + v->y; 
	result.z = u->z + v->z; 
	return result; 
} 
void AddF3dVectorToVector ( SF3dVector * Dst, SF3dVector * V2) 
{ 
	Dst->x += V2->x; 
	Dst->y += V2->y; 
	Dst->z += V2->z; 
} 
float operator* (SF3dVector v, SF3dVector u)	//Scalar product 
{ 
	return v.x*u.x+v.y*u.y+v.z*u.z; 
} 
 
SF3dVector operator* (SF3dVector v, float r) 
{ 
	SF3dVector res; 
	res.x = v.x*r; 
	res.y = v.y*r; 
	res.z = v.z*r; 
	return res; 
} 
 
SF3dVector operator+ (SF3dVector v, SF3dVector u) 
{ 
	SF3dVector res; 
	res.x = v.x+u.x; 
	res.y = v.y+u.y; 
	res.z = v.z+u.z; 
	return res; 
} 
SF3dVector operator- (SF3dVector v, SF3dVector u) 
{ 
	SF3dVector res; 
	res.x = v.x-u.x; 
	res.y = v.y-u.y; 
	res.z = v.z-u.z; 
	return res; 
} 
SF3dVector operator/ (SF3dVector v, float r) 
{ 
	return v*(1/r); 
}