private void processElementRotate(GeneratorSingleCluster cluster, Node cur) {
    int axis1 = 0;
    int axis2 = 0;
    double angle = 0.0;

    String a1str = ((Element) cur).getAttribute(ATTR_AXIS1);
    if(a1str != null && a1str.length() > 0) {
      axis1 = ParseUtil.parseIntBase10(a1str);
    }
    String a2str = ((Element) cur).getAttribute(ATTR_AXIS2);
    if(a2str != null && a2str.length() > 0) {
      axis2 = ParseUtil.parseIntBase10(a2str);
    }
    String anstr = ((Element) cur).getAttribute(ATTR_ANGLE);
    if(anstr != null && anstr.length() > 0) {
      angle = ParseUtil.parseDouble(anstr);
    }
    if(axis1 <= 0 || axis1 > cluster.getDim()) {
      throw new AbortException("Invalid axis1 number given in specification file.");
    }
    if(axis2 <= 0 || axis2 > cluster.getDim()) {
      throw new AbortException("Invalid axis2 number given in specification file.");
    }
    if(axis1 == axis2) {
      throw new AbortException("Invalid axis numbers given in specification file.");
    }

    // Add rotation to cluster.
    cluster.addRotation(axis1 - 1, axis2 - 1, Math.toRadians(angle));

    // TODO: check for unknown attributes.
    XMLNodeIterator iter = new XMLNodeIterator(cur.getFirstChild());
    while(iter.hasNext()) {
      Node child = iter.next();
      if(child.getNodeType() == Node.ELEMENT_NODE) {
        LOG.warning("Unknown element in XML specification file: " + child.getNodeName());
      }
    }
  }
private void processElementRotate ( GeneratorSingleCluster cluster , Node cur ) { int axis1 = 0 ; int axis2 = 0 ; double angle = 0.0 ; String a1str = ( ( Element ) cur ) . getAttribute ( ATTR_AXIS1 ) ; if ( a1str != null && a1str . length ( ) > 0 ) { axis1 = ParseUtil . parseIntBase10 ( a1str ) ; } String a2str = ( ( Element ) cur ) . getAttribute ( ATTR_AXIS2 ) ; if ( a2str != null && a2str . length ( ) > 0 ) { axis2 = ParseUtil . parseIntBase10 ( a2str ) ; } String anstr = ( ( Element ) cur ) . getAttribute ( ATTR_ANGLE ) ; if ( anstr != null && anstr . length ( ) > 0 ) { angle = ParseUtil . parseDouble ( anstr ) ; } if ( axis1 <= 0 || axis1 > cluster . getDim ( ) ) { throw new AbortException ( "Invalid axis1 number given in specification file." ) ; } if ( axis2 <= 0 || axis2 > cluster . getDim ( ) ) { throw new AbortException ( "Invalid axis2 number given in specification file." ) ; } if ( axis1 == axis2 ) { throw new AbortException ( "Invalid axis numbers given in specification file." ) ; } cluster . addRotation ( axis1 - 1 , axis2 - 1 , Math . toRadians ( angle ) ) ; XMLNodeIterator iter = new XMLNodeIterator ( cur . getFirstChild ( ) ) ; while ( iter . hasNext ( ) ) { Node child = iter . next ( ) ; if ( child . getNodeType ( ) == Node . ELEMENT_NODE ) { LOG . warning ( "Unknown element in XML specification file: " + child . getNodeName ( ) ) ; } } }
Process a 'rotate' Element in the XML stream.

@param cluster
@param cur Current document nod