loa[2] = Location3DImpl.create( lo3d.getX( ) - iSize,
loa[2] = Location3DImpl.create( lo3d.getX( ) - iSize, lo3d.getY( ) - offset, lo3d.getZ( ) ); loa[3] = Location3DImpl.create( lo3d.getX( ) - offset, lo3d.getY( ) - iSize, lo3d.getZ( ) ); loa[4] = Location3DImpl.create( lo3d.getX( ),
	private void drawCross( IPrimitiveRenderer ipr ) throws ChartException	{		double offset = Math.floor(  0.5 * iSize );		if ( bRendering3D )		{			final Polygon3DRenderEvent pre3d = (Polygon3DRenderEvent) ( (EventObjectCache) ipr ).getEventObject( oSource,					Polygon3DRenderEvent.class );			final Location3D[] loa = new Location3D[12];			loa[0] = Location3DImpl.create( lo3d.getX( ) - iSize,					lo3d.getY( ) + offset,					lo3d.getZ( ) );			loa[1] = Location3DImpl.create( lo3d.getX( ) - offset ,					lo3d.getY( ),					lo3d.getZ( ) );			loa[2] = Location3DImpl.create( lo3d.getX( ) - iSize,					lo3d.getY( ) - offset,					lo3d.getZ( ) );			loa[3] = Location3DImpl.create( lo3d.getX( ) - offset,					lo3d.getY( ) - iSize,					lo3d.getZ( ) );			loa[4] = Location3DImpl.create( lo3d.getX( ) ,					lo3d.getY( ) - offset,					lo3d.getZ( ) );			loa[5] = Location3DImpl.create( lo3d.getX( ) + offset,					lo3d.getY( ) - iSize,					lo3d.getZ( ) );			loa[6] = Location3DImpl.create( lo3d.getX( ) + iSize,					lo3d.getY( ) - offset,					lo3d.getZ( ) );			loa[7] = Location3DImpl.create( lo3d.getX( ) + offset,					lo3d.getY( ),					lo3d.getZ( ) );			loa[8] = Location3DImpl.create( lo3d.getX( ) + iSize,					lo3d.getY( ) + offset,					lo3d.getZ( ) );			loa[9] = Location3DImpl.create( lo3d.getX( ) + offset,					lo3d.getY( ) + iSize,					lo3d.getZ( ) );			loa[10] = Location3DImpl.create( lo3d.getX( ) + offset,					lo3d.getY( ),					lo3d.getZ( ) );			loa[11] = Location3DImpl.create( lo3d.getX( ) - offset,					lo3d.getY( ) + iSize,					lo3d.getZ( ) );			pre3d.setPoints3D( loa );			preCopy = pre3d.copy( );			pre3d.setDoubleSided( true );			pre3d.setBackground( paletteEntry );			pre3d.setOutline( la );			dc.addPlane( pre3d, PrimitiveRenderEvent.FILL					| PrimitiveRenderEvent.DRAW );		}		else		{			final PolygonRenderEvent pre = (PolygonRenderEvent) ( (EventObjectCache) ipr ).getEventObject( oSource,					PolygonRenderEvent.class );			final Location[] loa = new Location[12];			loa[0] = LocationImpl.create( lo.getX( ) - iSize, lo.getY( )					+ offset );			loa[1] = LocationImpl.create( lo.getX( ) - offset, lo.getY( ) );			loa[2] = LocationImpl.create( lo.getX( ) - iSize, lo.getY( )					- offset );			loa[3] = LocationImpl.create( lo.getX( ) - offset, lo.getY( )					- iSize );			loa[4] = LocationImpl.create( lo.getX( ), lo.getY( ) - offset );			loa[5] = LocationImpl.create( lo.getX( ) + offset, lo.getY( )					- iSize );			loa[6] = LocationImpl.create( lo.getX( ) + iSize, lo.getY( )					- offset );			loa[7] = LocationImpl.create( lo.getX( ) + offset ,					lo.getY( ) );			loa[8] = LocationImpl.create( lo.getX( ) + iSize, lo.getY( )					+ offset );			loa[9] = LocationImpl.create( lo.getX( ) + offset, lo.getY( )					+ iSize );			loa[10] = LocationImpl.create( lo.getX( ), lo.getY( ) + offset );			loa[11] = LocationImpl.create( lo.getX( ) - offset, lo.getY( )					+ iSize );			pre.setPoints( loa );			pre.setBackground( paletteEntry );			pre.setOutline( la );			preCopy = pre.copy( );			if ( bDeferred )			{				dc.addMarker( pre, PrimitiveRenderEvent.FILL						| PrimitiveRenderEvent.DRAW );			}			else			{				ipr.fillPolygon( pre );				ipr.drawPolygon( pre );			}		}	}