docs: function(options) {
              // normals are going to be correct as long as toConn2.point - toConn1.point
              // points into cag normal direction (check in caller)
              // arguments: options.toConnector1, options.toConnector2, options.cag
              //     walls go from toConnector1 to toConnector2
              //     optionally, target cag to point to - cag needs to have same number of sides as this!
              var origin = [0, 0, 0], defaultAxis = [0, 0, 1], defaultNormal = [0, 1, 0];
              var thisConnector = new CSG.Connector(origin, defaultAxis, defaultNormal);
              // arguments:
              var toConnector1 = options.toConnector1;
              // var toConnector2 = new CSG.Connector([0, 0, -30], defaultAxis, defaultNormal);
              var toConnector2 = options.toConnector2;
              if (!(toConnector1 instanceof CSG.Connector && toConnector2 instanceof CSG.Connector)) {
                  throw('could not parse CSG.Connector arguments toConnector1 or toConnector2');
              }
              if (options.cag) {
                  if (options.cag.sides.length != this.sides.length) {
                      throw('target cag needs same sides count as start cag');
                  }
              }
              // target cag is same as this unless specified
              var toCag = options.cag || this;
              var m1 = thisConnector.getTransformationTo(toConnector1, false, 0);
              var m2 = thisConnector.getTransformationTo(toConnector2, false, 0);
              var vps1 = this._toVector3DPairs(m1);
              var vps2 = toCag._toVector3DPairs(m2);
  
              var polygons = [];
              vps1.forEach(function(vp1, i) {
                  polygons.push(new CSG.Polygon([
                      new CSG.Vertex(vps2[i][1]), new CSG.Vertex(vps2[i][0]), new CSG.Vertex(vp1[0])]));
                  polygons.push(new CSG.Polygon([
                      new CSG.Vertex(vps2[i][1]), new CSG.Vertex(vp1[0]), new CSG.Vertex(vp1[1])]));
              });
              return polygons;
          }