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.