//============================================================================
// Name        : Xyz.h
// Author      : Alessandro Pinto <apinto@eecs.berkeley.edu>
//               University of California, Berkeley
//               545 Cory Hall, Berkeley, CA 94720
// Version     : $Id: Xyz.h,v 1.2 2007/09/27 01:42:50 apinto Exp $
// Copyright   : See COPYING file that comes with this distribution
// Description : Declaration of the position of a node in the Euclidean space.
//============================================================================


/** Position in the Euclidean space. This class contains three
 * numbers x, y and z that represent the position in space.
 *
 *@author Alessandro Pinto,
 *@author The Donald O. Pederson Center for Electronic System Design
 *@author Electrical Engineering Department
 *@author University of California, Berkeley
 *@author 545P Cory Hall, Berkeley, CA 94720
 *@author +1 (510) 642 9670
 *@author http://www.eecs.berkeley.edu/~apinto
 *
 *@version $Id: Xyz.h,v 1.2 2007/09/27 01:42:50 apinto Exp $
 */

#ifndef XYZ_H_
#define XYZ_H_

#include <string>
#include <sstream>

using namespace std ;

namespace cosi {

class Xyz {
public:
	Xyz();
	Xyz(double pX);
	Xyz(double pX, double pY);
	Xyz(double pX, double pY, double pZ);
	virtual ~Xyz();
	void SetX(double pX);
	void SetY(double pY);
	void SetZ(double pZ);
	double GetX();
	double GetY();
	double GetZ();

	string Print( ) ;

private:
	double mX, mY, mZ;
};

}

#endif /*XYZ_H_*/
