Finished testing the CellPolygonFactory class. Several interesting bugs were encountered during the testing process. First there was a bug in the getUnitNormalAtPoint Surface class member function. The overloaded member function that took a vector did not forward the sense variable to the member function that took three coordinates. Therefore the sense was always treated as positive even if a negative sense was passed. The second bug was in the Polygon class. There was an unforseen special case when the unit normal to the ordered polygon corners is the negative z-axis. When this is the case, the points will not be reordered to yield a positive area. This is the only case where this can happen and is a result of the rotation matrix that is generated. The rotation matrix generated is correct but does not give the desired result of reordering the corners. To fix this bug, the Polygon constructor now tests if the normal is parallel to the negative z-axis. If so it simply multiplies the area by -1.