docs: function() {
              if (!this.cachedBoundingBox) {
                  var minpoint = new CSG.Vector3D(0, 0, 0);
                  var maxpoint = new CSG.Vector3D(0, 0, 0);
                  var polygons = this.polygons;
                  var numpolygons = polygons.length;
                  for (var i = 0; i < numpolygons; i++) {
                      var polygon = polygons[i];
                      var bounds = polygon.boundingBox();
                      if (i === 0) {
                          minpoint = bounds[0];
                          maxpoint = bounds[1];
                      } else {
                          minpoint = minpoint.min(bounds[0]);
                          maxpoint = maxpoint.max(bounds[1]);
                      }
                  }
                  this.cachedBoundingBox = [minpoint, maxpoint];
              }
              return this.cachedBoundingBox;
          }