areAlignedVertices (v1, v2, alignment, err=undefined) {
    if (v1 === v2) {
      return true
    }

    if (!alignment) {
      throw new Error('Tell desired alignment. We don\'t know yet how to determine alignment')
    }

    if (alignment === Constants.BOTTOM_HORIZONTAL_ALIGNED) {
      return bottomHorizontalAligned(v1, v2, err)
    }

    if (alignment === Constants.TOP_HORIZONTAL_ALIGNED) {
      return topHorizontalAligned(v1, v2, err)
    }

    throw new Error(`desired alignment ${alignment} is unknown`)
  }
/**
   *
   * points are clockwise ordered
   * @param {Object} v1 vertices boundingbox
   * @param {Object} v2 vertices boundingbox
   * @param {String} alignment the type of alignment to test or try to detect
   * @return {Boolean}
   *
   */
points are clockwise ordered
@param {Object} v1 vertices boundingbox
@param {Object} v2 vertices boundingbox
@param {String} alignment the type of alignment to test or try to detect
@return {Boolean}
points are clockwise ordered @param { Object } v1 vertices boundingbox @param { Object } v2 vertices boundingbox @param { String } alignment the type of alignment to test or try to detect @return { Boolean }
areAlignedVertices (v1, v2, alignment, err=undefined) {
    if (v1 === v2) {
      return true
    }
    if (!alignment) {
      throw new Error('Tell desired alignment. We don\'t know yet how to determine alignment')
    }
    if (alignment === Constants.BOTTOM_HORIZONTAL_ALIGNED) {
      return bottomHorizontalAligned(v1, v2, err)
    }
    if (alignment === Constants.TOP_HORIZONTAL_ALIGNED) {
      return topHorizontalAligned(v1, v2, err)
    }
    throw new Error(`desired alignment ${alignment} is unknown`)
  }
areAlignedVertices ( v1 , v2 , alignment , err = undefined ) { if ( v1 === v2 ) { return true } if ( ! alignment ) { throw new Error ( 'Tell desired alignment. We don\'t know yet how to determine alignment' ) } if ( alignment === Constants . BOTTOM_HORIZONTAL_ALIGNED ) { return bottomHorizontalAligned ( v1 , v2 , err ) } if ( alignment === Constants . TOP_HORIZONTAL_ALIGNED ) { return topHorizontalAligned ( v1 , v2 , err ) } throw new Error ( ` ${ alignment } ` ) }
points are clockwise ordered
 @param {Object} v1 vertices boundingbox
 @param {Object} v2 vertices boundingbox
 @param {String} alignment the type of alignment to test or try to detect
 @return {Boolean}
points are clockwise ordered @param { Object } v1 vertices boundingbox @param { Object } v2 vertices boundingbox @param { String } alignment the type of alignment to test or try to detect @return { Boolean }