code: function(matrix4x4) {
              var newvertices = this.vertices.map(function(v) {
                  return v.transform(matrix4x4);
              });
              var newplane = this.plane.transform(matrix4x4);
              if (matrix4x4.isMirroring()) {
                  // need to reverse the vertex order
                  // in order to preserve the inside/outside orientation:
                  newvertices.reverse();
              }
              return new CSG.Polygon(newvertices, this.shared, newplane);
          }
docs: Affine transformation of polygon. Returns a new CSG.Polygon