/********************************************************************
 * File: Orientation.cpp
 * Author: Keith Schwarz (htiek@cs.stanford.edu)
 *
 * Implementation of the Orientation class.
 */
#include "Orientation.h"

/* Parameterized constructor sets the orientation to use the
 * indicated vectors.
 */
Copper3D::Orientation::Orientation(const Vector<3>& r,
								   const Vector<3>& u,
								   const Vector<3>& t)
  : mR(r), mU(u), mT(t) {

}

/* Default constructor has each vector point along a basis. */
Copper3D::Orientation::Orientation() {
	mR[0] = mU[1] = mT[2] = 1.0;
	mR[1] = mR[2] = mU[0] = mU[2] = mT[0] = mT[1] = 0.0;
}

/* Accessors are pretty straightforward. */
const Vector<3>& Copper3D::Orientation::r() const {
	return mR;
}
const Vector<3>& Copper3D::Orientation::u() const {
	return mU;
}
const Vector<3>& Copper3D::Orientation::t() const {
	return mT;
}
