src/frame.js
/**
  * Get a node geometry
  *
  * @param string node selector
  * @return node
  */
Get a node geometry
@param string node selector
@return node
Get a node geometry @param string node selector @return node
resolveNode(sel) {
    let n = this.getNode(sel)
    if (!n) this.h.error("Bad selector: ", sel);
    let opt =  (n.cfg.opt)||{};
    let layout = n.layout;
    let isPerp = (opt.rotate%180 == 90); 
    return {'bbox.w':(isPerp?layout.h:layout.w), 'bbox.h':(isPerp?layout.w:layout.h), 'translate.x':layout.x, 'translate.y':layout.y,
      rotate:opt.rotate||0, mirror:opt.mirror||false, crop:opt.crop||false};
  }
resolveNode ( sel ) { let n = this . getNode ( sel ) if ( ! n ) this . h . error ( "Bad selector: " , sel ) ; let opt = ( n . cfg . opt ) || { } ; let layout = n . layout ; let isPerp = ( opt . rotate % 180 == 90 ) ; return { 'bbox.w' : ( isPerp ? layout . h : layout . w ) , 'bbox.h' : ( isPerp ? layout . w : layout . h ) , 'translate.x' : layout . x , 'translate.y' : layout . y , rotate : opt . rotate || 0 , mirror : opt . mirror || false , crop : opt . crop || false } ; }
Get a node geometry
 @param string node selector
 @return node
Get a node geometry @param string node selector @return node
// perpendicular