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 ( ) ) ; } } }
Process a rotate Element in the XML stream .