if ( cwa.isTransposed( ) ) {  final Label laAxisLabels = (Label) EcoreUtil.copy( axPrimaryOrthogonal.getLabel( ) ); final Label laAxisTitle = (Label) EcoreUtil.copy( axPrimaryOrthogonal.getTitle( ) ); laAxisLabels.getCaption( ) .getFont( ) .setRotation( transposeAngle( laAxisLabels.getCaption( ) .getFont( ) .getRotation( ) ) ); laAxisTitle.getCaption( ) .getFont( ) .setRotation( transposeAngle( laAxisTitle.getCaption( ) .getFont( ) .getRotation( ) ) ); oaxPrimaryOrthogonal.set( laAxisLabels, laAxisTitle );  } else { oaxPrimaryOrthogonal.set( axPrimaryOrthogonal.getLabel( ), axPrimaryOrthogonal.getTitle( ) );  }
oaxPrimaryOrthogonal.set( axPrimaryOrthogonal.getLabel( ), axPrimaryOrthogonal.getTitle( ) );
	void buildAxes( ) throws IllegalArgumentException, ChartException	{		final Axis[] axa = cwa.getPrimaryBaseAxes( );		final Axis axPrimaryBase = axa[0]; // NOTE: FOR REL 1 AXIS RENDERS, WE		// SUPPORT A SINGLE PRIMARY BASE AXIS		// ONLY		if ( !axPrimaryBase.isSetOrientation( ) )		{			axPrimaryBase.setOrientation( Orientation.HORIZONTAL_LITERAL );		}		validateAxis( axPrimaryBase );		final Axis axPrimaryOrthogonal = cwa.getPrimaryOrthogonalAxis( axPrimaryBase );		if ( !axPrimaryOrthogonal.isSetOrientation( ) )		{			axPrimaryOrthogonal.setOrientation( Orientation.VERTICAL_LITERAL );		}		validateAxis( axPrimaryOrthogonal );		final Axis axAncillaryBase = cwa.getAncillaryBaseAxis( axPrimaryBase );		// if ( !axAncillaryBase.isSetOrientation( ) )		{			axAncillaryBase.setOrientation( Orientation.HORIZONTAL_LITERAL );		}		validateAxis( axAncillaryBase );		if ( axPrimaryBase.getAssociatedAxes( ).size( ) > 1 )		{			throw new ChartException( ChartEnginePlugin.ID,					ChartException.COMPUTATION,					"exception.multi.orthogonal.3D.not.supported", //$NON-NLS-1$ 					ResourceBundle.getBundle( Messages.ENGINE, rtc.getLocale( ) ) );		}		aax = new AllAxes( cwa.getPlot( )				.getClientArea( )				.getInsets( )				.scaledInstance( dPointToPixel ) ); // CONVERSION		insCA = aax.getInsets( );		aax.swapAxes( cwa.isTransposed( ) );		// SETUP THE PRIMARY BASE-AXIS PROPERTIES AND ITS SCALE		final OneAxis oaxPrimaryBase = new OneAxis( axPrimaryBase,				IConstants.BASE_AXIS );		oaxPrimaryBase.set( getOrientation( IConstants.BASE ),				transposeLabelPosition( IConstants.BASE,						getLabelPosition( axPrimaryBase.getLabelPosition( ) ) ),				transposeLabelPosition( IConstants.BASE,						getLabelPosition( axPrimaryBase.getTitlePosition( ) ) ),				axPrimaryBase.isSetCategoryAxis( )						&& axPrimaryBase.isCategoryAxis( ) );		oaxPrimaryBase.setGridProperties( axPrimaryBase.getMajorGrid( )				.getLineAttributes( ),				axPrimaryBase.getMinorGrid( ).getLineAttributes( ),				axPrimaryBase.getMajorGrid( ).getTickAttributes( ),				axPrimaryBase.getMinorGrid( ).getTickAttributes( ),				transposeTickStyle( IConstants.BASE,						getTickStyle( axPrimaryBase, MAJOR ) ),				transposeTickStyle( IConstants.BASE,						getTickStyle( axPrimaryBase, MINOR ) ),				axPrimaryBase.getScale( ).getMinorGridsPerUnit( ) );		if ( cwa.isTransposed( ) )		{			// TRANSPOSE ROTATION OF LABELS AS APPROPRIATE			final Label laAxisLabels = (Label) EcoreUtil.copy( axPrimaryBase.getLabel( ) );			final Label laAxisTitle = (Label) EcoreUtil.copy( axPrimaryBase.getTitle( ) );			laAxisLabels.getCaption( )					.getFont( )					.setRotation( transposeAngle( laAxisLabels.getCaption( )							.getFont( )							.getRotation( ) ) );			laAxisTitle.getCaption( )					.getFont( )					.setRotation( transposeAngle( laAxisTitle.getCaption( )							.getFont( )							.getRotation( ) ) );			oaxPrimaryBase.set( laAxisLabels, laAxisTitle ); // ASSOCIATE			// FONT,			// ETC		}		else		{			oaxPrimaryBase.set( axPrimaryBase.getLabel( ),					axPrimaryBase.getTitle( ) ); // ASSOCIATE FONT		}		oaxPrimaryBase.set( getIntersection( axPrimaryBase ) );		oaxPrimaryBase.set( axPrimaryBase.getLineAttributes( ) );		aax.definePrimary( oaxPrimaryBase ); // ADD TO AXIS SET		// SETUP THE PRIMARY ORTHOGONAL-AXIS PROPERTIES AND ITS SCALE		final OneAxis oaxPrimaryOrthogonal = new OneAxis( axPrimaryOrthogonal,				IConstants.ORTHOGONAL_AXIS );		oaxPrimaryOrthogonal.set( getOrientation( IConstants.ORTHOGONAL ),				transposeLabelPosition( IConstants.ORTHOGONAL,						getLabelPosition( axPrimaryOrthogonal.getLabelPosition( ) ) ),				transposeLabelPosition( IConstants.ORTHOGONAL,						getLabelPosition( axPrimaryOrthogonal.getTitlePosition( ) ) ),				axPrimaryOrthogonal.isSetCategoryAxis( )						&& axPrimaryOrthogonal.isCategoryAxis( ) );		oaxPrimaryOrthogonal.setGridProperties( axPrimaryOrthogonal.getMajorGrid( )				.getLineAttributes( ),				axPrimaryOrthogonal.getMinorGrid( ).getLineAttributes( ),				axPrimaryOrthogonal.getMajorGrid( ).getTickAttributes( ),				axPrimaryOrthogonal.getMinorGrid( ).getTickAttributes( ),				transposeTickStyle( IConstants.ORTHOGONAL,						getTickStyle( axPrimaryOrthogonal, MAJOR ) ),				transposeTickStyle( IConstants.ORTHOGONAL,						getTickStyle( axPrimaryOrthogonal, MINOR ) ),				axPrimaryOrthogonal.getScale( ).getMinorGridsPerUnit( ) );		if ( cwa.isTransposed( ) )		{			// TRANSPOSE ROTATION OF LABELS AS APPROPRIATE			final Label laAxisLabels = (Label) EcoreUtil.copy( axPrimaryOrthogonal.getLabel( ) );			final Label laAxisTitle = (Label) EcoreUtil.copy( axPrimaryOrthogonal.getTitle( ) );			laAxisLabels.getCaption( )					.getFont( )					.setRotation( transposeAngle( laAxisLabels.getCaption( )							.getFont( )							.getRotation( ) ) );			laAxisTitle.getCaption( )					.getFont( )					.setRotation( transposeAngle( laAxisTitle.getCaption( )							.getFont( )							.getRotation( ) ) );			oaxPrimaryOrthogonal.set( laAxisLabels, laAxisTitle ); // ASSOCIATE			// FONT, ETC		}		else		{			oaxPrimaryOrthogonal.set( axPrimaryOrthogonal.getLabel( ),					axPrimaryOrthogonal.getTitle( ) ); // ASSOCIATE FONT,			// ETC		}		oaxPrimaryOrthogonal.set( getIntersection( axPrimaryOrthogonal ) );		oaxPrimaryOrthogonal.set( axPrimaryOrthogonal.getLineAttributes( ) );		aax.definePrimary( oaxPrimaryOrthogonal ); // ADD TO AXIS SET		// SETUP THE ANCILLARY BASE-AXIS PROPERTIES AND ITS SCALE		final OneAxis oaxAncillaryBase = new OneAxis( axAncillaryBase,				IConstants.ANCILLARY_AXIS );		oaxAncillaryBase.set( IConstants.HORIZONTAL,				getLabelPosition( axAncillaryBase.getLabelPosition( ) ),				getLabelPosition( axAncillaryBase.getTitlePosition( ) ),				axAncillaryBase.isSetCategoryAxis( )						&& axAncillaryBase.isCategoryAxis( ) );		oaxAncillaryBase.setGridProperties( axAncillaryBase.getMajorGrid( )				.getLineAttributes( ),				axAncillaryBase.getMinorGrid( ).getLineAttributes( ),				axAncillaryBase.getMajorGrid( ).getTickAttributes( ),				axAncillaryBase.getMinorGrid( ).getTickAttributes( ),				getTickStyle( axAncillaryBase, MAJOR ),				getTickStyle( axAncillaryBase, MINOR ),				axAncillaryBase.getScale( ).getMinorGridsPerUnit( ) );		oaxAncillaryBase.set( axAncillaryBase.getLabel( ),				axAncillaryBase.getTitle( ) ); // ASSOCIATE FONT, ETC.		oaxAncillaryBase.set( getIntersection( axAncillaryBase ) );		oaxAncillaryBase.set( axAncillaryBase.getLineAttributes( ) );		aax.defineAncillaryBase( oaxAncillaryBase ); // ADD TO AXIS SET	}