Source: src/vect.h


Annotated List
Files
Globals
Hierarchy
Index
/***************************************************************************
    vim:tabstop=4
                          vect.h  -  description
                             -------------------
    begin                : Sun Jul 1 2001
    copyright            : (C) 2001 by Francois Biot
    email                : fbiot@free.fr
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef	_vect_
#define	_vect_

class point;

#include	
using	namespace std;

class vect
{
public:
	vect	()
		:
		mx(0.0),
		my(0.0),
		mz(0.0)	{};
	
	vect(float x,float y,float z)
		:
		mx(x),
		my(y),
		mz(z)	{};

	vect(const vect &v)
		:
		mx(v.mx),
		my(v.my),
		mz(v.mz)	{};

	vect(const point	&start,const point &end);


	vect  operator / (float 		) const;
	vect  operator * (float 		) const;
	vect& operator +=(const vect &	);
	vect& operator -=(const vect &	);
	vect& operator *=(float		);

	vect	dotprod		(const vect &v)				const;		// produit vectoriel
	vect	dotprod		(float x,float y,float z)	const;		// produit vectoriel
	float	scalar		(const vect &v)				const;		// produit scalaire
	float	norm		()	const;
	vect	Negative	()	const;
	vect	Normalized	()	const;
	void	Normalize	();
	
	friend ostream& operator <<(ostream&,const vect &); 
	friend vect operator +(const vect	&v1,const vect	&v2)
	{	return vect(v1.mx+v2.mx,v1.my+v2.my,v1.mz+v2.mz);	};
	
	float	mx;
	float	my;
	float	mz;
};


#endif


Generated by: saturn on FrancoisLinux on Sun Feb 3 20:01:44 2002, using kdoc 2.0a53.