ftp.nice.ch/pub/next/science/mathematics/AliceCube.999.N.bs.tar.gz#/AliceCube/Cubicle.h

This is Cubicle.h in view mode; [Download] [Up]

/* A Cubicle of the Cube 3/27/91 */

#import "cubeTypes.h"

typedef CubeCoord CubeFace;

class Cubicle {
	CubeFace faces[CubeDim];
      public:
	Cubicle() {
		for (CubeAxis axis=0; axis < CubeDim; axis++)
			faces[axis] = (CubeFace)0;
	}

	Cubicle(Cubicle& aCubicle) {
		for (CubeAxis axis=0; axis < CubeDim; axis++)
			faces[axis] = aCubicle.faces[axis];
	}

	Cubicle& operator=(Cubicle& aCubicle) {
		for (CubeAxis axis=0; axis < CubeDim; axis++)
			faces[axis] = aCubicle.faces[axis];
		return *this;
	}

	CubeFace& operator[](CubeAxis axis){return faces[axis];}

	Cubicle& rotate(CubeAxis c1,CubeAxis c2) {
		CubeFace tempFace;		
		CubeAxis swap[CubeDim];
		CubeInt dir=0;

		for (CubeAxis axis=0; axis < CubeDim; axis++)
			if ((axis != c1) && (axis != c2)) swap[dir++] = axis;
		tempFace = faces[swap[LO]];
		faces[swap[LO]] =faces[swap[HI]];
		faces[swap[HI]] = tempFace;
		return *this;
	}
};

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.