From 3f7a2769fd58c6237d9c6b3d0487d1d86373e939 Mon Sep 17 00:00:00 2001
From: Robert Maynard <robert.maynard@kitware.com>
Date: Mon, 16 Jan 2017 08:26:14 -0500
Subject: [PATCH] Convert vtk over to using VTK_OVERRIDE

---
 CMake/vtkObjectFactory.h.in                   |  6 +-
 Charts/Core/vtkAxis.h                         |  8 +-
 Charts/Core/vtkAxisExtended.h                 |  2 +-
 Charts/Core/vtkCategoryLegend.h               |  6 +-
 Charts/Core/vtkChart.h                        |  6 +-
 Charts/Core/vtkChartBox.h                     | 20 ++--
 Charts/Core/vtkChartHistogram2D.h             | 12 +--
 Charts/Core/vtkChartLegend.h                  | 16 ++--
 Charts/Core/vtkChartMatrix.h                  |  8 +-
 Charts/Core/vtkChartParallelCoordinates.h     | 32 +++----
 Charts/Core/vtkChartPie.h                     | 36 +++----
 Charts/Core/vtkChartXY.h                      | 48 +++++-----
 Charts/Core/vtkChartXYZ.h                     | 18 ++--
 Charts/Core/vtkColorLegend.h                  | 14 +--
 .../Core/vtkColorTransferControlPointsItem.h  | 26 ++---
 Charts/Core/vtkColorTransferFunctionItem.h    |  8 +-
 Charts/Core/vtkCompositeControlPointsItem.h   | 30 +++---
 .../Core/vtkCompositeTransferFunctionItem.h   | 10 +-
 Charts/Core/vtkContextArea.h                  |  6 +-
 Charts/Core/vtkControlPointsItem.h            | 24 ++---
 Charts/Core/vtkLookupTableItem.h              |  8 +-
 Charts/Core/vtkPiecewiseControlPointsItem.h   | 20 ++--
 Charts/Core/vtkPiecewiseFunctionItem.h        |  8 +-
 Charts/Core/vtkPiecewisePointHandleItem.h     | 16 ++--
 Charts/Core/vtkPlot.h                         |  4 +-
 Charts/Core/vtkPlot3D.h                       |  4 +-
 Charts/Core/vtkPlotArea.h                     | 30 +++---
 Charts/Core/vtkPlotBag.h                      | 24 ++---
 Charts/Core/vtkPlotBar.h                      | 54 ++++++-----
 Charts/Core/vtkPlotBox.h                      | 24 ++---
 Charts/Core/vtkPlotFunctionalBag.h            | 26 ++---
 Charts/Core/vtkPlotGrid.h                     |  6 +-
 Charts/Core/vtkPlotHistogram2D.h              | 22 ++---
 Charts/Core/vtkPlotLine.h                     | 10 +-
 Charts/Core/vtkPlotLine3D.h                   |  6 +-
 Charts/Core/vtkPlotParallelCoordinates.h      | 20 ++--
 Charts/Core/vtkPlotPie.h                      | 12 +--
 Charts/Core/vtkPlotPoints.h                   | 24 ++---
 Charts/Core/vtkPlotPoints3D.h                 |  6 +-
 Charts/Core/vtkPlotStacked.h                  | 34 +++----
 Charts/Core/vtkPlotSurface.h                  | 20 ++--
 Charts/Core/vtkScalarsToColorsItem.h          |  8 +-
 Charts/Core/vtkScatterPlotMatrix.h            | 18 ++--
 Common/Core/vtkAngularPeriodicDataArray.h     |  2 +-
 Common/Core/vtkMappedDataArray.h              | 40 ++++----
 Common/Core/vtkPeriodicDataArray.h            |  2 +-
 Common/Core/vtkTestDataArray.h                |  2 +-
 Common/Core/vtkTypedDataArray.h               |  6 +-
 Common/DataModel/vtkMappedUnstructuredGrid.h  | 38 ++++----
 .../vtkMappedUnstructuredGridCellIterator.h   | 16 ++--
 Domains/Chemistry/vtkBlueObeliskData.h        |  4 +-
 Domains/Chemistry/vtkBlueObeliskDataParser.h  | 14 +--
 Domains/Chemistry/vtkCMLMoleculeReader.h      | 10 +-
 Domains/Chemistry/vtkGaussianCubeReader2.h    | 12 +--
 Domains/Chemistry/vtkMoleculeAlgorithm.h      | 12 +--
 Domains/Chemistry/vtkMoleculeMapper.h         | 16 ++--
 .../Chemistry/vtkMoleculeToAtomBallFilter.h   |  6 +-
 .../Chemistry/vtkMoleculeToBondStickFilter.h  |  6 +-
 .../Chemistry/vtkMoleculeToPolyDataFilter.h   |  6 +-
 Domains/Chemistry/vtkPeriodicTable.h          |  4 +-
 .../Chemistry/vtkProgrammableElectronicData.h | 23 +++--
 Domains/Chemistry/vtkProteinRibbonFilter.h    |  8 +-
 Domains/Chemistry/vtkSimpleBondPerceiver.h    |  8 +-
 Domains/Chemistry/vtkVASPAnimationReader.h    | 12 +--
 Domains/Chemistry/vtkVASPTessellationReader.h | 14 +--
 Domains/Chemistry/vtkXYZMolReader2.h          | 10 +-
 .../vtkOpenGLMoleculeMapper.h                 | 10 +-
 Examples/Build/vtkLocal/vtkLocalExample.h     |  2 +-
 Examples/Build/vtkMy/Imaging/vtkImageFoo.h    | 10 +-
 Filters/AMR/vtkAMRCutPlane.h                  | 20 ++--
 Filters/AMR/vtkAMRGaussianPulseSource.h       |  8 +-
 Filters/AMR/vtkAMRResampleFilter.h            | 20 ++--
 Filters/AMR/vtkAMRSliceFilter.h               | 20 ++--
 Filters/AMR/vtkAMRToMultiBlockFilter.h        | 12 +--
 Filters/AMR/vtkImageToAMR.h                   | 10 +-
 Filters/AMR/vtkParallelAMRUtilities.h         |  2 +-
 Filters/Extraction/vtkConvertSelection.h      | 12 +--
 Filters/Extraction/vtkExtractArraysOverTime.h | 18 ++--
 Filters/Extraction/vtkExtractBlock.h          |  8 +-
 Filters/Extraction/vtkExtractCells.h          |  8 +-
 Filters/Extraction/vtkExtractDataOverTime.h   |  6 +-
 Filters/Extraction/vtkExtractDataSets.h       | 12 +--
 Filters/Extraction/vtkExtractEdges.h          | 10 +-
 Filters/Extraction/vtkExtractGeometry.h       | 10 +-
 Filters/Extraction/vtkExtractGrid.h           | 10 +-
 Filters/Extraction/vtkExtractLevel.h          | 14 +--
 .../Extraction/vtkExtractPolyDataGeometry.h   |  8 +-
 .../Extraction/vtkExtractRectilinearGrid.h    | 10 +-
 Filters/Extraction/vtkExtractSelectedBlock.h  | 14 +--
 Filters/Extraction/vtkExtractSelectedIds.h    | 10 +-
 .../Extraction/vtkExtractSelectedLocations.h  |  6 +-
 .../vtkExtractSelectedPolyDataIds.h           |  8 +-
 Filters/Extraction/vtkExtractSelectedRows.h   |  8 +-
 .../Extraction/vtkExtractSelectedThresholds.h |  6 +-
 Filters/Extraction/vtkExtractSelection.h      | 14 +--
 .../Extraction/vtkExtractTemporalFieldData.h  |  4 +-
 .../Extraction/vtkExtractTensorComponents.h   |  6 +-
 Filters/Extraction/vtkExtractTimeSteps.h      | 12 +--
 .../Extraction/vtkExtractUnstructuredGrid.h   |  8 +-
 .../Extraction/vtkExtractVectorComponents.h   |  6 +-
 .../vtkHierarchicalDataExtractDataSets.h      |  4 +-
 .../vtkHierarchicalDataExtractLevel.h         |  4 +-
 .../Extraction/vtkProbeSelectedLocations.h    | 10 +-
 .../vtkAMRInterpolatedVelocityField.h         | 12 +--
 .../vtkAbstractInterpolatedVelocityField.h    |  6 +-
 .../vtkCachingInterpolatedVelocityField.h     |  4 +-
 .../vtkCellLocatorInterpolatedVelocityField.h | 16 ++--
 .../vtkCompositeInterpolatedVelocityField.h   |  5 +-
 Filters/FlowPaths/vtkDashedStreamLine.h       |  6 +-
 .../FlowPaths/vtkInterpolatedVelocityField.h  | 14 +--
 .../vtkLagrangianBasicIntegrationModel.h      |  6 +-
 .../vtkLagrangianMatidaIntegrationModel.h     |  8 +-
 .../FlowPaths/vtkLagrangianParticleTracker.h  | 18 ++--
 Filters/FlowPaths/vtkModifiedBSPTree.h        | 24 ++---
 Filters/FlowPaths/vtkParticlePathFilter.h     | 14 +--
 Filters/FlowPaths/vtkParticleTracer.h         |  6 +-
 Filters/FlowPaths/vtkParticleTracerBase.h     | 30 +++---
 Filters/FlowPaths/vtkStreaklineFilter.h       |  8 +-
 Filters/FlowPaths/vtkStreamLine.h             |  6 +-
 Filters/FlowPaths/vtkStreamPoints.h           |  6 +-
 Filters/FlowPaths/vtkStreamTracer.h           | 10 +-
 Filters/FlowPaths/vtkStreamer.h               |  6 +-
 .../vtkTemporalInterpolatedVelocityField.h    |  4 +-
 Filters/FlowPaths/vtkTemporalStreamTracer.h   | 22 ++---
 Filters/Generic/vtkGenericClip.h              | 10 +-
 Filters/Generic/vtkGenericContourFilter.h     | 10 +-
 Filters/Generic/vtkGenericCutter.h            | 10 +-
 .../Generic/vtkGenericDataSetTessellator.h    | 10 +-
 Filters/Generic/vtkGenericGeometryFilter.h    | 12 +--
 Filters/Generic/vtkGenericGlyph3DFilter.h     | 12 +--
 Filters/Generic/vtkGenericOutlineFilter.h     |  8 +-
 Filters/Generic/vtkGenericProbeFilter.h       | 10 +-
 Filters/Generic/vtkGenericStreamTracer.h      |  8 +-
 Filters/Hybrid/vtkBSplineTransform.h          | 26 ++---
 Filters/Hybrid/vtkDSPFilterDefinition.h       |  4 +-
 Filters/Hybrid/vtkDSPFilterGroup.h            |  4 +-
 Filters/Hybrid/vtkDepthSortPolyData.h         |  8 +-
 Filters/Hybrid/vtkEarthSource.h               |  6 +-
 Filters/Hybrid/vtkFacetReader.h               |  6 +-
 Filters/Hybrid/vtkForceTime.h                 | 16 ++--
 Filters/Hybrid/vtkGreedyTerrainDecimation.h   |  8 +-
 Filters/Hybrid/vtkGridTransform.h             | 26 ++---
 Filters/Hybrid/vtkImageToPolyDataFilter.h     |  8 +-
 Filters/Hybrid/vtkImplicitModeller.h          | 16 ++--
 Filters/Hybrid/vtkPCAAnalysisFilter.h         |  6 +-
 Filters/Hybrid/vtkPolyDataSilhouette.h        |  8 +-
 Filters/Hybrid/vtkProcrustesAlignmentFilter.h |  6 +-
 Filters/Hybrid/vtkProjectedTerrainPath.h      | 10 +-
 Filters/Hybrid/vtkRenderLargeImage.h          | 10 +-
 Filters/Hybrid/vtkTemporalDataSetCache.h      | 12 +--
 Filters/Hybrid/vtkTemporalFractal.h           | 10 +-
 Filters/Hybrid/vtkTemporalInterpolator.h      | 24 ++---
 Filters/Hybrid/vtkTemporalShiftScale.h        | 12 +--
 Filters/Hybrid/vtkTemporalSnapToTimeStep.h    | 12 +--
 Filters/Hybrid/vtkTransformToGrid.h           | 12 +--
 Filters/Hybrid/vtkWeightedTransformFilter.h   |  8 +-
 Filters/HyperTree/vtkClipHyperOctree.h        | 10 +-
 .../vtkHyperOctreeClipCutPointsGrabber.h      | 20 ++--
 .../HyperTree/vtkHyperOctreeContourFilter.h   | 16 ++--
 Filters/HyperTree/vtkHyperOctreeCutter.h      | 12 +--
 Filters/HyperTree/vtkHyperOctreeDepth.h       |  8 +-
 .../vtkHyperOctreeDualGridContourFilter.h     | 16 ++--
 Filters/HyperTree/vtkHyperOctreeLimiter.h     |  8 +-
 .../HyperTree/vtkHyperOctreeSampleFunction.h  | 10 +-
 .../HyperTree/vtkHyperOctreeSurfaceFilter.h   | 10 +-
 .../vtkHyperOctreeToUniformGridFilter.h       | 10 +-
 Filters/HyperTree/vtkHyperTreeGridAxisCut.h   |  8 +-
 Filters/HyperTree/vtkHyperTreeGridGeometry.h  | 10 +-
 .../vtkHyperTreeGridToUnstructuredGrid.h      |  8 +-
 .../Imaging/vtkComputeHistogram2DOutliers.h   | 12 +--
 Filters/Imaging/vtkExtractHistogram2D.h       | 30 +++---
 .../Imaging/vtkPairwiseExtractHistogram2D.h   | 26 ++---
 .../Modeling/vtkAdaptiveSubdivisionFilter.h   |  8 +-
 .../Modeling/vtkBandedPolyDataContourFilter.h |  8 +-
 .../Modeling/vtkButterflySubdivisionFilter.h  |  4 +-
 .../Modeling/vtkDijkstraGraphGeodesicPath.h   |  8 +-
 .../Modeling/vtkDijkstraImageGeodesicPath.h   | 16 ++--
 Filters/Modeling/vtkFillHolesFilter.h         |  6 +-
 Filters/Modeling/vtkGeodesicPath.h            |  6 +-
 Filters/Modeling/vtkGraphGeodesicPath.h       |  4 +-
 Filters/Modeling/vtkLinearExtrusionFilter.h   |  6 +-
 Filters/Modeling/vtkLinearSubdivisionFilter.h |  4 +-
 Filters/Modeling/vtkLoopSubdivisionFilter.h   |  6 +-
 Filters/Modeling/vtkOutlineFilter.h           |  8 +-
 Filters/Modeling/vtkPolyDataPointSampler.h    |  6 +-
 Filters/Modeling/vtkProjectedTexture.h        |  6 +-
 .../vtkQuadRotationalExtrusionFilter.h        |  8 +-
 Filters/Modeling/vtkRibbonFilter.h            |  6 +-
 .../Modeling/vtkRotationalExtrusionFilter.h   |  6 +-
 Filters/Modeling/vtkRuledSurfaceFilter.h      |  6 +-
 Filters/Modeling/vtkSectorSource.h            |  6 +-
 Filters/Modeling/vtkSelectEnclosedPoints.h    |  8 +-
 Filters/Modeling/vtkSelectPolyData.h          |  8 +-
 Filters/Modeling/vtkSpherePuzzle.h            |  6 +-
 Filters/Modeling/vtkSpherePuzzleArrows.h      |  6 +-
 Filters/Modeling/vtkSubdivideTetra.h          |  6 +-
 .../Modeling/vtkVolumeOfRevolutionFilter.h    |  8 +-
 Filters/Parallel/vtkAggregateDataSetFilter.h  |  6 +-
 Filters/Parallel/vtkAngularPeriodicFilter.h   | 14 +--
 Filters/Parallel/vtkCollectGraph.h            | 10 +-
 Filters/Parallel/vtkCollectPolyData.h         |  8 +-
 Filters/Parallel/vtkCollectTable.h            |  8 +-
 Filters/Parallel/vtkCutMaterial.h             |  8 +-
 Filters/Parallel/vtkDuplicatePolyData.h       |  8 +-
 Filters/Parallel/vtkExtractCTHPart.h          | 12 +--
 Filters/Parallel/vtkExtractPolyDataPiece.h    |  8 +-
 .../vtkExtractUnstructuredGridPiece.h         | 10 +-
 Filters/Parallel/vtkExtractUserDefinedPiece.h |  4 +-
 Filters/Parallel/vtkPCellDataToPointData.h    | 12 +--
 Filters/Parallel/vtkPExtractArraysOverTime.h  |  8 +-
 Filters/Parallel/vtkPKdTree.h                 |  8 +-
 Filters/Parallel/vtkPLinearExtrusionFilter.h  |  8 +-
 Filters/Parallel/vtkPMaskPoints.h             | 14 +--
 Filters/Parallel/vtkPOutlineCornerFilter.h    |  8 +-
 Filters/Parallel/vtkPOutlineFilter.h          |  8 +-
 Filters/Parallel/vtkPPolyDataNormals.h        |  8 +-
 Filters/Parallel/vtkPProbeFilter.h            | 10 +-
 Filters/Parallel/vtkPProjectSphereFilter.h    |  8 +-
 Filters/Parallel/vtkPReflectionFilter.h       |  6 +-
 Filters/Parallel/vtkPResampleFilter.h         | 12 +--
 Filters/Parallel/vtkPSphereSource.h           |  4 +-
 .../Parallel/vtkPYoungsMaterialInterface.h    |  6 +-
 Filters/Parallel/vtkPassThroughFilter.h       |  6 +-
 Filters/Parallel/vtkPeriodicFilter.h          | 10 +-
 Filters/Parallel/vtkPieceRequestFilter.h      | 12 +--
 Filters/Parallel/vtkPieceScalars.h            |  6 +-
 Filters/Parallel/vtkProcessIdScalars.h        |  6 +-
 .../vtkRectilinearGridOutlineFilter.h         |  8 +-
 Filters/Parallel/vtkTransmitPolyDataPiece.h   |  6 +-
 .../vtkTransmitRectilinearGridPiece.h         |  4 +-
 .../Parallel/vtkTransmitStructuredDataPiece.h | 10 +-
 .../Parallel/vtkTransmitStructuredGridPiece.h |  4 +-
 .../vtkTransmitUnstructuredGridPiece.h        |  6 +-
 Filters/ParallelImaging/vtkExtractPiece.h     | 16 ++--
 .../vtkMemoryLimitImageDataStreamer.h         |  6 +-
 .../vtkPComputeHistogram2DOutliers.h          |  8 +-
 .../ParallelImaging/vtkPExtractHistogram2D.h  | 10 +-
 .../vtkPPairwiseExtractHistogram2D.h          |  6 +-
 .../vtkTransmitImageDataPiece.h               |  4 +-
 Filters/Points/vtkBoundedPointSource.h        |  6 +-
 Filters/Points/vtkDensifyPointCloudFilter.h   | 10 +-
 Filters/Points/vtkEllipsoidalGaussianKernel.h | 14 +--
 .../Points/vtkEuclideanClusterExtraction.h    | 10 +-
 Filters/Points/vtkExtractHierarchicalBins.h   |  6 +-
 Filters/Points/vtkExtractPointCloudPiece.h    |  8 +-
 Filters/Points/vtkExtractPoints.h             |  8 +-
 Filters/Points/vtkExtractSurface.h            | 14 +--
 Filters/Points/vtkFitImplicitFunction.h       |  8 +-
 Filters/Points/vtkGaussianKernel.h            | 12 +--
 Filters/Points/vtkGeneralizedKernel.h         |  8 +-
 .../Points/vtkHierarchicalBinningFilter.cxx   | 10 +-
 Filters/Points/vtkHierarchicalBinningFilter.h | 10 +-
 Filters/Points/vtkInterpolationKernel.h       |  4 +-
 Filters/Points/vtkLinearKernel.h              |  8 +-
 Filters/Points/vtkPCACurvatureEstimation.h    | 10 +-
 Filters/Points/vtkPCANormalEstimation.h       | 10 +-
 Filters/Points/vtkPointCloudFilter.h          | 10 +-
 Filters/Points/vtkPointDensityFilter.h        | 14 +--
 Filters/Points/vtkPointInterpolator.h         | 18 ++--
 Filters/Points/vtkPointInterpolator2D.h       |  6 +-
 .../Points/vtkProbabilisticVoronoiKernel.h    |  8 +-
 Filters/Points/vtkRadiusOutlierRemoval.h      |  6 +-
 Filters/Points/vtkSPHCubicKernel.h            | 12 +--
 Filters/Points/vtkSPHInterpolator.h           | 18 ++--
 Filters/Points/vtkSPHKernel.h                 | 14 +--
 Filters/Points/vtkSPHQuarticKernel.h          | 12 +--
 Filters/Points/vtkSPHQuinticKernel.h          | 12 +--
 Filters/Points/vtkShepardKernel.h             |  8 +-
 Filters/Points/vtkSignedDistance.h            | 16 ++--
 Filters/Points/vtkStatisticalOutlierRemoval.h |  6 +-
 Filters/Points/vtkVoronoiKernel.h             | 10 +-
 Filters/Points/vtkVoxelGrid.h                 | 10 +-
 Filters/Points/vtkWendlandQuinticKernel.h     | 12 +--
 .../vtkProgrammableAttributeDataFilter.h      |  6 +-
 Filters/Programmable/vtkProgrammableFilter.h  |  8 +-
 .../Programmable/vtkProgrammableGlyphFilter.h |  8 +-
 Filters/Python/vtkPythonAlgorithm.h           | 16 ++--
 Filters/SMP/vtkSMPContourGrid.h               | 12 +--
 Filters/SMP/vtkSMPContourGridManyPieces.h     |  8 +-
 Filters/SMP/vtkSMPMergePoints.h               |  6 +-
 Filters/SMP/vtkSMPTransform.h                 | 12 +--
 Filters/SMP/vtkSMPWarpVector.h                |  6 +-
 .../SMP/vtkThreadedSynchronizedTemplates3D.h  | 12 +--
 ...vtkThreadedSynchronizedTemplatesCutter3D.h | 12 +--
 Filters/Selection/vtkCellDistanceSelector.h   |  6 +-
 Filters/Selection/vtkKdTreeSelector.h         | 12 +--
 Filters/Selection/vtkLinearSelector.h         | 10 +-
 Filters/Sources/vtkOutlineCornerSource.cxx    |  1 -
 Filters/Sources/vtkOutlineCornerSource.h      | 11 ---
 Filters/Texture/vtkImplicitTextureCoords.h    |  6 +-
 Filters/Texture/vtkTextureMapToCylinder.h     |  6 +-
 Filters/Texture/vtkTextureMapToPlane.h        |  6 +-
 Filters/Texture/vtkTextureMapToSphere.h       |  6 +-
 Filters/Texture/vtkThresholdTextureCoords.h   |  6 +-
 Filters/Texture/vtkTransformTextureCoords.h   |  6 +-
 Filters/Texture/vtkTriangularTCoords.h        |  6 +-
 Filters/Verdict/vtkCellQuality.h              |  8 +-
 Filters/Verdict/vtkMatrixMathFilter.h         |  8 +-
 Filters/Verdict/vtkMeshQuality.h              |  6 +-
 GUISupport/Qt/Q4VTKWidgetPlugin.h             | 26 ++---
 GUISupport/Qt/QFilterTreeProxyModel.h         |  6 +-
 GUISupport/Qt/QVTKApplication.h               |  2 +-
 GUISupport/Qt/QVTKInteractor.h                | 12 +--
 GUISupport/Qt/QVTKInteractorAdapter.h         |  2 +-
 GUISupport/Qt/QVTKInteractorInternal.h        |  4 +-
 GUISupport/Qt/QVTKPaintEngine.h               | 18 ++--
 GUISupport/Qt/QVTKWidget.h                    | 44 ++++-----
 GUISupport/Qt/vtkEventQtSlotConnect.h         |  4 +-
 .../Qt/vtkQtAnnotationLayersModelAdapter.h    | 34 +++----
 GUISupport/Qt/vtkQtConnection.h               |  2 +-
 GUISupport/Qt/vtkQtDebugLeaksModel.cxx        |  6 +-
 GUISupport/Qt/vtkQtDebugLeaksModel.h          | 10 +-
 GUISupport/Qt/vtkQtDebugLeaksView.h           |  4 +-
 GUISupport/Qt/vtkQtTableModelAdapter.h        | 42 ++++-----
 GUISupport/Qt/vtkQtTreeModelAdapter.h         | 38 ++++----
 GUISupport/QtSQL/vtkQtSQLDatabase.h           | 29 +++---
 GUISupport/QtSQL/vtkQtSQLQuery.h              | 18 ++--
 GUISupport/QtSQL/vtkQtTimePointUtility.h      |  2 +-
 Geovis/Core/vtkCompassRepresentation.h        | 26 ++---
 Geovis/Core/vtkCompassWidget.h                |  6 +-
 Geovis/Core/vtkGeoAdaptiveArcs.h              |  8 +-
 .../Core/vtkGeoAlignedImageRepresentation.h   |  4 +-
 Geovis/Core/vtkGeoAlignedImageSource.h        |  8 +-
 Geovis/Core/vtkGeoArcs.h                      |  6 +-
 Geovis/Core/vtkGeoAssignCoordinates.h         |  8 +-
 Geovis/Core/vtkGeoCamera.h                    |  4 +-
 Geovis/Core/vtkGeoFileImageSource.h           |  8 +-
 Geovis/Core/vtkGeoFileTerrainSource.h         |  8 +-
 Geovis/Core/vtkGeoGlobeSource.h               |  8 +-
 Geovis/Core/vtkGeoGraticule.h                 |  6 +-
 Geovis/Core/vtkGeoImageNode.h                 | 12 +--
 Geovis/Core/vtkGeoInteractorStyle.h           | 38 ++++----
 Geovis/Core/vtkGeoProjection.h                |  4 +-
 Geovis/Core/vtkGeoProjectionSource.h          | 10 +-
 Geovis/Core/vtkGeoRandomGraphSource.h         |  8 +-
 Geovis/Core/vtkGeoSampleArcs.h                |  6 +-
 Geovis/Core/vtkGeoSource.h                    |  2 +-
 Geovis/Core/vtkGeoSphereTransform.h           | 16 ++--
 Geovis/Core/vtkGeoTerrain.h                   |  2 +-
 Geovis/Core/vtkGeoTerrain2D.h                 |  8 +-
 Geovis/Core/vtkGeoTerrainNode.h               | 12 +--
 Geovis/Core/vtkGeoTransform.h                 | 18 ++--
 Geovis/Core/vtkGeoTreeNode.h                  |  4 +-
 Geovis/Core/vtkGeoTreeNodeCache.h             |  2 +-
 Geovis/Core/vtkGlobeSource.h                  |  6 +-
 IO/AMR/vtkAMRBaseParticlesReader.h            | 10 +-
 IO/AMR/vtkAMRBaseReader.h                     | 14 +--
 IO/AMR/vtkAMRDataSetCache.h                   |  4 +-
 IO/AMR/vtkAMREnzoParticlesReader.h            | 12 +--
 IO/AMR/vtkAMREnzoReader.h                     | 24 ++---
 IO/AMR/vtkAMRFlashParticlesReader.h           | 12 +--
 IO/AMR/vtkAMRFlashReader.h                    | 24 ++---
 IO/Core/vtkASCIITextCodec.h                   | 16 ++--
 IO/Core/vtkAbstractParticleWriter.h           |  6 +-
 IO/Core/vtkAbstractPolyDataReader.h           |  4 +-
 IO/Core/vtkArrayDataReader.h                  |  6 +-
 IO/Core/vtkArrayDataWriter.h                  | 10 +-
 IO/Core/vtkArrayReader.h                      |  6 +-
 IO/Core/vtkArrayWriter.h                      | 10 +-
 IO/Core/vtkBase64InputStream.h                | 12 +--
 IO/Core/vtkBase64OutputStream.h               | 10 +-
 IO/Core/vtkBase64Utilities.h                  |  2 +-
 IO/Core/vtkDataCompressor.h                   |  4 +-
 IO/Core/vtkDelimitedTextWriter.h              |  8 +-
 IO/Core/vtkGlobFileNames.h                    |  2 +-
 IO/Core/vtkInputStream.h                      |  4 +-
 IO/Core/vtkJavaScriptDataWriter.h             |  8 +-
 IO/Core/vtkLZ4DataCompressor.h                | 10 +-
 IO/Core/vtkOutputStream.h                     |  4 +-
 IO/Core/vtkSortFileNames.h                    |  4 +-
 IO/Core/vtkTextCodec.h                        |  4 +-
 IO/Core/vtkTextCodecFactory.h                 |  4 +-
 IO/Core/vtkUTF16TextCodec.h                   | 16 ++--
 IO/Core/vtkUTF8TextCodec.h                    | 16 ++--
 IO/Core/vtkWriter.h                           |  8 +-
 IO/Core/vtkZLibDataCompressor.h               | 10 +-
 IO/EnSight/vtkEnSight6BinaryReader.h          | 42 ++++-----
 IO/EnSight/vtkEnSight6Reader.h                | 42 ++++-----
 IO/EnSight/vtkEnSightGoldBinaryReader.h       | 42 ++++-----
 IO/EnSight/vtkEnSightGoldReader.h             | 66 +++++--------
 IO/EnSight/vtkEnSightMasterServerReader.h     | 12 +--
 IO/EnSight/vtkEnSightReader.cxx               |  2 -
 IO/EnSight/vtkEnSightReader.h                 | 34 ++-----
 IO/EnSight/vtkGenericEnSightReader.h          | 14 +--
 IO/Exodus/vtkCPExodusIIElementBlock.h         |  4 +-
 IO/Exodus/vtkCPExodusIIInSituReader.h         | 10 +-
 .../vtkCPExodusIINodalCoordinatesTemplate.h   | 94 +++++++++----------
 IO/Exodus/vtkCPExodusIIResultsArrayTemplate.h | 94 +++++++++----------
 IO/Exodus/vtkExodusIICache.h                  |  4 +-
 IO/Exodus/vtkExodusIIReader.h                 | 12 +--
 IO/Exodus/vtkExodusIIReaderParser.h           |  8 +-
 IO/Exodus/vtkExodusIIReaderPrivate.h          |  2 +-
 IO/Exodus/vtkExodusIIReaderVariableCheck.h    | 22 ++---
 IO/Exodus/vtkExodusIIWriter.h                 | 12 +--
 IO/Exodus/vtkModelMetadata.h                  |  4 +-
 IO/Export/vtkExporter.h                       |  6 +-
 IO/Export/vtkGL2PSExporter.h                  |  4 +-
 IO/Export/vtkIVExporter.h                     |  6 +-
 IO/Export/vtkOBJExporter.h                    |  6 +-
 IO/Export/vtkOOGLExporter.h                   |  6 +-
 IO/Export/vtkPOVExporter.h                    |  6 +-
 IO/Export/vtkRIBExporter.h                    |  6 +-
 IO/Export/vtkRIBLight.h                       |  6 +-
 IO/Export/vtkRIBProperty.h                    |  6 +-
 IO/Export/vtkVRMLExporter.h                   |  6 +-
 IO/Export/vtkX3DExporter.h                    |  6 +-
 IO/Export/vtkX3DExporterFIWriter.h            | 38 ++++----
 IO/Export/vtkX3DExporterWriter.h              |  4 +-
 IO/Export/vtkX3DExporterXMLWriter.h           | 38 ++++----
 .../Testing/Cxx/TestGL2PSContext.cxx          |  2 +-
 IO/ExportOpenGL/vtkOpenGLGL2PSExporter.h      |  6 +-
 IO/ExportOpenGL2/vtkOpenGLGL2PSExporter.h     |  6 +-
 IO/Geometry/vtkAVSucdReader.h                 |  8 +-
 IO/Geometry/vtkBYUReader.h                    |  6 +-
 IO/Geometry/vtkBYUWriter.h                    |  8 +-
 IO/Geometry/vtkChacoReader.h                  |  8 +-
 IO/Geometry/vtkFLUENTReader.h                 |  8 +-
 IO/Geometry/vtkFacetWriter.h                  | 10 +-
 IO/Geometry/vtkGAMBITReader.h                 |  8 +-
 IO/Geometry/vtkGaussianCubeReader.cxx         |  2 -
 IO/Geometry/vtkGaussianCubeReader.h           | 15 ++-
 IO/Geometry/vtkHoudiniPolyDataWriter.cxx      |  4 +-
 IO/Geometry/vtkHoudiniPolyDataWriter.h        |  8 +-
 IO/Geometry/vtkIVWriter.h                     |  6 +-
 IO/Geometry/vtkMCubesReader.h                 |  8 +-
 IO/Geometry/vtkMCubesWriter.h                 |  8 +-
 IO/Geometry/vtkMFIXReader.h                   |  8 +-
 IO/Geometry/vtkMoleculeReaderBase.h           |  8 +-
 IO/Geometry/vtkOBJReader.h                    |  6 +-
 IO/Geometry/vtkOpenFOAMReader.cxx             | 28 +++---
 IO/Geometry/vtkOpenFOAMReader.h               |  8 +-
 IO/Geometry/vtkPDBReader.h                    |  6 +-
 IO/Geometry/vtkPTSReader.h                    |  8 +-
 IO/Geometry/vtkParticleReader.h               |  8 +-
 IO/Geometry/vtkProStarReader.h                |  8 +-
 IO/Geometry/vtkSTLReader.h                    |  8 +-
 IO/Geometry/vtkSTLWriter.h                    |  6 +-
 IO/Geometry/vtkTecplotReader.h                | 14 +--
 IO/Geometry/vtkUGFacetReader.h                |  8 +-
 IO/Geometry/vtkWindBladeReader.h              | 16 ++--
 IO/Geometry/vtkXYZMolReader.h                 |  6 +-
 IO/Image/vtkBMPReader.h                       | 16 ++--
 IO/Image/vtkBMPWriter.h                       |  6 +-
 IO/Image/vtkDEMReader.h                       | 12 +--
 IO/Image/vtkDICOMImageReader.h                | 16 ++--
 IO/Image/vtkGESignaReader.h                   | 12 +--
 IO/Image/vtkImageExport.h                     |  8 +-
 IO/Image/vtkImageImport.h                     | 18 ++--
 IO/Image/vtkImageImportExecutive.h            |  6 +-
 IO/Image/vtkImageReader.h                     | 10 +-
 IO/Image/vtkImageReader2.h                    | 10 +-
 IO/Image/vtkImageReader2Collection.h          |  2 +-
 IO/Image/vtkImageReader2Factory.h             |  4 +-
 IO/Image/vtkImageWriter.h                     |  8 +-
 IO/Image/vtkJPEGReader.h                      | 12 +--
 IO/Image/vtkJPEGWriter.h                      |  6 +-
 IO/Image/vtkJSONImageWriter.h                 |  8 +-
 IO/Image/vtkMRCReader.h                       | 12 +--
 IO/Image/vtkMedicalImageProperties.h          |  4 +-
 IO/Image/vtkMedicalImageReader2.h             |  4 +-
 IO/Image/vtkMetaImageReader.h                 | 20 ++--
 IO/Image/vtkMetaImageWriter.h                 | 10 +-
 IO/Image/vtkNIFTIImageHeader.h                |  2 +-
 IO/Image/vtkNIFTIImageReader.h                | 16 ++--
 IO/Image/vtkNIFTIImageWriter.h                |  6 +-
 IO/Image/vtkNrrdReader.h                      | 14 +--
 IO/Image/vtkPNGReader.h                       | 12 +--
 IO/Image/vtkPNGWriter.h                       |  6 +-
 IO/Image/vtkPNMReader.h                       | 10 +-
 IO/Image/vtkPNMWriter.h                       | 10 +-
 IO/Image/vtkPostScriptWriter.h                | 10 +-
 IO/Image/vtkSLCReader.h                       | 24 ++---
 IO/Image/vtkTIFFReader.h                      | 12 +--
 IO/Image/vtkTIFFWriter.h                      | 10 +-
 IO/Image/vtkVolume16Reader.h                  | 10 +-
 IO/Image/vtkVolumeReader.h                    |  4 +-
 IO/Import/vtk3DSImporter.h                    | 18 ++--
 IO/Import/vtkImporter.h                       |  4 +-
 IO/Import/vtkOBJImporter.h                    | 10 +-
 IO/Import/vtkOBJImporterInternals.h           |  4 +-
 IO/Import/vtkVRMLImporter.h                   | 16 ++--
 IO/Infovis/vtkBiomTableReader.h               | 14 +--
 IO/Infovis/vtkChacoGraphReader.h              |  8 +-
 IO/Infovis/vtkDIMACSGraphReader.h             | 12 +--
 IO/Infovis/vtkDIMACSGraphWriter.h             |  8 +-
 IO/Infovis/vtkDelimitedTextReader.h           |  6 +-
 IO/Infovis/vtkFixedWidthTextReader.h          |  6 +-
 IO/Infovis/vtkISIReader.h                     |  6 +-
 IO/Infovis/vtkMultiNewickTreeReader.h         | 14 +--
 IO/Infovis/vtkNewickTreeReader.h              | 14 +--
 IO/Infovis/vtkNewickTreeWriter.h              |  8 +-
 IO/Infovis/vtkPhyloXMLTreeReader.h            | 12 +--
 IO/Infovis/vtkPhyloXMLTreeWriter.h            | 16 ++--
 IO/Infovis/vtkRISReader.h                     |  6 +-
 IO/Infovis/vtkTulipReader.h                   | 10 +-
 IO/Infovis/vtkXGMLReader.h                    |  8 +-
 IO/Infovis/vtkXMLTreeReader.h                 |  6 +-
 IO/LSDyna/vtkLSDynaPart.h                     |  4 +-
 IO/LSDyna/vtkLSDynaPartCollection.h           |  4 +-
 IO/LSDyna/vtkLSDynaReader.h                   |  8 +-
 IO/LSDyna/vtkLSDynaSummaryParser.h            | 10 +-
 IO/Legacy/vtkCompositeDataReader.h            | 18 ++--
 IO/Legacy/vtkCompositeDataWriter.h            |  8 +-
 IO/Legacy/vtkDataObjectReader.h               | 10 +-
 IO/Legacy/vtkDataObjectWriter.h               |  8 +-
 IO/Legacy/vtkDataReader.h                     |  8 +-
 IO/Legacy/vtkDataSetReader.h                  | 18 ++--
 IO/Legacy/vtkDataSetWriter.h                  |  8 +-
 IO/Legacy/vtkDataWriter.h                     |  6 +-
 IO/Legacy/vtkGenericDataObjectReader.h        | 18 ++--
 IO/Legacy/vtkGenericDataObjectWriter.h        |  8 +-
 IO/Legacy/vtkGraphReader.h                    | 18 ++--
 IO/Legacy/vtkGraphWriter.h                    |  8 +-
 IO/Legacy/vtkPolyDataReader.h                 | 10 +-
 IO/Legacy/vtkPolyDataWriter.h                 |  8 +-
 IO/Legacy/vtkRectilinearGridReader.h          | 16 ++--
 IO/Legacy/vtkRectilinearGridWriter.h          |  8 +-
 IO/Legacy/vtkSimplePointsReader.h             |  6 +-
 IO/Legacy/vtkSimplePointsWriter.h             |  6 +-
 IO/Legacy/vtkStructuredGridReader.h           | 16 ++--
 IO/Legacy/vtkStructuredGridWriter.h           |  8 +-
 IO/Legacy/vtkStructuredPointsReader.h         | 16 ++--
 IO/Legacy/vtkStructuredPointsWriter.h         |  8 +-
 IO/Legacy/vtkTableReader.h                    | 14 +--
 IO/Legacy/vtkTableWriter.h                    |  8 +-
 IO/Legacy/vtkTreeReader.h                     | 14 +--
 IO/Legacy/vtkTreeWriter.h                     |  8 +-
 IO/Legacy/vtkUnstructuredGridReader.h         | 14 +--
 IO/Legacy/vtkUnstructuredGridWriter.h         |  8 +-
 IO/MINC/vtkMINCImageAttributes.h              |  2 +-
 IO/MINC/vtkMINCImageReader.h                  | 14 +--
 IO/MINC/vtkMINCImageWriter.h                  | 20 ++--
 IO/MINC/vtkMNIObjectReader.h                  |  6 +-
 IO/MINC/vtkMNIObjectWriter.h                  |  6 +-
 IO/MINC/vtkMNITagPointReader.h                |  6 +-
 IO/MINC/vtkMNITagPointWriter.h                | 12 +--
 IO/MINC/vtkMNITransformReader.h               |  6 +-
 IO/MINC/vtkMNITransformWriter.h               |  6 +-
 IO/Movie/vtkGenericMovieWriter.h              |  4 +-
 IO/Movie/vtkOggTheoraWriter.h                 | 10 +-
 IO/NetCDF/vtkMPASReader.h                     | 10 +-
 IO/NetCDF/vtkNetCDFCAMReader.h                | 14 +--
 IO/NetCDF/vtkNetCDFCFReader.h                 | 26 ++---
 IO/NetCDF/vtkNetCDFPOPReader.h                | 10 +-
 IO/NetCDF/vtkNetCDFReader.h                   | 16 ++--
 IO/NetCDF/vtkSLACParticleReader.h             | 12 +--
 IO/NetCDF/vtkSLACReader.h                     | 12 +--
 IO/PLY/vtkPLYReader.h                         |  6 +-
 IO/PLY/vtkPLYWriter.h                         |  8 +-
 IO/Parallel/vtkEnSightWriter.h                |  6 +-
 IO/Parallel/vtkMultiBlockPLOT3DReader.h       | 14 +--
 IO/Parallel/vtkPChacoReader.h                 |  8 +-
 IO/Parallel/vtkPDataSetReader.h               | 16 ++--
 IO/Parallel/vtkPDataSetWriter.h               |  6 +-
 IO/Parallel/vtkPImageWriter.h                 | 10 +-
 IO/Parallel/vtkPOpenFOAMReader.h              |  8 +-
 IO/Parallel/vtkPSLACReader.h                  | 50 +++++-----
 IO/Parallel/vtkPlot3DMetaReader.h             | 12 +--
 IO/ParallelXML/vtkXMLPDataSetWriter.h         | 14 +--
 IO/ParallelXML/vtkXMLPDataWriter.h            | 14 +--
 .../vtkXMLPHierarchicalBoxDataWriter.h        |  4 +-
 IO/ParallelXML/vtkXMLPImageDataWriter.h       | 14 +--
 IO/ParallelXML/vtkXMLPMultiBlockDataWriter.h  | 16 ++--
 IO/ParallelXML/vtkXMLPPolyDataWriter.h        | 12 +--
 IO/ParallelXML/vtkXMLPRectilinearGridWriter.h | 14 +--
 IO/ParallelXML/vtkXMLPStructuredDataWriter.h  | 16 ++--
 IO/ParallelXML/vtkXMLPStructuredGridWriter.h  | 14 +--
 IO/ParallelXML/vtkXMLPUniformGridAMRWriter.h  |  8 +-
 .../vtkXMLPUnstructuredDataWriter.h           |  8 +-
 .../vtkXMLPUnstructuredGridWriter.h           | 12 +--
 IO/SQL/vtkDatabaseToTableReader.h             |  6 +-
 IO/SQL/vtkRowQuery.h                          |  4 +-
 IO/SQL/vtkRowQueryToTable.h                   |  8 +-
 IO/SQL/vtkSQLDatabase.h                       |  6 +-
 IO/SQL/vtkSQLDatabaseSchema.h                 |  4 +-
 IO/SQL/vtkSQLDatabaseTableSource.h            |  6 +-
 IO/SQL/vtkSQLQuery.h                          |  8 +-
 IO/SQL/vtkSQLiteDatabase.h                    | 35 +++----
 IO/SQL/vtkSQLiteQuery.h                       | 64 ++++++-------
 IO/SQL/vtkSQLiteToTableReader.h               |  6 +-
 IO/SQL/vtkTableToDatabaseWriter.h             |  8 +-
 IO/SQL/vtkTableToSQLiteWriter.h               |  8 +-
 IO/TecplotTable/vtkTecplotTableReader.h       |  6 +-
 IO/Video/vtkVideoSource.h                     |  8 +-
 IO/XML/vtkRTXMLPolyDataReader.h               |  4 +-
 IO/XML/vtkXMLCompositeDataReader.h            | 20 ++--
 IO/XML/vtkXMLCompositeDataWriter.h            | 22 ++---
 IO/XML/vtkXMLDataReader.h                     | 18 ++--
 IO/XML/vtkXMLDataSetWriter.h                  | 12 +--
 IO/XML/vtkXMLFileReadTester.cxx               |  4 -
 IO/XML/vtkXMLFileReadTester.h                 | 27 ++----
 IO/XML/vtkXMLGenericDataObjectReader.h        | 26 ++---
 .../vtkXMLHierarchicalBoxDataFileConverter.h  |  4 +-
 IO/XML/vtkXMLHierarchicalBoxDataReader.h      |  4 +-
 IO/XML/vtkXMLHierarchicalBoxDataWriter.h      |  6 +-
 IO/XML/vtkXMLHierarchicalDataReader.h         |  6 +-
 IO/XML/vtkXMLHyperOctreeReader.h              | 24 ++---
 IO/XML/vtkXMLHyperOctreeWriter.h              | 14 +--
 IO/XML/vtkXMLImageDataReader.h                | 16 ++--
 IO/XML/vtkXMLImageDataWriter.h                | 14 +--
 IO/XML/vtkXMLMultiBlockDataReader.h           | 16 ++--
 IO/XML/vtkXMLMultiBlockDataWriter.h           | 12 +--
 IO/XML/vtkXMLMultiGroupDataReader.h           |  6 +-
 IO/XML/vtkXMLPDataReader.h                    | 14 +--
 IO/XML/vtkXMLPImageDataReader.h               | 22 ++---
 IO/XML/vtkXMLPPolyDataReader.h                | 24 ++---
 IO/XML/vtkXMLPRectilinearGridReader.h         | 22 ++---
 IO/XML/vtkXMLPStructuredDataReader.h          | 32 +++----
 IO/XML/vtkXMLPStructuredGridReader.h          | 22 ++---
 IO/XML/vtkXMLPUnstructuredDataReader.h        | 28 +++---
 IO/XML/vtkXMLPUnstructuredGridReader.h        | 24 ++---
 IO/XML/vtkXMLPolyDataReader.h                 | 30 +++---
 IO/XML/vtkXMLPolyDataWriter.h                 | 26 ++---
 IO/XML/vtkXMLReader.h                         |  8 +-
 IO/XML/vtkXMLRectilinearGridReader.h          | 20 ++--
 IO/XML/vtkXMLRectilinearGridWriter.h          | 22 ++---
 IO/XML/vtkXMLStructuredDataReader.h           | 32 +++----
 IO/XML/vtkXMLStructuredDataWriter.h           |  8 +-
 IO/XML/vtkXMLStructuredGridReader.h           | 20 ++--
 IO/XML/vtkXMLStructuredGridWriter.h           | 22 ++---
 IO/XML/vtkXMLUniformGridAMRReader.h           | 26 ++---
 IO/XML/vtkXMLUniformGridAMRWriter.h           | 16 ++--
 IO/XML/vtkXMLUnstructuredDataReader.h         | 28 +++---
 IO/XML/vtkXMLUnstructuredDataWriter.h         |  8 +-
 IO/XML/vtkXMLUnstructuredGridReader.h         | 30 +++---
 IO/XML/vtkXMLUnstructuredGridWriter.h         | 26 ++---
 IO/XML/vtkXMLWriter.h                         |  8 +-
 IO/XMLParser/vtkXMLDataHeaderPrivate.h        | 12 +--
 IO/XMLParser/vtkXMLDataParser.h               | 20 ++--
 IO/XMLParser/vtkXMLParser.h                   |  4 +-
 IO/XMLParser/vtkXMLUtilities.h                |  2 +-
 Imaging/Color/vtkImageHSIToRGB.h              |  6 +-
 Imaging/Color/vtkImageHSVToRGB.h              |  6 +-
 Imaging/Color/vtkImageLuminance.h             |  8 +-
 Imaging/Color/vtkImageMapToRGBA.h             |  2 +-
 .../Color/vtkImageMapToWindowLevelColors.h    | 12 +--
 Imaging/Color/vtkImageQuantizeRGBToIndex.h    | 12 +--
 Imaging/Color/vtkImageRGBToHSI.h              |  6 +-
 Imaging/Color/vtkImageRGBToHSV.h              |  6 +-
 Imaging/Color/vtkImageRGBToYIQ.h              |  6 +-
 Imaging/Color/vtkImageYIQToRGB.h              |  6 +-
 Imaging/Core/vtkAbstractImageInterpolator.h   |  2 +-
 Imaging/Core/vtkExtractVOI.h                  |  8 +-
 Imaging/Core/vtkImageAppendComponents.h       |  6 +-
 Imaging/Core/vtkImageBSplineCoefficients.h    | 34 +++----
 Imaging/Core/vtkImageBSplineInterpolator.h    | 36 +++----
 Imaging/Core/vtkImageBlend.h                  |  8 +-
 Imaging/Core/vtkImageCacheFilter.h            |  8 +-
 Imaging/Core/vtkImageCast.h                   |  8 +-
 Imaging/Core/vtkImageChangeInformation.h      | 10 +-
 Imaging/Core/vtkImageClip.h                   |  6 +-
 Imaging/Core/vtkImageConstantPad.h            |  6 +-
 Imaging/Core/vtkImageDataStreamer.h           |  6 +-
 Imaging/Core/vtkImageDecomposeFilter.h        |  4 +-
 Imaging/Core/vtkImageDifference.h             | 20 ++--
 Imaging/Core/vtkImageExtractComponents.h      | 10 +-
 Imaging/Core/vtkImageFlip.h                   |  4 +-
 Imaging/Core/vtkImageInterpolator.h           | 24 ++---
 Imaging/Core/vtkImageIterateFilter.h          |  8 +-
 Imaging/Core/vtkImageMagnify.h                | 14 +--
 Imaging/Core/vtkImageMapToColors.h            |  8 +-
 Imaging/Core/vtkImageMask.h                   | 12 +--
 Imaging/Core/vtkImageMirrorPad.h              |  2 +-
 Imaging/Core/vtkImagePadFilter.h              |  6 +-
 Imaging/Core/vtkImagePermute.h                |  2 +-
 Imaging/Core/vtkImageResample.h               |  4 +-
 Imaging/Core/vtkImageResize.h                 | 22 ++---
 Imaging/Core/vtkImageReslice.h                | 18 ++--
 Imaging/Core/vtkImageResliceToColors.h        |  2 +-
 Imaging/Core/vtkImageShiftScale.h             | 12 +--
 Imaging/Core/vtkImageShrink3D.h               | 10 +-
 Imaging/Core/vtkImageSincInterpolator.h       | 36 +++----
 Imaging/Core/vtkImageStencilAlgorithm.h       |  6 +-
 Imaging/Core/vtkImageStencilData.h            |  6 +-
 Imaging/Core/vtkImageStencilSource.h          |  8 +-
 Imaging/Core/vtkImageThreshold.h              |  8 +-
 Imaging/Core/vtkImageTranslateExtent.h        | 10 +-
 Imaging/Core/vtkImageWrapPad.h                |  4 +-
 Imaging/Core/vtkRTAnalyticSource.h            | 12 +--
 Imaging/Fourier/vtkImageButterworthHighPass.h |  6 +-
 Imaging/Fourier/vtkImageButterworthLowPass.h  |  6 +-
 Imaging/Fourier/vtkImageFFT.h                 | 14 +--
 Imaging/Fourier/vtkImageFourierCenter.h       | 10 +-
 Imaging/Fourier/vtkImageFourierFilter.h       |  4 +-
 Imaging/Fourier/vtkImageIdealHighPass.h       |  6 +-
 Imaging/Fourier/vtkImageIdealLowPass.h        |  6 +-
 Imaging/Fourier/vtkImageRFFT.h                | 14 +--
 .../General/vtkImageAnisotropicDiffusion2D.h  |  6 +-
 .../General/vtkImageAnisotropicDiffusion3D.h  |  6 +-
 Imaging/General/vtkImageCheckerboard.h        |  8 +-
 Imaging/General/vtkImageCityBlockDistance.h   | 10 +-
 Imaging/General/vtkImageConvolve.h            |  6 +-
 Imaging/General/vtkImageCorrelation.h         | 16 ++--
 Imaging/General/vtkImageEuclideanDistance.h   | 16 ++--
 Imaging/General/vtkImageEuclideanToPolar.h    |  6 +-
 Imaging/General/vtkImageGaussianSmooth.h      |  8 +-
 Imaging/General/vtkImageGradient.h            | 18 ++--
 Imaging/General/vtkImageGradientMagnitude.h   | 14 +--
 Imaging/General/vtkImageHybridMedian2D.h      |  4 +-
 Imaging/General/vtkImageLaplacian.h           | 10 +-
 Imaging/General/vtkImageMedian3D.h            |  6 +-
 Imaging/General/vtkImageNormalize.h           |  6 +-
 Imaging/General/vtkImageRange3D.h             | 14 +--
 .../General/vtkImageSeparableConvolution.h    | 18 ++--
 Imaging/General/vtkImageSlab.h                | 16 ++--
 Imaging/General/vtkImageSlabReslice.h         |  6 +-
 Imaging/General/vtkImageSobel2D.h             | 10 +-
 Imaging/General/vtkImageSobel3D.h             | 10 +-
 Imaging/General/vtkImageSpatialAlgorithm.h    |  8 +-
 Imaging/General/vtkImageVariance3D.h          | 14 +--
 Imaging/General/vtkSimpleImageFilterExample.h |  4 +-
 Imaging/Hybrid/vtkBooleanTexture.h            |  8 +-
 Imaging/Hybrid/vtkCheckerboardSplatter.h      | 14 +--
 Imaging/Hybrid/vtkFastSplatter.h              | 18 ++--
 Imaging/Hybrid/vtkGaussianSplatter.h          | 14 +--
 Imaging/Hybrid/vtkImageCursor3D.h             |  8 +-
 Imaging/Hybrid/vtkImageRectilinearWipe.h      |  8 +-
 Imaging/Hybrid/vtkImageToPoints.h             | 20 ++--
 Imaging/Hybrid/vtkPointLoad.h                 | 10 +-
 Imaging/Hybrid/vtkSampleFunction.h            | 12 +--
 Imaging/Hybrid/vtkShepardMethod.h             | 14 +--
 Imaging/Hybrid/vtkSliceCubes.h                |  4 +-
 .../Hybrid/vtkSurfaceReconstructionFilter.h   | 14 +--
 Imaging/Hybrid/vtkTriangularTexture.h         |  8 +-
 Imaging/Hybrid/vtkVoxelModeller.h             | 14 +--
 Imaging/Math/vtkImageDivergence.h             | 12 +--
 Imaging/Math/vtkImageDotProduct.h             | 10 +-
 Imaging/Math/vtkImageLogarithmicScale.h       |  6 +-
 Imaging/Math/vtkImageLogic.h                  |  8 +-
 Imaging/Math/vtkImageMagnitude.h              |  8 +-
 Imaging/Math/vtkImageMaskBits.h               |  6 +-
 Imaging/Math/vtkImageMathematics.h            | 14 +--
 Imaging/Math/vtkImageWeightedSum.h            | 10 +-
 .../vtkImageConnectivityFilter.h              | 18 ++--
 Imaging/Morphological/vtkImageConnector.h     |  4 +-
 .../vtkImageContinuousDilate3D.h              | 10 +-
 .../Morphological/vtkImageContinuousErode3D.h | 10 +-
 Imaging/Morphological/vtkImageDilateErode3D.h | 10 +-
 .../Morphological/vtkImageIslandRemoval2D.h   |  8 +-
 .../vtkImageNonMaximumSuppression.h           | 16 ++--
 Imaging/Morphological/vtkImageOpenClose3D.h   | 20 ++--
 .../Morphological/vtkImageSeedConnectivity.h  |  8 +-
 Imaging/Morphological/vtkImageSkeleton2D.h    | 12 +--
 .../vtkImageThresholdConnectivity.h           | 16 ++--
 Imaging/Sources/vtkImageCanvasSource2D.h      | 12 +--
 Imaging/Sources/vtkImageEllipsoidSource.h     | 12 +--
 Imaging/Sources/vtkImageGaussianSource.h      |  8 +-
 Imaging/Sources/vtkImageGridSource.h          | 10 +-
 Imaging/Sources/vtkImageMandelbrotSource.h    | 16 ++--
 Imaging/Sources/vtkImageNoiseSource.h         |  8 +-
 Imaging/Sources/vtkImageSinusoidSource.h      |  8 +-
 Imaging/Statistics/vtkImageAccumulate.h       | 18 ++--
 Imaging/Statistics/vtkImageHistogram.h        | 24 ++---
 .../Statistics/vtkImageHistogramStatistics.h  |  8 +-
 Imaging/Stencil/vtkImageStencil.h             |  8 +-
 Imaging/Stencil/vtkImageStencilToImage.h      | 14 +--
 Imaging/Stencil/vtkImageToImageStencil.h      | 12 +--
 .../vtkImplicitFunctionToImageStencil.h       | 10 +-
 Imaging/Stencil/vtkLassoStencilSource.h       | 10 +-
 Imaging/Stencil/vtkPolyDataToImageStencil.h   | 10 +-
 Imaging/Stencil/vtkROIStencilSource.h         |  8 +-
 Infovis/Core/vtkAddMembershipArray.h          |  8 +-
 Infovis/Core/vtkAdjacencyMatrixToEdgeTable.h  |  8 +-
 Infovis/Core/vtkArrayNorm.h                   |  6 +-
 Infovis/Core/vtkArrayToTable.h                |  8 +-
 Infovis/Core/vtkCollapseGraph.h               |  8 +-
 Infovis/Core/vtkCollapseVerticesByArray.h     | 10 +-
 Infovis/Core/vtkDataObjectToTable.h           |  8 +-
 Infovis/Core/vtkDotProductSimilarity.h        |  8 +-
 Infovis/Core/vtkEdgeCenters.h                 |  8 +-
 Infovis/Core/vtkExpandSelectedGraph.h         |  8 +-
 Infovis/Core/vtkExtractSelectedGraph.h        | 10 +-
 Infovis/Core/vtkExtractSelectedTree.h         |  8 +-
 Infovis/Core/vtkGenerateIndexArray.h          | 14 +--
 .../Core/vtkGraphHierarchicalBundleEdges.h    |  8 +-
 Infovis/Core/vtkGroupLeafVertices.h           |  6 +-
 Infovis/Core/vtkKCoreDecomposition.h          |  6 +-
 Infovis/Core/vtkMergeColumns.h                |  6 +-
 Infovis/Core/vtkMergeGraphs.h                 | 10 +-
 Infovis/Core/vtkMergeTables.h                 |  6 +-
 Infovis/Core/vtkMutableGraphHelper.h          |  4 +-
 Infovis/Core/vtkNetworkHierarchy.h            | 10 +-
 Infovis/Core/vtkPipelineGraphSource.h         |  6 +-
 Infovis/Core/vtkPruneTreeFilter.h             |  6 +-
 Infovis/Core/vtkRandomGraphSource.h           | 12 +--
 Infovis/Core/vtkReduceTable.h                 |  6 +-
 Infovis/Core/vtkRemoveHiddenData.h            |  8 +-
 Infovis/Core/vtkRemoveIsolatedVertices.h      |  6 +-
 Infovis/Core/vtkSparseArrayToTable.h          |  8 +-
 Infovis/Core/vtkStreamGraph.h                 |  8 +-
 Infovis/Core/vtkStringToCategory.h            | 16 ++--
 Infovis/Core/vtkStringToNumeric.h             | 14 +--
 Infovis/Core/vtkTableToArray.h                |  8 +-
 Infovis/Core/vtkTableToGraph.h                | 16 ++--
 Infovis/Core/vtkTableToSparseArray.h          |  8 +-
 Infovis/Core/vtkTableToTreeFilter.h           | 10 +-
 Infovis/Core/vtkThresholdGraph.h              |  8 +-
 Infovis/Core/vtkThresholdTable.h              |  6 +-
 Infovis/Core/vtkTransferAttributes.h          |  8 +-
 Infovis/Core/vtkTransposeMatrix.h             |  6 +-
 Infovis/Core/vtkTreeDifferenceFilter.h        | 10 +-
 Infovis/Core/vtkTreeFieldAggregator.h         |  6 +-
 Infovis/Core/vtkTreeLevelsFilter.h            |  6 +-
 Infovis/Core/vtkVertexDegree.h                |  6 +-
 Infovis/Layout/vtkArcParallelEdgeStrategy.h   |  6 +-
 Infovis/Layout/vtkAreaLayout.h                |  8 +-
 Infovis/Layout/vtkAreaLayoutStrategy.h        |  4 +-
 Infovis/Layout/vtkAssignCoordinates.h         |  8 +-
 .../vtkAssignCoordinatesLayoutStrategy.h      |  6 +-
 .../vtkAttributeClustering2DLayoutStrategy.h  | 10 +-
 Infovis/Layout/vtkBoxLayoutStrategy.h         |  8 +-
 .../vtkCirclePackFrontChainLayoutStrategy.h   |  8 +-
 Infovis/Layout/vtkCirclePackLayout.h          |  8 +-
 Infovis/Layout/vtkCirclePackLayoutStrategy.h  |  4 +-
 Infovis/Layout/vtkCirclePackToPolyData.h      |  8 +-
 Infovis/Layout/vtkCircularLayoutStrategy.h    |  6 +-
 .../Layout/vtkClustering2DLayoutStrategy.h    | 10 +-
 Infovis/Layout/vtkCommunity2DLayoutStrategy.h | 10 +-
 Infovis/Layout/vtkConeLayoutStrategy.h        |  6 +-
 .../Layout/vtkConstrained2DLayoutStrategy.h   | 10 +-
 Infovis/Layout/vtkCosmicTreeLayoutStrategy.h  |  6 +-
 Infovis/Layout/vtkEdgeLayout.h                |  8 +-
 Infovis/Layout/vtkEdgeLayoutStrategy.h        |  4 +-
 Infovis/Layout/vtkFast2DLayoutStrategy.h      | 10 +-
 .../Layout/vtkForceDirectedLayoutStrategy.h   | 10 +-
 Infovis/Layout/vtkGeoEdgeStrategy.h           |  6 +-
 Infovis/Layout/vtkGeoMath.h                   |  4 +-
 Infovis/Layout/vtkGraphLayout.h               |  8 +-
 Infovis/Layout/vtkGraphLayoutStrategy.h       |  4 +-
 Infovis/Layout/vtkIncrementalForceLayout.h    |  4 +-
 Infovis/Layout/vtkKCoreLayout.h               |  8 +-
 Infovis/Layout/vtkPassThroughEdgeStrategy.h   |  6 +-
 Infovis/Layout/vtkPassThroughLayoutStrategy.h | 10 +-
 Infovis/Layout/vtkPerturbCoincidentVertices.h |  6 +-
 Infovis/Layout/vtkRandomLayoutStrategy.h      |  8 +-
 Infovis/Layout/vtkSimple2DLayoutStrategy.h    | 10 +-
 Infovis/Layout/vtkSimple3DCirclesStrategy.h   |  8 +-
 .../Layout/vtkSliceAndDiceLayoutStrategy.h    |  6 +-
 Infovis/Layout/vtkSpanTreeLayoutStrategy.h    |  6 +-
 Infovis/Layout/vtkSplineGraphEdges.h          | 10 +-
 Infovis/Layout/vtkSquarifyLayoutStrategy.h    |  6 +-
 Infovis/Layout/vtkStackedTreeLayoutStrategy.h | 14 +--
 Infovis/Layout/vtkTreeLayoutStrategy.h        |  6 +-
 Infovis/Layout/vtkTreeMapLayout.h             |  8 +-
 Infovis/Layout/vtkTreeMapLayoutStrategy.h     |  8 +-
 Infovis/Layout/vtkTreeMapToPolyData.h         |  8 +-
 Infovis/Layout/vtkTreeOrbitLayoutStrategy.h   |  6 +-
 Infovis/Layout/vtkTreeRingToPolyData.h        |  8 +-
 Interaction/Image/vtkImageViewer.h            |  4 +-
 Interaction/Image/vtkImageViewer2.h           |  4 +-
 Interaction/Image/vtkResliceImageViewer.h     | 22 ++---
 .../Image/vtkResliceImageViewerMeasurements.h |  4 +-
 .../Style/vtkInteractorStyleDrawPolygon.h     | 10 +-
 Interaction/Style/vtkInteractorStyleFlight.h  | 26 ++---
 Interaction/Style/vtkInteractorStyleImage.h   | 20 ++--
 .../Style/vtkInteractorStyleJoystickActor.h   | 28 +++---
 .../Style/vtkInteractorStyleJoystickCamera.h  | 30 +++---
 .../vtkInteractorStyleMultiTouchCamera.h      | 10 +-
 .../Style/vtkInteractorStyleRubberBand2D.h    | 24 ++---
 .../Style/vtkInteractorStyleRubberBand3D.h    | 24 ++---
 .../Style/vtkInteractorStyleRubberBandPick.h  | 12 +--
 .../Style/vtkInteractorStyleRubberBandZoom.h  | 12 +--
 Interaction/Style/vtkInteractorStyleSwitch.h  | 14 +--
 Interaction/Style/vtkInteractorStyleTerrain.h | 26 ++---
 .../Style/vtkInteractorStyleTrackball.h       |  4 +-
 .../Style/vtkInteractorStyleTrackballActor.h  | 28 +++---
 .../Style/vtkInteractorStyleTrackballCamera.h | 30 +++---
 Interaction/Style/vtkInteractorStyleUnicam.h  | 12 +--
 Interaction/Style/vtkInteractorStyleUser.h    | 38 ++++----
 .../vtkParallelCoordinatesInteractorStyle.h   | 34 +++----
 Interaction/Widgets/vtk3DWidget.h             |  4 +-
 ...kAbstractPolygonalHandleRepresentation3D.h | 36 +++----
 Interaction/Widgets/vtkAbstractWidget.h       |  8 +-
 Interaction/Widgets/vtkAffineRepresentation.h |  6 +-
 .../Widgets/vtkAffineRepresentation2D.h       | 28 +++---
 Interaction/Widgets/vtkAffineWidget.h         | 10 +-
 Interaction/Widgets/vtkAngleRepresentation.h  | 12 +--
 .../Widgets/vtkAngleRepresentation2D.h        | 30 +++---
 .../Widgets/vtkAngleRepresentation3D.h        | 34 +++----
 Interaction/Widgets/vtkAngleWidget.h          | 10 +-
 .../Widgets/vtkAxesTransformRepresentation.h  | 20 ++--
 Interaction/Widgets/vtkAxesTransformWidget.h  | 10 +-
 .../Widgets/vtkBalloonRepresentation.h        | 16 ++--
 Interaction/Widgets/vtkBalloonWidget.h        | 14 +--
 .../vtkBezierContourLineInterpolator.h        | 12 +--
 .../Widgets/vtkBiDimensionalRepresentation.h  |  4 +-
 .../vtkBiDimensionalRepresentation2D.h        | 32 +++----
 Interaction/Widgets/vtkBiDimensionalWidget.h  | 10 +-
 Interaction/Widgets/vtkBorderRepresentation.h | 26 ++---
 Interaction/Widgets/vtkBorderWidget.h         |  8 +-
 .../Widgets/vtkBoundedPlanePointPlacer.h      | 18 ++--
 Interaction/Widgets/vtkBoxRepresentation.h    | 26 ++---
 Interaction/Widgets/vtkBoxWidget.h            | 16 ++--
 Interaction/Widgets/vtkBoxWidget2.h           |  6 +-
 Interaction/Widgets/vtkBrokenLineWidget.h     | 16 ++--
 Interaction/Widgets/vtkButtonRepresentation.h |  8 +-
 Interaction/Widgets/vtkButtonWidget.h         |  6 +-
 Interaction/Widgets/vtkCameraRepresentation.h | 20 ++--
 Interaction/Widgets/vtkCameraWidget.h         |  8 +-
 .../Widgets/vtkCaptionRepresentation.h        | 20 ++--
 Interaction/Widgets/vtkCaptionWidget.h        |  8 +-
 .../Widgets/vtkCellCentersPointPlacer.h       | 20 ++--
 .../Widgets/vtkCenteredSliderRepresentation.h | 28 +++---
 Interaction/Widgets/vtkCenteredSliderWidget.h |  6 +-
 .../Widgets/vtkCheckerboardRepresentation.h   | 18 ++--
 Interaction/Widgets/vtkCheckerboardWidget.h   |  8 +-
 .../Widgets/vtkClosedSurfacePointPlacer.h     | 12 +--
 .../vtkConstrainedPointHandleRepresentation.h | 34 +++----
 .../Widgets/vtkContinuousValueWidget.h        |  4 +-
 .../vtkContinuousValueWidgetRepresentation.h  | 12 +--
 .../Widgets/vtkContourLineInterpolator.h      |  4 +-
 .../Widgets/vtkContourRepresentation.h        | 22 ++---
 Interaction/Widgets/vtkContourWidget.h        |  8 +-
 Interaction/Widgets/vtkCurveRepresentation.h  | 28 +++---
 .../vtkDijkstraImageContourLineInterpolator.h |  8 +-
 .../Widgets/vtkDistanceRepresentation.h       | 12 +--
 .../Widgets/vtkDistanceRepresentation2D.h     | 34 +++----
 .../Widgets/vtkDistanceRepresentation3D.h     | 36 +++----
 Interaction/Widgets/vtkDistanceWidget.h       | 10 +-
 .../vtkEllipsoidTensorProbeRepresentation.h   | 16 ++--
 Interaction/Widgets/vtkEvent.h                |  4 +-
 .../Widgets/vtkFinitePlaneRepresentation.h    | 26 ++---
 Interaction/Widgets/vtkFinitePlaneWidget.h    |  6 +-
 .../vtkFixedSizeHandleRepresentation3D.h      |  6 +-
 .../vtkFocalPlaneContourRepresentation.h      | 16 ++--
 .../Widgets/vtkFocalPlanePointPlacer.h        | 12 +--
 Interaction/Widgets/vtkHandleRepresentation.h | 10 +-
 Interaction/Widgets/vtkHandleWidget.h         |  8 +-
 Interaction/Widgets/vtkHoverWidget.h          |  8 +-
 .../Widgets/vtkImageActorPointPlacer.h        | 18 ++--
 .../Widgets/vtkImageCroppingRegionsWidget.h   |  8 +-
 Interaction/Widgets/vtkImageOrthoPlanes.h     |  4 +-
 Interaction/Widgets/vtkImagePlaneWidget.h     | 22 ++---
 Interaction/Widgets/vtkImageTracerWidget.h    | 16 ++--
 .../vtkImplicitCylinderRepresentation.h       | 30 +++---
 .../Widgets/vtkImplicitCylinderWidget.h       |  8 +-
 .../Widgets/vtkImplicitPlaneRepresentation.h  | 30 +++---
 Interaction/Widgets/vtkImplicitPlaneWidget.h  | 20 ++--
 Interaction/Widgets/vtkImplicitPlaneWidget2.h |  8 +-
 Interaction/Widgets/vtkLineRepresentation.h   | 30 +++---
 Interaction/Widgets/vtkLineWidget.h           | 16 ++--
 Interaction/Widgets/vtkLineWidget2.h          | 10 +-
 .../vtkLinearContourLineInterpolator.h        |  8 +-
 Interaction/Widgets/vtkLogoRepresentation.h   | 12 +--
 Interaction/Widgets/vtkLogoWidget.h           |  6 +-
 .../Widgets/vtkOrientationMarkerWidget.h      |  8 +-
 .../vtkOrientedGlyphContourRepresentation.h   | 34 +++----
 ...ntedGlyphFocalPlaneContourRepresentation.h | 30 +++---
 ...kOrientedPolygonalHandleRepresentation3D.h |  6 +-
 .../Widgets/vtkParallelopipedRepresentation.h | 20 ++--
 Interaction/Widgets/vtkParallelopipedWidget.h | 12 +--
 Interaction/Widgets/vtkPlaneWidget.h          | 20 ++--
 .../Widgets/vtkPlaybackRepresentation.h       | 20 ++--
 Interaction/Widgets/vtkPlaybackWidget.h       |  8 +-
 .../Widgets/vtkPointHandleRepresentation2D.h  | 30 +++---
 .../Widgets/vtkPointHandleRepresentation3D.h  | 40 ++++----
 Interaction/Widgets/vtkPointPlacer.h          |  4 +-
 Interaction/Widgets/vtkPointWidget.h          | 14 +--
 .../vtkPolyDataContourLineInterpolator.h      | 12 +--
 Interaction/Widgets/vtkPolyDataPointPlacer.h  | 20 ++--
 Interaction/Widgets/vtkPolyDataSourceWidget.h |  8 +-
 .../Widgets/vtkPolyLineRepresentation.h       | 18 ++--
 Interaction/Widgets/vtkPolyLineWidget.h       |  6 +-
 .../vtkPolygonalHandleRepresentation3D.h      |  6 +-
 ...kPolygonalSurfaceContourLineInterpolator.h | 12 +--
 .../Widgets/vtkPolygonalSurfacePointPlacer.h  | 30 +++---
 .../Widgets/vtkProgressBarRepresentation.h    | 20 ++--
 Interaction/Widgets/vtkProgressBarWidget.h    |  6 +-
 .../Widgets/vtkProp3DButtonRepresentation.h   | 30 +++---
 .../vtkRectilinearWipeRepresentation.h        | 24 ++---
 .../Widgets/vtkRectilinearWipeWidget.h        |  8 +-
 Interaction/Widgets/vtkResliceCursor.h        |  4 +-
 Interaction/Widgets/vtkResliceCursorActor.h   | 14 +--
 .../vtkResliceCursorLineRepresentation.h      | 30 +++---
 Interaction/Widgets/vtkResliceCursorPicker.h  |  8 +-
 .../vtkResliceCursorPolyDataAlgorithm.h       |  8 +-
 .../Widgets/vtkResliceCursorRepresentation.h  |  6 +-
 .../vtkResliceCursorThickLineRepresentation.h | 10 +-
 Interaction/Widgets/vtkResliceCursorWidget.h  | 10 +-
 .../Widgets/vtkScalarBarRepresentation.h      | 26 ++---
 Interaction/Widgets/vtkScalarBarWidget.h      |  8 +-
 Interaction/Widgets/vtkSeedRepresentation.h   |  8 +-
 Interaction/Widgets/vtkSeedWidget.h           | 14 +--
 Interaction/Widgets/vtkSliderRepresentation.h |  4 +-
 .../Widgets/vtkSliderRepresentation2D.h       | 26 ++---
 .../Widgets/vtkSliderRepresentation3D.h       | 34 +++----
 Interaction/Widgets/vtkSliderWidget.h         |  6 +-
 .../Widgets/vtkSphereHandleRepresentation.h   | 40 ++++----
 Interaction/Widgets/vtkSphereRepresentation.h | 28 +++---
 Interaction/Widgets/vtkSphereWidget.h         | 16 ++--
 Interaction/Widgets/vtkSphereWidget2.h        |  6 +-
 Interaction/Widgets/vtkSplineRepresentation.h | 18 ++--
 Interaction/Widgets/vtkSplineWidget.h         | 16 ++--
 Interaction/Widgets/vtkSplineWidget2.h        |  6 +-
 .../Widgets/vtkTensorProbeRepresentation.h    | 12 +--
 Interaction/Widgets/vtkTensorProbeWidget.h    |  6 +-
 .../vtkTerrainContourLineInterpolator.h       | 12 +--
 .../Widgets/vtkTerrainDataPointPlacer.h       | 20 ++--
 Interaction/Widgets/vtkTextRepresentation.h   | 24 ++---
 Interaction/Widgets/vtkTextWidget.h           |  6 +-
 .../Widgets/vtkTexturedButtonRepresentation.h | 28 +++---
 .../vtkTexturedButtonRepresentation2D.h       | 24 ++---
 Interaction/Widgets/vtkWidgetCallbackMapper.h |  4 +-
 Interaction/Widgets/vtkWidgetEvent.h          |  4 +-
 .../Widgets/vtkWidgetEventTranslator.h        |  4 +-
 Interaction/Widgets/vtkWidgetRepresentation.h | 26 ++---
 Interaction/Widgets/vtkWidgetSet.h            |  4 +-
 Interaction/Widgets/vtkXYPlotWidget.h         |  6 +-
 Parallel/Core/vtkCommunicator.h               |  4 +-
 Parallel/Core/vtkDummyCommunicator.h          |  8 +-
 Parallel/Core/vtkDummyController.h            | 19 ++--
 Parallel/Core/vtkFieldDataSerializer.h        |  4 +-
 Parallel/Core/vtkMultiProcessController.h     |  4 +-
 Parallel/Core/vtkPDirectory.h                 |  4 +-
 Parallel/Core/vtkPSystemTools.h               |  4 +-
 Parallel/Core/vtkProcess.h                    |  2 +-
 Parallel/Core/vtkProcessGroup.h               |  4 +-
 Parallel/Core/vtkSocketCommunicator.h         | 60 ++++++------
 Parallel/Core/vtkSocketController.h           | 18 ++--
 Parallel/Core/vtkSubCommunicator.h            | 12 +--
 Parallel/Core/vtkSubGroup.h                   |  4 +-
 Rendering/Annotation/vtkAnnotatedCubeActor.h  | 20 ++--
 Rendering/Annotation/vtkArcPlotter.h          |  8 +-
 Rendering/Annotation/vtkAxesActor.h           | 24 ++---
 Rendering/Annotation/vtkAxisActor.h           | 16 ++--
 Rendering/Annotation/vtkAxisActor2D.h         | 16 ++--
 Rendering/Annotation/vtkAxisFollower.h        | 12 +--
 Rendering/Annotation/vtkBarChartActor.h       | 14 +--
 Rendering/Annotation/vtkCaptionActor2D.h      | 16 ++--
 Rendering/Annotation/vtkConvexHull2D.h        |  8 +-
 Rendering/Annotation/vtkCornerAnnotation.h    | 14 +--
 Rendering/Annotation/vtkCubeAxesActor.h       | 14 +--
 Rendering/Annotation/vtkCubeAxesActor2D.h     | 18 ++--
 .../vtkGraphAnnotationLayersFilter.h          | 10 +-
 Rendering/Annotation/vtkLeaderActor2D.h       | 16 ++--
 Rendering/Annotation/vtkLegendBoxActor.h      | 16 ++--
 Rendering/Annotation/vtkLegendScaleActor.h    | 12 +--
 .../Annotation/vtkParallelCoordinatesActor.h  | 14 +--
 Rendering/Annotation/vtkPieChartActor.h       | 14 +--
 Rendering/Annotation/vtkPolarAxesActor.h      | 14 +--
 Rendering/Annotation/vtkProp3DAxisFollower.h  | 14 +--
 Rendering/Annotation/vtkScalarBarActor.h      |  8 +-
 Rendering/Annotation/vtkSpiderPlotActor.h     | 14 +--
 Rendering/Annotation/vtkXYPlotActor.h         | 16 ++--
 .../Context2D/vtkAbstractContextBufferId.h    |  4 +-
 Rendering/Context2D/vtkAbstractContextItem.h  |  4 +-
 Rendering/Context2D/vtkBlockItem.h            | 18 ++--
 Rendering/Context2D/vtkBrush.h                |  4 +-
 Rendering/Context2D/vtkContext2D.h            |  4 +-
 Rendering/Context2D/vtkContext3D.h            |  4 +-
 Rendering/Context2D/vtkContextActor.h         |  8 +-
 Rendering/Context2D/vtkContextClip.h          |  8 +-
 Rendering/Context2D/vtkContextDevice2D.h      |  4 +-
 Rendering/Context2D/vtkContextDevice3D.h      |  4 +-
 Rendering/Context2D/vtkContextItem.h          |  4 +-
 Rendering/Context2D/vtkContextMapper2D.h      |  6 +-
 Rendering/Context2D/vtkContextScene.h         |  4 +-
 Rendering/Context2D/vtkContextTransform.h     | 20 ++--
 Rendering/Context2D/vtkImageItem.h            |  6 +-
 Rendering/Context2D/vtkMarkerUtilities.h      |  4 +-
 Rendering/Context2D/vtkPen.h                  |  4 +-
 Rendering/Context2D/vtkPropItem.h             |  8 +-
 Rendering/Context2D/vtkTooltipItem.h          |  8 +-
 .../ContextOpenGL/vtkOpenGL2ContextDevice2D.h | 16 ++--
 .../ContextOpenGL/vtkOpenGLContextActor.h     |  8 +-
 .../ContextOpenGL/vtkOpenGLContextBufferId.h  | 22 ++---
 .../ContextOpenGL/vtkOpenGLContextDevice2D.h  | 90 +++++++++---------
 .../ContextOpenGL/vtkOpenGLContextDevice3D.h  | 34 +++----
 Rendering/ContextOpenGL/vtkOpenGLPropItem.h   |  6 +-
 .../ContextOpenGL2/vtkOpenGLContextActor.h    | 10 +-
 .../ContextOpenGL2/vtkOpenGLContextBufferId.h | 22 ++---
 .../ContextOpenGL2/vtkOpenGLContextDevice2D.h | 90 +++++++++---------
 .../ContextOpenGL2/vtkOpenGLContextDevice3D.h | 34 +++----
 Rendering/ContextOpenGL2/vtkOpenGLPropItem.h  |  8 +-
 Rendering/Core/vtkAbstractInteractionDevice.h |  4 +-
 Rendering/Core/vtkAbstractMapper.h            |  6 +-
 Rendering/Core/vtkAbstractMapper3D.h          |  4 +-
 Rendering/Core/vtkAbstractPicker.h            |  4 +-
 Rendering/Core/vtkAbstractPropPicker.h        |  6 +-
 Rendering/Core/vtkAbstractRenderDevice.h      |  4 +-
 Rendering/Core/vtkAbstractVolumeMapper.h      | 12 +--
 Rendering/Core/vtkActor.h                     | 24 ++---
 Rendering/Core/vtkActor2D.h                   | 18 ++--
 Rendering/Core/vtkActor2DCollection.h         |  4 +-
 Rendering/Core/vtkActorCollection.h           |  2 +-
 Rendering/Core/vtkAreaPicker.h                |  8 +-
 Rendering/Core/vtkAssembly.h                  |  8 +-
 Rendering/Core/vtkAssemblyNode.h              |  6 +-
 Rendering/Core/vtkAssemblyPath.h              |  6 +-
 Rendering/Core/vtkAssemblyPaths.h             |  4 +-
 Rendering/Core/vtkBackgroundColorMonitor.h    |  4 +-
 Rendering/Core/vtkBillboardTextActor3D.h      |  2 +-
 Rendering/Core/vtkCamera.h                    |  4 +-
 Rendering/Core/vtkCameraActor.h               | 14 +--
 Rendering/Core/vtkCameraInterpolator.h        |  6 +-
 Rendering/Core/vtkCellCenterDepthSort.h       |  8 +-
 Rendering/Core/vtkCellPicker.h                | 14 +--
 Rendering/Core/vtkColorTransferFunction.h     | 20 ++--
 .../Core/vtkCompositeDataDisplayAttributes.h  |  4 +-
 Rendering/Core/vtkCompositePolyDataMapper.h   | 14 +--
 Rendering/Core/vtkCoordinate.h                |  2 +-
 Rendering/Core/vtkCuller.h                    |  2 +-
 Rendering/Core/vtkCullerCollection.h          |  2 +-
 Rendering/Core/vtkDataSetMapper.h             | 12 +--
 .../vtkDiscretizableColorTransferFunction.h   | 36 +++----
 Rendering/Core/vtkDistanceToCamera.h          |  8 +-
 Rendering/Core/vtkFXAAOptions.h               |  4 +-
 Rendering/Core/vtkFollower.h                  | 18 ++--
 Rendering/Core/vtkFrameBufferObjectBase.h     |  4 +-
 Rendering/Core/vtkFrustumCoverageCuller.h     |  6 +-
 Rendering/Core/vtkGPUInfo.h                   |  4 +-
 Rendering/Core/vtkGPUInfoList.h               |  4 +-
 .../Core/vtkGenericRenderWindowInteractor.h   |  8 +-
 .../Core/vtkGenericVertexAttributeMapping.h   |  4 +-
 Rendering/Core/vtkGlyph3DMapper.h             | 14 +--
 Rendering/Core/vtkGraphMapper.h               | 16 ++--
 Rendering/Core/vtkGraphToGlyphs.h             | 10 +-
 Rendering/Core/vtkHardwareSelector.h          |  4 +-
 .../Core/vtkHierarchicalPolyDataMapper.h      |  2 +-
 Rendering/Core/vtkImageActor.h                |  8 +-
 Rendering/Core/vtkImageMapper.h               |  8 +-
 Rendering/Core/vtkImageMapper3D.h             | 14 +--
 Rendering/Core/vtkImageProperty.h             |  6 +-
 Rendering/Core/vtkImageSlice.h                | 22 ++---
 Rendering/Core/vtkImageSliceMapper.h          | 22 ++---
 Rendering/Core/vtkInteractorEventRecorder.h   |  8 +-
 Rendering/Core/vtkInteractorObserver.h        |  4 +-
 Rendering/Core/vtkInteractorStyle.h           | 10 +-
 Rendering/Core/vtkInteractorStyle3D.h         | 22 ++---
 Rendering/Core/vtkInteractorStyleSwitchBase.h |  6 +-
 Rendering/Core/vtkLODProp3D.h                 | 28 +++---
 Rendering/Core/vtkLabeledContourMapper.h      | 14 +--
 Rendering/Core/vtkLight.h                     |  4 +-
 Rendering/Core/vtkLightActor.h                | 14 +--
 Rendering/Core/vtkLightCollection.h           |  2 +-
 Rendering/Core/vtkLightKit.h                  |  6 +-
 Rendering/Core/vtkLogLookupTable.h            |  4 +-
 Rendering/Core/vtkLookupTableWithEnabling.h   |  6 +-
 Rendering/Core/vtkMapArrayValues.h            |  8 +-
 Rendering/Core/vtkMapper.h                    | 12 +--
 Rendering/Core/vtkMapper2D.h                  |  4 +-
 Rendering/Core/vtkMapperCollection.h          |  2 +-
 Rendering/Core/vtkObserverMediator.h          |  4 +-
 Rendering/Core/vtkPainterDeviceAdapter.h      |  4 +-
 Rendering/Core/vtkPicker.h                    | 10 +-
 Rendering/Core/vtkPickingManager.h            |  4 +-
 Rendering/Core/vtkPointGaussianMapper.h       |  4 +-
 Rendering/Core/vtkPointPicker.h               |  8 +-
 Rendering/Core/vtkPolyDataMapper.h            | 24 ++---
 Rendering/Core/vtkPolyDataMapper2D.h          |  8 +-
 Rendering/Core/vtkProp.h                      |  4 +-
 Rendering/Core/vtkProp3D.h                    | 16 ++--
 Rendering/Core/vtkProp3DCollection.h          |  2 +-
 Rendering/Core/vtkProp3DFollower.h            | 24 ++---
 Rendering/Core/vtkPropAssembly.h              | 30 +++---
 Rendering/Core/vtkPropCollection.h            |  2 +-
 Rendering/Core/vtkPropPicker.h                |  8 +-
 Rendering/Core/vtkPropPicker3D.h              |  8 +-
 Rendering/Core/vtkProperty.h                  |  4 +-
 Rendering/Core/vtkProperty2D.h                |  4 +-
 Rendering/Core/vtkRenderPass.h                |  4 +-
 Rendering/Core/vtkRenderWidget.h              |  4 +-
 Rendering/Core/vtkRenderWindow.h              | 30 +++---
 Rendering/Core/vtkRenderWindowCollection.h    |  2 +-
 Rendering/Core/vtkRenderWindowInteractor.h    |  6 +-
 Rendering/Core/vtkRenderWindowInteractor3D.h  | 18 ++--
 Rendering/Core/vtkRenderedAreaPicker.h        |  6 +-
 Rendering/Core/vtkRenderer.h                  | 20 ++--
 Rendering/Core/vtkRendererCollection.h        |  2 +-
 Rendering/Core/vtkRendererDelegate.h          |  4 +-
 Rendering/Core/vtkRendererSource.h            | 12 +--
 Rendering/Core/vtkScenePicker.h               |  4 +-
 Rendering/Core/vtkSelectVisiblePoints.h       | 10 +-
 Rendering/Core/vtkShaderDeviceAdapter2.h      |  4 +-
 Rendering/Core/vtkStringToImage.h             |  4 +-
 Rendering/Core/vtkTDxInteractorStyle.h        |  4 +-
 Rendering/Core/vtkTDxInteractorStyleCamera.h  |  6 +-
 .../Core/vtkTDxInteractorStyleSettings.h      |  4 +-
 Rendering/Core/vtkTextActor.h                 | 12 +--
 Rendering/Core/vtkTextActor3D.h               | 18 ++--
 Rendering/Core/vtkTextMapper.h                | 10 +-
 Rendering/Core/vtkTextProperty.h              |  2 +-
 Rendering/Core/vtkTextPropertyCollection.h    |  2 +-
 Rendering/Core/vtkTextRenderer.h              |  4 +-
 Rendering/Core/vtkTexture.h                   |  6 +-
 Rendering/Core/vtkTexturedActor2D.h           | 14 +--
 .../Core/vtkTransformCoordinateSystems.h      |  8 +-
 Rendering/Core/vtkTransformInterpolator.h     |  6 +-
 Rendering/Core/vtkTupleInterpolator.h         |  4 +-
 Rendering/Core/vtkViewDependentErrorMetric.h  |  8 +-
 Rendering/Core/vtkViewport.h                  |  4 +-
 Rendering/Core/vtkVisibilitySort.h            |  4 +-
 Rendering/Core/vtkVolume.h                    | 20 ++--
 Rendering/Core/vtkVolumeCollection.h          |  2 +-
 Rendering/Core/vtkVolumeProperty.h            |  6 +-
 Rendering/Core/vtkWindowLevelLookupTable.h    |  6 +-
 Rendering/Core/vtkWindowToImageFilter.h       | 10 +-
 Rendering/Core/vtkWorldPointPicker.h          |  6 +-
 Rendering/FreeType/vtkFreeTypeStringToImage.h | 22 ++---
 Rendering/FreeType/vtkFreeTypeTools.h         |  4 +-
 .../vtkMathTextFreeTypeTextRenderer.h         | 30 +++---
 Rendering/FreeType/vtkMathTextUtilities.h     |  4 +-
 .../FreeType/vtkTextRendererStringToImage.h   | 22 ++---
 Rendering/FreeType/vtkVectorText.h            |  6 +-
 Rendering/GL2PS/vtkGL2PSContextDevice2D.h     | 48 +++++-----
 Rendering/GL2PS/vtkGL2PSUtilities.h           |  4 +-
 .../GL2PSOpenGL2/vtkOpenGLGL2PSHelperImpl.h   | 30 +++---
 Rendering/Image/vtkDepthImageToPointCloud.h   | 22 ++---
 Rendering/Image/vtkImageResliceMapper.h       | 24 ++---
 Rendering/Image/vtkImageSliceCollection.h     |  4 +-
 Rendering/Image/vtkImageStack.h               | 34 +++----
 Rendering/LIC/vtkImageDataLIC2D.h             | 18 ++--
 Rendering/LIC/vtkLineIntegralConvolution2D.h  |  4 +-
 Rendering/LIC/vtkStructuredGridLIC2D.h        | 22 ++---
 Rendering/LIC/vtkSurfaceLICComposite.h        |  4 +-
 Rendering/LIC/vtkSurfaceLICDefaultPainter.h   |  8 +-
 Rendering/LIC/vtkSurfaceLICPainter.h          | 14 +--
 Rendering/LOD/vtkLODActor.h                   | 14 +--
 Rendering/LOD/vtkQuadricLODActor.h            | 12 +--
 Rendering/Label/vtkDynamic2DLabelMapper.h     |  8 +-
 .../Label/vtkFreeTypeLabelRenderStrategy.h    | 22 ++---
 Rendering/Label/vtkLabelHierarchy.h           | 24 ++---
 Rendering/Label/vtkLabelHierarchyAlgorithm.h  | 12 +--
 .../vtkLabelHierarchyCompositeIterator.h      | 18 ++--
 Rendering/Label/vtkLabelHierarchyIterator.h   |  4 +-
 Rendering/Label/vtkLabelPlacementMapper.h     | 10 +-
 Rendering/Label/vtkLabelPlacer.h              | 12 +--
 Rendering/Label/vtkLabelRenderStrategy.h      |  4 +-
 Rendering/Label/vtkLabelSizeCalculator.h      | 10 +-
 Rendering/Label/vtkLabeledDataMapper.h        | 14 +--
 Rendering/Label/vtkLabeledTreeMapDataMapper.h | 10 +-
 Rendering/Label/vtkPointSetToLabelHierarchy.h | 10 +-
 .../OpenGL/Testing/Cxx/TestValuePasses.cxx    |  2 +-
 Rendering/OpenGL/vtkCameraPass.h              |  8 +-
 Rendering/OpenGL/vtkChooserPainter.h          | 10 +-
 Rendering/OpenGL/vtkClearRGBPass.h            |  6 +-
 Rendering/OpenGL/vtkClearZPass.h              |  6 +-
 Rendering/OpenGL/vtkClipPlanesPainter.h       |  6 +-
 Rendering/OpenGL/vtkCocoaRenderWindow.h       | 90 +++++++++---------
 .../OpenGL/vtkCocoaRenderWindowInteractor.h   | 20 ++--
 .../vtkCoincidentTopologyResolutionPainter.h  |  6 +-
 Rendering/OpenGL/vtkColorMaterialHelper.h     |  4 +-
 Rendering/OpenGL/vtkCompositePainter.h        | 12 +--
 .../OpenGL/vtkCompositePolyDataMapper2.h      | 14 +--
 Rendering/OpenGL/vtkCoreGraphicsGPUInfoList.h |  6 +-
 Rendering/OpenGL/vtkDataTransferHelper.h      |  4 +-
 Rendering/OpenGL/vtkDefaultPainter.h          | 16 ++--
 Rendering/OpenGL/vtkDefaultPass.h             |  6 +-
 Rendering/OpenGL/vtkDepthPeelingPass.h        |  8 +-
 Rendering/OpenGL/vtkDisplayListPainter.h      |  8 +-
 Rendering/OpenGL/vtkFrameBufferObject.h       | 18 +++-
 Rendering/OpenGL/vtkFrameBufferObject2.h      |  4 +-
 .../OpenGL/vtkGLSLShaderDeviceAdapter2.h      | 10 +-
 Rendering/OpenGL/vtkGaussianBlurPass.h        |  8 +-
 .../OpenGL/vtkGenericOpenGLRenderWindow.h     | 58 ++++++------
 .../vtkHardwareSelectionPolyDataPainter.h     |  8 +-
 Rendering/OpenGL/vtkHiddenLineRemovalPass.h   |  6 +-
 Rendering/OpenGL/vtkImageProcessingPass.h     |  6 +-
 Rendering/OpenGL/vtkLightingHelper.h          |  4 +-
 Rendering/OpenGL/vtkLightingPainter.h         |  4 +-
 Rendering/OpenGL/vtkLightsPass.h              |  6 +-
 Rendering/OpenGL/vtkLinesPainter.h            | 12 +--
 Rendering/OpenGL/vtkOpaquePass.h              |  6 +-
 Rendering/OpenGL/vtkOpenGLActor.h             |  4 +-
 Rendering/OpenGL/vtkOpenGLCamera.h            |  6 +-
 Rendering/OpenGL/vtkOpenGLClipPlanesPainter.h |  8 +-
 ...penGLCoincidentTopologyResolutionPainter.h |  8 +-
 Rendering/OpenGL/vtkOpenGLCompositePainter.h  |  8 +-
 .../OpenGL/vtkOpenGLDisplayListPainter.h      | 10 +-
 Rendering/OpenGL/vtkOpenGLExtensionManager.h  |  4 +-
 Rendering/OpenGL/vtkOpenGLGlyph3DMapper.h     |  8 +-
 Rendering/OpenGL/vtkOpenGLHardwareSelector.h  | 12 +--
 Rendering/OpenGL/vtkOpenGLHardwareSupport.h   |  4 +-
 Rendering/OpenGL/vtkOpenGLImageMapper.h       |  6 +-
 Rendering/OpenGL/vtkOpenGLImageSliceMapper.h  |  8 +-
 .../OpenGL/vtkOpenGLLabeledContourMapper.h    |  6 +-
 Rendering/OpenGL/vtkOpenGLLight.h             |  4 +-
 Rendering/OpenGL/vtkOpenGLLightMonitor.h      |  4 +-
 Rendering/OpenGL/vtkOpenGLLightingPainter.h   | 10 +-
 .../vtkOpenGLModelViewProjectionMonitor.h     |  4 +-
 .../OpenGL/vtkOpenGLPainterDeviceAdapter.h    | 40 ++++----
 Rendering/OpenGL/vtkOpenGLPolyDataMapper.h    |  6 +-
 Rendering/OpenGL/vtkOpenGLPolyDataMapper2D.h  |  4 +-
 Rendering/OpenGL/vtkOpenGLProperty.h          | 20 ++--
 Rendering/OpenGL/vtkOpenGLRenderWindow.h      | 82 ++++++++--------
 Rendering/OpenGL/vtkOpenGLRenderer.h          | 34 +++----
 .../OpenGL/vtkOpenGLRepresentationPainter.h   |  8 +-
 .../OpenGL/vtkOpenGLScalarsToColorsPainter.h  | 14 +--
 Rendering/OpenGL/vtkOpenGLTexture.h           |  8 +-
 Rendering/OpenGL/vtkOverlayPass.h             |  6 +-
 Rendering/OpenGL/vtkPainter.cxx               |  4 +-
 Rendering/OpenGL/vtkPainter.h                 |  4 +-
 Rendering/OpenGL/vtkPainterPolyDataMapper.cxx |  2 +-
 Rendering/OpenGL/vtkPainterPolyDataMapper.h   | 26 ++---
 Rendering/OpenGL/vtkPixelBufferObject.h       |  4 +-
 Rendering/OpenGL/vtkPointsPainter.h           |  8 +-
 Rendering/OpenGL/vtkPolyDataPainter.h         | 10 +-
 Rendering/OpenGL/vtkPolygonsPainter.h         |  8 +-
 Rendering/OpenGL/vtkPrimitivePainter.h        | 14 +--
 Rendering/OpenGL/vtkRenderPassCollection.h    |  4 +-
 Rendering/OpenGL/vtkRenderStepsPass.h         |  8 +-
 Rendering/OpenGL/vtkRenderbuffer.h            |  4 +-
 Rendering/OpenGL/vtkRepresentationPainter.h   |  4 +-
 Rendering/OpenGL/vtkScalarsToColorsPainter.h  | 10 +-
 Rendering/OpenGL/vtkSequencePass.h            |  8 +-
 Rendering/OpenGL/vtkShader2.h                 |  4 +-
 Rendering/OpenGL/vtkShader2Collection.h       |  6 +-
 Rendering/OpenGL/vtkShaderProgram2.h          |  4 +-
 Rendering/OpenGL/vtkShadowMapBakerPass.h      |  8 +-
 Rendering/OpenGL/vtkShadowMapPass.h           |  8 +-
 .../OpenGL/vtkSobelGradientMagnitudePass.h    |  8 +-
 Rendering/OpenGL/vtkStandardPolyDataPainter.h | 10 +-
 Rendering/OpenGL/vtkTStripsPainter.h          |  8 +-
 Rendering/OpenGL/vtkTextureObject.h           |  4 +-
 Rendering/OpenGL/vtkTextureUnitManager.h      |  4 +-
 Rendering/OpenGL/vtkTranslucentPass.h         |  6 +-
 Rendering/OpenGL/vtkUniformVariables.cxx      | 40 ++++----
 Rendering/OpenGL/vtkUniformVariables.h        |  4 +-
 Rendering/OpenGL/vtkValuePainter.h            | 10 +-
 Rendering/OpenGL/vtkValuePass.h               |  6 +-
 Rendering/OpenGL/vtkValuePasses.h             |  6 +-
 Rendering/OpenGL/vtkVolumetricPass.h          |  6 +-
 Rendering/OpenGL2/vtkCameraPass.h             |  8 +-
 Rendering/OpenGL2/vtkClearRGBPass.h           |  6 +-
 Rendering/OpenGL2/vtkClearZPass.h             |  6 +-
 Rendering/OpenGL2/vtkCocoaRenderWindow.h      | 92 +++++++++---------
 .../OpenGL2/vtkCocoaRenderWindowInteractor.h  | 20 ++--
 .../OpenGL2/vtkCompositePolyDataMapper2.cxx   | 12 +--
 .../OpenGL2/vtkCompositePolyDataMapper2.h     | 16 ++--
 Rendering/OpenGL2/vtkDataTransferHelper.h     |  4 +-
 Rendering/OpenGL2/vtkDefaultPass.h            |  6 +-
 .../OpenGL2/vtkDepthImageProcessingPass.h     |  4 +-
 Rendering/OpenGL2/vtkDepthOfFieldPass.h       |  8 +-
 Rendering/OpenGL2/vtkDepthPeelingPass.h       | 12 +--
 Rendering/OpenGL2/vtkDualDepthPeelingPass.h   | 14 +--
 Rendering/OpenGL2/vtkDummyGPUInfoList.h       |  6 +-
 Rendering/OpenGL2/vtkEDLShading.h             |  8 +-
 Rendering/OpenGL2/vtkGaussianBlurPass.h       |  8 +-
 .../OpenGL2/vtkGenericOpenGLRenderWindow.h    | 60 ++++++------
 Rendering/OpenGL2/vtkHiddenLineRemovalPass.h  |  6 +-
 Rendering/OpenGL2/vtkImageProcessingPass.h    |  6 +-
 Rendering/OpenGL2/vtkLightingMapPass.h        |  8 +-
 Rendering/OpenGL2/vtkLightsPass.h             |  6 +-
 Rendering/OpenGL2/vtkOpaquePass.h             |  6 +-
 Rendering/OpenGL2/vtkOpenGLActor.cxx          |  4 +-
 Rendering/OpenGL2/vtkOpenGLActor.h            |  4 +-
 .../OpenGL2/vtkOpenGLBillboardTextActor3D.h   |  4 +-
 Rendering/OpenGL2/vtkOpenGLBufferObject.h     |  4 +-
 Rendering/OpenGL2/vtkOpenGLCamera.h           |  6 +-
 Rendering/OpenGL2/vtkOpenGLFXAAFilter.h       |  4 +-
 .../OpenGL2/vtkOpenGLFramebufferObject.h      | 20 +++-
 Rendering/OpenGL2/vtkOpenGLGL2PSHelper.h      |  4 +-
 Rendering/OpenGL2/vtkOpenGLGlyph3DHelper.h    | 42 ++++-----
 Rendering/OpenGL2/vtkOpenGLGlyph3DMapper.h    |  8 +-
 Rendering/OpenGL2/vtkOpenGLHardwareSelector.h | 22 ++---
 .../OpenGL2/vtkOpenGLImageAlgorithmHelper.h   |  4 +-
 Rendering/OpenGL2/vtkOpenGLImageMapper.h      |  8 +-
 Rendering/OpenGL2/vtkOpenGLImageSliceMapper.h |  8 +-
 .../OpenGL2/vtkOpenGLIndexBufferObject.h      |  4 +-
 .../OpenGL2/vtkOpenGLLabeledContourMapper.h   | 12 +--
 Rendering/OpenGL2/vtkOpenGLLight.h            |  4 +-
 .../OpenGL2/vtkOpenGLPointGaussianMapper.h    | 10 +-
 Rendering/OpenGL2/vtkOpenGLPolyDataMapper.h   | 14 +--
 Rendering/OpenGL2/vtkOpenGLPolyDataMapper2D.h |  6 +-
 Rendering/OpenGL2/vtkOpenGLProperty.h         | 12 +--
 Rendering/OpenGL2/vtkOpenGLRenderPass.h       |  4 +-
 Rendering/OpenGL2/vtkOpenGLRenderUtilities.h  |  4 +-
 Rendering/OpenGL2/vtkOpenGLRenderWindow.h     | 86 ++++++++---------
 Rendering/OpenGL2/vtkOpenGLRenderer.h         | 34 +++----
 .../OpenGL2/vtkOpenGLResourceFreeCallback.h   |  6 +-
 Rendering/OpenGL2/vtkOpenGLShaderCache.h      |  2 +-
 Rendering/OpenGL2/vtkOpenGLSphereMapper.h     | 24 ++---
 Rendering/OpenGL2/vtkOpenGLStickMapper.h      | 22 ++---
 Rendering/OpenGL2/vtkOpenGLTextActor.h        |  6 +-
 Rendering/OpenGL2/vtkOpenGLTextActor3D.h      |  6 +-
 Rendering/OpenGL2/vtkOpenGLTextMapper.h       |  6 +-
 Rendering/OpenGL2/vtkOpenGLTexture.h          | 14 +--
 .../OpenGL2/vtkOpenGLVertexArrayObject.h      |  4 +-
 .../OpenGL2/vtkOpenGLVertexBufferObject.h     |  4 +-
 Rendering/OpenGL2/vtkOverlayPass.h            |  6 +-
 Rendering/OpenGL2/vtkPixelBufferObject.h      |  4 +-
 Rendering/OpenGL2/vtkPointFillPass.h          |  8 +-
 Rendering/OpenGL2/vtkRenderPassCollection.h   |  4 +-
 Rendering/OpenGL2/vtkRenderStepsPass.h        |  8 +-
 Rendering/OpenGL2/vtkRenderbuffer.h           |  4 +-
 Rendering/OpenGL2/vtkSSAAPass.h               |  8 +-
 Rendering/OpenGL2/vtkSequencePass.h           |  8 +-
 Rendering/OpenGL2/vtkShader.h                 |  4 +-
 Rendering/OpenGL2/vtkShaderProgram.h          |  4 +-
 Rendering/OpenGL2/vtkShadowMapBakerPass.h     |  8 +-
 Rendering/OpenGL2/vtkShadowMapPass.h          | 14 +--
 .../OpenGL2/vtkSobelGradientMagnitudePass.h   |  8 +-
 Rendering/OpenGL2/vtkTextureObject.h          |  4 +-
 Rendering/OpenGL2/vtkTextureUnitManager.h     |  4 +-
 Rendering/OpenGL2/vtkTransformFeedback.h      |  4 +-
 Rendering/OpenGL2/vtkTranslucentPass.h        |  6 +-
 Rendering/OpenGL2/vtkValuePass.h              | 14 +--
 Rendering/OpenGL2/vtkVolumetricPass.h         |  6 +-
 Rendering/Qt/vtkQImageToImageSource.h         |  8 +-
 Rendering/Qt/vtkQtInitialization.h            |  4 +-
 Rendering/Qt/vtkQtLabelRenderStrategy.h       | 32 +++----
 Rendering/Qt/vtkQtStringToImage.h             | 20 ++--
 Rendering/Qt/vtkQtTreeRingLabelMapper.h       | 19 ++--
 Rendering/Volume/vtkDirectionEncoder.h        |  2 +-
 .../Volume/vtkEncodedGradientEstimator.h      |  4 +-
 Rendering/Volume/vtkEncodedGradientShader.h   |  4 +-
 .../vtkFiniteDifferenceGradientEstimator.h    |  6 +-
 Rendering/Volume/vtkFixedPointRayCastImage.h  |  2 +-
 ...FixedPointVolumeRayCastCompositeGOHelper.h |  8 +-
 ...PointVolumeRayCastCompositeGOShadeHelper.h |  8 +-
 ...tkFixedPointVolumeRayCastCompositeHelper.h |  8 +-
 ...edPointVolumeRayCastCompositeShadeHelper.h |  8 +-
 .../Volume/vtkFixedPointVolumeRayCastHelper.h |  4 +-
 .../vtkFixedPointVolumeRayCastMIPHelper.h     |  8 +-
 .../Volume/vtkFixedPointVolumeRayCastMapper.h |  8 +-
 Rendering/Volume/vtkGPUVolumeRayCastMapper.h  |  8 +-
 Rendering/Volume/vtkHAVSVolumeMapper.h        |  2 +-
 Rendering/Volume/vtkOSPRayVolumeInterface.h   |  6 +-
 .../Volume/vtkProjectedAAHexahedraMapper.h    |  4 +-
 .../Volume/vtkProjectedTetrahedraMapper.h     |  4 +-
 .../Volume/vtkRayCastImageDisplayHelper.h     |  2 +-
 .../vtkRecursiveSphereDirectionEncoder.h      | 12 +--
 .../Volume/vtkSphericalDirectionEncoder.h     | 12 +--
 .../vtkUnstructuredGridBunykRayCastFunction.h |  8 +-
 ...UnstructuredGridHomogeneousRayIntegrator.h | 10 +-
 .../vtkUnstructuredGridLinearRayIntegrator.h  | 10 +-
 ...vtkUnstructuredGridPartialPreIntegration.h | 10 +-
 .../vtkUnstructuredGridPreIntegration.h       | 10 +-
 .../Volume/vtkUnstructuredGridVolumeMapper.h  | 10 +-
 ...vtkUnstructuredGridVolumeRayCastFunction.h |  2 +-
 ...vtkUnstructuredGridVolumeRayCastIterator.h |  4 +-
 .../vtkUnstructuredGridVolumeRayCastMapper.h  |  8 +-
 .../vtkUnstructuredGridVolumeRayIntegrator.h  |  2 +-
 .../vtkUnstructuredGridVolumeZSweepMapper.h   |  6 +-
 Rendering/Volume/vtkVolumeMapper.h            | 10 +-
 Rendering/Volume/vtkVolumeOutlineSource.h     | 16 ++--
 Rendering/Volume/vtkVolumePicker.h            | 10 +-
 .../vtkVolumeRayCastCompositeFunction.h       | 10 +-
 Rendering/Volume/vtkVolumeRayCastFunction.h   |  2 +-
 .../vtkVolumeRayCastIsosurfaceFunction.h      | 10 +-
 .../Volume/vtkVolumeRayCastMIPFunction.h      | 10 +-
 Rendering/Volume/vtkVolumeRayCastMapper.h     | 16 ++--
 .../vtkVolumeRayCastSpaceLeapingImageFilter.h | 26 ++---
 Rendering/Volume/vtkVolumeTextureMapper.h     | 18 ++--
 Rendering/Volume/vtkVolumeTextureMapper2D.h   |  6 +-
 Rendering/Volume/vtkVolumeTextureMapper3D.h   |  6 +-
 .../vtkOpenGLGPUVolumeRayCastMapper.cxx       |  6 +-
 .../vtkOpenGLGPUVolumeRayCastMapper.h         | 26 ++---
 .../VolumeOpenGL/vtkOpenGLHAVSVolumeMapper.h  | 14 +--
 .../vtkOpenGLProjectedAAHexahedraMapper.h     | 10 +-
 .../vtkOpenGLProjectedTetrahedraMapper.h      | 10 +-
 .../vtkOpenGLRayCastImageDisplayHelper.h      |  8 +-
 .../vtkOpenGLVolumeTextureMapper2D.h          |  8 +-
 .../vtkOpenGLVolumeTextureMapper3D.h          | 12 +--
 Rendering/VolumeOpenGL/vtkSmartVolumeMapper.h |  8 +-
 .../vtkOpenGLGPUVolumeRayCastMapper.h         | 30 +++---
 .../vtkOpenGLProjectedTetrahedraMapper.h      | 10 +-
 .../vtkOpenGLRayCastImageDisplayHelper.h      | 10 +-
 .../vtkOpenGLVolumeGradientOpacityTable.h     |  2 +-
 .../vtkOpenGLVolumeOpacityTable.h             |  2 +-
 .../VolumeOpenGL2/vtkOpenGLVolumeRGBTable.h   |  2 +-
 .../VolumeOpenGL2/vtkSmartVolumeMapper.h      |  8 +-
 Rendering/VolumeOpenGL2/vtkVolumeTexture.h    |  4 +-
 Testing/Core/vtkTestErrorObserver.h           |  6 +-
 Testing/GenericBridge/vtkBridgeAttribute.h    | 44 ++++-----
 Testing/GenericBridge/vtkBridgeCell.h         | 92 +++++++++---------
 Testing/GenericBridge/vtkBridgeCellIterator.h | 16 ++--
 .../vtkBridgeCellIteratorOnCellBoundaries.h   | 14 +--
 .../vtkBridgeCellIteratorOnCellList.h         | 14 +--
 .../vtkBridgeCellIteratorOnDataSet.h          | 14 +--
 .../GenericBridge/vtkBridgeCellIteratorOne.h  | 14 +--
 .../vtkBridgeCellIteratorStrategy.h           |  6 +-
 Testing/GenericBridge/vtkBridgeDataSet.h      | 28 +++---
 .../GenericBridge/vtkBridgePointIterator.h    | 16 ++--
 .../vtkBridgePointIteratorOnCell.h            | 16 ++--
 .../vtkBridgePointIteratorOnDataSet.h         | 16 ++--
 .../GenericBridge/vtkBridgePointIteratorOne.h | 16 ++--
 Testing/Rendering/vtkTesting.h                |  4 +-
 Testing/Rendering/vtkTestingInteractor.h      |  4 +-
 .../vtkPythonInteractiveInterpreter.h         |  2 +-
 .../PythonInterpreter/vtkPythonInterpreter.h  |  2 +-
 Views/Context2D/vtkContextInteractorStyle.h   | 28 +++---
 Views/Context2D/vtkContextView.h              |  4 +-
 Views/Core/vtkConvertSelectionDomain.h        | 16 ++--
 Views/Core/vtkDataRepresentation.h            |  8 +-
 Views/Core/vtkEmptyRepresentation.h           | 10 +-
 Views/Core/vtkRenderViewBase.h                |  4 +-
 Views/Core/vtkView.h                          |  4 +-
 Views/Core/vtkViewTheme.h                     |  4 +-
 Views/Geovis/vtkGeoView.h                     |  8 +-
 Views/Geovis/vtkGeoView2D.h                   | 12 +--
 Views/Infovis/vtkApplyColors.h                | 10 +-
 Views/Infovis/vtkApplyIcons.h                 |  8 +-
 Views/Infovis/vtkDendrogramItem.h             | 10 +-
 Views/Infovis/vtkGraphItem.h                  | 20 ++--
 Views/Infovis/vtkGraphLayoutView.h            |  8 +-
 Views/Infovis/vtkHeatmapItem.h                | 12 +--
 Views/Infovis/vtkHierarchicalGraphPipeline.h  |  4 +-
 Views/Infovis/vtkHierarchicalGraphView.h      |  8 +-
 Views/Infovis/vtkIcicleView.h                 |  4 +-
 .../vtkInteractorStyleAreaSelectHover.h       |  8 +-
 .../Infovis/vtkInteractorStyleTreeMapHover.h  | 10 +-
 ...rallelCoordinatesHistogramRepresentation.h | 28 +++---
 .../vtkParallelCoordinatesRepresentation.h    | 20 ++--
 Views/Infovis/vtkParallelCoordinatesView.h    | 12 +--
 Views/Infovis/vtkRenderView.h                 | 18 ++--
 .../Infovis/vtkRenderedGraphRepresentation.h  | 20 ++--
 .../vtkRenderedHierarchyRepresentation.h      | 18 ++--
 Views/Infovis/vtkRenderedRepresentation.h     |  4 +-
 .../vtkRenderedSurfaceRepresentation.h        | 18 ++--
 .../vtkRenderedTreeAreaRepresentation.h       | 24 ++---
 Views/Infovis/vtkSCurveSpline.h               | 10 +-
 Views/Infovis/vtkTanglegramItem.h             | 10 +-
 Views/Infovis/vtkTreeAreaView.h               |  6 +-
 Views/Infovis/vtkTreeHeatmapItem.h            | 10 +-
 Views/Infovis/vtkTreeMapView.h                |  6 +-
 Views/Infovis/vtkTreeRingView.h               |  4 +-
 Views/Infovis/vtkViewUpdater.h                |  4 +-
 Views/Qt/vtkQtAnnotationView.h                |  8 +-
 Views/Qt/vtkQtListView.h                      | 14 +--
 Views/Qt/vtkQtRecordView.h                    | 12 +--
 Views/Qt/vtkQtTableRepresentation.h           |  8 +-
 Views/Qt/vtkQtTableView.h                     | 14 +--
 Views/Qt/vtkQtTreeView.h                      | 14 +--
 Views/Qt/vtkQtView.h                          |  4 +-
 Wrapping/PythonCore/vtkPythonCommand.h        |  2 +-
 1526 files changed, 8836 insertions(+), 8864 deletions(-)

diff --git a/CMake/vtkObjectFactory.h.in b/CMake/vtkObjectFactory.h.in
index c5abf9500e..ad8c9a45cd 100644
--- a/CMake/vtkObjectFactory.h.in
+++ b/CMake/vtkObjectFactory.h.in
@@ -25,11 +25,11 @@ public:
   static @vtk-module@ObjectFactory * New();
   vtkTypeMacro(@vtk-module@ObjectFactory, vtkObjectFactory)
 
-  const char * GetDescription() { return "@vtk-module@ factory overrides."; }
+  const char * GetDescription() VTK_OVERRIDE { return "@vtk-module@ factory overrides."; }
 
-  const char * GetVTKSourceVersion();
+  const char * GetVTKSourceVersion() VTK_OVERRIDE;
 
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   @vtk-module@ObjectFactory();
diff --git a/Charts/Core/vtkAxis.h b/Charts/Core/vtkAxis.h
index b5bb5255c1..fcdf83a1da 100644
--- a/Charts/Core/vtkAxis.h
+++ b/Charts/Core/vtkAxis.h
@@ -69,7 +69,7 @@ class VTKCHARTSCORE_EXPORT vtkAxis : public vtkContextItem
 {
 public:
   vtkTypeMacro(vtkAxis, vtkContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Enumeration of the axis locations in a conventional XY chart. Other
@@ -499,12 +499,12 @@ public:
    * Update the geometry of the axis. Takes care of setting up the tick mark
    * locations etc. Should be called by the scene before rendering.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the axis, called whenever the axis needs to be drawn.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Use this function to autoscale the axes after setting the minimum and
@@ -577,7 +577,7 @@ public:
 
 protected:
   vtkAxis();
-  ~vtkAxis();
+  ~vtkAxis() VTK_OVERRIDE;
 
   /**
    * Update whether log scaling will be used for layout and rendering.
diff --git a/Charts/Core/vtkAxisExtended.h b/Charts/Core/vtkAxisExtended.h
index af2840dec8..0278a42f81 100644
--- a/Charts/Core/vtkAxisExtended.h
+++ b/Charts/Core/vtkAxisExtended.h
@@ -118,7 +118,7 @@ public:
 
 protected:
   vtkAxisExtended();
-  ~vtkAxisExtended();
+  ~vtkAxisExtended() VTK_OVERRIDE;
 
   /**
    * This method implements an exhaustive search of the legibilty parameters.
diff --git a/Charts/Core/vtkCategoryLegend.h b/Charts/Core/vtkCategoryLegend.h
index 89d320678b..276bff84df 100644
--- a/Charts/Core/vtkCategoryLegend.h
+++ b/Charts/Core/vtkCategoryLegend.h
@@ -55,13 +55,13 @@ public:
   /**
    * Paint the legend into a rectangle defined by the bounds.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Compute and return the lower left corner of this legend, along
    * with its width and height.
    */
-  virtual vtkRectf GetBoundingRect(vtkContext2D* painter);
+  vtkRectf GetBoundingRect(vtkContext2D* painter) VTK_OVERRIDE;
 
   //@{
   /**
@@ -102,7 +102,7 @@ public:
 
 protected:
   vtkCategoryLegend();
-  virtual ~vtkCategoryLegend();
+  ~vtkCategoryLegend() VTK_OVERRIDE;
 
   bool                                HasOutliers;
   float                               TitleWidthOffset;
diff --git a/Charts/Core/vtkChart.h b/Charts/Core/vtkChart.h
index 4a5455287f..81056f57c8 100644
--- a/Charts/Core/vtkChart.h
+++ b/Charts/Core/vtkChart.h
@@ -45,7 +45,7 @@ class VTKCHARTSCORE_EXPORT vtkChart : public vtkContextItem
 {
 public:
   vtkTypeMacro(vtkChart, vtkContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Enum of the available chart types
@@ -90,7 +90,7 @@ public:
   /**
    * Paint event for the chart, called whenever the chart needs to be drawn
    */
-  virtual bool Paint(vtkContext2D *painter) = 0;
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE = 0;
 
   /**
    * Add a plot to the chart, defaults to using the name of the y column
@@ -365,7 +365,7 @@ public:
 
 protected:
   vtkChart();
-  ~vtkChart();
+  ~vtkChart() VTK_OVERRIDE;
 
   /**
    * Given the x and y vtkAxis, and a transform, calculate the transform that
diff --git a/Charts/Core/vtkChartBox.h b/Charts/Core/vtkChartBox.h
index 64707872ef..2bcc1523eb 100644
--- a/Charts/Core/vtkChartBox.h
+++ b/Charts/Core/vtkChartBox.h
@@ -37,7 +37,7 @@ class VTKCHARTSCORE_EXPORT vtkChartBox : public vtkChart
 {
 public:
   vtkTypeMacro(vtkChartBox, vtkChart);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a box chart
@@ -49,12 +49,12 @@ public:
    * The scene should take care of calling this on all items before their
    * Paint function is invoked.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the chart, called whenever the chart needs to be drawn
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   //@{
   /**
@@ -97,12 +97,12 @@ public:
   /**
    * Get the plot at the specified index, returns null if the index is invalid.
    */
-  virtual vtkPlot* GetPlot(vtkIdType index);
+  vtkPlot* GetPlot(vtkIdType index) VTK_OVERRIDE;
 
   /**
    * Get the number of plots the chart contains.
    */
-  virtual vtkIdType GetNumberOfPlots();
+  vtkIdType GetNumberOfPlots() VTK_OVERRIDE;
 
   /**
    * Get the chart Y axis
@@ -128,22 +128,22 @@ public:
   /**
    * Return true if the supplied x, y coordinate is inside the item.
    */
-  virtual bool Hit(const vtkContextMouseEvent &mouse);
+  bool Hit(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse move event.
    */
-  virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse);
+  bool MouseMoveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse button down event
    */
-  virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse button release event.
    */
-  virtual bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Set the vtkTooltipItem object that will be displayed by the chart.
@@ -165,7 +165,7 @@ public:
 
 protected:
   vtkChartBox();
-  ~vtkChartBox();
+  ~vtkChartBox() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Charts/Core/vtkChartHistogram2D.h b/Charts/Core/vtkChartHistogram2D.h
index 1f14c27a2c..cc348fff5b 100644
--- a/Charts/Core/vtkChartHistogram2D.h
+++ b/Charts/Core/vtkChartHistogram2D.h
@@ -37,7 +37,7 @@ class VTKCHARTSCORE_EXPORT vtkChartHistogram2D : public vtkChartXY
 {
 public:
   vtkTypeMacro(vtkChartHistogram2D, vtkChartXY);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 2D histogram chart
@@ -49,7 +49,7 @@ public:
    * The scene should take care of calling this on all items before their
    * Paint function is invoked.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   virtual void SetInputData(vtkImageData *data, vtkIdType z = 0);
   virtual void SetTransferFunction(vtkScalarsToColors *function);
@@ -57,16 +57,16 @@ public:
   /**
    * Return true if the supplied x, y coordinate is inside the item.
    */
-  virtual bool Hit(const vtkContextMouseEvent &mouse);
+  bool Hit(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Get the plot at the specified index, returns null if the index is invalid.
    */
-  virtual vtkPlot* GetPlot(vtkIdType index);
+  vtkPlot* GetPlot(vtkIdType index) VTK_OVERRIDE;
 
 protected:
   vtkChartHistogram2D();
-  ~vtkChartHistogram2D();
+  ~vtkChartHistogram2D() VTK_OVERRIDE;
 
   vtkSmartPointer<vtkPlotHistogram2D> Histogram;
 
@@ -78,7 +78,7 @@ protected:
   class Private;
   Private* Storage;
 
-  virtual bool UpdateLayout(vtkContext2D *painter);
+  bool UpdateLayout(vtkContext2D *painter) VTK_OVERRIDE;
 
 private:
   vtkChartHistogram2D(const vtkChartHistogram2D &) VTK_DELETE_FUNCTION;
diff --git a/Charts/Core/vtkChartLegend.h b/Charts/Core/vtkChartLegend.h
index 7942e77a4c..2bef895f32 100644
--- a/Charts/Core/vtkChartLegend.h
+++ b/Charts/Core/vtkChartLegend.h
@@ -40,7 +40,7 @@ class VTKCHARTSCORE_EXPORT vtkChartLegend : public vtkContextItem
 {
 public:
   vtkTypeMacro(vtkChartLegend, vtkContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 2D Chart object.
@@ -183,12 +183,12 @@ public:
    * Update the geometry of the axis. Takes care of setting up the tick mark
    * locations etc. Should be called by the scene before rendering.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the axis, called whenever the axis needs to be drawn.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Request the space the legend requires to be drawn. This is returned as a
@@ -230,26 +230,26 @@ public:
   /**
    * Return true if the supplied x, y coordinate is inside the item.
    */
-  virtual bool Hit(const vtkContextMouseEvent &mouse);
+  bool Hit(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse move event.
    */
-  virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse);
+  bool MouseMoveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse button down event
    */
-  virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse button release event.
    */
-  virtual bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
 protected:
   vtkChartLegend();
-  ~vtkChartLegend();
+  ~vtkChartLegend() VTK_OVERRIDE;
 
   float* Point;  // The point the legend is anchored to.
   int HorizontalAlignment; // Alignment of the legend to the point it is anchored to.
diff --git a/Charts/Core/vtkChartMatrix.h b/Charts/Core/vtkChartMatrix.h
index a5bfb50fce..563d916d43 100644
--- a/Charts/Core/vtkChartMatrix.h
+++ b/Charts/Core/vtkChartMatrix.h
@@ -39,7 +39,7 @@ class VTKCHARTSCORE_EXPORT vtkChartMatrix : public vtkAbstractContextItem
 {
 public:
   vtkTypeMacro(vtkChartMatrix, vtkAbstractContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a new object.
@@ -49,12 +49,12 @@ public:
   /**
    * Perform any updates to the item that may be necessary before rendering.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the chart matrix.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Set the width and height of the chart matrix. This will cause an immediate
@@ -149,7 +149,7 @@ public:
 
 protected:
   vtkChartMatrix();
-  ~vtkChartMatrix();
+  ~vtkChartMatrix() VTK_OVERRIDE;
 
   class PIMPL;
   PIMPL *Private;
diff --git a/Charts/Core/vtkChartParallelCoordinates.h b/Charts/Core/vtkChartParallelCoordinates.h
index f16d56cae4..214734f15f 100644
--- a/Charts/Core/vtkChartParallelCoordinates.h
+++ b/Charts/Core/vtkChartParallelCoordinates.h
@@ -36,7 +36,7 @@ class VTKCHARTSCORE_EXPORT vtkChartParallelCoordinates : public vtkChart
 {
 public:
   vtkTypeMacro(vtkChartParallelCoordinates, vtkChart);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a parallel coordinates chart
@@ -48,12 +48,12 @@ public:
    * The scene should take care of calling this on all items before their
    * Paint function is invoked.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the chart, called whenever the chart needs to be drawn
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Set the visibility of the specified column.
@@ -81,28 +81,28 @@ public:
   /**
    * Get the plot at the specified index, returns null if the index is invalid.
    */
-  virtual vtkPlot* GetPlot(vtkIdType index);
+  vtkPlot* GetPlot(vtkIdType index) VTK_OVERRIDE;
 
   /**
    * Get the number of plots the chart contains.
    */
-  virtual vtkIdType GetNumberOfPlots();
+  vtkIdType GetNumberOfPlots() VTK_OVERRIDE;
 
   /**
    * Get the axis specified by axisIndex.
    */
-  virtual vtkAxis* GetAxis(int axisIndex);
+  vtkAxis* GetAxis(int axisIndex) VTK_OVERRIDE;
 
   /**
    * Get the number of axes in the current chart.
    */
-  virtual vtkIdType GetNumberOfAxes();
+  vtkIdType GetNumberOfAxes() VTK_OVERRIDE;
 
   /**
    * Request that the chart recalculates the range of its axes. Especially
    * useful in applications after the parameters of plots have been modified.
    */
-  virtual void RecalculateBounds();
+  void RecalculateBounds() VTK_OVERRIDE;
 
   /**
    * Set plot to use for the chart. Since this type of chart can
@@ -113,41 +113,41 @@ public:
   /**
    * Return true if the supplied x, y coordinate is inside the item.
    */
-  virtual bool Hit(const vtkContextMouseEvent &mouse);
+  bool Hit(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse enter event.
    */
-  virtual bool MouseEnterEvent(const vtkContextMouseEvent &mouse);
+  bool MouseEnterEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse move event.
    */
-  virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse);
+  bool MouseMoveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse leave event.
    */
-  virtual bool MouseLeaveEvent(const vtkContextMouseEvent &mouse);
+  bool MouseLeaveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse button down event
    */
-  virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse button release event.
    */
-  virtual bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse wheel event, positive delta indicates forward movement of the wheel.
    */
-  virtual bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta);
+  bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta) VTK_OVERRIDE;
 
 protected:
   vtkChartParallelCoordinates();
-  ~vtkChartParallelCoordinates();
+  ~vtkChartParallelCoordinates() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Charts/Core/vtkChartPie.h b/Charts/Core/vtkChartPie.h
index 2d275c996e..1bbdce3754 100644
--- a/Charts/Core/vtkChartPie.h
+++ b/Charts/Core/vtkChartPie.h
@@ -35,7 +35,7 @@ class VTKCHARTSCORE_EXPORT vtkChartPie : public vtkChart
 {
 public:
   vtkTypeMacro(vtkChartPie, vtkChart);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 2D Chart object.
@@ -47,88 +47,88 @@ public:
    * The scene should take care of calling this on all items before their
    * Paint function is invoked.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the chart, called whenever the chart needs to be drawn
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Add a plot to the chart.
    */
-  virtual vtkPlot * AddPlot(int type);
+  vtkPlot * AddPlot(int type) VTK_OVERRIDE;
 
   /**
    * Add a plot to the chart. Return the index of the plot, -1 if it failed.
    */
-  virtual vtkIdType AddPlot(vtkPlot* plot)
+  vtkIdType AddPlot(vtkPlot* plot) VTK_OVERRIDE
     { return Superclass::AddPlot(plot); }
 
   /**
    * Get the plot at the specified index, returns null if the index is invalid.
    */
-  virtual vtkPlot* GetPlot(vtkIdType index);
+  vtkPlot* GetPlot(vtkIdType index) VTK_OVERRIDE;
 
   /**
    * Get the number of plots the chart contains.
    */
-  virtual vtkIdType GetNumberOfPlots();
+  vtkIdType GetNumberOfPlots() VTK_OVERRIDE;
 
   /**
    * Set whether the chart should draw a legend.
    */
-  virtual void SetShowLegend(bool visible);
+  void SetShowLegend(bool visible) VTK_OVERRIDE;
 
   /**
    * Get the legend for the chart, if available. Can return NULL if there is no
    * legend.
    */
-  virtual vtkChartLegend * GetLegend();
+  vtkChartLegend * GetLegend() VTK_OVERRIDE;
 
   /**
    * Set the vtkContextScene for the item, always set for an item in a scene.
    */
-  virtual void SetScene(vtkContextScene *scene);
+  void SetScene(vtkContextScene *scene) VTK_OVERRIDE;
 
   /**
    * Return true if the supplied x, y coordinate is inside the item.
    */
-  virtual bool Hit(const vtkContextMouseEvent &mouse);
+  bool Hit(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse enter event.
    */
-  virtual bool MouseEnterEvent(const vtkContextMouseEvent &mouse);
+  bool MouseEnterEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse move event.
    */
-  virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse);
+  bool MouseMoveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse leave event.
    */
-  virtual bool MouseLeaveEvent(const vtkContextMouseEvent &mouse);
+  bool MouseLeaveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse button down event
    */
-  virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse button release event.
    */
-  virtual bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse wheel event, positive delta indicates forward movement of the wheel.
    */
-  virtual bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta);
+  bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta) VTK_OVERRIDE;
 
 protected:
   vtkChartPie();
-  ~vtkChartPie();
+  ~vtkChartPie() VTK_OVERRIDE;
 
   /**
    * Recalculate the necessary transforms.
diff --git a/Charts/Core/vtkChartXY.h b/Charts/Core/vtkChartXY.h
index e8042a3b76..02e368dd8e 100644
--- a/Charts/Core/vtkChartXY.h
+++ b/Charts/Core/vtkChartXY.h
@@ -44,7 +44,7 @@ class VTKCHARTSCORE_EXPORT vtkChartXY : public vtkChart
 {
 public:
   vtkTypeMacro(vtkChartXY, vtkChart);
-  virtual void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 2D Chart object.
@@ -56,38 +56,38 @@ public:
    * The scene should take care of calling this on all items before their
    * Paint function is invoked.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the chart, called whenever the chart needs to be drawn
    */
-  virtual bool Paint(vtkContext2D* painter);
+  bool Paint(vtkContext2D* painter) VTK_OVERRIDE;
 
   /**
    * Add a plot to the chart, defaults to using the name of the y column
    */
-  virtual vtkPlot* AddPlot(int type);
+  vtkPlot* AddPlot(int type) VTK_OVERRIDE;
 
   /**
    * Adds a plot to the chart
    */
-  virtual vtkIdType AddPlot(vtkPlot* plot);
+  vtkIdType AddPlot(vtkPlot* plot) VTK_OVERRIDE;
 
   /**
    * Remove the plot at the specified index, returns true if successful,
    * false if the index was invalid.
    */
-  virtual bool RemovePlot(vtkIdType index);
+  bool RemovePlot(vtkIdType index) VTK_OVERRIDE;
 
   /**
    * Remove all plots from the chart.
    */
-  virtual void ClearPlots();
+  void ClearPlots() VTK_OVERRIDE;
 
   /**
    * Get the plot at the specified index, returns null if the index is invalid.
    */
-  virtual vtkPlot* GetPlot(vtkIdType index);
+  vtkPlot* GetPlot(vtkIdType index) VTK_OVERRIDE;
 
   /**
    * Get the index of the specified plot, returns -1 if the plot does not
@@ -128,7 +128,7 @@ public:
   /**
    * Get the number of plots the chart contains.
    */
-  virtual vtkIdType GetNumberOfPlots();
+  vtkIdType GetNumberOfPlots() VTK_OVERRIDE;
 
   /**
    * Figure out which quadrant the plot is in.
@@ -145,17 +145,17 @@ public:
    * position enum, valid values are vtkAxis::LEFT, vtkAxis::BOTTOM,
    * vtkAxis::RIGHT and vtkAxis::TOP.
    */
-  virtual vtkAxis* GetAxis(int axisIndex);
+  vtkAxis* GetAxis(int axisIndex) VTK_OVERRIDE;
 
   /**
    * Set whether the chart should draw a legend.
    */
-  virtual void SetShowLegend(bool visible);
+  void SetShowLegend(bool visible) VTK_OVERRIDE;
 
   /**
    * Get the vtkChartLegend object that will be displayed by the chart.
    */
-  virtual vtkChartLegend* GetLegend();
+  vtkChartLegend* GetLegend() VTK_OVERRIDE;
 
   /**
    * Set the vtkTooltipItem object that will be displayed by the chart.
@@ -170,13 +170,13 @@ public:
   /**
    * Get the number of axes in the current chart.
    */
-  virtual vtkIdType GetNumberOfAxes();
+  vtkIdType GetNumberOfAxes() VTK_OVERRIDE;
 
   /**
    * Request that the chart recalculates the range of its axes. Especially
    * useful in applications after the parameters of plots have been modified.
    */
-  virtual void RecalculateBounds();
+  void RecalculateBounds() VTK_OVERRIDE;
 
   /**
    * Set the selection method, which controls how selections are handled by the
@@ -185,7 +185,7 @@ public:
    * for finer-grained selections specific to each plot, and so to each XY
    * column pair.
    */
-  virtual void SetSelectionMethod(int method);
+  void SetSelectionMethod(int method) VTK_OVERRIDE;
 
   //@{
   /**
@@ -269,46 +269,46 @@ public:
   /**
    * Return true if the supplied x, y coordinate is inside the item.
    */
-  virtual bool Hit(const vtkContextMouseEvent& mouse);
+  bool Hit(const vtkContextMouseEvent& mouse) VTK_OVERRIDE;
 
   /**
    * Mouse enter event.
    */
-  virtual bool MouseEnterEvent(const vtkContextMouseEvent& mouse);
+  bool MouseEnterEvent(const vtkContextMouseEvent& mouse) VTK_OVERRIDE;
 
   /**
    * Mouse move event.
    */
-  virtual bool MouseMoveEvent(const vtkContextMouseEvent& mouse);
+  bool MouseMoveEvent(const vtkContextMouseEvent& mouse) VTK_OVERRIDE;
 
   /**
    * Mouse leave event.
    */
-  virtual bool MouseLeaveEvent(const vtkContextMouseEvent& mouse);
+  bool MouseLeaveEvent(const vtkContextMouseEvent& mouse) VTK_OVERRIDE;
 
   /**
    * Mouse button down event
    */
-  virtual bool MouseButtonPressEvent(const vtkContextMouseEvent& mouse);
+  bool MouseButtonPressEvent(const vtkContextMouseEvent& mouse) VTK_OVERRIDE;
 
   /**
    * Mouse button release event.
    */
-  virtual bool MouseButtonReleaseEvent(const vtkContextMouseEvent& mouse);
+  bool MouseButtonReleaseEvent(const vtkContextMouseEvent& mouse) VTK_OVERRIDE;
 
   /**
    * Mouse wheel event, positive delta indicates forward movement of the wheel.
    */
-  virtual bool MouseWheelEvent(const vtkContextMouseEvent& mouse, int delta);
+  bool MouseWheelEvent(const vtkContextMouseEvent& mouse, int delta) VTK_OVERRIDE;
 
   /**
    * Key press event.
    */
-  virtual bool KeyPressEvent(const vtkContextKeyEvent& key);
+  bool KeyPressEvent(const vtkContextKeyEvent& key) VTK_OVERRIDE;
 
 protected:
   vtkChartXY();
-  ~vtkChartXY();
+  ~vtkChartXY() VTK_OVERRIDE;
 
   /**
    * Recalculate the necessary transforms.
diff --git a/Charts/Core/vtkChartXYZ.h b/Charts/Core/vtkChartXYZ.h
index e314ed0724..7e7e9d6f10 100644
--- a/Charts/Core/vtkChartXYZ.h
+++ b/Charts/Core/vtkChartXYZ.h
@@ -46,7 +46,7 @@ class VTKCHARTSCORE_EXPORT vtkChartXYZ : public vtkContextItem
 {
 public:
   vtkTypeMacro(vtkChartXYZ, vtkContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkChartXYZ * New();
 
@@ -107,12 +107,12 @@ public:
   /**
    * Perform any updates to the item that may be necessary before rendering.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the chart, called whenever the chart needs to be drawn.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Adds a plot to the chart.
@@ -140,33 +140,33 @@ public:
   /**
    * Returns true if the transform is interactive, false otherwise.
    */
-  virtual bool Hit(const vtkContextMouseEvent &mouse);
+  bool Hit(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse press event. Keep track of zoom anchor position.
    */
-  virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse move event. Perform pan or zoom as specified by the mouse bindings.
    */
-  virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse);
+  bool MouseMoveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse wheel event.  Zooms in or out.
    */
-  virtual bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta);
+  bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta) VTK_OVERRIDE;
 
   /**
    * Key press event.  This allows the user to snap the chart to one of three
    * different 2D views.  "x" changes the view so we're looking down the X axis.
    * Similar behavior occurs for "y" or "z".
    */
-  virtual bool KeyPressEvent(const vtkContextKeyEvent &key);
+  bool KeyPressEvent(const vtkContextKeyEvent &key) VTK_OVERRIDE;
 
 protected:
   vtkChartXYZ();
-  ~vtkChartXYZ();
+  ~vtkChartXYZ() VTK_OVERRIDE;
 
   /**
    * Calculate the transformation matrices used to draw data points and axes
diff --git a/Charts/Core/vtkColorLegend.h b/Charts/Core/vtkColorLegend.h
index e38187e6c0..6fa3d4d1df 100644
--- a/Charts/Core/vtkColorLegend.h
+++ b/Charts/Core/vtkColorLegend.h
@@ -39,7 +39,7 @@ class VTKCHARTSCORE_EXPORT vtkColorLegend: public vtkChartLegend
 {
 public:
   vtkTypeMacro(vtkColorLegend, vtkChartLegend);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
   static vtkColorLegend* New();
 
   /**
@@ -61,14 +61,14 @@ public:
    * The scene should take care of calling this on all items before their
    * Paint function is invoked.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint the texture into a rectangle defined by the bounds. If
    * MaskAboveCurve is true and a shape has been provided by a subclass, it
    * draws the texture into the shape
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   //@{
   /**
@@ -82,7 +82,7 @@ public:
   /**
    * Set the point this legend is anchored to.
    */
-  virtual void SetPoint(float x, float y);
+  void SetPoint(float x, float y) VTK_OVERRIDE;
 
   /**
    * Set the size of the scalar bar drawn by this legend.
@@ -109,7 +109,7 @@ public:
    * height being the total width/height required by the axis. In order to
    * ensure the numbers are correct, Update() should be called first.
    */
-  vtkRectf GetBoundingRect(vtkContext2D* painter);
+  vtkRectf GetBoundingRect(vtkContext2D* painter) VTK_OVERRIDE;
 
   //@{
   /**
@@ -141,11 +141,11 @@ public:
   /**
    * Mouse move event.
    */
-  virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse);
+  bool MouseMoveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
 protected:
   vtkColorLegend();
-  virtual ~vtkColorLegend();
+  ~vtkColorLegend() VTK_OVERRIDE;
 
   /**
    * Need to be reimplemented by subclasses, ComputeTexture() is called at
diff --git a/Charts/Core/vtkColorTransferControlPointsItem.h b/Charts/Core/vtkColorTransferControlPointsItem.h
index f8ff9c8578..196932ad32 100644
--- a/Charts/Core/vtkColorTransferControlPointsItem.h
+++ b/Charts/Core/vtkColorTransferControlPointsItem.h
@@ -37,7 +37,7 @@ class VTKCHARTSCORE_EXPORT vtkColorTransferControlPointsItem: public vtkControlP
 {
 public:
   vtkTypeMacro(vtkColorTransferControlPointsItem, vtkControlPointsItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a piecewise control points object
@@ -58,35 +58,35 @@ public:
   /**
    * Return the number of points in the color transfer function.
    */
-  virtual vtkIdType GetNumberOfPoints()const;
+  vtkIdType GetNumberOfPoints()const VTK_OVERRIDE;
 
   /**
    * Returns the x and y coordinates as well as the midpoint and sharpness
    * of the control point corresponding to the index.
    * Note: The y (point[1]) is always 0.5
    */
-  virtual void GetControlPoint(vtkIdType index, double *point)const;
+  void GetControlPoint(vtkIdType index, double *point)const VTK_OVERRIDE;
 
   /**
    * Sets the x and y coordinates as well as the midpoint and sharpness
    * of the control point corresponding to the index.
    * Changing the y has no effect, it will always be 0.5
    */
-  virtual void SetControlPoint(vtkIdType index, double *point);
+  void SetControlPoint(vtkIdType index, double *point) VTK_OVERRIDE;
 
   /**
    * Add a point to the function. Returns the index of the point (0 based),
    * or -1 on error.
    * Subclasses should reimplement this function to do the actual work.
    */
-  virtual vtkIdType AddPoint(double* newPos);
+  vtkIdType AddPoint(double* newPos) VTK_OVERRIDE;
 
   /**
    * Remove a point of the function. Returns the index of the point (0 based),
    * or -1 on error.
    * Subclasses should reimplement this function to do the actual work.
    */
-  virtual vtkIdType RemovePoint(double* pos);
+  vtkIdType RemovePoint(double* pos) VTK_OVERRIDE;
 
   //@{
   /**
@@ -100,27 +100,27 @@ public:
 
 protected:
   vtkColorTransferControlPointsItem();
-  virtual ~vtkColorTransferControlPointsItem();
+  ~vtkColorTransferControlPointsItem() VTK_OVERRIDE;
 
   /**
    * Returns true if control points are to be rendered in log-space. This is
    * true when vtkScalarsToColors is using log-scale, for example. Default
    * implementation always return false.
    */
-  virtual bool UsingLogScale();
+  bool UsingLogScale() VTK_OVERRIDE;
 
-  virtual void emitEvent(unsigned long event, void* params);
+  void emitEvent(unsigned long event, void* params) VTK_OVERRIDE;
 
-  virtual vtkMTimeType GetControlPointsMTime();
+  vtkMTimeType GetControlPointsMTime() VTK_OVERRIDE;
 
-  virtual void DrawPoint(vtkContext2D* painter, vtkIdType index);
-  virtual void EditPoint(float tX, float tY);
+  void DrawPoint(vtkContext2D* painter, vtkIdType index) VTK_OVERRIDE;
+  void EditPoint(float tX, float tY) VTK_OVERRIDE;
 
   /**
    * Compute the bounds for this item. Overridden to use the
    * vtkColorTransferFunction range.
    */
-  virtual void ComputeBounds(double* bounds);
+  void ComputeBounds(double* bounds) VTK_OVERRIDE;
 
   vtkColorTransferFunction* ColorTransferFunction;
 
diff --git a/Charts/Core/vtkColorTransferFunctionItem.h b/Charts/Core/vtkColorTransferFunctionItem.h
index 753e987318..aaa56bd1f5 100644
--- a/Charts/Core/vtkColorTransferFunctionItem.h
+++ b/Charts/Core/vtkColorTransferFunctionItem.h
@@ -30,14 +30,14 @@ class VTKCHARTSCORE_EXPORT vtkColorTransferFunctionItem: public vtkScalarsToColo
 public:
   static vtkColorTransferFunctionItem* New();
   vtkTypeMacro(vtkColorTransferFunctionItem, vtkScalarsToColorsItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   void SetColorTransferFunction(vtkColorTransferFunction* t);
   vtkGetObjectMacro(ColorTransferFunction, vtkColorTransferFunction);
 
 protected:
   vtkColorTransferFunctionItem();
-  virtual ~vtkColorTransferFunctionItem();
+  ~vtkColorTransferFunctionItem() VTK_OVERRIDE;
 
   // Description:
   // Returns true if we are rendering in log space.
@@ -46,9 +46,9 @@ protected:
 
   // Description:
   // Reimplemented to return the range of the lookup table
-  virtual void ComputeBounds(double bounds[4]);
+  void ComputeBounds(double bounds[4]) VTK_OVERRIDE;
 
-  virtual void ComputeTexture();
+  void ComputeTexture() VTK_OVERRIDE;
   vtkColorTransferFunction* ColorTransferFunction;
 private:
   vtkColorTransferFunctionItem(const vtkColorTransferFunctionItem&) VTK_DELETE_FUNCTION;
diff --git a/Charts/Core/vtkCompositeControlPointsItem.h b/Charts/Core/vtkCompositeControlPointsItem.h
index 9b9725fce9..5c2ff62079 100644
--- a/Charts/Core/vtkCompositeControlPointsItem.h
+++ b/Charts/Core/vtkCompositeControlPointsItem.h
@@ -41,7 +41,7 @@ class VTKCHARTSCORE_EXPORT vtkCompositeControlPointsItem:
 {
 public:
   vtkTypeMacro(vtkCompositeControlPointsItem, vtkColorTransferControlPointsItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a piecewise control points object
@@ -88,14 +88,14 @@ public:
    * or -1 on error.
    * Subclasses should reimplement this function to do the actual work.
    */
-  virtual vtkIdType AddPoint(double* newPos);
+  vtkIdType AddPoint(double* newPos) VTK_OVERRIDE;
 
   /**
    * Remove a point of the function. Returns the index of the point (0 based),
    * or -1 on error.
    * Subclasses should reimplement this function to do the actual work.
    */
-  virtual vtkIdType RemovePoint(double* pos);
+  vtkIdType RemovePoint(double* pos) VTK_OVERRIDE;
 
   //@{
   /**
@@ -113,30 +113,30 @@ public:
   /**
    * Mouse move event. To take care of some special Key stroke
    */
-  virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse);
-  virtual bool MouseDoubleClickEvent(const vtkContextMouseEvent &mouse);
-  virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse);
+  bool MouseMoveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
+  bool MouseDoubleClickEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
+  bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkCompositeControlPointsItem();
-  virtual ~vtkCompositeControlPointsItem();
+  ~vtkCompositeControlPointsItem() VTK_OVERRIDE;
 
   /**
    * Returns true if control points are to be rendered in log-space. This is
    * true when vtkScalarsToColors is using log-scale, for example.
    */
-  virtual bool UsingLogScale();
+  bool UsingLogScale() VTK_OVERRIDE;
 
-  virtual void emitEvent(unsigned long event, void* params);
+  void emitEvent(unsigned long event, void* params) VTK_OVERRIDE;
 
-  virtual vtkMTimeType GetControlPointsMTime();
+  vtkMTimeType GetControlPointsMTime() VTK_OVERRIDE;
 
-  virtual vtkIdType GetNumberOfPoints()const;
-  virtual void DrawPoint(vtkContext2D* painter, vtkIdType index);
-  virtual void GetControlPoint(vtkIdType index, double* pos)const;
-  virtual void SetControlPoint(vtkIdType index, double *point);
-  virtual void EditPoint(float tX, float tY);
+  vtkIdType GetNumberOfPoints()const VTK_OVERRIDE;
+  void DrawPoint(vtkContext2D* painter, vtkIdType index) VTK_OVERRIDE;
+  void GetControlPoint(vtkIdType index, double* pos)const VTK_OVERRIDE;
+  void SetControlPoint(vtkIdType index, double *point) VTK_OVERRIDE;
+  void EditPoint(float tX, float tY) VTK_OVERRIDE;
   virtual void EditPointCurve(vtkIdType idx);
 
   void MergeTransferFunctions();
diff --git a/Charts/Core/vtkCompositeTransferFunctionItem.h b/Charts/Core/vtkCompositeTransferFunctionItem.h
index 1f5bfaf797..5491f5b461 100644
--- a/Charts/Core/vtkCompositeTransferFunctionItem.h
+++ b/Charts/Core/vtkCompositeTransferFunctionItem.h
@@ -28,26 +28,26 @@ class VTKCHARTSCORE_EXPORT vtkCompositeTransferFunctionItem: public vtkColorTran
 public:
   static vtkCompositeTransferFunctionItem* New();
   vtkTypeMacro(vtkCompositeTransferFunctionItem, vtkColorTransferFunctionItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   void SetOpacityFunction(vtkPiecewiseFunction* opacity);
   vtkGetObjectMacro(OpacityFunction, vtkPiecewiseFunction);
 
 protected:
   vtkCompositeTransferFunctionItem();
-  virtual ~vtkCompositeTransferFunctionItem();
+  ~vtkCompositeTransferFunctionItem() VTK_OVERRIDE;
 
   // Description:
   // Returns true if we are rendering in log space.
   // Since vtkPiecewiseFunction doesn't support log, we show this transfer
   // function in non-log space always.
-  virtual bool UsingLogScale() { return false; }
+  bool UsingLogScale()VTK_OVERRIDE { return false; }
 
   // Description:
   // Reimplemented to return the range of the piecewise function
-  virtual void ComputeBounds(double bounds[4]);
+  void ComputeBounds(double bounds[4]) VTK_OVERRIDE;
 
-  virtual void ComputeTexture();
+  void ComputeTexture() VTK_OVERRIDE;
   vtkPiecewiseFunction* OpacityFunction;
 
 private:
diff --git a/Charts/Core/vtkContextArea.h b/Charts/Core/vtkContextArea.h
index 1977f9fc00..8546962591 100644
--- a/Charts/Core/vtkContextArea.h
+++ b/Charts/Core/vtkContextArea.h
@@ -56,7 +56,7 @@ class VTKCHARTSCORE_EXPORT vtkContextArea: public vtkAbstractContextItem
 public:
   typedef vtkTuple<int, 4> Margins;
   vtkTypeMacro(vtkContextArea, vtkAbstractContextItem)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkContextArea *New();
 
@@ -74,7 +74,7 @@ public:
   /**
    * Paint event for the item, called whenever the item needs to be drawn.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   //@{
   /**
@@ -182,7 +182,7 @@ public:
 
 protected:
   vtkContextArea();
-  ~vtkContextArea();
+  ~vtkContextArea() VTK_OVERRIDE;
 
   /**
    * Sync the Axes locations with Geometry, and update the DrawAreaGeometry
diff --git a/Charts/Core/vtkControlPointsItem.h b/Charts/Core/vtkControlPointsItem.h
index 0ae1bc3085..85b1cc1395 100644
--- a/Charts/Core/vtkControlPointsItem.h
+++ b/Charts/Core/vtkControlPointsItem.h
@@ -42,7 +42,7 @@ class VTKCHARTSCORE_EXPORT vtkControlPointsItem: public vtkPlot
 {
 public:
   vtkTypeMacro(vtkControlPointsItem, vtkPlot);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   // Events fires by this class (and subclasses).
   // \li CurrentPointChangedEvent is fired when the current point index is changed.
@@ -59,7 +59,7 @@ public:
    * Bounds of the item, typically the bound of all the control points
    * except if custom bounds have been set \sa SetUserBounds.
    */
-  virtual void GetBounds(double bounds[4]);
+  void GetBounds(double bounds[4]) VTK_OVERRIDE;
 
   //@{
   /**
@@ -95,7 +95,7 @@ public:
    * on the scene zoom factor. Selected and unselected points are drawn
    * with a different color.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Select a point by its ID
@@ -147,7 +147,7 @@ public:
   /**
    * Select all points in the specified rectangle.
    */
-  virtual bool SelectPoints(const vtkVector2f& min, const vtkVector2f& max);
+  bool SelectPoints(const vtkVector2f& min, const vtkVector2f& max) VTK_OVERRIDE;
 
   /**
    * Return the number of selected points.
@@ -351,21 +351,21 @@ public:
   /**
    * Mouse button down event.
    */
-  virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse);
-  virtual bool MouseDoubleClickEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
+  bool MouseDoubleClickEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
   //@}
 
   /**
    * Mouse move event.
    */
-  virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse);
+  bool MouseMoveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
-  virtual bool KeyPressEvent(const vtkContextKeyEvent &key);
-  virtual bool KeyReleaseEvent(const vtkContextKeyEvent &key);
+  bool KeyPressEvent(const vtkContextKeyEvent &key) VTK_OVERRIDE;
+  bool KeyReleaseEvent(const vtkContextKeyEvent &key) VTK_OVERRIDE;
 
 protected:
   vtkControlPointsItem();
-  virtual ~vtkControlPointsItem();
+  ~vtkControlPointsItem() VTK_OVERRIDE;
 
   void StartChanges();
   void EndChanges();
@@ -390,7 +390,7 @@ protected:
   /**
    * Returns true if the supplied x, y coordinate is on a control point.
    */
-  virtual bool Hit(const vtkContextMouseEvent &mouse);
+  bool Hit(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   //@{
   /**
@@ -433,7 +433,7 @@ protected:
   /**
    * Mouse button release event.
    */
-  virtual bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Generate label for a control point.
diff --git a/Charts/Core/vtkLookupTableItem.h b/Charts/Core/vtkLookupTableItem.h
index bd80da51d6..08afab379b 100644
--- a/Charts/Core/vtkLookupTableItem.h
+++ b/Charts/Core/vtkLookupTableItem.h
@@ -29,21 +29,21 @@ class VTKCHARTSCORE_EXPORT vtkLookupTableItem: public vtkScalarsToColorsItem
 public:
   static vtkLookupTableItem* New();
   vtkTypeMacro(vtkLookupTableItem, vtkScalarsToColorsItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   void SetLookupTable(vtkLookupTable* t);
   vtkGetObjectMacro(LookupTable, vtkLookupTable);
 
 protected:
   vtkLookupTableItem();
-  virtual ~vtkLookupTableItem();
+  ~vtkLookupTableItem() VTK_OVERRIDE;
 
   // Description:
   // Reimplemented to return the range of the lookup table
-  virtual void ComputeBounds(double bounds[4]);
+  void ComputeBounds(double bounds[4]) VTK_OVERRIDE;
 
 
-  virtual void ComputeTexture();
+  void ComputeTexture() VTK_OVERRIDE;
   vtkLookupTable* LookupTable;
 
 private:
diff --git a/Charts/Core/vtkPiecewiseControlPointsItem.h b/Charts/Core/vtkPiecewiseControlPointsItem.h
index b006839618..b30a490042 100644
--- a/Charts/Core/vtkPiecewiseControlPointsItem.h
+++ b/Charts/Core/vtkPiecewiseControlPointsItem.h
@@ -37,7 +37,7 @@ class VTKCHARTSCORE_EXPORT vtkPiecewiseControlPointsItem: public vtkControlPoint
 {
 public:
   vtkTypeMacro(vtkPiecewiseControlPointsItem, vtkControlPointsItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a piecewise control points object
@@ -60,14 +60,14 @@ public:
    * or -1 on error.
    * Subclasses should reimplement this function to do the actual work.
    */
-  virtual vtkIdType AddPoint(double* newPos);
+  vtkIdType AddPoint(double* newPos) VTK_OVERRIDE;
 
   /**
    * Remove a point of the function. Returns the index of the point (0 based),
    * or -1 on error.
    * Subclasses should reimplement this function to do the actual work.
    */
-  virtual vtkIdType RemovePoint(double* pos);
+  vtkIdType RemovePoint(double* pos) VTK_OVERRIDE;
 
   //@{
   /**
@@ -80,16 +80,16 @@ public:
 
 protected:
   vtkPiecewiseControlPointsItem();
-  virtual ~vtkPiecewiseControlPointsItem();
+  ~vtkPiecewiseControlPointsItem() VTK_OVERRIDE;
 
-  virtual void emitEvent(unsigned long event, void* params = 0);
+  void emitEvent(unsigned long event, void* params = 0) VTK_OVERRIDE;
 
-  virtual vtkMTimeType GetControlPointsMTime();
+  vtkMTimeType GetControlPointsMTime() VTK_OVERRIDE;
 
-  virtual vtkIdType GetNumberOfPoints()const;
-  virtual void GetControlPoint(vtkIdType index, double *point)const;
-  virtual void SetControlPoint(vtkIdType index, double *point);
-  virtual void EditPoint(float tX, float tY);
+  vtkIdType GetNumberOfPoints()const VTK_OVERRIDE;
+  void GetControlPoint(vtkIdType index, double *point)const VTK_OVERRIDE;
+  void SetControlPoint(vtkIdType index, double *point) VTK_OVERRIDE;
+  void EditPoint(float tX, float tY) VTK_OVERRIDE;
 
   vtkPiecewiseFunction* PiecewiseFunction;
 
diff --git a/Charts/Core/vtkPiecewiseFunctionItem.h b/Charts/Core/vtkPiecewiseFunctionItem.h
index c9d1793f7b..65fd35961f 100644
--- a/Charts/Core/vtkPiecewiseFunctionItem.h
+++ b/Charts/Core/vtkPiecewiseFunctionItem.h
@@ -28,22 +28,22 @@ class VTKCHARTSCORE_EXPORT vtkPiecewiseFunctionItem: public vtkScalarsToColorsIt
 public:
   static vtkPiecewiseFunctionItem* New();
   vtkTypeMacro(vtkPiecewiseFunctionItem, vtkScalarsToColorsItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   void SetPiecewiseFunction(vtkPiecewiseFunction* t);
   vtkGetObjectMacro(PiecewiseFunction, vtkPiecewiseFunction);
 
 protected:
   vtkPiecewiseFunctionItem();
-  virtual ~vtkPiecewiseFunctionItem();
+  ~vtkPiecewiseFunctionItem() VTK_OVERRIDE;
 
   // Description:
   // Reimplemented to return the range of the piecewise function
-  virtual void ComputeBounds(double bounds[4]);
+  void ComputeBounds(double bounds[4]) VTK_OVERRIDE;
 
   // Description
   // Compute the texture from the PiecewiseFunction
-  virtual void ComputeTexture();
+  void ComputeTexture() VTK_OVERRIDE;
 
   vtkPiecewiseFunction* PiecewiseFunction;
 
diff --git a/Charts/Core/vtkPiecewisePointHandleItem.h b/Charts/Core/vtkPiecewisePointHandleItem.h
index b4aa597eec..d79ce74b71 100644
--- a/Charts/Core/vtkPiecewisePointHandleItem.h
+++ b/Charts/Core/vtkPiecewisePointHandleItem.h
@@ -40,7 +40,7 @@ class VTKCHARTSCORE_EXPORT vtkPiecewisePointHandleItem : public vtkContextItem
 {
 public:
   vtkTypeMacro(vtkPiecewisePointHandleItem, vtkContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkPiecewisePointHandleItem *New();
   static void CallRedraw(vtkObject* sender, unsigned long event, void* receiver, void* params);
@@ -48,12 +48,12 @@ public:
   /**
    * Set the parent item, which should be a vtkControlPointItem
    */
-  virtual void SetParent(vtkAbstractContextItem *parent);
+  void SetParent(vtkAbstractContextItem *parent) VTK_OVERRIDE;
 
   /**
    * Paint event for the item.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   //@{
   /**
@@ -80,26 +80,26 @@ public:
   /**
    * Returns true if the supplied x, y coordinate is inside the item.
    */
-  virtual bool Hit(const vtkContextMouseEvent &mouse);
+  bool Hit(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse move event.
    */
-  virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse);
+  bool MouseMoveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse button down event.
    */
-  virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse button release event.
    */
-  virtual bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
 protected:
   vtkPiecewisePointHandleItem();
-  ~vtkPiecewisePointHandleItem();
+  ~vtkPiecewisePointHandleItem() VTK_OVERRIDE;
 
   /**
    * Redraw all the handles
diff --git a/Charts/Core/vtkPlot.h b/Charts/Core/vtkPlot.h
index 8d2b2ed8eb..1e88c0e31d 100644
--- a/Charts/Core/vtkPlot.h
+++ b/Charts/Core/vtkPlot.h
@@ -47,7 +47,7 @@ class VTKCHARTSCORE_EXPORT vtkPlot : public vtkContextItem
 {
 public:
   vtkTypeMacro(vtkPlot, vtkContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -380,7 +380,7 @@ public:
 
 protected:
   vtkPlot();
-  ~vtkPlot();
+  ~vtkPlot() VTK_OVERRIDE;
 
   /**
    * Get the properly formatted number for the supplied position and axis.
diff --git a/Charts/Core/vtkPlot3D.h b/Charts/Core/vtkPlot3D.h
index 78fa34f3c7..4e949039ba 100644
--- a/Charts/Core/vtkPlot3D.h
+++ b/Charts/Core/vtkPlot3D.h
@@ -45,7 +45,7 @@ class VTKCHARTSCORE_EXPORT vtkPlot3D : public vtkContextItem
 {
 public:
   vtkTypeMacro(vtkPlot3D, vtkContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -129,7 +129,7 @@ public:
 
 protected:
   vtkPlot3D();
-  ~vtkPlot3D();
+  ~vtkPlot3D() VTK_OVERRIDE;
 
   /**
    * Generate a bounding cube for our data.
diff --git a/Charts/Core/vtkPlotArea.h b/Charts/Core/vtkPlotArea.h
index 9e22edb0ed..1688d4f3d4 100644
--- a/Charts/Core/vtkPlotArea.h
+++ b/Charts/Core/vtkPlotArea.h
@@ -33,7 +33,7 @@ class VTKCHARTSCORE_EXPORT vtkPlotArea : public vtkPlot
 public:
   static vtkPlotArea* New();
   vtkTypeMacro(vtkPlotArea, vtkPlot);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Convenience method to set the input arrays. vtkPlotArea supports the
@@ -48,9 +48,9 @@ public:
   /**
    * Overridden to set the brush color.
    */
-  virtual void SetColor(unsigned char r, unsigned char g, unsigned char b,
-                        unsigned char a);
-  virtual void SetColor(double r,  double g, double b);
+  void SetColor(unsigned char r, unsigned char g, unsigned char b,
+                        unsigned char a) VTK_OVERRIDE;
+  void SetColor(double r,  double g, double b) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -64,24 +64,24 @@ public:
   /**
    * Perform any updates to the item that may be necessary before rendering.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Get the bounds for this plot as (Xmin, Xmax, Ymin, Ymax).
    */
-  virtual void GetBounds(double bounds[4]);
+  void GetBounds(double bounds[4]) VTK_OVERRIDE;
 
   /**
    * Subclasses that build data caches to speed up painting should override this
    * method to update such caches. This is called on each Paint, hence
    * subclasses must add checks to avoid rebuilding of cache, unless necessary.
    */
-  virtual void UpdateCache();
+  void UpdateCache() VTK_OVERRIDE;
 
   /**
    * Paint event for the XY plot, called whenever the chart needs to be drawn
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Paint legend event for the plot, called whenever the legend needs the
@@ -90,29 +90,29 @@ public:
    * and 3). The plot can choose how to fill the space supplied. The index is used
    * by Plots that return more than one label.
    */
-  virtual bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
-                           int legendIndex);
+  bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
+                           int legendIndex) VTK_OVERRIDE;
 
   /**
    * Function to query a plot for the nearest point to the specified coordinate.
    * Returns the index of the data series with which the point is associated, or
    * -1 if no point was found.
    */
-  virtual vtkIdType GetNearestPoint(const vtkVector2f& point,
+  vtkIdType GetNearestPoint(const vtkVector2f& point,
                                     const vtkVector2f& tolerance,
-                                    vtkVector2f* location);
+                                    vtkVector2f* location) VTK_OVERRIDE;
 
   /**
    * Generate and return the tooltip label string for this plot
    * The segmentIndex parameter is ignored, except for vtkPlotBar
    */
-  virtual vtkStdString GetTooltipLabel(const vtkVector2d &plotPos,
+  vtkStdString GetTooltipLabel(const vtkVector2d &plotPos,
                                        vtkIdType seriesIndex,
-                                       vtkIdType segmentIndex);
+                                       vtkIdType segmentIndex) VTK_OVERRIDE;
 
 protected:
   vtkPlotArea();
-  ~vtkPlotArea();
+  ~vtkPlotArea() VTK_OVERRIDE;
 
   /**
    * Name of the valid point mask array.
diff --git a/Charts/Core/vtkPlotBag.h b/Charts/Core/vtkPlotBag.h
index 9a77f98a51..f10ead0a0f 100644
--- a/Charts/Core/vtkPlotBag.h
+++ b/Charts/Core/vtkPlotBag.h
@@ -42,7 +42,7 @@ class VTKCHARTSCORE_EXPORT vtkPlotBag : public vtkPlotPoints
 {
 public:
   vtkTypeMacro(vtkPlotBag, vtkPlotPoints);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a new Bag Plot object.
@@ -54,12 +54,12 @@ public:
    * The scene should take care of calling this on all items before their
    * Paint function is invoked.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the XY plot, called whenever the chart needs to be drawn.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Paint legend event for the XY plot, called whenever the legend needs the
@@ -67,22 +67,22 @@ public:
    * corner of the rect (elements 0 and 1) and with width x height (elements 2
    * and 3). The plot can choose how to fill the space supplied.
    */
-  virtual bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
-                           int legendIndex);
+  bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
+                           int legendIndex) VTK_OVERRIDE;
 
   /**
    * Get the plot labels. If this array has a length greater than 1 the index
    * refers to the stacked objects in the plot. See vtkPlotBar for example.
    */
-  virtual vtkStringArray *GetLabels();
+  vtkStringArray *GetLabels() VTK_OVERRIDE;
 
   /**
    * Generate and return the tooltip label string for this plot
    * The segmentIndex parameter is ignored, except for vtkPlotBar
    */
-  virtual vtkStdString GetTooltipLabel(const vtkVector2d &plotPos,
+  vtkStdString GetTooltipLabel(const vtkVector2d &plotPos,
                                        vtkIdType seriesIndex,
-                                       vtkIdType segmentIndex);
+                                       vtkIdType segmentIndex) VTK_OVERRIDE;
 
   //@{
   /**
@@ -92,9 +92,9 @@ public:
    * Inherited method will call the last SetInputData method with default
    * paramaters.
    */
-  virtual void SetInputData(vtkTable *table);
-  virtual void SetInputData(vtkTable *table, const vtkStdString &yColumn,
-                            const vtkStdString &densityColumn);
+  void SetInputData(vtkTable *table) VTK_OVERRIDE;
+  void SetInputData(vtkTable *table, const vtkStdString &yColumn,
+                            const vtkStdString &densityColumn) VTK_OVERRIDE;
   virtual void SetInputData(vtkTable *table, const vtkStdString &xColumn,
                             const vtkStdString &yColumn,
                             const vtkStdString &densityColumn);
@@ -131,7 +131,7 @@ public:
 
 protected:
   vtkPlotBag();
-  ~vtkPlotBag();
+  ~vtkPlotBag() VTK_OVERRIDE;
 
   void UpdateTableCache(vtkDataArray*);
 
diff --git a/Charts/Core/vtkPlotBar.h b/Charts/Core/vtkPlotBar.h
index 45dd4df408..e6f096afb3 100644
--- a/Charts/Core/vtkPlotBar.h
+++ b/Charts/Core/vtkPlotBar.h
@@ -43,7 +43,7 @@ class VTKCHARTSCORE_EXPORT vtkPlotBar : public vtkPlot
 {
 public:
   vtkTypeMacro(vtkPlotBar, vtkPlot);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Enum of bar chart oritentation types
@@ -61,12 +61,12 @@ public:
   /**
    * Perform any updates to the item that may be necessary before rendering.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the XY plot, called whenever the chart needs to be drawn
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Paint legend event for the XY plot, called whenever the legend needs the
@@ -74,31 +74,43 @@ public:
    * corner of the rect (elements 0 and 1) and with width x height (elements 2
    * and 3). The plot can choose how to fill the space supplied.
    */
-  virtual bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
-                           int legendIndex);
+  bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
+                           int legendIndex) VTK_OVERRIDE;
 
   //@{
   /**
    * Set the plot color
    */
-  virtual void SetColor(unsigned char r, unsigned char g, unsigned char b,
-                        unsigned char a);
-  virtual void SetColor(double r,  double g, double b);
-  virtual void GetColor(double rgb[3]);
+  void SetColor(unsigned char r, unsigned char g, unsigned char b,
+                        unsigned char a) VTK_OVERRIDE;
+  void SetColor(double r,  double g, double b) VTK_OVERRIDE;
+  void GetColor(double rgb[3]) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Set the width of the line.
    */
-  vtkSetMacro(Width, float);
+  void SetWidth(float _arg) VTK_OVERRIDE
+  {
+    vtkDebugMacro(<< this->GetClassName() << " (" << this << "): setting Width to " << _arg);
+    if (this->Width != _arg)
+    {
+      this->Width = _arg;
+      this->Modified();
+    }
+  }
   //@}
 
   //@{
   /**
    * Get the width of the line.
    */
-  vtkGetMacro(Width, float);
+  float GetWidth() VTK_OVERRIDE
+  {
+    vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning Width of " << this->Width );
+    return this->Width;
+  }
   //@}
 
   //@{
@@ -129,17 +141,17 @@ public:
   /**
    * Get the bounds for this mapper as (Xmin,Xmax,Ymin,Ymax).
    */
-  virtual void GetBounds(double bounds[4]);
+  void GetBounds(double bounds[4]) VTK_OVERRIDE;
 
   /**
    * Get un-log-scaled bounds for this mapper as (Xmin,Xmax,Ymin,Ymax).
    */
-  virtual void GetUnscaledInputBounds(double bounds[4]);
+  void GetUnscaledInputBounds(double bounds[4]) VTK_OVERRIDE;
 
   /**
    * When used to set additional arrays, stacked bars are created.
    */
-  virtual void SetInputArray(int index, const vtkStdString &name);
+  void SetInputArray(int index, const vtkStdString &name) VTK_OVERRIDE;
 
   /**
    * Set the color series to use if this becomes a stacked bar plot.
@@ -192,7 +204,7 @@ public:
   /**
    * Get the plot labels.
    */
-  virtual vtkStringArray *GetLabels();
+  vtkStringArray *GetLabels() VTK_OVERRIDE;
 
   /**
    * Set the group name of the bar chart - can be displayed on the X axis.
@@ -208,23 +220,23 @@ public:
    * Generate and return the tooltip label string for this plot
    * The segmentIndex is implemented here.
    */
-  virtual vtkStdString GetTooltipLabel(const vtkVector2d &plotPos,
+  vtkStdString GetTooltipLabel(const vtkVector2d &plotPos,
                                        vtkIdType seriesIndex,
-                                       vtkIdType segmentIndex);
+                                       vtkIdType segmentIndex) VTK_OVERRIDE;
 
   /**
    * Select all points in the specified rectangle.
    */
-  virtual bool SelectPoints(const vtkVector2f& min, const vtkVector2f& max);
+  bool SelectPoints(const vtkVector2f& min, const vtkVector2f& max) VTK_OVERRIDE;
 
   /**
    * Function to query a plot for the nearest point to the specified coordinate.
    * Returns the index of the data series with which the point is associated or
    * -1.
    */
-  virtual vtkIdType GetNearestPoint(const vtkVector2f& point,
+  vtkIdType GetNearestPoint(const vtkVector2f& point,
                                     const vtkVector2f& tolerance,
-                                    vtkVector2f* location);
+                                    vtkVector2f* location) VTK_OVERRIDE;
 
   /**
    * Function to query a plot for the nearest point to the specified coordinate.
@@ -250,7 +262,7 @@ public:
 
 protected:
   vtkPlotBar();
-  ~vtkPlotBar();
+  ~vtkPlotBar() VTK_OVERRIDE;
 
   /**
    * Update the table cache.
diff --git a/Charts/Core/vtkPlotBox.h b/Charts/Core/vtkPlotBox.h
index 7760a28b92..7d8a7f884c 100644
--- a/Charts/Core/vtkPlotBox.h
+++ b/Charts/Core/vtkPlotBox.h
@@ -39,7 +39,7 @@ class VTKCHARTSCORE_EXPORT vtkPlotBox : public vtkPlot
 {
 public:
   vtkTypeMacro(vtkPlotBox, vtkPlot);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a box plot.
@@ -51,12 +51,12 @@ public:
    * The scene should take care of calling this on all items before their
    * Paint function is invoked.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the plot, called whenever the chart needs to be drawn
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Paint legend event for the plot, called whenever the legend needs the
@@ -64,16 +64,16 @@ public:
    * corner of the rect (elements 0 and 1) and with width x height (elements 2
    * and 3). The plot can choose how to fill the space supplied.
    */
-  virtual bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
-                           int legendIndex);
+  bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
+                           int legendIndex) VTK_OVERRIDE;
 
   //@{
   /**
    * This is a convenience function to set the input table.
    */
-  virtual void SetInputData(vtkTable *table);
-  virtual void SetInputData(vtkTable *table, const vtkStdString&,
-                            const vtkStdString&)
+  void SetInputData(vtkTable *table) VTK_OVERRIDE;
+  void SetInputData(vtkTable *table, const vtkStdString&,
+                            const vtkStdString&) VTK_OVERRIDE
   {
     this->SetInputData(table);
   }
@@ -83,16 +83,16 @@ public:
    * Get the plot labels. If this array has a length greater than 1 the index
    * refers to the stacked objects in the plot.
    */
-  virtual vtkStringArray *GetLabels();
+  vtkStringArray *GetLabels() VTK_OVERRIDE;
 
   /**
    * Function to query a plot for the nearest point to the specified coordinate.
    * Returns the index of the data series with which the point is associated
    * or -1.
    */
-  virtual vtkIdType GetNearestPoint(const vtkVector2f& point,
+  vtkIdType GetNearestPoint(const vtkVector2f& point,
                                     const vtkVector2f& tolerance,
-                                    vtkVector2f* location);
+                                    vtkVector2f* location) VTK_OVERRIDE;
 
   //@{
   /**
@@ -130,7 +130,7 @@ public:
 
 protected:
   vtkPlotBox();
-  ~vtkPlotBox();
+  ~vtkPlotBox() VTK_OVERRIDE;
 
   void DrawBoxPlot(int, unsigned char*, double, vtkContext2D*);
 
diff --git a/Charts/Core/vtkPlotFunctionalBag.h b/Charts/Core/vtkPlotFunctionalBag.h
index 851622af6a..30b59e1533 100644
--- a/Charts/Core/vtkPlotFunctionalBag.h
+++ b/Charts/Core/vtkPlotFunctionalBag.h
@@ -46,7 +46,7 @@ class VTKCHARTSCORE_EXPORT vtkPlotFunctionalBag : public vtkPlot
 {
 public:
   vtkTypeMacro(vtkPlotFunctionalBag, vtkPlot);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a functional bag plot object.
@@ -62,19 +62,19 @@ public:
   /**
    * Reimplemented to enforce visibility when selected.
    */
-  virtual bool GetVisible();
+  bool GetVisible() VTK_OVERRIDE;
 
   /**
    * Perform any updates to the item that may be necessary before rendering.
    * The scene should take care of calling this on all items before their
    * Paint function is invoked.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the plot, called whenever the chart needs to be drawn.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Paint legend event for the plot, called whenever the legend needs the
@@ -82,19 +82,19 @@ public:
    * corner of the rect (elements 0 and 1) and with width x height (elements 2
    * and 3). The plot can choose how to fill the space supplied.
    */
-  virtual bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
-                           int legendIndex);
+  bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
+                           int legendIndex) VTK_OVERRIDE;
 
   /**
    * Get the bounds for this plot as (Xmin, Xmax, Ymin, Ymax).
    */
-  virtual void GetBounds(double bounds[4]);
+  void GetBounds(double bounds[4]) VTK_OVERRIDE;
 
   /**
    * Get the non-log-scaled bounds on chart inputs for this plot as
    * (Xmin, Xmax, Ymin, Ymax).
    */
-  virtual void GetUnscaledInputBounds(double bounds[4]);
+  void GetUnscaledInputBounds(double bounds[4]) VTK_OVERRIDE;
 
   //@{
   /**
@@ -115,23 +115,23 @@ public:
    * Returns the index of the data series with which the point is associated or
    * -1.
    */
-  virtual vtkIdType GetNearestPoint(const vtkVector2f& point,
+  vtkIdType GetNearestPoint(const vtkVector2f& point,
                                     const vtkVector2f& tolerance,
-                                    vtkVector2f* location);
+                                    vtkVector2f* location) VTK_OVERRIDE;
 
   /**
    * Select all points in the specified rectangle.
    */
-  virtual bool SelectPoints(const vtkVector2f& min, const vtkVector2f& max);
+  bool SelectPoints(const vtkVector2f& min, const vtkVector2f& max) VTK_OVERRIDE;
 
   /**
    * Select all points in the specified polygon.
    */
-  virtual bool SelectPointsInPolygon(const vtkContextPolygon &polygon);
+  bool SelectPointsInPolygon(const vtkContextPolygon &polygon) VTK_OVERRIDE;
 
 protected:
   vtkPlotFunctionalBag();
-  ~vtkPlotFunctionalBag();
+  ~vtkPlotFunctionalBag() VTK_OVERRIDE;
 
   /**
    * Populate the data arrays ready to operate on input data.
diff --git a/Charts/Core/vtkPlotGrid.h b/Charts/Core/vtkPlotGrid.h
index 2e33387310..12de49d8ba 100644
--- a/Charts/Core/vtkPlotGrid.h
+++ b/Charts/Core/vtkPlotGrid.h
@@ -39,7 +39,7 @@ class VTKCHARTSCORE_EXPORT vtkPlotGrid : public vtkContextItem
 {
 public:
   vtkTypeMacro(vtkPlotGrid, vtkContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 2D Chart object.
@@ -59,11 +59,11 @@ public:
   /**
    * Paint event for the axis, called whenever the axis needs to be drawn
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
 protected:
   vtkPlotGrid();
-  ~vtkPlotGrid();
+  ~vtkPlotGrid() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Charts/Core/vtkPlotHistogram2D.h b/Charts/Core/vtkPlotHistogram2D.h
index fec12d3cb3..6fa0c8912b 100644
--- a/Charts/Core/vtkPlotHistogram2D.h
+++ b/Charts/Core/vtkPlotHistogram2D.h
@@ -36,7 +36,7 @@ class VTKCHARTSCORE_EXPORT vtkPlotHistogram2D : public vtkPlot
 {
 public:
   vtkTypeMacro(vtkPlotHistogram2D, vtkPlot);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a new object.
@@ -48,12 +48,12 @@ public:
    * The scene should take care of calling this on all items before their
    * Paint function is invoked.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the item, called whenever it needs to be drawn.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Set the input, we are expecting a vtkImageData with just one component,
@@ -61,8 +61,8 @@ public:
    * functions as a double to generate a color.
    */
   virtual void SetInputData(vtkImageData *data, vtkIdType z = 0);
-  virtual void SetInputData(vtkTable*) { }
-  virtual void SetInputData(vtkTable*, const vtkStdString&, const vtkStdString&) { }
+  void SetInputData(vtkTable*)VTK_OVERRIDE { }
+  void SetInputData(vtkTable*, const vtkStdString&, const vtkStdString&)VTK_OVERRIDE { }
 
   /**
    * Get the input table used by the plot.
@@ -80,7 +80,7 @@ public:
    */
   vtkScalarsToColors * GetTransferFunction();
 
-  virtual void GetBounds(double bounds[4]);
+  void GetBounds(double bounds[4]) VTK_OVERRIDE;
 
   virtual void SetPosition(const vtkRectf& pos);
   virtual vtkRectf GetPosition();
@@ -103,9 +103,9 @@ public:
    * Any other characters or unrecognized format tags are printed in the
    * tooltip label verbatim.
    */
-  virtual vtkStdString GetTooltipLabel(const vtkVector2d &plotPos,
+  vtkStdString GetTooltipLabel(const vtkVector2d &plotPos,
                                        vtkIdType seriesIndex,
-                                       vtkIdType segmentIndex);
+                                       vtkIdType segmentIndex) VTK_OVERRIDE;
 
   /**
    * Function to query a plot for the nearest point to the specified coordinate.
@@ -115,13 +115,13 @@ public:
    * The referent of "location" is set to the x and y integer indices of the
    * histogram cell.
    */
-  virtual vtkIdType GetNearestPoint(const vtkVector2f& point,
+  vtkIdType GetNearestPoint(const vtkVector2f& point,
                                     const vtkVector2f& tolerance,
-                                    vtkVector2f* location);
+                                    vtkVector2f* location) VTK_OVERRIDE;
 
 protected:
   vtkPlotHistogram2D();
-  ~vtkPlotHistogram2D();
+  ~vtkPlotHistogram2D() VTK_OVERRIDE;
 
   /**
    * Where all the magic happens...
diff --git a/Charts/Core/vtkPlotLine.h b/Charts/Core/vtkPlotLine.h
index 63eb161271..660fbfce1a 100644
--- a/Charts/Core/vtkPlotLine.h
+++ b/Charts/Core/vtkPlotLine.h
@@ -32,7 +32,7 @@ class VTKCHARTSCORE_EXPORT vtkPlotLine : public vtkPlotPoints
 {
 public:
   vtkTypeMacro(vtkPlotLine, vtkPlotPoints);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 2D Chart object.
@@ -42,7 +42,7 @@ public:
   /**
    * Paint event for the XY plot, called whenever the chart needs to be drawn.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Paint legend event for the XY plot, called whenever the legend needs the
@@ -50,8 +50,8 @@ public:
    * corner of the rect (elements 0 and 1) and with width x height (elements 2
    * and 3). The plot can choose how to fill the space supplied.
    */
-  virtual bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
-                           int legendIndex);
+  bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
+                           int legendIndex) VTK_OVERRIDE;
 
   //@{
   /**
@@ -68,7 +68,7 @@ public:
 
 protected:
   vtkPlotLine();
-  ~vtkPlotLine();
+  ~vtkPlotLine() VTK_OVERRIDE;
 
   /**
    * Poly line (true) or line segments(false).
diff --git a/Charts/Core/vtkPlotLine3D.h b/Charts/Core/vtkPlotLine3D.h
index 36842eb789..792431e875 100644
--- a/Charts/Core/vtkPlotLine3D.h
+++ b/Charts/Core/vtkPlotLine3D.h
@@ -38,7 +38,7 @@ class VTKCHARTSCORE_EXPORT vtkPlotLine3D : public vtkPlotPoints3D
 {
 public:
   vtkTypeMacro(vtkPlotLine3D, vtkPlotPoints3D);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 3D Chart object.
@@ -48,11 +48,11 @@ public:
   /**
    * Paint event for the XYZ plot, called whenever the chart needs to be drawn.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
 protected:
   vtkPlotLine3D();
-  ~vtkPlotLine3D();
+  ~vtkPlotLine3D() VTK_OVERRIDE;
 
 private:
   vtkPlotLine3D(const vtkPlotLine3D &) VTK_DELETE_FUNCTION;
diff --git a/Charts/Core/vtkPlotParallelCoordinates.h b/Charts/Core/vtkPlotParallelCoordinates.h
index 1ea54b3d70..a869ddd692 100644
--- a/Charts/Core/vtkPlotParallelCoordinates.h
+++ b/Charts/Core/vtkPlotParallelCoordinates.h
@@ -40,7 +40,7 @@ class VTKCHARTSCORE_EXPORT vtkPlotParallelCoordinates : public vtkPlot
 {
 public:
   vtkTypeMacro(vtkPlotParallelCoordinates, vtkPlot);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a parallel coordinates chart
@@ -52,12 +52,12 @@ public:
    * The scene should take care of calling this on all items before their
    * Paint function is invoked.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the XY plot, called whenever the chart needs to be drawn
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Paint legend event for the XY plot, called whenever the legend needs the
@@ -65,13 +65,13 @@ public:
    * corner of the rect (elements 0 and 1) and with width x height (elements 2
    * and 3). The plot can choose how to fill the space supplied.
    */
-  virtual bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
-                           int legendIndex);
+  bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
+                           int legendIndex) VTK_OVERRIDE;
 
   /**
    * Get the bounds for this mapper as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
    */
-  virtual void GetBounds(double bounds[4]);
+  void GetBounds(double bounds[4]) VTK_OVERRIDE;
 
   /**
    * Set the selection criteria on the given axis in normalized space (0.0 - 1.0).
@@ -87,9 +87,9 @@ public:
   /**
    * This is a convenience function to set the input table.
    */
-  virtual void SetInputData(vtkTable *table);
-  virtual void SetInputData(vtkTable *table, const vtkStdString&,
-                            const vtkStdString&)
+  void SetInputData(vtkTable *table) VTK_OVERRIDE;
+  void SetInputData(vtkTable *table, const vtkStdString&,
+                            const vtkStdString&) VTK_OVERRIDE
   {
     this->SetInputData(table);
   }
@@ -135,7 +135,7 @@ public:
 
 protected:
   vtkPlotParallelCoordinates();
-  ~vtkPlotParallelCoordinates();
+  ~vtkPlotParallelCoordinates() VTK_OVERRIDE;
 
   /**
    * Update the table cache.
diff --git a/Charts/Core/vtkPlotPie.h b/Charts/Core/vtkPlotPie.h
index e7d708e61b..17d29a4955 100644
--- a/Charts/Core/vtkPlotPie.h
+++ b/Charts/Core/vtkPlotPie.h
@@ -37,14 +37,14 @@ class VTKCHARTSCORE_EXPORT vtkPlotPie : public vtkPlot
 {
 public:
   vtkTypeMacro(vtkPlotPie, vtkPlot);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkPlotPie *New();
 
   /**
    * Paint event for the item.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Paint legend event for the XY plot, called whenever the legend needs the
@@ -52,7 +52,7 @@ public:
    * corner of the rect (elements 0 and 1) and with width x height (elements 2
    * and 3). The plot can choose how to fill the space supplied.
    */
-  bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect, int legendIndex);
+  bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect, int legendIndex) VTK_OVERRIDE;
 
   /**
    * Set the dimensions of the pie, arguments 1 and 2 are the x and y coordinate
@@ -89,13 +89,13 @@ public:
    * Returns the index of the data series with which the point is associated or
    * -1.
    */
-  virtual vtkIdType GetNearestPoint(const vtkVector2f& point,
+  vtkIdType GetNearestPoint(const vtkVector2f& point,
                                     const vtkVector2f& tolerance,
-                                    vtkVector2f* location);
+                                    vtkVector2f* location) VTK_OVERRIDE;
 
 protected:
   vtkPlotPie();
-  ~vtkPlotPie();
+  ~vtkPlotPie() VTK_OVERRIDE;
 
   /**
    * Update the table cache.
diff --git a/Charts/Core/vtkPlotPoints.h b/Charts/Core/vtkPlotPoints.h
index 87129c4b83..f28b68556a 100644
--- a/Charts/Core/vtkPlotPoints.h
+++ b/Charts/Core/vtkPlotPoints.h
@@ -51,7 +51,7 @@ class VTKCHARTSCORE_EXPORT vtkPlotPoints : public vtkPlot
 {
 public:
   vtkTypeMacro(vtkPlotPoints, vtkPlot);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 2D Chart object.
@@ -63,12 +63,12 @@ public:
    * The scene should take care of calling this on all items before their
    * Paint function is invoked.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the XY plot, called whenever the chart needs to be drawn
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Paint legend event for the XY plot, called whenever the legend needs the
@@ -76,18 +76,18 @@ public:
    * corner of the rect (elements 0 and 1) and with width x height (elements 2
    * and 3). The plot can choose how to fill the space supplied.
    */
-  virtual bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
-                           int legendIndex);
+  bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
+                           int legendIndex) VTK_OVERRIDE;
 
   /**
    * Get the bounds for this plot as (Xmin, Xmax, Ymin, Ymax).
    */
-  virtual void GetBounds(double bounds[4]);
+  void GetBounds(double bounds[4]) VTK_OVERRIDE;
 
   /**
    * Get the non-log-scaled bounds on chart inputs for this plot as (Xmin, Xmax, Ymin, Ymax).
    */
-  virtual void GetUnscaledInputBounds(double bounds[4]);
+  void GetUnscaledInputBounds(double bounds[4]) VTK_OVERRIDE;
 
   //@{
   /**
@@ -132,19 +132,19 @@ public:
    * Returns the index of the data series with which the point is associated or
    * -1.
    */
-  virtual vtkIdType GetNearestPoint(const vtkVector2f& point,
+  vtkIdType GetNearestPoint(const vtkVector2f& point,
                                     const vtkVector2f& tolerance,
-                                    vtkVector2f* location);
+                                    vtkVector2f* location) VTK_OVERRIDE;
 
   /**
    * Select all points in the specified rectangle.
    */
-  virtual bool SelectPoints(const vtkVector2f& min, const vtkVector2f& max);
+  bool SelectPoints(const vtkVector2f& min, const vtkVector2f& max) VTK_OVERRIDE;
 
   /**
    * Select all points in the specified polygon.
    */
-  virtual bool SelectPointsInPolygon(const vtkContextPolygon &polygon);
+  bool SelectPointsInPolygon(const vtkContextPolygon &polygon) VTK_OVERRIDE;
 
   /**
    * Enum containing various marker styles that can be used in a plot.
@@ -186,7 +186,7 @@ public:
 
 protected:
   vtkPlotPoints();
-  ~vtkPlotPoints();
+  ~vtkPlotPoints() VTK_OVERRIDE;
 
   /**
    * Populate the data arrays ready to operate on input data.
diff --git a/Charts/Core/vtkPlotPoints3D.h b/Charts/Core/vtkPlotPoints3D.h
index c6a1330d8b..615f0ee066 100644
--- a/Charts/Core/vtkPlotPoints3D.h
+++ b/Charts/Core/vtkPlotPoints3D.h
@@ -38,17 +38,17 @@ class VTKCHARTSCORE_EXPORT vtkPlotPoints3D : public vtkPlot3D
 {
 public:
   vtkTypeMacro(vtkPlotPoints3D, vtkPlot3D);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
   static vtkPlotPoints3D * New();
 
   /**
    * Paint event for the XY plot, called whenever the chart needs to be drawn
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
 protected:
   vtkPlotPoints3D();
-  ~vtkPlotPoints3D();
+  ~vtkPlotPoints3D() VTK_OVERRIDE;
 
   /**
    * The selected points.
diff --git a/Charts/Core/vtkPlotStacked.h b/Charts/Core/vtkPlotStacked.h
index 0de83135a3..6bd6569715 100644
--- a/Charts/Core/vtkPlotStacked.h
+++ b/Charts/Core/vtkPlotStacked.h
@@ -42,7 +42,7 @@ class VTKCHARTSCORE_EXPORT vtkPlotStacked : public vtkPlot
 {
 public:
   vtkTypeMacro(vtkPlotStacked, vtkPlot);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a Stacked Plot Object
@@ -53,10 +53,10 @@ public:
   /**
    * Set the plot color
    */
-  virtual void SetColor(unsigned char r, unsigned char g, unsigned char b,
-                        unsigned char a);
-  virtual void SetColor(double r,  double g, double b);
-  virtual void GetColor(double rgb[3]);
+  void SetColor(unsigned char r, unsigned char g, unsigned char b,
+                        unsigned char a) VTK_OVERRIDE;
+  void SetColor(double r,  double g, double b) VTK_OVERRIDE;
+  void GetColor(double rgb[3]) VTK_OVERRIDE;
   //@}
 
   /**
@@ -64,12 +64,12 @@ public:
    * The scene should take care of calling this on all items before their
    * Paint function is invoked.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the Stacked plot, called whenever the chart needs to be drawn
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Paint legend event for the Stacked plot, called whenever the legend needs the
@@ -77,24 +77,24 @@ public:
    * corner of the rect (elements 0 and 1) and with width x height (elements 2
    * and 3). The plot can choose how to fill the space supplied.
    */
-  virtual bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
-                           int legendIndex);
+  bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
+                           int legendIndex) VTK_OVERRIDE;
 
   /**
    * Get the bounds for this mapper as (Xmin,Xmax,Ymin,Ymax).
    */
-  virtual void GetBounds(double bounds[4]);
+  void GetBounds(double bounds[4]) VTK_OVERRIDE;
 
   /**
    * Get the unscaled input bounds for this mapper as (Xmin,Xmax,Ymin,Ymax).
    * See vtkPlot for more information.
    */
-  virtual void GetUnscaledInputBounds(double bounds[4]);
+  void GetUnscaledInputBounds(double bounds[4]) VTK_OVERRIDE;
 
   /**
    * When used to set additional arrays, stacked bars are created.
    */
-  virtual void SetInputArray(int index, const vtkStdString &name);
+  void SetInputArray(int index, const vtkStdString &name) VTK_OVERRIDE;
 
   /**
    * Set the color series to use if this becomes a stacked bar plot.
@@ -109,25 +109,25 @@ public:
   /**
    * Get the plot labels.
    */
-  virtual vtkStringArray *GetLabels();
+  vtkStringArray *GetLabels() VTK_OVERRIDE;
 
   /**
    * Function to query a plot for the nearest point to the specified coordinate.
    * Returns the index of the data series with which the point is associated or
    * -1.
    */
-  virtual vtkIdType GetNearestPoint(const vtkVector2f& point,
+  vtkIdType GetNearestPoint(const vtkVector2f& point,
                                     const vtkVector2f& tolerance,
-                                    vtkVector2f* location);
+                                    vtkVector2f* location) VTK_OVERRIDE;
 
   /**
    * Select all points in the specified rectangle.
    */
-  virtual bool SelectPoints(const vtkVector2f& min, const vtkVector2f& max);
+  bool SelectPoints(const vtkVector2f& min, const vtkVector2f& max) VTK_OVERRIDE;
 
 protected:
   vtkPlotStacked();
-  ~vtkPlotStacked();
+  ~vtkPlotStacked() VTK_OVERRIDE;
 
   /**
    * Update the table cache.
diff --git a/Charts/Core/vtkPlotSurface.h b/Charts/Core/vtkPlotSurface.h
index 29890259bd..6a1fd1b777 100644
--- a/Charts/Core/vtkPlotSurface.h
+++ b/Charts/Core/vtkPlotSurface.h
@@ -37,18 +37,18 @@ class VTKCHARTSCORE_EXPORT vtkPlotSurface : public vtkPlot3D
 {
 public:
   vtkTypeMacro(vtkPlotSurface, vtkPlot3D);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
   static vtkPlotSurface * New();
 
   /**
    * Paint event for the XY plot, called whenever the chart needs to be drawn
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Set the input to the surface plot.
    */
-  virtual void SetInputData(vtkTable *input);
+  void SetInputData(vtkTable *input) VTK_OVERRIDE;
 
   //@{
   /**
@@ -56,15 +56,15 @@ public:
    * Do not use these versions of SetInputData, as all the parameters
    * beyond the vtkTable are ignored.
    */
-  virtual void SetInputData(vtkTable *input, const vtkStdString &xName,
+  void SetInputData(vtkTable *input, const vtkStdString &xName,
                             const vtkStdString &yName,
-                            const vtkStdString &zName);
-  virtual void SetInputData(vtkTable *input, const vtkStdString &xName,
+                            const vtkStdString &zName) VTK_OVERRIDE;
+  void SetInputData(vtkTable *input, const vtkStdString &xName,
                             const vtkStdString &yName,
                             const vtkStdString &zName,
-                            const vtkStdString &colorName);
-  virtual void SetInputData(vtkTable *input, vtkIdType xColumn,
-                            vtkIdType yColumn, vtkIdType zColumn);
+                            const vtkStdString &colorName) VTK_OVERRIDE;
+  void SetInputData(vtkTable *input, vtkIdType xColumn,
+                            vtkIdType yColumn, vtkIdType zColumn) VTK_OVERRIDE;
   //@}
 
   /**
@@ -85,7 +85,7 @@ public:
 
 protected:
   vtkPlotSurface();
-  ~vtkPlotSurface();
+  ~vtkPlotSurface() VTK_OVERRIDE;
 
   /**
    * Generate a surface (for OpenGL) from our list of points.
diff --git a/Charts/Core/vtkScalarsToColorsItem.h b/Charts/Core/vtkScalarsToColorsItem.h
index f6da51c27c..d68e651b33 100644
--- a/Charts/Core/vtkScalarsToColorsItem.h
+++ b/Charts/Core/vtkScalarsToColorsItem.h
@@ -41,13 +41,13 @@ class VTKCHARTSCORE_EXPORT vtkScalarsToColorsItem: public vtkPlot
 {
 public:
   vtkTypeMacro(vtkScalarsToColorsItem, vtkPlot);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Bounds of the item, use the UserBounds if valid otherwise compute
    * the bounds of the item (based on the transfer function range).
    */
-  void GetBounds(double bounds[4]);
+  void GetBounds(double bounds[4]) VTK_OVERRIDE;
 
   //@{
   /**
@@ -64,7 +64,7 @@ public:
    * MaskAboveCurve is true and a shape has been provided by a subclass, it
    * draws the texture into the shape
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   //@{
   /**
@@ -89,7 +89,7 @@ public:
 
 protected:
   vtkScalarsToColorsItem();
-  virtual ~vtkScalarsToColorsItem();
+  ~vtkScalarsToColorsItem() VTK_OVERRIDE;
 
   /**
    * Bounds of the item, by default (0, 1, 0, 1) but it depends on the
diff --git a/Charts/Core/vtkScatterPlotMatrix.h b/Charts/Core/vtkScatterPlotMatrix.h
index df6162ebed..03e4ae6a3c 100644
--- a/Charts/Core/vtkScatterPlotMatrix.h
+++ b/Charts/Core/vtkScatterPlotMatrix.h
@@ -53,7 +53,7 @@ public:
   };
 
   vtkTypeMacro(vtkScatterPlotMatrix, vtkChartMatrix);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a new object.
@@ -63,14 +63,14 @@ public:
   /**
    * Perform any updates to the item that may be necessary before rendering.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the chart matrix.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
-  virtual void SetScene(vtkContextScene *scene);
+  void SetScene(vtkContextScene *scene) VTK_OVERRIDE;
 
   /**
    * Set the active plot, the one that will be displayed in the top-right.
@@ -158,22 +158,22 @@ public:
   /**
    * Return true if the supplied x, y coordinate is inside the item.
    */
-  bool Hit(const vtkContextMouseEvent &mouse);
+  bool Hit(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse move event.
    */
-  bool MouseMoveEvent(const vtkContextMouseEvent &mouse);
+  bool MouseMoveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse button down event
    */
-  bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse button release event.
    */
-  bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   //@{
   /**
@@ -403,7 +403,7 @@ public:
 
 protected:
   vtkScatterPlotMatrix();
-  ~vtkScatterPlotMatrix();
+  ~vtkScatterPlotMatrix() VTK_OVERRIDE;
 
   /**
    * Internal helper to do the layout of the charts in the scatter plot matrix.
diff --git a/Common/Core/vtkAngularPeriodicDataArray.h b/Common/Core/vtkAngularPeriodicDataArray.h
index baefff645e..0fa963a211 100644
--- a/Common/Core/vtkAngularPeriodicDataArray.h
+++ b/Common/Core/vtkAngularPeriodicDataArray.h
@@ -81,7 +81,7 @@ public:
 
 protected:
   vtkAngularPeriodicDataArray();
-  ~vtkAngularPeriodicDataArray();
+  ~vtkAngularPeriodicDataArray() VTK_OVERRIDE;
 
   /**
    * Transform the provided tuple
diff --git a/Common/Core/vtkMappedDataArray.h b/Common/Core/vtkMappedDataArray.h
index baaf1d6a32..8008885a7b 100644
--- a/Common/Core/vtkMappedDataArray.h
+++ b/Common/Core/vtkMappedDataArray.h
@@ -54,36 +54,36 @@ public:
    */
   static vtkMappedDataArray<Scalar>* FastDownCast(vtkAbstractArray *source);
 
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   // vtkAbstractArray virtual method that must be reimplemented.
-  void DeepCopy(vtkAbstractArray *aa) = 0;
-  vtkVariant GetVariantValue(vtkIdType idx) = 0;
-  void SetVariantValue(vtkIdType idx, vtkVariant value) = 0;
-  void GetTuples(vtkIdList *ptIds, vtkAbstractArray *output) = 0;
-  void GetTuples(vtkIdType p1, vtkIdType p2, vtkAbstractArray *output) = 0;
+  void DeepCopy(vtkAbstractArray *aa) VTK_OVERRIDE = 0;
+  vtkVariant GetVariantValue(vtkIdType idx) VTK_OVERRIDE = 0;
+  void SetVariantValue(vtkIdType idx, vtkVariant value) VTK_OVERRIDE = 0;
+  void GetTuples(vtkIdList *ptIds, vtkAbstractArray *output) VTK_OVERRIDE = 0;
+  void GetTuples(vtkIdType p1, vtkIdType p2, vtkAbstractArray *output) VTK_OVERRIDE = 0;
   void InterpolateTuple(vtkIdType i, vtkIdList *ptIndices,
-                        vtkAbstractArray *source, double *weights) = 0;
+                        vtkAbstractArray *source, double *weights) VTK_OVERRIDE = 0;
   void InterpolateTuple(vtkIdType i, vtkIdType id1,
                         vtkAbstractArray* source1, vtkIdType id2,
-                        vtkAbstractArray* source2, double t) = 0;
+                        vtkAbstractArray* source2, double t) VTK_OVERRIDE = 0;
 
   // vtkDataArray virtual method that must be reimplemented.
-  void DeepCopy(vtkDataArray *da) = 0;
+  void DeepCopy(vtkDataArray *da) VTK_OVERRIDE = 0;
 
   /**
    * Print an error and create an internal, long-lived temporary array. This
    * method should not be used on vtkMappedDataArray subclasses. See
    * vtkArrayDispatch for a better way.
    */
-  void * GetVoidPointer(vtkIdType id);
+  void * GetVoidPointer(vtkIdType id) VTK_OVERRIDE;
 
   /**
    * Copy the internal data to the void pointer. The pointer is cast to this
    * array's Scalar type and vtkTypedDataArrayIterator is used to populate
    * the input array.
    */
-  void ExportToVoidPointer(void *ptr);
+  void ExportToVoidPointer(void *ptr) VTK_OVERRIDE;
 
   /**
    * Read the data from the internal temporary array (created by GetVoidPointer)
@@ -92,22 +92,22 @@ public:
    * default implementation uses vtkTypedDataArrayIterator to extract the mapped
    * data.
    */
-  void DataChanged();
+  void DataChanged() VTK_OVERRIDE;
 
   //@{
   /**
    * These methods don't make sense for mapped data array. Prints an error and
    * returns.
    */
-  void SetVoidArray(void *, vtkIdType, int);
-  void SetVoidArray(void *, vtkIdType, int, int);
+  void SetVoidArray(void *, vtkIdType, int) VTK_OVERRIDE;
+  void SetVoidArray(void *, vtkIdType, int, int) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Not implemented. Print error and return NULL.
    */
-  void * WriteVoidPointer(vtkIdType /*id*/, vtkIdType /*number*/)
+  void * WriteVoidPointer(vtkIdType /*id*/, vtkIdType /*number*/) VTK_OVERRIDE
   {
     vtkErrorMacro(<<"WriteVoidPointer: Method not implemented.");
     return NULL;
@@ -117,16 +117,16 @@ public:
   /**
    * Invalidate the internal temporary array and call superclass method.
    */
-  void Modified();
+  void Modified() VTK_OVERRIDE;
 
   // vtkAbstractArray override:
-  bool HasStandardMemoryLayout() { return false; }
+  bool HasStandardMemoryLayout() VTK_OVERRIDE { return false; }
 
 protected:
   vtkMappedDataArray();
-  ~vtkMappedDataArray();
+  ~vtkMappedDataArray() VTK_OVERRIDE;
 
-  virtual int GetArrayType()
+  int GetArrayType() VTK_OVERRIDE
   {
     return vtkAbstractArray::MappedDataArray;
   }
@@ -155,7 +155,7 @@ vtkArrayDownCast_TemplateFastCastMacro(vtkMappedDataArray)
 // Otherwise, use vtkMappedDataArrayTypeMacro.
 #define vtkMappedDataArrayNewInstanceMacro(thisClass) \
   protected: \
-  vtkObjectBase *NewInstanceInternal() const \
+  vtkObjectBase *NewInstanceInternal() const VTK_OVERRIDE  \
   { \
     if (vtkDataArray *da = \
         vtkDataArray::CreateDataArray(thisClass::VTK_DATA_TYPE)) \
diff --git a/Common/Core/vtkPeriodicDataArray.h b/Common/Core/vtkPeriodicDataArray.h
index 8a2577852b..aaa9947c19 100644
--- a/Common/Core/vtkPeriodicDataArray.h
+++ b/Common/Core/vtkPeriodicDataArray.h
@@ -309,7 +309,7 @@ public:
 
 protected:
   vtkPeriodicDataArray();
-  ~vtkPeriodicDataArray();
+  ~vtkPeriodicDataArray() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Common/Core/vtkTestDataArray.h b/Common/Core/vtkTestDataArray.h
index 673756e135..a18b7cbbe1 100644
--- a/Common/Core/vtkTestDataArray.h
+++ b/Common/Core/vtkTestDataArray.h
@@ -68,7 +68,7 @@ public:
   void SetTypedComponent(vtkIdType tupleIdx, int compIdx, ValueType value)
   { this->Array->SetTypedComponent(tupleIdx,compIdx,value); }
 
-  void *GetVoidPointer(vtkIdType valueIdx)
+  void *GetVoidPointer(vtkIdType valueIdx) VTK_OVERRIDE
   { return this->Array->GetVoidPointer(valueIdx); }
 
 protected:
diff --git a/Common/Core/vtkTypedDataArray.h b/Common/Core/vtkTypedDataArray.h
index 705b7b18e2..60d406e532 100644
--- a/Common/Core/vtkTypedDataArray.h
+++ b/Common/Core/vtkTypedDataArray.h
@@ -158,12 +158,12 @@ public:
   // Reintroduced as pure virtual since the base vtkGenericDataArray method
   // requires new allocation/resize APIs, though existing MappedDataArrays
   // would just use the vtkDataArray-level virtuals.
-  virtual int Allocate(vtkIdType size, vtkIdType ext = 1000) = 0;
-  virtual int Resize(vtkIdType numTuples) = 0;
+  int Allocate(vtkIdType size, vtkIdType ext = 1000) VTK_OVERRIDE = 0;
+  int Resize(vtkIdType numTuples) VTK_OVERRIDE = 0;
 
 protected:
   vtkTypedDataArray();
-  ~vtkTypedDataArray();
+  ~vtkTypedDataArray() VTK_OVERRIDE;
 
   /**
    * Needed for vtkGenericDataArray API, but just aborts. Override Allocate
diff --git a/Common/DataModel/vtkMappedUnstructuredGrid.h b/Common/DataModel/vtkMappedUnstructuredGrid.h
index 8398fa95cd..f3941f7f22 100644
--- a/Common/DataModel/vtkMappedUnstructuredGrid.h
+++ b/Common/DataModel/vtkMappedUnstructuredGrid.h
@@ -157,25 +157,25 @@ public:
   typedef CellIterator CellIteratorType;
 
   // Virtuals from various base classes:
-  void PrintSelf(ostream &os, vtkIndent indent);
-  void CopyStructure(vtkDataSet *pd);
-  void ShallowCopy(vtkDataObject *src);
-  vtkIdType GetNumberOfCells();
-  vtkCell* GetCell(vtkIdType cellId);
-  void GetCell(vtkIdType cellId, vtkGenericCell *cell);
-  int GetCellType(vtkIdType cellId);
-  void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds);
-  vtkCellIterator* NewCellIterator();
-  void GetPointCells(vtkIdType ptId, vtkIdList *cellIds);
-  int GetMaxCellSize();
-  void GetIdsOfCellsOfType(int type, vtkIdTypeArray *array);
-  int IsHomogeneous();
-  void Allocate(vtkIdType numCells, int extSize = 1000);
-  vtkIdType InsertNextCell(int type, vtkIdList *ptIds);
-  vtkIdType InsertNextCell(int type, vtkIdType npts, vtkIdType *ptIds);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
+  void CopyStructure(vtkDataSet *pd) VTK_OVERRIDE;
+  void ShallowCopy(vtkDataObject *src) VTK_OVERRIDE;
+  vtkIdType GetNumberOfCells() VTK_OVERRIDE;
+  vtkCell* GetCell(vtkIdType cellId) VTK_OVERRIDE;
+  void GetCell(vtkIdType cellId, vtkGenericCell *cell) VTK_OVERRIDE;
+  int GetCellType(vtkIdType cellId) VTK_OVERRIDE;
+  void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds) VTK_OVERRIDE;
+  vtkCellIterator* NewCellIterator() VTK_OVERRIDE;
+  void GetPointCells(vtkIdType ptId, vtkIdList *cellIds) VTK_OVERRIDE;
+  int GetMaxCellSize() VTK_OVERRIDE;
+  void GetIdsOfCellsOfType(int type, vtkIdTypeArray *array) VTK_OVERRIDE;
+  int IsHomogeneous() VTK_OVERRIDE;
+  void Allocate(vtkIdType numCells, int extSize = 1000) VTK_OVERRIDE;
+  vtkIdType InsertNextCell(int type, vtkIdList *ptIds) VTK_OVERRIDE;
+  vtkIdType InsertNextCell(int type, vtkIdType npts, vtkIdType *ptIds) VTK_OVERRIDE;
   vtkIdType InsertNextCell(int type, vtkIdType npts, vtkIdType *ptIds,
-                           vtkIdType nfaces, vtkIdType *faces);
-  void ReplaceCell(vtkIdType cellId, int npts, vtkIdType *pts);
+                           vtkIdType nfaces, vtkIdType *faces) VTK_OVERRIDE;
+  void ReplaceCell(vtkIdType cellId, int npts, vtkIdType *pts) VTK_OVERRIDE;
   vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   void SetImplementation(ImplementationType *impl);
@@ -183,7 +183,7 @@ public:
 
 protected:
   vtkMappedUnstructuredGrid();
-  ~vtkMappedUnstructuredGrid();
+  ~vtkMappedUnstructuredGrid() VTK_OVERRIDE;
 
   // For convenience...
   typedef vtkMappedUnstructuredGrid<Implementation, CellIterator> ThisType;
diff --git a/Common/DataModel/vtkMappedUnstructuredGridCellIterator.h b/Common/DataModel/vtkMappedUnstructuredGridCellIterator.h
index 50d5b14653..3708615c98 100644
--- a/Common/DataModel/vtkMappedUnstructuredGridCellIterator.h
+++ b/Common/DataModel/vtkMappedUnstructuredGridCellIterator.h
@@ -47,18 +47,18 @@ public:
   void SetMappedUnstructuredGrid(
       vtkMappedUnstructuredGrid<ImplementationType, ThisType> *grid);
 
-  bool IsDoneWithTraversal();
-  vtkIdType GetCellId();
+  bool IsDoneWithTraversal() VTK_OVERRIDE;
+  vtkIdType GetCellId() VTK_OVERRIDE;
 
 protected:
   vtkMappedUnstructuredGridCellIterator();
-  ~vtkMappedUnstructuredGridCellIterator();
+  ~vtkMappedUnstructuredGridCellIterator() VTK_OVERRIDE;
 
-  void ResetToFirstCell();
-  void IncrementToNextCell();
-  void FetchCellType();
-  void FetchPointIds();
-  void FetchPoints();
+  void ResetToFirstCell() VTK_OVERRIDE;
+  void IncrementToNextCell() VTK_OVERRIDE;
+  void FetchCellType() VTK_OVERRIDE;
+  void FetchPointIds() VTK_OVERRIDE;
+  void FetchPoints() VTK_OVERRIDE;
 
 private:
   vtkMappedUnstructuredGridCellIterator(const vtkMappedUnstructuredGridCellIterator &) VTK_DELETE_FUNCTION;
diff --git a/Domains/Chemistry/vtkBlueObeliskData.h b/Domains/Chemistry/vtkBlueObeliskData.h
index c98c265c78..0c9047e333 100644
--- a/Domains/Chemistry/vtkBlueObeliskData.h
+++ b/Domains/Chemistry/vtkBlueObeliskData.h
@@ -53,7 +53,7 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkBlueObeliskData : public vtkObject
 {
  public:
   vtkTypeMacro(vtkBlueObeliskData,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkBlueObeliskData *New();
 
   /**
@@ -122,7 +122,7 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkBlueObeliskData : public vtkObject
   friend class vtkBlueObeliskDataParser;
 
   vtkBlueObeliskData();
-  ~vtkBlueObeliskData();
+  ~vtkBlueObeliskData() VTK_OVERRIDE;
 
   vtkSimpleMutexLock *WriteMutex;
   bool Initialized;
diff --git a/Domains/Chemistry/vtkBlueObeliskDataParser.h b/Domains/Chemistry/vtkBlueObeliskDataParser.h
index af852d0aba..de378d8ad3 100644
--- a/Domains/Chemistry/vtkBlueObeliskDataParser.h
+++ b/Domains/Chemistry/vtkBlueObeliskDataParser.h
@@ -63,7 +63,7 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkBlueObeliskDataParser : public vtkXMLParser
   /**
    * Start parsing
    */
-  virtual int Parse();
+  int Parse() VTK_OVERRIDE;
 
   //@{
   /**
@@ -71,18 +71,18 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkBlueObeliskDataParser : public vtkXMLParser
    * virtual overloads. This function simply call Parse(); the arguments are
    * ignored.
    */
-  virtual int Parse(const char *);
-  virtual int Parse(const char *, unsigned int);
+  int Parse(const char *) VTK_OVERRIDE;
+  int Parse(const char *, unsigned int) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkBlueObeliskDataParser();
-  ~vtkBlueObeliskDataParser();
+  ~vtkBlueObeliskDataParser() VTK_OVERRIDE;
 
-  void StartElement(const char *name, const char **attr);
-  void EndElement(const char *name);
+  void StartElement(const char *name, const char **attr) VTK_OVERRIDE;
+  void EndElement(const char *name) VTK_OVERRIDE;
 
-  void CharacterDataHandler(const char *data, int length);
+  void CharacterDataHandler(const char *data, int length) VTK_OVERRIDE;
 
   void SetCurrentValue(const char *data, int length);
   void SetCurrentValue(const char *data);
diff --git a/Domains/Chemistry/vtkCMLMoleculeReader.h b/Domains/Chemistry/vtkCMLMoleculeReader.h
index b490b00c6b..f45ba61ebf 100644
--- a/Domains/Chemistry/vtkCMLMoleculeReader.h
+++ b/Domains/Chemistry/vtkCMLMoleculeReader.h
@@ -32,14 +32,14 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkCMLMoleculeReader : public vtkMoleculeAlgori
 public:
   static vtkCMLMoleculeReader *New();
   vtkTypeMacro(vtkCMLMoleculeReader,vtkMoleculeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Get/Set the output (vtkMolecule) that the reader will fill
    */
   vtkMolecule *GetOutput();
-  void SetOutput(vtkMolecule *);
+  void SetOutput(vtkMolecule *) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -52,11 +52,11 @@ public:
 
 protected:
   vtkCMLMoleculeReader();
-  ~vtkCMLMoleculeReader();
+  ~vtkCMLMoleculeReader() VTK_OVERRIDE;
 
   int RequestData(vtkInformation *, vtkInformationVector **,
-                  vtkInformationVector *);
-  int FillOutputPortInformation(int, vtkInformation*);
+                  vtkInformationVector *) VTK_OVERRIDE;
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   char *FileName;
 
diff --git a/Domains/Chemistry/vtkGaussianCubeReader2.h b/Domains/Chemistry/vtkGaussianCubeReader2.h
index caae0b7021..9735b2cd2f 100644
--- a/Domains/Chemistry/vtkGaussianCubeReader2.h
+++ b/Domains/Chemistry/vtkGaussianCubeReader2.h
@@ -36,14 +36,14 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkGaussianCubeReader2 : public vtkMoleculeAlgo
 public:
   static vtkGaussianCubeReader2 *New();
   vtkTypeMacro(vtkGaussianCubeReader2,vtkMoleculeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Get/Set the output (vtkMolecule) that the reader will fill
    */
   vtkMolecule *GetOutput();
-  void SetOutput(vtkMolecule *);
+  void SetOutput(vtkMolecule *) VTK_OVERRIDE;
   //@}
 
   /**
@@ -61,13 +61,13 @@ public:
 
 protected:
   vtkGaussianCubeReader2();
-  ~vtkGaussianCubeReader2();
+  ~vtkGaussianCubeReader2() VTK_OVERRIDE;
 
   int RequestData(vtkInformation *, vtkInformationVector **,
-                  vtkInformationVector *);
+                  vtkInformationVector *) VTK_OVERRIDE;
   int RequestInformation(vtkInformation *, vtkInformationVector **,
-                  vtkInformationVector *);
-  int FillOutputPortInformation(int, vtkInformation*);
+                  vtkInformationVector *) VTK_OVERRIDE;
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   char *FileName;
 private:
diff --git a/Domains/Chemistry/vtkMoleculeAlgorithm.h b/Domains/Chemistry/vtkMoleculeAlgorithm.h
index d5aacdb36e..ae8f94135f 100644
--- a/Domains/Chemistry/vtkMoleculeAlgorithm.h
+++ b/Domains/Chemistry/vtkMoleculeAlgorithm.h
@@ -44,7 +44,7 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkMoleculeAlgorithm : public vtkAlgorithm
 public:
   static vtkMoleculeAlgorithm *New();
   vtkTypeMacro(vtkMoleculeAlgorithm,vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -58,9 +58,9 @@ public:
   /**
    * see vtkAlgorithm for details
    */
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // this method is not recommended for use, but lots of old style filters
   // use it
@@ -95,7 +95,7 @@ public:
 
 protected:
   vtkMoleculeAlgorithm();
-  ~vtkMoleculeAlgorithm();
+  ~vtkMoleculeAlgorithm() VTK_OVERRIDE;
 
   // convenience method
   virtual int RequestInformation(vtkInformation* request,
@@ -119,8 +119,8 @@ protected:
                                   vtkInformationVector*);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkMoleculeAlgorithm(const vtkMoleculeAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Domains/Chemistry/vtkMoleculeMapper.h b/Domains/Chemistry/vtkMoleculeMapper.h
index 296a351669..5f54646e90 100644
--- a/Domains/Chemistry/vtkMoleculeMapper.h
+++ b/Domains/Chemistry/vtkMoleculeMapper.h
@@ -45,7 +45,7 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkMoleculeMapper : public vtkMapper
 public:
   static vtkMoleculeMapper *New();
   vtkTypeMacro(vtkMoleculeMapper,vtkMapper);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -271,17 +271,17 @@ public:
   /**
    * Reimplemented from base class
    */
-  virtual void Render(vtkRenderer *, vtkActor *);
-  virtual void ReleaseGraphicsResources(vtkWindow *);
-  double * GetBounds();
-  void GetBounds(double bounds[6]) { vtkAbstractMapper3D::GetBounds(bounds); }
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
-  virtual bool GetSupportsSelection() {return true;}
+  void Render(vtkRenderer *, vtkActor *) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
+  double * GetBounds() VTK_OVERRIDE;
+  void GetBounds(double bounds[6]) VTK_OVERRIDE { vtkAbstractMapper3D::GetBounds(bounds); }
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  bool GetSupportsSelection() VTK_OVERRIDE {return true;}
   //@}
 
 protected:
   vtkMoleculeMapper();
-  ~vtkMoleculeMapper();
+  ~vtkMoleculeMapper() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Domains/Chemistry/vtkMoleculeToAtomBallFilter.h b/Domains/Chemistry/vtkMoleculeToAtomBallFilter.h
index 649ab8f7de..20f310acdb 100644
--- a/Domains/Chemistry/vtkMoleculeToAtomBallFilter.h
+++ b/Domains/Chemistry/vtkMoleculeToAtomBallFilter.h
@@ -44,7 +44,7 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkMoleculeToAtomBallFilter
 {
  public:
   vtkTypeMacro(vtkMoleculeToAtomBallFilter,vtkMoleculeToPolyDataFilter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkMoleculeToAtomBallFilter *New();
 
@@ -65,10 +65,10 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkMoleculeToAtomBallFilter
 
 protected:
   vtkMoleculeToAtomBallFilter();
-  ~vtkMoleculeToAtomBallFilter();
+  ~vtkMoleculeToAtomBallFilter() VTK_OVERRIDE;
 
   int RequestData(vtkInformation *, vtkInformationVector **,
-                  vtkInformationVector *);
+                  vtkInformationVector *) VTK_OVERRIDE;
 
   int Resolution;
   double RadiusScale;
diff --git a/Domains/Chemistry/vtkMoleculeToBondStickFilter.h b/Domains/Chemistry/vtkMoleculeToBondStickFilter.h
index 5e163fe6a9..7c6f793414 100644
--- a/Domains/Chemistry/vtkMoleculeToBondStickFilter.h
+++ b/Domains/Chemistry/vtkMoleculeToBondStickFilter.h
@@ -31,16 +31,16 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkMoleculeToBondStickFilter
 {
  public:
   vtkTypeMacro(vtkMoleculeToBondStickFilter,vtkMoleculeToPolyDataFilter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkMoleculeToBondStickFilter *New();
 
 protected:
   vtkMoleculeToBondStickFilter();
-  ~vtkMoleculeToBondStickFilter();
+  ~vtkMoleculeToBondStickFilter() VTK_OVERRIDE;
 
   int RequestData(vtkInformation *, vtkInformationVector **,
-                  vtkInformationVector *);
+                  vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkMoleculeToBondStickFilter(const vtkMoleculeToBondStickFilter&) VTK_DELETE_FUNCTION;
diff --git a/Domains/Chemistry/vtkMoleculeToPolyDataFilter.h b/Domains/Chemistry/vtkMoleculeToPolyDataFilter.h
index f114436d95..03ce1f37b9 100644
--- a/Domains/Chemistry/vtkMoleculeToPolyDataFilter.h
+++ b/Domains/Chemistry/vtkMoleculeToPolyDataFilter.h
@@ -34,15 +34,15 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkMoleculeToPolyDataFilter
 {
 public:
   vtkTypeMacro(vtkMoleculeToPolyDataFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkMolecule * GetInput();
 
 protected:
   vtkMoleculeToPolyDataFilter();
-  ~vtkMoleculeToPolyDataFilter();
+  ~vtkMoleculeToPolyDataFilter() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
 private:
   vtkMoleculeToPolyDataFilter(const vtkMoleculeToPolyDataFilter&) VTK_DELETE_FUNCTION;
diff --git a/Domains/Chemistry/vtkPeriodicTable.h b/Domains/Chemistry/vtkPeriodicTable.h
index 0a24069f57..057bd0adef 100644
--- a/Domains/Chemistry/vtkPeriodicTable.h
+++ b/Domains/Chemistry/vtkPeriodicTable.h
@@ -39,7 +39,7 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkPeriodicTable : public vtkObject
 {
 public:
   vtkTypeMacro(vtkPeriodicTable, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkPeriodicTable * New();
 
   //@{
@@ -106,7 +106,7 @@ public:
 
 protected:
   vtkPeriodicTable();
-  ~vtkPeriodicTable();
+  ~vtkPeriodicTable() VTK_OVERRIDE;
 
   static vtkNew<vtkBlueObeliskData> BlueObeliskData;
 
diff --git a/Domains/Chemistry/vtkProgrammableElectronicData.h b/Domains/Chemistry/vtkProgrammableElectronicData.h
index c4ddf8891d..db4505abad 100644
--- a/Domains/Chemistry/vtkProgrammableElectronicData.h
+++ b/Domains/Chemistry/vtkProgrammableElectronicData.h
@@ -34,14 +34,14 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkProgrammableElectronicData
 public:
   static vtkProgrammableElectronicData *New();
   vtkTypeMacro(vtkProgrammableElectronicData,vtkAbstractElectronicData);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Get/Set the number of molecular orbitals. Setting this will resize this
    * internal array of MOs.
    */
-  virtual vtkIdType GetNumberOfMOs();
+  vtkIdType GetNumberOfMOs() VTK_OVERRIDE;
   virtual void SetNumberOfMOs(vtkIdType);
   //@}
 
@@ -50,7 +50,10 @@ public:
    * Get/Set the number of electrons in the molecule. Needed for HOMO/LUMO
    * convenience functions
    */
-  vtkGetMacro(NumberOfElectrons, vtkIdType);
+  vtkIdType GetNumberOfElectrons() VTK_OVERRIDE
+  {
+    return this->NumberOfElectrons;
+  }
   vtkSetMacro(NumberOfElectrons, vtkIdType);
   //@}
 
@@ -58,7 +61,7 @@ public:
   /**
    * Get/Set the vtkImageData for the requested molecular orbital.
    */
-  virtual vtkImageData * GetMO(vtkIdType orbitalNumber);
+  vtkImageData * GetMO(vtkIdType orbitalNumber) VTK_OVERRIDE;
   void SetMO(vtkIdType orbitalNumber, vtkImageData *data);
   //@}
 
@@ -66,27 +69,29 @@ public:
   /**
    * Get/Set the vtkImageData for the molecule's electron density.
    */
-  vtkGetObjectMacro(ElectronDensity, vtkImageData);
+  vtkImageData* GetElectronDensity() VTK_OVERRIDE
+  {
+    return this->ElectronDensity;
+  }
   virtual void SetElectronDensity(vtkImageData *);
   //@}
 
   //@{
   /**
-   * Set/Get the padding around the molecule to which the cube extends. This
+   * Set the padding around the molecule to which the cube extends. This
    * is used to determine the dataset bounds.
    */
   vtkSetMacro(Padding, double);
-  vtkGetMacro(Padding, double);
   //@}
 
   /**
    * Deep copies the data object into this.
    */
-  virtual void DeepCopy(vtkDataObject *obj);
+  void DeepCopy(vtkDataObject *obj) VTK_OVERRIDE;
 
 protected:
   vtkProgrammableElectronicData();
-  ~vtkProgrammableElectronicData();
+  ~vtkProgrammableElectronicData() VTK_OVERRIDE;
 
   /**
    * Electronic data set property
diff --git a/Domains/Chemistry/vtkProteinRibbonFilter.h b/Domains/Chemistry/vtkProteinRibbonFilter.h
index 1db17a5958..50cbf9821e 100644
--- a/Domains/Chemistry/vtkProteinRibbonFilter.h
+++ b/Domains/Chemistry/vtkProteinRibbonFilter.h
@@ -38,7 +38,7 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkProteinRibbonFilter
 {
 public:
   vtkTypeMacro(vtkProteinRibbonFilter, vtkPolyDataAlgorithm)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkProteinRibbonFilter* New();
 
@@ -84,13 +84,13 @@ public:
 
 protected:
   vtkProteinRibbonFilter();
-  ~vtkProteinRibbonFilter();
+  ~vtkProteinRibbonFilter() VTK_OVERRIDE;
 
-  int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   int RequestData(vtkInformation *,
                   vtkInformationVector **,
-                  vtkInformationVector *);
+                  vtkInformationVector *) VTK_OVERRIDE;
 
   void CreateThinStrip(vtkPolyData* poly, vtkUnsignedCharArray *pointsColors,
                        vtkPoints* p, std::vector<std::pair<vtkVector3f, bool> >& p1,
diff --git a/Domains/Chemistry/vtkSimpleBondPerceiver.h b/Domains/Chemistry/vtkSimpleBondPerceiver.h
index 45c6ad5f77..6f399b7e6d 100644
--- a/Domains/Chemistry/vtkSimpleBondPerceiver.h
+++ b/Domains/Chemistry/vtkSimpleBondPerceiver.h
@@ -46,7 +46,7 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkSimpleBondPerceiver :
 public:
   static vtkSimpleBondPerceiver *New();
   vtkTypeMacro(vtkSimpleBondPerceiver,vtkMoleculeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -58,15 +58,15 @@ public:
 
 protected:
   vtkSimpleBondPerceiver();
-  ~vtkSimpleBondPerceiver();
+  ~vtkSimpleBondPerceiver() VTK_OVERRIDE;
 
   /**
    * This is called by the superclass.
    * This is the method you should override.
    */
-  virtual int RequestData(vtkInformation* request,
+  int RequestData(vtkInformation* request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   float Tolerance;
 
diff --git a/Domains/Chemistry/vtkVASPAnimationReader.h b/Domains/Chemistry/vtkVASPAnimationReader.h
index b1b7f26a88..0c4e8882cf 100644
--- a/Domains/Chemistry/vtkVASPAnimationReader.h
+++ b/Domains/Chemistry/vtkVASPAnimationReader.h
@@ -38,7 +38,7 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkVASPAnimationReader:
 public:
   static vtkVASPAnimationReader* New();
   vtkTypeMacro(vtkVASPAnimationReader, vtkMoleculeAlgorithm)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -50,14 +50,14 @@ public:
 
 protected:
   vtkVASPAnimationReader();
-  ~vtkVASPAnimationReader();
+  ~vtkVASPAnimationReader() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inInfoVecs,
-                          vtkInformationVector *outInfoVec);
-  virtual int RequestInformation(vtkInformation *request,
+                          vtkInformationVector *outInfoVec) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *request,
                                  vtkInformationVector **inInfoVecs,
-                                 vtkInformationVector *outInfoVec);
+                                 vtkInformationVector *outInfoVec) VTK_OVERRIDE;
 
   /**
    * Advance @a in to the start of the data for the next timestep. Parses the
diff --git a/Domains/Chemistry/vtkVASPTessellationReader.h b/Domains/Chemistry/vtkVASPTessellationReader.h
index 18aab10f5b..f925f07d6e 100644
--- a/Domains/Chemistry/vtkVASPTessellationReader.h
+++ b/Domains/Chemistry/vtkVASPTessellationReader.h
@@ -39,7 +39,7 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkVASPTessellationReader
 public:
   static vtkVASPTessellationReader* New();
   vtkTypeMacro(vtkVASPTessellationReader, vtkMoleculeAlgorithm)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -51,15 +51,15 @@ public:
 
 protected:
   vtkVASPTessellationReader();
-  ~vtkVASPTessellationReader();
+  ~vtkVASPTessellationReader() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inInfoVecs,
-                          vtkInformationVector *outInfoVec);
-  virtual int RequestInformation(vtkInformation *request,
+                          vtkInformationVector *outInfoVec) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *request,
                                  vtkInformationVector **inInfoVecs,
-                                 vtkInformationVector *outInfoVec);
-  virtual int FillOutputPortInformation(int port, vtkInformation *info);
+                                 vtkInformationVector *outInfoVec) VTK_OVERRIDE;
+  int FillOutputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   /**
    * Advance @a in to the start of the data for the next timestep. Parses the
diff --git a/Domains/Chemistry/vtkXYZMolReader2.h b/Domains/Chemistry/vtkXYZMolReader2.h
index 549bbbf442..ee7396dcf4 100644
--- a/Domains/Chemistry/vtkXYZMolReader2.h
+++ b/Domains/Chemistry/vtkXYZMolReader2.h
@@ -40,14 +40,14 @@ class VTKDOMAINSCHEMISTRY_EXPORT vtkXYZMolReader2 : public vtkMoleculeAlgorithm
 public:
   static vtkXYZMolReader2 *New();
   vtkTypeMacro(vtkXYZMolReader2,vtkMoleculeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Get/Set the output (vtkMolecule) that the reader will fill
    */
   vtkMolecule *GetOutput();
-  void SetOutput(vtkMolecule *);
+  void SetOutput(vtkMolecule *) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -60,12 +60,12 @@ public:
 
 protected:
   vtkXYZMolReader2();
-  ~vtkXYZMolReader2();
+  ~vtkXYZMolReader2() VTK_OVERRIDE;
 
   int RequestData(vtkInformation *, vtkInformationVector **,
-                  vtkInformationVector *);
+                  vtkInformationVector *) VTK_OVERRIDE;
   int RequestInformation(vtkInformation *, vtkInformationVector **,
-                  vtkInformationVector *);
+                  vtkInformationVector *) VTK_OVERRIDE;
 
   char *FileName;
   std::vector<istream::pos_type> file_positions; // to store begining of each tstep
diff --git a/Domains/ChemistryOpenGL2/vtkOpenGLMoleculeMapper.h b/Domains/ChemistryOpenGL2/vtkOpenGLMoleculeMapper.h
index 5ddc68f162..c5757a1e47 100644
--- a/Domains/ChemistryOpenGL2/vtkOpenGLMoleculeMapper.h
+++ b/Domains/ChemistryOpenGL2/vtkOpenGLMoleculeMapper.h
@@ -39,8 +39,8 @@ public:
   /**
    * Reimplemented from base class
    */
-  virtual void Render(vtkRenderer *, vtkActor *);
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void Render(vtkRenderer *, vtkActor *) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
   //@}
 
   /**
@@ -51,10 +51,10 @@ public:
 
 protected:
   vtkOpenGLMoleculeMapper();
-  ~vtkOpenGLMoleculeMapper();
+  ~vtkOpenGLMoleculeMapper() VTK_OVERRIDE;
 
-  virtual void UpdateAtomGlyphPolyData();
-  virtual void UpdateBondGlyphPolyData();
+  void UpdateAtomGlyphPolyData() VTK_OVERRIDE;
+  void UpdateBondGlyphPolyData() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Examples/Build/vtkLocal/vtkLocalExample.h b/Examples/Build/vtkLocal/vtkLocalExample.h
index aa8844f49f..93704f3c92 100644
--- a/Examples/Build/vtkLocal/vtkLocalExample.h
+++ b/Examples/Build/vtkLocal/vtkLocalExample.h
@@ -21,7 +21,7 @@ class VTKLOCALEXAMPLE_EXPORT vtkLocalExample : public vtkObject
 public:
   static vtkLocalExample* New();
   vtkTypeMacro(vtkLocalExample, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkLocalExample();
diff --git a/Examples/Build/vtkMy/Imaging/vtkImageFoo.h b/Examples/Build/vtkMy/Imaging/vtkImageFoo.h
index bf47e1bea0..eacbf74894 100644
--- a/Examples/Build/vtkMy/Imaging/vtkImageFoo.h
+++ b/Examples/Build/vtkMy/Imaging/vtkImageFoo.h
@@ -32,7 +32,7 @@ class VTK_MY_IMAGING_EXPORT vtkImageFoo : public vtkThreadedImageAlgorithm
 public:
   static vtkImageFoo *New();
   vtkTypeMacro(vtkImageFoo,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -80,14 +80,14 @@ protected:
   int OutputScalarType;
   vtkBar* Bar;
 
-  virtual int RequestInformation(vtkInformation*,
-                                 vtkInformationVector**,
-                                 vtkInformationVector* outputVector);
+  int RequestInformation(vtkInformation*,
+                         vtkInformationVector**,
+                         vtkInformationVector* outputVector) VTK_OVERRIDE;
   void ThreadedRequestData(vtkInformation* request,
                            vtkInformationVector** inputVector,
                            vtkInformationVector* outputVector,
                            vtkImageData*** inData, vtkImageData** outData,
-                           int outExt[6], int id);
+                           int outExt[6], int id) VTK_OVERRIDE;
 private:
   vtkImageFoo(const vtkImageFoo&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageFoo&) VTK_DELETE_FUNCTION;
diff --git a/Filters/AMR/vtkAMRCutPlane.h b/Filters/AMR/vtkAMRCutPlane.h
index 4183b78b20..36277bc78e 100644
--- a/Filters/AMR/vtkAMRCutPlane.h
+++ b/Filters/AMR/vtkAMRCutPlane.h
@@ -49,7 +49,7 @@ class VTKFILTERSAMR_EXPORT vtkAMRCutPlane : public vtkMultiBlockDataSetAlgorithm
 public:
   static vtkAMRCutPlane *New();
   vtkTypeMacro(vtkAMRCutPlane, vtkMultiBlockDataSetAlgorithm);
-  void PrintSelf(ostream &oss, vtkIndent indent );
+  void PrintSelf(ostream &oss, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -93,30 +93,30 @@ public:
 
   // Standard pipeline routines
 
-  virtual int RequestData(
-       vtkInformation*,vtkInformationVector**,vtkInformationVector*);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
-  virtual int FillOutputPortInformation(int port, vtkInformation *info);
+  int RequestData(
+       vtkInformation*,vtkInformationVector**,vtkInformationVector*) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 
   /**
    * Gets the metadata from upstream module and determines which blocks
    * should be loaded by this instance.
    */
-  virtual int RequestInformation(
+  int RequestInformation(
       vtkInformation *rqst,
       vtkInformationVector **inputVector,
-      vtkInformationVector *outputVector );
+      vtkInformationVector *outputVector ) VTK_OVERRIDE;
 
   /**
    * Performs upstream requests to the reader
    */
-  virtual int RequestUpdateExtent(
-      vtkInformation*, vtkInformationVector**, vtkInformationVector* );
+  int RequestUpdateExtent(
+      vtkInformation*, vtkInformationVector**, vtkInformationVector* ) VTK_OVERRIDE;
 
 protected:
   vtkAMRCutPlane();
-  virtual ~vtkAMRCutPlane();
+  ~vtkAMRCutPlane() VTK_OVERRIDE;
 
   /**
    * Returns the cut-plane defined by a vtkCutPlane instance based on the
diff --git a/Filters/AMR/vtkAMRGaussianPulseSource.h b/Filters/AMR/vtkAMRGaussianPulseSource.h
index 9b992909bb..578bfe5032 100644
--- a/Filters/AMR/vtkAMRGaussianPulseSource.h
+++ b/Filters/AMR/vtkAMRGaussianPulseSource.h
@@ -43,7 +43,7 @@ class VTKFILTERSAMR_EXPORT vtkAMRGaussianPulseSource :
 public:
   static vtkAMRGaussianPulseSource* New();
   vtkTypeMacro(vtkAMRGaussianPulseSource, vtkOverlappingAMRAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -114,15 +114,15 @@ public:
 
 protected:
   vtkAMRGaussianPulseSource();
-  virtual ~vtkAMRGaussianPulseSource();
+  ~vtkAMRGaussianPulseSource() VTK_OVERRIDE;
 
   /**
    * This is called by the superclass.
    * This is the method you should override.
    */
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Filters/AMR/vtkAMRResampleFilter.h b/Filters/AMR/vtkAMRResampleFilter.h
index eab718b44b..15a4be58d5 100644
--- a/Filters/AMR/vtkAMRResampleFilter.h
+++ b/Filters/AMR/vtkAMRResampleFilter.h
@@ -54,7 +54,7 @@ class VTKFILTERSAMR_EXPORT vtkAMRResampleFilter : public vtkMultiBlockDataSetAlg
 public:
   static vtkAMRResampleFilter *New();
   vtkTypeMacro(vtkAMRResampleFilter,vtkMultiBlockDataSetAlgorithm);
-  void PrintSelf(ostream &oss, vtkIndent indent);
+  void PrintSelf(ostream &oss, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -138,26 +138,26 @@ public:
    * Gets the metadata from upstream module and determines which blocks
    * should be loaded by this instance.
    */
-  virtual int RequestInformation(
+  int RequestInformation(
       vtkInformation *rqst,
       vtkInformationVector **inputVector,
-      vtkInformationVector *outputVector );
+      vtkInformationVector *outputVector ) VTK_OVERRIDE;
 
-  virtual int RequestData(
-       vtkInformation*,vtkInformationVector**,vtkInformationVector*);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
-  virtual int FillOutputPortInformation(int port, vtkInformation *info);
+  int RequestData(
+       vtkInformation*,vtkInformationVector**,vtkInformationVector*) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   /**
    * Performs upstream requests to the reader
    */
-  virtual int RequestUpdateExtent(
-      vtkInformation*, vtkInformationVector**, vtkInformationVector* );
+  int RequestUpdateExtent(
+      vtkInformation*, vtkInformationVector**, vtkInformationVector* ) VTK_OVERRIDE;
 
 
 protected:
   vtkAMRResampleFilter();
-  virtual ~vtkAMRResampleFilter();
+  ~vtkAMRResampleFilter() VTK_OVERRIDE;
 
   vtkOverlappingAMR *AMRMetaData;
   vtkMultiBlockDataSet *ROI; // Pointer to the region of interest.
diff --git a/Filters/AMR/vtkAMRSliceFilter.h b/Filters/AMR/vtkAMRSliceFilter.h
index d1ccb03f95..fb94b85932 100644
--- a/Filters/AMR/vtkAMRSliceFilter.h
+++ b/Filters/AMR/vtkAMRSliceFilter.h
@@ -43,7 +43,7 @@ class VTKFILTERSAMR_EXPORT vtkAMRSliceFilter :
 public:
   static vtkAMRSliceFilter* New();
   vtkTypeMacro( vtkAMRSliceFilter, vtkOverlappingAMRAlgorithm );
-  void PrintSelf(ostream &os, vtkIndent indent );
+  void PrintSelf(ostream &os, vtkIndent indent ) VTK_OVERRIDE;
 
   // Inline Gettters & Setters
   vtkSetMacro(OffSetFromOrigin,double);
@@ -94,29 +94,29 @@ public:
   //@}
 
   // Standard Pipeline methods
-  virtual int RequestData(
-     vtkInformation*,vtkInformationVector**,vtkInformationVector*);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
-  virtual int FillOutputPortInformation(int port, vtkInformation *info);
+  int RequestData(
+     vtkInformation*,vtkInformationVector**,vtkInformationVector*) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   /**
    * Makes upstream request to a source, typically, a concrete instance of
    * vtkAMRBaseReader, for which blocks to load.
    */
-  virtual int RequestInformation(
+  int RequestInformation(
       vtkInformation *rqst,
       vtkInformationVector **inputVector,
-      vtkInformationVector *outputVector );
+      vtkInformationVector *outputVector ) VTK_OVERRIDE;
 
   /**
    * Performs upstream requests to the reader
    */
-  virtual int RequestUpdateExtent(
-      vtkInformation*, vtkInformationVector**,vtkInformationVector* );
+  int RequestUpdateExtent(
+      vtkInformation*, vtkInformationVector**,vtkInformationVector* ) VTK_OVERRIDE;
 
 protected:
   vtkAMRSliceFilter();
-  ~vtkAMRSliceFilter();
+  ~vtkAMRSliceFilter() VTK_OVERRIDE;
 
   /**
    * Returns the cell index w.r.t. the given input grid which contains
diff --git a/Filters/AMR/vtkAMRToMultiBlockFilter.h b/Filters/AMR/vtkAMRToMultiBlockFilter.h
index 60035567e3..451efd004e 100644
--- a/Filters/AMR/vtkAMRToMultiBlockFilter.h
+++ b/Filters/AMR/vtkAMRToMultiBlockFilter.h
@@ -42,7 +42,7 @@ class VTKFILTERSAMR_EXPORT vtkAMRToMultiBlockFilter :
 public:
   static vtkAMRToMultiBlockFilter* New();
   vtkTypeMacro(vtkAMRToMultiBlockFilter, vtkMultiBlockDataSetAlgorithm );
-  void PrintSelf(ostream &oss, vtkIndent indent );
+  void PrintSelf(ostream &oss, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -55,14 +55,14 @@ public:
 
   // Standard pipeline routines
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
-  virtual int FillOutputPortInformation(int port, vtkInformation *info);
-  virtual int RequestData(
-      vtkInformation*, vtkInformationVector**, vtkInformationVector* );
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int RequestData(
+      vtkInformation*, vtkInformationVector**, vtkInformationVector* ) VTK_OVERRIDE;
 
 protected:
   vtkAMRToMultiBlockFilter();
-  virtual ~vtkAMRToMultiBlockFilter();
+  ~vtkAMRToMultiBlockFilter() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Filters/AMR/vtkImageToAMR.h b/Filters/AMR/vtkImageToAMR.h
index de970ab644..2953b89bf3 100644
--- a/Filters/AMR/vtkImageToAMR.h
+++ b/Filters/AMR/vtkImageToAMR.h
@@ -34,7 +34,7 @@ class VTKFILTERSAMR_EXPORT vtkImageToAMR : public vtkOverlappingAMRAlgorithm
 public:
   static vtkImageToAMR* New();
   vtkTypeMacro(vtkImageToAMR, vtkOverlappingAMRAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -63,22 +63,22 @@ public:
 
 protected:
   vtkImageToAMR();
-  ~vtkImageToAMR();
+  ~vtkImageToAMR() VTK_OVERRIDE;
 
   /**
    * Fill the input port information objects for this algorithm.  This
    * is invoked by the first call to GetInputPortInformation for each
    * port so subclasses can specify what they can handle.
    */
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   /**
    * This is called by the superclass.
    * This is the method you should override.
    */
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   int NumberOfLevels;
   int MaximumNumberOfBlocks;
diff --git a/Filters/AMR/vtkParallelAMRUtilities.h b/Filters/AMR/vtkParallelAMRUtilities.h
index 6a80fafb73..4d12a59f07 100644
--- a/Filters/AMR/vtkParallelAMRUtilities.h
+++ b/Filters/AMR/vtkParallelAMRUtilities.h
@@ -39,7 +39,7 @@ class VTKFILTERSAMR_EXPORT vtkParallelAMRUtilities : public vtkAMRUtilities
 public:
   // Standard Routines
   vtkTypeMacro(vtkParallelAMRUtilities,vtkAMRUtilities);
-  void PrintSelf(ostream& os, vtkIndent indent );
+  void PrintSelf(ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   /**
    * This method detects and strips partially overlapping cells from a
diff --git a/Filters/Extraction/vtkConvertSelection.h b/Filters/Extraction/vtkConvertSelection.h
index 689332d132..e4ea3db5f9 100644
--- a/Filters/Extraction/vtkConvertSelection.h
+++ b/Filters/Extraction/vtkConvertSelection.h
@@ -50,7 +50,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkConvertSelection : public vtkSelectionAlgor
 public:
   static vtkConvertSelection *New();
   vtkTypeMacro(vtkConvertSelection, vtkSelectionAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * A convenience method for setting the second input (i.e. the data object).
@@ -197,12 +197,12 @@ public:
 
 protected:
   vtkConvertSelection();
-  ~vtkConvertSelection();
+  ~vtkConvertSelection() VTK_OVERRIDE;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation *,
     vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
 
   int Convert(
     vtkSelection* input,
@@ -227,8 +227,8 @@ protected:
   int ConvertToBlockSelection(
     vtkSelection* input, vtkCompositeDataSet* data, vtkSelection* output);
 
-  virtual int FillInputPortInformation(
-    int port, vtkInformation* info);
+  int FillInputPortInformation(
+    int port, vtkInformation* info) VTK_OVERRIDE;
 
   int OutputType;
   int InputFieldType;
diff --git a/Filters/Extraction/vtkExtractArraysOverTime.h b/Filters/Extraction/vtkExtractArraysOverTime.h
index e79d090000..b9d34ee202 100644
--- a/Filters/Extraction/vtkExtractArraysOverTime.h
+++ b/Filters/Extraction/vtkExtractArraysOverTime.h
@@ -50,7 +50,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractArraysOverTime : public vtkMultiBloc
 public:
   static vtkExtractArraysOverTime *New();
   vtkTypeMacro(vtkExtractArraysOverTime, vtkMultiBlockDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -101,17 +101,17 @@ public:
 
 protected:
   vtkExtractArraysOverTime();
-  ~vtkExtractArraysOverTime();
+  ~vtkExtractArraysOverTime() VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation* request,
+  int RequestInformation(vtkInformation* request,
                                  vtkInformationVector** inputVector,
-                                 vtkInformationVector* outputVector);
-  virtual int RequestUpdateExtent(vtkInformation* request,
+                                 vtkInformationVector* outputVector) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation* request,
                                   vtkInformationVector** inputVector,
-                                  vtkInformationVector* outputVector);
-  virtual int RequestData(vtkInformation* request,
+                                  vtkInformationVector* outputVector) VTK_OVERRIDE;
+  int RequestData(vtkInformation* request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   virtual void PostExecute(vtkInformation* request,
                            vtkInformationVector** inputVector,
@@ -128,7 +128,7 @@ protected:
    */
   int DetermineSelectionType(vtkSelection*);
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   void ExecuteAtTimeStep(vtkInformationVector** inputV,
     vtkInformation* outInfo);
diff --git a/Filters/Extraction/vtkExtractBlock.h b/Filters/Extraction/vtkExtractBlock.h
index c2fd34a1bc..7ddc6005f9 100644
--- a/Filters/Extraction/vtkExtractBlock.h
+++ b/Filters/Extraction/vtkExtractBlock.h
@@ -38,7 +38,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractBlock : public vtkMultiBlockDataSetA
 public:
   static vtkExtractBlock* New();
   vtkTypeMacro(vtkExtractBlock, vtkMultiBlockDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -78,7 +78,7 @@ public:
 
 protected:
   vtkExtractBlock();
-  ~vtkExtractBlock();
+  ~vtkExtractBlock() VTK_OVERRIDE;
 
   /**
    * Internal key, used to avoid pruning of a branch.
@@ -86,9 +86,9 @@ protected:
   static vtkInformationIntegerKey* DONT_PRUNE();
 
   /// Implementation of the algorithm.
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
 
   /// Extract subtree
diff --git a/Filters/Extraction/vtkExtractCells.h b/Filters/Extraction/vtkExtractCells.h
index 8fc93927b0..ac5d38573f 100644
--- a/Filters/Extraction/vtkExtractCells.h
+++ b/Filters/Extraction/vtkExtractCells.h
@@ -41,7 +41,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractCells : public vtkUnstructuredGridAl
 {
 public:
   vtkTypeMacro(vtkExtractCells, vtkUnstructuredGridAlgorithm);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkExtractCells *New();
 
@@ -69,11 +69,11 @@ public:
 
 protected:
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   vtkExtractCells();
-  ~vtkExtractCells();
+  ~vtkExtractCells() VTK_OVERRIDE;
 
 private:
 
diff --git a/Filters/Extraction/vtkExtractDataOverTime.h b/Filters/Extraction/vtkExtractDataOverTime.h
index 1b8baf1ef4..5028c7c444 100644
--- a/Filters/Extraction/vtkExtractDataOverTime.h
+++ b/Filters/Extraction/vtkExtractDataOverTime.h
@@ -36,7 +36,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractDataOverTime : public vtkPointSetAlg
 public:
   static vtkExtractDataOverTime *New();
   vtkTypeMacro(vtkExtractDataOverTime,vtkPointSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -55,14 +55,14 @@ public:
 
 protected:
   vtkExtractDataOverTime();
-  ~vtkExtractDataOverTime() {}
+  ~vtkExtractDataOverTime()VTK_OVERRIDE {}
 
   int RequestInformation( vtkInformation *request,
     vtkInformationVector **inputVector, vtkInformationVector *outputVector);
 
   int ProcessRequest(vtkInformation*,
                      vtkInformationVector**,
-                     vtkInformationVector*);
+                     vtkInformationVector*) VTK_OVERRIDE;
 
   int AllocateOutputData(vtkPointSet *input, vtkPointSet *output);
 
diff --git a/Filters/Extraction/vtkExtractDataSets.h b/Filters/Extraction/vtkExtractDataSets.h
index 4de771d204..2f8220740c 100644
--- a/Filters/Extraction/vtkExtractDataSets.h
+++ b/Filters/Extraction/vtkExtractDataSets.h
@@ -38,7 +38,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractDataSets :
 public:
   static vtkExtractDataSets* New();
   vtkTypeMacro(vtkExtractDataSets, vtkMultiBlockDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Add a dataset to be extracted.
@@ -52,13 +52,13 @@ public:
 
 protected:
   vtkExtractDataSets();
-  ~vtkExtractDataSets();
+  ~vtkExtractDataSets() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
-  virtual int FillOutputPortInformation(int port, vtkInformation *info);
+                          vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkExtractDataSets(const vtkExtractDataSets&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Extraction/vtkExtractEdges.h b/Filters/Extraction/vtkExtractEdges.h
index 298bc1810a..896bf0c297 100644
--- a/Filters/Extraction/vtkExtractEdges.h
+++ b/Filters/Extraction/vtkExtractEdges.h
@@ -36,7 +36,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractEdges : public vtkPolyDataAlgorithm
 public:
   static vtkExtractEdges *New();
   vtkTypeMacro(vtkExtractEdges,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -55,16 +55,16 @@ public:
   /**
    * Return MTime also considering the locator.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkExtractEdges();
-  ~vtkExtractEdges();
+  ~vtkExtractEdges() VTK_OVERRIDE;
 
   // Usual data generation method
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   vtkIncrementalPointLocator *Locator;
 private:
diff --git a/Filters/Extraction/vtkExtractGeometry.h b/Filters/Extraction/vtkExtractGeometry.h
index ddc02ce872..2bf770c9b0 100644
--- a/Filters/Extraction/vtkExtractGeometry.h
+++ b/Filters/Extraction/vtkExtractGeometry.h
@@ -47,7 +47,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractGeometry : public vtkUnstructuredGri
 {
 public:
   vtkTypeMacro(vtkExtractGeometry,vtkUnstructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with ExtractInside turned on.
@@ -57,7 +57,7 @@ public:
   /**
    * Return the MTime taking into account changes to the implicit function
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -93,12 +93,12 @@ public:
 
 protected:
   vtkExtractGeometry(vtkImplicitFunction *f=NULL);
-  ~vtkExtractGeometry();
+  ~vtkExtractGeometry() VTK_OVERRIDE;
 
   // Usual data generation method
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   vtkImplicitFunction *ImplicitFunction;
   int ExtractInside;
diff --git a/Filters/Extraction/vtkExtractGrid.h b/Filters/Extraction/vtkExtractGrid.h
index e78cef95b0..6698b16eb3 100644
--- a/Filters/Extraction/vtkExtractGrid.h
+++ b/Filters/Extraction/vtkExtractGrid.h
@@ -51,7 +51,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractGrid : public vtkStructuredGridAlgor
 public:
   static vtkExtractGrid *New();
   vtkTypeMacro(vtkExtractGrid,vtkStructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -91,11 +91,11 @@ public:
 
 protected:
   vtkExtractGrid();
-  ~vtkExtractGrid();
+  ~vtkExtractGrid() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Implementation for RequestData using a specified VOI. This is because the
diff --git a/Filters/Extraction/vtkExtractLevel.h b/Filters/Extraction/vtkExtractLevel.h
index 1b7c99393f..27ce1e0828 100644
--- a/Filters/Extraction/vtkExtractLevel.h
+++ b/Filters/Extraction/vtkExtractLevel.h
@@ -33,7 +33,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractLevel :
 public:
   static vtkExtractLevel* New();
   vtkTypeMacro(vtkExtractLevel, vtkMultiBlockDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 
   //@{
@@ -48,17 +48,17 @@ public:
 
 protected:
   vtkExtractLevel();
-  ~vtkExtractLevel();
+  ~vtkExtractLevel() VTK_OVERRIDE;
 
-  virtual int RequestUpdateExtent(vtkInformation*, vtkInformationVector**,vtkInformationVector* );
+  int RequestUpdateExtent(vtkInformation*, vtkInformationVector**,vtkInformationVector* ) VTK_OVERRIDE;
 
   /// Implementation of the algorithm.
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port,vtkInformation *info);
-  virtual int FillOutputPortInformation(int port,vtkInformation *info);
+  int FillInputPortInformation(int port,vtkInformation *info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int port,vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkExtractLevel(const vtkExtractLevel&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Extraction/vtkExtractPolyDataGeometry.h b/Filters/Extraction/vtkExtractPolyDataGeometry.h
index 4b9f602f45..75786f2b18 100644
--- a/Filters/Extraction/vtkExtractPolyDataGeometry.h
+++ b/Filters/Extraction/vtkExtractPolyDataGeometry.h
@@ -52,7 +52,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractPolyDataGeometry : public vtkPolyDat
 {
 public:
   vtkTypeMacro(vtkExtractPolyDataGeometry,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with ExtractInside turned on.
@@ -62,7 +62,7 @@ public:
   /**
    * Return the MTime taking into account changes to the implicit function
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -105,10 +105,10 @@ public:
 
 protected:
   vtkExtractPolyDataGeometry(vtkImplicitFunction *f=NULL);
-  ~vtkExtractPolyDataGeometry();
+  ~vtkExtractPolyDataGeometry() VTK_OVERRIDE;
 
   // Usual data generation method
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   vtkImplicitFunction *ImplicitFunction;
   int ExtractInside;
diff --git a/Filters/Extraction/vtkExtractRectilinearGrid.h b/Filters/Extraction/vtkExtractRectilinearGrid.h
index 2aa03e29e9..e1d9c39101 100644
--- a/Filters/Extraction/vtkExtractRectilinearGrid.h
+++ b/Filters/Extraction/vtkExtractRectilinearGrid.h
@@ -40,7 +40,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractRectilinearGrid : public vtkRectilin
 public:
   static vtkExtractRectilinearGrid *New();
   vtkTypeMacro(vtkExtractRectilinearGrid,vtkRectilinearGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -80,11 +80,11 @@ public:
 
 protected:
   vtkExtractRectilinearGrid();
-  ~vtkExtractRectilinearGrid();
+  ~vtkExtractRectilinearGrid() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Implementation for RequestData using a specified VOI. This is because the
diff --git a/Filters/Extraction/vtkExtractSelectedBlock.h b/Filters/Extraction/vtkExtractSelectedBlock.h
index e3a0e622d7..8377ef5559 100644
--- a/Filters/Extraction/vtkExtractSelectedBlock.h
+++ b/Filters/Extraction/vtkExtractSelectedBlock.h
@@ -28,24 +28,24 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractSelectedBlock : public vtkExtractSel
 public:
   static vtkExtractSelectedBlock* New();
   vtkTypeMacro(vtkExtractSelectedBlock, vtkExtractSelectionBase);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkExtractSelectedBlock();
-  ~vtkExtractSelectedBlock();
+  ~vtkExtractSelectedBlock() VTK_OVERRIDE;
 
   // Generate the output.
-  virtual int RequestData(vtkInformation *,
-    vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *,
+    vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Sets up empty output dataset
    */
-  virtual int RequestDataObject(vtkInformation* request,
+  int RequestDataObject(vtkInformation* request,
                                 vtkInformationVector** inputVector,
-                                vtkInformationVector* outputVector);
+                                vtkInformationVector* outputVector) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 private:
   vtkExtractSelectedBlock(const vtkExtractSelectedBlock&) VTK_DELETE_FUNCTION;
   void operator=(const vtkExtractSelectedBlock&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Extraction/vtkExtractSelectedIds.h b/Filters/Extraction/vtkExtractSelectedIds.h
index b1ee891cb9..79c3c5f452 100644
--- a/Filters/Extraction/vtkExtractSelectedIds.h
+++ b/Filters/Extraction/vtkExtractSelectedIds.h
@@ -42,19 +42,19 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractSelectedIds : public vtkExtractSelec
 public:
   static vtkExtractSelectedIds *New();
   vtkTypeMacro(vtkExtractSelectedIds, vtkExtractSelectionBase);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkExtractSelectedIds();
-  ~vtkExtractSelectedIds();
+  ~vtkExtractSelectedIds() VTK_OVERRIDE;
 
   // Overridden to indicate that the input must be a vtkDataSet.
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   // Usual data generation method
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
 
   int ExtractCells(vtkSelectionNode *sel, vtkDataSet *input,
diff --git a/Filters/Extraction/vtkExtractSelectedLocations.h b/Filters/Extraction/vtkExtractSelectedLocations.h
index 999096eefb..e5c86e7385 100644
--- a/Filters/Extraction/vtkExtractSelectedLocations.h
+++ b/Filters/Extraction/vtkExtractSelectedLocations.h
@@ -40,16 +40,16 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractSelectedLocations : public vtkExtrac
 public:
   static vtkExtractSelectedLocations *New();
   vtkTypeMacro(vtkExtractSelectedLocations, vtkExtractSelectionBase);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkExtractSelectedLocations();
-  ~vtkExtractSelectedLocations();
+  ~vtkExtractSelectedLocations() VTK_OVERRIDE;
 
   // Usual data generation method
   int RequestData(vtkInformation *,
                   vtkInformationVector **,
-                  vtkInformationVector *);
+                  vtkInformationVector *) VTK_OVERRIDE;
 
   int ExtractCells(vtkSelectionNode *sel, vtkDataSet *input,
                    vtkDataSet *output);
diff --git a/Filters/Extraction/vtkExtractSelectedPolyDataIds.h b/Filters/Extraction/vtkExtractSelectedPolyDataIds.h
index b76b453e47..a1946ed897 100644
--- a/Filters/Extraction/vtkExtractSelectedPolyDataIds.h
+++ b/Filters/Extraction/vtkExtractSelectedPolyDataIds.h
@@ -34,19 +34,19 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractSelectedPolyDataIds : public vtkPoly
 {
 public:
   vtkTypeMacro(vtkExtractSelectedPolyDataIds,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkExtractSelectedPolyDataIds *New();
 
 protected:
   vtkExtractSelectedPolyDataIds();
-  ~vtkExtractSelectedPolyDataIds();
+  ~vtkExtractSelectedPolyDataIds() VTK_OVERRIDE;
 
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   // Usual data generation method
   int RequestData(vtkInformation *,
                   vtkInformationVector **,
-                  vtkInformationVector *);
+                  vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkExtractSelectedPolyDataIds(const vtkExtractSelectedPolyDataIds&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Extraction/vtkExtractSelectedRows.h b/Filters/Extraction/vtkExtractSelectedRows.h
index e1ec132591..056437a617 100644
--- a/Filters/Extraction/vtkExtractSelectedRows.h
+++ b/Filters/Extraction/vtkExtractSelectedRows.h
@@ -41,7 +41,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractSelectedRows : public vtkTableAlgori
 public:
   static vtkExtractSelectedRows* New();
   vtkTypeMacro(vtkExtractSelectedRows,vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * A convenience method for setting the second input (i.e. the selection).
@@ -56,7 +56,7 @@ public:
   /**
    * Specify the first vtkGraph input and the second vtkSelection input.
    */
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   //@{
   /**
@@ -70,12 +70,12 @@ public:
 
 protected:
   vtkExtractSelectedRows();
-  ~vtkExtractSelectedRows();
+  ~vtkExtractSelectedRows() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   bool AddOriginalRowIdsArray;
 private:
diff --git a/Filters/Extraction/vtkExtractSelectedThresholds.h b/Filters/Extraction/vtkExtractSelectedThresholds.h
index efe63809b8..a9a5747d07 100644
--- a/Filters/Extraction/vtkExtractSelectedThresholds.h
+++ b/Filters/Extraction/vtkExtractSelectedThresholds.h
@@ -46,7 +46,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractSelectedThresholds : public vtkExtra
 {
 public:
   vtkTypeMacro(vtkExtractSelectedThresholds, vtkExtractSelectionBase);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Constructor
@@ -101,12 +101,12 @@ public:
 
 protected:
   vtkExtractSelectedThresholds();
-  ~vtkExtractSelectedThresholds();
+  ~vtkExtractSelectedThresholds() VTK_OVERRIDE;
 
   // Usual data generation method
   int RequestData(vtkInformation *,
                   vtkInformationVector **,
-                  vtkInformationVector *);
+                  vtkInformationVector *) VTK_OVERRIDE;
 
   int ExtractCells(vtkSelectionNode *sel, vtkDataSet *input,
                    vtkDataSet *output,
diff --git a/Filters/Extraction/vtkExtractSelection.h b/Filters/Extraction/vtkExtractSelection.h
index 1c69daa7ac..e30c36946c 100644
--- a/Filters/Extraction/vtkExtractSelection.h
+++ b/Filters/Extraction/vtkExtractSelection.h
@@ -49,7 +49,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractSelection : public vtkExtractSelecti
 public:
   static vtkExtractSelection *New();
   vtkTypeMacro(vtkExtractSelection, vtkExtractSelectionBase);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -74,19 +74,19 @@ public:
 
 protected:
   vtkExtractSelection();
-  ~vtkExtractSelection();
+  ~vtkExtractSelection() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   //sets up empty output dataset
-  virtual int RequestDataObject(vtkInformation* request,
+  int RequestDataObject(vtkInformation* request,
                                 vtkInformationVector** inputVector,
-                                vtkInformationVector* outputVector);
+                                vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   // runs the algorithm and fills the output with results
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                   vtkInformationVector **,
-                  vtkInformationVector *);
+                  vtkInformationVector *) VTK_OVERRIDE;
 
   // used for composite, non-hierarhical input.
   vtkDataObject* RequestDataInternal(
diff --git a/Filters/Extraction/vtkExtractTemporalFieldData.h b/Filters/Extraction/vtkExtractTemporalFieldData.h
index 7241d99993..e886f00a92 100644
--- a/Filters/Extraction/vtkExtractTemporalFieldData.h
+++ b/Filters/Extraction/vtkExtractTemporalFieldData.h
@@ -52,7 +52,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractTemporalFieldData : public vtkDataOb
 public:
   static vtkExtractTemporalFieldData *New();
   vtkTypeMacro(vtkExtractTemporalFieldData,vtkDataObjectAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the number of time steps
@@ -72,7 +72,7 @@ public:
 
 protected:
   vtkExtractTemporalFieldData();
-  ~vtkExtractTemporalFieldData();
+  ~vtkExtractTemporalFieldData() VTK_OVERRIDE;
 
   int RequestDataObject(vtkInformation*,
                         vtkInformationVector**,
diff --git a/Filters/Extraction/vtkExtractTensorComponents.h b/Filters/Extraction/vtkExtractTensorComponents.h
index 06116e2359..e188485c5d 100644
--- a/Filters/Extraction/vtkExtractTensorComponents.h
+++ b/Filters/Extraction/vtkExtractTensorComponents.h
@@ -54,7 +54,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractTensorComponents : public vtkDataSet
 {
 public:
   vtkTypeMacro(vtkExtractTensorComponents,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object to extract nothing and to not pass tensor data
@@ -187,9 +187,9 @@ public:
 
 protected:
   vtkExtractTensorComponents();
-  ~vtkExtractTensorComponents() {}
+  ~vtkExtractTensorComponents()VTK_OVERRIDE {}
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   int PassTensorsToOutput;
 
diff --git a/Filters/Extraction/vtkExtractTimeSteps.h b/Filters/Extraction/vtkExtractTimeSteps.h
index 6b44e27be2..70e1620135 100644
--- a/Filters/Extraction/vtkExtractTimeSteps.h
+++ b/Filters/Extraction/vtkExtractTimeSteps.h
@@ -36,7 +36,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractTimeSteps : public vtkPassInputTypeA
 {
 public:
   vtkTypeMacro(vtkExtractTimeSteps, vtkPassInputTypeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkExtractTimeSteps *New();
 
@@ -80,12 +80,12 @@ public:
 
 protected:
   vtkExtractTimeSteps() {};
-  ~vtkExtractTimeSteps() {};
+  ~vtkExtractTimeSteps()VTK_OVERRIDE {};
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
-                                 vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **,
+                                 vtkInformationVector *) VTK_OVERRIDE;
 
   std::set<int> TimeStepIndices;
 
diff --git a/Filters/Extraction/vtkExtractUnstructuredGrid.h b/Filters/Extraction/vtkExtractUnstructuredGrid.h
index a48ccdcc8b..d1cf3079f5 100644
--- a/Filters/Extraction/vtkExtractUnstructuredGrid.h
+++ b/Filters/Extraction/vtkExtractUnstructuredGrid.h
@@ -48,7 +48,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractUnstructuredGrid : public vtkUnstruc
 {
 public:
   vtkTypeMacro(vtkExtractUnstructuredGrid,vtkUnstructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct with all types of clipping turned off.
@@ -156,13 +156,13 @@ public:
   /**
    * Return the MTime also considering the locator.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkExtractUnstructuredGrid();
-  ~vtkExtractUnstructuredGrid() {}
+  ~vtkExtractUnstructuredGrid()VTK_OVERRIDE {}
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   vtkIdType PointMinimum;
   vtkIdType PointMaximum;
diff --git a/Filters/Extraction/vtkExtractVectorComponents.h b/Filters/Extraction/vtkExtractVectorComponents.h
index 19de40f5bf..a7feffcb2f 100644
--- a/Filters/Extraction/vtkExtractVectorComponents.h
+++ b/Filters/Extraction/vtkExtractVectorComponents.h
@@ -44,7 +44,7 @@ class VTKFILTERSEXTRACTION_EXPORT vtkExtractVectorComponents : public vtkDataSet
 public:
   static vtkExtractVectorComponents *New();
   vtkTypeMacro(vtkExtractVectorComponents,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Specify the input data or filter.
@@ -89,9 +89,9 @@ public:
 
 protected:
   vtkExtractVectorComponents();
-  ~vtkExtractVectorComponents();
+  ~vtkExtractVectorComponents() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   int ExtractToFieldData;
   int OutputsInitialized;
 private:
diff --git a/Filters/Extraction/vtkHierarchicalDataExtractDataSets.h b/Filters/Extraction/vtkHierarchicalDataExtractDataSets.h
index 019ce698e3..df79b3eb3e 100644
--- a/Filters/Extraction/vtkHierarchicalDataExtractDataSets.h
+++ b/Filters/Extraction/vtkHierarchicalDataExtractDataSets.h
@@ -35,12 +35,12 @@ class VTKFILTERSEXTRACTION_EXPORT vtkHierarchicalDataExtractDataSets :
 {
 public:
   vtkTypeMacro(vtkHierarchicalDataExtractDataSets,vtkExtractDataSets);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkHierarchicalDataExtractDataSets *New();
 
 protected:
   vtkHierarchicalDataExtractDataSets();
-  ~vtkHierarchicalDataExtractDataSets();
+  ~vtkHierarchicalDataExtractDataSets() VTK_OVERRIDE;
 
 private:
   vtkHierarchicalDataExtractDataSets(const vtkHierarchicalDataExtractDataSets&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Extraction/vtkHierarchicalDataExtractLevel.h b/Filters/Extraction/vtkHierarchicalDataExtractLevel.h
index 960625523e..edf8d2d8ba 100644
--- a/Filters/Extraction/vtkHierarchicalDataExtractLevel.h
+++ b/Filters/Extraction/vtkHierarchicalDataExtractLevel.h
@@ -29,13 +29,13 @@ class VTKFILTERSEXTRACTION_EXPORT vtkHierarchicalDataExtractLevel : public vtkEx
 {
 public:
   vtkTypeMacro(vtkHierarchicalDataExtractLevel,vtkExtractLevel);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkHierarchicalDataExtractLevel *New();
 
 protected:
   vtkHierarchicalDataExtractLevel();
-  ~vtkHierarchicalDataExtractLevel();
+  ~vtkHierarchicalDataExtractLevel() VTK_OVERRIDE;
 
 private:
   vtkHierarchicalDataExtractLevel(const vtkHierarchicalDataExtractLevel&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Extraction/vtkProbeSelectedLocations.h b/Filters/Extraction/vtkProbeSelectedLocations.h
index 8c5f0404ec..f88ccf77b8 100644
--- a/Filters/Extraction/vtkProbeSelectedLocations.h
+++ b/Filters/Extraction/vtkProbeSelectedLocations.h
@@ -36,21 +36,21 @@ class VTKFILTERSEXTRACTION_EXPORT vtkProbeSelectedLocations : public vtkExtractS
 public:
   static vtkProbeSelectedLocations* New();
   vtkTypeMacro(vtkProbeSelectedLocations, vtkExtractSelectionBase);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkProbeSelectedLocations();
-  ~vtkProbeSelectedLocations();
+  ~vtkProbeSelectedLocations() VTK_OVERRIDE;
 
   /**
    * Sets up empty output dataset
    */
-  virtual int RequestDataObject(vtkInformation* request,
+  int RequestDataObject(vtkInformation* request,
                                 vtkInformationVector** inputVector,
-                                vtkInformationVector* outputVector);
+                                vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   int RequestData(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkProbeSelectedLocations(const vtkProbeSelectedLocations&) VTK_DELETE_FUNCTION;
diff --git a/Filters/FlowPaths/vtkAMRInterpolatedVelocityField.h b/Filters/FlowPaths/vtkAMRInterpolatedVelocityField.h
index d687f9c974..87f2d6f670 100644
--- a/Filters/FlowPaths/vtkAMRInterpolatedVelocityField.h
+++ b/Filters/FlowPaths/vtkAMRInterpolatedVelocityField.h
@@ -47,12 +47,12 @@ public:
 
   bool SetLastDataSet(int level, int id);
 
-  virtual void SetLastCellId( vtkIdType c, int dataindex );
+  void SetLastCellId( vtkIdType c, int dataindex ) VTK_OVERRIDE;
 
   /**
    * Set the cell id cached by the last evaluation.
    */
-  virtual void SetLastCellId( vtkIdType c )
+  void SetLastCellId( vtkIdType c ) VTK_OVERRIDE
     { this->Superclass::SetLastCellId( c ); }
 
   /**
@@ -66,9 +66,9 @@ public:
    * still valid
    */
 
-  virtual int FunctionValues( double * x, double * f );
+  int FunctionValues( double * x, double * f ) VTK_OVERRIDE;
 
-  void PrintSelf( ostream & os, vtkIndent indent );
+  void PrintSelf( ostream & os, vtkIndent indent ) VTK_OVERRIDE;
 
   // Descriptino:
   // Point location routine.
@@ -80,8 +80,8 @@ protected:
   int LastId;
 
   vtkAMRInterpolatedVelocityField();
-  ~vtkAMRInterpolatedVelocityField();
-  virtual int FunctionValues( vtkDataSet * ds, double * x, double * f )
+  ~vtkAMRInterpolatedVelocityField() VTK_OVERRIDE;
+  int FunctionValues( vtkDataSet * ds, double * x, double * f ) VTK_OVERRIDE
     { return this->Superclass::FunctionValues( ds, x, f ); }
 
 private:
diff --git a/Filters/FlowPaths/vtkAbstractInterpolatedVelocityField.h b/Filters/FlowPaths/vtkAbstractInterpolatedVelocityField.h
index c1e5b1359d..2de89ced9d 100644
--- a/Filters/FlowPaths/vtkAbstractInterpolatedVelocityField.h
+++ b/Filters/FlowPaths/vtkAbstractInterpolatedVelocityField.h
@@ -85,7 +85,7 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkAbstractInterpolatedVelocityField : public v
 {
 public:
   vtkTypeMacro( vtkAbstractInterpolatedVelocityField, vtkFunctionSet );
-  void PrintSelf( ostream & os, vtkIndent indent );
+  void PrintSelf( ostream & os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -188,7 +188,7 @@ public:
   /**
    * Evaluate the velocity field f at point (x, y, z).
    */
-  virtual int FunctionValues( double * x, double * f ) = 0;
+  int FunctionValues( double * x, double * f ) VTK_OVERRIDE = 0;
 
   /**
    * Set the last cell id to -1 to incur a global cell search for the next point.
@@ -206,7 +206,7 @@ public:
 
 protected:
   vtkAbstractInterpolatedVelocityField();
-  ~vtkAbstractInterpolatedVelocityField();
+  ~vtkAbstractInterpolatedVelocityField() VTK_OVERRIDE;
 
   static const double TOLERANCE_SCALE;
   static const double SURFACE_TOLERANCE_SCALE;
diff --git a/Filters/FlowPaths/vtkCachingInterpolatedVelocityField.h b/Filters/FlowPaths/vtkCachingInterpolatedVelocityField.h
index fb68264151..b52637628c 100644
--- a/Filters/FlowPaths/vtkCachingInterpolatedVelocityField.h
+++ b/Filters/FlowPaths/vtkCachingInterpolatedVelocityField.h
@@ -79,7 +79,7 @@ public:
    * Evaluate the velocity field, f={u,v,w}, at {x, y, z}.
    * returns 1 if valid, 0 if test failed
    */
-  virtual int FunctionValues(double* x, double* f);
+  int FunctionValues(double* x, double* f) VTK_OVERRIDE;
   virtual int InsideTest(double* x);
   //@}
 
@@ -133,7 +133,7 @@ public:
 
 protected:
   vtkCachingInterpolatedVelocityField();
- ~vtkCachingInterpolatedVelocityField();
+ ~vtkCachingInterpolatedVelocityField() VTK_OVERRIDE;
 
   vtkGenericCell          *TempCell;
   int                      CellCacheHit;
diff --git a/Filters/FlowPaths/vtkCellLocatorInterpolatedVelocityField.h b/Filters/FlowPaths/vtkCellLocatorInterpolatedVelocityField.h
index f268620b81..8e07ef4c0d 100644
--- a/Filters/FlowPaths/vtkCellLocatorInterpolatedVelocityField.h
+++ b/Filters/FlowPaths/vtkCellLocatorInterpolatedVelocityField.h
@@ -60,7 +60,7 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkCellLocatorInterpolatedVelocityField : publi
 public:
   vtkTypeMacro( vtkCellLocatorInterpolatedVelocityField,
                         vtkCompositeInterpolatedVelocityField );
-  void PrintSelf( ostream & os, vtkIndent indent );
+  void PrintSelf( ostream & os, vtkIndent indent ) VTK_OVERRIDE;
 
   /**
    * Construct a vtkCellLocatorInterpolatedVelocityField without an initial
@@ -92,7 +92,7 @@ public:
   /**
    * Import parameters. Sub-classes can add more after chaining.
    */
-  virtual void CopyParameters( vtkAbstractInterpolatedVelocityField * from );
+  void CopyParameters( vtkAbstractInterpolatedVelocityField * from ) VTK_OVERRIDE;
   /**
    * Add a dataset coupled with a cell locator (of type vtkAbstractCellLocator)
    * for vector function evaluation. Note the use of a vtkAbstractCellLocator
@@ -100,27 +100,27 @@ public:
    * evaluation point is searched in all until a match is found. THIS FUNCTION
    * DOES NOT CHANGE THE REFERENCE COUNT OF dataset FOR THREAD SAFETY REASONS.
    */
-  virtual void AddDataSet( vtkDataSet * dataset );
+  void AddDataSet( vtkDataSet * dataset ) VTK_OVERRIDE;
 
   /**
    * Evaluate the velocity field f at point (x, y, z).
    */
-  virtual int FunctionValues( double * x, double * f );
+  int FunctionValues( double * x, double * f ) VTK_OVERRIDE;
 
   /**
    * Set the cell id cached by the last evaluation within a specified dataset.
    */
-  virtual void SetLastCellId( vtkIdType c, int dataindex );
+  void SetLastCellId( vtkIdType c, int dataindex ) VTK_OVERRIDE;
 
   /**
    * Set the cell id cached by the last evaluation.
    */
-  virtual void SetLastCellId( vtkIdType c )
+  void SetLastCellId( vtkIdType c ) VTK_OVERRIDE
     { this->Superclass::SetLastCellId( c ); }
 
 protected:
   vtkCellLocatorInterpolatedVelocityField();
-  ~vtkCellLocatorInterpolatedVelocityField();
+  ~vtkCellLocatorInterpolatedVelocityField() VTK_OVERRIDE;
 
   /**
    * Evaluate the velocity field f at point (x, y, z) in a specified dataset
@@ -136,7 +136,7 @@ protected:
    * (of type vtkImageData or vtkRectilinearGrid only) by invoking FindCell()
    * to locate the next cell if the given point is outside the current cell.
    */
-  virtual int FunctionValues( vtkDataSet * ds, double * x, double * f )
+  int FunctionValues( vtkDataSet * ds, double * x, double * f ) VTK_OVERRIDE
     { return this->Superclass::FunctionValues( ds, x, f ); }
 
 private:
diff --git a/Filters/FlowPaths/vtkCompositeInterpolatedVelocityField.h b/Filters/FlowPaths/vtkCompositeInterpolatedVelocityField.h
index 404b426df8..2106404158 100644
--- a/Filters/FlowPaths/vtkCompositeInterpolatedVelocityField.h
+++ b/Filters/FlowPaths/vtkCompositeInterpolatedVelocityField.h
@@ -84,7 +84,7 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkCompositeInterpolatedVelocityField : public
 {
 public:
   vtkTypeMacro( vtkCompositeInterpolatedVelocityField, vtkAbstractInterpolatedVelocityField);
-  void PrintSelf( ostream & os, vtkIndent indent );
+  void PrintSelf( ostream & os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -95,7 +95,6 @@ public:
    * for custom interpolators only that cache datasets independently.
    */
   vtkGetMacro( LastDataSetIndex, int );
-  vtkGetObjectMacro( LastDataSet, vtkDataSet );
   //@}
 
 
@@ -110,7 +109,7 @@ public:
 
 protected:
   vtkCompositeInterpolatedVelocityField();
-  ~vtkCompositeInterpolatedVelocityField();
+  ~vtkCompositeInterpolatedVelocityField() VTK_OVERRIDE;
 
   static const double TOLERANCE_SCALE;
 
diff --git a/Filters/FlowPaths/vtkDashedStreamLine.h b/Filters/FlowPaths/vtkDashedStreamLine.h
index ddd32079ed..550aec0162 100644
--- a/Filters/FlowPaths/vtkDashedStreamLine.h
+++ b/Filters/FlowPaths/vtkDashedStreamLine.h
@@ -45,7 +45,7 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkDashedStreamLine : public vtkStreamLine
 public:
   static vtkDashedStreamLine *New();
   vtkTypeMacro(vtkDashedStreamLine,vtkStreamLine);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -59,10 +59,10 @@ public:
 
 protected:
   vtkDashedStreamLine();
-  ~vtkDashedStreamLine() {}
+  ~vtkDashedStreamLine() VTK_OVERRIDE {}
 
   // Convert streamer array into vtkPolyData
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   // the fraction of on versus off in dash
   double DashFactor;
diff --git a/Filters/FlowPaths/vtkInterpolatedVelocityField.h b/Filters/FlowPaths/vtkInterpolatedVelocityField.h
index e7ea2d389b..f99075b5a5 100644
--- a/Filters/FlowPaths/vtkInterpolatedVelocityField.h
+++ b/Filters/FlowPaths/vtkInterpolatedVelocityField.h
@@ -63,7 +63,7 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkInterpolatedVelocityField
 public:
   vtkTypeMacro( vtkInterpolatedVelocityField,
                         vtkCompositeInterpolatedVelocityField );
-  void PrintSelf( ostream & os, vtkIndent indent );
+  void PrintSelf( ostream & os, vtkIndent indent ) VTK_OVERRIDE;
 
   /**
    * Construct a vtkInterpolatedVelocityField without an initial dataset.
@@ -77,12 +77,12 @@ public:
    * match is found. THIS FUNCTION DOES NOT CHANGE THE REFERENCE COUNT OF
    * DATASET FOR THREAD SAFETY REASONS.
    */
-  virtual void AddDataSet( vtkDataSet * dataset );
+  void AddDataSet( vtkDataSet * dataset ) VTK_OVERRIDE;
 
   /**
    * Evaluate the velocity field f at point (x, y, z).
    */
-  virtual int FunctionValues( double * x, double * f );
+  int FunctionValues( double * x, double * f ) VTK_OVERRIDE;
 
   /**
    * Project the provided point on current cell, current dataset.
@@ -92,17 +92,17 @@ public:
   /**
    * Set the cell id cached by the last evaluation within a specified dataset.
    */
-  virtual void SetLastCellId( vtkIdType c, int dataindex );
+  void SetLastCellId( vtkIdType c, int dataindex ) VTK_OVERRIDE;
 
   /**
    * Set the cell id cached by the last evaluation.
    */
-  virtual void SetLastCellId( vtkIdType c )
+  void SetLastCellId( vtkIdType c ) VTK_OVERRIDE
     { this->Superclass::SetLastCellId( c ); }
 
 protected:
   vtkInterpolatedVelocityField() { }
-  ~vtkInterpolatedVelocityField() { }
+  ~vtkInterpolatedVelocityField() VTK_OVERRIDE { }
 
   /**
    * Evaluate the velocity field f at point (x, y, z) in a specified dataset
@@ -111,7 +111,7 @@ protected:
    * invoking vtkImageData/vtkRectilinearGrid::FindCell() to fulfill the same
    * task if the point is outside the current cell.
    */
-  virtual int FunctionValues( vtkDataSet * ds, double * x, double * f )
+  int FunctionValues( vtkDataSet * ds, double * x, double * f ) VTK_OVERRIDE
     { return this->Superclass::FunctionValues( ds, x, f ); }
 
 private:
diff --git a/Filters/FlowPaths/vtkLagrangianBasicIntegrationModel.h b/Filters/FlowPaths/vtkLagrangianBasicIntegrationModel.h
index f74be41bb8..0355b209d5 100644
--- a/Filters/FlowPaths/vtkLagrangianBasicIntegrationModel.h
+++ b/Filters/FlowPaths/vtkLagrangianBasicIntegrationModel.h
@@ -84,7 +84,7 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkLagrangianBasicIntegrationModel :
 {
 public:
   vtkTypeMacro(vtkLagrangianBasicIntegrationModel, vtkFunctionSet);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   typedef enum SurfaceType
   {
@@ -111,7 +111,7 @@ public:
    * in found this will call
    * FunctionValues(vtkDataSet* detaSet, vtkIdType cellId, double* x, double* f)
    */
-  virtual int FunctionValues(double* x, double* f);
+  int FunctionValues(double* x, double* f) VTK_OVERRIDE;
 
   //@{
   /**
@@ -365,7 +365,7 @@ public:
 
 protected:
   vtkLagrangianBasicIntegrationModel();
-  virtual ~vtkLagrangianBasicIntegrationModel();
+  ~vtkLagrangianBasicIntegrationModel() VTK_OVERRIDE;
 
   /**
    * Actually compute the integration model velocity field
diff --git a/Filters/FlowPaths/vtkLagrangianMatidaIntegrationModel.h b/Filters/FlowPaths/vtkLagrangianMatidaIntegrationModel.h
index bd780ceac5..2060b496e8 100644
--- a/Filters/FlowPaths/vtkLagrangianMatidaIntegrationModel.h
+++ b/Filters/FlowPaths/vtkLagrangianMatidaIntegrationModel.h
@@ -44,7 +44,7 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkLagrangianMatidaIntegrationModel :
 {
 public:
   vtkTypeMacro(vtkLagrangianMatidaIntegrationModel, vtkLagrangianBasicIntegrationModel);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkLagrangianMatidaIntegrationModel* New();
 
   // Needed for multiple signatures polymorphism
@@ -54,12 +54,12 @@ public:
    * Evaluate the integration model velocity field
    * f at position x, using data from cell in dataSet with index cellId
    */
-  virtual int FunctionValues(vtkDataSet* dataSet, vtkIdType cellId,
-    double* weights, double* x, double* f);
+  int FunctionValues(vtkDataSet* dataSet, vtkIdType cellId,
+    double* weights, double* x, double* f) VTK_OVERRIDE;
 
 protected:
   vtkLagrangianMatidaIntegrationModel();
-  virtual ~vtkLagrangianMatidaIntegrationModel();
+  ~vtkLagrangianMatidaIntegrationModel() VTK_OVERRIDE;
 
   static double GetRelaxationTime(double dynVisc, double diameter, double density);
 
diff --git a/Filters/FlowPaths/vtkLagrangianParticleTracker.h b/Filters/FlowPaths/vtkLagrangianParticleTracker.h
index cf6039757c..562413a8c0 100644
--- a/Filters/FlowPaths/vtkLagrangianParticleTracker.h
+++ b/Filters/FlowPaths/vtkLagrangianParticleTracker.h
@@ -111,7 +111,7 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkLagrangianParticleTracker :
 public:
 
   vtkTypeMacro(vtkLagrangianParticleTracker, vtkDataObjectAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkLagrangianParticleTracker *New();
 
   typedef enum CellLengthComputation{
@@ -272,32 +272,32 @@ public:
   /**
    * Declare input port type
    */
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   /**
    * Declare output port type
    */
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   /**
    * Create outputs objects.
    */
-  virtual int RequestDataObject(vtkInformation*,
+  int RequestDataObject(vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   /**
    * Process inputs to integrate particle and generate output.
    */
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
     vtkInformationVector **inputVector,
-    vtkInformationVector *outputVector);
+    vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   /**
    * Get the tracker modified time taking into account the integration model
    * and the integrator.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Get an unique id for a particle
@@ -306,7 +306,7 @@ public:
 
 protected:
   vtkLagrangianParticleTracker();
-  ~vtkLagrangianParticleTracker();
+  ~vtkLagrangianParticleTracker() VTK_OVERRIDE;
 
   virtual bool InitializeInputs(vtkInformationVector **inputVector,
     vtkDataObject*& flow, vtkDataObject*& seeds, vtkDataObject*& surfaces,
diff --git a/Filters/FlowPaths/vtkModifiedBSPTree.h b/Filters/FlowPaths/vtkModifiedBSPTree.h
index 282394d9ad..abe948a672 100644
--- a/Filters/FlowPaths/vtkModifiedBSPTree.h
+++ b/Filters/FlowPaths/vtkModifiedBSPTree.h
@@ -160,7 +160,7 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkModifiedBSPTree : public vtkAbstractCellLoca
    * Standard Type-Macro
    */
   vtkTypeMacro(vtkModifiedBSPTree,vtkAbstractCellLocator);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -175,17 +175,17 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkModifiedBSPTree : public vtkAbstractCellLoca
   /**
    * Free tree memory
    */
-  void FreeSearchStructure();
+  void FreeSearchStructure() VTK_OVERRIDE;
 
   /**
    * Build Tree
    */
-  void BuildLocator();
+  void BuildLocator() VTK_OVERRIDE;
 
   /**
    * Generate BBox representation of Nth level
    */
-  virtual void GenerateRepresentation(int level, vtkPolyData *pd);
+  void GenerateRepresentation(int level, vtkPolyData *pd) VTK_OVERRIDE;
 
   /**
    * Generate BBox representation of all leaf nodes
@@ -196,17 +196,17 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkModifiedBSPTree : public vtkAbstractCellLoca
    * Return intersection point (if any) AND the cell which was intersected by
    * the finite line. Uses fast tree-search BBox rejection tests.
    */
-  virtual int IntersectWithLine(
+  int IntersectWithLine(
     double p1[3], double p2[3], double tol, double &t, double x[3],
-    double pcoords[3], int &subId, vtkIdType &cellId);
+    double pcoords[3], int &subId, vtkIdType &cellId) VTK_OVERRIDE;
 
   /**
    * Return intersection point (if any) AND the cell which was intersected by
    * the finite line. The cell is returned as a cell id and as a generic cell.
    */
-  virtual int IntersectWithLine(
+  int IntersectWithLine(
     double p1[3], double p2[3], double tol, double &t, double x[3],
-    double pcoords[3], int &subId, vtkIdType &cellId, vtkGenericCell *cell);
+    double pcoords[3], int &subId, vtkIdType &cellId, vtkGenericCell *cell) VTK_OVERRIDE;
 
   /**
    * Take the passed line segment and intersect it with the data set.
@@ -224,10 +224,10 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkModifiedBSPTree : public vtkAbstractCellLoca
    * Test a point to find if it is inside a cell. Returns the cellId if inside
    * or -1 if not.
    */
-  virtual vtkIdType FindCell(double x[3], double tol2, vtkGenericCell *GenCell,
-    double pcoords[3], double *weights);
+  vtkIdType FindCell(double x[3], double tol2, vtkGenericCell *GenCell,
+    double pcoords[3], double *weights) VTK_OVERRIDE;
 
-  bool InsideCellBounds(double x[3], vtkIdType cell_ID);
+  bool InsideCellBounds(double x[3], vtkIdType cell_ID) VTK_OVERRIDE;
 
   /**
    * After subdivision has completed, one may wish to query the tree to find
@@ -238,7 +238,7 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkModifiedBSPTree : public vtkAbstractCellLoca
 
   protected:
    vtkModifiedBSPTree();
-  ~vtkModifiedBSPTree();
+  ~vtkModifiedBSPTree() VTK_OVERRIDE;
   //
   BSPNode  *mRoot;               // bounding box root node
   int       npn;
diff --git a/Filters/FlowPaths/vtkParticlePathFilter.h b/Filters/FlowPaths/vtkParticlePathFilter.h
index 9ab5be53b9..6455a91ec9 100644
--- a/Filters/FlowPaths/vtkParticlePathFilter.h
+++ b/Filters/FlowPaths/vtkParticlePathFilter.h
@@ -61,22 +61,22 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkParticlePathFilter: public vtkParticleTracer
 {
 public:
   vtkTypeMacro(vtkParticlePathFilter,vtkParticleTracerBase)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkParticlePathFilter *New();
 
 protected:
   vtkParticlePathFilter();
-  ~vtkParticlePathFilter();
+  ~vtkParticlePathFilter() VTK_OVERRIDE;
   vtkParticlePathFilter(const vtkParticlePathFilter&) VTK_DELETE_FUNCTION;
   void operator=(const vtkParticlePathFilter&) VTK_DELETE_FUNCTION;
 
-  virtual void ResetCache();
-  virtual int OutputParticles(vtkPolyData* poly);
-  virtual void InitializeExtraPointDataArrays(vtkPointData* outputPD);
-  virtual void AppendToExtraPointDataArrays(vtkParticleTracerBaseNamespace::ParticleInformation &);
+  void ResetCache() VTK_OVERRIDE;
+  int OutputParticles(vtkPolyData* poly) VTK_OVERRIDE;
+  void InitializeExtraPointDataArrays(vtkPointData* outputPD) VTK_OVERRIDE;
+  void AppendToExtraPointDataArrays(vtkParticleTracerBaseNamespace::ParticleInformation &) VTK_OVERRIDE;
 
-  void Finalize();
+  void Finalize() VTK_OVERRIDE;
 
   ParticlePathFilterInternal It;
 
diff --git a/Filters/FlowPaths/vtkParticleTracer.h b/Filters/FlowPaths/vtkParticleTracer.h
index 14a804f014..9d461e8350 100644
--- a/Filters/FlowPaths/vtkParticleTracer.h
+++ b/Filters/FlowPaths/vtkParticleTracer.h
@@ -34,16 +34,16 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkParticleTracer: public vtkParticleTracerBase
 {
  public:
   vtkTypeMacro(vtkParticleTracer,vtkParticleTracerBase)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkParticleTracer *New();
 
  protected:
   vtkParticleTracer();
-  virtual ~vtkParticleTracer(){}
+  ~vtkParticleTracer() VTK_OVERRIDE{}
   vtkParticleTracer(const vtkParticleTracer&) VTK_DELETE_FUNCTION;
   void operator=(const vtkParticleTracer&) VTK_DELETE_FUNCTION;
-  virtual int OutputParticles(vtkPolyData* poly);
+  int OutputParticles(vtkPolyData* poly) VTK_OVERRIDE;
 };
 
 
diff --git a/Filters/FlowPaths/vtkParticleTracerBase.h b/Filters/FlowPaths/vtkParticleTracerBase.h
index 1c94c7e263..6dee37249e 100644
--- a/Filters/FlowPaths/vtkParticleTracerBase.h
+++ b/Filters/FlowPaths/vtkParticleTracerBase.h
@@ -105,7 +105,7 @@ public:
   };
 
   vtkTypeMacro(vtkParticleTracerBase,vtkPolyDataAlgorithm)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   void PrintParticleHistories();
 
   //@{
@@ -280,41 +280,41 @@ public:
   //@}
 
   vtkParticleTracerBase();
-  virtual ~vtkParticleTracerBase();
+  ~vtkParticleTracerBase() VTK_OVERRIDE;
 
   //
   // Make sure the pipeline knows what type we expect as input
   //
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   //
   // The usual suspects
   //
-  virtual int ProcessRequest(vtkInformation* request,
-                             vtkInformationVector** inputVector,
-                             vtkInformationVector* outputVector);
+  int ProcessRequest(vtkInformation* request,
+                     vtkInformationVector** inputVector,
+                     vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   //
   // Store any information we need in the output and fetch what we can
   // from the input
   //
-  virtual int RequestInformation(vtkInformation* request,
-                                 vtkInformationVector** inputVector,
-                                 vtkInformationVector* outputVector);
+  int RequestInformation(vtkInformation* request,
+                         vtkInformationVector** inputVector,
+                         vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   //
   // Compute input time steps given the output step
   //
-  virtual int RequestUpdateExtent(vtkInformation* request,
-                                  vtkInformationVector** inputVector,
-                                  vtkInformationVector* outputVector);
+  int RequestUpdateExtent(vtkInformation* request,
+                          vtkInformationVector** inputVector,
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   //
   // what the pipeline calls for each time step
   //
-  virtual int RequestData(vtkInformation* request,
-                          vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+  int RequestData(vtkInformation* request,
+                  vtkInformationVector** inputVector,
+                  vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   //
   // these routines are internally called to actually generate the output
diff --git a/Filters/FlowPaths/vtkStreaklineFilter.h b/Filters/FlowPaths/vtkStreaklineFilter.h
index bd3ea04898..52370bd19a 100644
--- a/Filters/FlowPaths/vtkStreaklineFilter.h
+++ b/Filters/FlowPaths/vtkStreaklineFilter.h
@@ -49,17 +49,17 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkStreaklineFilter: public vtkParticleTracerBa
 {
  public:
   vtkTypeMacro(vtkStreaklineFilter,vtkParticleTracerBase)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkStreaklineFilter *New();
 
  protected:
   vtkStreaklineFilter();
-  ~vtkStreaklineFilter(){}
+  ~vtkStreaklineFilter() VTK_OVERRIDE{}
   vtkStreaklineFilter(const vtkStreaklineFilter&) VTK_DELETE_FUNCTION;
   void operator=(const vtkStreaklineFilter&) VTK_DELETE_FUNCTION;
-  virtual int OutputParticles(vtkPolyData* poly);
-  virtual void Finalize();
+  int OutputParticles(vtkPolyData* poly) VTK_OVERRIDE;
+  void Finalize() VTK_OVERRIDE;
 
   StreaklineFilterInternal It;
 };
diff --git a/Filters/FlowPaths/vtkStreamLine.h b/Filters/FlowPaths/vtkStreamLine.h
index bcdef86670..2c46a9c2c2 100644
--- a/Filters/FlowPaths/vtkStreamLine.h
+++ b/Filters/FlowPaths/vtkStreamLine.h
@@ -56,7 +56,7 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkStreamLine : public vtkStreamer
 {
 public:
   vtkTypeMacro(vtkStreamLine,vtkStreamer);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with step size set to 1.0.
@@ -75,10 +75,10 @@ public:
 
 protected:
   vtkStreamLine();
-  ~vtkStreamLine() {}
+  ~vtkStreamLine() VTK_OVERRIDE {}
 
   // Convert streamer array into vtkPolyData
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   // the length of line primitives
   double StepLength;
diff --git a/Filters/FlowPaths/vtkStreamPoints.h b/Filters/FlowPaths/vtkStreamPoints.h
index f1fe4a93ef..280c63f1bf 100644
--- a/Filters/FlowPaths/vtkStreamPoints.h
+++ b/Filters/FlowPaths/vtkStreamPoints.h
@@ -37,7 +37,7 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkStreamPoints : public vtkStreamer
 {
 public:
   vtkTypeMacro(vtkStreamPoints,vtkStreamer);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with time increment set to 1.0.
@@ -54,10 +54,10 @@ public:
 
 protected:
   vtkStreamPoints();
-  ~vtkStreamPoints() {}
+  ~vtkStreamPoints() VTK_OVERRIDE {}
 
   // Convert streamer array into vtkPolyData
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   // the separation of points
   double TimeIncrement;
diff --git a/Filters/FlowPaths/vtkStreamTracer.h b/Filters/FlowPaths/vtkStreamTracer.h
index 9a3f05ac17..593a3647fc 100644
--- a/Filters/FlowPaths/vtkStreamTracer.h
+++ b/Filters/FlowPaths/vtkStreamTracer.h
@@ -98,7 +98,7 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkStreamTracer : public vtkPolyDataAlgorithm
 {
 public:
   vtkTypeMacro(vtkStreamTracer,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object to start from position (0,0,0), with forward
@@ -356,17 +356,17 @@ public:
 protected:
 
   vtkStreamTracer();
-  ~vtkStreamTracer();
+  ~vtkStreamTracer() VTK_OVERRIDE;
 
   // Create a default executive.
-  virtual vtkExecutive* CreateDefaultExecutive();
+  vtkExecutive* CreateDefaultExecutive() VTK_OVERRIDE;
 
   // hide the superclass' AddInput() from the user and the compiler
   void AddInput(vtkDataObject *)
     { vtkErrorMacro( << "AddInput() must be called with a vtkDataSet not a vtkDataObject."); };
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int, vtkInformation *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int, vtkInformation *) VTK_OVERRIDE;
 
   void CalculateVorticity( vtkGenericCell* cell, double pcoords[3],
                            vtkDoubleArray* cellVectors, double vorticity[3] );
diff --git a/Filters/FlowPaths/vtkStreamer.h b/Filters/FlowPaths/vtkStreamer.h
index 2e3100612c..a7994bdaf8 100644
--- a/Filters/FlowPaths/vtkStreamer.h
+++ b/Filters/FlowPaths/vtkStreamer.h
@@ -69,7 +69,7 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkStreamer : public vtkPolyDataAlgorithm
 {
 public:
   vtkTypeMacro(vtkStreamer,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Specify the start of the streamline in the cell coordinate system. That
@@ -235,7 +235,7 @@ protected:
    * 0.2; and maximum propagation time 100.0.
    */
   vtkStreamer();
-  ~vtkStreamer();
+  ~vtkStreamer() VTK_OVERRIDE;
   //@}
 
   // Integrate data
@@ -353,7 +353,7 @@ protected:
   vtkMultiThreader           *Threader;
   int                        NumberOfThreads;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkStreamer(const vtkStreamer&) VTK_DELETE_FUNCTION;
diff --git a/Filters/FlowPaths/vtkTemporalInterpolatedVelocityField.h b/Filters/FlowPaths/vtkTemporalInterpolatedVelocityField.h
index 73fd67e084..39af032c77 100644
--- a/Filters/FlowPaths/vtkTemporalInterpolatedVelocityField.h
+++ b/Filters/FlowPaths/vtkTemporalInterpolatedVelocityField.h
@@ -82,7 +82,7 @@ public:
    * Evaluate the velocity field, f, at (x, y, z, t).
    * For now, t is ignored.
    */
-  virtual int FunctionValues(double* x, double* u);
+  int FunctionValues(double* x, double* u) VTK_OVERRIDE;
   int FunctionValuesAtT(int T, double* x, double* u);
   //@}
 
@@ -157,7 +157,7 @@ public:
 
 protected:
   vtkTemporalInterpolatedVelocityField();
-  ~vtkTemporalInterpolatedVelocityField();
+  ~vtkTemporalInterpolatedVelocityField() VTK_OVERRIDE;
 
   int FunctionValues(vtkDataSet* ds, double* x, double* f);
   virtual void SetVectorsSelection(const char *v);
diff --git a/Filters/FlowPaths/vtkTemporalStreamTracer.h b/Filters/FlowPaths/vtkTemporalStreamTracer.h
index b8309d4d3d..3b619b5974 100644
--- a/Filters/FlowPaths/vtkTemporalStreamTracer.h
+++ b/Filters/FlowPaths/vtkTemporalStreamTracer.h
@@ -86,7 +86,7 @@ class VTKFILTERSFLOWPATHS_EXPORT vtkTemporalStreamTracer : public vtkStreamTrace
 public:
 
     vtkTypeMacro(vtkTemporalStreamTracer,vtkStreamTracer);
-    void PrintSelf(ostream& os, vtkIndent indent);
+    void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
     /**
      * Construct object using 2nd order Runge Kutta
@@ -238,41 +238,41 @@ public:
   protected:
 
      vtkTemporalStreamTracer();
-    ~vtkTemporalStreamTracer();
+    ~vtkTemporalStreamTracer() VTK_OVERRIDE;
 
     //
     // Make sure the pipeline knows what type we expect as input
     //
-    virtual int FillInputPortInformation(int port, vtkInformation* info);
+    int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
     //
     // The usual suspects
     //
-    virtual int ProcessRequest(vtkInformation* request,
+    int ProcessRequest(vtkInformation* request,
                                vtkInformationVector** inputVector,
-                               vtkInformationVector* outputVector);
+                               vtkInformationVector* outputVector) VTK_OVERRIDE;
 
     //
     // Store any information we need in the output and fetch what we can
     // from the input
     //
-    virtual int RequestInformation(vtkInformation* request,
+    int RequestInformation(vtkInformation* request,
                                   vtkInformationVector** inputVector,
-                                  vtkInformationVector* outputVector);
+                                  vtkInformationVector* outputVector) VTK_OVERRIDE;
 
     //
     // Compute input time steps given the output step
     //
-    virtual int RequestUpdateExtent(vtkInformation* request,
+    int RequestUpdateExtent(vtkInformation* request,
                                     vtkInformationVector** inputVector,
-                                    vtkInformationVector* outputVector);
+                                    vtkInformationVector* outputVector) VTK_OVERRIDE;
 
     //
     // what the pipeline calls for each time step
     //
-    virtual int RequestData(vtkInformation* request,
+    int RequestData(vtkInformation* request,
                             vtkInformationVector** inputVector,
-                            vtkInformationVector* outputVector);
+                            vtkInformationVector* outputVector) VTK_OVERRIDE;
 
     //
     // these routines are internally called to actually generate the output
diff --git a/Filters/Generic/vtkGenericClip.h b/Filters/Generic/vtkGenericClip.h
index 4ed554784c..d5b232edb8 100644
--- a/Filters/Generic/vtkGenericClip.h
+++ b/Filters/Generic/vtkGenericClip.h
@@ -74,7 +74,7 @@ class VTKFILTERSGENERIC_EXPORT vtkGenericClip : public vtkUnstructuredGridAlgori
 {
 public:
   vtkTypeMacro(vtkGenericClip,vtkUnstructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct with user-specified implicit function; InsideOut turned off;
@@ -175,7 +175,7 @@ public:
   /**
    * Return the mtime also considering the locator and clip function.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -189,10 +189,10 @@ public:
 
 protected:
   vtkGenericClip(vtkImplicitFunction *cf=NULL);
-  ~vtkGenericClip();
+  ~vtkGenericClip() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int FillInputPortInformation(int, vtkInformation*);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   vtkImplicitFunction *ClipFunction;
 
diff --git a/Filters/Generic/vtkGenericContourFilter.h b/Filters/Generic/vtkGenericContourFilter.h
index e02eb681cf..ddea4c921b 100644
--- a/Filters/Generic/vtkGenericContourFilter.h
+++ b/Filters/Generic/vtkGenericContourFilter.h
@@ -57,7 +57,7 @@ public:
   vtkTypeMacro(vtkGenericContourFilter,
                        vtkPolyDataAlgorithm);
 
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with initial range (0,1) and single contour value
@@ -84,7 +84,7 @@ public:
   /**
    * Modified GetMTime Because we delegate to vtkContourValues
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -148,11 +148,11 @@ public:
 
 protected:
   vtkGenericContourFilter();
-  ~vtkGenericContourFilter();
+  ~vtkGenericContourFilter() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
-  int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   vtkContourValues *ContourValues;
   int ComputeNormals;
diff --git a/Filters/Generic/vtkGenericCutter.h b/Filters/Generic/vtkGenericCutter.h
index ef19ffcb6c..620eeac532 100644
--- a/Filters/Generic/vtkGenericCutter.h
+++ b/Filters/Generic/vtkGenericCutter.h
@@ -60,7 +60,7 @@ class VTKFILTERSGENERIC_EXPORT vtkGenericCutter : public vtkPolyDataAlgorithm
 {
 public:
   vtkTypeMacro(vtkGenericCutter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct with user-specified implicit function; initial value of 0.0; and
@@ -120,7 +120,7 @@ public:
    * Override GetMTime because we delegate to vtkContourValues and refer to
    * vtkImplicitFunction.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -158,14 +158,14 @@ public:
 
 protected:
   vtkGenericCutter(vtkImplicitFunction *cf=NULL);
-  ~vtkGenericCutter();
+  ~vtkGenericCutter() VTK_OVERRIDE;
 
   //@{
   /**
    * Actual implementation of the cutter operation.
    */
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int FillInputPortInformation(int, vtkInformation*);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
   //@}
 
   vtkImplicitFunction *CutFunction;
diff --git a/Filters/Generic/vtkGenericDataSetTessellator.h b/Filters/Generic/vtkGenericDataSetTessellator.h
index 561801183e..46575e4ce9 100644
--- a/Filters/Generic/vtkGenericDataSetTessellator.h
+++ b/Filters/Generic/vtkGenericDataSetTessellator.h
@@ -52,7 +52,7 @@ public:
   static vtkGenericDataSetTessellator *New();
   vtkTypeMacro(vtkGenericDataSetTessellator,
                        vtkUnstructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -96,15 +96,15 @@ public:
   /**
    * Return the MTime also considering the locator.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkGenericDataSetTessellator();
-  ~vtkGenericDataSetTessellator();
+  ~vtkGenericDataSetTessellator() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
-  int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   // See Set/Get KeepCellIds() for explanations.
   int KeepCellIds;
diff --git a/Filters/Generic/vtkGenericGeometryFilter.h b/Filters/Generic/vtkGenericGeometryFilter.h
index 207f08a86f..13e6e6de00 100644
--- a/Filters/Generic/vtkGenericGeometryFilter.h
+++ b/Filters/Generic/vtkGenericGeometryFilter.h
@@ -58,7 +58,7 @@ class VTKFILTERSGENERIC_EXPORT vtkGenericGeometryFilter : public vtkPolyDataAlgo
 public:
   static vtkGenericGeometryFilter *New();
   vtkTypeMacro(vtkGenericGeometryFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -161,7 +161,7 @@ public:
   /**
    * Return the MTime also considering the locator.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -177,15 +177,15 @@ public:
 
 protected:
   vtkGenericGeometryFilter();
-  ~vtkGenericGeometryFilter();
+  ~vtkGenericGeometryFilter() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   void PolyDataExecute(); //special cases for performance
   void UnstructuredGridExecute();
   void StructuredGridExecute();
-  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
-  int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   vtkIdType PointMaximum;
   vtkIdType PointMinimum;
diff --git a/Filters/Generic/vtkGenericGlyph3DFilter.h b/Filters/Generic/vtkGenericGlyph3DFilter.h
index 1f799c1940..caa060040b 100644
--- a/Filters/Generic/vtkGenericGlyph3DFilter.h
+++ b/Filters/Generic/vtkGenericGlyph3DFilter.h
@@ -103,7 +103,7 @@ class VTKFILTERSGENERIC_EXPORT vtkGenericGlyph3DFilter : public vtkPolyDataAlgor
 {
 public:
   vtkTypeMacro(vtkGenericGlyph3DFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with scaling on, scaling mode is by scalar value,
@@ -284,13 +284,13 @@ public:
 
 protected:
   vtkGenericGlyph3DFilter();
-  ~vtkGenericGlyph3DFilter();
+  ~vtkGenericGlyph3DFilter() VTK_OVERRIDE;
 
-  int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   vtkPolyData **Source; // Geometry to copy to each point
   int Scaling; // Determine whether scaling of geometry is performed
   int ScaleMode; // Scale by scalar value or vector magnitude
diff --git a/Filters/Generic/vtkGenericOutlineFilter.h b/Filters/Generic/vtkGenericOutlineFilter.h
index cfaebf2dde..604f5667e4 100644
--- a/Filters/Generic/vtkGenericOutlineFilter.h
+++ b/Filters/Generic/vtkGenericOutlineFilter.h
@@ -42,13 +42,13 @@ public:
 
 protected:
   vtkGenericOutlineFilter();
-  ~vtkGenericOutlineFilter();
+  ~vtkGenericOutlineFilter() VTK_OVERRIDE;
 
   vtkOutlineSource *OutlineSource;
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
-  int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
 private:
   vtkGenericOutlineFilter(const vtkGenericOutlineFilter&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Generic/vtkGenericProbeFilter.h b/Filters/Generic/vtkGenericProbeFilter.h
index 7dfb00cecf..0985f67c7c 100644
--- a/Filters/Generic/vtkGenericProbeFilter.h
+++ b/Filters/Generic/vtkGenericProbeFilter.h
@@ -53,7 +53,7 @@ class VTKFILTERSGENERIC_EXPORT vtkGenericProbeFilter : public vtkDataSetAlgorith
 public:
   static vtkGenericProbeFilter *New();
   vtkTypeMacro(vtkGenericProbeFilter,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -74,12 +74,12 @@ public:
 
 protected:
   vtkGenericProbeFilter();
-  ~vtkGenericProbeFilter();
+  ~vtkGenericProbeFilter() VTK_OVERRIDE;
 
-  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
-  int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   vtkIdTypeArray *ValidPoints;
 
diff --git a/Filters/Generic/vtkGenericStreamTracer.h b/Filters/Generic/vtkGenericStreamTracer.h
index 5b2a536a3d..0474ff6eba 100644
--- a/Filters/Generic/vtkGenericStreamTracer.h
+++ b/Filters/Generic/vtkGenericStreamTracer.h
@@ -84,7 +84,7 @@ class VTKFILTERSGENERIC_EXPORT vtkGenericStreamTracer : public vtkPolyDataAlgori
 {
 public:
   vtkTypeMacro(vtkGenericStreamTracer,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object to start from position (0,0,0), integrate forward,
@@ -118,7 +118,7 @@ public:
    */
   void SetSourceConnection(vtkAlgorithmOutput* algOutput);
 
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   enum Units
   {
@@ -363,13 +363,13 @@ public:
 
 protected:
   vtkGenericStreamTracer();
-  ~vtkGenericStreamTracer();
+  ~vtkGenericStreamTracer() VTK_OVERRIDE;
 
   // hide the superclass' AddInput() from the user and the compiler
   void AddInput(vtkDataObject *)
     { vtkErrorMacro( << "AddInput() must be called with a vtkGenericDataSet not a vtkDataObject."); };
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Compute the vorticity at point `pcoords' in cell `cell' for the
diff --git a/Filters/Hybrid/vtkBSplineTransform.h b/Filters/Hybrid/vtkBSplineTransform.h
index bef447ac82..b728d78c4a 100644
--- a/Filters/Hybrid/vtkBSplineTransform.h
+++ b/Filters/Hybrid/vtkBSplineTransform.h
@@ -99,47 +99,47 @@ public:
   /**
    * Make another transform of the same type.
    */
-  vtkAbstractTransform *MakeTransform();
+  vtkAbstractTransform *MakeTransform() VTK_OVERRIDE;
 
   /**
    * Get the MTime.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkBSplineTransform();
-  ~vtkBSplineTransform();
+  ~vtkBSplineTransform() VTK_OVERRIDE;
 
   /**
    * Update the displacement grid.
    */
-  void InternalUpdate();
+  void InternalUpdate() VTK_OVERRIDE;
 
   /**
    * Copy this transform from another of the same type.
    */
-  void InternalDeepCopy(vtkAbstractTransform *transform);
+  void InternalDeepCopy(vtkAbstractTransform *transform) VTK_OVERRIDE;
 
   //@{
   /**
    * Internal functions for calculating the transformation.
    */
-  void ForwardTransformPoint(const float in[3], float out[3]);
-  void ForwardTransformPoint(const double in[3], double out[3]);
+  void ForwardTransformPoint(const float in[3], float out[3]) VTK_OVERRIDE;
+  void ForwardTransformPoint(const double in[3], double out[3]) VTK_OVERRIDE;
   //@}
 
   void ForwardTransformDerivative(const float in[3], float out[3],
-                                  float derivative[3][3]);
+                                  float derivative[3][3]) VTK_OVERRIDE;
   void ForwardTransformDerivative(const double in[3], double out[3],
-                                  double derivative[3][3]);
+                                  double derivative[3][3]) VTK_OVERRIDE;
 
-  void InverseTransformPoint(const float in[3], float out[3]);
-  void InverseTransformPoint(const double in[3], double out[3]);
+  void InverseTransformPoint(const float in[3], float out[3]) VTK_OVERRIDE;
+  void InverseTransformPoint(const double in[3], double out[3]) VTK_OVERRIDE;
 
   void InverseTransformDerivative(const float in[3], float out[3],
-                                  float derivative[3][3]);
+                                  float derivative[3][3]) VTK_OVERRIDE;
   void InverseTransformDerivative(const double in[3], double out[3],
-                                  double derivative[3][3]);
+                                  double derivative[3][3]) VTK_OVERRIDE;
 
   void (*CalculateSpline)(const double point[3], double displacement[3],
                           double derivatives[3][3],
diff --git a/Filters/Hybrid/vtkDSPFilterDefinition.h b/Filters/Hybrid/vtkDSPFilterDefinition.h
index 6aee8d5474..d6e0c7cbc8 100644
--- a/Filters/Hybrid/vtkDSPFilterDefinition.h
+++ b/Filters/Hybrid/vtkDSPFilterDefinition.h
@@ -41,13 +41,13 @@ class VTKFILTERSHYBRID_EXPORT vtkDSPFilterDefinition : public vtkObject
 {
  public:
   vtkTypeMacro(vtkDSPFilterDefinition, vtkObject);
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
   static vtkDSPFilterDefinition *New();
 
  protected:
   vtkDSPFilterDefinition();
   vtkDSPFilterDefinition(vtkDSPFilterDefinition *other);
-  ~vtkDSPFilterDefinition();
+  ~vtkDSPFilterDefinition() VTK_OVERRIDE;
 
  public:
   void Copy(vtkDSPFilterDefinition *other);
diff --git a/Filters/Hybrid/vtkDSPFilterGroup.h b/Filters/Hybrid/vtkDSPFilterGroup.h
index 04eeb0b50c..8e57b0060c 100644
--- a/Filters/Hybrid/vtkDSPFilterGroup.h
+++ b/Filters/Hybrid/vtkDSPFilterGroup.h
@@ -46,7 +46,7 @@ class VTKFILTERSHYBRID_EXPORT vtkDSPFilterGroup : public vtkObject
 public:
   static vtkDSPFilterGroup *New();
   vtkTypeMacro(vtkDSPFilterGroup,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 
   void AddFilter(vtkDSPFilterDefinition *filter);
@@ -73,7 +73,7 @@ public:
 
 protected:
   vtkDSPFilterGroup();
-  ~vtkDSPFilterGroup();
+  ~vtkDSPFilterGroup() VTK_OVERRIDE;
 
 
   vtkDSPFilterGroupVectorArraySTLCloak * /*std::vector<vtkFloatArray *>*/ CachedInputs;
diff --git a/Filters/Hybrid/vtkDepthSortPolyData.h b/Filters/Hybrid/vtkDepthSortPolyData.h
index cb11706222..8a65e58848 100644
--- a/Filters/Hybrid/vtkDepthSortPolyData.h
+++ b/Filters/Hybrid/vtkDepthSortPolyData.h
@@ -47,7 +47,7 @@ public:
   static vtkDepthSortPolyData *New();
 
   vtkTypeMacro(vtkDepthSortPolyData,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum Directions
   {
@@ -152,13 +152,13 @@ public:
    * Return MTime also considering the dependent objects: the camera
    * and/or the prop3D.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkDepthSortPolyData();
-  ~vtkDepthSortPolyData();
+  ~vtkDepthSortPolyData() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   void ComputeProjectionVector(double vector[3], double origin[3]);
 
   int Direction;
diff --git a/Filters/Hybrid/vtkEarthSource.h b/Filters/Hybrid/vtkEarthSource.h
index 15a28df15d..ee756719d9 100644
--- a/Filters/Hybrid/vtkEarthSource.h
+++ b/Filters/Hybrid/vtkEarthSource.h
@@ -34,7 +34,7 @@ class VTKFILTERSHYBRID_EXPORT vtkEarthSource : public vtkPolyDataAlgorithm
 public:
   static vtkEarthSource *New();
   vtkTypeMacro(vtkEarthSource,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -68,9 +68,9 @@ public:
 
 protected:
   vtkEarthSource();
-  ~vtkEarthSource() {}
+  ~vtkEarthSource() VTK_OVERRIDE {}
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   double Radius;
   int OnRatio;
diff --git a/Filters/Hybrid/vtkFacetReader.h b/Filters/Hybrid/vtkFacetReader.h
index f64bedca25..a159ad87e8 100644
--- a/Filters/Hybrid/vtkFacetReader.h
+++ b/Filters/Hybrid/vtkFacetReader.h
@@ -47,7 +47,7 @@ class VTKFILTERSHYBRID_EXPORT vtkFacetReader : public vtkPolyDataAlgorithm
 public:
   static vtkFacetReader *New();
   vtkTypeMacro(vtkFacetReader,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -61,9 +61,9 @@ public:
 
 protected:
   vtkFacetReader();
-  ~vtkFacetReader();
+  ~vtkFacetReader() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   char *FileName;
 
diff --git a/Filters/Hybrid/vtkForceTime.h b/Filters/Hybrid/vtkForceTime.h
index ef8e5c8ff5..e61055a523 100644
--- a/Filters/Hybrid/vtkForceTime.h
+++ b/Filters/Hybrid/vtkForceTime.h
@@ -24,7 +24,7 @@ class VTKFILTERSHYBRID_EXPORT vtkForceTime : public vtkPassInputTypeAlgorithm
 public :
   static vtkForceTime* New();
   vtkTypeMacro(vtkForceTime, vtkPassInputTypeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   // Description:
   // Replace the pipeline time by this one.
@@ -39,18 +39,18 @@ public :
 
 protected:
   vtkForceTime();
-  virtual ~vtkForceTime();
+  ~vtkForceTime() VTK_OVERRIDE;
 
-  virtual int RequestUpdateExtent(vtkInformation*,
+  int RequestUpdateExtent(vtkInformation*,
                                   vtkInformationVector**,
-                                  vtkInformationVector*);
-  virtual int RequestInformation(vtkInformation*,
+                                  vtkInformationVector*) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation*,
                                  vtkInformationVector**,
-                                 vtkInformationVector*);
+                                 vtkInformationVector*) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation*,
+  int RequestData(vtkInformation*,
                           vtkInformationVector**,
-                          vtkInformationVector*);
+                          vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkForceTime(const vtkForceTime&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Hybrid/vtkGreedyTerrainDecimation.h b/Filters/Hybrid/vtkGreedyTerrainDecimation.h
index cbe546aa15..0cf43d0750 100644
--- a/Filters/Hybrid/vtkGreedyTerrainDecimation.h
+++ b/Filters/Hybrid/vtkGreedyTerrainDecimation.h
@@ -90,7 +90,7 @@ class VTKFILTERSHYBRID_EXPORT vtkGreedyTerrainDecimation : public vtkPolyDataAlg
 {
 public:
   vtkTypeMacro(vtkGreedyTerrainDecimation,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate the class.
@@ -179,10 +179,10 @@ public:
 
 protected:
   vtkGreedyTerrainDecimation();
-  ~vtkGreedyTerrainDecimation();
+  ~vtkGreedyTerrainDecimation() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   int ComputeNormals;
   vtkFloatArray* Normals;
diff --git a/Filters/Hybrid/vtkGridTransform.h b/Filters/Hybrid/vtkGridTransform.h
index b2affa6d1f..ef113cd58d 100644
--- a/Filters/Hybrid/vtkGridTransform.h
+++ b/Filters/Hybrid/vtkGridTransform.h
@@ -99,47 +99,47 @@ public:
   /**
    * Make another transform of the same type.
    */
-  vtkAbstractTransform *MakeTransform();
+  vtkAbstractTransform *MakeTransform() VTK_OVERRIDE;
 
   /**
    * Get the MTime.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkGridTransform();
-  ~vtkGridTransform();
+  ~vtkGridTransform() VTK_OVERRIDE;
 
   /**
    * Update the displacement grid.
    */
-  void InternalUpdate();
+  void InternalUpdate() VTK_OVERRIDE;
 
   /**
    * Copy this transform from another of the same type.
    */
-  void InternalDeepCopy(vtkAbstractTransform *transform);
+  void InternalDeepCopy(vtkAbstractTransform *transform) VTK_OVERRIDE;
 
   //@{
   /**
    * Internal functions for calculating the transformation.
    */
-  void ForwardTransformPoint(const float in[3], float out[3]);
-  void ForwardTransformPoint(const double in[3], double out[3]);
+  void ForwardTransformPoint(const float in[3], float out[3]) VTK_OVERRIDE;
+  void ForwardTransformPoint(const double in[3], double out[3]) VTK_OVERRIDE;
   //@}
 
   void ForwardTransformDerivative(const float in[3], float out[3],
-                                  float derivative[3][3]);
+                                  float derivative[3][3]) VTK_OVERRIDE;
   void ForwardTransformDerivative(const double in[3], double out[3],
-                                  double derivative[3][3]);
+                                  double derivative[3][3]) VTK_OVERRIDE;
 
-  void InverseTransformPoint(const float in[3], float out[3]);
-  void InverseTransformPoint(const double in[3], double out[3]);
+  void InverseTransformPoint(const float in[3], float out[3]) VTK_OVERRIDE;
+  void InverseTransformPoint(const double in[3], double out[3]) VTK_OVERRIDE;
 
   void InverseTransformDerivative(const float in[3], float out[3],
-                                  float derivative[3][3]);
+                                  float derivative[3][3]) VTK_OVERRIDE;
   void InverseTransformDerivative(const double in[3], double out[3],
-                                  double derivative[3][3]);
+                                  double derivative[3][3]) VTK_OVERRIDE;
 
   void (*InterpolationFunction)(double point[3], double displacement[3],
                                 double derivatives[3][3],
diff --git a/Filters/Hybrid/vtkImageToPolyDataFilter.h b/Filters/Hybrid/vtkImageToPolyDataFilter.h
index b81435db99..ec5226058a 100644
--- a/Filters/Hybrid/vtkImageToPolyDataFilter.h
+++ b/Filters/Hybrid/vtkImageToPolyDataFilter.h
@@ -87,7 +87,7 @@ class VTKFILTERSHYBRID_EXPORT vtkImageToPolyDataFilter : public vtkPolyDataAlgor
 {
 public:
   vtkTypeMacro(vtkImageToPolyDataFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate object with initial number of colors 256.
@@ -198,10 +198,10 @@ public:
 
 protected:
   vtkImageToPolyDataFilter();
-  ~vtkImageToPolyDataFilter();
+  ~vtkImageToPolyDataFilter() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   int OutputStyle;
   int ColorMode;
diff --git a/Filters/Hybrid/vtkImplicitModeller.h b/Filters/Hybrid/vtkImplicitModeller.h
index 56f2929de1..64b21d786f 100644
--- a/Filters/Hybrid/vtkImplicitModeller.h
+++ b/Filters/Hybrid/vtkImplicitModeller.h
@@ -101,7 +101,7 @@ class VTKFILTERSHYBRID_EXPORT vtkImplicitModeller : public vtkImageAlgorithm
 {
 public:
   vtkTypeMacro(vtkImplicitModeller,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct with sample dimensions=(50,50,50), and so that model bounds are
@@ -282,19 +282,19 @@ public:
   // See the vtkAlgorithm for a desciption of what these do
   int ProcessRequest(vtkInformation*,
                      vtkInformationVector**,
-                     vtkInformationVector*);
+                     vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   vtkImplicitModeller();
-  ~vtkImplicitModeller();
+  ~vtkImplicitModeller() VTK_OVERRIDE;
 
   double GetScalarTypeMax(int type);
 
-  virtual int RequestInformation (vtkInformation *,
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
-  virtual int RequestData (vtkInformation *,
-                           vtkInformationVector **, vtkInformationVector *);
+                                  vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData (vtkInformation *,
+                           vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   void StartAppend(int internal);
   void Cap(vtkDataArray *s);
@@ -321,7 +321,7 @@ protected:
   // the max distance computed during that one call
   double InternalMaxDistance;
 
-  virtual int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
 private:
   vtkImplicitModeller(const vtkImplicitModeller&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Hybrid/vtkPCAAnalysisFilter.h b/Filters/Hybrid/vtkPCAAnalysisFilter.h
index 1d66858ec4..38df3f4ccc 100644
--- a/Filters/Hybrid/vtkPCAAnalysisFilter.h
+++ b/Filters/Hybrid/vtkPCAAnalysisFilter.h
@@ -64,7 +64,7 @@ class VTKFILTERSHYBRID_EXPORT vtkPCAAnalysisFilter : public vtkMultiBlockDataSet
   /**
    * Prints information about the state of the filter.
    */
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates with similarity transform.
@@ -113,12 +113,12 @@ class VTKFILTERSHYBRID_EXPORT vtkPCAAnalysisFilter : public vtkMultiBlockDataSet
 
 protected:
   vtkPCAAnalysisFilter();
-  ~vtkPCAAnalysisFilter();
+  ~vtkPCAAnalysisFilter() VTK_OVERRIDE;
 
   /**
    * Usual data generation method.
    */
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkPCAAnalysisFilter(const vtkPCAAnalysisFilter&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Hybrid/vtkPolyDataSilhouette.h b/Filters/Hybrid/vtkPolyDataSilhouette.h
index 0507f57c7b..b54f6e3215 100644
--- a/Filters/Hybrid/vtkPolyDataSilhouette.h
+++ b/Filters/Hybrid/vtkPolyDataSilhouette.h
@@ -56,7 +56,7 @@ public:
   static vtkPolyDataSilhouette *New();
 
   vtkTypeMacro(vtkPolyDataSilhouette,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -165,13 +165,13 @@ public:
    * Return MTime also considering the dependent objects: the camera
    * and/or the prop3D.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkPolyDataSilhouette();
-  ~vtkPolyDataSilhouette();
+  ~vtkPolyDataSilhouette() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   void ComputeProjectionVector(double vector[3], double origin[3]);
 
   int Direction;
diff --git a/Filters/Hybrid/vtkProcrustesAlignmentFilter.h b/Filters/Hybrid/vtkProcrustesAlignmentFilter.h
index ec3990d8ba..08456daec1 100644
--- a/Filters/Hybrid/vtkProcrustesAlignmentFilter.h
+++ b/Filters/Hybrid/vtkProcrustesAlignmentFilter.h
@@ -67,7 +67,7 @@ public:
   /**
    * Prints information about the state of the filter.
    */
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates with similarity transform.
@@ -118,12 +118,12 @@ public:
 
 protected:
   vtkProcrustesAlignmentFilter();
-  ~vtkProcrustesAlignmentFilter();
+  ~vtkProcrustesAlignmentFilter() VTK_OVERRIDE;
 
   /**
    * Usual data generation method.
    */
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   vtkLandmarkTransform *LandmarkTransform;
 
diff --git a/Filters/Hybrid/vtkProjectedTerrainPath.h b/Filters/Hybrid/vtkProjectedTerrainPath.h
index af6ea0ee84..2b3eed2eb4 100644
--- a/Filters/Hybrid/vtkProjectedTerrainPath.h
+++ b/Filters/Hybrid/vtkProjectedTerrainPath.h
@@ -84,7 +84,7 @@ public:
    * Standard methids for printing and determining type information.
    */
   vtkTypeMacro(vtkProjectedTerrainPath,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -162,11 +162,11 @@ public:
 
 protected:
   vtkProjectedTerrainPath();
-  ~vtkProjectedTerrainPath();
+  ~vtkProjectedTerrainPath() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   // Supporting methods
   void GetImageIndex(double x[3], double loc[2], int ij[2]);
diff --git a/Filters/Hybrid/vtkRenderLargeImage.h b/Filters/Hybrid/vtkRenderLargeImage.h
index f6897d277c..96824141a7 100644
--- a/Filters/Hybrid/vtkRenderLargeImage.h
+++ b/Filters/Hybrid/vtkRenderLargeImage.h
@@ -36,7 +36,7 @@ class VTKFILTERSHYBRID_EXPORT vtkRenderLargeImage : public vtkAlgorithm
 public:
   static vtkRenderLargeImage *New();
   vtkTypeMacro(vtkRenderLargeImage,vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -66,13 +66,13 @@ public:
   /**
    * see vtkAlgorithm for details
    */
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   vtkRenderLargeImage();
-  ~vtkRenderLargeImage();
+  ~vtkRenderLargeImage() VTK_OVERRIDE;
 
   int Magnification;
   vtkRenderer *Input;
@@ -82,7 +82,7 @@ protected:
                            vtkInformationVector **, vtkInformationVector *);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   // Adjust the coordinates of all 2D actors to fit new window size
   void Rescale2DActors();
diff --git a/Filters/Hybrid/vtkTemporalDataSetCache.h b/Filters/Hybrid/vtkTemporalDataSetCache.h
index ce762e7e75..1cf6c44b58 100644
--- a/Filters/Hybrid/vtkTemporalDataSetCache.h
+++ b/Filters/Hybrid/vtkTemporalDataSetCache.h
@@ -41,7 +41,7 @@ class VTKFILTERSHYBRID_EXPORT vtkTemporalDataSetCache : public vtkAlgorithm
 public:
   static vtkTemporalDataSetCache *New();
   vtkTypeMacro(vtkTemporalDataSetCache, vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -54,7 +54,7 @@ public:
 
 protected:
   vtkTemporalDataSetCache();
-  ~vtkTemporalDataSetCache();
+  ~vtkTemporalDataSetCache() VTK_OVERRIDE;
 
   int CacheSize;
 
@@ -65,12 +65,12 @@ protected:
   /**
    * see vtkAlgorithm for details
    */
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inputVector,
-                             vtkInformationVector* outputVector);
+                             vtkInformationVector* outputVector) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
-  virtual int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info) VTK_OVERRIDE;
   virtual int RequestDataObject( vtkInformation*,
                                  vtkInformationVector** inputVector ,
                                  vtkInformationVector* outputVector);
diff --git a/Filters/Hybrid/vtkTemporalFractal.h b/Filters/Hybrid/vtkTemporalFractal.h
index 54c3f0c68b..be7f0959fe 100644
--- a/Filters/Hybrid/vtkTemporalFractal.h
+++ b/Filters/Hybrid/vtkTemporalFractal.h
@@ -45,7 +45,7 @@ class VTKFILTERSHYBRID_EXPORT vtkTemporalFractal: public vtkAlgorithm
 public:
   static vtkTemporalFractal *New();
   vtkTypeMacro(vtkTemporalFractal,vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -134,9 +134,9 @@ public:
 
 protected:
   vtkTemporalFractal();
-  ~vtkTemporalFractal();
+  ~vtkTemporalFractal() VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info);
+  int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info) VTK_OVERRIDE;
 
   int StartBlock;
   int EndBlock;
@@ -145,9 +145,9 @@ protected:
   /**
    * see vtkAlgorithm for details
    */
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inputVector,
-                             vtkInformationVector* outputVector);
+                             vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   /**
    * This is called by the superclass.
diff --git a/Filters/Hybrid/vtkTemporalInterpolator.h b/Filters/Hybrid/vtkTemporalInterpolator.h
index 9563188f68..05076a1e6f 100644
--- a/Filters/Hybrid/vtkTemporalInterpolator.h
+++ b/Filters/Hybrid/vtkTemporalInterpolator.h
@@ -64,7 +64,7 @@ class VTKFILTERSHYBRID_EXPORT vtkTemporalInterpolator : public vtkMultiTimeStepA
 public:
   static vtkTemporalInterpolator *New();
   vtkTypeMacro(vtkTemporalInterpolator, vtkMultiTimeStepAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -105,30 +105,30 @@ public:
 
 protected:
   vtkTemporalInterpolator();
-  ~vtkTemporalInterpolator();
+  ~vtkTemporalInterpolator() VTK_OVERRIDE;
 
 
   double DiscreteTimeStepInterval;
   int    ResampleFactor;
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
-  virtual int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info) VTK_OVERRIDE;
 
 
-  virtual int RequestDataObject(vtkInformation *,
+  int RequestDataObject(vtkInformation *,
                                 vtkInformationVector **,
-                                vtkInformationVector *);
+                                vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int RequestUpdateExtent(vtkInformation *,
+  int RequestUpdateExtent(vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
-  virtual int RequestInformation(vtkInformation *,
+                                  vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *,
                                  vtkInformationVector **,
-                                 vtkInformationVector *);
+                                 vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * General interpolation routine for any type on input data. This is
diff --git a/Filters/Hybrid/vtkTemporalShiftScale.h b/Filters/Hybrid/vtkTemporalShiftScale.h
index 53209895f2..ab697f306a 100644
--- a/Filters/Hybrid/vtkTemporalShiftScale.h
+++ b/Filters/Hybrid/vtkTemporalShiftScale.h
@@ -42,7 +42,7 @@ class VTKFILTERSHYBRID_EXPORT vtkTemporalShiftScale: public vtkAlgorithm
 public:
   static vtkTemporalShiftScale *New();
   vtkTypeMacro(vtkTemporalShiftScale, vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -116,7 +116,7 @@ public:
 
 protected:
   vtkTemporalShiftScale();
-  ~vtkTemporalShiftScale();
+  ~vtkTemporalShiftScale() VTK_OVERRIDE;
 
   double PreShift;
   double PostShift;
@@ -134,16 +134,16 @@ protected:
   /**
    * see vtkAlgorithm for details
    */
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inputVector,
-                             vtkInformationVector* outputVector);
+                             vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   virtual int RequestUpdateExtent (vtkInformation *,
                                    vtkInformationVector **,
                                    vtkInformationVector *);
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
-  virtual int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info) VTK_OVERRIDE;
 
 
   virtual int RequestDataObject(vtkInformation *,
diff --git a/Filters/Hybrid/vtkTemporalSnapToTimeStep.h b/Filters/Hybrid/vtkTemporalSnapToTimeStep.h
index acaf9d6e17..612f5212b0 100644
--- a/Filters/Hybrid/vtkTemporalSnapToTimeStep.h
+++ b/Filters/Hybrid/vtkTemporalSnapToTimeStep.h
@@ -42,7 +42,7 @@ class VTKFILTERSHYBRID_EXPORT vtkTemporalSnapToTimeStep : public vtkAlgorithm
 public:
   static vtkTemporalSnapToTimeStep *New();
   vtkTypeMacro(vtkTemporalSnapToTimeStep, vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum {
     VTK_SNAP_NEAREST=0,
@@ -58,17 +58,17 @@ public:
 
 protected:
   vtkTemporalSnapToTimeStep();
-  ~vtkTemporalSnapToTimeStep();
+  ~vtkTemporalSnapToTimeStep() VTK_OVERRIDE;
 
   /**
    * see vtkAlgorithm for details
    */
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inputVector,
-                             vtkInformationVector* outputVector);
+                             vtkInformationVector* outputVector) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
-  virtual int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info) VTK_OVERRIDE;
 
   virtual int RequestUpdateExtent (vtkInformation *,
                                    vtkInformationVector **,
diff --git a/Filters/Hybrid/vtkTransformToGrid.h b/Filters/Hybrid/vtkTransformToGrid.h
index c1f128bb2b..2961c2b488 100644
--- a/Filters/Hybrid/vtkTransformToGrid.h
+++ b/Filters/Hybrid/vtkTransformToGrid.h
@@ -38,7 +38,7 @@ class VTKFILTERSHYBRID_EXPORT vtkTransformToGrid : public vtkAlgorithm
 public:
   static vtkTransformToGrid *New();
   vtkTypeMacro(vtkTransformToGrid,vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -109,13 +109,13 @@ public:
   /**
    * see vtkAlgorithm for details
    */
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   vtkTransformToGrid();
-  ~vtkTransformToGrid();
+  ~vtkTransformToGrid() VTK_OVERRIDE;
 
   void RequestInformation (vtkInformation *,
                            vtkInformationVector **, vtkInformationVector *);
@@ -129,7 +129,7 @@ protected:
    */
   void UpdateShiftScale();
 
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   vtkAbstractTransform *Input;
 
@@ -143,7 +143,7 @@ protected:
   vtkTimeStamp ShiftScaleTime;
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkTransformToGrid(const vtkTransformToGrid&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Hybrid/vtkWeightedTransformFilter.h b/Filters/Hybrid/vtkWeightedTransformFilter.h
index f5c4f22f9d..b0176a33be 100644
--- a/Filters/Hybrid/vtkWeightedTransformFilter.h
+++ b/Filters/Hybrid/vtkWeightedTransformFilter.h
@@ -81,12 +81,12 @@ class VTKFILTERSHYBRID_EXPORT vtkWeightedTransformFilter : public vtkPointSetAlg
 public:
   static vtkWeightedTransformFilter *New();
   vtkTypeMacro(vtkWeightedTransformFilter,vtkPointSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Return the MTime also considering the filter's transforms.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -189,9 +189,9 @@ protected:
   char *TransformIndexArray;
 
   vtkWeightedTransformFilter();
-  ~vtkWeightedTransformFilter();
+  ~vtkWeightedTransformFilter() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 private:
   vtkWeightedTransformFilter(const vtkWeightedTransformFilter&) VTK_DELETE_FUNCTION;
   void operator=(const vtkWeightedTransformFilter&) VTK_DELETE_FUNCTION;
diff --git a/Filters/HyperTree/vtkClipHyperOctree.h b/Filters/HyperTree/vtkClipHyperOctree.h
index 126439429e..4cbce4fa2b 100644
--- a/Filters/HyperTree/vtkClipHyperOctree.h
+++ b/Filters/HyperTree/vtkClipHyperOctree.h
@@ -83,7 +83,7 @@ class VTKFILTERSHYPERTREE_EXPORT vtkClipHyperOctree : public vtkUnstructuredGrid
 {
 public:
   vtkTypeMacro(vtkClipHyperOctree,vtkUnstructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct with user-specified implicit function; InsideOut turned off;
@@ -170,13 +170,13 @@ public:
   /**
    * Return the mtime also considering the locator and clip function.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkClipHyperOctree(vtkImplicitFunction *cf=NULL);
-  ~vtkClipHyperOctree();
+  ~vtkClipHyperOctree() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Clip the sub-hierarchy pointed by cursor.
@@ -187,7 +187,7 @@ protected:
                 int level,
                 double bounds[6]);
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
   vtkImplicitFunction *ClipFunction;
 
   vtkIncrementalPointLocator *Locator;
diff --git a/Filters/HyperTree/vtkHyperOctreeClipCutPointsGrabber.h b/Filters/HyperTree/vtkHyperOctreeClipCutPointsGrabber.h
index b31cb6406c..273c77861f 100644
--- a/Filters/HyperTree/vtkHyperOctreeClipCutPointsGrabber.h
+++ b/Filters/HyperTree/vtkHyperOctreeClipCutPointsGrabber.h
@@ -40,14 +40,14 @@ public:
 
   vtkTypeMacro(vtkHyperOctreeClipCutPointsGrabber,vtkHyperOctreePointsGrabber);
 
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set the dimension of the hyperoctree.
    * \pre valid_dim: (dim==2 || dim==3)
    * \post is_set: GetDimension()==dim
    */
-  virtual void SetDimension(int dim);
+  void SetDimension(int dim) VTK_OVERRIDE;
 
   /**
    * Initialize the points insertion scheme.
@@ -57,31 +57,31 @@ public:
    * that lie on an hyperoctant.
    * \pre only_in_3d: GetDimension()==3
    */
-  virtual void InitPointInsertion();
+  void InitPointInsertion() VTK_OVERRIDE;
 
   /**
    * Insert a point, assuming the point is unique and does not require a
    * locator. Tt does not mean it does not use a locator. It just mean that
    * some implementation may skip the use of a locator.
    */
-  virtual void InsertPoint(vtkIdType ptId,
+  void InsertPoint(vtkIdType ptId,
                            double pt[3],
                            double pcoords[3],
-                           int ijk[3]);
+                           int ijk[3]) VTK_OVERRIDE;
 
   /**
    * Insert a point using a locator.
    */
-  virtual void InsertPointWithMerge(vtkIdType ptId,
+  void InsertPointWithMerge(vtkIdType ptId,
                                     double pt[3],
                                     double pcoords[3],
-                                    int ijk[3]);
+                                    int ijk[3]) VTK_OVERRIDE;
 
   /**
    * Insert a point in the quadtree case.
    */
-  virtual void InsertPoint2D(double pt[3],
-                             int ijk[3]);
+  void InsertPoint2D(double pt[3],
+                             int ijk[3]) VTK_OVERRIDE;
 
   /**
    * Return the ordered triangulator.
@@ -97,7 +97,7 @@ public:
 protected:
   // Constructor with default bounds (0,1, 0,1, 0,1).
   vtkHyperOctreeClipCutPointsGrabber();
-  ~vtkHyperOctreeClipCutPointsGrabber();
+  ~vtkHyperOctreeClipCutPointsGrabber() VTK_OVERRIDE;
 
   vtkOrderedTriangulator *Triangulator;
   vtkPolygon *Polygon;
diff --git a/Filters/HyperTree/vtkHyperOctreeContourFilter.h b/Filters/HyperTree/vtkHyperOctreeContourFilter.h
index 8b76ca091c..bd703162e5 100644
--- a/Filters/HyperTree/vtkHyperOctreeContourFilter.h
+++ b/Filters/HyperTree/vtkHyperOctreeContourFilter.h
@@ -70,7 +70,7 @@ class VTKFILTERSHYPERTREE_EXPORT vtkHyperOctreeContourFilter : public vtkPolyDat
 {
 public:
   vtkTypeMacro(vtkHyperOctreeContourFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with initial range (0,1) and single contour value
@@ -158,7 +158,7 @@ public:
   /**
    * Modified GetMTime Because we delegate to vtkContourValues
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -177,15 +177,15 @@ public:
 
 protected:
   vtkHyperOctreeContourFilter();
-  ~vtkHyperOctreeContourFilter();
+  ~vtkHyperOctreeContourFilter() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation* request,
+  int RequestData(vtkInformation* request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
-  virtual int RequestUpdateExtent(vtkInformation*,
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation*,
                                   vtkInformationVector**,
-                                  vtkInformationVector*);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+                                  vtkInformationVector*) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   /**
    * Do the recursive contour of the node pointed by Cursor.
diff --git a/Filters/HyperTree/vtkHyperOctreeCutter.h b/Filters/HyperTree/vtkHyperOctreeCutter.h
index 311ffd72d9..a08b3c7fdf 100644
--- a/Filters/HyperTree/vtkHyperOctreeCutter.h
+++ b/Filters/HyperTree/vtkHyperOctreeCutter.h
@@ -72,7 +72,7 @@ class VTKFILTERSHYPERTREE_EXPORT vtkHyperOctreeCutter : public vtkPolyDataAlgori
 {
 public:
   vtkTypeMacro(vtkHyperOctreeCutter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct with user-specified implicit function; initial value of 0.0; and
@@ -140,7 +140,7 @@ public:
    * Override GetMTime because we delegate to vtkContourValues and refer to
    * vtkImplicitFunction.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -219,11 +219,11 @@ public:
 
 protected:
   vtkHyperOctreeCutter(vtkImplicitFunction *cf=NULL);
-  ~vtkHyperOctreeCutter();
+  ~vtkHyperOctreeCutter() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   /**
    * Cut the sub-hierarchy pointed by cursor.
diff --git a/Filters/HyperTree/vtkHyperOctreeDepth.h b/Filters/HyperTree/vtkHyperOctreeDepth.h
index 0acf6cf8e4..df3d70f37a 100644
--- a/Filters/HyperTree/vtkHyperOctreeDepth.h
+++ b/Filters/HyperTree/vtkHyperOctreeDepth.h
@@ -41,11 +41,11 @@ public:
 
 protected:
   vtkHyperOctreeDepth();
-  ~vtkHyperOctreeDepth();
+  ~vtkHyperOctreeDepth() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
-  virtual int FillOutputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   vtkHyperOctree *Input;
   vtkHyperOctree *Output;
diff --git a/Filters/HyperTree/vtkHyperOctreeDualGridContourFilter.h b/Filters/HyperTree/vtkHyperOctreeDualGridContourFilter.h
index c847ee0c60..ff0985f338 100644
--- a/Filters/HyperTree/vtkHyperOctreeDualGridContourFilter.h
+++ b/Filters/HyperTree/vtkHyperOctreeDualGridContourFilter.h
@@ -59,7 +59,7 @@ class VTKFILTERSHYPERTREE_EXPORT vtkHyperOctreeDualGridContourFilter : public vt
 {
 public:
   vtkTypeMacro(vtkHyperOctreeDualGridContourFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with initial range (0,1) and single contour value
@@ -147,7 +147,7 @@ public:
   /**
    * Modified GetMTime Because we delegate to vtkContourValues
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -166,15 +166,15 @@ public:
 
 protected:
   vtkHyperOctreeDualGridContourFilter();
-  ~vtkHyperOctreeDualGridContourFilter();
+  ~vtkHyperOctreeDualGridContourFilter() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation* request,
+  int RequestData(vtkInformation* request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
-  virtual int RequestUpdateExtent(vtkInformation*,
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation*,
                                   vtkInformationVector**,
-                                  vtkInformationVector*);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+                                  vtkInformationVector*) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   /**
    * Do the recursive contour of the node pointed by Cursor.
diff --git a/Filters/HyperTree/vtkHyperOctreeLimiter.h b/Filters/HyperTree/vtkHyperOctreeLimiter.h
index adada57a8f..918e0a10e0 100644
--- a/Filters/HyperTree/vtkHyperOctreeLimiter.h
+++ b/Filters/HyperTree/vtkHyperOctreeLimiter.h
@@ -52,11 +52,11 @@ public:
 
 protected:
   vtkHyperOctreeLimiter();
-  ~vtkHyperOctreeLimiter();
+  ~vtkHyperOctreeLimiter() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
-  virtual int FillOutputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   vtkHyperOctree *Input;
   vtkHyperOctree *Output;
diff --git a/Filters/HyperTree/vtkHyperOctreeSampleFunction.h b/Filters/HyperTree/vtkHyperOctreeSampleFunction.h
index 85ec5286ee..633413b842 100644
--- a/Filters/HyperTree/vtkHyperOctreeSampleFunction.h
+++ b/Filters/HyperTree/vtkHyperOctreeSampleFunction.h
@@ -38,7 +38,7 @@ class VTKFILTERSHYPERTREE_EXPORT vtkHyperOctreeSampleFunction : public vtkHyperO
 {
 public:
   vtkTypeMacro(vtkHyperOctreeSampleFunction,vtkHyperOctreeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkHyperOctreeSampleFunction *New();
 
@@ -200,7 +200,7 @@ public:
   /**
    * Return the MTime also considering the implicit function.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   //@{
@@ -211,15 +211,15 @@ protected:
    * Threshold is 0.1.
    */
   vtkHyperOctreeSampleFunction();
-  ~vtkHyperOctreeSampleFunction();
+  ~vtkHyperOctreeSampleFunction() VTK_OVERRIDE;
   //@}
 
 
   int RequestInformation (vtkInformation * vtkNotUsed(request),
                           vtkInformationVector ** vtkNotUsed( inputVector ),
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   void Subdivide(vtkHyperOctreeCursor *cursor,
                  int level,
diff --git a/Filters/HyperTree/vtkHyperOctreeSurfaceFilter.h b/Filters/HyperTree/vtkHyperOctreeSurfaceFilter.h
index f855f4f243..25eeafb914 100644
--- a/Filters/HyperTree/vtkHyperOctreeSurfaceFilter.h
+++ b/Filters/HyperTree/vtkHyperOctreeSurfaceFilter.h
@@ -38,7 +38,7 @@ class VTKFILTERSHYPERTREE_EXPORT vtkHyperOctreeSurfaceFilter : public vtkPolyDat
 public:
   static vtkHyperOctreeSurfaceFilter *New();
   vtkTypeMacro(vtkHyperOctreeSurfaceFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -63,7 +63,7 @@ public:
   /**
    * Return the MTime also considering the locator.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -79,10 +79,10 @@ public:
 
 protected:
   vtkHyperOctreeSurfaceFilter();
-  ~vtkHyperOctreeSurfaceFilter();
+  ~vtkHyperOctreeSurfaceFilter() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   void GenerateLines(double bounds[2],
                      vtkIdType ptIds[2]);
diff --git a/Filters/HyperTree/vtkHyperOctreeToUniformGridFilter.h b/Filters/HyperTree/vtkHyperOctreeToUniformGridFilter.h
index 79cd61513e..1851cd6ac4 100644
--- a/Filters/HyperTree/vtkHyperOctreeToUniformGridFilter.h
+++ b/Filters/HyperTree/vtkHyperOctreeToUniformGridFilter.h
@@ -41,18 +41,18 @@ class VTKFILTERSHYPERTREE_EXPORT vtkHyperOctreeToUniformGridFilter : public vtkI
 public:
   static vtkHyperOctreeToUniformGridFilter *New();
   vtkTypeMacro(vtkHyperOctreeToUniformGridFilter,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkHyperOctreeToUniformGridFilter();
-  ~vtkHyperOctreeToUniformGridFilter();
+  ~vtkHyperOctreeToUniformGridFilter() VTK_OVERRIDE;
 
   int RequestInformation (vtkInformation * vtkNotUsed(request),
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   void CopyCellData(int cellExtent[6]);
 
diff --git a/Filters/HyperTree/vtkHyperTreeGridAxisCut.h b/Filters/HyperTree/vtkHyperTreeGridAxisCut.h
index 05044482ad..035fbc7e16 100644
--- a/Filters/HyperTree/vtkHyperTreeGridAxisCut.h
+++ b/Filters/HyperTree/vtkHyperTreeGridAxisCut.h
@@ -46,7 +46,7 @@ class VTKFILTERSHYPERTREE_EXPORT vtkHyperTreeGridAxisCut : public vtkPolyDataAlg
 public:
   static vtkHyperTreeGridAxisCut* New();
   vtkTypeMacro( vtkHyperTreeGridAxisCut, vtkPolyDataAlgorithm );
-  void PrintSelf( ostream&, vtkIndent );
+  void PrintSelf( ostream&, vtkIndent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -66,10 +66,10 @@ public:
 
 protected:
   vtkHyperTreeGridAxisCut();
-  ~vtkHyperTreeGridAxisCut();
+  ~vtkHyperTreeGridAxisCut() VTK_OVERRIDE;
 
-  virtual int RequestData( vtkInformation*, vtkInformationVector**, vtkInformationVector* );
-  virtual int FillInputPortInformation( int, vtkInformation* );
+  int RequestData( vtkInformation*, vtkInformationVector**, vtkInformationVector* ) VTK_OVERRIDE;
+  int FillInputPortInformation( int, vtkInformation* ) VTK_OVERRIDE;
 
   void ProcessTrees();
   void RecursiveProcessTree( void* );
diff --git a/Filters/HyperTree/vtkHyperTreeGridGeometry.h b/Filters/HyperTree/vtkHyperTreeGridGeometry.h
index d536fa294e..34f4078f15 100644
--- a/Filters/HyperTree/vtkHyperTreeGridGeometry.h
+++ b/Filters/HyperTree/vtkHyperTreeGridGeometry.h
@@ -41,15 +41,15 @@ class VTKFILTERSHYPERTREE_EXPORT vtkHyperTreeGridGeometry : public vtkPolyDataAl
 public:
   static vtkHyperTreeGridGeometry* New();
   vtkTypeMacro( vtkHyperTreeGridGeometry, vtkPolyDataAlgorithm );
-  void PrintSelf( ostream&, vtkIndent );
+  void PrintSelf( ostream&, vtkIndent ) VTK_OVERRIDE;
 
 protected:
   vtkHyperTreeGridGeometry();
-  ~vtkHyperTreeGridGeometry();
+  ~vtkHyperTreeGridGeometry() VTK_OVERRIDE;
 
-  virtual int RequestData( vtkInformation*,
-    vtkInformationVector**, vtkInformationVector* );
-  virtual int FillInputPortInformation( int, vtkInformation* );
+  int RequestData( vtkInformation*,
+    vtkInformationVector**, vtkInformationVector* ) VTK_OVERRIDE;
+  int FillInputPortInformation( int, vtkInformation* ) VTK_OVERRIDE;
 
   void ProcessTrees();
   void RecursiveProcessTree( void* );
diff --git a/Filters/HyperTree/vtkHyperTreeGridToUnstructuredGrid.h b/Filters/HyperTree/vtkHyperTreeGridToUnstructuredGrid.h
index 87c30a42ab..0b0c0868e9 100644
--- a/Filters/HyperTree/vtkHyperTreeGridToUnstructuredGrid.h
+++ b/Filters/HyperTree/vtkHyperTreeGridToUnstructuredGrid.h
@@ -48,18 +48,18 @@ class VTKFILTERSHYPERTREE_EXPORT vtkHyperTreeGridToUnstructuredGrid : public vtk
 public:
   static vtkHyperTreeGridToUnstructuredGrid* New();
   vtkTypeMacro( vtkHyperTreeGridToUnstructuredGrid, vtkUnstructuredGridAlgorithm );
-  void PrintSelf( ostream&, vtkIndent );
+  void PrintSelf( ostream&, vtkIndent ) VTK_OVERRIDE;
 
 protected:
   vtkHyperTreeGridToUnstructuredGrid();
-  ~vtkHyperTreeGridToUnstructuredGrid();
+  ~vtkHyperTreeGridToUnstructuredGrid() VTK_OVERRIDE;
 
   unsigned int Dimension;
   unsigned int CellSize;
   unsigned int* Coefficients;
 
-  virtual int RequestData( vtkInformation*, vtkInformationVector**, vtkInformationVector* );
-  virtual int FillInputPortInformation( int, vtkInformation* );
+  int RequestData( vtkInformation*, vtkInformationVector**, vtkInformationVector* ) VTK_OVERRIDE;
+  int FillInputPortInformation( int, vtkInformation* ) VTK_OVERRIDE;
 
   void ProcessTrees();
   void RecursiveProcessTree( void* );
diff --git a/Filters/Imaging/vtkComputeHistogram2DOutliers.h b/Filters/Imaging/vtkComputeHistogram2DOutliers.h
index 8297265bc8..2533a89a84 100644
--- a/Filters/Imaging/vtkComputeHistogram2DOutliers.h
+++ b/Filters/Imaging/vtkComputeHistogram2DOutliers.h
@@ -64,7 +64,7 @@ class VTKFILTERSIMAGING_EXPORT vtkComputeHistogram2DOutliers : public vtkSelecti
 public:
   static vtkComputeHistogram2DOutliers* New();
   vtkTypeMacro(vtkComputeHistogram2DOutliers, vtkSelectionAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkSetMacro(PreferredNumberOfOutliers,int);
   vtkGetMacro(PreferredNumberOfOutliers,int);
@@ -105,18 +105,18 @@ public:
 
 protected:
   vtkComputeHistogram2DOutliers();
-  ~vtkComputeHistogram2DOutliers();
+  ~vtkComputeHistogram2DOutliers() VTK_OVERRIDE;
 
   int PreferredNumberOfOutliers;
   vtkTimeStamp BuildTime;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation( int port, vtkInformation* info );
-  virtual int FillOutputPortInformation( int port, vtkInformation* info );
+  int FillInputPortInformation( int port, vtkInformation* info ) VTK_OVERRIDE;
+  int FillOutputPortInformation( int port, vtkInformation* info ) VTK_OVERRIDE;
 
   /**
    * Compute the thresholds (essentially bin extents) that contain outliers for
diff --git a/Filters/Imaging/vtkExtractHistogram2D.h b/Filters/Imaging/vtkExtractHistogram2D.h
index 775d263126..51b5e1d745 100644
--- a/Filters/Imaging/vtkExtractHistogram2D.h
+++ b/Filters/Imaging/vtkExtractHistogram2D.h
@@ -60,7 +60,7 @@ class VTKFILTERSIMAGING_EXPORT vtkExtractHistogram2D : public vtkStatisticsAlgor
 public:
   static vtkExtractHistogram2D* New();
   vtkTypeMacro(vtkExtractHistogram2D, vtkStatisticsAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum OutputIndices
   {
@@ -178,11 +178,11 @@ public:
   /**
    * Given a collection of models, calculate aggregate model. Not used.
    */
-  virtual void Aggregate( vtkDataObjectCollection*, vtkMultiBlockDataSet* ) {}
+  void Aggregate( vtkDataObjectCollection*, vtkMultiBlockDataSet* ) VTK_OVERRIDE {}
 
 protected:
   vtkExtractHistogram2D();
-  ~vtkExtractHistogram2D();
+  ~vtkExtractHistogram2D() VTK_OVERRIDE;
 
   int SwapColumns;
   int NumberOfBins[2];
@@ -200,45 +200,45 @@ protected:
    * Execute the calculations required by the Learn option.
    * This is what actually does the histogram computation.
    */
-  virtual void Learn( vtkTable* inData,
+  void Learn( vtkTable* inData,
                       vtkTable* inParameters,
-                      vtkMultiBlockDataSet* inMeta );
+                      vtkMultiBlockDataSet* inMeta ) VTK_OVERRIDE;
 
   /**
    * Execute the calculations required by the Derive option. Not used.
    */
-  virtual void Derive( vtkMultiBlockDataSet* ) {}
+  void Derive( vtkMultiBlockDataSet* ) VTK_OVERRIDE {}
 
   /**
    * Execute the calculations required by the Test option.
    */
-  virtual void Test( vtkTable*,
+  void Test( vtkTable*,
                      vtkMultiBlockDataSet*,
-                     vtkTable* ) { return; };
+                     vtkTable* ) VTK_OVERRIDE { return; };
 
   /**
    * Execute the calculations required by the Assess option.
    */
-  virtual void Assess( vtkTable*,
+  void Assess( vtkTable*,
                        vtkMultiBlockDataSet*,
-                       vtkTable* ) { return; };
+                       vtkTable* ) VTK_OVERRIDE { return; };
 
   /**
    * Provide the appropriate assessment functor. Not used.
    */
-  virtual void SelectAssessFunctor( vtkTable* vtkNotUsed(outData),
+  void SelectAssessFunctor( vtkTable* vtkNotUsed(outData),
                                     vtkDataObject* vtkNotUsed(inMeta),
                                     vtkStringArray* vtkNotUsed(rowNames),
-                                    AssessFunctor*& vtkNotUsed(dfunc) ) {}
+                                    AssessFunctor*& vtkNotUsed(dfunc) ) VTK_OVERRIDE {}
 
-  virtual int FillOutputPortInformation( int port, vtkInformation* info );
+  int FillOutputPortInformation( int port, vtkInformation* info ) VTK_OVERRIDE;
 
   /**
    * Makes sure that the image data output port has up-to-date spacing/origin/etc
    */
-  virtual int RequestInformation (vtkInformation *request,
+  int RequestInformation (vtkInformation *request,
                                   vtkInformationVector **inputVector,
-                                  vtkInformationVector *outputVector);
+                                  vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   /**
    * Get points to the arrays that live in the two input columns
diff --git a/Filters/Imaging/vtkPairwiseExtractHistogram2D.h b/Filters/Imaging/vtkPairwiseExtractHistogram2D.h
index 5dd1b356a1..f43280caf1 100644
--- a/Filters/Imaging/vtkPairwiseExtractHistogram2D.h
+++ b/Filters/Imaging/vtkPairwiseExtractHistogram2D.h
@@ -59,7 +59,7 @@ class VTKFILTERSIMAGING_EXPORT vtkPairwiseExtractHistogram2D : public vtkStatist
 public:
   static vtkPairwiseExtractHistogram2D* New();
   vtkTypeMacro(vtkPairwiseExtractHistogram2D, vtkStatisticsAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -157,11 +157,11 @@ public:
   /**
    * Given a collection of models, calculate aggregate model.  Not used
    */
-  virtual void Aggregate( vtkDataObjectCollection*, vtkMultiBlockDataSet* ) {}
+  void Aggregate( vtkDataObjectCollection*, vtkMultiBlockDataSet* ) VTK_OVERRIDE {}
 
 protected:
   vtkPairwiseExtractHistogram2D();
-  ~vtkPairwiseExtractHistogram2D();
+  ~vtkPairwiseExtractHistogram2D() VTK_OVERRIDE;
 
   int NumberOfBins[2];
   int ScalarType;
@@ -176,43 +176,43 @@ protected:
    * Execute the calculations required by the Learn option.
    * Does the actual histogram computation works.
    */
-  virtual void Learn( vtkTable* inData,
+  void Learn( vtkTable* inData,
                       vtkTable* inParameters,
-                      vtkMultiBlockDataSet* outMeta );
+                      vtkMultiBlockDataSet* outMeta ) VTK_OVERRIDE;
 
   /**
    * Execute the calculations required by the Derive option. Not used.
    */
-  virtual void Derive( vtkMultiBlockDataSet* ) {}
+  void Derive( vtkMultiBlockDataSet* ) VTK_OVERRIDE {}
 
   /**
    * Execute the assess option. Not implemented.
    */
-  virtual void Assess( vtkTable*,
+  void Assess( vtkTable*,
                        vtkMultiBlockDataSet*,
-                       vtkTable* ) {}
+                       vtkTable* ) VTK_OVERRIDE {}
 
   /**
    * Execute the calculations required by the Test option.
    */
-  virtual void Test( vtkTable*,
+  void Test( vtkTable*,
                      vtkMultiBlockDataSet*,
-                     vtkTable* ) { return; };
+                     vtkTable* ) VTK_OVERRIDE { return; };
 
   /**
    * Provide the appropriate assessment functor.
    */
-  virtual void SelectAssessFunctor( vtkTable* vtkNotUsed(outData),
+  void SelectAssessFunctor( vtkTable* vtkNotUsed(outData),
                                     vtkDataObject* vtkNotUsed(inMeta),
                                     vtkStringArray* vtkNotUsed(rowNames),
-                                    AssessFunctor*& vtkNotUsed(dfunc) ) {}
+                                    AssessFunctor*& vtkNotUsed(dfunc) ) VTK_OVERRIDE {}
 
   /**
    * Generate a new histogram filter
    */
   virtual vtkExtractHistogram2D* NewHistogramFilter();
 
-  virtual int FillOutputPortInformation( int port, vtkInformation* info );
+  int FillOutputPortInformation( int port, vtkInformation* info ) VTK_OVERRIDE;
 
   vtkTimeStamp BuildTime;
 private:
diff --git a/Filters/Modeling/vtkAdaptiveSubdivisionFilter.h b/Filters/Modeling/vtkAdaptiveSubdivisionFilter.h
index e9c328a83b..dbc793ca30 100644
--- a/Filters/Modeling/vtkAdaptiveSubdivisionFilter.h
+++ b/Filters/Modeling/vtkAdaptiveSubdivisionFilter.h
@@ -84,7 +84,7 @@ public:
    */
   static vtkAdaptiveSubdivisionFilter *New();
   vtkTypeMacro(vtkAdaptiveSubdivisionFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -160,11 +160,11 @@ public:
   /**
    * Modified GetMTime because of the dependence on the locator.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkAdaptiveSubdivisionFilter();
-  ~vtkAdaptiveSubdivisionFilter();
+  ~vtkAdaptiveSubdivisionFilter() VTK_OVERRIDE;
 
   double MaximumEdgeLength;
   double MaximumTriangleArea;
@@ -173,7 +173,7 @@ protected:
   vtkIncrementalPointLocator *Locator;
   int OutputPointsPrecision;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkAdaptiveSubdivisionFilter(const vtkAdaptiveSubdivisionFilter&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Modeling/vtkBandedPolyDataContourFilter.h b/Filters/Modeling/vtkBandedPolyDataContourFilter.h
index 5ad58aa10e..b42c487a13 100644
--- a/Filters/Modeling/vtkBandedPolyDataContourFilter.h
+++ b/Filters/Modeling/vtkBandedPolyDataContourFilter.h
@@ -60,7 +60,7 @@ class VTKFILTERSMODELING_EXPORT vtkBandedPolyDataContourFilter : public vtkPolyD
 {
 public:
   vtkTypeMacro(vtkBandedPolyDataContourFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with no contours defined.
@@ -153,13 +153,13 @@ public:
    * Overload GetMTime because we delegate to vtkContourValues so its
    * modified time must be taken into account.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkBandedPolyDataContourFilter();
-  ~vtkBandedPolyDataContourFilter();
+  ~vtkBandedPolyDataContourFilter() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   int ComputeScalarIndex(double);
   int IsContourValue(double val);
diff --git a/Filters/Modeling/vtkButterflySubdivisionFilter.h b/Filters/Modeling/vtkButterflySubdivisionFilter.h
index 91e2efc65c..bc62ad7e39 100644
--- a/Filters/Modeling/vtkButterflySubdivisionFilter.h
+++ b/Filters/Modeling/vtkButterflySubdivisionFilter.h
@@ -65,11 +65,11 @@ public:
 
 protected:
   vtkButterflySubdivisionFilter () {}
-  ~vtkButterflySubdivisionFilter () {}
+  ~vtkButterflySubdivisionFilter () VTK_OVERRIDE {}
 
 private:
   int GenerateSubdivisionPoints(vtkPolyData *inputDS, vtkIntArray *edgeData,
-                                vtkPoints *outputPts, vtkPointData *outputPD);
+                                vtkPoints *outputPts, vtkPointData *outputPD) VTK_OVERRIDE;
   void GenerateButterflyStencil(vtkIdType p1, vtkIdType p2, vtkPolyData *polys,
                                 vtkIdList *stencilIds, double *weights);
   void GenerateLoopStencil(vtkIdType p1, vtkIdType p2, vtkPolyData *polys,
diff --git a/Filters/Modeling/vtkDijkstraGraphGeodesicPath.h b/Filters/Modeling/vtkDijkstraGraphGeodesicPath.h
index 69cb79fdac..fbedc4ef06 100644
--- a/Filters/Modeling/vtkDijkstraGraphGeodesicPath.h
+++ b/Filters/Modeling/vtkDijkstraGraphGeodesicPath.h
@@ -59,7 +59,7 @@ public:
    * Standard methids for printing and determining type information.
    */
   vtkTypeMacro(vtkDijkstraGraphGeodesicPath,vtkGraphGeodesicPath);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -112,10 +112,10 @@ public:
 
 protected:
   vtkDijkstraGraphGeodesicPath();
-  ~vtkDijkstraGraphGeodesicPath();
+  ~vtkDijkstraGraphGeodesicPath() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   // Build a graph description of the input.
   virtual void BuildAdjacency( vtkDataSet *inData );
diff --git a/Filters/Modeling/vtkDijkstraImageGeodesicPath.h b/Filters/Modeling/vtkDijkstraImageGeodesicPath.h
index d7005fc6f6..80e72c45f2 100644
--- a/Filters/Modeling/vtkDijkstraImageGeodesicPath.h
+++ b/Filters/Modeling/vtkDijkstraImageGeodesicPath.h
@@ -70,7 +70,7 @@ public:
    * Standard methids for printing and determining type information.
    */
   vtkTypeMacro( vtkDijkstraImageGeodesicPath, vtkDijkstraGraphGeodesicPath );
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -107,21 +107,21 @@ public:
 
 protected:
   vtkDijkstraImageGeodesicPath();
-  ~vtkDijkstraImageGeodesicPath();
+  ~vtkDijkstraImageGeodesicPath() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   // Build a graph description of the image
-  virtual void BuildAdjacency( vtkDataSet *inData );
+  void BuildAdjacency( vtkDataSet *inData ) VTK_OVERRIDE;
 
   // Update static costs without rebuilding adjacencyh when static weights change
   void UpdateStaticCosts( vtkImageData *image );
 
   // Override parent class methods.
-  virtual double CalculateStaticEdgeCost( vtkDataSet *inData , vtkIdType u, vtkIdType v);
-  virtual double CalculateDynamicEdgeCost( vtkDataSet *inData , vtkIdType u, vtkIdType v);
+  double CalculateStaticEdgeCost( vtkDataSet *inData , vtkIdType u, vtkIdType v) VTK_OVERRIDE;
+  double CalculateDynamicEdgeCost( vtkDataSet *inData , vtkIdType u, vtkIdType v) VTK_OVERRIDE;
 
   double PixelSize;
   double ImageWeight;
diff --git a/Filters/Modeling/vtkFillHolesFilter.h b/Filters/Modeling/vtkFillHolesFilter.h
index eafb5e85fb..2ee53710fa 100644
--- a/Filters/Modeling/vtkFillHolesFilter.h
+++ b/Filters/Modeling/vtkFillHolesFilter.h
@@ -53,7 +53,7 @@ public:
    */
   static vtkFillHolesFilter *New();
   vtkTypeMacro(vtkFillHolesFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -69,9 +69,9 @@ public:
 
 protected:
   vtkFillHolesFilter();
-  ~vtkFillHolesFilter();
+  ~vtkFillHolesFilter() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   double HoleSize;
 
diff --git a/Filters/Modeling/vtkGeodesicPath.h b/Filters/Modeling/vtkGeodesicPath.h
index 0dc4162290..c26e5b866c 100644
--- a/Filters/Modeling/vtkGeodesicPath.h
+++ b/Filters/Modeling/vtkGeodesicPath.h
@@ -37,14 +37,14 @@ public:
    * Standard methids for printing and determining type information.
    */
   vtkTypeMacro(vtkGeodesicPath,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkGeodesicPath();
-  ~vtkGeodesicPath();
+  ~vtkGeodesicPath() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkGeodesicPath(const vtkGeodesicPath&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Modeling/vtkGraphGeodesicPath.h b/Filters/Modeling/vtkGraphGeodesicPath.h
index 513a3c07f2..90bf7c92ed 100644
--- a/Filters/Modeling/vtkGraphGeodesicPath.h
+++ b/Filters/Modeling/vtkGraphGeodesicPath.h
@@ -37,7 +37,7 @@ public:
    * Standard methids for printing and determining type information.
    */
   vtkTypeMacro(vtkGraphGeodesicPath,vtkGeodesicPath);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -58,7 +58,7 @@ public:
 
 protected:
   vtkGraphGeodesicPath();
-  ~vtkGraphGeodesicPath();
+  ~vtkGraphGeodesicPath() VTK_OVERRIDE;
 
   vtkIdType StartVertex;
   vtkIdType EndVertex;
diff --git a/Filters/Modeling/vtkLinearExtrusionFilter.h b/Filters/Modeling/vtkLinearExtrusionFilter.h
index a087dbd8e6..d2f3f43f29 100644
--- a/Filters/Modeling/vtkLinearExtrusionFilter.h
+++ b/Filters/Modeling/vtkLinearExtrusionFilter.h
@@ -64,7 +64,7 @@ class VTKFILTERSMODELING_EXPORT vtkLinearExtrusionFilter : public vtkPolyDataAlg
 {
 public:
   vtkTypeMacro(vtkLinearExtrusionFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Create object with normal extrusion type, capping on, scale factor=1.0,
@@ -123,9 +123,9 @@ public:
 
 protected:
   vtkLinearExtrusionFilter();
-  ~vtkLinearExtrusionFilter() {}
+  ~vtkLinearExtrusionFilter() VTK_OVERRIDE {}
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   int ExtrusionType;
   int Capping;
   double ScaleFactor;
diff --git a/Filters/Modeling/vtkLinearSubdivisionFilter.h b/Filters/Modeling/vtkLinearSubdivisionFilter.h
index a489c593ad..521c70e7a0 100644
--- a/Filters/Modeling/vtkLinearSubdivisionFilter.h
+++ b/Filters/Modeling/vtkLinearSubdivisionFilter.h
@@ -52,12 +52,12 @@ public:
 
 protected:
   vtkLinearSubdivisionFilter () {}
-  ~vtkLinearSubdivisionFilter () {}
+  ~vtkLinearSubdivisionFilter () VTK_OVERRIDE {}
 
   int GenerateSubdivisionPoints (vtkPolyData *inputDS,
                                  vtkIntArray *edgeData,
                                  vtkPoints *outputPts,
-                                 vtkPointData *outputPD);
+                                 vtkPointData *outputPD) VTK_OVERRIDE;
 
 private:
   vtkLinearSubdivisionFilter(const vtkLinearSubdivisionFilter&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Modeling/vtkLoopSubdivisionFilter.h b/Filters/Modeling/vtkLoopSubdivisionFilter.h
index ef2906cdfd..904b4f339b 100644
--- a/Filters/Modeling/vtkLoopSubdivisionFilter.h
+++ b/Filters/Modeling/vtkLoopSubdivisionFilter.h
@@ -67,17 +67,17 @@ public:
 
 protected:
   vtkLoopSubdivisionFilter () {}
-  ~vtkLoopSubdivisionFilter () {}
+  ~vtkLoopSubdivisionFilter () VTK_OVERRIDE {}
 
   int GenerateSubdivisionPoints (vtkPolyData *inputDS, vtkIntArray *edgeData,
                                  vtkPoints *outputPts,
-                                 vtkPointData *outputPD);
+                                 vtkPointData *outputPD) VTK_OVERRIDE;
   int  GenerateEvenStencil (vtkIdType p1, vtkPolyData *polys,
                             vtkIdList *stencilIds, double *weights);
   void GenerateOddStencil (vtkIdType p1, vtkIdType p2, vtkPolyData *polys,
                            vtkIdList *stencilIds, double *weights);
 
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkLoopSubdivisionFilter(const vtkLoopSubdivisionFilter&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Modeling/vtkOutlineFilter.h b/Filters/Modeling/vtkOutlineFilter.h
index dc36fb6f71..3f78a84af2 100644
--- a/Filters/Modeling/vtkOutlineFilter.h
+++ b/Filters/Modeling/vtkOutlineFilter.h
@@ -34,7 +34,7 @@ class VTKFILTERSMODELING_EXPORT vtkOutlineFilter : public vtkPolyDataAlgorithm
 public:
   static vtkOutlineFilter *New();
   vtkTypeMacro(vtkOutlineFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -47,12 +47,12 @@ public:
 
 protected:
   vtkOutlineFilter();
-  ~vtkOutlineFilter();
+  ~vtkOutlineFilter() VTK_OVERRIDE;
 
   int GenerateFaces;
   vtkOutlineSource *OutlineSource;
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkOutlineFilter(const vtkOutlineFilter&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Modeling/vtkPolyDataPointSampler.h b/Filters/Modeling/vtkPolyDataPointSampler.h
index 602d432f5c..42004e8538 100644
--- a/Filters/Modeling/vtkPolyDataPointSampler.h
+++ b/Filters/Modeling/vtkPolyDataPointSampler.h
@@ -57,7 +57,7 @@ public:
    * Standard macros for type information and printing.
    */
   vtkTypeMacro(vtkPolyDataPointSampler,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -114,9 +114,9 @@ public:
 
 protected:
   vtkPolyDataPointSampler();
-  ~vtkPolyDataPointSampler() {}
+  ~vtkPolyDataPointSampler() VTK_OVERRIDE {}
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   double Distance;
   double Distance2;
diff --git a/Filters/Modeling/vtkProjectedTexture.h b/Filters/Modeling/vtkProjectedTexture.h
index a531fe7907..6516897448 100644
--- a/Filters/Modeling/vtkProjectedTexture.h
+++ b/Filters/Modeling/vtkProjectedTexture.h
@@ -43,7 +43,7 @@ class VTKFILTERSMODELING_EXPORT vtkProjectedTexture : public vtkDataSetAlgorithm
 public:
   static vtkProjectedTexture *New();
   vtkTypeMacro(vtkProjectedTexture,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -130,9 +130,9 @@ public:
 
 protected:
   vtkProjectedTexture();
-  ~vtkProjectedTexture() {}
+  ~vtkProjectedTexture() VTK_OVERRIDE {}
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   void ComputeNormal();
 
   int CameraMode;
diff --git a/Filters/Modeling/vtkQuadRotationalExtrusionFilter.h b/Filters/Modeling/vtkQuadRotationalExtrusionFilter.h
index 1752f72a34..c434661fc9 100644
--- a/Filters/Modeling/vtkQuadRotationalExtrusionFilter.h
+++ b/Filters/Modeling/vtkQuadRotationalExtrusionFilter.h
@@ -73,7 +73,7 @@ class VTKFILTERSMODELING_EXPORT vtkQuadRotationalExtrusionFilter : public vtkMul
 {
  public:
   vtkTypeMacro(vtkQuadRotationalExtrusionFilter,vtkMultiBlockDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Create object with capping on, angle of 360 degrees, resolution = 12, and
@@ -152,12 +152,12 @@ class VTKFILTERSMODELING_EXPORT vtkQuadRotationalExtrusionFilter : public vtkMul
 
  protected:
   vtkQuadRotationalExtrusionFilter();
-  ~vtkQuadRotationalExtrusionFilter() {}
+  ~vtkQuadRotationalExtrusionFilter() VTK_OVERRIDE {}
 
-  int FillInputPortInformation( int , vtkInformation* );
+  int FillInputPortInformation( int , vtkInformation* ) VTK_OVERRIDE;
   int RequestData( vtkInformation*,
                    vtkInformationVector**,
-                   vtkInformationVector* );
+                   vtkInformationVector* ) VTK_OVERRIDE;
 
   int RotateAroundAxis( double,
                         vtkIdType,
diff --git a/Filters/Modeling/vtkRibbonFilter.h b/Filters/Modeling/vtkRibbonFilter.h
index c66346a73a..a729b8ebb3 100644
--- a/Filters/Modeling/vtkRibbonFilter.h
+++ b/Filters/Modeling/vtkRibbonFilter.h
@@ -55,7 +55,7 @@ class VTKFILTERSMODELING_EXPORT vtkRibbonFilter : public vtkPolyDataAlgorithm
 {
 public:
   vtkTypeMacro(vtkRibbonFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct ribbon so that width is 0.1, the width does
@@ -151,9 +151,9 @@ public:
 
 protected:
   vtkRibbonFilter();
-  ~vtkRibbonFilter();
+  ~vtkRibbonFilter() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   double Width;
   double Angle;
   int VaryWidth; //controls whether width varies with scalar data
diff --git a/Filters/Modeling/vtkRotationalExtrusionFilter.h b/Filters/Modeling/vtkRotationalExtrusionFilter.h
index d19526940e..8b38e04657 100644
--- a/Filters/Modeling/vtkRotationalExtrusionFilter.h
+++ b/Filters/Modeling/vtkRotationalExtrusionFilter.h
@@ -65,7 +65,7 @@ class VTKFILTERSMODELING_EXPORT vtkRotationalExtrusionFilter : public vtkPolyDat
 {
 public:
   vtkTypeMacro(vtkRotationalExtrusionFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Create object with capping on, angle of 360 degrees, resolution = 12, and
@@ -118,9 +118,9 @@ public:
 
 protected:
   vtkRotationalExtrusionFilter();
-  ~vtkRotationalExtrusionFilter() {}
+  ~vtkRotationalExtrusionFilter() VTK_OVERRIDE {}
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   int Resolution;
   int Capping;
   double Angle;
diff --git a/Filters/Modeling/vtkRuledSurfaceFilter.h b/Filters/Modeling/vtkRuledSurfaceFilter.h
index 981a7dddab..6c5289019e 100644
--- a/Filters/Modeling/vtkRuledSurfaceFilter.h
+++ b/Filters/Modeling/vtkRuledSurfaceFilter.h
@@ -68,7 +68,7 @@ class VTKFILTERSMODELING_EXPORT vtkRuledSurfaceFilter : public vtkPolyDataAlgori
 {
 public:
   vtkTypeMacro(vtkRuledSurfaceFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with OnRatio=1, Offset=0. DistanceFactor=3.0,
@@ -171,10 +171,10 @@ public:
 
 protected:
   vtkRuledSurfaceFilter();
-  ~vtkRuledSurfaceFilter();
+  ~vtkRuledSurfaceFilter() VTK_OVERRIDE;
 
   // Usual data generation method
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   double DistanceFactor;
   int   OnRatio;
diff --git a/Filters/Modeling/vtkSectorSource.h b/Filters/Modeling/vtkSectorSource.h
index 2c995feda9..0299356757 100644
--- a/Filters/Modeling/vtkSectorSource.h
+++ b/Filters/Modeling/vtkSectorSource.h
@@ -35,7 +35,7 @@ class VTKFILTERSMODELING_EXPORT vtkSectorSource : public vtkPolyDataAlgorithm
 public:
   static vtkSectorSource *New();
   vtkTypeMacro(vtkSectorSource,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -95,9 +95,9 @@ public:
 
 protected:
   vtkSectorSource();
-  ~vtkSectorSource() {}
+  ~vtkSectorSource() VTK_OVERRIDE {}
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   double InnerRadius;
   double OuterRadius;
   double ZCoord;
diff --git a/Filters/Modeling/vtkSelectEnclosedPoints.h b/Filters/Modeling/vtkSelectEnclosedPoints.h
index b7b74fe48c..b8ba189055 100644
--- a/Filters/Modeling/vtkSelectEnclosedPoints.h
+++ b/Filters/Modeling/vtkSelectEnclosedPoints.h
@@ -60,7 +60,7 @@ public:
    * Standard methods for type information and printing.
    */
   vtkTypeMacro(vtkSelectEnclosedPoints,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -137,7 +137,7 @@ public:
 
 protected:
   vtkSelectEnclosedPoints();
-  ~vtkSelectEnclosedPoints();
+  ~vtkSelectEnclosedPoints() VTK_OVERRIDE;
 
   int    CheckSurface;
   int    InsideOut;
@@ -154,8 +154,8 @@ protected:
   double          Bounds[6];
   double          Length;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int, vtkInformation *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int, vtkInformation *) VTK_OVERRIDE;
 
   void ReportReferences(vtkGarbageCollector*) VTK_OVERRIDE;
 
diff --git a/Filters/Modeling/vtkSelectPolyData.h b/Filters/Modeling/vtkSelectPolyData.h
index e59f4c3230..1125a87e87 100644
--- a/Filters/Modeling/vtkSelectPolyData.h
+++ b/Filters/Modeling/vtkSelectPolyData.h
@@ -100,7 +100,7 @@ public:
   static vtkSelectPolyData *New();
 
   vtkTypeMacro(vtkSelectPolyData,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -180,13 +180,13 @@ public:
   vtkPolyData *GetSelectionEdges();
 
   // Overload GetMTime() because we depend on Loop
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkSelectPolyData();
-  ~vtkSelectPolyData();
+  ~vtkSelectPolyData() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   int GenerateSelectionScalars;
   int InsideOut;
diff --git a/Filters/Modeling/vtkSpherePuzzle.h b/Filters/Modeling/vtkSpherePuzzle.h
index f5027e8b65..48466c1c29 100644
--- a/Filters/Modeling/vtkSpherePuzzle.h
+++ b/Filters/Modeling/vtkSpherePuzzle.h
@@ -33,7 +33,7 @@ class VTKFILTERSMODELING_EXPORT vtkSpherePuzzle : public vtkPolyDataAlgorithm
 {
 public:
   vtkTypeMacro(vtkSpherePuzzle,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkSpherePuzzle *New();
 
@@ -76,9 +76,9 @@ public:
 
 protected:
   vtkSpherePuzzle();
-  ~vtkSpherePuzzle();
+  ~vtkSpherePuzzle() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   void MarkVertical(int section);
   void MarkHorizontal(int section);
 
diff --git a/Filters/Modeling/vtkSpherePuzzleArrows.h b/Filters/Modeling/vtkSpherePuzzleArrows.h
index 2ee1521417..17759b6244 100644
--- a/Filters/Modeling/vtkSpherePuzzleArrows.h
+++ b/Filters/Modeling/vtkSpherePuzzleArrows.h
@@ -33,7 +33,7 @@ class VTKFILTERSMODELING_EXPORT vtkSpherePuzzleArrows : public vtkPolyDataAlgori
 {
 public:
   vtkTypeMacro(vtkSpherePuzzleArrows,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkSpherePuzzleArrows *New();
 
@@ -52,9 +52,9 @@ public:
 
 protected:
   vtkSpherePuzzleArrows();
-  ~vtkSpherePuzzleArrows();
+  ~vtkSpherePuzzleArrows() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   void AppendArrow(int id0, int id1, vtkPoints *pts, vtkCellArray *polys);
 
   int Permutation[32];
diff --git a/Filters/Modeling/vtkSubdivideTetra.h b/Filters/Modeling/vtkSubdivideTetra.h
index 123d9fd408..1336ba1c2c 100644
--- a/Filters/Modeling/vtkSubdivideTetra.h
+++ b/Filters/Modeling/vtkSubdivideTetra.h
@@ -30,14 +30,14 @@ class VTKFILTERSMODELING_EXPORT vtkSubdivideTetra : public vtkUnstructuredGridAl
 public:
   static vtkSubdivideTetra *New();
   vtkTypeMacro(vtkSubdivideTetra,vtkUnstructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 
 protected:
   vtkSubdivideTetra();
-  ~vtkSubdivideTetra() {}
+  ~vtkSubdivideTetra() VTK_OVERRIDE {}
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkSubdivideTetra(const vtkSubdivideTetra&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Modeling/vtkVolumeOfRevolutionFilter.h b/Filters/Modeling/vtkVolumeOfRevolutionFilter.h
index 16986e5f33..4df63dafa1 100644
--- a/Filters/Modeling/vtkVolumeOfRevolutionFilter.h
+++ b/Filters/Modeling/vtkVolumeOfRevolutionFilter.h
@@ -42,7 +42,7 @@ class VTKFILTERSMODELING_EXPORT vtkVolumeOfRevolutionFilter :
 {
 public:
   vtkTypeMacro(vtkVolumeOfRevolutionFilter,vtkUnstructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Create object with sweep angle of 360 degrees, resolution = 12,
@@ -96,12 +96,12 @@ public:
 
 protected:
   vtkVolumeOfRevolutionFilter();
-  ~vtkVolumeOfRevolutionFilter();
+  ~vtkVolumeOfRevolutionFilter() VTK_OVERRIDE;
 
   int RequestData(vtkInformation *, vtkInformationVector **,
-                  vtkInformationVector *);
+                  vtkInformationVector *) VTK_OVERRIDE;
 
-  int FillInputPortInformation(int, vtkInformation *);
+  int FillInputPortInformation(int, vtkInformation *) VTK_OVERRIDE;
 
   int Resolution;
   double SweepAngle;
diff --git a/Filters/Parallel/vtkAggregateDataSetFilter.h b/Filters/Parallel/vtkAggregateDataSetFilter.h
index 74657696b3..93aa1d9526 100644
--- a/Filters/Parallel/vtkAggregateDataSetFilter.h
+++ b/Filters/Parallel/vtkAggregateDataSetFilter.h
@@ -34,7 +34,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkAggregateDataSetFilter : public vtkPassInputT
 public:
   static vtkAggregateDataSetFilter* New();
   vtkTypeMacro(vtkAggregateDataSetFilter, vtkPassInputTypeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -55,9 +55,9 @@ protected:
   vtkAggregateDataSetFilter();
   ~vtkAggregateDataSetFilter() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
+  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
     vtkInformationVector* outputVector) VTK_OVERRIDE;
-  virtual int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   int NumberOfTargetProcesses;
 
diff --git a/Filters/Parallel/vtkAngularPeriodicFilter.h b/Filters/Parallel/vtkAngularPeriodicFilter.h
index c20e01d2c7..50a5b450f6 100644
--- a/Filters/Parallel/vtkAngularPeriodicFilter.h
+++ b/Filters/Parallel/vtkAngularPeriodicFilter.h
@@ -53,7 +53,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkAngularPeriodicFilter : public vtkPeriodicFil
 public:
   static vtkAngularPeriodicFilter* New();
   vtkTypeMacro(vtkAngularPeriodicFilter, vtkPeriodicFilter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -121,11 +121,11 @@ public:
 
 protected:
   vtkAngularPeriodicFilter();
-  ~vtkAngularPeriodicFilter();
+  ~vtkAngularPeriodicFilter() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Create a transform copy of the provided data array
@@ -145,9 +145,9 @@ protected:
   /**
    * Manually set the number of period on a specific leaf
    */
-  virtual void SetPeriodNumber(vtkCompositeDataIterator* loc,
+  void SetPeriodNumber(vtkCompositeDataIterator* loc,
                                vtkCompositeDataSet* output,
-                               int nbPeriod);
+                               int nbPeriod) VTK_OVERRIDE;
 
   /**
    * Compute periodic pointset, rotating point, using provided angle
@@ -167,7 +167,7 @@ protected:
    */
   void CreatePeriodicDataSet(vtkCompositeDataIterator* loc,
                              vtkCompositeDataSet* output,
-                             vtkCompositeDataSet* input);
+                             vtkCompositeDataSet* input) VTK_OVERRIDE;
 
   /**
    * Generate a name for a piece in the periodic dataset from the input dataset
diff --git a/Filters/Parallel/vtkCollectGraph.h b/Filters/Parallel/vtkCollectGraph.h
index 669146ea97..2b931fb532 100644
--- a/Filters/Parallel/vtkCollectGraph.h
+++ b/Filters/Parallel/vtkCollectGraph.h
@@ -38,7 +38,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkCollectGraph : public vtkGraphAlgorithm
 public:
   static vtkCollectGraph *New();
   vtkTypeMacro(vtkCollectGraph, vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -89,15 +89,15 @@ public:
 
 protected:
   vtkCollectGraph();
-  ~vtkCollectGraph();
+  ~vtkCollectGraph() VTK_OVERRIDE;
 
   int PassThrough;
   int OutputType;
 
   // Data generation method
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   vtkMultiProcessController *Controller;
   vtkSocketController *SocketController;
diff --git a/Filters/Parallel/vtkCollectPolyData.h b/Filters/Parallel/vtkCollectPolyData.h
index 1f8482f6be..4a4103d6ac 100644
--- a/Filters/Parallel/vtkCollectPolyData.h
+++ b/Filters/Parallel/vtkCollectPolyData.h
@@ -34,7 +34,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkCollectPolyData : public vtkPolyDataAlgorithm
 public:
   static vtkCollectPolyData *New();
   vtkTypeMacro(vtkCollectPolyData, vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -66,13 +66,13 @@ public:
 
 protected:
   vtkCollectPolyData();
-  ~vtkCollectPolyData();
+  ~vtkCollectPolyData() VTK_OVERRIDE;
 
   int PassThrough;
 
   // Data generation method
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   vtkMultiProcessController *Controller;
   vtkSocketController *SocketController;
diff --git a/Filters/Parallel/vtkCollectTable.h b/Filters/Parallel/vtkCollectTable.h
index 28b62939a6..2d7f0ab3d2 100644
--- a/Filters/Parallel/vtkCollectTable.h
+++ b/Filters/Parallel/vtkCollectTable.h
@@ -38,7 +38,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkCollectTable : public vtkTableAlgorithm
 public:
   static vtkCollectTable *New();
   vtkTypeMacro(vtkCollectTable, vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -70,13 +70,13 @@ public:
 
 protected:
   vtkCollectTable();
-  ~vtkCollectTable();
+  ~vtkCollectTable() VTK_OVERRIDE;
 
   int PassThrough;
 
   // Data generation method
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   vtkMultiProcessController *Controller;
   vtkSocketController *SocketController;
diff --git a/Filters/Parallel/vtkCutMaterial.h b/Filters/Parallel/vtkCutMaterial.h
index 25e06986f9..8ebf8ed19d 100644
--- a/Filters/Parallel/vtkCutMaterial.h
+++ b/Filters/Parallel/vtkCutMaterial.h
@@ -33,7 +33,7 @@ class vtkPlane;
 class VTKFILTERSPARALLEL_EXPORT vtkCutMaterial : public vtkPolyDataAlgorithm
 {
 public:
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   vtkTypeMacro(vtkCutMaterial,vtkPolyDataAlgorithm);
   static vtkCutMaterial *New();
 
@@ -82,10 +82,10 @@ public:
 
 protected:
   vtkCutMaterial();
-  ~vtkCutMaterial();
+  ~vtkCutMaterial() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); //generate output data
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE; //generate output data
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
   void ComputeMaximumPoint(vtkDataSet *input);
   void ComputeNormal();
 
diff --git a/Filters/Parallel/vtkDuplicatePolyData.h b/Filters/Parallel/vtkDuplicatePolyData.h
index e74a55021a..25aeb43723 100644
--- a/Filters/Parallel/vtkDuplicatePolyData.h
+++ b/Filters/Parallel/vtkDuplicatePolyData.h
@@ -35,7 +35,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkDuplicatePolyData : public vtkPolyDataAlgorit
 public:
   static vtkDuplicatePolyData *New();
   vtkTypeMacro(vtkDuplicatePolyData, vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -84,11 +84,11 @@ public:
 
 protected:
   vtkDuplicatePolyData();
-  ~vtkDuplicatePolyData();
+  ~vtkDuplicatePolyData() VTK_OVERRIDE;
 
   // Data generation method
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   void ClientExecute(vtkPolyData *output);
 
   vtkMultiProcessController *Controller;
diff --git a/Filters/Parallel/vtkExtractCTHPart.h b/Filters/Parallel/vtkExtractCTHPart.h
index 1e3d773640..fd2e57ce6c 100644
--- a/Filters/Parallel/vtkExtractCTHPart.h
+++ b/Filters/Parallel/vtkExtractCTHPart.h
@@ -67,7 +67,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkExtractCTHPart : public vtkMultiBlockDataSetA
 public:
   static vtkExtractCTHPart *New();
   vtkTypeMacro(vtkExtractCTHPart,vtkMultiBlockDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -130,7 +130,7 @@ public:
   /**
    * Look at clip plane to compute MTime.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -143,11 +143,11 @@ public:
 
 protected:
   vtkExtractCTHPart();
-  ~vtkExtractCTHPart();
+  ~vtkExtractCTHPart() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
-  virtual int RequestData(
-    vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int RequestData(
+    vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Compute the bounds over the composite dataset, some sub-dataset
diff --git a/Filters/Parallel/vtkExtractPolyDataPiece.h b/Filters/Parallel/vtkExtractPolyDataPiece.h
index 548b731bd7..13e35084a0 100644
--- a/Filters/Parallel/vtkExtractPolyDataPiece.h
+++ b/Filters/Parallel/vtkExtractPolyDataPiece.h
@@ -32,7 +32,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkExtractPolyDataPiece : public vtkPolyDataAlgo
 public:
   static vtkExtractPolyDataPiece *New();
   vtkTypeMacro(vtkExtractPolyDataPiece, vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -45,11 +45,11 @@ public:
 
 protected:
   vtkExtractPolyDataPiece();
-  ~vtkExtractPolyDataPiece() {}
+  ~vtkExtractPolyDataPiece() VTK_OVERRIDE {}
 
   // Usual data generation method
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   // A method for labeling which piece the cells belong to.
   void ComputeCellTags(vtkIntArray *cellTags, vtkIdList *pointOwnership,
diff --git a/Filters/Parallel/vtkExtractUnstructuredGridPiece.h b/Filters/Parallel/vtkExtractUnstructuredGridPiece.h
index e37951a0ff..daa5235053 100644
--- a/Filters/Parallel/vtkExtractUnstructuredGridPiece.h
+++ b/Filters/Parallel/vtkExtractUnstructuredGridPiece.h
@@ -32,7 +32,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkExtractUnstructuredGridPiece : public vtkUnst
 public:
   static vtkExtractUnstructuredGridPiece *New();
   vtkTypeMacro(vtkExtractUnstructuredGridPiece, vtkUnstructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -45,12 +45,12 @@ public:
 
 protected:
   vtkExtractUnstructuredGridPiece();
-  ~vtkExtractUnstructuredGridPiece() {}
+  ~vtkExtractUnstructuredGridPiece() VTK_OVERRIDE {}
 
   // Usual data generation method
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   // A method for labeling which piece the cells belong to.
   void ComputeCellTags(vtkIntArray *cellTags, vtkIdList *pointOwnership,
diff --git a/Filters/Parallel/vtkExtractUserDefinedPiece.h b/Filters/Parallel/vtkExtractUserDefinedPiece.h
index 342a9dbac8..2ed63688f7 100644
--- a/Filters/Parallel/vtkExtractUserDefinedPiece.h
+++ b/Filters/Parallel/vtkExtractUserDefinedPiece.h
@@ -65,9 +65,9 @@ public:
 protected:
 
   vtkExtractUserDefinedPiece();
-  ~vtkExtractUserDefinedPiece();
+  ~vtkExtractUserDefinedPiece() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   void ComputeCellTagsWithFunction(vtkIntArray *tags, vtkIdList *pointOwnership,
                                    vtkUnstructuredGrid *input);
diff --git a/Filters/Parallel/vtkPCellDataToPointData.h b/Filters/Parallel/vtkPCellDataToPointData.h
index 171f5c5814..7e56d19864 100644
--- a/Filters/Parallel/vtkPCellDataToPointData.h
+++ b/Filters/Parallel/vtkPCellDataToPointData.h
@@ -33,7 +33,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkPCellDataToPointData : public vtkCellDataToPo
 {
 public:
   vtkTypeMacro(vtkPCellDataToPointData,vtkCellDataToPointData);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkPCellDataToPointData *New();
 
@@ -49,15 +49,15 @@ public:
 
 protected:
   vtkPCellDataToPointData();
-  ~vtkPCellDataToPointData() {}
+  ~vtkPCellDataToPointData() VTK_OVERRIDE {}
 
   // Usual data generation method
-  virtual int RequestData(vtkInformation* request,
+  int RequestData(vtkInformation* request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
-  virtual int RequestUpdateExtent(vtkInformation*,
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation*,
                                   vtkInformationVector**,
-                                  vtkInformationVector*);
+                                  vtkInformationVector*) VTK_OVERRIDE;
 
   int PieceInvariant;
 private:
diff --git a/Filters/Parallel/vtkPExtractArraysOverTime.h b/Filters/Parallel/vtkPExtractArraysOverTime.h
index d57fe5ec9e..8da005443d 100644
--- a/Filters/Parallel/vtkPExtractArraysOverTime.h
+++ b/Filters/Parallel/vtkPExtractArraysOverTime.h
@@ -46,7 +46,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkPExtractArraysOverTime : public vtkExtractArr
 public:
   static vtkPExtractArraysOverTime *New();
   vtkTypeMacro(vtkPExtractArraysOverTime,vtkExtractArraysOverTime);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -63,11 +63,11 @@ public:
 
 protected:
   vtkPExtractArraysOverTime();
-  ~vtkPExtractArraysOverTime();
+  ~vtkPExtractArraysOverTime() VTK_OVERRIDE;
 
-  virtual void PostExecute(vtkInformation* request,
+  void PostExecute(vtkInformation* request,
                            vtkInformationVector** inputVector,
-                           vtkInformationVector* outputVector);
+                           vtkInformationVector* outputVector) VTK_OVERRIDE;
   void AddRemoteData(vtkMultiBlockDataSet* routput,
                      vtkMultiBlockDataSet* output);
   void MergeTables(vtkTable* routput, vtkTable* output);
diff --git a/Filters/Parallel/vtkPKdTree.h b/Filters/Parallel/vtkPKdTree.h
index 8cd632818b..677391242c 100644
--- a/Filters/Parallel/vtkPKdTree.h
+++ b/Filters/Parallel/vtkPKdTree.h
@@ -58,8 +58,8 @@ public:
   vtkTypeMacro(vtkPKdTree, vtkKdTree);
 
 
-  void PrintSelf(ostream& os, vtkIndent indent);
-  void PrintTiming(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
+  void PrintTiming(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   void PrintTables(ostream& os, vtkIndent indent);
 
   static vtkPKdTree *New();
@@ -70,7 +70,7 @@ public:
    * tree.  It must be called by all processes in the parallel
    * application, or it will hang.
    */
-  void BuildLocator();
+  void BuildLocator() VTK_OVERRIDE;
 
   /**
    * Get the total number of cells distributed across the data
@@ -317,7 +317,7 @@ public:
 protected:
 
   vtkPKdTree();
-  ~vtkPKdTree();
+  ~vtkPKdTree() VTK_OVERRIDE;
 
   void SingleProcessBuildLocator();
   int MultiProcessBuildLocator(double *bounds);
diff --git a/Filters/Parallel/vtkPLinearExtrusionFilter.h b/Filters/Parallel/vtkPLinearExtrusionFilter.h
index 8e40df8a99..5ebb215ae4 100644
--- a/Filters/Parallel/vtkPLinearExtrusionFilter.h
+++ b/Filters/Parallel/vtkPLinearExtrusionFilter.h
@@ -32,7 +32,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkPLinearExtrusionFilter : public vtkLinearExtr
 {
 public:
   vtkTypeMacro(vtkPLinearExtrusionFilter,vtkLinearExtrusionFilter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Create an object with PieceInvariant off.
@@ -51,10 +51,10 @@ public:
 
 protected:
   vtkPLinearExtrusionFilter();
-  ~vtkPLinearExtrusionFilter() {}
+  ~vtkPLinearExtrusionFilter() VTK_OVERRIDE {}
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   int PieceInvariant;
 private:
diff --git a/Filters/Parallel/vtkPMaskPoints.h b/Filters/Parallel/vtkPMaskPoints.h
index 5e10163215..73d2ddd6a8 100644
--- a/Filters/Parallel/vtkPMaskPoints.h
+++ b/Filters/Parallel/vtkPMaskPoints.h
@@ -34,7 +34,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkPMaskPoints : public vtkMaskPoints
 public:
   static vtkPMaskPoints *New();
   vtkTypeMacro(vtkPMaskPoints,vtkMaskPoints);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -46,13 +46,13 @@ public:
 
 protected:
   vtkPMaskPoints();
-  ~vtkPMaskPoints();
+  ~vtkPMaskPoints() VTK_OVERRIDE;
 
-  virtual void InternalScatter(unsigned long*, unsigned long *, int, int);
-  virtual void InternalGather(unsigned long*, unsigned long*, int, int);
-  virtual int InternalGetNumberOfProcesses();
-  virtual int InternalGetLocalProcessId();
-  virtual void InternalBarrier();
+  void InternalScatter(unsigned long*, unsigned long *, int, int) VTK_OVERRIDE;
+  void InternalGather(unsigned long*, unsigned long*, int, int) VTK_OVERRIDE;
+  int InternalGetNumberOfProcesses() VTK_OVERRIDE;
+  int InternalGetLocalProcessId() VTK_OVERRIDE;
+  void InternalBarrier() VTK_OVERRIDE;
 
   vtkMultiProcessController* Controller;
 private:
diff --git a/Filters/Parallel/vtkPOutlineCornerFilter.h b/Filters/Parallel/vtkPOutlineCornerFilter.h
index 3031aa33a4..e09bace031 100644
--- a/Filters/Parallel/vtkPOutlineCornerFilter.h
+++ b/Filters/Parallel/vtkPOutlineCornerFilter.h
@@ -36,7 +36,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkPOutlineCornerFilter : public vtkPolyDataAlgo
 {
 public:
   vtkTypeMacro(vtkPOutlineCornerFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct outline corner filter with default corner factor = 0.2
@@ -66,12 +66,12 @@ public:
 
 protected:
   vtkPOutlineCornerFilter();
-  ~vtkPOutlineCornerFilter();
+  ~vtkPOutlineCornerFilter() VTK_OVERRIDE;
 
   vtkMultiProcessController* Controller;
   vtkOutlineCornerSource *OutlineCornerSource;
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   double CornerFactor;
 private:
diff --git a/Filters/Parallel/vtkPOutlineFilter.h b/Filters/Parallel/vtkPOutlineFilter.h
index f38050d2ba..8191522810 100644
--- a/Filters/Parallel/vtkPOutlineFilter.h
+++ b/Filters/Parallel/vtkPOutlineFilter.h
@@ -34,7 +34,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkPOutlineFilter : public vtkPolyDataAlgorithm
 public:
   static vtkPOutlineFilter *New();
   vtkTypeMacro(vtkPOutlineFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -46,12 +46,12 @@ public:
 
 protected:
   vtkPOutlineFilter();
-  ~vtkPOutlineFilter();
+  ~vtkPOutlineFilter() VTK_OVERRIDE;
 
   vtkMultiProcessController* Controller;
   vtkOutlineSource *OutlineSource;
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkPOutlineFilter(const vtkPOutlineFilter&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Parallel/vtkPPolyDataNormals.h b/Filters/Parallel/vtkPPolyDataNormals.h
index b3fbf7627a..a3ceaffc51 100644
--- a/Filters/Parallel/vtkPPolyDataNormals.h
+++ b/Filters/Parallel/vtkPPolyDataNormals.h
@@ -28,7 +28,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkPPolyDataNormals : public vtkPolyDataNormals
 {
 public:
   vtkTypeMacro(vtkPPolyDataNormals,vtkPolyDataNormals);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkPPolyDataNormals *New();
 
@@ -44,11 +44,11 @@ public:
 
 protected:
   vtkPPolyDataNormals();
-  ~vtkPPolyDataNormals() {}
+  ~vtkPPolyDataNormals() VTK_OVERRIDE {}
 
   // Usual data generation method
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   int PieceInvariant;
 private:
diff --git a/Filters/Parallel/vtkPProbeFilter.h b/Filters/Parallel/vtkPProbeFilter.h
index fcd54f3e7e..ca49878e77 100644
--- a/Filters/Parallel/vtkPProbeFilter.h
+++ b/Filters/Parallel/vtkPProbeFilter.h
@@ -33,7 +33,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkPProbeFilter : public vtkCompositeDataProbeFi
 {
 public:
   vtkTypeMacro(vtkPProbeFilter,vtkCompositeDataProbeFilter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkPProbeFilter *New();
 
@@ -47,7 +47,7 @@ public:
 
 protected:
   vtkPProbeFilter();
-  ~vtkPProbeFilter();
+  ~vtkPProbeFilter() VTK_OVERRIDE;
 
   enum
   {
@@ -55,9 +55,9 @@ protected:
   };
 
   // Usual data generation method
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   vtkMultiProcessController* Controller;
 
diff --git a/Filters/Parallel/vtkPProjectSphereFilter.h b/Filters/Parallel/vtkPProjectSphereFilter.h
index 5497feec18..809660ee58 100644
--- a/Filters/Parallel/vtkPProjectSphereFilter.h
+++ b/Filters/Parallel/vtkPProjectSphereFilter.h
@@ -31,26 +31,26 @@ class VTKFILTERSPARALLEL_EXPORT vtkPProjectSphereFilter :
 {
 public:
   vtkTypeMacro(vtkPProjectSphereFilter, vtkProjectSphereFilter);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkPProjectSphereFilter *New();
 
 protected:
   vtkPProjectSphereFilter();
-  ~vtkPProjectSphereFilter();
+  ~vtkPProjectSphereFilter() VTK_OVERRIDE;
 
   /**
    * Parallel part of the algorithm to figure out the closest point
    * to the centerline (i.e. line connecting -90 latitude to 90 latitude)
    * if we don't build cells using points at the poles.
    */
-  virtual void ComputePointsClosestToCenterLine(double, vtkIdList*);
+  void ComputePointsClosestToCenterLine(double, vtkIdList*) VTK_OVERRIDE;
 
   /**
    * If TranslateZ is true then this is the method that computes
    * the amount to translate.
    */
-  virtual double GetZTranslation(vtkPointSet* input);
+  double GetZTranslation(vtkPointSet* input) VTK_OVERRIDE;
 
 private:
   vtkPProjectSphereFilter(const vtkPProjectSphereFilter &) VTK_DELETE_FUNCTION;
diff --git a/Filters/Parallel/vtkPReflectionFilter.h b/Filters/Parallel/vtkPReflectionFilter.h
index 8e74a8c8c5..964e1ca26e 100644
--- a/Filters/Parallel/vtkPReflectionFilter.h
+++ b/Filters/Parallel/vtkPReflectionFilter.h
@@ -33,7 +33,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkPReflectionFilter : public vtkReflectionFilte
 public:
   static vtkPReflectionFilter* New();
   vtkTypeMacro(vtkPReflectionFilter, vtkReflectionFilter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -45,12 +45,12 @@ public:
 
 protected:
   vtkPReflectionFilter();
-  ~vtkPReflectionFilter();
+  ~vtkPReflectionFilter() VTK_OVERRIDE;
 
   /**
    * Internal method to compute bounds.
    */
-  virtual int ComputeBounds(vtkDataObject* input, double bounds[6]);
+  int ComputeBounds(vtkDataObject* input, double bounds[6]) VTK_OVERRIDE;
 
   vtkMultiProcessController* Controller;
 private:
diff --git a/Filters/Parallel/vtkPResampleFilter.h b/Filters/Parallel/vtkPResampleFilter.h
index 24070f2bc7..cd141992de 100644
--- a/Filters/Parallel/vtkPResampleFilter.h
+++ b/Filters/Parallel/vtkPResampleFilter.h
@@ -30,7 +30,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkPResampleFilter : public vtkImageAlgorithm
 {
 public:
   vtkTypeMacro(vtkPResampleFilter,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkPResampleFilter *New();
 
@@ -71,13 +71,13 @@ public:
 
 protected:
   vtkPResampleFilter();
-  ~vtkPResampleFilter();
+  ~vtkPResampleFilter() VTK_OVERRIDE;
 
   // Usual data generation method
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   double* CalculateBounds(vtkDataSet* input);
 
diff --git a/Filters/Parallel/vtkPSphereSource.h b/Filters/Parallel/vtkPSphereSource.h
index e1afde8bf3..b0a296e704 100644
--- a/Filters/Parallel/vtkPSphereSource.h
+++ b/Filters/Parallel/vtkPSphereSource.h
@@ -44,9 +44,9 @@ public:
 
 protected:
   vtkPSphereSource() {}
-  ~vtkPSphereSource() {}
+  ~vtkPSphereSource() VTK_OVERRIDE {}
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 private:
   vtkPSphereSource(const vtkPSphereSource&) VTK_DELETE_FUNCTION;
   void operator=(const vtkPSphereSource&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Parallel/vtkPYoungsMaterialInterface.h b/Filters/Parallel/vtkPYoungsMaterialInterface.h
index acbb8716ff..7285f744a0 100644
--- a/Filters/Parallel/vtkPYoungsMaterialInterface.h
+++ b/Filters/Parallel/vtkPYoungsMaterialInterface.h
@@ -43,12 +43,12 @@ class VTKFILTERSPARALLEL_EXPORT vtkPYoungsMaterialInterface : public vtkYoungsMa
 public:
   static vtkPYoungsMaterialInterface* New();
   vtkTypeMacro(vtkPYoungsMaterialInterface,vtkYoungsMaterialInterface);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Parallel implementation of the material aggregation.
    */
-  virtual void Aggregate ( int, int* );
+  void Aggregate ( int, int* ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -61,7 +61,7 @@ public:
 
 protected:
   vtkPYoungsMaterialInterface ();
-  virtual ~vtkPYoungsMaterialInterface ();
+  ~vtkPYoungsMaterialInterface () VTK_OVERRIDE;
 
   vtkMultiProcessController* Controller;
 
diff --git a/Filters/Parallel/vtkPassThroughFilter.h b/Filters/Parallel/vtkPassThroughFilter.h
index 22fe3f3d76..5812210768 100644
--- a/Filters/Parallel/vtkPassThroughFilter.h
+++ b/Filters/Parallel/vtkPassThroughFilter.h
@@ -33,7 +33,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkPassThroughFilter : public vtkDataSetAlgorith
 {
 public:
   vtkTypeMacro(vtkPassThroughFilter,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Create a new vtkPassThroughFilter.
@@ -44,9 +44,9 @@ public:
 protected:
 
   vtkPassThroughFilter() {}
-  virtual ~vtkPassThroughFilter() {}
+  ~vtkPassThroughFilter() VTK_OVERRIDE {}
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkPassThroughFilter(const vtkPassThroughFilter&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Parallel/vtkPeriodicFilter.h b/Filters/Parallel/vtkPeriodicFilter.h
index 7a1ec8caaa..0acb29a78b 100644
--- a/Filters/Parallel/vtkPeriodicFilter.h
+++ b/Filters/Parallel/vtkPeriodicFilter.h
@@ -53,7 +53,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkPeriodicFilter : public vtkMultiBlockDataSetA
 {
 public:
   vtkTypeMacro(vtkPeriodicFilter, vtkMultiBlockDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -102,14 +102,14 @@ public:
 
 protected:
   vtkPeriodicFilter();
-  ~vtkPeriodicFilter();
+  ~vtkPeriodicFilter() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Create a periodic data, leaf of the tree
diff --git a/Filters/Parallel/vtkPieceRequestFilter.h b/Filters/Parallel/vtkPieceRequestFilter.h
index 674f78a991..4fa9389f75 100644
--- a/Filters/Parallel/vtkPieceRequestFilter.h
+++ b/Filters/Parallel/vtkPieceRequestFilter.h
@@ -33,7 +33,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkPieceRequestFilter : public vtkAlgorithm
 public:
   static vtkPieceRequestFilter *New();
   vtkTypeMacro(vtkPieceRequestFilter,vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -70,13 +70,13 @@ public:
   /**
    * see vtkAlgorithm for details
    */
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inputVector,
-                             vtkInformationVector* outputVector);
+                             vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 protected:
   vtkPieceRequestFilter();
-  ~vtkPieceRequestFilter() {}
+  ~vtkPieceRequestFilter() VTK_OVERRIDE {}
 
   virtual int RequestDataObject(vtkInformation* request,
                                 vtkInformationVector** inputVector,
@@ -90,8 +90,8 @@ protected:
                                   vtkInformationVector**,
                                   vtkInformationVector*);
 
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   int NumberOfPieces;
   int Piece;
diff --git a/Filters/Parallel/vtkPieceScalars.h b/Filters/Parallel/vtkPieceScalars.h
index 94ad0bc965..da41d2fd6c 100644
--- a/Filters/Parallel/vtkPieceScalars.h
+++ b/Filters/Parallel/vtkPieceScalars.h
@@ -40,7 +40,7 @@ public:
   static vtkPieceScalars *New();
 
   vtkTypeMacro(vtkPieceScalars,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Option to centerate cell scalars of points scalars.  Default is point scalars.
@@ -58,10 +58,10 @@ public:
 
 protected:
   vtkPieceScalars();
-  ~vtkPieceScalars();
+  ~vtkPieceScalars() VTK_OVERRIDE;
 
   // Append the pieces.
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   vtkIntArray *MakePieceScalars(int piece, vtkIdType numScalars);
   vtkFloatArray *MakeRandomScalars(int piece, vtkIdType numScalars);
diff --git a/Filters/Parallel/vtkProcessIdScalars.h b/Filters/Parallel/vtkProcessIdScalars.h
index d1046fc730..79d696ecec 100644
--- a/Filters/Parallel/vtkProcessIdScalars.h
+++ b/Filters/Parallel/vtkProcessIdScalars.h
@@ -41,7 +41,7 @@ public:
   static vtkProcessIdScalars *New();
 
   vtkTypeMacro(vtkProcessIdScalars,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Option to centerate cell scalars of points scalars.  Default is point
@@ -71,11 +71,11 @@ public:
 
 protected:
   vtkProcessIdScalars();
-  ~vtkProcessIdScalars();
+  ~vtkProcessIdScalars() VTK_OVERRIDE;
 
   // Append the pieces.
   int RequestData(
-    vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+    vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   vtkIntArray *MakeProcessIdScalars(int piece, vtkIdType numScalars);
   vtkFloatArray *MakeRandomScalars(int piece, vtkIdType numScalars);
diff --git a/Filters/Parallel/vtkRectilinearGridOutlineFilter.h b/Filters/Parallel/vtkRectilinearGridOutlineFilter.h
index 331148ec42..3573ec0e44 100644
--- a/Filters/Parallel/vtkRectilinearGridOutlineFilter.h
+++ b/Filters/Parallel/vtkRectilinearGridOutlineFilter.h
@@ -37,10 +37,10 @@ public:
 
 protected:
   vtkRectilinearGridOutlineFilter() {}
-  ~vtkRectilinearGridOutlineFilter() {}
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  ~vtkRectilinearGridOutlineFilter() VTK_OVERRIDE {}
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkRectilinearGridOutlineFilter(const vtkRectilinearGridOutlineFilter&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Parallel/vtkTransmitPolyDataPiece.h b/Filters/Parallel/vtkTransmitPolyDataPiece.h
index b9cc2070b9..616fa451ca 100644
--- a/Filters/Parallel/vtkTransmitPolyDataPiece.h
+++ b/Filters/Parallel/vtkTransmitPolyDataPiece.h
@@ -36,7 +36,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkTransmitPolyDataPiece : public vtkPolyDataAlg
 public:
   static vtkTransmitPolyDataPiece *New();
   vtkTypeMacro(vtkTransmitPolyDataPiece, vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -58,10 +58,10 @@ public:
 
 protected:
   vtkTransmitPolyDataPiece();
-  ~vtkTransmitPolyDataPiece();
+  ~vtkTransmitPolyDataPiece() VTK_OVERRIDE;
 
   // Data generation method
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   void RootExecute(vtkPolyData *input, vtkPolyData *output, vtkInformation *outInfo);
   void SatelliteExecute(int procId, vtkPolyData *output, vtkInformation *outInfo);
 
diff --git a/Filters/Parallel/vtkTransmitRectilinearGridPiece.h b/Filters/Parallel/vtkTransmitRectilinearGridPiece.h
index 2c415133f8..d417799048 100644
--- a/Filters/Parallel/vtkTransmitRectilinearGridPiece.h
+++ b/Filters/Parallel/vtkTransmitRectilinearGridPiece.h
@@ -39,11 +39,11 @@ class VTKFILTERSPARALLEL_EXPORT vtkTransmitRectilinearGridPiece : public vtkTran
 public:
   static vtkTransmitRectilinearGridPiece *New();
   vtkTypeMacro(vtkTransmitRectilinearGridPiece, vtkTransmitStructuredDataPiece);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkTransmitRectilinearGridPiece();
-  ~vtkTransmitRectilinearGridPiece();
+  ~vtkTransmitRectilinearGridPiece() VTK_OVERRIDE;
 
 private:
   vtkTransmitRectilinearGridPiece(const vtkTransmitRectilinearGridPiece&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Parallel/vtkTransmitStructuredDataPiece.h b/Filters/Parallel/vtkTransmitStructuredDataPiece.h
index 4e5d401b96..fed11570bc 100644
--- a/Filters/Parallel/vtkTransmitStructuredDataPiece.h
+++ b/Filters/Parallel/vtkTransmitStructuredDataPiece.h
@@ -36,7 +36,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkTransmitStructuredDataPiece : public vtkDataS
 public:
   static vtkTransmitStructuredDataPiece *New();
   vtkTypeMacro(vtkTransmitStructuredDataPiece, vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -58,16 +58,16 @@ public:
 
 protected:
   vtkTransmitStructuredDataPiece();
-  ~vtkTransmitStructuredDataPiece();
+  ~vtkTransmitStructuredDataPiece() VTK_OVERRIDE;
 
   // Data generation method
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   void RootExecute(vtkDataSet *input, vtkDataSet *output,
                    vtkInformation *outInfo);
   void SatelliteExecute(int procId, vtkDataSet *output,
                         vtkInformation *outInfo);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   int CreateGhostCells;
   vtkMultiProcessController *Controller;
diff --git a/Filters/Parallel/vtkTransmitStructuredGridPiece.h b/Filters/Parallel/vtkTransmitStructuredGridPiece.h
index 478b1ea7cb..fadd15c6d3 100644
--- a/Filters/Parallel/vtkTransmitStructuredGridPiece.h
+++ b/Filters/Parallel/vtkTransmitStructuredGridPiece.h
@@ -39,11 +39,11 @@ class VTKFILTERSPARALLEL_EXPORT vtkTransmitStructuredGridPiece : public vtkTrans
 public:
   static vtkTransmitStructuredGridPiece *New();
   vtkTypeMacro(vtkTransmitStructuredGridPiece, vtkTransmitStructuredDataPiece);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkTransmitStructuredGridPiece();
-  ~vtkTransmitStructuredGridPiece();
+  ~vtkTransmitStructuredGridPiece() VTK_OVERRIDE;
 
 private:
   vtkTransmitStructuredGridPiece(const vtkTransmitStructuredGridPiece&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Parallel/vtkTransmitUnstructuredGridPiece.h b/Filters/Parallel/vtkTransmitUnstructuredGridPiece.h
index ba3919fc35..d02a3c1fd6 100644
--- a/Filters/Parallel/vtkTransmitUnstructuredGridPiece.h
+++ b/Filters/Parallel/vtkTransmitUnstructuredGridPiece.h
@@ -36,7 +36,7 @@ class VTKFILTERSPARALLEL_EXPORT vtkTransmitUnstructuredGridPiece : public vtkUns
 public:
   static vtkTransmitUnstructuredGridPiece *New();
   vtkTypeMacro(vtkTransmitUnstructuredGridPiece, vtkUnstructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -58,10 +58,10 @@ public:
 
 protected:
   vtkTransmitUnstructuredGridPiece();
-  ~vtkTransmitUnstructuredGridPiece();
+  ~vtkTransmitUnstructuredGridPiece() VTK_OVERRIDE;
 
   // Data generation method
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   void RootExecute(vtkUnstructuredGrid *input, vtkUnstructuredGrid *output,
                    vtkInformation *outInfo);
   void SatelliteExecute(int procId, vtkUnstructuredGrid *output,
diff --git a/Filters/ParallelImaging/vtkExtractPiece.h b/Filters/ParallelImaging/vtkExtractPiece.h
index 6bd16e7d7d..3218d9750c 100644
--- a/Filters/ParallelImaging/vtkExtractPiece.h
+++ b/Filters/ParallelImaging/vtkExtractPiece.h
@@ -40,22 +40,22 @@ class VTKFILTERSPARALLELIMAGING_EXPORT vtkExtractPiece : public vtkCompositeData
 public:
   static vtkExtractPiece* New();
   vtkTypeMacro(vtkExtractPiece, vtkCompositeDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkExtractPiece() {}
-  ~vtkExtractPiece() {}
+  ~vtkExtractPiece() VTK_OVERRIDE {}
 
-  virtual int RequestDataObject(vtkInformation* request,
+  int RequestDataObject(vtkInformation* request,
                                 vtkInformationVector** inputVector,
-                                vtkInformationVector* outputVector);
+                                vtkInformationVector* outputVector) VTK_OVERRIDE;
 
-  virtual int RequestUpdateExtent(vtkInformation*,
+  int RequestUpdateExtent(vtkInformation*,
                                   vtkInformationVector**,
-                                  vtkInformationVector*);
-  virtual int RequestData(vtkInformation*,
+                                  vtkInformationVector*) VTK_OVERRIDE;
+  int RequestData(vtkInformation*,
                           vtkInformationVector**,
-                          vtkInformationVector*);
+                          vtkInformationVector*) VTK_OVERRIDE;
 
   void ExtractImageData(vtkImageData *imageData,
                         vtkCompositeDataSet *output,
diff --git a/Filters/ParallelImaging/vtkMemoryLimitImageDataStreamer.h b/Filters/ParallelImaging/vtkMemoryLimitImageDataStreamer.h
index caf1eac693..c1cc1eab42 100644
--- a/Filters/ParallelImaging/vtkMemoryLimitImageDataStreamer.h
+++ b/Filters/ParallelImaging/vtkMemoryLimitImageDataStreamer.h
@@ -33,7 +33,7 @@ class VTKFILTERSPARALLELIMAGING_EXPORT vtkMemoryLimitImageDataStreamer : public
 public:
   static vtkMemoryLimitImageDataStreamer *New();
   vtkTypeMacro(vtkMemoryLimitImageDataStreamer,vtkImageDataStreamer);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -46,11 +46,11 @@ public:
   // See the vtkAlgorithm for a desciption of what these do
   int ProcessRequest(vtkInformation*,
                      vtkInformationVector**,
-                     vtkInformationVector*);
+                     vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   vtkMemoryLimitImageDataStreamer();
-  ~vtkMemoryLimitImageDataStreamer() {}
+  ~vtkMemoryLimitImageDataStreamer() VTK_OVERRIDE {}
 
   unsigned long  MemoryLimit;
 private:
diff --git a/Filters/ParallelImaging/vtkPComputeHistogram2DOutliers.h b/Filters/ParallelImaging/vtkPComputeHistogram2DOutliers.h
index 0a4780aa56..b173e02f10 100644
--- a/Filters/ParallelImaging/vtkPComputeHistogram2DOutliers.h
+++ b/Filters/ParallelImaging/vtkPComputeHistogram2DOutliers.h
@@ -53,18 +53,18 @@ class VTKFILTERSPARALLELIMAGING_EXPORT vtkPComputeHistogram2DOutliers : public v
 public:
   static vtkPComputeHistogram2DOutliers* New();
   vtkTypeMacro(vtkPComputeHistogram2DOutliers, vtkComputeHistogram2DOutliers);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   virtual void SetController(vtkMultiProcessController*);
   vtkGetObjectMacro(Controller,vtkMultiProcessController);
 protected:
   vtkPComputeHistogram2DOutliers();
-  ~vtkPComputeHistogram2DOutliers();
+  ~vtkPComputeHistogram2DOutliers() VTK_OVERRIDE;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   vtkMultiProcessController* Controller;
 private:
diff --git a/Filters/ParallelImaging/vtkPExtractHistogram2D.h b/Filters/ParallelImaging/vtkPExtractHistogram2D.h
index 89bffeed37..2cf76ada6b 100644
--- a/Filters/ParallelImaging/vtkPExtractHistogram2D.h
+++ b/Filters/ParallelImaging/vtkPExtractHistogram2D.h
@@ -50,23 +50,23 @@ class VTKFILTERSPARALLELIMAGING_EXPORT vtkPExtractHistogram2D : public vtkExtrac
 public:
   static vtkPExtractHistogram2D* New();
   vtkTypeMacro(vtkPExtractHistogram2D, vtkExtractHistogram2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   virtual void SetController(vtkMultiProcessController*);
   vtkGetObjectMacro(Controller,vtkMultiProcessController);
 
 protected:
   vtkPExtractHistogram2D();
-  ~vtkPExtractHistogram2D();
+  ~vtkPExtractHistogram2D() VTK_OVERRIDE;
 
   vtkMultiProcessController* Controller;
 
-  virtual int ComputeBinExtents(vtkDataArray* col1, vtkDataArray* col2);
+  int ComputeBinExtents(vtkDataArray* col1, vtkDataArray* col2) VTK_OVERRIDE;
 
   // Execute the calculations required by the Learn option.
-  virtual void Learn( vtkTable* inData,
+  void Learn( vtkTable* inData,
                       vtkTable* inParameters,
-                      vtkMultiBlockDataSet* outMeta );
+                      vtkMultiBlockDataSet* outMeta ) VTK_OVERRIDE;
 
 private:
   vtkPExtractHistogram2D(const vtkPExtractHistogram2D&) VTK_DELETE_FUNCTION;
diff --git a/Filters/ParallelImaging/vtkPPairwiseExtractHistogram2D.h b/Filters/ParallelImaging/vtkPPairwiseExtractHistogram2D.h
index 021e1b3ebe..d7f59a4326 100644
--- a/Filters/ParallelImaging/vtkPPairwiseExtractHistogram2D.h
+++ b/Filters/ParallelImaging/vtkPPairwiseExtractHistogram2D.h
@@ -55,21 +55,21 @@ class VTKFILTERSPARALLELIMAGING_EXPORT vtkPPairwiseExtractHistogram2D : public v
 public:
   static vtkPPairwiseExtractHistogram2D* New();
   vtkTypeMacro(vtkPPairwiseExtractHistogram2D, vtkPairwiseExtractHistogram2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   virtual void SetController(vtkMultiProcessController*);
   vtkGetObjectMacro(Controller,vtkMultiProcessController);
 
 protected:
   vtkPPairwiseExtractHistogram2D();
-  ~vtkPPairwiseExtractHistogram2D();
+  ~vtkPPairwiseExtractHistogram2D() VTK_OVERRIDE;
 
   vtkMultiProcessController* Controller;
 
   /**
    * Generate a new histogram filter, but actually generate a parallel one this time.
    */
-  virtual vtkExtractHistogram2D* NewHistogramFilter();
+  vtkExtractHistogram2D* NewHistogramFilter() VTK_OVERRIDE;
 
 private:
   vtkPPairwiseExtractHistogram2D(const vtkPPairwiseExtractHistogram2D&) VTK_DELETE_FUNCTION;
diff --git a/Filters/ParallelImaging/vtkTransmitImageDataPiece.h b/Filters/ParallelImaging/vtkTransmitImageDataPiece.h
index 46711c674e..725f7ceeef 100644
--- a/Filters/ParallelImaging/vtkTransmitImageDataPiece.h
+++ b/Filters/ParallelImaging/vtkTransmitImageDataPiece.h
@@ -39,11 +39,11 @@ class VTKFILTERSPARALLELIMAGING_EXPORT vtkTransmitImageDataPiece : public vtkTra
 public:
   static vtkTransmitImageDataPiece *New();
   vtkTypeMacro(vtkTransmitImageDataPiece, vtkTransmitStructuredDataPiece);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkTransmitImageDataPiece();
-  ~vtkTransmitImageDataPiece();
+  ~vtkTransmitImageDataPiece() VTK_OVERRIDE;
 
 private:
   vtkTransmitImageDataPiece(const vtkTransmitImageDataPiece&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkBoundedPointSource.h b/Filters/Points/vtkBoundedPointSource.h
index b97af66d8d..3586a876a1 100644
--- a/Filters/Points/vtkBoundedPointSource.h
+++ b/Filters/Points/vtkBoundedPointSource.h
@@ -41,7 +41,7 @@ public:
    */
   static vtkBoundedPointSource *New();
   vtkTypeMacro(vtkBoundedPointSource,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -103,9 +103,9 @@ public:
 
 protected:
   vtkBoundedPointSource();
-  ~vtkBoundedPointSource() {}
+  ~vtkBoundedPointSource() VTK_OVERRIDE {}
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   vtkIdType NumberOfPoints;
   double Bounds[6];
diff --git a/Filters/Points/vtkDensifyPointCloudFilter.h b/Filters/Points/vtkDensifyPointCloudFilter.h
index eaf13c2474..9b99f5be02 100644
--- a/Filters/Points/vtkDensifyPointCloudFilter.h
+++ b/Filters/Points/vtkDensifyPointCloudFilter.h
@@ -61,7 +61,7 @@ public:
    */
   static vtkDensifyPointCloudFilter *New();
   vtkTypeMacro(vtkDensifyPointCloudFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -158,7 +158,7 @@ public:
 
 protected:
   vtkDensifyPointCloudFilter();
-  ~vtkDensifyPointCloudFilter();
+  ~vtkDensifyPointCloudFilter() VTK_OVERRIDE;
 
   // Data members
   int NeighborhoodType;
@@ -170,9 +170,9 @@ protected:
   vtkIdType MaximumNumberOfPoints;
 
   // Pipeline management
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+    vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkDensifyPointCloudFilter(const vtkDensifyPointCloudFilter&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkEllipsoidalGaussianKernel.h b/Filters/Points/vtkEllipsoidalGaussianKernel.h
index ea88a0a66f..68cef71342 100644
--- a/Filters/Points/vtkEllipsoidalGaussianKernel.h
+++ b/Filters/Points/vtkEllipsoidalGaussianKernel.h
@@ -65,15 +65,15 @@ public:
    */
   static vtkEllipsoidalGaussianKernel *New();
   vtkTypeMacro(vtkEllipsoidalGaussianKernel,vtkGeneralizedKernel);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Initialize the kernel. Overload the superclass to set up scalars and
    * vectors.
    */
-  virtual void Initialize(vtkAbstractPointLocator *loc, vtkDataSet *ds,
-                          vtkPointData *pd);
+  void Initialize(vtkAbstractPointLocator *loc, vtkDataSet *ds,
+                          vtkPointData *pd) VTK_OVERRIDE;
 
   // Re-use any superclass signatures that we don't override.
   using vtkGeneralizedKernel::ComputeWeights;
@@ -92,8 +92,8 @@ public:
    * are estimates of local confidence of weights. The prob may be NULL in
    * which all probabilities are considered =1.
    */
-  virtual vtkIdType ComputeWeights(double x[3], vtkIdList *pIds,
-                                   vtkDoubleArray *prob, vtkDoubleArray *weights);
+  vtkIdType ComputeWeights(double x[3], vtkIdList *pIds,
+                                   vtkDoubleArray *prob, vtkDoubleArray *weights) VTK_OVERRIDE;
 
   //@{
   /**
@@ -170,7 +170,7 @@ public:
 
 protected:
   vtkEllipsoidalGaussianKernel();
-  ~vtkEllipsoidalGaussianKernel();
+  ~vtkEllipsoidalGaussianKernel() VTK_OVERRIDE;
 
   bool UseNormals;
   bool UseScalars;
@@ -187,7 +187,7 @@ protected:
   vtkDataArray *NormalsArray;
   vtkDataArray *ScalarsArray;
 
-  virtual void FreeStructures();
+  void FreeStructures() VTK_OVERRIDE;
 
 private:
   vtkEllipsoidalGaussianKernel(const vtkEllipsoidalGaussianKernel&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkEuclideanClusterExtraction.h b/Filters/Points/vtkEuclideanClusterExtraction.h
index d134ed1e70..4471e10cc2 100644
--- a/Filters/Points/vtkEuclideanClusterExtraction.h
+++ b/Filters/Points/vtkEuclideanClusterExtraction.h
@@ -71,7 +71,7 @@ class VTKFILTERSPOINTS_EXPORT vtkEuclideanClusterExtraction : public vtkPolyData
 {
 public:
   vtkTypeMacro(vtkEuclideanClusterExtraction,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct with default extraction mode to extract largest clusters.
@@ -191,7 +191,7 @@ public:
 
 protected:
   vtkEuclideanClusterExtraction();
-  ~vtkEuclideanClusterExtraction();
+  ~vtkEuclideanClusterExtraction() VTK_OVERRIDE;
 
   double Radius; //connection radius
   bool ColorClusters; //boolean turns on/off scalar gen for separate clusters
@@ -208,9 +208,9 @@ protected:
   vtkAbstractPointLocator *Locator;
 
   // Configure the pipeline
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   // Internal method for propagating connected waves.
   void InsertIntoWave(vtkIdList *wave, vtkIdType ptId);
diff --git a/Filters/Points/vtkExtractHierarchicalBins.h b/Filters/Points/vtkExtractHierarchicalBins.h
index 6d010edc26..8ca56c2e84 100644
--- a/Filters/Points/vtkExtractHierarchicalBins.h
+++ b/Filters/Points/vtkExtractHierarchicalBins.h
@@ -57,7 +57,7 @@ public:
    */
   static vtkExtractHierarchicalBins *New();
   vtkTypeMacro(vtkExtractHierarchicalBins,vtkPointCloudFilter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -97,7 +97,7 @@ public:
 
 protected:
   vtkExtractHierarchicalBins();
-  ~vtkExtractHierarchicalBins();
+  ~vtkExtractHierarchicalBins() VTK_OVERRIDE;
 
   // Users can extract points from a particular level or bin.
   int Level;
@@ -110,7 +110,7 @@ protected:
 
   // All derived classes must implement this method. Note that a side effect of
   // the class is to populate the PointMap. Zero is returned if there is a failure.
-  virtual int FilterPoints(vtkPointSet *input);
+  int FilterPoints(vtkPointSet *input) VTK_OVERRIDE;
 
 private:
   vtkExtractHierarchicalBins(const vtkExtractHierarchicalBins&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkExtractPointCloudPiece.h b/Filters/Points/vtkExtractPointCloudPiece.h
index ceba1b7a12..57adfac249 100644
--- a/Filters/Points/vtkExtractPointCloudPiece.h
+++ b/Filters/Points/vtkExtractPointCloudPiece.h
@@ -39,7 +39,7 @@ public:
    */
   static vtkExtractPointCloudPiece *New();
   vtkTypeMacro(vtkExtractPointCloudPiece, vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -55,11 +55,11 @@ public:
 
 protected:
   vtkExtractPointCloudPiece();
-  ~vtkExtractPointCloudPiece() {}
+  ~vtkExtractPointCloudPiece() VTK_OVERRIDE {}
 
   // Usual data generation method
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   bool ModuloOrdering;
 
 private:
diff --git a/Filters/Points/vtkExtractPoints.h b/Filters/Points/vtkExtractPoints.h
index 234ed5eae2..68d922e2ee 100644
--- a/Filters/Points/vtkExtractPoints.h
+++ b/Filters/Points/vtkExtractPoints.h
@@ -67,7 +67,7 @@ public:
    */
   static vtkExtractPoints *New();
   vtkTypeMacro(vtkExtractPoints,vtkPointCloudFilter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -92,18 +92,18 @@ public:
   /**
    * Return the MTime taking into account changes to the implicit function
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkExtractPoints();
-  ~vtkExtractPoints();
+  ~vtkExtractPoints() VTK_OVERRIDE;
 
   vtkImplicitFunction *ImplicitFunction;
   bool ExtractInside;
 
   // All derived classes must implement this method. Note that a side effect of
   // the class is to populate the PointMap. Zero is returned if there is a failure.
-  virtual int FilterPoints(vtkPointSet *input);
+  int FilterPoints(vtkPointSet *input) VTK_OVERRIDE;
 
 private:
   vtkExtractPoints(const vtkExtractPoints&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkExtractSurface.h b/Filters/Points/vtkExtractSurface.h
index cae2c0c251..61e47d7ca3 100644
--- a/Filters/Points/vtkExtractSurface.h
+++ b/Filters/Points/vtkExtractSurface.h
@@ -105,7 +105,7 @@ public:
    */
   static vtkExtractSurface *New();
   vtkTypeMacro(vtkExtractSurface,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -157,18 +157,18 @@ public:
 
 protected:
   vtkExtractSurface();
-  ~vtkExtractSurface();
+  ~vtkExtractSurface() VTK_OVERRIDE;
 
   double Radius;
   bool HoleFilling;
   int ComputeNormals;
   int ComputeGradients;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
-                                  vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
+                                  vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkExtractSurface(const vtkExtractSurface&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkFitImplicitFunction.h b/Filters/Points/vtkFitImplicitFunction.h
index 9f515fd40e..20a952b558 100644
--- a/Filters/Points/vtkFitImplicitFunction.h
+++ b/Filters/Points/vtkFitImplicitFunction.h
@@ -69,7 +69,7 @@ public:
    */
   static vtkFitImplicitFunction *New();
   vtkTypeMacro(vtkFitImplicitFunction,vtkPointCloudFilter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -94,18 +94,18 @@ public:
   /**
    * Return the MTime taking into account changes to the implicit function.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkFitImplicitFunction();
-  ~vtkFitImplicitFunction();
+  ~vtkFitImplicitFunction() VTK_OVERRIDE;
 
   vtkImplicitFunction *ImplicitFunction;
   double Threshold;
 
   // All derived classes must implement this method. Note that a side effect of
   // the class is to populate the PointMap. Zero is returned if there is a failure.
-  virtual int FilterPoints(vtkPointSet *input);
+  int FilterPoints(vtkPointSet *input) VTK_OVERRIDE;
 
 private:
   vtkFitImplicitFunction(const vtkFitImplicitFunction&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkGaussianKernel.h b/Filters/Points/vtkGaussianKernel.h
index 61e5280fd8..e980fd1a1a 100644
--- a/Filters/Points/vtkGaussianKernel.h
+++ b/Filters/Points/vtkGaussianKernel.h
@@ -53,15 +53,15 @@ public:
    */
   static vtkGaussianKernel *New();
   vtkTypeMacro(vtkGaussianKernel,vtkGeneralizedKernel);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Initialize the kernel. Overload the superclass to set up internal
    * computational values.
    */
-  virtual void Initialize(vtkAbstractPointLocator *loc, vtkDataSet *ds,
-                          vtkPointData *pd);
+  void Initialize(vtkAbstractPointLocator *loc, vtkDataSet *ds,
+                          vtkPointData *pd) VTK_OVERRIDE;
 
   // Re-use any superclass signatures that we don't override.
   using vtkGeneralizedKernel::ComputeWeights;
@@ -80,8 +80,8 @@ public:
    * are estimates of local confidence of weights. The prob may be NULL in
    * which all probabilities are considered =1.
    */
-  virtual vtkIdType ComputeWeights(double x[3], vtkIdList *pIds,
-                                   vtkDoubleArray *prob, vtkDoubleArray *weights);
+  vtkIdType ComputeWeights(double x[3], vtkIdList *pIds,
+                                   vtkDoubleArray *prob, vtkDoubleArray *weights) VTK_OVERRIDE;
 
   //@{
   /**
@@ -95,7 +95,7 @@ public:
 
 protected:
   vtkGaussianKernel();
-  ~vtkGaussianKernel();
+  ~vtkGaussianKernel() VTK_OVERRIDE;
 
   double Sharpness;
 
diff --git a/Filters/Points/vtkGeneralizedKernel.h b/Filters/Points/vtkGeneralizedKernel.h
index b3461f731c..a216518264 100644
--- a/Filters/Points/vtkGeneralizedKernel.h
+++ b/Filters/Points/vtkGeneralizedKernel.h
@@ -75,7 +75,7 @@ public:
    * Standard methods for type and printing.
    */
   vtkTypeMacro(vtkGeneralizedKernel, vtkInterpolationKernel)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -88,7 +88,7 @@ public:
    * ComputeWeights(). Note that ptId is optional in most cases, although in
    * some kernels it is used to facilitate basis computation.
    */
-  virtual vtkIdType ComputeBasis(double x[3], vtkIdList *pIds, vtkIdType ptId=0);
+  vtkIdType ComputeBasis(double x[3], vtkIdList *pIds, vtkIdType ptId=0) VTK_OVERRIDE;
 
   /**
    * Given a point x, a list of basis points pIds, and a probability
@@ -116,7 +116,7 @@ public:
    * invoke ComputeWeights() and provide the interpolation basis points pIds
    * directly.
    */
-  virtual vtkIdType ComputeWeights(double x[3], vtkIdList *pIds, vtkDoubleArray *weights)
+  vtkIdType ComputeWeights(double x[3], vtkIdList *pIds, vtkDoubleArray *weights) VTK_OVERRIDE
   {
     return this->ComputeWeights(x,pIds,NULL,weights);
   }
@@ -181,7 +181,7 @@ public:
 
 protected:
   vtkGeneralizedKernel();
-  ~vtkGeneralizedKernel();
+  ~vtkGeneralizedKernel() VTK_OVERRIDE;
 
   int KernelFootprint;
   double Radius;
diff --git a/Filters/Points/vtkHierarchicalBinningFilter.cxx b/Filters/Points/vtkHierarchicalBinningFilter.cxx
index d0b92707f8..a83b02e5c9 100644
--- a/Filters/Points/vtkHierarchicalBinningFilter.cxx
+++ b/Filters/Points/vtkHierarchicalBinningFilter.cxx
@@ -340,7 +340,7 @@ struct BinTree : public vtkBinTree
   }
 
   // Release allocated memory
-  virtual ~BinTree()
+  ~BinTree() VTK_OVERRIDE
   {
       delete [] this->Map;
       //Offsets data array deleted by superclass
@@ -545,7 +545,7 @@ struct BinTree : public vtkBinTree
   }; //ShuffleArray
 
   // Bin the points, produce output
-  void Execute(vtkPointSet *input, vtkPolyData *output)
+  void Execute(vtkPointSet *input, vtkPolyData *output) VTK_OVERRIDE
   {
       vtkPoints *inPts = input->GetPoints();
       void *pts = inPts->GetVoidPointer(0);
@@ -658,7 +658,7 @@ struct BinTree : public vtkBinTree
       }//for each candidate array
   }
 
-  virtual vtkIdType GetLevelOffset(int level, vtkIdType& npts)
+  vtkIdType GetLevelOffset(int level, vtkIdType& npts) VTK_OVERRIDE
   {
     vtkIdType offset = this->Offsets[this->Tree[level]->LevelOffset];
     vtkIdType offset2 = this->Offsets[this->Tree[level+1]->LevelOffset];
@@ -667,7 +667,7 @@ struct BinTree : public vtkBinTree
     return offset;
   }
 
-  virtual vtkIdType GetBinOffset(int globalBin, vtkIdType& npts)
+  vtkIdType GetBinOffset(int globalBin, vtkIdType& npts) VTK_OVERRIDE
   {
     vtkIdType offset = this->Offsets[globalBin];
     vtkIdType offset2 = this->Offsets[globalBin+1];
@@ -676,7 +676,7 @@ struct BinTree : public vtkBinTree
     return offset;
   }
 
-  virtual vtkIdType GetLocalBinOffset(int level, int localBin, vtkIdType& npts)
+  vtkIdType GetLocalBinOffset(int level, int localBin, vtkIdType& npts) VTK_OVERRIDE
   {
     vtkIdType offset = this->Offsets[this->Tree[level]->LevelOffset] + localBin;
     vtkIdType offset2 = this->Offsets[this->Tree[level]->LevelOffset] + localBin + 1;
diff --git a/Filters/Points/vtkHierarchicalBinningFilter.h b/Filters/Points/vtkHierarchicalBinningFilter.h
index bad9617ec4..dcd794e623 100644
--- a/Filters/Points/vtkHierarchicalBinningFilter.h
+++ b/Filters/Points/vtkHierarchicalBinningFilter.h
@@ -87,7 +87,7 @@ public:
    */
   static vtkHierarchicalBinningFilter *New();
   vtkTypeMacro(vtkHierarchicalBinningFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -189,7 +189,7 @@ public:
 
 protected:
   vtkHierarchicalBinningFilter();
-  ~vtkHierarchicalBinningFilter();
+  ~vtkHierarchicalBinningFilter() VTK_OVERRIDE;
 
   // IVars
   int NumberOfLevels;
@@ -201,9 +201,9 @@ protected:
   // that the convenience functions can be invoked on the bin tree.
   vtkBinTree *Tree;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+    vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkHierarchicalBinningFilter(const vtkHierarchicalBinningFilter&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkInterpolationKernel.h b/Filters/Points/vtkInterpolationKernel.h
index a779b4c9e7..4336e2cdbe 100644
--- a/Filters/Points/vtkInterpolationKernel.h
+++ b/Filters/Points/vtkInterpolationKernel.h
@@ -69,7 +69,7 @@ public:
    * Standard method for type and printing.
    */
   vtkAbstractTypeMacro(vtkInterpolationKernel, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -122,7 +122,7 @@ public:
 
 protected:
   vtkInterpolationKernel();
-  ~vtkInterpolationKernel();
+  ~vtkInterpolationKernel() VTK_OVERRIDE;
 
   bool RequiresInitialization;
   vtkAbstractPointLocator *Locator;
diff --git a/Filters/Points/vtkLinearKernel.h b/Filters/Points/vtkLinearKernel.h
index 1b4ef3a265..5fa7bb2453 100644
--- a/Filters/Points/vtkLinearKernel.h
+++ b/Filters/Points/vtkLinearKernel.h
@@ -44,7 +44,7 @@ public:
    */
   static vtkLinearKernel *New();
   vtkTypeMacro(vtkLinearKernel,vtkGeneralizedKernel);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   // Re-use any superclass signatures that we don't override.
@@ -64,12 +64,12 @@ public:
    * are estimates of local confidence of weights. The prob may be NULL in
    * which all probabilities are considered =1.
    */
-  virtual vtkIdType ComputeWeights(double x[3], vtkIdList *pIds,
-                                   vtkDoubleArray *prob, vtkDoubleArray *weights);
+  vtkIdType ComputeWeights(double x[3], vtkIdList *pIds,
+                                   vtkDoubleArray *prob, vtkDoubleArray *weights) VTK_OVERRIDE;
 
 protected:
   vtkLinearKernel();
-  ~vtkLinearKernel();
+  ~vtkLinearKernel() VTK_OVERRIDE;
 
 private:
   vtkLinearKernel(const vtkLinearKernel&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkPCACurvatureEstimation.h b/Filters/Points/vtkPCACurvatureEstimation.h
index cec1ebd254..68bf821081 100644
--- a/Filters/Points/vtkPCACurvatureEstimation.h
+++ b/Filters/Points/vtkPCACurvatureEstimation.h
@@ -67,7 +67,7 @@ public:
    */
   static vtkPCACurvatureEstimation *New();
   vtkTypeMacro(vtkPCACurvatureEstimation,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -93,15 +93,15 @@ public:
 
 protected:
   vtkPCACurvatureEstimation();
-  ~vtkPCACurvatureEstimation();
+  ~vtkPCACurvatureEstimation() VTK_OVERRIDE;
 
   // IVars
   int SampleSize;
   vtkAbstractPointLocator *Locator;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+    vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkPCACurvatureEstimation(const vtkPCACurvatureEstimation&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkPCANormalEstimation.h b/Filters/Points/vtkPCANormalEstimation.h
index 18861d578b..714aca80cf 100644
--- a/Filters/Points/vtkPCANormalEstimation.h
+++ b/Filters/Points/vtkPCANormalEstimation.h
@@ -72,7 +72,7 @@ public:
    */
   static vtkPCANormalEstimation *New();
   vtkTypeMacro(vtkPCANormalEstimation,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -151,7 +151,7 @@ public:
 
 protected:
   vtkPCANormalEstimation();
-  ~vtkPCANormalEstimation();
+  ~vtkPCANormalEstimation() VTK_OVERRIDE;
 
   // IVars
   int SampleSize;
@@ -165,9 +165,9 @@ protected:
                         vtkIdList *wave, vtkIdList *wave2);
 
   // Pipeline management
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+    vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkPCANormalEstimation(const vtkPCANormalEstimation&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkPointCloudFilter.h b/Filters/Points/vtkPointCloudFilter.h
index a76060c83f..ee17d66096 100644
--- a/Filters/Points/vtkPointCloudFilter.h
+++ b/Filters/Points/vtkPointCloudFilter.h
@@ -71,7 +71,7 @@ public:
    * Standard methods to obtain type information, and print information.
    */
   vtkTypeMacro(vtkPointCloudFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -117,7 +117,7 @@ public:
 
 protected:
   vtkPointCloudFilter();
-  ~vtkPointCloudFilter();
+  ~vtkPointCloudFilter() VTK_OVERRIDE;
 
   // All derived classes must implement this method. Note that a side effect of
   // the class is to populate the PointMap. Zero is returned on error.
@@ -133,9 +133,9 @@ protected:
   // Should output vertex cells be created?
   bool GenerateVertices;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+    vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   void GenerateVerticesIfRequested(vtkPolyData *output);
 
diff --git a/Filters/Points/vtkPointDensityFilter.h b/Filters/Points/vtkPointDensityFilter.h
index ddd536f13a..335bb2dbeb 100644
--- a/Filters/Points/vtkPointDensityFilter.h
+++ b/Filters/Points/vtkPointDensityFilter.h
@@ -98,7 +98,7 @@ public:
    */
   static vtkPointDensityFilter *New();
   vtkTypeMacro(vtkPointDensityFilter,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -236,7 +236,7 @@ public:
 
 protected:
   vtkPointDensityFilter();
-  ~vtkPointDensityFilter();
+  ~vtkPointDensityFilter() VTK_OVERRIDE;
 
   int SampleDimensions[3]; // dimensions of volume over which to estimate density
   double ModelBounds[6]; // bounding box of splatting dimensions
@@ -250,13 +250,13 @@ protected:
   bool ComputeGradient; // Compute the gradient vector and magnitude
   vtkAbstractPointLocator *Locator; //accelerate point searches
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
-  virtual int RequestInformation (vtkInformation *,
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
-  virtual int RequestData(vtkInformation *,
+                                  vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   void ComputeModelBounds(vtkDataSet *input, vtkImageData *output,
                           vtkInformation *outInfo);
diff --git a/Filters/Points/vtkPointInterpolator.h b/Filters/Points/vtkPointInterpolator.h
index 3c5aea5c81..245d615fce 100644
--- a/Filters/Points/vtkPointInterpolator.h
+++ b/Filters/Points/vtkPointInterpolator.h
@@ -87,7 +87,7 @@ public:
    */
   static vtkPointInterpolator *New();
   vtkTypeMacro(vtkPointInterpolator,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -268,11 +268,11 @@ public:
   /**
    * Get the MTime of this object also considering the locator and kernel.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkPointInterpolator();
-  ~vtkPointInterpolator();
+  ~vtkPointInterpolator() VTK_OVERRIDE;
 
   vtkAbstractPointLocator *Locator;
   vtkInterpolationKernel *Kernel;
@@ -290,12 +290,12 @@ protected:
   bool PassPointArrays;
   bool PassFieldArrays;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+    vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **,
+    vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
+    vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Virtual for specialized subclass(es)
diff --git a/Filters/Points/vtkPointInterpolator2D.h b/Filters/Points/vtkPointInterpolator2D.h
index 926a74471e..acfac88ee4 100644
--- a/Filters/Points/vtkPointInterpolator2D.h
+++ b/Filters/Points/vtkPointInterpolator2D.h
@@ -75,7 +75,7 @@ public:
    */
   static vtkPointInterpolator2D *New();
   vtkTypeMacro(vtkPointInterpolator2D,vtkPointInterpolator);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -101,7 +101,7 @@ public:
 
 protected:
   vtkPointInterpolator2D();
-  ~vtkPointInterpolator2D();
+  ~vtkPointInterpolator2D() VTK_OVERRIDE;
 
   // Interpolate z values?
   bool InterpolateZ;
@@ -110,7 +110,7 @@ protected:
   vtkStdString ZArrayName;
 
   // The driver of the algorithm
-  virtual void Probe(vtkDataSet *input, vtkDataSet *source, vtkDataSet *output);
+  void Probe(vtkDataSet *input, vtkDataSet *source, vtkDataSet *output) VTK_OVERRIDE;
 
 private:
   vtkPointInterpolator2D(const vtkPointInterpolator2D&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkProbabilisticVoronoiKernel.h b/Filters/Points/vtkProbabilisticVoronoiKernel.h
index 44fa957363..3cfc1209ed 100644
--- a/Filters/Points/vtkProbabilisticVoronoiKernel.h
+++ b/Filters/Points/vtkProbabilisticVoronoiKernel.h
@@ -52,7 +52,7 @@ public:
    */
   static vtkProbabilisticVoronoiKernel *New();
   vtkTypeMacro(vtkProbabilisticVoronoiKernel,vtkGeneralizedKernel);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   // Re-use any superclass signatures that we don't override.
@@ -72,12 +72,12 @@ public:
    * are estimates of local confidence of weights. The prob may be NULL in
    * which all probabilities are considered =1.
    */
-  virtual vtkIdType ComputeWeights(double x[3], vtkIdList *pIds,
-                                   vtkDoubleArray *prob, vtkDoubleArray *weights);
+  vtkIdType ComputeWeights(double x[3], vtkIdList *pIds,
+                                   vtkDoubleArray *prob, vtkDoubleArray *weights) VTK_OVERRIDE;
 
 protected:
   vtkProbabilisticVoronoiKernel();
-  ~vtkProbabilisticVoronoiKernel();
+  ~vtkProbabilisticVoronoiKernel() VTK_OVERRIDE;
 
 private:
   vtkProbabilisticVoronoiKernel(const vtkProbabilisticVoronoiKernel&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkRadiusOutlierRemoval.h b/Filters/Points/vtkRadiusOutlierRemoval.h
index f1502e43a0..9c4a8b81bd 100644
--- a/Filters/Points/vtkRadiusOutlierRemoval.h
+++ b/Filters/Points/vtkRadiusOutlierRemoval.h
@@ -66,7 +66,7 @@ public:
    */
   static vtkRadiusOutlierRemoval *New();
   vtkTypeMacro(vtkRadiusOutlierRemoval,vtkPointCloudFilter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -98,7 +98,7 @@ public:
 
 protected:
   vtkRadiusOutlierRemoval();
-  ~vtkRadiusOutlierRemoval();
+  ~vtkRadiusOutlierRemoval() VTK_OVERRIDE;
 
   double Radius;
   int NumberOfNeighbors;
@@ -106,7 +106,7 @@ protected:
 
   // All derived classes must implement this method. Note that a side effect of
   // the class is to populate the PointMap. Zero is returned if there is a failure.
-  virtual int FilterPoints(vtkPointSet *input);
+  int FilterPoints(vtkPointSet *input) VTK_OVERRIDE;
 
 private:
   vtkRadiusOutlierRemoval(const vtkRadiusOutlierRemoval&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkSPHCubicKernel.h b/Filters/Points/vtkSPHCubicKernel.h
index d696782f3d..a84adcd6e2 100644
--- a/Filters/Points/vtkSPHCubicKernel.h
+++ b/Filters/Points/vtkSPHCubicKernel.h
@@ -54,21 +54,21 @@ public:
    */
   static vtkSPHCubicKernel *New();
   vtkTypeMacro(vtkSPHCubicKernel,vtkSPHKernel);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Produce the computational parameters for the kernel. Invoke this method
    * after setting initial values like SpatialStep.
    */
-  virtual void Initialize(vtkAbstractPointLocator *loc, vtkDataSet *ds,
-                          vtkPointData *pd);
+  void Initialize(vtkAbstractPointLocator *loc, vtkDataSet *ds,
+                          vtkPointData *pd) VTK_OVERRIDE;
 
   //@{
   /**
    * Compute weighting factor given a normalized distance from a sample point.
    */
-  virtual double ComputeFunctionWeight(const double d)
+  double ComputeFunctionWeight(const double d) VTK_OVERRIDE
   {
     double tmp1 = 2.0 - std::min(d,2.0);
     double tmp2 = 1.0 - std::min(d,1.0);
@@ -81,7 +81,7 @@ public:
    * Compute weighting factor for derivative quantities given a normalized
    * distance from a sample point.
    */
-  virtual double ComputeDerivWeight(const double d)
+  double ComputeDerivWeight(const double d) VTK_OVERRIDE
   {
     double tmp1 = 2.0 - std::min(d,2.0);
     double tmp2 = 1.0 - std::min(d,1.0);
@@ -91,7 +91,7 @@ public:
 
 protected:
   vtkSPHCubicKernel();
-  ~vtkSPHCubicKernel();
+  ~vtkSPHCubicKernel() VTK_OVERRIDE;
 
 private:
   vtkSPHCubicKernel(const vtkSPHCubicKernel&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkSPHInterpolator.h b/Filters/Points/vtkSPHInterpolator.h
index f9660c304e..f9be8e7cd9 100644
--- a/Filters/Points/vtkSPHInterpolator.h
+++ b/Filters/Points/vtkSPHInterpolator.h
@@ -100,7 +100,7 @@ public:
    */
   static vtkSPHInterpolator *New();
   vtkTypeMacro(vtkSPHInterpolator,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -378,11 +378,11 @@ public:
   /**
    * Get the MTime of this object also considering the locator and kernel.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkSPHInterpolator();
-  ~vtkSPHInterpolator();
+  ~vtkSPHInterpolator() VTK_OVERRIDE;
 
   vtkAbstractPointLocator *Locator;
   vtkSPHKernel *Kernel;
@@ -410,12 +410,12 @@ protected:
   bool PassPointArrays;
   bool PassFieldArrays;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+    vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **,
+    vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
+    vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Virtual for specialized subclass(es)
diff --git a/Filters/Points/vtkSPHKernel.h b/Filters/Points/vtkSPHKernel.h
index 68a25a0920..0e658aa34f 100644
--- a/Filters/Points/vtkSPHKernel.h
+++ b/Filters/Points/vtkSPHKernel.h
@@ -73,7 +73,7 @@ public:
    * Standard methods for instantiation, obtaining type information, and printing.
    */
   vtkTypeMacro(vtkSPHKernel,vtkInterpolationKernel);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -134,8 +134,8 @@ public:
    * Produce the computational parameters for the kernel. Invoke this method
    * after setting initial values like SpatialStep.
    */
-  virtual void Initialize(vtkAbstractPointLocator *loc, vtkDataSet *ds,
-                          vtkPointData *pd);
+  void Initialize(vtkAbstractPointLocator *loc, vtkDataSet *ds,
+                          vtkPointData *pd) VTK_OVERRIDE;
 
   /**
    * Given a point x (and optional associated ptId), determine the points
@@ -145,14 +145,14 @@ public:
    * is called before ComputeWeights(). Note that while ptId is optional in most
    * cases, if a cutoff array is provided, then ptId must be provided.
    */
-  virtual vtkIdType ComputeBasis(double x[3], vtkIdList *pIds, vtkIdType ptId=0);
+  vtkIdType ComputeBasis(double x[3], vtkIdList *pIds, vtkIdType ptId=0) VTK_OVERRIDE;
 
   /**
    * Given a point x, and a list of basis points pIds, compute interpolation
    * weights associated with these basis points.
    */
-  virtual vtkIdType ComputeWeights(double x[3], vtkIdList *pIds,
-                                   vtkDoubleArray *weights);
+  vtkIdType ComputeWeights(double x[3], vtkIdList *pIds,
+                                   vtkDoubleArray *weights) VTK_OVERRIDE;
 
   /**
    * Given a point x, and a list of basis points pIds, compute interpolation
@@ -185,7 +185,7 @@ public:
 
 protected:
   vtkSPHKernel();
-  ~vtkSPHKernel();
+  ~vtkSPHKernel() VTK_OVERRIDE;
 
   // Instance variables
   double SpatialStep; //also known as smoothing length h
diff --git a/Filters/Points/vtkSPHQuarticKernel.h b/Filters/Points/vtkSPHQuarticKernel.h
index 6e36182d08..37dd6893fe 100644
--- a/Filters/Points/vtkSPHQuarticKernel.h
+++ b/Filters/Points/vtkSPHQuarticKernel.h
@@ -54,21 +54,21 @@ public:
    */
   static vtkSPHQuarticKernel *New();
   vtkTypeMacro(vtkSPHQuarticKernel,vtkSPHKernel);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Produce the computational parameters for the kernel. Invoke this method
    * after setting initial values like SpatialStep.
    */
-  virtual void Initialize(vtkAbstractPointLocator *loc, vtkDataSet *ds,
-                          vtkPointData *pd);
+  void Initialize(vtkAbstractPointLocator *loc, vtkDataSet *ds,
+                          vtkPointData *pd) VTK_OVERRIDE;
 
   //@{
   /**
    * Compute weighting factor given a normalized distance from a sample point.
    */
-  virtual double ComputeFunctionWeight(const double d)
+  double ComputeFunctionWeight(const double d) VTK_OVERRIDE
   {
     double tmp1 = 2.5 - std::min(d,2.5);
     double tmp2 = 1.5 - std::min(d,1.5);
@@ -83,7 +83,7 @@ public:
    * Compute weighting factor for derivative quantities given a normalized
    * distance from a sample point.
    */
-  virtual double ComputeDerivWeight(const double d)
+  double ComputeDerivWeight(const double d) VTK_OVERRIDE
   {
     double tmp1 = 2.5 - std::min(d,2.5);
     double tmp2 = 1.5 - std::min(d,1.5);
@@ -94,7 +94,7 @@ public:
 
 protected:
   vtkSPHQuarticKernel();
-  ~vtkSPHQuarticKernel();
+  ~vtkSPHQuarticKernel() VTK_OVERRIDE;
 
 private:
   vtkSPHQuarticKernel(const vtkSPHQuarticKernel&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkSPHQuinticKernel.h b/Filters/Points/vtkSPHQuinticKernel.h
index df4c4f53a6..6db319307a 100644
--- a/Filters/Points/vtkSPHQuinticKernel.h
+++ b/Filters/Points/vtkSPHQuinticKernel.h
@@ -54,21 +54,21 @@ public:
    */
   static vtkSPHQuinticKernel *New();
   vtkTypeMacro(vtkSPHQuinticKernel,vtkSPHKernel);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Produce the computational parameters for the kernel. Invoke this method
    * after setting initial values like SpatialStep.
    */
-  virtual void Initialize(vtkAbstractPointLocator *loc, vtkDataSet *ds,
-                          vtkPointData *pd);
+  void Initialize(vtkAbstractPointLocator *loc, vtkDataSet *ds,
+                          vtkPointData *pd) VTK_OVERRIDE;
 
   //@{
   /**
    * Compute weighting factor given a normalized distance from a sample point.
    */
-  virtual double ComputeFunctionWeight(const double d)
+  double ComputeFunctionWeight(const double d) VTK_OVERRIDE
   {
     double tmp1 = 3.0 - std::min(d,3.0);
     double tmp2 = 2.0 - std::min(d,2.0);
@@ -83,7 +83,7 @@ public:
    * Compute weighting factor for derivative quantities given a normalized
    * distance from a sample point.
    */
-  virtual double ComputeDerivWeight(const double d)
+  double ComputeDerivWeight(const double d) VTK_OVERRIDE
   {
     double tmp1 = 3.0 - std::min(d,3.0);
     double tmp2 = 2.0 - std::min(d,2.0);
@@ -95,7 +95,7 @@ public:
 
 protected:
   vtkSPHQuinticKernel();
-  ~vtkSPHQuinticKernel();
+  ~vtkSPHQuinticKernel() VTK_OVERRIDE;
 
 private:
   vtkSPHQuinticKernel(const vtkSPHQuinticKernel&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkShepardKernel.h b/Filters/Points/vtkShepardKernel.h
index 1618d9443e..57e89073ba 100644
--- a/Filters/Points/vtkShepardKernel.h
+++ b/Filters/Points/vtkShepardKernel.h
@@ -51,7 +51,7 @@ public:
    */
   static vtkShepardKernel *New();
   vtkTypeMacro(vtkShepardKernel,vtkGeneralizedKernel);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   // Re-use any superclass signatures that we don't override.
@@ -71,8 +71,8 @@ public:
    * are estimates of local confidence of weights. The prob may be NULL in
    * which all probabilities are considered =1.
    */
-  virtual vtkIdType ComputeWeights(double x[3], vtkIdList *pIds,
-                                   vtkDoubleArray *prob, vtkDoubleArray *weights);
+  vtkIdType ComputeWeights(double x[3], vtkIdList *pIds,
+                                   vtkDoubleArray *prob, vtkDoubleArray *weights) VTK_OVERRIDE;
 
   //@{
   /**
@@ -85,7 +85,7 @@ public:
 
 protected:
   vtkShepardKernel();
-  ~vtkShepardKernel();
+  ~vtkShepardKernel() VTK_OVERRIDE;
 
   // The exponent of the weights, =2 by default (l2 norm)
   double PowerParameter;
diff --git a/Filters/Points/vtkSignedDistance.h b/Filters/Points/vtkSignedDistance.h
index a6f90f38f1..83538fb2a8 100644
--- a/Filters/Points/vtkSignedDistance.h
+++ b/Filters/Points/vtkSignedDistance.h
@@ -82,7 +82,7 @@ public:
    */
   static vtkSignedDistance *New();
   vtkTypeMacro(vtkSignedDistance,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -147,11 +147,11 @@ public:
   // See the vtkAlgorithm for a desciption of what these do
   int ProcessRequest(vtkInformation*,
                      vtkInformationVector**,
-                     vtkInformationVector*);
+                     vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   vtkSignedDistance();
-  ~vtkSignedDistance();
+  ~vtkSignedDistance() VTK_OVERRIDE;
 
   int Dimensions[3];
   double Bounds[6];
@@ -161,12 +161,12 @@ protected:
   // Flag tracks whether process needs initialization
   int Initialized;
 
-  virtual int RequestInformation (vtkInformation *,
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
-  virtual int RequestData (vtkInformation *,
-                           vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int, vtkInformation*);
+                                  vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData (vtkInformation *,
+                           vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
 private:
   vtkSignedDistance(const vtkSignedDistance&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkStatisticalOutlierRemoval.h b/Filters/Points/vtkStatisticalOutlierRemoval.h
index d5c5257e6a..e41fb485cd 100644
--- a/Filters/Points/vtkStatisticalOutlierRemoval.h
+++ b/Filters/Points/vtkStatisticalOutlierRemoval.h
@@ -67,7 +67,7 @@ public:
    */
   static vtkStatisticalOutlierRemoval *New();
   vtkTypeMacro(vtkStatisticalOutlierRemoval,vtkPointCloudFilter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -121,7 +121,7 @@ public:
 
 protected:
   vtkStatisticalOutlierRemoval();
-  ~vtkStatisticalOutlierRemoval();
+  ~vtkStatisticalOutlierRemoval() VTK_OVERRIDE;
 
   int SampleSize;
   double StandardDeviationFactor;
@@ -133,7 +133,7 @@ protected:
 
   // All derived classes must implement this method. Note that a side effect of
   // the class is to populate the PointMap. Zero is returned if there is a failure.
-  virtual int FilterPoints(vtkPointSet *input);
+  int FilterPoints(vtkPointSet *input) VTK_OVERRIDE;
 
 private:
   vtkStatisticalOutlierRemoval(const vtkStatisticalOutlierRemoval&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkVoronoiKernel.h b/Filters/Points/vtkVoronoiKernel.h
index 99a5e6cf98..162b96dd5a 100644
--- a/Filters/Points/vtkVoronoiKernel.h
+++ b/Filters/Points/vtkVoronoiKernel.h
@@ -48,7 +48,7 @@ public:
    */
   static vtkVoronoiKernel *New();
   vtkTypeMacro(vtkVoronoiKernel,vtkInterpolationKernel);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -58,7 +58,7 @@ public:
    * method returns the number of points in the basis. Typically this method
    * is called before ComputeWeights().
    */
-  virtual vtkIdType ComputeBasis(double x[3], vtkIdList *pIds, vtkIdType ptId=0);
+  vtkIdType ComputeBasis(double x[3], vtkIdList *pIds, vtkIdType ptId=0) VTK_OVERRIDE;
 
   /**
    * Given a point x, and a list of basis points pIds, compute interpolation
@@ -69,12 +69,12 @@ public:
    * invoke ComputeWeights() and provide the interpolation basis points pIds
    * directly.
    */
-  virtual vtkIdType ComputeWeights(double x[3], vtkIdList *pIds,
-                                   vtkDoubleArray *weights);
+  vtkIdType ComputeWeights(double x[3], vtkIdList *pIds,
+                                   vtkDoubleArray *weights) VTK_OVERRIDE;
 
 protected:
   vtkVoronoiKernel();
-  ~vtkVoronoiKernel();
+  ~vtkVoronoiKernel() VTK_OVERRIDE;
 
 private:
   vtkVoronoiKernel(const vtkVoronoiKernel&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkVoxelGrid.h b/Filters/Points/vtkVoxelGrid.h
index 457297c14f..413e19a7cf 100644
--- a/Filters/Points/vtkVoxelGrid.h
+++ b/Filters/Points/vtkVoxelGrid.h
@@ -64,7 +64,7 @@ public:
    */
   static vtkVoxelGrid *New();
   vtkTypeMacro(vtkVoxelGrid,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -140,7 +140,7 @@ public:
 
 protected:
   vtkVoxelGrid();
-  ~vtkVoxelGrid();
+  ~vtkVoxelGrid() VTK_OVERRIDE;
 
   vtkStaticPointLocator *Locator;
   int ConfigurationStyle;
@@ -150,9 +150,9 @@ protected:
   int NumberOfPointsPerBin;
   vtkInterpolationKernel *Kernel;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkVoxelGrid(const vtkVoxelGrid&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Points/vtkWendlandQuinticKernel.h b/Filters/Points/vtkWendlandQuinticKernel.h
index 7315cde93b..8ee2235cb5 100644
--- a/Filters/Points/vtkWendlandQuinticKernel.h
+++ b/Filters/Points/vtkWendlandQuinticKernel.h
@@ -54,15 +54,15 @@ public:
    */
   static vtkWendlandQuinticKernel *New();
   vtkTypeMacro(vtkWendlandQuinticKernel,vtkSPHKernel);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Produce the computational parameters for the kernel. Invoke this method
    * after setting initial values like SpatialStep.
    */
-  virtual void Initialize(vtkAbstractPointLocator *loc, vtkDataSet *ds,
-                          vtkPointData *pd);
+  void Initialize(vtkAbstractPointLocator *loc, vtkDataSet *ds,
+                          vtkPointData *pd) VTK_OVERRIDE;
 
   //@{
   /**
@@ -70,7 +70,7 @@ public:
    * Note that the formulation is slightly different to avoid an extra operation
    * (which has the effect of affecting the NormFactor by 1/16).
    */
-  virtual double ComputeFunctionWeight(const double d)
+  double ComputeFunctionWeight(const double d) VTK_OVERRIDE
   {
     if ( d >= 2.0 )
     {
@@ -89,7 +89,7 @@ public:
    * Compute weighting factor for derivative quantities given a normalized
    * distance from a sample point.
    */
-  virtual double ComputeDerivWeight(const double d)
+  double ComputeDerivWeight(const double d) VTK_OVERRIDE
   {
     if ( d >= 2.0 )
     {
@@ -106,7 +106,7 @@ public:
 
 protected:
   vtkWendlandQuinticKernel();
-  ~vtkWendlandQuinticKernel();
+  ~vtkWendlandQuinticKernel() VTK_OVERRIDE;
 
 private:
   vtkWendlandQuinticKernel(const vtkWendlandQuinticKernel&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Programmable/vtkProgrammableAttributeDataFilter.h b/Filters/Programmable/vtkProgrammableAttributeDataFilter.h
index 99a4aa8d07..ba11bcaeb8 100644
--- a/Filters/Programmable/vtkProgrammableAttributeDataFilter.h
+++ b/Filters/Programmable/vtkProgrammableAttributeDataFilter.h
@@ -87,7 +87,7 @@ class VTKFILTERSPROGRAMMABLE_EXPORT vtkProgrammableAttributeDataFilter : public
 public:
   static vtkProgrammableAttributeDataFilter *New();
   vtkTypeMacro(vtkProgrammableAttributeDataFilter,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Add a dataset to the list of data to process.
@@ -128,9 +128,9 @@ public:
 
 protected:
   vtkProgrammableAttributeDataFilter();
-  ~vtkProgrammableAttributeDataFilter();
+  ~vtkProgrammableAttributeDataFilter() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   vtkDataSetCollection *InputList; //list of datasets to process
   ProgrammableMethodCallbackType ExecuteMethod; //function to invoke
   ProgrammableMethodCallbackType ExecuteMethodArgDelete;
diff --git a/Filters/Programmable/vtkProgrammableFilter.h b/Filters/Programmable/vtkProgrammableFilter.h
index 711590209c..36916d773b 100644
--- a/Filters/Programmable/vtkProgrammableFilter.h
+++ b/Filters/Programmable/vtkProgrammableFilter.h
@@ -51,7 +51,7 @@ class VTKFILTERSPROGRAMMABLE_EXPORT vtkProgrammableFilter : public vtkPassInputT
 public:
   static vtkProgrammableFilter *New();
   vtkTypeMacro(vtkProgrammableFilter,vtkPassInputTypeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Signature definition for programmable method callbacks. Methods passed to
@@ -126,10 +126,10 @@ public:
 
 protected:
   vtkProgrammableFilter();
-  ~vtkProgrammableFilter();
+  ~vtkProgrammableFilter() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   ProgrammableMethodCallbackType ExecuteMethod; //function to invoke
   ProgrammableMethodCallbackType ExecuteMethodArgDelete;
diff --git a/Filters/Programmable/vtkProgrammableGlyphFilter.h b/Filters/Programmable/vtkProgrammableGlyphFilter.h
index 22296dc8d2..1d4bb1fdb2 100644
--- a/Filters/Programmable/vtkProgrammableGlyphFilter.h
+++ b/Filters/Programmable/vtkProgrammableGlyphFilter.h
@@ -73,7 +73,7 @@ class VTKFILTERSPROGRAMMABLE_EXPORT vtkProgrammableGlyphFilter : public vtkPolyD
 {
 public:
   vtkTypeMacro(vtkProgrammableGlyphFilter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with NULL GlyphMethod() and no source object. The ColorMode
@@ -159,10 +159,10 @@ public:
 
 protected:
   vtkProgrammableGlyphFilter();
-  ~vtkProgrammableGlyphFilter();
+  ~vtkProgrammableGlyphFilter() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int, vtkInformation *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int, vtkInformation *) VTK_OVERRIDE;
 
   double Point[3]; // Coordinates of point
   vtkIdType PointId; // Current point id during processing
diff --git a/Filters/Python/vtkPythonAlgorithm.h b/Filters/Python/vtkPythonAlgorithm.h
index 324ece57ed..f0618a54fe 100644
--- a/Filters/Python/vtkPythonAlgorithm.h
+++ b/Filters/Python/vtkPythonAlgorithm.h
@@ -52,7 +52,7 @@ class VTKFILTERSPYTHON_EXPORT vtkPythonAlgorithm : public vtkAlgorithm
 public:
   static vtkPythonAlgorithm *New();
   vtkTypeMacro(vtkPythonAlgorithm, vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Specify the Python object to use to operate on the data. A reference will
@@ -67,23 +67,23 @@ public:
    * Set the number of input ports used by the algorithm.
    * This is made public so that it can be called from Python.
    */
-  virtual void SetNumberOfInputPorts(int n);
+  void SetNumberOfInputPorts(int n) VTK_OVERRIDE;
 
   /**
    * Set the number of output ports provided by the algorithm.
    * This is made public so that it can be called from Python.
    */
-  virtual void SetNumberOfOutputPorts(int n);
+  void SetNumberOfOutputPorts(int n) VTK_OVERRIDE;
 
 protected:
   vtkPythonAlgorithm();
   ~vtkPythonAlgorithm();
 
-  virtual int ProcessRequest(vtkInformation* request,
-                             vtkInformationVector** inInfo,
-                             vtkInformationVector* outInfo);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
+  int ProcessRequest(vtkInformation* request,
+                     vtkInformationVector** inInfo,
+                     vtkInformationVector* outInfo) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkPythonAlgorithm(const vtkPythonAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Filters/SMP/vtkSMPContourGrid.h b/Filters/SMP/vtkSMPContourGrid.h
index c1a9b147f8..f82b31c2ee 100644
--- a/Filters/SMP/vtkSMPContourGrid.h
+++ b/Filters/SMP/vtkSMPContourGrid.h
@@ -30,7 +30,7 @@ class VTKFILTERSSMP_EXPORT vtkSMPContourGrid : public vtkContourGrid
 {
 public:
   vtkTypeMacro(vtkSMPContourGrid,vtkContourGrid);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Constructor.
@@ -55,18 +55,18 @@ public:
   /**
    * Please see vtkAlgorithm for details.
    */
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   vtkSMPContourGrid();
-  ~vtkSMPContourGrid();
+  ~vtkSMPContourGrid() VTK_OVERRIDE;
 
   virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   bool MergePieces;
 
diff --git a/Filters/SMP/vtkSMPContourGridManyPieces.h b/Filters/SMP/vtkSMPContourGridManyPieces.h
index 4fa8e9cfaa..1e49e11252 100644
--- a/Filters/SMP/vtkSMPContourGridManyPieces.h
+++ b/Filters/SMP/vtkSMPContourGridManyPieces.h
@@ -35,7 +35,7 @@ class VTKFILTERSSMP_EXPORT vtkSMPContourGridManyPieces : public vtkContourGrid
 {
 public:
   vtkTypeMacro(vtkSMPContourGridManyPieces,vtkContourGrid);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Constructor.
@@ -44,11 +44,11 @@ public:
 
 protected:
   vtkSMPContourGridManyPieces();
-  ~vtkSMPContourGridManyPieces();
+  ~vtkSMPContourGridManyPieces() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkSMPContourGridManyPieces(const vtkSMPContourGridManyPieces&) VTK_DELETE_FUNCTION;
diff --git a/Filters/SMP/vtkSMPMergePoints.h b/Filters/SMP/vtkSMPMergePoints.h
index 04eb8face8..5481e5caa4 100644
--- a/Filters/SMP/vtkSMPMergePoints.h
+++ b/Filters/SMP/vtkSMPMergePoints.h
@@ -43,7 +43,7 @@ class VTKFILTERSSMP_EXPORT vtkSMPMergePoints : public vtkMergePoints
 public:
   vtkTypeMacro(vtkSMPMergePoints, vtkMergePoints);
   static vtkSMPMergePoints* New();
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * This should be called from 1 thread before any call to Merge.
@@ -101,14 +101,14 @@ public:
   /**
    * Retuns the number of bins.
    */
-  vtkIdType GetNumberOfBuckets()
+  vtkIdType GetNumberOfBuckets() VTK_OVERRIDE
   {
     return this->NumberOfBuckets;
   }
 
 protected:
   vtkSMPMergePoints();
-  ~vtkSMPMergePoints();
+  ~vtkSMPMergePoints() VTK_OVERRIDE;
 
   vtkAtomicIdType AtomicInsertionId;
 
diff --git a/Filters/SMP/vtkSMPTransform.h b/Filters/SMP/vtkSMPTransform.h
index 03dd80fb77..9a33be502e 100644
--- a/Filters/SMP/vtkSMPTransform.h
+++ b/Filters/SMP/vtkSMPTransform.h
@@ -35,25 +35,25 @@ class VTKFILTERSSMP_EXPORT vtkSMPTransform : public vtkTransform
  public:
   static vtkSMPTransform *New();
   vtkTypeMacro(vtkSMPTransform, vtkTransform);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Apply the transformation to a series of points, and append the
    * results to outPts.
    */
-  void TransformPoints(vtkPoints *inPts, vtkPoints *outPts);
+  void TransformPoints(vtkPoints *inPts, vtkPoints *outPts) VTK_OVERRIDE;
 
   /**
    * Apply the transformation to a series of normals, and append the
    * results to outNms.
    */
-  virtual void TransformNormals(vtkDataArray *inNms, vtkDataArray *outNms);
+  void TransformNormals(vtkDataArray *inNms, vtkDataArray *outNms) VTK_OVERRIDE;
 
   /**
    * Apply the transformation to a series of vectors, and append the
    * results to outVrs.
    */
-  virtual void TransformVectors(vtkDataArray *inVrs, vtkDataArray *outVrs);
+  void TransformVectors(vtkDataArray *inVrs, vtkDataArray *outVrs) VTK_OVERRIDE;
 
   /**
    * Apply the transformation to a combination of points, normals
@@ -64,11 +64,11 @@ class VTKFILTERSSMP_EXPORT vtkSMPTransform : public vtkTransform
                                      vtkDataArray *inNms,
                                      vtkDataArray *outNms,
                                      vtkDataArray *inVrs,
-                                     vtkDataArray *outVrs);
+                                     vtkDataArray *outVrs) VTK_OVERRIDE;
 
 protected:
   vtkSMPTransform () {}
-  ~vtkSMPTransform () {}
+  ~vtkSMPTransform () VTK_OVERRIDE {}
 
 private:
   vtkSMPTransform (const vtkSMPTransform&) VTK_DELETE_FUNCTION;
diff --git a/Filters/SMP/vtkSMPWarpVector.h b/Filters/SMP/vtkSMPWarpVector.h
index 2430838afc..10ecef83ce 100644
--- a/Filters/SMP/vtkSMPWarpVector.h
+++ b/Filters/SMP/vtkSMPWarpVector.h
@@ -33,11 +33,11 @@ class VTKFILTERSSMP_EXPORT vtkSMPWarpVector : public vtkWarpVector
 public :
   vtkTypeMacro(vtkSMPWarpVector,vtkWarpVector);
   static vtkSMPWarpVector *New();
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected :
   vtkSMPWarpVector();
-  ~vtkSMPWarpVector();
+  ~vtkSMPWarpVector() VTK_OVERRIDE;
 
 
   /**
@@ -45,7 +45,7 @@ protected :
    */
   int RequestData(vtkInformation *,
                   vtkInformationVector **,
-                  vtkInformationVector *);
+                  vtkInformationVector *) VTK_OVERRIDE;
 
 private :
   vtkSMPWarpVector(const vtkSMPWarpVector&) VTK_DELETE_FUNCTION;
diff --git a/Filters/SMP/vtkThreadedSynchronizedTemplates3D.h b/Filters/SMP/vtkThreadedSynchronizedTemplates3D.h
index 88fd0e87d2..3ff4ced379 100644
--- a/Filters/SMP/vtkThreadedSynchronizedTemplates3D.h
+++ b/Filters/SMP/vtkThreadedSynchronizedTemplates3D.h
@@ -43,12 +43,12 @@ public:
   static vtkThreadedSynchronizedTemplates3D *New();
 
   vtkTypeMacro(vtkThreadedSynchronizedTemplates3D,vtkMultiBlockDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Because we delegate to vtkContourValues
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -173,16 +173,16 @@ public:
 
 protected:
   vtkThreadedSynchronizedTemplates3D();
-  ~vtkThreadedSynchronizedTemplates3D();
+  ~vtkThreadedSynchronizedTemplates3D() VTK_OVERRIDE;
 
   int ComputeNormals;
   int ComputeGradients;
   int ComputeScalars;
   vtkContourValues *ContourValues;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   int ArrayComponent;
 
diff --git a/Filters/SMP/vtkThreadedSynchronizedTemplatesCutter3D.h b/Filters/SMP/vtkThreadedSynchronizedTemplatesCutter3D.h
index 2baba6ab5f..4dc84358ca 100644
--- a/Filters/SMP/vtkThreadedSynchronizedTemplatesCutter3D.h
+++ b/Filters/SMP/vtkThreadedSynchronizedTemplatesCutter3D.h
@@ -38,7 +38,7 @@ public:
   static vtkThreadedSynchronizedTemplatesCutter3D *New();
 
   vtkTypeMacro(vtkThreadedSynchronizedTemplatesCutter3D,vtkThreadedSynchronizedTemplates3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Needed by templated functions.
@@ -67,20 +67,20 @@ public:
    * Override GetMTime because we delegate to vtkContourValues and refer to
    * vtkImplicitFunction.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkThreadedSynchronizedTemplatesCutter3D();
-  ~vtkThreadedSynchronizedTemplatesCutter3D();
+  ~vtkThreadedSynchronizedTemplatesCutter3D() VTK_OVERRIDE;
 
   vtkImplicitFunction *CutFunction;
   int OutputPointsPrecision;
 
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 private:
   vtkThreadedSynchronizedTemplatesCutter3D(const vtkThreadedSynchronizedTemplatesCutter3D&) VTK_DELETE_FUNCTION;
   void operator=(const vtkThreadedSynchronizedTemplatesCutter3D&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Selection/vtkCellDistanceSelector.h b/Filters/Selection/vtkCellDistanceSelector.h
index 6c60a911c5..a9c0d3e169 100644
--- a/Filters/Selection/vtkCellDistanceSelector.h
+++ b/Filters/Selection/vtkCellDistanceSelector.h
@@ -118,12 +118,12 @@ class VTKFILTERSSELECTION_EXPORT vtkCellDistanceSelector : public vtkSelectionAl
 
  protected:
   vtkCellDistanceSelector ();
-  virtual ~vtkCellDistanceSelector ();
+  ~vtkCellDistanceSelector () VTK_OVERRIDE;
 
   void AddSelectionNode(vtkSelection* output, vtkSmartPointer<vtkDataArray> outIndices, int partNumber, int d);
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
-  virtual int RequestData(vtkInformation*,vtkInformationVector**,vtkInformationVector*);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int RequestData(vtkInformation*,vtkInformationVector**,vtkInformationVector*) VTK_OVERRIDE;
 
   /**
    * Tological radius from seed cells to be used to select cells
diff --git a/Filters/Selection/vtkKdTreeSelector.h b/Filters/Selection/vtkKdTreeSelector.h
index df67d9e0fc..a226f22a92 100644
--- a/Filters/Selection/vtkKdTreeSelector.h
+++ b/Filters/Selection/vtkKdTreeSelector.h
@@ -41,7 +41,7 @@ class VTKFILTERSSELECTION_EXPORT vtkKdTreeSelector : public vtkSelectionAlgorith
 public:
   static vtkKdTreeSelector* New();
   vtkTypeMacro(vtkKdTreeSelector, vtkSelectionAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -110,11 +110,11 @@ public:
   vtkGetMacro(SingleSelectionThreshold, double);
   //@}
 
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkKdTreeSelector();
-  ~vtkKdTreeSelector();
+  ~vtkKdTreeSelector() VTK_OVERRIDE;
 
   vtkKdTree* KdTree;
   double SelectionBounds[6];
@@ -124,13 +124,13 @@ protected:
   double SingleSelectionThreshold;
   int SelectionAttribute;
 
-  virtual int FillInputPortInformation(
-    int port, vtkInformation* info);
+  int FillInputPortInformation(
+    int port, vtkInformation* info) VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkKdTreeSelector(const vtkKdTreeSelector&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Selection/vtkLinearSelector.h b/Filters/Selection/vtkLinearSelector.h
index e7393368a0..1ae7ed69ac 100644
--- a/Filters/Selection/vtkLinearSelector.h
+++ b/Filters/Selection/vtkLinearSelector.h
@@ -44,7 +44,7 @@ class VTKFILTERSSELECTION_EXPORT vtkLinearSelector : public vtkSelectionAlgorith
 {
  public:
   vtkTypeMacro(vtkLinearSelector,vtkSelectionAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkLinearSelector* New();
 
@@ -99,13 +99,13 @@ class VTKFILTERSSELECTION_EXPORT vtkLinearSelector : public vtkSelectionAlgorith
 
  protected:
   vtkLinearSelector();
-  virtual ~vtkLinearSelector();
+  ~vtkLinearSelector() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   /**
    * The main routine that iterates over cells and looks for those that
diff --git a/Filters/Sources/vtkOutlineCornerSource.cxx b/Filters/Sources/vtkOutlineCornerSource.cxx
index b63f151e1c..c087d0ca1e 100644
--- a/Filters/Sources/vtkOutlineCornerSource.cxx
+++ b/Filters/Sources/vtkOutlineCornerSource.cxx
@@ -28,7 +28,6 @@ vtkOutlineCornerSource::vtkOutlineCornerSource()
     : vtkOutlineSource()
 {
   this->CornerFactor = 0.2;
-  this->OutputPointsPrecision = vtkAlgorithm::SINGLE_PRECISION;
 }
 
 //----------------------------------------------------------------------------
diff --git a/Filters/Sources/vtkOutlineCornerSource.h b/Filters/Sources/vtkOutlineCornerSource.h
index ca28390668..fb606ab92a 100644
--- a/Filters/Sources/vtkOutlineCornerSource.h
+++ b/Filters/Sources/vtkOutlineCornerSource.h
@@ -46,16 +46,6 @@ public:
   vtkGetMacro(CornerFactor, double);
   //@}
 
-  //@{
-  /**
-   * Set/get the desired precision for the output points.
-   * vtkAlgorithm::SINGLE_PRECISION - Output single-precision floating point.
-   * vtkAlgorithm::DOUBLE_PRECISION - Output double-precision floating point.
-   */
-  vtkSetMacro(OutputPointsPrecision,int);
-  vtkGetMacro(OutputPointsPrecision,int);
-  //@}
-
 protected:
   vtkOutlineCornerSource();
   ~vtkOutlineCornerSource() VTK_OVERRIDE {}
@@ -63,7 +53,6 @@ protected:
   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   double CornerFactor;
-  int OutputPointsPrecision;
 private:
   vtkOutlineCornerSource(const vtkOutlineCornerSource&) VTK_DELETE_FUNCTION;
   void operator=(const vtkOutlineCornerSource&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Texture/vtkImplicitTextureCoords.h b/Filters/Texture/vtkImplicitTextureCoords.h
index 74fdecf7b3..fdff2ac045 100644
--- a/Filters/Texture/vtkImplicitTextureCoords.h
+++ b/Filters/Texture/vtkImplicitTextureCoords.h
@@ -58,7 +58,7 @@ class VTKFILTERSTEXTURE_EXPORT vtkImplicitTextureCoords : public vtkDataSetAlgor
 {
 public:
   vtkTypeMacro(vtkImplicitTextureCoords,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Create object with texture dimension=2 and no r-s-t implicit functions
@@ -102,9 +102,9 @@ public:
 
 protected:
   vtkImplicitTextureCoords();
-  ~vtkImplicitTextureCoords();
+  ~vtkImplicitTextureCoords() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   vtkImplicitFunction *RFunction;
   vtkImplicitFunction *SFunction;
diff --git a/Filters/Texture/vtkTextureMapToCylinder.h b/Filters/Texture/vtkTextureMapToCylinder.h
index da2cf8bfdd..be69e77996 100644
--- a/Filters/Texture/vtkTextureMapToCylinder.h
+++ b/Filters/Texture/vtkTextureMapToCylinder.h
@@ -53,7 +53,7 @@ class VTKFILTERSTEXTURE_EXPORT vtkTextureMapToCylinder : public vtkDataSetAlgori
 {
 public:
   vtkTypeMacro(vtkTextureMapToCylinder,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Create object with cylinder axis parallel to z-axis (points (0,0,-0.5)
@@ -102,9 +102,9 @@ public:
 
 protected:
   vtkTextureMapToCylinder();
-  ~vtkTextureMapToCylinder() {}
+  ~vtkTextureMapToCylinder() VTK_OVERRIDE {}
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   double Point1[3];
   double Point2[3];
diff --git a/Filters/Texture/vtkTextureMapToPlane.h b/Filters/Texture/vtkTextureMapToPlane.h
index c084d9297d..f7f51342e8 100644
--- a/Filters/Texture/vtkTextureMapToPlane.h
+++ b/Filters/Texture/vtkTextureMapToPlane.h
@@ -47,7 +47,7 @@ class VTKFILTERSTEXTURE_EXPORT vtkTextureMapToPlane : public vtkDataSetAlgorithm
 {
 public:
   vtkTypeMacro(vtkTextureMapToPlane,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct with s,t range=(0,1) and automatic plane generation turned on.
@@ -116,9 +116,9 @@ public:
 
 protected:
   vtkTextureMapToPlane();
-  ~vtkTextureMapToPlane() {}
+  ~vtkTextureMapToPlane() VTK_OVERRIDE {}
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   void ComputeNormal(vtkDataSet *output);
 
   double Origin[3];
diff --git a/Filters/Texture/vtkTextureMapToSphere.h b/Filters/Texture/vtkTextureMapToSphere.h
index bb9093d96b..b819fd8f61 100644
--- a/Filters/Texture/vtkTextureMapToSphere.h
+++ b/Filters/Texture/vtkTextureMapToSphere.h
@@ -51,7 +51,7 @@ class VTKFILTERSTEXTURE_EXPORT vtkTextureMapToSphere : public vtkDataSetAlgorith
 {
 public:
   vtkTypeMacro(vtkTextureMapToSphere,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Create object with Center (0,0,0) and the PreventSeam ivar is set to
@@ -91,9 +91,9 @@ public:
 
 protected:
   vtkTextureMapToSphere();
-  ~vtkTextureMapToSphere() {}
+  ~vtkTextureMapToSphere() VTK_OVERRIDE {}
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   double Center[3];
   int AutomaticSphereGeneration;
diff --git a/Filters/Texture/vtkThresholdTextureCoords.h b/Filters/Texture/vtkThresholdTextureCoords.h
index 8d1e7d6b36..eb83bcfe8e 100644
--- a/Filters/Texture/vtkThresholdTextureCoords.h
+++ b/Filters/Texture/vtkThresholdTextureCoords.h
@@ -46,7 +46,7 @@ class VTKFILTERSTEXTURE_EXPORT vtkThresholdTextureCoords : public vtkDataSetAlgo
 public:
   static vtkThresholdTextureCoords *New();
   vtkTypeMacro(vtkThresholdTextureCoords,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Criterion is cells whose scalars are less than lower threshold.
@@ -98,10 +98,10 @@ public:
 
 protected:
   vtkThresholdTextureCoords();
-  ~vtkThresholdTextureCoords() {}
+  ~vtkThresholdTextureCoords() VTK_OVERRIDE {}
 
   // Usual data generation method
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   double LowerThreshold;
   double UpperThreshold;
diff --git a/Filters/Texture/vtkTransformTextureCoords.h b/Filters/Texture/vtkTransformTextureCoords.h
index 33bbbaafcf..b456fe2472 100644
--- a/Filters/Texture/vtkTransformTextureCoords.h
+++ b/Filters/Texture/vtkTransformTextureCoords.h
@@ -42,7 +42,7 @@ class VTKFILTERSTEXTURE_EXPORT vtkTransformTextureCoords : public vtkDataSetAlgo
 {
 public:
   vtkTypeMacro(vtkTransformTextureCoords,vtkDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Create instance with Origin (0.5,0.5,0.5); Position (0,0,0); and Scale
@@ -120,9 +120,9 @@ public:
 
 protected:
   vtkTransformTextureCoords();
-  ~vtkTransformTextureCoords() {}
+  ~vtkTransformTextureCoords() VTK_OVERRIDE {}
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   double Origin[3]; //point around which map rotates
   double Position[3]; //controls translation of map
diff --git a/Filters/Texture/vtkTriangularTCoords.h b/Filters/Texture/vtkTriangularTCoords.h
index 3f4f9dd2ba..295234903b 100644
--- a/Filters/Texture/vtkTriangularTCoords.h
+++ b/Filters/Texture/vtkTriangularTCoords.h
@@ -40,14 +40,14 @@ class VTKFILTERSTEXTURE_EXPORT vtkTriangularTCoords : public vtkPolyDataAlgorith
 public:
   static vtkTriangularTCoords *New();
   vtkTypeMacro(vtkTriangularTCoords,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkTriangularTCoords() {}
-  ~vtkTriangularTCoords() {}
+  ~vtkTriangularTCoords() VTK_OVERRIDE {}
 
   // Usual data generation method
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 private:
   vtkTriangularTCoords(const vtkTriangularTCoords&) VTK_DELETE_FUNCTION;
   void operator=(const vtkTriangularTCoords&) VTK_DELETE_FUNCTION;
diff --git a/Filters/Verdict/vtkCellQuality.h b/Filters/Verdict/vtkCellQuality.h
index 3f1a7013cb..0a113353ef 100644
--- a/Filters/Verdict/vtkCellQuality.h
+++ b/Filters/Verdict/vtkCellQuality.h
@@ -80,7 +80,7 @@ class VTKFILTERSVERDICT_EXPORT vtkCellQuality : public vtkDataSetAlgorithm
   };
 
 public:
-  void PrintSelf (ostream&, vtkIndent);
+  void PrintSelf (ostream&, vtkIndent) VTK_OVERRIDE;
   vtkTypeMacro(vtkCellQuality, vtkDataSetAlgorithm);
   static vtkCellQuality* New ();
 
@@ -243,7 +243,7 @@ public:
   double PolygonArea (vtkCell*);
 
 protected:
- ~vtkCellQuality ();
+ ~vtkCellQuality () VTK_OVERRIDE;
   vtkCellQuality ();
 
   /**
@@ -356,8 +356,8 @@ protected:
    */
   double ComputePixelQuality (vtkCell*);
 
-  virtual int RequestData
-    (vtkInformation*, vtkInformationVector**, vtkInformationVector*);
+  int RequestData
+    (vtkInformation*, vtkInformationVector**, vtkInformationVector*) VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Filters/Verdict/vtkMatrixMathFilter.h b/Filters/Verdict/vtkMatrixMathFilter.h
index bb7b44d648..f13bdb8f60 100644
--- a/Filters/Verdict/vtkMatrixMathFilter.h
+++ b/Filters/Verdict/vtkMatrixMathFilter.h
@@ -52,7 +52,7 @@ class VTKFILTERSVERDICT_EXPORT vtkMatrixMathFilter : public vtkDataSetAlgorithm
   };
 
 public:
-  void PrintSelf (ostream&, vtkIndent);
+  void PrintSelf (ostream&, vtkIndent) VTK_OVERRIDE;
   vtkTypeMacro(vtkMatrixMathFilter, vtkDataSetAlgorithm);
   static vtkMatrixMathFilter* New ();
 
@@ -81,11 +81,11 @@ public:
   //@}
 
 protected:
- ~vtkMatrixMathFilter ();
+ ~vtkMatrixMathFilter () VTK_OVERRIDE;
   vtkMatrixMathFilter ();
 
-  virtual int RequestData
-    (vtkInformation*, vtkInformationVector**, vtkInformationVector*);
+  int RequestData
+    (vtkInformation*, vtkInformationVector**, vtkInformationVector*) VTK_OVERRIDE;
 
   int Operation;
 
diff --git a/Filters/Verdict/vtkMeshQuality.h b/Filters/Verdict/vtkMeshQuality.h
index 63d50a3e9e..f3485f379e 100644
--- a/Filters/Verdict/vtkMeshQuality.h
+++ b/Filters/Verdict/vtkMeshQuality.h
@@ -102,7 +102,7 @@ class vtkDataArray;
 class VTKFILTERSVERDICT_EXPORT vtkMeshQuality : public vtkDataSetAlgorithm
 {
 public:
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   vtkTypeMacro(vtkMeshQuality,vtkDataSetAlgorithm);
   static vtkMeshQuality* New();
 
@@ -927,9 +927,9 @@ public:
 
 protected:
   vtkMeshQuality();
-  ~vtkMeshQuality();
+  ~vtkMeshQuality() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * A function called by some VERDICT triangle quality functions to test for inverted triangles.
diff --git a/GUISupport/Qt/Q4VTKWidgetPlugin.h b/GUISupport/Qt/Q4VTKWidgetPlugin.h
index 327970477c..80036b4fdf 100644
--- a/GUISupport/Qt/Q4VTKWidgetPlugin.h
+++ b/GUISupport/Qt/Q4VTKWidgetPlugin.h
@@ -39,23 +39,25 @@
 #include <QtPlugin>
 #include <QWidget>
 
+#include "vtkConfigure.h" //for VTK_OVERRIDE
+
 
 // implement Designer Custom Widget interface
 class QVTKWidgetPlugin : public QDesignerCustomWidgetInterface
 {
   public:
     QVTKWidgetPlugin();
-    ~QVTKWidgetPlugin();
+    ~QVTKWidgetPlugin() VTK_OVERRIDE;
 
-    QString name() const;
-    QString domXml() const;
-    QWidget* createWidget(QWidget* parent = 0);
-    QString group() const;
-    QIcon icon() const;
-    QString includeFile() const;
-    QString toolTip() const;
-    QString whatsThis() const;
-    bool isContainer() const;
+    QString name() const VTK_OVERRIDE;
+    QString domXml() const VTK_OVERRIDE;
+    QWidget* createWidget(QWidget* parent = 0) VTK_OVERRIDE;
+    QString group() const VTK_OVERRIDE;
+    QIcon icon() const VTK_OVERRIDE;
+    QString includeFile() const VTK_OVERRIDE;
+    QString toolTip() const VTK_OVERRIDE;
+    QString whatsThis() const VTK_OVERRIDE;
+    bool isContainer() const VTK_OVERRIDE;
 };
 
 // implement designer widget collection interface
@@ -68,9 +70,9 @@ class QVTKPlugin : public QObject, public QDesignerCustomWidgetCollectionInterfa
   Q_INTERFACES(QDesignerCustomWidgetCollectionInterface)
   public:
   QVTKPlugin();
-  virtual ~QVTKPlugin();
+  ~QVTKPlugin() VTK_OVERRIDE;
 
-  virtual QList<QDesignerCustomWidgetInterface*> customWidgets() const;
+  QList<QDesignerCustomWidgetInterface*> customWidgets() const VTK_OVERRIDE;
   private:
     QVTKWidgetPlugin* mQVTKWidgetPlugin;
 };
diff --git a/GUISupport/Qt/QFilterTreeProxyModel.h b/GUISupport/Qt/QFilterTreeProxyModel.h
index 85aa944647..19c597341a 100644
--- a/GUISupport/Qt/QFilterTreeProxyModel.h
+++ b/GUISupport/Qt/QFilterTreeProxyModel.h
@@ -45,7 +45,7 @@ class VTKGUISUPPORTQT_EXPORT QFilterTreeProxyModel : public QSortFilterProxyMode
 public:
 
   QFilterTreeProxyModel(QObject* p = 0);
-  ~QFilterTreeProxyModel();
+  ~QFilterTreeProxyModel() VTK_OVERRIDE;
 
   // Description:
   // The 0-based level in the tree hierarchy to filter on. The root is level 0.
@@ -53,8 +53,8 @@ public:
 
 protected:
 
-  virtual bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
-  virtual bool lessThan(const QModelIndex &left, const QModelIndex &right) const;
+  bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const VTK_OVERRIDE;
+  bool lessThan(const QModelIndex &left, const QModelIndex &right) const VTK_OVERRIDE;
 
 private:
 
diff --git a/GUISupport/Qt/QVTKApplication.h b/GUISupport/Qt/QVTKApplication.h
index 4926765d5a..d1d86687b2 100644
--- a/GUISupport/Qt/QVTKApplication.h
+++ b/GUISupport/Qt/QVTKApplication.h
@@ -54,7 +54,7 @@ public:
 
   // Description:
   // Destructor.
-  ~QVTKApplication();
+  ~QVTKApplication() VTK_OVERRIDE;
 
 #if defined(VTK_USE_TDX) && defined(Q_WS_X11)
   // Description:
diff --git a/GUISupport/Qt/QVTKInteractor.h b/GUISupport/Qt/QVTKInteractor.h
index 60474dd280..a324ee1d5b 100644
--- a/GUISupport/Qt/QVTKInteractor.h
+++ b/GUISupport/Qt/QVTKInteractor.h
@@ -83,13 +83,13 @@ public:
   // Description:
   // Overloaded terminiate app, which does nothing in Qt.
   // Use qApp->exit() instead.
-  virtual void TerminateApp();
+  void TerminateApp() VTK_OVERRIDE;
 
   // Description:
   // Overloaded start method does nothing.
   // Use qApp->exec() instead.
-  virtual void Start();
-  virtual void Initialize();
+  void Start() VTK_OVERRIDE;
+  void Initialize() VTK_OVERRIDE;
 
   // Description:
   // Start listening events on 3DConnexion device.
@@ -111,12 +111,12 @@ protected:
   // constructor
   QVTKInteractor();
   // destructor
-  ~QVTKInteractor();
+  ~QVTKInteractor() VTK_OVERRIDE;
 
   // create a Qt Timer
-  virtual int InternalCreateTimer(int timerId, int timerType, unsigned long duration);
+  int InternalCreateTimer(int timerId, int timerType, unsigned long duration) VTK_OVERRIDE;
   // destroy a Qt Timer
-  virtual int InternalDestroyTimer(int platformTimerId);
+  int InternalDestroyTimer(int platformTimerId) VTK_OVERRIDE;
 #if defined(VTK_USE_TDX) && defined(Q_OS_WIN)
   vtkTDxWinDevice *Device;
 #endif
diff --git a/GUISupport/Qt/QVTKInteractorAdapter.h b/GUISupport/Qt/QVTKInteractorAdapter.h
index 4f56105029..9c46fb741d 100644
--- a/GUISupport/Qt/QVTKInteractorAdapter.h
+++ b/GUISupport/Qt/QVTKInteractorAdapter.h
@@ -57,7 +57,7 @@ public:
 
   // Description:
   // Destructor
-  ~QVTKInteractorAdapter();
+  ~QVTKInteractorAdapter() VTK_OVERRIDE;
 
   // Description:
   // Process a QEvent and send it to the interactor
diff --git a/GUISupport/Qt/QVTKInteractorInternal.h b/GUISupport/Qt/QVTKInteractorInternal.h
index 82b83cb7bd..9d346cc2e7 100644
--- a/GUISupport/Qt/QVTKInteractorInternal.h
+++ b/GUISupport/Qt/QVTKInteractorInternal.h
@@ -32,6 +32,8 @@
 #ifndef Q_VTK_INTERACTOR_INTERNAL_H
 #define Q_VTK_INTERACTOR_INTERNAL_H
 
+#include "vtkConfigure.h" //for VTK_OVERRIDE
+
 #include <QtCore/QObject>
 
 #include <map>
@@ -45,7 +47,7 @@ class QVTKInteractorInternal : public QObject
   Q_OBJECT
 public:
   QVTKInteractorInternal(QVTKInteractor* p);
-  ~QVTKInteractorInternal();
+  ~QVTKInteractorInternal() VTK_OVERRIDE;
 public Q_SLOTS:
   void TimerEvent(int id);
 public:
diff --git a/GUISupport/Qt/QVTKPaintEngine.h b/GUISupport/Qt/QVTKPaintEngine.h
index dde9210601..0010a79513 100644
--- a/GUISupport/Qt/QVTKPaintEngine.h
+++ b/GUISupport/Qt/QVTKPaintEngine.h
@@ -39,36 +39,36 @@ class QVTKPaintEngine : public QPaintEngine
 {
 public:
   QVTKPaintEngine();
-  ~QVTKPaintEngine();
+  ~QVTKPaintEngine() VTK_OVERRIDE;
 
   // Description:
   // begin painting on device (QVTKWidget)
-  bool begin(QPaintDevice* dev);
+  bool begin(QPaintDevice* dev) VTK_OVERRIDE;
 
   // Description:
   // end painting on device
-  bool end();
+  bool end() VTK_OVERRIDE;
 
   // Description:
   // returns type User
-  QPaintEngine::Type type() const;
+  QPaintEngine::Type type() const VTK_OVERRIDE;
 
   // Description:
   // updateState
-  void updateState(const QPaintEngineState&);
+  void updateState(const QPaintEngineState&) VTK_OVERRIDE;
 
   // Description:
   // draw a pixmap
-  void drawPixmap(const QRectF& r, const QPixmap& pm, const QRectF& sr);
+  void drawPixmap(const QRectF& r, const QPixmap& pm, const QRectF& sr) VTK_OVERRIDE;
 
   // Description:
   // draw a path
-  void drawPath(const QPainterPath& path);
+  void drawPath(const QPainterPath& path) VTK_OVERRIDE;
 
   // Description:
   // draw a polygon
-  void drawPolygon(const QPointF* points, int pointCount, PolygonDrawMode mode);
-  void drawPolygon(const QPoint* points, int pointCount, PolygonDrawMode mode);
+  void drawPolygon(const QPointF* points, int pointCount, PolygonDrawMode mode) VTK_OVERRIDE;
+  void drawPolygon(const QPoint* points, int pointCount, PolygonDrawMode mode) VTK_OVERRIDE;
 
 protected:
 
diff --git a/GUISupport/Qt/QVTKWidget.h b/GUISupport/Qt/QVTKWidget.h
index b9bbcdcaf5..a81bdd8bd5 100644
--- a/GUISupport/Qt/QVTKWidget.h
+++ b/GUISupport/Qt/QVTKWidget.h
@@ -83,7 +83,7 @@ public:
   //! constructor
   QVTKWidget(QWidget* parent = NULL, Qt::WindowFlags f = 0);
   //! destructor
-  virtual ~QVTKWidget();
+  ~QVTKWidget() VTK_OVERRIDE;
 
   // Description:
   // Set the vtk render window, if you wish to use your own vtkRenderWindow
@@ -133,9 +133,9 @@ public:
 
   // Description:
   // Handle showing of the Widget
-  virtual void showEvent(QShowEvent*);
+  void showEvent(QShowEvent*) VTK_OVERRIDE;
 
-  virtual QPaintEngine* paintEngine() const;
+  QPaintEngine* paintEngine() const VTK_OVERRIDE;
 
   // Description:
   // Use a 3DConnexion device. Initial value is false.
@@ -209,47 +209,47 @@ protected Q_SLOTS:
 
 protected:
   // overloaded resize handler
-  virtual void resizeEvent(QResizeEvent* event);
+  void resizeEvent(QResizeEvent* event) VTK_OVERRIDE;
   // overloaded move handler
-  virtual void moveEvent(QMoveEvent* event);
+  void moveEvent(QMoveEvent* event) VTK_OVERRIDE;
   // overloaded paint handler
-  virtual void paintEvent(QPaintEvent* event);
+  void paintEvent(QPaintEvent* event) VTK_OVERRIDE;
 
   // overloaded mouse press handler
-  virtual void mousePressEvent(QMouseEvent* event);
+  void mousePressEvent(QMouseEvent* event) VTK_OVERRIDE;
   // overloaded mouse move handler
-  virtual void mouseMoveEvent(QMouseEvent* event);
+  void mouseMoveEvent(QMouseEvent* event) VTK_OVERRIDE;
   // overloaded mouse release handler
-  virtual void mouseReleaseEvent(QMouseEvent* event);
+  void mouseReleaseEvent(QMouseEvent* event) VTK_OVERRIDE;
   // overloaded key press handler
-  virtual void keyPressEvent(QKeyEvent* event);
+  void keyPressEvent(QKeyEvent* event) VTK_OVERRIDE;
   // overloaded key release handler
-  virtual void keyReleaseEvent(QKeyEvent* event);
+  void keyReleaseEvent(QKeyEvent* event) VTK_OVERRIDE;
   // overloaded enter event
-  virtual void enterEvent(QEvent*);
+  void enterEvent(QEvent*) VTK_OVERRIDE;
   // overloaded leave event
-  virtual void leaveEvent(QEvent*);
+  void leaveEvent(QEvent*) VTK_OVERRIDE;
 #ifndef QT_NO_WHEELEVENT
   // overload wheel mouse event
-  virtual void wheelEvent(QWheelEvent*);
+  void wheelEvent(QWheelEvent*) VTK_OVERRIDE;
 #endif
   // overload focus event
-  virtual void focusInEvent(QFocusEvent*);
+  void focusInEvent(QFocusEvent*) VTK_OVERRIDE;
   // overload focus event
-  virtual void focusOutEvent(QFocusEvent*);
+  void focusOutEvent(QFocusEvent*) VTK_OVERRIDE;
   // overload Qt's event() to capture more keys
-  bool event( QEvent* e );
+  bool event( QEvent* e ) VTK_OVERRIDE;
 
   // overload context menu event
-  virtual void contextMenuEvent(QContextMenuEvent*);
+  void contextMenuEvent(QContextMenuEvent*) VTK_OVERRIDE;
   // overload drag enter event
-  virtual void dragEnterEvent(QDragEnterEvent*);
+  void dragEnterEvent(QDragEnterEvent*) VTK_OVERRIDE;
   // overload drag move event
-  virtual void dragMoveEvent(QDragMoveEvent*);
+  void dragMoveEvent(QDragMoveEvent*) VTK_OVERRIDE;
   // overload drag leave event
-  virtual void dragLeaveEvent(QDragLeaveEvent*);
+  void dragLeaveEvent(QDragLeaveEvent*) VTK_OVERRIDE;
   // overload drop event
-  virtual void dropEvent(QDropEvent*);
+  void dropEvent(QDropEvent*) VTK_OVERRIDE;
 
   // method called in paintEvent() to render the image cache on to the device.
   // return false, if cache couldn;t be used for painting. In that case, the
diff --git a/GUISupport/Qt/vtkEventQtSlotConnect.h b/GUISupport/Qt/vtkEventQtSlotConnect.h
index d2aedbb5f1..ab77e459e6 100644
--- a/GUISupport/Qt/vtkEventQtSlotConnect.h
+++ b/GUISupport/Qt/vtkEventQtSlotConnect.h
@@ -62,7 +62,7 @@ class VTKGUISUPPORTQT_EXPORT vtkEventQtSlotConnect : public vtkObject
     /**
      * Print the current connections between VTK and Qt
      */
-    void PrintSelf(ostream& os, vtkIndent indent);
+    void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
     /**
      * Connect a vtk object's event with a Qt object's slot.  Multiple
@@ -97,7 +97,7 @@ class VTKGUISUPPORTQT_EXPORT vtkEventQtSlotConnect : public vtkObject
     void RemoveConnection(vtkQtConnection*);
 
     vtkEventQtSlotConnect();
-    ~vtkEventQtSlotConnect();
+    ~vtkEventQtSlotConnect() VTK_OVERRIDE;
 
   private:
     vtkEventQtSlotConnect(const vtkEventQtSlotConnect&) VTK_DELETE_FUNCTION;
diff --git a/GUISupport/Qt/vtkQtAnnotationLayersModelAdapter.h b/GUISupport/Qt/vtkQtAnnotationLayersModelAdapter.h
index 866eadeea3..71689545be 100644
--- a/GUISupport/Qt/vtkQtAnnotationLayersModelAdapter.h
+++ b/GUISupport/Qt/vtkQtAnnotationLayersModelAdapter.h
@@ -46,14 +46,14 @@ class VTKGUISUPPORTQT_EXPORT vtkQtAnnotationLayersModelAdapter : public vtkQtAbs
 public:
   vtkQtAnnotationLayersModelAdapter(QObject *parent = 0);
   vtkQtAnnotationLayersModelAdapter(vtkAnnotationLayers* ann, QObject *parent = 0);
-  ~vtkQtAnnotationLayersModelAdapter();
+  ~vtkQtAnnotationLayersModelAdapter() VTK_OVERRIDE;
 
   //@{
   /**
    * Set/Get the VTK data object as input to this adapter
    */
-  virtual void SetVTKDataObject(vtkDataObject *data);
-  virtual vtkDataObject* GetVTKDataObject() const;
+  void SetVTKDataObject(vtkDataObject *data) VTK_OVERRIDE;
+  vtkDataObject* GetVTKDataObject() const VTK_OVERRIDE;
   //@}
 
   //@{
@@ -64,14 +64,14 @@ public:
     const QModelIndexList qmil) const;
   virtual QItemSelection VTKAnnotationLayersToQItemSelection(
     vtkAnnotationLayers *vtkann) const;
-  virtual vtkSelection* QModelIndexListToVTKIndexSelection(
-    const QModelIndexList qmil) const;
-  virtual QItemSelection VTKIndexSelectionToQItemSelection(
-    vtkSelection *vtksel) const;
+  vtkSelection* QModelIndexListToVTKIndexSelection(
+    const QModelIndexList qmil) const VTK_OVERRIDE;
+  QItemSelection VTKIndexSelectionToQItemSelection(
+    vtkSelection *vtksel) const VTK_OVERRIDE;
   //@}
 
-  virtual void SetKeyColumnName(const char* name);
-  virtual void SetColorColumnName(const char* name);
+  void SetKeyColumnName(const char* name) VTK_OVERRIDE;
+  void SetColorColumnName(const char* name) VTK_OVERRIDE;
 
   //@{
   /**
@@ -79,16 +79,16 @@ public:
    */
   void setAnnotationLayers(vtkAnnotationLayers* annotations);
   vtkAnnotationLayers* annotationLayers() const { return this->Annotations; }
-  QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
-  bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);
-  Qt::ItemFlags flags(const QModelIndex &index) const;
+  QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const VTK_OVERRIDE;
+  bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) VTK_OVERRIDE;
+  Qt::ItemFlags flags(const QModelIndex &index) const VTK_OVERRIDE;
   QVariant headerData(int section, Qt::Orientation orientation,
-                      int role = Qt::DisplayRole) const;
+                      int role = Qt::DisplayRole) const VTK_OVERRIDE;
   QModelIndex index(int row, int column,
-                    const QModelIndex &parent = QModelIndex()) const;
-  QModelIndex parent(const QModelIndex &index) const;
-  int rowCount(const QModelIndex &parent = QModelIndex()) const;
-  int columnCount(const QModelIndex &parent = QModelIndex()) const;
+                    const QModelIndex &parent = QModelIndex()) const VTK_OVERRIDE;
+  QModelIndex parent(const QModelIndex &index) const VTK_OVERRIDE;
+  int rowCount(const QModelIndex &parent = QModelIndex()) const VTK_OVERRIDE;
+  int columnCount(const QModelIndex &parent = QModelIndex()) const VTK_OVERRIDE;
 /*
   Qt::DropActions supportedDropActions() const;
   Qt::DropActions supportedDragActions() const;
diff --git a/GUISupport/Qt/vtkQtConnection.h b/GUISupport/Qt/vtkQtConnection.h
index 9b0c3b803b..3bb75e7db0 100644
--- a/GUISupport/Qt/vtkQtConnection.h
+++ b/GUISupport/Qt/vtkQtConnection.h
@@ -51,7 +51,7 @@ class vtkQtConnection : public QObject
     vtkQtConnection(vtkEventQtSlotConnect* owner);
 
     // destructor, disconnect if necessary
-    ~vtkQtConnection();
+    ~vtkQtConnection() VTK_OVERRIDE;
 
     // print function
     void PrintSelf(ostream& os, vtkIndent indent);
diff --git a/GUISupport/Qt/vtkQtDebugLeaksModel.cxx b/GUISupport/Qt/vtkQtDebugLeaksModel.cxx
index 562ef5da53..5cc10be5c3 100644
--- a/GUISupport/Qt/vtkQtDebugLeaksModel.cxx
+++ b/GUISupport/Qt/vtkQtDebugLeaksModel.cxx
@@ -31,17 +31,17 @@ public:
     vtkDebugLeaks::SetDebugLeaksObserver(this);
   }
 
-  virtual ~qObserver()
+  ~qObserver() VTK_OVERRIDE
   {
     vtkDebugLeaks::SetDebugLeaksObserver(0);
   }
 
-  virtual void ConstructingObject(vtkObjectBase* object)
+  void ConstructingObject(vtkObjectBase* object) VTK_OVERRIDE
   {
     this->Model.addObject(object);
   }
 
-  virtual void DestructingObject(vtkObjectBase* object)
+  void DestructingObject(vtkObjectBase* object) VTK_OVERRIDE
   {
     this->Model.removeObject(object);
   }
diff --git a/GUISupport/Qt/vtkQtDebugLeaksModel.h b/GUISupport/Qt/vtkQtDebugLeaksModel.h
index 87f85457b0..62d03d1c69 100644
--- a/GUISupport/Qt/vtkQtDebugLeaksModel.h
+++ b/GUISupport/Qt/vtkQtDebugLeaksModel.h
@@ -28,6 +28,8 @@
 #include "vtkGUISupportQtModule.h" // For export macro
 #include <QStandardItemModel>
 
+#include "vtkConfigure.h" //for VTK_OVERRIDE
+
 class vtkObjectBase;
 
 class VTKGUISUPPORTQT_EXPORT vtkQtDebugLeaksModel : public QStandardItemModel
@@ -37,7 +39,7 @@ class VTKGUISUPPORTQT_EXPORT vtkQtDebugLeaksModel : public QStandardItemModel
 public:
 
   vtkQtDebugLeaksModel(QObject* p=0);
-  virtual ~vtkQtDebugLeaksModel();
+  ~vtkQtDebugLeaksModel() VTK_OVERRIDE;
 
   /**
    * Get the list of objects in the model that have the given class name
@@ -60,7 +62,7 @@ protected slots:
   void onAboutToQuit();
 
   // Inherited method from QAbstractItemModel
-  virtual Qt::ItemFlags flags(const QModelIndex &index) const;
+  Qt::ItemFlags flags(const QModelIndex &index) const VTK_OVERRIDE;
 
 private:
 
@@ -82,13 +84,13 @@ class ReferenceCountModel : public QStandardItemModel
 
 public:
   ReferenceCountModel(QObject* p=0);
-  ~ReferenceCountModel();
+  ~ReferenceCountModel() VTK_OVERRIDE;
   void addObject(vtkObjectBase* obj);
   void removeObject(vtkObjectBase* obj);
   QString pointerAsString(void* ptr);
 
   // Inherited method from QAbstractItemModel
-  virtual Qt::ItemFlags flags(const QModelIndex &index) const;
+  Qt::ItemFlags flags(const QModelIndex &index) const VTK_OVERRIDE;
 
 protected slots:
   void updateReferenceCounts();
diff --git a/GUISupport/Qt/vtkQtDebugLeaksView.h b/GUISupport/Qt/vtkQtDebugLeaksView.h
index 171c0afab0..e8760e6ab0 100644
--- a/GUISupport/Qt/vtkQtDebugLeaksView.h
+++ b/GUISupport/Qt/vtkQtDebugLeaksView.h
@@ -29,6 +29,8 @@
 #include "vtkGUISupportQtModule.h" // For export macro
 #include <QWidget>
 
+#include "vtkConfigure.h" //for VTK_OVERRIDE
+
 class QModelIndex;
 class vtkObjectBase;
 class vtkQtDebugLeaksModel;
@@ -40,7 +42,7 @@ class VTKGUISUPPORTQT_EXPORT vtkQtDebugLeaksView : public QWidget
 public:
 
   vtkQtDebugLeaksView(QWidget *p=0);
-  virtual ~vtkQtDebugLeaksView();
+  ~vtkQtDebugLeaksView() VTK_OVERRIDE;
 
   vtkQtDebugLeaksModel* model();
 
diff --git a/GUISupport/Qt/vtkQtTableModelAdapter.h b/GUISupport/Qt/vtkQtTableModelAdapter.h
index b0d76a2139..10118d4ce1 100644
--- a/GUISupport/Qt/vtkQtTableModelAdapter.h
+++ b/GUISupport/Qt/vtkQtTableModelAdapter.h
@@ -50,28 +50,28 @@ class VTKGUISUPPORTQT_EXPORT vtkQtTableModelAdapter : public vtkQtAbstractModelA
 public:
   vtkQtTableModelAdapter(QObject *parent = 0);
   vtkQtTableModelAdapter(vtkTable* table, QObject *parent = 0);
-  ~vtkQtTableModelAdapter();
+  ~vtkQtTableModelAdapter() VTK_OVERRIDE;
 
   //@{
   /**
    * Set/Get the VTK data object as input to this adapter
    */
-  virtual void SetVTKDataObject(vtkDataObject *data);
-  virtual vtkDataObject* GetVTKDataObject() const;
+  void SetVTKDataObject(vtkDataObject *data) VTK_OVERRIDE;
+  vtkDataObject* GetVTKDataObject() const VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Selection conversion from VTK land to Qt land
    */
-  virtual vtkSelection* QModelIndexListToVTKIndexSelection(
-    const QModelIndexList qmil) const;
-  virtual QItemSelection VTKIndexSelectionToQItemSelection(
-    vtkSelection *vtksel) const;
+  vtkSelection* QModelIndexListToVTKIndexSelection(
+    const QModelIndexList qmil) const VTK_OVERRIDE;
+  QItemSelection VTKIndexSelectionToQItemSelection(
+    vtkSelection *vtksel) const VTK_OVERRIDE;
   //@}
 
-  virtual void SetKeyColumnName(const char* name);
-  virtual void SetColorColumnName(const char* name);
+  void SetKeyColumnName(const char* name) VTK_OVERRIDE;
+  void SetColorColumnName(const char* name) VTK_OVERRIDE;
   void SetIconIndexColumnName(const char* name);
 
   enum
@@ -108,22 +108,22 @@ public:
    */
   void setTable(vtkTable* table);
   vtkTable* table() const { return this->Table; }
-  QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
-  bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);
-  Qt::ItemFlags flags(const QModelIndex &index) const;
+  QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const VTK_OVERRIDE;
+  bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) VTK_OVERRIDE;
+  Qt::ItemFlags flags(const QModelIndex &index) const VTK_OVERRIDE;
   QVariant headerData(int section, Qt::Orientation orientation,
-                      int role = Qt::DisplayRole) const;
+                      int role = Qt::DisplayRole) const VTK_OVERRIDE;
   QModelIndex index(int row, int column,
-                    const QModelIndex &parent = QModelIndex()) const;
-  QModelIndex parent(const QModelIndex &index) const;
-  int rowCount(const QModelIndex &parent = QModelIndex()) const;
-  int columnCount(const QModelIndex &parent = QModelIndex()) const;
+                    const QModelIndex &parent = QModelIndex()) const VTK_OVERRIDE;
+  QModelIndex parent(const QModelIndex &index) const VTK_OVERRIDE;
+  int rowCount(const QModelIndex &parent = QModelIndex()) const VTK_OVERRIDE;
+  int columnCount(const QModelIndex &parent = QModelIndex()) const VTK_OVERRIDE;
   //@}
 
-  virtual bool dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) ;
-  virtual QMimeData * mimeData ( const QModelIndexList & indexes ) const;
-  virtual QStringList mimeTypes () const ;
-  Qt::DropActions supportedDropActions() const;
+  bool dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) VTK_OVERRIDE ;
+  QMimeData * mimeData ( const QModelIndexList & indexes ) const VTK_OVERRIDE;
+  QStringList mimeTypes () const VTK_OVERRIDE;
+  Qt::DropActions supportedDropActions() const VTK_OVERRIDE;
 
   void SetIconSheet(QImage sheet);
   void SetIconSize(int w, int h);
diff --git a/GUISupport/Qt/vtkQtTreeModelAdapter.h b/GUISupport/Qt/vtkQtTreeModelAdapter.h
index 54f6b90a64..a2a999e8c3 100644
--- a/GUISupport/Qt/vtkQtTreeModelAdapter.h
+++ b/GUISupport/Qt/vtkQtTreeModelAdapter.h
@@ -51,14 +51,14 @@ class VTKGUISUPPORTQT_EXPORT vtkQtTreeModelAdapter : public vtkQtAbstractModelAd
 
 public:
   vtkQtTreeModelAdapter(QObject *parent = 0, vtkTree* tree = 0);
-  ~vtkQtTreeModelAdapter();
+  ~vtkQtTreeModelAdapter() VTK_OVERRIDE;
 
   //@{
   /**
    * Set/Get the VTK data object as input to this adapter
    */
-  virtual void SetVTKDataObject(vtkDataObject *data);
-  virtual vtkDataObject* GetVTKDataObject() const;
+  void SetVTKDataObject(vtkDataObject *data) VTK_OVERRIDE;
+  vtkDataObject* GetVTKDataObject() const VTK_OVERRIDE;
   //@}
 
   /**
@@ -75,15 +75,15 @@ public:
   /**
    * Selection conversion from VTK land to Qt land
    */
-  virtual vtkSelection* QModelIndexListToVTKIndexSelection(
-    const QModelIndexList qmil) const;
-  virtual QItemSelection VTKIndexSelectionToQItemSelection(
-    vtkSelection *vtksel) const;
+  vtkSelection* QModelIndexListToVTKIndexSelection(
+    const QModelIndexList qmil) const VTK_OVERRIDE;
+  QItemSelection VTKIndexSelectionToQItemSelection(
+    vtkSelection *vtksel) const VTK_OVERRIDE;
   //@}
 
-  virtual void SetKeyColumnName(const char* name);
+  void SetKeyColumnName(const char* name) VTK_OVERRIDE;
 
-  virtual void SetColorColumnName(const char* name);
+  void SetColorColumnName(const char* name) VTK_OVERRIDE;
 
   /**
    * Set up the model based on the current tree.
@@ -91,16 +91,16 @@ public:
   void setTree(vtkTree* t);
   vtkTree* tree() const { return this->Tree; }
 
-  QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
-  bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);
-  Qt::ItemFlags flags(const QModelIndex &index) const;
+  QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const VTK_OVERRIDE;
+  bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) VTK_OVERRIDE;
+  Qt::ItemFlags flags(const QModelIndex &index) const VTK_OVERRIDE;
   QVariant headerData(int section, Qt::Orientation orientation,
-                      int role = Qt::DisplayRole) const;
+                      int role = Qt::DisplayRole) const VTK_OVERRIDE;
   QModelIndex index(int row, int column,
-                    const QModelIndex &parent = QModelIndex()) const;
-  QModelIndex parent(const QModelIndex &index) const;
-  int rowCount(const QModelIndex &parent = QModelIndex()) const;
-  int columnCount(const QModelIndex &parent = QModelIndex()) const;
+                    const QModelIndex &parent = QModelIndex()) const VTK_OVERRIDE;
+  QModelIndex parent(const QModelIndex &index) const VTK_OVERRIDE;
+  int rowCount(const QModelIndex &parent = QModelIndex()) const VTK_OVERRIDE;
+  int columnCount(const QModelIndex &parent = QModelIndex()) const VTK_OVERRIDE;
 
   //@{
   /**
@@ -109,8 +109,8 @@ public:
    * Currently only leaves of the tree can be dragged.
    */
   Qt::DropActions supportedDragActions() const;
-  virtual QMimeData * mimeData ( const QModelIndexList & indexes ) const;
-  virtual QStringList mimeTypes () const ;
+  QMimeData * mimeData ( const QModelIndexList & indexes ) const VTK_OVERRIDE;
+  QStringList mimeTypes () const VTK_OVERRIDE;
   //@}
 
 protected:
diff --git a/GUISupport/QtSQL/vtkQtSQLDatabase.h b/GUISupport/QtSQL/vtkQtSQLDatabase.h
index 8b26967320..e02bcbbfa8 100644
--- a/GUISupport/QtSQL/vtkQtSQLDatabase.h
+++ b/GUISupport/QtSQL/vtkQtSQLDatabase.h
@@ -45,39 +45,39 @@ class VTKGUISUPPORTQTSQL_EXPORT vtkQtSQLDatabase : public vtkSQLDatabase
 public:
   static vtkQtSQLDatabase* New();
   vtkTypeMacro(vtkQtSQLDatabase, vtkSQLDatabase);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Open a new connection to the database.
    * You need to set up any database parameters before calling this function.
    * Returns true is the database was opened successfully, and false otherwise.
    */
-  virtual bool Open(const char* password);
+  bool Open(const char* password) VTK_OVERRIDE;
 
   /**
    * Close the connection to the database.
    */
-  virtual void Close();
+  void Close() VTK_OVERRIDE;
 
   /**
    * Return whether the database has an open connection
    */
-  virtual bool IsOpen();
+  bool IsOpen() VTK_OVERRIDE;
 
   /**
    * Return an empty query on this database.
    */
-  virtual vtkSQLQuery* GetQueryInstance();
+  vtkSQLQuery* GetQueryInstance() VTK_OVERRIDE;
 
   /**
    * Get the list of tables from the database
    */
-  vtkStringArray* GetTables();
+  vtkStringArray* GetTables() VTK_OVERRIDE;
 
   /**
    * Get the list of fields for a particular table
    */
-  vtkStringArray* GetRecord(const char *table);
+  vtkStringArray* GetRecord(const char *table) VTK_OVERRIDE;
 
   /**
    * Returns a list of columns for a particular table.
@@ -96,23 +96,26 @@ public:
   /**
    * Return whether a feature is supported by the database.
    */
-  virtual bool IsSupported(int feature);
+  bool IsSupported(int feature) VTK_OVERRIDE;
 
   /**
    * Did the last operation generate an error
    */
-  bool HasError();
+  bool HasError() VTK_OVERRIDE;
 
   /**
    * Get the last error text from the database
    */
-  const char* GetLastErrorText();
+  const char* GetLastErrorText() VTK_OVERRIDE;
 
   //@{
   /**
    * String representing Qt database type (e.g. "mysql").
    */
-  vtkGetStringMacro(DatabaseType);
+  const char* GetDatabaseType() VTK_OVERRIDE
+  {
+    return this->DatabaseType;
+  }
   vtkSetStringMacro(DatabaseType);
   //@}
 
@@ -166,7 +169,7 @@ public:
   /**
    * Get the URL of the database.
    */
-  virtual vtkStdString GetURL();
+  vtkStdString GetURL() VTK_OVERRIDE;
 
 protected:
   vtkQtSQLDatabase();
@@ -188,7 +191,7 @@ protected:
    * This is called by CreateFromURL() to initialize the instance.
    * Look at CreateFromURL() for details about the URL format.
    */
-  virtual bool ParseURL(const char* url);
+  bool ParseURL(const char* url) VTK_OVERRIDE;
 private:
 
   // Storing the tables in the database, this array
diff --git a/GUISupport/QtSQL/vtkQtSQLQuery.h b/GUISupport/QtSQL/vtkQtSQLQuery.h
index f5bb01cbad..78fc298bda 100644
--- a/GUISupport/QtSQL/vtkQtSQLQuery.h
+++ b/GUISupport/QtSQL/vtkQtSQLQuery.h
@@ -43,49 +43,49 @@ class VTKGUISUPPORTQTSQL_EXPORT vtkQtSQLQuery : public vtkSQLQuery
 public:
   static vtkQtSQLQuery* New();
   vtkTypeMacro(vtkQtSQLQuery, vtkSQLQuery);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Execute the query.  This must be performed
    * before any field name or data access functions
    * are used.
    */
-  virtual bool Execute();
+  bool Execute() VTK_OVERRIDE;
 
   /**
    * The number of fields in the query result.
    */
-  virtual int GetNumberOfFields();
+  int GetNumberOfFields() VTK_OVERRIDE;
 
   /**
    * Return the name of the specified query field.
    */
-  virtual const char* GetFieldName(int col);
+  const char* GetFieldName(int col) VTK_OVERRIDE;
 
   /**
    * Return the type of the specified query field, as defined in vtkType.h.
    */
-  virtual int GetFieldType(int col);
+  int GetFieldType(int col) VTK_OVERRIDE;
 
   /**
    * Advance row, return false if past end.
    */
-  virtual bool NextRow();
+  bool NextRow() VTK_OVERRIDE;
 
   /**
    * Return data in current row, field c
    */
-  virtual vtkVariant DataValue(vtkIdType c);
+  vtkVariant DataValue(vtkIdType c) VTK_OVERRIDE;
 
   /**
    * Returns true if an error is set, otherwise false.
    */
-  virtual bool HasError();
+  bool HasError() VTK_OVERRIDE;
 
   /**
    * Get the last error text from the query
    */
-  virtual const char* GetLastErrorText();
+  const char* GetLastErrorText() VTK_OVERRIDE;
 
 protected:
   vtkQtSQLQuery();
diff --git a/GUISupport/QtSQL/vtkQtTimePointUtility.h b/GUISupport/QtSQL/vtkQtTimePointUtility.h
index 1fb15e9056..f952159f82 100644
--- a/GUISupport/QtSQL/vtkQtTimePointUtility.h
+++ b/GUISupport/QtSQL/vtkQtTimePointUtility.h
@@ -44,7 +44,7 @@ public:
 
 protected:
   vtkQtTimePointUtility() {}
-  ~vtkQtTimePointUtility() {}
+  ~vtkQtTimePointUtility() VTK_OVERRIDE {}
 
 private:
   vtkQtTimePointUtility(const vtkQtTimePointUtility&) VTK_DELETE_FUNCTION;
diff --git a/Geovis/Core/vtkCompassRepresentation.h b/Geovis/Core/vtkCompassRepresentation.h
index 41647b4fe4..d73b1f77e3 100644
--- a/Geovis/Core/vtkCompassRepresentation.h
+++ b/Geovis/Core/vtkCompassRepresentation.h
@@ -66,7 +66,7 @@ public:
    */
   vtkTypeMacro(vtkCompassRepresentation,
                        vtkContinuousValueWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -118,24 +118,24 @@ public:
    * assumes that the parameter bounds[6] specifies the location in display
    * space where the widget should be placed.
    */
-  virtual void PlaceWidget(double bounds[6]);
-  virtual void BuildRepresentation();
-  virtual void StartWidgetInteraction(double eventPos[2]);
-  virtual void WidgetInteraction(double eventPos[2]);
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
   virtual void TiltWidgetInteraction(double eventPos[2]);
   virtual void DistanceWidgetInteraction(double eventPos[2]);
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void Highlight(int);
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void Highlight(int) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods supporting the rendering process.
    */
-  virtual void GetActors(vtkPropCollection*);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOverlay(vtkViewport*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
+  void GetActors(vtkPropCollection*) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
   //@}
 
   virtual void SetHeading(double value);
@@ -148,7 +148,7 @@ public:
   virtual double GetDistance();
   virtual void UpdateDistance(double time);
   virtual void EndDistance();
-  virtual void SetRenderer(vtkRenderer *ren);
+  void SetRenderer(vtkRenderer *ren) VTK_OVERRIDE;
 
   // Enums are used to describe what is selected
   enum _InteractionState
@@ -166,7 +166,7 @@ public:
 
 protected:
   vtkCompassRepresentation();
-  ~vtkCompassRepresentation();
+  ~vtkCompassRepresentation() VTK_OVERRIDE;
 
   // Positioning the widget
   vtkCoordinate *Point1Coordinate;
diff --git a/Geovis/Core/vtkCompassWidget.h b/Geovis/Core/vtkCompassWidget.h
index e0f9610846..b630885c3b 100644
--- a/Geovis/Core/vtkCompassWidget.h
+++ b/Geovis/Core/vtkCompassWidget.h
@@ -84,7 +84,7 @@ public:
    * Standard macros.
    */
   vtkTypeMacro(vtkCompassWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -99,7 +99,7 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
   //@{
   /**
@@ -115,7 +115,7 @@ public:
 
 protected:
   vtkCompassWidget();
-  ~vtkCompassWidget() {}
+  ~vtkCompassWidget() VTK_OVERRIDE {}
 
   // These are the events that are handled
   static void SelectAction(vtkAbstractWidget*);
diff --git a/Geovis/Core/vtkGeoAdaptiveArcs.h b/Geovis/Core/vtkGeoAdaptiveArcs.h
index ff9daa942c..316e158716 100644
--- a/Geovis/Core/vtkGeoAdaptiveArcs.h
+++ b/Geovis/Core/vtkGeoAdaptiveArcs.h
@@ -41,7 +41,7 @@ public:
   static vtkGeoAdaptiveArcs *New();
 
   vtkTypeMacro(vtkGeoAdaptiveArcs,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -86,16 +86,16 @@ public:
   /**
    * Return the modified time of this object.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkGeoAdaptiveArcs();
-  ~vtkGeoAdaptiveArcs();
+  ~vtkGeoAdaptiveArcs() VTK_OVERRIDE;
 
   /**
    * Convert the vtkGraph into vtkPolyData.
    */
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   vtkRenderer *Renderer;
   double GlobeRadius;
diff --git a/Geovis/Core/vtkGeoAlignedImageRepresentation.h b/Geovis/Core/vtkGeoAlignedImageRepresentation.h
index d96f4e404f..b78af25d3d 100644
--- a/Geovis/Core/vtkGeoAlignedImageRepresentation.h
+++ b/Geovis/Core/vtkGeoAlignedImageRepresentation.h
@@ -43,7 +43,7 @@ class VTKGEOVISCORE_EXPORT vtkGeoAlignedImageRepresentation : public vtkDataRepr
 public:
   static vtkGeoAlignedImageRepresentation *New();
   vtkTypeMacro(vtkGeoAlignedImageRepresentation,vtkDataRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Retrieve the most refined image patch that covers the specified
@@ -70,7 +70,7 @@ public:
 
 protected:
   vtkGeoAlignedImageRepresentation();
-  ~vtkGeoAlignedImageRepresentation();
+  ~vtkGeoAlignedImageRepresentation() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Geovis/Core/vtkGeoAlignedImageSource.h b/Geovis/Core/vtkGeoAlignedImageSource.h
index 3783e703ad..f5608499d5 100644
--- a/Geovis/Core/vtkGeoAlignedImageSource.h
+++ b/Geovis/Core/vtkGeoAlignedImageSource.h
@@ -45,17 +45,17 @@ class VTKGEOVISCORE_EXPORT vtkGeoAlignedImageSource : public vtkGeoSource
 public:
   static vtkGeoAlignedImageSource *New();
   vtkTypeMacro(vtkGeoAlignedImageSource, vtkGeoSource);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Fetch the root image.
    */
-  virtual bool FetchRoot(vtkGeoTreeNode* node);
+  bool FetchRoot(vtkGeoTreeNode* node) VTK_OVERRIDE;
 
   /**
    * Fetch a child image.
    */
-  virtual bool FetchChild(vtkGeoTreeNode* parent, int index, vtkGeoTreeNode* child);
+  bool FetchChild(vtkGeoTreeNode* parent, int index, vtkGeoTreeNode* child) VTK_OVERRIDE;
 
   //@{
   /**
@@ -94,7 +94,7 @@ public:
 
 protected:
   vtkGeoAlignedImageSource();
-  ~vtkGeoAlignedImageSource();
+  ~vtkGeoAlignedImageSource() VTK_OVERRIDE;
 
   void CropImageForNode(vtkGeoImageNode* node, vtkImageData* image);
   int PowerOfTwo(int val);
diff --git a/Geovis/Core/vtkGeoArcs.h b/Geovis/Core/vtkGeoArcs.h
index 30a2433302..0cca8d580e 100644
--- a/Geovis/Core/vtkGeoArcs.h
+++ b/Geovis/Core/vtkGeoArcs.h
@@ -39,7 +39,7 @@ public:
   static vtkGeoArcs *New();
 
   vtkTypeMacro(vtkGeoArcs,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -73,9 +73,9 @@ public:
 
 protected:
   vtkGeoArcs();
-  ~vtkGeoArcs() {}
+  ~vtkGeoArcs() VTK_OVERRIDE {}
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   double GlobeRadius;
   double ExplodeFactor;
diff --git a/Geovis/Core/vtkGeoAssignCoordinates.h b/Geovis/Core/vtkGeoAssignCoordinates.h
index 853a1e733b..889333428a 100644
--- a/Geovis/Core/vtkGeoAssignCoordinates.h
+++ b/Geovis/Core/vtkGeoAssignCoordinates.h
@@ -46,7 +46,7 @@ public:
   static vtkGeoAssignCoordinates *New();
 
   vtkTypeMacro(vtkGeoAssignCoordinates, vtkPassInputTypeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -97,10 +97,10 @@ public:
 
 protected:
   vtkGeoAssignCoordinates();
-  ~vtkGeoAssignCoordinates();
+  ~vtkGeoAssignCoordinates() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
 
diff --git a/Geovis/Core/vtkGeoCamera.h b/Geovis/Core/vtkGeoCamera.h
index 6706a593f3..4d4e4cd078 100644
--- a/Geovis/Core/vtkGeoCamera.h
+++ b/Geovis/Core/vtkGeoCamera.h
@@ -85,7 +85,7 @@ class VTKGEOVISCORE_EXPORT vtkGeoCamera : public vtkObject
 public:
   static vtkGeoCamera *New();
   vtkTypeMacro(vtkGeoCamera, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -204,7 +204,7 @@ public:
 
 protected:
   vtkGeoCamera();
-  ~vtkGeoCamera();
+  ~vtkGeoCamera() VTK_OVERRIDE;
 
   void UpdateVTKCamera();
   void UpdateAngleRanges();
diff --git a/Geovis/Core/vtkGeoFileImageSource.h b/Geovis/Core/vtkGeoFileImageSource.h
index 498e0b74a7..714aa0fc7e 100644
--- a/Geovis/Core/vtkGeoFileImageSource.h
+++ b/Geovis/Core/vtkGeoFileImageSource.h
@@ -43,20 +43,20 @@ class VTKGEOVISCORE_EXPORT vtkGeoFileImageSource : public vtkGeoSource
 public:
   static vtkGeoFileImageSource *New();
   vtkTypeMacro(vtkGeoFileImageSource,vtkGeoSource);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkGeoFileImageSource();
-  ~vtkGeoFileImageSource();
+  ~vtkGeoFileImageSource() VTK_OVERRIDE;
 
   /**
    * Fetches the root image representing the whole globe.
    */
-  virtual bool FetchRoot(vtkGeoTreeNode* root);
+  bool FetchRoot(vtkGeoTreeNode* root) VTK_OVERRIDE;
 
   /**
    * Fetches the child image of a parent from disk.
    */
-  virtual bool FetchChild(vtkGeoTreeNode* node, int index, vtkGeoTreeNode* child);
+  bool FetchChild(vtkGeoTreeNode* node, int index, vtkGeoTreeNode* child) VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Geovis/Core/vtkGeoFileTerrainSource.h b/Geovis/Core/vtkGeoFileTerrainSource.h
index 59f8d77728..2450688aff 100644
--- a/Geovis/Core/vtkGeoFileTerrainSource.h
+++ b/Geovis/Core/vtkGeoFileTerrainSource.h
@@ -43,20 +43,20 @@ class VTKGEOVISCORE_EXPORT vtkGeoFileTerrainSource : public vtkGeoSource
 public:
   static vtkGeoFileTerrainSource *New();
   vtkTypeMacro(vtkGeoFileTerrainSource,vtkGeoSource);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkGeoFileTerrainSource();
-  ~vtkGeoFileTerrainSource();
+  ~vtkGeoFileTerrainSource() VTK_OVERRIDE;
 
   /**
    * Retrieve the root geometry representing the entire globe.
    */
-  virtual bool FetchRoot(vtkGeoTreeNode* root);
+  bool FetchRoot(vtkGeoTreeNode* root) VTK_OVERRIDE;
 
   /**
    * Retrieve the child's geometry from disk.
    */
-  virtual bool FetchChild(vtkGeoTreeNode* node, int index, vtkGeoTreeNode* child);
+  bool FetchChild(vtkGeoTreeNode* node, int index, vtkGeoTreeNode* child) VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Geovis/Core/vtkGeoGlobeSource.h b/Geovis/Core/vtkGeoGlobeSource.h
index fe7d1ed753..4bac6cd99c 100644
--- a/Geovis/Core/vtkGeoGlobeSource.h
+++ b/Geovis/Core/vtkGeoGlobeSource.h
@@ -39,21 +39,21 @@ class VTKGEOVISCORE_EXPORT vtkGeoGlobeSource : public vtkGeoSource
 public:
   static vtkGeoGlobeSource *New();
   vtkTypeMacro(vtkGeoGlobeSource,vtkGeoSource);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Fetches a low-resolution sphere for the entire globe.
    */
-  virtual bool FetchRoot(vtkGeoTreeNode* root);
+  bool FetchRoot(vtkGeoTreeNode* root) VTK_OVERRIDE;
 
   /**
    * Fetches a refined geometry patch, a section of a sphere.
    */
-  virtual bool FetchChild(vtkGeoTreeNode* node, int index, vtkGeoTreeNode* child);
+  bool FetchChild(vtkGeoTreeNode* node, int index, vtkGeoTreeNode* child) VTK_OVERRIDE;
 
 protected:
   vtkGeoGlobeSource();
-  ~vtkGeoGlobeSource();
+  ~vtkGeoGlobeSource() VTK_OVERRIDE;
 
 private:
   vtkGeoGlobeSource(const vtkGeoGlobeSource&) VTK_DELETE_FUNCTION;
diff --git a/Geovis/Core/vtkGeoGraticule.h b/Geovis/Core/vtkGeoGraticule.h
index f4134ee8f7..38b586bae0 100644
--- a/Geovis/Core/vtkGeoGraticule.h
+++ b/Geovis/Core/vtkGeoGraticule.h
@@ -43,7 +43,7 @@ class VTKGEOVISCORE_EXPORT vtkGeoGraticule : public vtkPolyDataAlgorithm
 {
 public:
   static vtkGeoGraticule* New();
-  virtual void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
   vtkTypeMacro(vtkGeoGraticule,vtkPolyDataAlgorithm);
 
   //@{
@@ -114,7 +114,7 @@ public:
 
 protected:
   vtkGeoGraticule();
-  virtual ~vtkGeoGraticule();
+  ~vtkGeoGraticule() VTK_OVERRIDE;
 
   int GeometryType;
   double LatitudeBounds[2];
@@ -130,7 +130,7 @@ protected:
   static double LongitudeLevelTics[NUMBER_OF_LEVELS];
   //@}
 
-  virtual int RequestData( vtkInformation*, vtkInformationVector**, vtkInformationVector* );
+  int RequestData( vtkInformation*, vtkInformationVector**, vtkInformationVector* ) VTK_OVERRIDE;
 
   void GenerateGraticule( vtkPolyData* output, double latbds[2], double lngbds[2] );
   int ComputeLineLevel( int ticId, int baseLevel, const double* levelIncrements );
diff --git a/Geovis/Core/vtkGeoImageNode.h b/Geovis/Core/vtkGeoImageNode.h
index 9c80fdb943..60751eae22 100644
--- a/Geovis/Core/vtkGeoImageNode.h
+++ b/Geovis/Core/vtkGeoImageNode.h
@@ -45,7 +45,7 @@ class VTKGEOVISCORE_EXPORT vtkGeoImageNode : public vtkGeoTreeNode
 public:
   static vtkGeoImageNode *New();
   vtkTypeMacro(vtkGeoImageNode, vtkGeoTreeNode);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -90,24 +90,24 @@ public:
   /**
    * Shallow and Deep copy.
    */
-  virtual void ShallowCopy(vtkGeoTreeNode *src);
-  virtual void DeepCopy(vtkGeoTreeNode *src);
+  void ShallowCopy(vtkGeoTreeNode *src) VTK_OVERRIDE;
+  void DeepCopy(vtkGeoTreeNode *src) VTK_OVERRIDE;
   //@}
 
   // Returns whether this node has valid data associated
   // with it, or if it is an "empty" node.
-  virtual bool HasData();
+  bool HasData() VTK_OVERRIDE;
 
   /**
    * Deletes the data associated with the node to make this
    * an "empty" node. This is performed when the node has
    * been unused for a certain amount of time.
    */
-  virtual void DeleteData();
+  void DeleteData() VTK_OVERRIDE;
 
 protected:
   vtkGeoImageNode();
-  ~vtkGeoImageNode();
+  ~vtkGeoImageNode() VTK_OVERRIDE;
 
   int PowerOfTwo(int val);
 
diff --git a/Geovis/Core/vtkGeoInteractorStyle.h b/Geovis/Core/vtkGeoInteractorStyle.h
index 95feff8b2b..ae00f35fc0 100644
--- a/Geovis/Core/vtkGeoInteractorStyle.h
+++ b/Geovis/Core/vtkGeoInteractorStyle.h
@@ -50,33 +50,33 @@ public:
   static vtkGeoInteractorStyle *New();
   vtkTypeMacro(vtkGeoInteractorStyle,
                        vtkInteractorStyleTrackballCamera);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Event bindings
    */
-  virtual void OnEnter();
-  virtual void OnLeave();
-  virtual void OnMouseMove();
-  virtual void OnLeftButtonUp();
-  virtual void OnMiddleButtonUp();
-  virtual void OnRightButtonUp();
-  virtual void OnLeftButtonDown();
-  virtual void OnMiddleButtonDown();
-  virtual void OnRightButtonDown();
-  virtual void OnChar();
+  void OnEnter() VTK_OVERRIDE;
+  void OnLeave() VTK_OVERRIDE;
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
+  void OnMiddleButtonUp() VTK_OVERRIDE;
+  void OnRightButtonUp() VTK_OVERRIDE;
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnMiddleButtonDown() VTK_OVERRIDE;
+  void OnRightButtonDown() VTK_OVERRIDE;
+  void OnChar() VTK_OVERRIDE;
   //@}
 
   virtual void RubberBandZoom();
-  virtual void Pan();
-  virtual void Dolly();
+  void Pan() VTK_OVERRIDE;
+  void Dolly() VTK_OVERRIDE;
 
   // Public for render callback.
   void RedrawRectangle();
 
   // See cxx for description of why we need this method.
-  void StartState(int newstate);
+  void StartState(int newstate) VTK_OVERRIDE;
 
   // Used for updating the terrain.
   vtkGeoCamera* GetGeoCamera();
@@ -93,7 +93,7 @@ public:
    * Set/Get the Interactor wrapper being controlled by this object.
    * (Satisfy superclass API.)
    */
-  virtual void SetInteractor(vtkRenderWindowInteractor *interactor);
+  void SetInteractor(vtkRenderWindowInteractor *interactor) VTK_OVERRIDE;
 
   int ViewportToWorld(double x, double y,
                       double &wx, double &wy, double &wz);
@@ -108,7 +108,7 @@ public:
   /**
    * Override to make the renderer use this camera subclass
    */
-  virtual void SetCurrentRenderer(vtkRenderer*);
+  void SetCurrentRenderer(vtkRenderer*) VTK_OVERRIDE;
 
   //@{
   /**
@@ -126,13 +126,13 @@ public:
 
 protected:
   vtkGeoInteractorStyle();
-  ~vtkGeoInteractorStyle();
+  ~vtkGeoInteractorStyle() VTK_OVERRIDE;
 
   // To avoid a warning.
   // We should really inherit directy from vtkInteractorStyle
-  virtual void Dolly(double);
+  void Dolly(double) VTK_OVERRIDE;
 
-  void OnTimer();
+  void OnTimer() VTK_OVERRIDE;
   // Used to get a constant speed regardless of frame rate.
   double LastTime;
 
diff --git a/Geovis/Core/vtkGeoProjection.h b/Geovis/Core/vtkGeoProjection.h
index 67d921705b..f40eedc22f 100644
--- a/Geovis/Core/vtkGeoProjection.h
+++ b/Geovis/Core/vtkGeoProjection.h
@@ -40,7 +40,7 @@ class VTKGEOVISCORE_EXPORT vtkGeoProjection : public vtkObject
 {
 public:
   static vtkGeoProjection* New();
-  virtual void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
   vtkTypeMacro(vtkGeoProjection,vtkObject);
 
   /**
@@ -136,7 +136,7 @@ public:
 
 protected:
   vtkGeoProjection();
-  virtual ~vtkGeoProjection();
+  ~vtkGeoProjection() VTK_OVERRIDE;
 
   /**
    * Determine whether the current projection structure has any
diff --git a/Geovis/Core/vtkGeoProjectionSource.h b/Geovis/Core/vtkGeoProjectionSource.h
index 0b18be7c28..f2de0f3293 100644
--- a/Geovis/Core/vtkGeoProjectionSource.h
+++ b/Geovis/Core/vtkGeoProjectionSource.h
@@ -43,17 +43,17 @@ class VTKGEOVISCORE_EXPORT vtkGeoProjectionSource : public vtkGeoSource
 public:
   static vtkGeoProjectionSource *New();
   vtkTypeMacro(vtkGeoProjectionSource,vtkGeoSource);
-  virtual void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   vtkGeoProjectionSource();
-  ~vtkGeoProjectionSource();
+  ~vtkGeoProjectionSource() VTK_OVERRIDE;
 
   //@{
   /**
    * Blocking methods for sources with low latency.
    */
-  virtual bool FetchRoot(vtkGeoTreeNode* root);
-  virtual bool FetchChild(vtkGeoTreeNode* node, int index, vtkGeoTreeNode* child);
+  bool FetchRoot(vtkGeoTreeNode* root) VTK_OVERRIDE;
+  bool FetchChild(vtkGeoTreeNode* node, int index, vtkGeoTreeNode* child) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -75,7 +75,7 @@ public:
   /**
    * Return the projection transformation used by this 2D terrain.
    */
-  virtual vtkAbstractTransform* GetTransform();
+  vtkAbstractTransform* GetTransform() VTK_OVERRIDE;
 
 protected:
   void RefineAndComputeError(vtkGeoTerrainNode* node);
diff --git a/Geovis/Core/vtkGeoRandomGraphSource.h b/Geovis/Core/vtkGeoRandomGraphSource.h
index c83554a80e..4bf080b8d3 100644
--- a/Geovis/Core/vtkGeoRandomGraphSource.h
+++ b/Geovis/Core/vtkGeoRandomGraphSource.h
@@ -48,16 +48,16 @@ class VTKGEOVISCORE_EXPORT vtkGeoRandomGraphSource : public vtkRandomGraphSource
 public:
   static vtkGeoRandomGraphSource* New();
   vtkTypeMacro(vtkGeoRandomGraphSource,vtkRandomGraphSource);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkGeoRandomGraphSource();
-  ~vtkGeoRandomGraphSource();
+  ~vtkGeoRandomGraphSource() VTK_OVERRIDE;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkGeoRandomGraphSource(const vtkGeoRandomGraphSource&) VTK_DELETE_FUNCTION;
diff --git a/Geovis/Core/vtkGeoSampleArcs.h b/Geovis/Core/vtkGeoSampleArcs.h
index 8254849ee0..c8f4bd3974 100644
--- a/Geovis/Core/vtkGeoSampleArcs.h
+++ b/Geovis/Core/vtkGeoSampleArcs.h
@@ -41,7 +41,7 @@ public:
   static vtkGeoSampleArcs *New();
 
   vtkTypeMacro(vtkGeoSampleArcs,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -97,12 +97,12 @@ public:
 
 protected:
   vtkGeoSampleArcs();
-  ~vtkGeoSampleArcs();
+  ~vtkGeoSampleArcs() VTK_OVERRIDE;
 
   /**
    * Convert the vtkGraph into vtkPolyData.
    */
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   double GlobeRadius;
   double MaximumDistanceMeters;
diff --git a/Geovis/Core/vtkGeoSource.h b/Geovis/Core/vtkGeoSource.h
index 922acc978a..ce0fea03b9 100644
--- a/Geovis/Core/vtkGeoSource.h
+++ b/Geovis/Core/vtkGeoSource.h
@@ -57,7 +57,7 @@ public:
   vtkTypeMacro(vtkGeoSource,vtkObject);
 
   vtkGeoSource();
-  ~vtkGeoSource();
+  ~vtkGeoSource() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Geovis/Core/vtkGeoSphereTransform.h b/Geovis/Core/vtkGeoSphereTransform.h
index 7ff4372932..528690e2ad 100644
--- a/Geovis/Core/vtkGeoSphereTransform.h
+++ b/Geovis/Core/vtkGeoSphereTransform.h
@@ -41,21 +41,21 @@ class VTKGEOVISCORE_EXPORT vtkGeoSphereTransform : public vtkAbstractTransform
 {
 public:
   static vtkGeoSphereTransform* New();
-  virtual void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
   vtkTypeMacro(vtkGeoSphereTransform,vtkAbstractTransform);
 
   /**
    * Invert the transformation.
    */
-  virtual void Inverse();
+  void Inverse() VTK_OVERRIDE;
 
   //@{
   /**
    * This will calculate the transformation without calling Update.
    * Meant for use only within other VTK classes.
    */
-  virtual void InternalTransformPoint( const float in[3], float out[3] );
-  virtual void InternalTransformPoint( const double in[3], double out[3] );
+  void InternalTransformPoint( const float in[3], float out[3] ) VTK_OVERRIDE;
+  void InternalTransformPoint( const double in[3], double out[3] ) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -65,14 +65,14 @@ public:
    * transformation at that point.  This method does not call Update.
    * Meant for use only within other VTK classes.
    */
-  virtual void InternalTransformDerivative( const float in[3], float out[3], float derivative[3][3] );
-  virtual void InternalTransformDerivative( const double in[3], double out[3], double derivative[3][3] );
+  void InternalTransformDerivative( const float in[3], float out[3], float derivative[3][3] ) VTK_OVERRIDE;
+  void InternalTransformDerivative( const double in[3], double out[3], double derivative[3][3] ) VTK_OVERRIDE;
   //@}
 
   /**
    * Make another transform of the same type.
    */
-  virtual vtkAbstractTransform* MakeTransform();
+  vtkAbstractTransform* MakeTransform() VTK_OVERRIDE;
 
   //@{
   /**
@@ -97,7 +97,7 @@ public:
 
 protected:
   vtkGeoSphereTransform();
-  virtual ~vtkGeoSphereTransform();
+  ~vtkGeoSphereTransform() VTK_OVERRIDE;
 
   bool ToRectangular;
   double BaseAltitude;
diff --git a/Geovis/Core/vtkGeoTerrain.h b/Geovis/Core/vtkGeoTerrain.h
index 5099ad78ed..ed9b86dae4 100644
--- a/Geovis/Core/vtkGeoTerrain.h
+++ b/Geovis/Core/vtkGeoTerrain.h
@@ -94,7 +94,7 @@ public:
 
 protected:
   vtkGeoTerrain();
-  ~vtkGeoTerrain();
+  ~vtkGeoTerrain() VTK_OVERRIDE;
 
   virtual void SetGeoSource(vtkGeoSource* source);
   vtkGeoSource* GeoSource;
diff --git a/Geovis/Core/vtkGeoTerrain2D.h b/Geovis/Core/vtkGeoTerrain2D.h
index c5efdfb747..c4f8140397 100644
--- a/Geovis/Core/vtkGeoTerrain2D.h
+++ b/Geovis/Core/vtkGeoTerrain2D.h
@@ -76,7 +76,7 @@ public:
 
 protected:
   vtkGeoTerrain2D();
-  ~vtkGeoTerrain2D();
+  ~vtkGeoTerrain2D() VTK_OVERRIDE;
 
   double LocationTolerance;
   double TextureTolerance;
@@ -84,19 +84,19 @@ protected:
   /**
    * AddActors() calls this to setup parameters for evaluating nodes.
    */
-  virtual void InitializeNodeAnalysis(vtkRenderer* ren);
+  void InitializeNodeAnalysis(vtkRenderer* ren) VTK_OVERRIDE;
 
   /**
    * AddActors() calls this to determine if a node is in the current
    * viewport.
    */
-  virtual bool NodeInViewport(vtkGeoTerrainNode* node);
+  bool NodeInViewport(vtkGeoTerrainNode* node) VTK_OVERRIDE;
 
   /**
    * AddActors() calls to to evaluate whether a node should be
    * refined (1), coarsened (-1), or remain at the same level (0).
    */
-  virtual int EvaluateNode(vtkGeoTerrainNode* node);
+  int EvaluateNode(vtkGeoTerrainNode* node) VTK_OVERRIDE;
 
   double CameraBounds[4];
   double PixelSize;
diff --git a/Geovis/Core/vtkGeoTerrainNode.h b/Geovis/Core/vtkGeoTerrainNode.h
index dc6c69db65..dfdffe58fe 100644
--- a/Geovis/Core/vtkGeoTerrainNode.h
+++ b/Geovis/Core/vtkGeoTerrainNode.h
@@ -39,7 +39,7 @@ class VTKGEOVISCORE_EXPORT vtkGeoTerrainNode : public vtkGeoTreeNode
 public:
   static vtkGeoTerrainNode *New();
   vtkTypeMacro(vtkGeoTerrainNode, vtkGeoTreeNode);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -118,26 +118,26 @@ public:
   /**
    * Shallow and Deep copy.
    */
-  virtual void ShallowCopy(vtkGeoTreeNode *src);
-  virtual void DeepCopy(vtkGeoTreeNode *src);
+  void ShallowCopy(vtkGeoTreeNode *src) VTK_OVERRIDE;
+  void DeepCopy(vtkGeoTreeNode *src) VTK_OVERRIDE;
   //@}
 
   /**
    * Returns whether this node has valid data associated
    * with it, or if it is an "empty" node.
    */
-  virtual bool HasData();
+  bool HasData() VTK_OVERRIDE;
 
   /**
    * Deletes the data associated with the node to make this
    * an "empty" node. This is performed when the node has
    * been unused for a certain amount of time.
    */
-  virtual void DeleteData();
+  void DeleteData() VTK_OVERRIDE;
 
 protected:
   vtkGeoTerrainNode();
-  ~vtkGeoTerrainNode();
+  ~vtkGeoTerrainNode() VTK_OVERRIDE;
 
   vtkSmartPointer<vtkPolyData> Model;
 
diff --git a/Geovis/Core/vtkGeoTransform.h b/Geovis/Core/vtkGeoTransform.h
index 1ff272c91a..9174a873da 100644
--- a/Geovis/Core/vtkGeoTransform.h
+++ b/Geovis/Core/vtkGeoTransform.h
@@ -37,7 +37,7 @@ class VTKGEOVISCORE_EXPORT vtkGeoTransform : public vtkAbstractTransform
 {
 public:
   static vtkGeoTransform* New();
-  virtual void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
   vtkTypeMacro(vtkGeoTransform,vtkAbstractTransform);
 
   //@{
@@ -59,20 +59,20 @@ public:
   /**
    * Transform many points at once.
    */
-  virtual void TransformPoints( vtkPoints* src, vtkPoints* dst );
+  void TransformPoints( vtkPoints* src, vtkPoints* dst ) VTK_OVERRIDE;
 
   /**
    * Invert the transformation.
    */
-  virtual void Inverse();
+  void Inverse() VTK_OVERRIDE;
 
   //@{
   /**
    * This will calculate the transformation without calling Update.
    * Meant for use only within other VTK classes.
    */
-  virtual void InternalTransformPoint( const float in[3], float out[3] );
-  virtual void InternalTransformPoint( const double in[3], double out[3] );
+  void InternalTransformPoint( const float in[3], float out[3] ) VTK_OVERRIDE;
+  void InternalTransformPoint( const double in[3], double out[3] ) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -82,18 +82,18 @@ public:
    * transformation at that point.  This method does not call Update.
    * Meant for use only within other VTK classes.
    */
-  virtual void InternalTransformDerivative( const float in[3], float out[3], float derivative[3][3] );
-  virtual void InternalTransformDerivative( const double in[3], double out[3], double derivative[3][3] );
+  void InternalTransformDerivative( const float in[3], float out[3], float derivative[3][3] ) VTK_OVERRIDE;
+  void InternalTransformDerivative( const double in[3], double out[3], double derivative[3][3] ) VTK_OVERRIDE;
   //@}
 
   /**
    * Make another transform of the same type.
    */
-  virtual vtkAbstractTransform* MakeTransform();
+  vtkAbstractTransform* MakeTransform() VTK_OVERRIDE;
 
 protected:
   vtkGeoTransform();
-  virtual ~vtkGeoTransform();
+  ~vtkGeoTransform() VTK_OVERRIDE;
 
   void InternalTransformPoints( double* ptsInOut, vtkIdType numPts, int stride );
 
diff --git a/Geovis/Core/vtkGeoTreeNode.h b/Geovis/Core/vtkGeoTreeNode.h
index 450cf9d9be..7983f42d75 100644
--- a/Geovis/Core/vtkGeoTreeNode.h
+++ b/Geovis/Core/vtkGeoTreeNode.h
@@ -48,7 +48,7 @@ class VTKGEOVISCORE_EXPORT vtkGeoTreeNode : public vtkObject
 public:
   static vtkGeoTreeNode *New();
   vtkTypeMacro(vtkGeoTreeNode, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -175,7 +175,7 @@ public:
 
 protected:
   vtkGeoTreeNode();
-  ~vtkGeoTreeNode();
+  ~vtkGeoTreeNode() VTK_OVERRIDE;
 
   int Level;
   unsigned long Id;
diff --git a/Geovis/Core/vtkGeoTreeNodeCache.h b/Geovis/Core/vtkGeoTreeNodeCache.h
index 21e92e7958..cdb2e59edf 100644
--- a/Geovis/Core/vtkGeoTreeNodeCache.h
+++ b/Geovis/Core/vtkGeoTreeNodeCache.h
@@ -83,7 +83,7 @@ public:
 
 protected:
   vtkGeoTreeNodeCache();
-  ~vtkGeoTreeNodeCache();
+  ~vtkGeoTreeNodeCache() VTK_OVERRIDE;
 
   /**
    * Removes data from the oldest nodes and removes them from
diff --git a/Geovis/Core/vtkGlobeSource.h b/Geovis/Core/vtkGlobeSource.h
index 99dd457d1f..2e7b85bbb0 100644
--- a/Geovis/Core/vtkGlobeSource.h
+++ b/Geovis/Core/vtkGlobeSource.h
@@ -48,7 +48,7 @@ class VTKGEOVISCORE_EXPORT vtkGlobeSource : public vtkPolyDataAlgorithm
 {
 public:
   vtkTypeMacro(vtkGlobeSource,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 
   //@{
@@ -146,12 +146,12 @@ public:
 
 protected:
   vtkGlobeSource();
-  ~vtkGlobeSource() {}
+  ~vtkGlobeSource() VTK_OVERRIDE {}
 
   int RequestData(
     vtkInformation *,
     vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
 
   void AddPoint(
     double theta, double phi, double radius,
diff --git a/IO/AMR/vtkAMRBaseParticlesReader.h b/IO/AMR/vtkAMRBaseParticlesReader.h
index 7e3bb76a54..a15974f51c 100644
--- a/IO/AMR/vtkAMRBaseParticlesReader.h
+++ b/IO/AMR/vtkAMRBaseParticlesReader.h
@@ -39,7 +39,7 @@ class VTKIOAMR_EXPORT vtkAMRBaseParticlesReader :
 {
 public:
   vtkTypeMacro( vtkAMRBaseParticlesReader, vtkMultiBlockDataSetAlgorithm );
-  void PrintSelf(ostream &os, vtkIndent indent );
+  void PrintSelf(ostream &os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -131,7 +131,7 @@ public:
 
 protected:
   vtkAMRBaseParticlesReader();
-  virtual ~vtkAMRBaseParticlesReader();
+  ~vtkAMRBaseParticlesReader() VTK_OVERRIDE;
 
   /**
    * Reads the metadata, e.g., the number of blocks in the file.
@@ -213,10 +213,10 @@ protected:
   /**
    * Standard pipeline operations
    */
-  virtual int RequestData( vtkInformation *request,
+  int RequestData( vtkInformation *request,
       vtkInformationVector **inputVector,
-      vtkInformationVector *outputVector );
-  virtual int FillOutputPortInformation( int port, vtkInformation *info );
+      vtkInformationVector *outputVector ) VTK_OVERRIDE;
+  int FillOutputPortInformation( int port, vtkInformation *info ) VTK_OVERRIDE;
   //@}
 
   int NumberOfBlocks;
diff --git a/IO/AMR/vtkAMRBaseReader.h b/IO/AMR/vtkAMRBaseReader.h
index 4df431b72a..3984b6dfb5 100644
--- a/IO/AMR/vtkAMRBaseReader.h
+++ b/IO/AMR/vtkAMRBaseReader.h
@@ -43,7 +43,7 @@ class VTKIOAMR_EXPORT vtkAMRBaseReader :
 {
 public:
   vtkTypeMacro( vtkAMRBaseReader, vtkOverlappingAMRAlgorithm );
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Initializes the AMR reader.
@@ -138,7 +138,7 @@ public:
 
 protected:
   vtkAMRBaseReader();
-  virtual ~vtkAMRBaseReader();
+  ~vtkAMRBaseReader() VTK_OVERRIDE;
 
   // Desscription:
   // Checks if this reader instance is attached to a communicator
@@ -258,15 +258,15 @@ protected:
   /**
    * Standard Pipeline methods, subclasses may override this method if needed.
    */
- virtual int RequestData(
+ int RequestData(
       vtkInformation* vtkNotUsed(request),
       vtkInformationVector** vtkNotUsed(inputVector),
-      vtkInformationVector* outputVector );
-  virtual int RequestInformation(
+      vtkInformationVector* outputVector ) VTK_OVERRIDE;
+  int RequestInformation(
       vtkInformation* rqst,
       vtkInformationVector** inputVector,
-      vtkInformationVector* outputVector );
-  int FillOutputPortInformation(int port,vtkInformation *info);
+      vtkInformationVector* outputVector ) VTK_OVERRIDE;
+  int FillOutputPortInformation(int port,vtkInformation *info) VTK_OVERRIDE;
   //@}
 
   // Array selection member variables and methods
diff --git a/IO/AMR/vtkAMRDataSetCache.h b/IO/AMR/vtkAMRDataSetCache.h
index c3df10fb8b..3922ad1355 100644
--- a/IO/AMR/vtkAMRDataSetCache.h
+++ b/IO/AMR/vtkAMRDataSetCache.h
@@ -37,7 +37,7 @@ class VTKIOAMR_EXPORT vtkAMRDataSetCache : public vtkObject
 public:
   static vtkAMRDataSetCache* New();
   vtkTypeMacro( vtkAMRDataSetCache, vtkObject );
-  void PrintSelf(ostream &os, vtkIndent indent );
+  void PrintSelf(ostream &os, vtkIndent indent ) VTK_OVERRIDE;
 
   /**
    * Inserts an AMR block to the cache
@@ -99,7 +99,7 @@ public:
 
 protected:
   vtkAMRDataSetCache();
-  virtual ~vtkAMRDataSetCache();
+  ~vtkAMRDataSetCache() VTK_OVERRIDE;
 
   typedef std::map< int, vtkUniformGrid* > AMRCacheType;
   AMRCacheType Cache;
diff --git a/IO/AMR/vtkAMREnzoParticlesReader.h b/IO/AMR/vtkAMREnzoParticlesReader.h
index 387d179639..ff2a87e274 100644
--- a/IO/AMR/vtkAMREnzoParticlesReader.h
+++ b/IO/AMR/vtkAMREnzoParticlesReader.h
@@ -41,7 +41,7 @@ class VTKIOAMR_EXPORT vtkAMREnzoParticlesReader :
 public:
   static vtkAMREnzoParticlesReader* New();
   vtkTypeMacro( vtkAMREnzoParticlesReader, vtkAMRBaseParticlesReader );
-  void PrintSelf(ostream &os, vtkIndent indent );
+  void PrintSelf(ostream &os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -54,11 +54,11 @@ public:
   /**
    * See vtkAMRBaseParticlesReader::GetTotalNumberOfParticles.
    */
-  int GetTotalNumberOfParticles();
+  int GetTotalNumberOfParticles() VTK_OVERRIDE;
 
 protected:
   vtkAMREnzoParticlesReader();
-  virtual ~vtkAMREnzoParticlesReader();
+  ~vtkAMREnzoParticlesReader() VTK_OVERRIDE;
 
   /**
    * Read the particles from the given particles file for the block
@@ -69,12 +69,12 @@ protected:
   /**
    * See vtkAMRBaseParticlesReader::ReadMetaData()
    */
-  void ReadMetaData();
+  void ReadMetaData() VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseParticlesReader::SetupParticleDataSelections
    */
-  void SetupParticleDataSelections();
+  void SetupParticleDataSelections() VTK_OVERRIDE;
 
   /**
    * Filter's by particle type, iff particle_type is included in
@@ -90,7 +90,7 @@ protected:
   /**
    * Reads the particles.
    */
-  vtkPolyData* ReadParticles( const int blkidx );
+  vtkPolyData* ReadParticles( const int blkidx ) VTK_OVERRIDE;
 
   int ParticleType;
 
diff --git a/IO/AMR/vtkAMREnzoReader.h b/IO/AMR/vtkAMREnzoReader.h
index a914ec6157..225c98c661 100644
--- a/IO/AMR/vtkAMREnzoReader.h
+++ b/IO/AMR/vtkAMREnzoReader.h
@@ -37,7 +37,7 @@ class VTKIOAMR_EXPORT vtkAMREnzoReader : public vtkAMRBaseReader
 public:
   static vtkAMREnzoReader* New();
   vtkTypeMacro(vtkAMREnzoReader,vtkAMRBaseReader);
-  void PrintSelf(ostream &os, vtkIndent indent );
+  void PrintSelf(ostream &os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -51,21 +51,21 @@ public:
   /**
    * See vtkAMRBaseReader::GetNumberOfBlocks
    */
-  int GetNumberOfBlocks();
+  int GetNumberOfBlocks() VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseReader::GetNumberOfLevels
    */
-  int GetNumberOfLevels();
+  int GetNumberOfLevels() VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseReader::SetFileName
    */
-  void SetFileName( const char* fileName );
+  void SetFileName( const char* fileName ) VTK_OVERRIDE;
 
 protected:
   vtkAMREnzoReader();
-  ~vtkAMREnzoReader();
+  ~vtkAMREnzoReader() VTK_OVERRIDE;
 
   /**
    * Parses the parameters file and extracts the
@@ -102,41 +102,41 @@ protected:
   /**
    * See vtkAMRBaseReader::ReadMetaData
    */
-  void ReadMetaData();
+  void ReadMetaData() VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseReader::GetBlockLevel
    */
-  int GetBlockLevel( const int blockIdx );
+  int GetBlockLevel( const int blockIdx ) VTK_OVERRIDE;
 
   void ComputeStats(vtkEnzoReaderInternal* internal, std::vector<int>& blocksPerLevel, double min[3]);
 
   /**
    * See vtkAMRBaseReader::FillMetaData
    */
-  int FillMetaData( );
+  int FillMetaData( ) VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseReader::GetAMRGrid
    */
-  vtkUniformGrid* GetAMRGrid( const int blockIdx );
+  vtkUniformGrid* GetAMRGrid( const int blockIdx ) VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseReader::GetAMRGridData
    */
   void GetAMRGridData(
-      const int blockIdx, vtkUniformGrid *block, const char *field);
+      const int blockIdx, vtkUniformGrid *block, const char *field) VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseReader::GetAMRGridData
    */
   void GetAMRGridPointData(
-      const int vtkNotUsed(blockIdx), vtkUniformGrid *vtkNotUsed(block), const char *vtkNotUsed(field)) {;};
+      const int vtkNotUsed(blockIdx), vtkUniformGrid *vtkNotUsed(block), const char *vtkNotUsed(field)) VTK_OVERRIDE {;};
 
   /**
    * See vtkAMRBaseReader::SetUpDataArraySelections
    */
-  void SetUpDataArraySelections();
+  void SetUpDataArraySelections() VTK_OVERRIDE;
 
   int ConvertToCGS;
   bool IsReady;
diff --git a/IO/AMR/vtkAMRFlashParticlesReader.h b/IO/AMR/vtkAMRFlashParticlesReader.h
index 173a2e6869..eb3dd37525 100644
--- a/IO/AMR/vtkAMRFlashParticlesReader.h
+++ b/IO/AMR/vtkAMRFlashParticlesReader.h
@@ -38,31 +38,31 @@ class VTKIOAMR_EXPORT vtkAMRFlashParticlesReader :
 public:
   static vtkAMRFlashParticlesReader* New();
   vtkTypeMacro( vtkAMRFlashParticlesReader, vtkAMRBaseParticlesReader );
-  void PrintSelf(ostream &os, vtkIndent indent );
+  void PrintSelf(ostream &os, vtkIndent indent ) VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseParticlesReader::GetTotalNumberOfParticles.
    */
-  int GetTotalNumberOfParticles();
+  int GetTotalNumberOfParticles() VTK_OVERRIDE;
 
 protected:
   vtkAMRFlashParticlesReader();
-  virtual ~vtkAMRFlashParticlesReader();
+  ~vtkAMRFlashParticlesReader() VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseParticlesReader::ReadMetaData
    */
-  void ReadMetaData();
+  void ReadMetaData() VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseParticlesReader::SetupParticlesDataSelections
    */
-  void SetupParticleDataSelections();
+  void SetupParticleDataSelections() VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseParticlesReader::ReadParticles
    */
-  vtkPolyData* ReadParticles( const int blkidx );
+  vtkPolyData* ReadParticles( const int blkidx ) VTK_OVERRIDE;
 
   /**
    * Reads the particlles of the given block from the given file.
diff --git a/IO/AMR/vtkAMRFlashReader.h b/IO/AMR/vtkAMRFlashReader.h
index 4c17d5b73d..34718216db 100644
--- a/IO/AMR/vtkAMRFlashReader.h
+++ b/IO/AMR/vtkAMRFlashReader.h
@@ -34,63 +34,63 @@ class VTKIOAMR_EXPORT vtkAMRFlashReader : public vtkAMRBaseReader
 public:
   static vtkAMRFlashReader* New();
   vtkTypeMacro( vtkAMRFlashReader, vtkAMRBaseReader );
-  void PrintSelf(ostream &os, vtkIndent indent );
+  void PrintSelf(ostream &os, vtkIndent indent ) VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseReader::GetNumberOfBlocks
    */
-  int GetNumberOfBlocks();
+  int GetNumberOfBlocks() VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseReader::GetNumberOfLevels
    */
-  int GetNumberOfLevels();
+  int GetNumberOfLevels() VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseReader::SetFileName
    */
-  void SetFileName( const char* fileName );
+  void SetFileName( const char* fileName ) VTK_OVERRIDE;
 
 protected:
   vtkAMRFlashReader();
-  ~vtkAMRFlashReader();
+  ~vtkAMRFlashReader() VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseReader::ReadMetaData
    */
-  void ReadMetaData();
+  void ReadMetaData() VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseReader::GetBlockLevel
    */
-  int GetBlockLevel( const int blockIdx );
+  int GetBlockLevel( const int blockIdx ) VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseReader::FillMetaData
    */
-  int FillMetaData( );
+  int FillMetaData( ) VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseReader::GetAMRGrid
    */
-  vtkUniformGrid* GetAMRGrid( const int blockIdx );
+  vtkUniformGrid* GetAMRGrid( const int blockIdx ) VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseReader::GetAMRGridData
    */
   void GetAMRGridData(
-      const int blockIdx, vtkUniformGrid *block, const char *field);
+      const int blockIdx, vtkUniformGrid *block, const char *field) VTK_OVERRIDE;
 
   /**
    * See vtkAMRBaseReader::GetAMRGridData
    */
   void GetAMRGridPointData(
-      const int vtkNotUsed(blockIdx), vtkUniformGrid *vtkNotUsed(block), const char *vtkNotUsed(field)) {;}
+      const int vtkNotUsed(blockIdx), vtkUniformGrid *vtkNotUsed(block), const char *vtkNotUsed(field)) VTK_OVERRIDE {;}
 
   /**
    * See vtkAMRBaseReader::SetUpDataArraySelections
    */
-  void SetUpDataArraySelections();
+  void SetUpDataArraySelections() VTK_OVERRIDE;
 
   bool IsReady;
 
diff --git a/IO/Core/vtkASCIITextCodec.h b/IO/Core/vtkASCIITextCodec.h
index e23dfbd3f6..f20fdc2cad 100644
--- a/IO/Core/vtkASCIITextCodec.h
+++ b/IO/Core/vtkASCIITextCodec.h
@@ -46,20 +46,20 @@ class VTKIOCORE_EXPORT vtkASCIITextCodec : public vtkTextCodec
 public:
   vtkTypeMacro(vtkASCIITextCodec, vtkTextCodec);
   static vtkASCIITextCodec* New() ;
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * The name this codec goes by - should match the string the factory will take to create it
    */
-  virtual const char* Name();
-  virtual bool CanHandle(const char* NameString);
+  const char* Name() VTK_OVERRIDE;
+  bool CanHandle(const char* NameString) VTK_OVERRIDE;
   //@}
 
   /**
    * is the given sample valid for this codec?
    */
-  virtual bool IsValid(istream& InputStream);
+  bool IsValid(istream& InputStream) VTK_OVERRIDE;
 
 
   /**
@@ -67,18 +67,18 @@ public:
    * to the output iterator.  The stream will be advanced to its end so subsequent use
    * would need to reset it.
    */
-  virtual void ToUnicode(istream& InputStream,
-                         vtkTextCodec::OutputIterator& output) ;
+  void ToUnicode(istream& InputStream,
+                         vtkTextCodec::OutputIterator& output) VTK_OVERRIDE ;
 
   /**
    * Return the next code point from the sequence represented by the stream
    * advancing the stream through however many places needed to assemble that code point
    */
-  virtual vtkUnicodeString::value_type NextUnicode(istream& inputStream) ;
+  vtkUnicodeString::value_type NextUnicode(istream& inputStream) VTK_OVERRIDE ;
 
 protected:
   vtkASCIITextCodec() ;
-  ~vtkASCIITextCodec() ;
+  ~vtkASCIITextCodec() VTK_OVERRIDE;
 
 private:
   vtkASCIITextCodec(const vtkASCIITextCodec &) VTK_DELETE_FUNCTION;
diff --git a/IO/Core/vtkAbstractParticleWriter.h b/IO/Core/vtkAbstractParticleWriter.h
index b346b42993..bfad54b547 100644
--- a/IO/Core/vtkAbstractParticleWriter.h
+++ b/IO/Core/vtkAbstractParticleWriter.h
@@ -38,7 +38,7 @@ class VTKIOCORE_EXPORT vtkAbstractParticleWriter : public vtkWriter
 {
 public:
   vtkTypeMacro(vtkAbstractParticleWriter,vtkWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -86,9 +86,9 @@ public:
 
 protected:
    vtkAbstractParticleWriter();
-  ~vtkAbstractParticleWriter();
+  ~vtkAbstractParticleWriter() VTK_OVERRIDE;
 
-  virtual void WriteData() = 0; //internal method subclasses must respond to
+  void WriteData() VTK_OVERRIDE = 0; //internal method subclasses must respond to
   int          CollectiveIO;
   int          TimeStep;
   double       TimeValue;
diff --git a/IO/Core/vtkAbstractPolyDataReader.h b/IO/Core/vtkAbstractPolyDataReader.h
index 8a004962de..9198fe5f05 100644
--- a/IO/Core/vtkAbstractPolyDataReader.h
+++ b/IO/Core/vtkAbstractPolyDataReader.h
@@ -37,7 +37,7 @@ class VTKIOCORE_EXPORT vtkAbstractPolyDataReader : public vtkPolyDataAlgorithm
 {
 public:
   vtkTypeMacro(vtkAbstractPolyDataReader, vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -49,7 +49,7 @@ public:
 
 protected:
   vtkAbstractPolyDataReader();
-  ~vtkAbstractPolyDataReader();
+  ~vtkAbstractPolyDataReader() VTK_OVERRIDE;
 
   char *FileName;
 private:
diff --git a/IO/Core/vtkArrayDataReader.h b/IO/Core/vtkArrayDataReader.h
index 8d2e714e78..1ccbed706e 100644
--- a/IO/Core/vtkArrayDataReader.h
+++ b/IO/Core/vtkArrayDataReader.h
@@ -45,7 +45,7 @@ class VTKIOCORE_EXPORT vtkArrayDataReader :
 public:
   static vtkArrayDataReader* New();
   vtkTypeMacro(vtkArrayDataReader, vtkArrayDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -87,12 +87,12 @@ public:
 
 protected:
   vtkArrayDataReader();
-  ~vtkArrayDataReader();
+  ~vtkArrayDataReader() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   char* FileName;
   vtkStdString InputString;
diff --git a/IO/Core/vtkArrayDataWriter.h b/IO/Core/vtkArrayDataWriter.h
index eb0a8a8e38..afd97a7439 100644
--- a/IO/Core/vtkArrayDataWriter.h
+++ b/IO/Core/vtkArrayDataWriter.h
@@ -63,7 +63,7 @@ class VTKIOCORE_EXPORT vtkArrayDataWriter :
 public:
   static vtkArrayDataWriter *New();
   vtkTypeMacro(vtkArrayDataWriter, vtkWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -97,7 +97,7 @@ public:
   vtkBooleanMacro(WriteToOutputString, bool);
   //@}
 
-  virtual int Write(); // This is necessary to get Write() wrapped for scripting languages.
+  int Write() VTK_OVERRIDE; // This is necessary to get Write() wrapped for scripting languages.
 
   /**
    * Writes input port 0 data to a file, using an arbitrary filename and binary flag.
@@ -134,10 +134,10 @@ public:
 
 protected:
   vtkArrayDataWriter();
-  ~vtkArrayDataWriter();
+  ~vtkArrayDataWriter() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
-  virtual void WriteData();
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  void WriteData() VTK_OVERRIDE;
 
   char* FileName;
   int Binary;
diff --git a/IO/Core/vtkArrayReader.h b/IO/Core/vtkArrayReader.h
index 5af3e6bc89..1ea524f92a 100644
--- a/IO/Core/vtkArrayReader.h
+++ b/IO/Core/vtkArrayReader.h
@@ -48,7 +48,7 @@ class VTKIOCORE_EXPORT vtkArrayReader :
 public:
   static vtkArrayReader* New();
   vtkTypeMacro(vtkArrayReader, vtkArrayDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -90,12 +90,12 @@ public:
 
 protected:
   vtkArrayReader();
-  ~vtkArrayReader();
+  ~vtkArrayReader() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   char* FileName;
   vtkStdString InputString;
diff --git a/IO/Core/vtkArrayWriter.h b/IO/Core/vtkArrayWriter.h
index 55a1589ecc..faae950b0f 100644
--- a/IO/Core/vtkArrayWriter.h
+++ b/IO/Core/vtkArrayWriter.h
@@ -64,7 +64,7 @@ class VTKIOCORE_EXPORT vtkArrayWriter :
 public:
   static vtkArrayWriter *New();
   vtkTypeMacro(vtkArrayWriter, vtkWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -98,7 +98,7 @@ public:
   vtkBooleanMacro(WriteToOutputString, bool);
   //@}
 
-  virtual int Write(); // This is necessary to get Write() wrapped for scripting languages.
+  int Write() VTK_OVERRIDE; // This is necessary to get Write() wrapped for scripting languages.
 
   /**
    * Writes input port 0 data to a file, using an arbitrary filename and binary flag.
@@ -135,10 +135,10 @@ public:
 
 protected:
   vtkArrayWriter();
-  ~vtkArrayWriter();
+  ~vtkArrayWriter() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
-  virtual void WriteData();
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  void WriteData() VTK_OVERRIDE;
 
   char* FileName;
   int Binary;
diff --git a/IO/Core/vtkBase64InputStream.h b/IO/Core/vtkBase64InputStream.h
index 0ca4f739c8..ae54e2d685 100644
--- a/IO/Core/vtkBase64InputStream.h
+++ b/IO/Core/vtkBase64InputStream.h
@@ -31,26 +31,26 @@ class VTKIOCORE_EXPORT vtkBase64InputStream : public vtkInputStream
 public:
   vtkTypeMacro(vtkBase64InputStream,vtkInputStream);
   static vtkBase64InputStream *New();
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Called after the stream position has been set by the caller, but
    * before any Seek or Read calls.  The stream position should not be
    * adjusted by the caller until after an EndReading call.
    */
-  void StartReading();
+  void StartReading() VTK_OVERRIDE;
 
   /**
    * Seek to the given offset in the input data.  Returns 1 for
    * success, 0 for failure.
    */
-  int Seek(vtkTypeInt64 offset);
+  int Seek(vtkTypeInt64 offset) VTK_OVERRIDE;
 
   /**
    * Read input data of the given length.  Returns amount actually
    * read.
    */
-  size_t Read(void* data, size_t length);
+  size_t Read(void* data, size_t length) VTK_OVERRIDE;
 
   /**
    * Called after all desired calls to Seek and Read have been made.
@@ -58,11 +58,11 @@ public:
    * stream.  Additional reads should not be done until after another
    * call to StartReading.
    */
-  void EndReading();
+  void EndReading() VTK_OVERRIDE;
 
 protected:
   vtkBase64InputStream();
-  ~vtkBase64InputStream();
+  ~vtkBase64InputStream() VTK_OVERRIDE;
 
   // Number of decoded bytes left in Buffer from last call to Read.
   int BufferLength;
diff --git a/IO/Core/vtkBase64OutputStream.h b/IO/Core/vtkBase64OutputStream.h
index 651eb7c8e5..09bb881387 100644
--- a/IO/Core/vtkBase64OutputStream.h
+++ b/IO/Core/vtkBase64OutputStream.h
@@ -31,19 +31,19 @@ class VTKIOCORE_EXPORT vtkBase64OutputStream : public vtkOutputStream
 public:
   vtkTypeMacro(vtkBase64OutputStream,vtkOutputStream);
   static vtkBase64OutputStream *New();
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Called after the stream position has been set by the caller, but
    * before any Write calls.  The stream position should not be
    * adjusted by the caller until after an EndWriting call.
    */
-  int StartWriting();
+  int StartWriting() VTK_OVERRIDE;
 
   /**
    * Write output data of the given length.
    */
-  int Write(void const* data, size_t length);
+  int Write(void const* data, size_t length) VTK_OVERRIDE;
 
   /**
    * Called after all desired calls to Write have been made.  After
@@ -51,11 +51,11 @@ public:
    * stream.  Additional writes should not be done until after another
    * call to StartWriting.
    */
-  int EndWriting();
+  int EndWriting() VTK_OVERRIDE;
 
 protected:
   vtkBase64OutputStream();
-  ~vtkBase64OutputStream();
+  ~vtkBase64OutputStream() VTK_OVERRIDE;
 
   // Number of un-encoded bytes left in Buffer from last call to Write.
   unsigned int BufferLength;
diff --git a/IO/Core/vtkBase64Utilities.h b/IO/Core/vtkBase64Utilities.h
index e3c1627fa3..6e7053b813 100644
--- a/IO/Core/vtkBase64Utilities.h
+++ b/IO/Core/vtkBase64Utilities.h
@@ -125,7 +125,7 @@ public:
 
 protected:
   vtkBase64Utilities() {}
-  ~vtkBase64Utilities() {}
+  ~vtkBase64Utilities() VTK_OVERRIDE {}
 
 private:
   vtkBase64Utilities(const vtkBase64Utilities&) VTK_DELETE_FUNCTION;
diff --git a/IO/Core/vtkDataCompressor.h b/IO/Core/vtkDataCompressor.h
index 50847ed98a..6136cd74bc 100644
--- a/IO/Core/vtkDataCompressor.h
+++ b/IO/Core/vtkDataCompressor.h
@@ -34,7 +34,7 @@ class VTKIOCORE_EXPORT vtkDataCompressor : public vtkObject
 {
 public:
   vtkTypeMacro(vtkDataCompressor,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the maximum space that may be needed to store data of the
@@ -86,7 +86,7 @@ public:
 
 protected:
   vtkDataCompressor();
-  ~vtkDataCompressor();
+  ~vtkDataCompressor() VTK_OVERRIDE;
 
   // Actual compression method.  This must be provided by a subclass.
   // Must return the size of the compressed data, or zero on error.
diff --git a/IO/Core/vtkDelimitedTextWriter.h b/IO/Core/vtkDelimitedTextWriter.h
index c62624d3af..e95dcde011 100644
--- a/IO/Core/vtkDelimitedTextWriter.h
+++ b/IO/Core/vtkDelimitedTextWriter.h
@@ -38,7 +38,7 @@ class VTKIOCORE_EXPORT vtkDelimitedTextWriter : public vtkWriter
 public:
   static vtkDelimitedTextWriter* New();
   vtkTypeMacro(vtkDelimitedTextWriter, vtkWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -97,19 +97,19 @@ public:
 
 protected:
   vtkDelimitedTextWriter();
-  ~vtkDelimitedTextWriter();
+  ~vtkDelimitedTextWriter() VTK_OVERRIDE;
 
   bool WriteToOutputString;
   char* OutputString;
 
   bool OpenStream();
 
-  virtual void WriteData();
+  void WriteData() VTK_OVERRIDE;
   virtual void WriteTable(vtkTable* rectilinearGrid);
 
   // see algorithm for more info.
   // This writer takes in vtkTable.
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   char* FileName;
   char* FieldDelimiter;
diff --git a/IO/Core/vtkGlobFileNames.h b/IO/Core/vtkGlobFileNames.h
index 7ef3310d70..442f9ce7bb 100644
--- a/IO/Core/vtkGlobFileNames.h
+++ b/IO/Core/vtkGlobFileNames.h
@@ -122,7 +122,7 @@ protected:
   //@}
 
   vtkGlobFileNames();
-  ~vtkGlobFileNames();
+  ~vtkGlobFileNames() VTK_OVERRIDE;
 
 private:
   char* Directory;          // Directory for search.
diff --git a/IO/Core/vtkInputStream.h b/IO/Core/vtkInputStream.h
index 8019a4c3ab..cd624cc6f2 100644
--- a/IO/Core/vtkInputStream.h
+++ b/IO/Core/vtkInputStream.h
@@ -35,7 +35,7 @@ class VTKIOCORE_EXPORT vtkInputStream : public vtkObject
 public:
   vtkTypeMacro(vtkInputStream,vtkObject);
   static vtkInputStream *New();
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -74,7 +74,7 @@ public:
 
 protected:
   vtkInputStream();
-  ~vtkInputStream();
+  ~vtkInputStream() VTK_OVERRIDE;
 
   // The real input stream.
   istream* Stream;
diff --git a/IO/Core/vtkJavaScriptDataWriter.h b/IO/Core/vtkJavaScriptDataWriter.h
index fad2558c8e..6cd5aa62e4 100644
--- a/IO/Core/vtkJavaScriptDataWriter.h
+++ b/IO/Core/vtkJavaScriptDataWriter.h
@@ -38,7 +38,7 @@ class VTKIOCORE_EXPORT vtkJavaScriptDataWriter : public vtkWriter
 public:
   static vtkJavaScriptDataWriter* New();
   vtkTypeMacro(vtkJavaScriptDataWriter, vtkWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -85,16 +85,16 @@ public:
 
 protected:
   vtkJavaScriptDataWriter();
-  ~vtkJavaScriptDataWriter();
+  ~vtkJavaScriptDataWriter() VTK_OVERRIDE;
 
   ofstream* OpenFile();
 
-  virtual void WriteData();
+  void WriteData() VTK_OVERRIDE;
   virtual void WriteTable(vtkTable* table, ostream *stream_ptr);
 
   // see algorithm for more info.
   // This writer takes in vtkTable.
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   char* VariableName;
   char* FileName;
diff --git a/IO/Core/vtkLZ4DataCompressor.h b/IO/Core/vtkLZ4DataCompressor.h
index 4633e0d019..55b8e4bfd7 100644
--- a/IO/Core/vtkLZ4DataCompressor.h
+++ b/IO/Core/vtkLZ4DataCompressor.h
@@ -27,7 +27,7 @@ class VTKIOCORE_EXPORT vtkLZ4DataCompressor : public vtkDataCompressor
 {
 public:
   vtkTypeMacro(vtkLZ4DataCompressor,vtkDataCompressor);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkLZ4DataCompressor* New();
 
   // Description:
@@ -35,7 +35,7 @@ public:
   // given uncompressed size after compression.  This is the minimum
   // size of the output buffer that can be passed to the four-argument
   // Compress method.
-  size_t GetMaximumCompressionSpace(size_t size);
+  size_t GetMaximumCompressionSpace(size_t size) VTK_OVERRIDE;
 
   // Description:
   // Get/Set the compression level.
@@ -44,7 +44,7 @@ public:
 
 protected:
   vtkLZ4DataCompressor();
-  ~vtkLZ4DataCompressor();
+  ~vtkLZ4DataCompressor() VTK_OVERRIDE;
 
   int AccelerationLevel;
 
@@ -52,12 +52,12 @@ protected:
   size_t CompressBuffer(unsigned char const* uncompressedData,
                         size_t uncompressedSize,
                         unsigned char* compressedData,
-                        size_t compressionSpace);
+                        size_t compressionSpace) VTK_OVERRIDE;
   // Decompression method required by vtkDataCompressor.
   size_t UncompressBuffer(unsigned char const* compressedData,
                           size_t compressedSize,
                           unsigned char* uncompressedData,
-                          size_t uncompressedSize);
+                          size_t uncompressedSize) VTK_OVERRIDE;
 private:
   vtkLZ4DataCompressor(const vtkLZ4DataCompressor&) VTK_DELETE_FUNCTION;
   void operator=(const vtkLZ4DataCompressor&) VTK_DELETE_FUNCTION;
diff --git a/IO/Core/vtkOutputStream.h b/IO/Core/vtkOutputStream.h
index a568e11d36..f6289b6e44 100644
--- a/IO/Core/vtkOutputStream.h
+++ b/IO/Core/vtkOutputStream.h
@@ -35,7 +35,7 @@ class VTKIOCORE_EXPORT vtkOutputStream : public vtkObject
 public:
   vtkTypeMacro(vtkOutputStream,vtkObject);
   static vtkOutputStream *New();
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -67,7 +67,7 @@ public:
 
 protected:
   vtkOutputStream();
-  ~vtkOutputStream();
+  ~vtkOutputStream() VTK_OVERRIDE;
 
   // The real output stream.
   ostream* Stream;
diff --git a/IO/Core/vtkSortFileNames.h b/IO/Core/vtkSortFileNames.h
index 0c40f0571d..60ce6f2310 100644
--- a/IO/Core/vtkSortFileNames.h
+++ b/IO/Core/vtkSortFileNames.h
@@ -44,7 +44,7 @@ class VTKIOCORE_EXPORT vtkSortFileNames : public vtkObject
 public:
 
   vtkTypeMacro(vtkSortFileNames,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkSortFileNames *New();
 
   //@{
@@ -133,7 +133,7 @@ public:
 
 protected:
   vtkSortFileNames();
-  ~vtkSortFileNames();
+  ~vtkSortFileNames() VTK_OVERRIDE;
 
   int NumericSort;
   int IgnoreCase;
diff --git a/IO/Core/vtkTextCodec.h b/IO/Core/vtkTextCodec.h
index f27036b295..5e8c51f75f 100644
--- a/IO/Core/vtkTextCodec.h
+++ b/IO/Core/vtkTextCodec.h
@@ -52,7 +52,7 @@ public:
    * to create it
    */
   virtual const char* Name();
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   virtual bool CanHandle(const char* NameString);
@@ -107,7 +107,7 @@ public:
 
 protected:
   vtkTextCodec();
-  ~vtkTextCodec();
+  ~vtkTextCodec() VTK_OVERRIDE;
 
 private:
   vtkTextCodec(const vtkTextCodec &) VTK_DELETE_FUNCTION;
diff --git a/IO/Core/vtkTextCodecFactory.h b/IO/Core/vtkTextCodecFactory.h
index af3e4045d4..528485d6ce 100644
--- a/IO/Core/vtkTextCodecFactory.h
+++ b/IO/Core/vtkTextCodecFactory.h
@@ -49,7 +49,7 @@ class VTKIOCORE_EXPORT vtkTextCodecFactory : public vtkObject
 public:
   vtkTypeMacro(vtkTextCodecFactory, vtkObject);
   static vtkTextCodecFactory* New() ;
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Type for Creation callback.
@@ -89,7 +89,7 @@ public:
 
 protected:
   vtkTextCodecFactory();
-  ~vtkTextCodecFactory();
+  ~vtkTextCodecFactory() VTK_OVERRIDE;
 
 private:
   vtkTextCodecFactory(const vtkTextCodecFactory &) VTK_DELETE_FUNCTION;
diff --git a/IO/Core/vtkUTF16TextCodec.h b/IO/Core/vtkUTF16TextCodec.h
index 3175565d72..21e5139978 100644
--- a/IO/Core/vtkUTF16TextCodec.h
+++ b/IO/Core/vtkUTF16TextCodec.h
@@ -46,14 +46,14 @@ class VTKIOCORE_EXPORT vtkUTF16TextCodec : public vtkTextCodec
 public:
   vtkTypeMacro(vtkUTF16TextCodec, vtkTextCodec);
   static vtkUTF16TextCodec* New() ;
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * The name this codec goes by - should match the string the factory will take to create it
    */
-  virtual const char* Name() ;
-  virtual bool CanHandle(const char* NameString) ;
+  const char* Name() VTK_OVERRIDE;
+  bool CanHandle(const char* NameString) VTK_OVERRIDE ;
   //@}
 
   /**
@@ -69,24 +69,24 @@ public:
   /**
    * is the given sample valid for this codec? - will take endianness into account
    */
-  virtual bool IsValid(istream& InputStream) ;
+  bool IsValid(istream& InputStream) VTK_OVERRIDE ;
 
   /**
    * Iterate through the sequence represented by the begin and end iterators assigning the result
    * to the output iterator.  This is the current pattern in vtkDelimitedTextReader
    */
-  virtual void ToUnicode(istream& InputStream,
-                         vtkTextCodec::OutputIterator& output) ;
+  void ToUnicode(istream& InputStream,
+                         vtkTextCodec::OutputIterator& output) VTK_OVERRIDE ;
 
   /**
    * Return the next code point from the sequence represented by the begin, end iterators
    * advancing begin through however many places needed to assemble that code point
    */
-  virtual vtkUnicodeString::value_type  NextUnicode(istream& inputStream) ;
+  vtkUnicodeString::value_type  NextUnicode(istream& inputStream) VTK_OVERRIDE ;
 
 protected:
   vtkUTF16TextCodec() ;
-  ~vtkUTF16TextCodec() ;
+  ~vtkUTF16TextCodec() VTK_OVERRIDE;
 
   bool _endianExplicitlySet ;
   bool _bigEndian ;
diff --git a/IO/Core/vtkUTF8TextCodec.h b/IO/Core/vtkUTF8TextCodec.h
index 5a669febdf..d820be13e2 100644
--- a/IO/Core/vtkUTF8TextCodec.h
+++ b/IO/Core/vtkUTF8TextCodec.h
@@ -46,36 +46,36 @@ class VTKIOCORE_EXPORT vtkUTF8TextCodec : public vtkTextCodec
 public:
   vtkTypeMacro(vtkUTF8TextCodec, vtkTextCodec);
   static vtkUTF8TextCodec* New() ;
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * The name this codec goes by - should match the string the factory will take to create it
    */
-  virtual const char* Name() {return "UTF-8" ;}
-  virtual bool CanHandle(const char* testStr);
+  const char* Name() VTK_OVERRIDE {return "UTF-8" ;}
+  bool CanHandle(const char* testStr) VTK_OVERRIDE;
 
   /**
    * is the given sample valid for this codec?
    */
-  virtual bool IsValid(istream& InputStream) ;
+  bool IsValid(istream& InputStream) VTK_OVERRIDE ;
 
   /**
    * Iterate through the sequence represented by the stream assigning the result
    * to the output iterator.  The stream will be advanced to its end so subsequent use
    * would need to reset it.
    */
-  virtual void ToUnicode(istream& InputStream,
-                         vtkTextCodec::OutputIterator& output) ;
+  void ToUnicode(istream& InputStream,
+                         vtkTextCodec::OutputIterator& output) VTK_OVERRIDE ;
 
   /**
    * Return the next code point from the sequence represented by the stream
    * advancing the stream through however many places needed to assemble that code point
    */
-  virtual vtkUnicodeString::value_type NextUnicode(istream& inputStream) ;
+  vtkUnicodeString::value_type NextUnicode(istream& inputStream) VTK_OVERRIDE ;
 
 protected:
   vtkUTF8TextCodec() ;
-  ~vtkUTF8TextCodec() ;
+  ~vtkUTF8TextCodec() VTK_OVERRIDE;
 
 private:
   vtkUTF8TextCodec(const vtkUTF8TextCodec &) VTK_DELETE_FUNCTION;
diff --git a/IO/Core/vtkWriter.h b/IO/Core/vtkWriter.h
index 3e980f2d75..866de52ea3 100644
--- a/IO/Core/vtkWriter.h
+++ b/IO/Core/vtkWriter.h
@@ -43,7 +43,7 @@ class VTKIOCORE_EXPORT vtkWriter : public vtkAlgorithm
 {
 public:
   vtkTypeMacro(vtkWriter,vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Write data to output. Method executes subclasses WriteData() method, as
@@ -82,11 +82,11 @@ public:
 
 protected:
   vtkWriter();
-  ~vtkWriter();
+  ~vtkWriter() VTK_OVERRIDE;
 
-  virtual int ProcessRequest(vtkInformation *request,
+  int ProcessRequest(vtkInformation *request,
                              vtkInformationVector **inputVector,
-                             vtkInformationVector *outputVector);
+                             vtkInformationVector *outputVector) VTK_OVERRIDE;
   virtual int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
                           vtkInformationVector *outputVector);
diff --git a/IO/Core/vtkZLibDataCompressor.h b/IO/Core/vtkZLibDataCompressor.h
index 331d58b04a..b82d397d02 100644
--- a/IO/Core/vtkZLibDataCompressor.h
+++ b/IO/Core/vtkZLibDataCompressor.h
@@ -30,7 +30,7 @@ class VTKIOCORE_EXPORT vtkZLibDataCompressor : public vtkDataCompressor
 {
 public:
   vtkTypeMacro(vtkZLibDataCompressor,vtkDataCompressor);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkZLibDataCompressor* New();
 
   /**
@@ -39,7 +39,7 @@ public:
    * size of the output buffer that can be passed to the four-argument
    * Compress method.
    */
-  size_t GetMaximumCompressionSpace(size_t size);
+  size_t GetMaximumCompressionSpace(size_t size) VTK_OVERRIDE;
 
   //@{
   /**
@@ -51,7 +51,7 @@ public:
 
 protected:
   vtkZLibDataCompressor();
-  ~vtkZLibDataCompressor();
+  ~vtkZLibDataCompressor() VTK_OVERRIDE;
 
   int CompressionLevel;
 
@@ -59,12 +59,12 @@ protected:
   size_t CompressBuffer(unsigned char const* uncompressedData,
                         size_t uncompressedSize,
                         unsigned char* compressedData,
-                        size_t compressionSpace);
+                        size_t compressionSpace) VTK_OVERRIDE;
   // Decompression method required by vtkDataCompressor.
   size_t UncompressBuffer(unsigned char const* compressedData,
                           size_t compressedSize,
                           unsigned char* uncompressedData,
-                          size_t uncompressedSize);
+                          size_t uncompressedSize) VTK_OVERRIDE;
 private:
   vtkZLibDataCompressor(const vtkZLibDataCompressor&) VTK_DELETE_FUNCTION;
   void operator=(const vtkZLibDataCompressor&) VTK_DELETE_FUNCTION;
diff --git a/IO/EnSight/vtkEnSight6BinaryReader.h b/IO/EnSight/vtkEnSight6BinaryReader.h
index 23b09a69af..d18d89c258 100644
--- a/IO/EnSight/vtkEnSight6BinaryReader.h
+++ b/IO/EnSight/vtkEnSight6BinaryReader.h
@@ -54,7 +54,7 @@ public:
 
 protected:
   vtkEnSight6BinaryReader();
-  ~vtkEnSight6BinaryReader();
+  ~vtkEnSight6BinaryReader() VTK_OVERRIDE;
 
   // Returns 1 if successful.  Sets file size as a side action.
   int OpenFile(const char* filename);
@@ -62,83 +62,83 @@ protected:
   /**
    * Read the geometry file.  If an error occurred, 0 is returned; otherwise 1.
    */
-  virtual int ReadGeometryFile(const char* fileName, int timeStep,
-                               vtkMultiBlockDataSet *output);
+  int ReadGeometryFile(const char* fileName, int timeStep,
+                               vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read the measured geometry file.  If an error occurred, 0 is returned;
    * otherwise 1.
    */
-  virtual int ReadMeasuredGeometryFile(const char* fileName, int timeStep,
-                                       vtkMultiBlockDataSet *output);
+  int ReadMeasuredGeometryFile(const char* fileName, int timeStep,
+                                       vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read scalars per node for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.  If there will be more than one component in
    * the scalars array, we assume that 0 is the first component added to the array.
    */
-  virtual int ReadScalarsPerNode(const char* fileName, const char* description,
+  int ReadScalarsPerNode(const char* fileName, const char* description,
                                  int timeStep, vtkMultiBlockDataSet *output,
                                  int measured = 0, int numberOfComponents = 1,
-                                 int component = 0);
+                                 int component = 0) VTK_OVERRIDE;
 
   /**
    * Read vectors per node for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.
    */
-  virtual int ReadVectorsPerNode(const char* fileName, const char* description,
+  int ReadVectorsPerNode(const char* fileName, const char* description,
                                  int timeStep, vtkMultiBlockDataSet *output,
-                                 int measured = 0);
+                                 int measured = 0) VTK_OVERRIDE;
 
   /**
    * Read tensors per node for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.
    */
-  virtual int ReadTensorsPerNode(const char* fileName, const char* description,
-                                 int timeStep, vtkMultiBlockDataSet *output);
+  int ReadTensorsPerNode(const char* fileName, const char* description,
+                                 int timeStep, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read scalars per element for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.  If there will be more than one component in the
    * scalars array, we assume that 0 is the first component added to the array.
    */
-  virtual int ReadScalarsPerElement(const char* fileName,
+  int ReadScalarsPerElement(const char* fileName,
                                     const char* description, int timeStep,
                                     vtkMultiBlockDataSet *output,
                                     int numberOfComponents = 1,
-                                    int component = 0);
+                                    int component = 0) VTK_OVERRIDE;
 
   /**
    * Read vectors per element for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.
    */
-  virtual int ReadVectorsPerElement(const char* fileName, const char* description,
-                                    int timeStep, vtkMultiBlockDataSet *output);
+  int ReadVectorsPerElement(const char* fileName, const char* description,
+                                    int timeStep, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read tensors per element for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.
    */
-  virtual int ReadTensorsPerElement(const char* fileName, const char* description,
-                                    int timeStep, vtkMultiBlockDataSet *output);
+  int ReadTensorsPerElement(const char* fileName, const char* description,
+                                    int timeStep, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read an unstructured part (partId) from the geometry file and create a
    * vtkUnstructuredGrid output.  Return 0 if EOF reached.
    */
-  virtual int CreateUnstructuredGridOutput(int partId,
+  int CreateUnstructuredGridOutput(int partId,
                                            char line[256],
                                            const char* name,
-                                           vtkMultiBlockDataSet *output);
+                                           vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read a structured part from the geometry file and create a
    * vtkStructuredGridOutput.  Return 0 if EOF reached.
    */
-  virtual int CreateStructuredGridOutput(int partId,
+  int CreateStructuredGridOutput(int partId,
                                          char line[256],
                                          const char* name,
-                                         vtkMultiBlockDataSet *output);
+                                         vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Internal function to read in a line up to 80 characters.
diff --git a/IO/EnSight/vtkEnSight6Reader.h b/IO/EnSight/vtkEnSight6Reader.h
index 42be6c3a0c..f0be03105a 100644
--- a/IO/EnSight/vtkEnSight6Reader.h
+++ b/IO/EnSight/vtkEnSight6Reader.h
@@ -54,88 +54,88 @@ public:
 
 protected:
   vtkEnSight6Reader();
-  ~vtkEnSight6Reader();
+  ~vtkEnSight6Reader() VTK_OVERRIDE;
 
   /**
    * Read the geometry file.  If an error occurred, 0 is returned; otherwise 1.
    */
-  virtual int ReadGeometryFile(const char* fileName, int timeStep,
-                               vtkMultiBlockDataSet *output);
+  int ReadGeometryFile(const char* fileName, int timeStep,
+                               vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read the measured geometry file.  If an error occurred, 0 is returned;
    * otherwise 1.
    */
-  virtual int ReadMeasuredGeometryFile(const char* fileName, int timeStep,
-                                       vtkMultiBlockDataSet *output);
+  int ReadMeasuredGeometryFile(const char* fileName, int timeStep,
+                                       vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read scalars per node for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.  If there will be more than one component in
    * the scalars array, we assume that 0 is the first component added to the array.
    */
-  virtual int ReadScalarsPerNode(const char* fileName, const char* description,
+  int ReadScalarsPerNode(const char* fileName, const char* description,
                                  int timeStep, vtkMultiBlockDataSet *output,
                                  int measured = 0,
                                  int numberOfComponents = 1,
-                                 int component = 0);
+                                 int component = 0) VTK_OVERRIDE;
 
   /**
    * Read vectors per node for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.
    */
-  virtual int ReadVectorsPerNode(const char* fileName, const char* description,
+  int ReadVectorsPerNode(const char* fileName, const char* description,
                                  int timeStep, vtkMultiBlockDataSet *output,
-                                 int measured = 0);
+                                 int measured = 0) VTK_OVERRIDE;
 
   /**
    * Read tensors per node for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.
    */
-  virtual int ReadTensorsPerNode(const char* fileName, const char* description,
-                                 int timeStep, vtkMultiBlockDataSet *output);
+  int ReadTensorsPerNode(const char* fileName, const char* description,
+                                 int timeStep, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read scalars per element for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.  If there will be more than one component in the
    * scalars array, we assume that 0 is the first component added to the array.
    */
-  virtual int ReadScalarsPerElement(const char* fileName, const char* description,
+  int ReadScalarsPerElement(const char* fileName, const char* description,
                                     int timeStep, vtkMultiBlockDataSet *output,
                                     int numberOfComponents = 1,
-                                    int component = 0);
+                                    int component = 0) VTK_OVERRIDE;
 
   /**
    * Read vectors per element for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.
    */
-  virtual int ReadVectorsPerElement(const char* fileName, const char* description,
-                                    int timeStep, vtkMultiBlockDataSet *output);
+  int ReadVectorsPerElement(const char* fileName, const char* description,
+                                    int timeStep, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read tensors per element for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.
    */
-  virtual int ReadTensorsPerElement(const char* fileName, const char* description,
-                                    int timeStep, vtkMultiBlockDataSet *output);
+  int ReadTensorsPerElement(const char* fileName, const char* description,
+                                    int timeStep, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read an unstructured part (partId) from the geometry file and create a
    * vtkUnstructuredGrid output.  Return 0 if EOF reached.
    */
-  virtual int CreateUnstructuredGridOutput(int partId,
+  int CreateUnstructuredGridOutput(int partId,
                                            char line[256],
                                            const char* name,
-                                           vtkMultiBlockDataSet *output);
+                                           vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read a structured part from the geometry file and create a
    * vtkStructuredGridOutput.  Return 0 if EOF reached.
    */
-  virtual int CreateStructuredGridOutput(int partId,
+  int CreateStructuredGridOutput(int partId,
                                          char line[256],
                                          const char* name,
-                                         vtkMultiBlockDataSet *output);
+                                         vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   // global list of points for the unstructured parts of the model
   int NumberOfUnstructuredPoints;
diff --git a/IO/EnSight/vtkEnSightGoldBinaryReader.h b/IO/EnSight/vtkEnSightGoldBinaryReader.h
index 089078e8e9..036d331368 100644
--- a/IO/EnSight/vtkEnSightGoldBinaryReader.h
+++ b/IO/EnSight/vtkEnSightGoldBinaryReader.h
@@ -55,7 +55,7 @@ public:
 
 protected:
   vtkEnSightGoldBinaryReader();
-  ~vtkEnSightGoldBinaryReader();
+  ~vtkEnSightGoldBinaryReader() VTK_OVERRIDE;
 
   // Returns 1 if successful.  Sets file size as a side action.
   int OpenFile(const char* filename);
@@ -68,84 +68,84 @@ protected:
   /**
    * Read the geometry file.  If an error occurred, 0 is returned; otherwise 1.
    */
-  virtual int ReadGeometryFile(const char* fileName, int timeStep,
-    vtkMultiBlockDataSet *output);
+  int ReadGeometryFile(const char* fileName, int timeStep,
+    vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read the measured geometry file.  If an error occurred, 0 is returned;
    * otherwise 1.
    */
-  virtual int ReadMeasuredGeometryFile(const char* fileName, int timeStep,
-    vtkMultiBlockDataSet *output);
+  int ReadMeasuredGeometryFile(const char* fileName, int timeStep,
+    vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read scalars per node for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.  If there will be more than one component in
    * the data array, it is assumed that 0 is the first component added.
    */
-  virtual int ReadScalarsPerNode(const char* fileName, const char* description,
+  int ReadScalarsPerNode(const char* fileName, const char* description,
     int timeStep, vtkMultiBlockDataSet *output,
     int measured = 0,
     int numberOfComponents = 1,
-    int component = 0);
+    int component = 0) VTK_OVERRIDE;
 
   /**
    * Read vectors per node for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.
    */
-  virtual int ReadVectorsPerNode(const char* fileName, const char* description,
+  int ReadVectorsPerNode(const char* fileName, const char* description,
     int timeStep, vtkMultiBlockDataSet *output,
-    int measured = 0);
+    int measured = 0) VTK_OVERRIDE;
 
   /**
    * Read tensors per node for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.
    */
-  virtual int ReadTensorsPerNode(const char* fileName, const char* description,
-    int timeStep, vtkMultiBlockDataSet *output);
+  int ReadTensorsPerNode(const char* fileName, const char* description,
+    int timeStep, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read scalars per element for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.  If there will be more than one componenet in the
    * data array, it is assumed that 0 is the first component added.
    */
-  virtual int ReadScalarsPerElement(const char* fileName, const char* description,
+  int ReadScalarsPerElement(const char* fileName, const char* description,
     int timeStep, vtkMultiBlockDataSet *output,
     int numberOfComponents = 1,
-    int component = 0);
+    int component = 0) VTK_OVERRIDE;
 
   /**
    * Read vectors per element for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.
    */
-  virtual int ReadVectorsPerElement(const char* fileName, const char* description,
-    int timeStep, vtkMultiBlockDataSet *output);
+  int ReadVectorsPerElement(const char* fileName, const char* description,
+    int timeStep, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read tensors per element for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.
    */
-  virtual int ReadTensorsPerElement(const char* fileName, const char* description,
-    int timeStep, vtkMultiBlockDataSet *output);
+  int ReadTensorsPerElement(const char* fileName, const char* description,
+    int timeStep, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read an unstructured part (partId) from the geometry file and create a
    * vtkUnstructuredGrid output.  Return 0 if EOF reached. Return -1 if
    * an error occurred.
    */
-  virtual int CreateUnstructuredGridOutput(int partId,
+  int CreateUnstructuredGridOutput(int partId,
     char line[80],
     const char* name,
-    vtkMultiBlockDataSet *output);
+    vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read a structured part from the geometry file and create a
    * vtkStructuredGrid output.  Return 0 if EOF reached.
    */
-  virtual int CreateStructuredGridOutput(int partId,
+  int CreateStructuredGridOutput(int partId,
     char line[256],
     const char* name,
-    vtkMultiBlockDataSet *output);
+    vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read a structured part from the geometry file and create a
diff --git a/IO/EnSight/vtkEnSightGoldReader.h b/IO/EnSight/vtkEnSightGoldReader.h
index bbb4b9c256..765c8796a9 100644
--- a/IO/EnSight/vtkEnSightGoldReader.h
+++ b/IO/EnSight/vtkEnSightGoldReader.h
@@ -55,89 +55,89 @@ public:
 
 protected:
   vtkEnSightGoldReader();
-  ~vtkEnSightGoldReader();
+  ~vtkEnSightGoldReader() VTK_OVERRIDE;
 
   /**
    * Read the geometry file.  If an error occurred, 0 is returned; otherwise 1.
    */
-  virtual int ReadGeometryFile(const char* fileName, int timeStep,
-    vtkMultiBlockDataSet *output);
+  int ReadGeometryFile(const char* fileName, int timeStep,
+    vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read the measured geometry file.  If an error occurred, 0 is returned;
    * otherwise 1.
    */
-  virtual int ReadMeasuredGeometryFile(const char* fileName, int timeStep,
-    vtkMultiBlockDataSet *output);
+  int ReadMeasuredGeometryFile(const char* fileName, int timeStep,
+    vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read scalars per node for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.  If there will be more than one component in
    * the data array, it is assumed that 0 is the first component added.
    */
-  virtual int ReadScalarsPerNode(const char* fileName, const char* description,
+  int ReadScalarsPerNode(const char* fileName, const char* description,
     int timeStep, vtkMultiBlockDataSet *output,
     int measured = 0,
     int numberOfComponents = 1,
-    int component = 0);
+    int component = 0) VTK_OVERRIDE;
 
   /**
    * Read vectors per node for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.
    */
-  virtual int ReadVectorsPerNode(const char* fileName, const char* description,
+  int ReadVectorsPerNode(const char* fileName, const char* description,
     int timeStep, vtkMultiBlockDataSet *output,
-    int measured = 0);
+    int measured = 0) VTK_OVERRIDE;
 
   /**
    * Read tensors per node for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.
    */
-  virtual int ReadTensorsPerNode(const char* fileName, const char* description,
-    int timeStep, vtkMultiBlockDataSet *output);
+  int ReadTensorsPerNode(const char* fileName, const char* description,
+    int timeStep, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read scalars per element for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.  If there will be more than one componenet in the
    * data array, it is assumed that 0 is the first component added.
    */
-  virtual int ReadScalarsPerElement(const char* fileName, const char* description,
+  int ReadScalarsPerElement(const char* fileName, const char* description,
     int timeStep, vtkMultiBlockDataSet *output,
     int numberOfComponents = 1,
-    int component = 0);
+    int component = 0) VTK_OVERRIDE;
 
   /**
    * Read vectors per element for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.
    */
-  virtual int ReadVectorsPerElement(const char* fileName, const char* description,
-    int timeStep, vtkMultiBlockDataSet *output);
+  int ReadVectorsPerElement(const char* fileName, const char* description,
+    int timeStep, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read tensors per element for this dataset.  If an error occurred, 0 is
    * returned; otherwise 1.
    */
-  virtual int ReadTensorsPerElement(const char* fileName, const char* description,
-    int timeStep, vtkMultiBlockDataSet *output);
+  int ReadTensorsPerElement(const char* fileName, const char* description,
+    int timeStep, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read an unstructured part (partId) from the geometry file and create a
    * vtkUnstructuredGrid output.  Return 0 if EOF reached. Return -1 if
    * an error occurred.
    */
-  virtual int CreateUnstructuredGridOutput(int partId,
+  int CreateUnstructuredGridOutput(int partId,
     char line[256],
     const char* name,
-    vtkMultiBlockDataSet *output);
+    vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read a structured part from the geometry file and create a
    * vtkStructuredGrid output.  Return 0 if EOF reached.
    */
-  virtual int CreateStructuredGridOutput(int partId,
+  int CreateStructuredGridOutput(int partId,
     char line[256],
     const char* name,
-    vtkMultiBlockDataSet *output);
+    vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
   /**
    * Read a structured part from the geometry file and create a
@@ -153,30 +153,6 @@ protected:
   int CreateImageDataOutput(int partId, char line[256], const char* name,
     vtkMultiBlockDataSet *output);
 
-  //@{
-  /**
-   * Set/Get the Model file name.
-   */
-  vtkSetStringMacro(GeometryFileName);
-  vtkGetStringMacro(GeometryFileName);
-  //@}
-
-  //@{
-  /**
-   * Set/Get the Measured file name.
-   */
-  vtkSetStringMacro(MeasuredFileName);
-  vtkGetStringMacro(MeasuredFileName);
-  //@}
-
-  //@{
-  /**
-   * Set/Get the Match file name.
-   */
-  vtkSetStringMacro(MatchFileName);
-  vtkGetStringMacro(MatchFileName);
-  //@}
-
   /**
    * Skip next line in file if the 'undef' or 'partial' keyword was
    * specified after a sectional keyword
diff --git a/IO/EnSight/vtkEnSightMasterServerReader.h b/IO/EnSight/vtkEnSightMasterServerReader.h
index 432ed26496..232fcab669 100644
--- a/IO/EnSight/vtkEnSightMasterServerReader.h
+++ b/IO/EnSight/vtkEnSightMasterServerReader.h
@@ -29,7 +29,7 @@ class VTKIOENSIGHT_EXPORT vtkEnSightMasterServerReader : public vtkGenericEnSigh
 {
 public:
   vtkTypeMacro(vtkEnSightMasterServerReader, vtkGenericEnSightReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkEnSightMasterServerReader* New();
 
@@ -57,12 +57,12 @@ public:
 
 protected:
   vtkEnSightMasterServerReader();
-  ~vtkEnSightMasterServerReader();
+  ~vtkEnSightMasterServerReader() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
-                                 vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **,
+                                 vtkInformationVector *) VTK_OVERRIDE;
 
   vtkSetStringMacro(PieceCaseFileName);
   char* PieceCaseFileName;
diff --git a/IO/EnSight/vtkEnSightReader.cxx b/IO/EnSight/vtkEnSightReader.cxx
index 6ab54ca4d8..bf8ccfa0fc 100644
--- a/IO/EnSight/vtkEnSightReader.cxx
+++ b/IO/EnSight/vtkEnSightReader.cxx
@@ -44,7 +44,6 @@ vtkEnSightReader::vtkEnSightReader()
   this->MeasuredFileName = NULL;
   this->MatchFileName = NULL;
 
-  this->ParticleCoordinatesByIndex = 0;
   this->IS = NULL;
 
   this->VariableMode = -1;
@@ -2275,7 +2274,6 @@ void vtkEnSightReader::PrintSelf(ostream& os, vtkIndent indent)
      (this->MeasuredFileName ? this->MeasuredFileName : "(none)") << endl;
   os << indent << "MatchFileName: " <<
      (this->MatchFileName ? this->MatchFileName : "(none)") << endl;
-  os << indent << "ParticleCoordinatesByIndex: " << this->ParticleCoordinatesByIndex << endl;
   os << indent << "UseTimeSets: " << this->UseTimeSets << endl;
   os << indent << "UseFileSets: " << this->UseFileSets << endl;
 }
diff --git a/IO/EnSight/vtkEnSightReader.h b/IO/EnSight/vtkEnSightReader.h
index ef22db5b50..d822aef679 100644
--- a/IO/EnSight/vtkEnSightReader.h
+++ b/IO/EnSight/vtkEnSightReader.h
@@ -34,7 +34,7 @@ class VTKIOENSIGHT_EXPORT vtkEnSightReader : public vtkGenericEnSightReader
 {
 public:
   vtkTypeMacro(vtkEnSightReader, vtkGenericEnSightReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum ElementTypesList
   {
@@ -97,36 +97,18 @@ public:
   vtkGetStringMacro(MatchFileName);
   //@}
 
-  //@{
-  /**
-   * The MeasuredGeometryFile should list particle coordinates
-   * from 0->N-1.
-   * If a file is loaded where point Ids are listed from 1-N
-   * the Id to points reference will be wrong and the data
-   * will be generated incorrectly.
-   * Setting ParticleCoordinatesByIndex to true will force
-   * all Id's to increment from 0->N-1 (relative to their order
-   * in the file) and regardless of the actual Id of of the point.
-   * Warning, if the Points are listed in non sequential order
-   * then setting this flag will reorder them.
-   */
-  vtkSetMacro(ParticleCoordinatesByIndex, int);
-  vtkGetMacro(ParticleCoordinatesByIndex, int);
-  vtkBooleanMacro(ParticleCoordinatesByIndex, int);
-  //@}
-
 protected:
   vtkEnSightReader();
-  ~vtkEnSightReader();
+  ~vtkEnSightReader() VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation*,
+  int RequestInformation(vtkInformation*,
                                  vtkInformationVector**,
-                                 vtkInformationVector*);
-  virtual int RequestData(vtkInformation*,
+                                 vtkInformationVector*) VTK_OVERRIDE;
+  int RequestData(vtkInformation*,
                           vtkInformationVector**,
-                          vtkInformationVector*);
+                          vtkInformationVector*) VTK_OVERRIDE;
 
-  virtual void ClearForNewCaseFileName();
+  void ClearForNewCaseFileName() VTK_OVERRIDE;
 
   //@{
   /**
@@ -366,8 +348,6 @@ protected:
 
   int CheckOutputConsistency();
 
-  int ParticleCoordinatesByIndex;
-
   double ActualTimeValue;
 
 private:
diff --git a/IO/EnSight/vtkGenericEnSightReader.h b/IO/EnSight/vtkGenericEnSightReader.h
index b66e5856e2..2c391992c9 100644
--- a/IO/EnSight/vtkGenericEnSightReader.h
+++ b/IO/EnSight/vtkGenericEnSightReader.h
@@ -50,7 +50,7 @@ class VTKIOENSIGHT_EXPORT vtkGenericEnSightReader : public vtkMultiBlockDataSetA
 public:
   static vtkGenericEnSightReader *New();
   vtkTypeMacro(vtkGenericEnSightReader, vtkMultiBlockDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -277,15 +277,15 @@ vtkGenericEnSightReader* GetReader() { return this->Reader; }
 
 protected:
   vtkGenericEnSightReader();
-  ~vtkGenericEnSightReader();
+  ~vtkGenericEnSightReader() VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
-  virtual int RequestInformation(vtkInformation*,
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation*,
                                  vtkInformationVector**,
-                                 vtkInformationVector*);
-  virtual int RequestData(vtkInformation*,
+                                 vtkInformationVector*) VTK_OVERRIDE;
+  int RequestData(vtkInformation*,
                           vtkInformationVector**,
-                          vtkInformationVector*);
+                          vtkInformationVector*) VTK_OVERRIDE;
 
   /**
    * Clear data structures such that setting a new case file name works.
diff --git a/IO/Exodus/vtkCPExodusIIElementBlock.h b/IO/Exodus/vtkCPExodusIIElementBlock.h
index e0ffa34518..1d5ff5b1a1 100644
--- a/IO/Exodus/vtkCPExodusIIElementBlock.h
+++ b/IO/Exodus/vtkCPExodusIIElementBlock.h
@@ -40,7 +40,7 @@ class VTKIOEXODUS_EXPORT vtkCPExodusIIElementBlockImpl : public vtkObject
 {
 public:
   static vtkCPExodusIIElementBlockImpl *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
   vtkTypeMacro(vtkCPExodusIIElementBlockImpl, vtkObject)
 
   /**
@@ -73,7 +73,7 @@ public:
 
 protected:
   vtkCPExodusIIElementBlockImpl();
-  ~vtkCPExodusIIElementBlockImpl();
+  ~vtkCPExodusIIElementBlockImpl() VTK_OVERRIDE;
 
 private:
   vtkCPExodusIIElementBlockImpl(const vtkCPExodusIIElementBlockImpl &) VTK_DELETE_FUNCTION;
diff --git a/IO/Exodus/vtkCPExodusIIInSituReader.h b/IO/Exodus/vtkCPExodusIIInSituReader.h
index 0c068f0eba..4f560dad63 100644
--- a/IO/Exodus/vtkCPExodusIIInSituReader.h
+++ b/IO/Exodus/vtkCPExodusIIInSituReader.h
@@ -44,7 +44,7 @@ class VTKIOEXODUS_EXPORT vtkCPExodusIIInSituReader :
 public:
   static vtkCPExodusIIInSituReader *New();
   vtkTypeMacro(vtkCPExodusIIInSituReader, vtkMultiBlockDataSetAlgorithm)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -80,15 +80,15 @@ public:
 
 protected:
   vtkCPExodusIIInSituReader();
-  ~vtkCPExodusIIInSituReader();
+  ~vtkCPExodusIIInSituReader() VTK_OVERRIDE;
 
   int ProcessRequest(vtkInformation *request,
                      vtkInformationVector **inputVector,
-                     vtkInformationVector *outputVector);
+                     vtkInformationVector *outputVector) VTK_OVERRIDE;
   int RequestData(vtkInformation *, vtkInformationVector **,
-                  vtkInformationVector *);
+                  vtkInformationVector *) VTK_OVERRIDE;
   int RequestInformation(vtkInformation *, vtkInformationVector **,
-                         vtkInformationVector *);
+                         vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkCPExodusIIInSituReader(const vtkCPExodusIIInSituReader &) VTK_DELETE_FUNCTION;
diff --git a/IO/Exodus/vtkCPExodusIINodalCoordinatesTemplate.h b/IO/Exodus/vtkCPExodusIINodalCoordinatesTemplate.h
index 92e48d1b31..636f307de3 100644
--- a/IO/Exodus/vtkCPExodusIINodalCoordinatesTemplate.h
+++ b/IO/Exodus/vtkCPExodusIINodalCoordinatesTemplate.h
@@ -41,7 +41,7 @@ public:
   vtkMappedDataArrayNewInstanceMacro(
       vtkCPExodusIINodalCoordinatesTemplate<Scalar>)
   static vtkCPExodusIINodalCoordinatesTemplate *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   typedef typename Superclass::ValueType ValueType;
 
@@ -53,66 +53,66 @@ public:
                              vtkIdType numPoints);
 
   // Reimplemented virtuals -- see superclasses for descriptions:
-  void Initialize();
-  void GetTuples(vtkIdList *ptIds, vtkAbstractArray *output);
-  void GetTuples(vtkIdType p1, vtkIdType p2, vtkAbstractArray *output);
-  void Squeeze();
-  VTK_NEWINSTANCE vtkArrayIterator *NewIterator();
-  vtkIdType LookupValue(vtkVariant value);
-  void LookupValue(vtkVariant value, vtkIdList *ids);
-  vtkVariant GetVariantValue(vtkIdType idx);
-  void ClearLookup();
-  double* GetTuple(vtkIdType i);
-  void GetTuple(vtkIdType i, double *tuple);
-  vtkIdType LookupTypedValue(Scalar value);
-  void LookupTypedValue(Scalar value, vtkIdList *ids);
-  ValueType GetValue(vtkIdType idx) const;
-  ValueType& GetValueReference(vtkIdType idx);
-  void GetTypedTuple(vtkIdType idx, Scalar *t) const;
+  void Initialize() VTK_OVERRIDE;
+  void GetTuples(vtkIdList *ptIds, vtkAbstractArray *output) VTK_OVERRIDE;
+  void GetTuples(vtkIdType p1, vtkIdType p2, vtkAbstractArray *output) VTK_OVERRIDE;
+  void Squeeze() VTK_OVERRIDE;
+  VTK_NEWINSTANCE vtkArrayIterator *NewIterator() VTK_OVERRIDE;
+  vtkIdType LookupValue(vtkVariant value) VTK_OVERRIDE;
+  void LookupValue(vtkVariant value, vtkIdList *ids) VTK_OVERRIDE;
+  vtkVariant GetVariantValue(vtkIdType idx) VTK_OVERRIDE;
+  void ClearLookup() VTK_OVERRIDE;
+  double* GetTuple(vtkIdType i) VTK_OVERRIDE;
+  void GetTuple(vtkIdType i, double *tuple) VTK_OVERRIDE;
+  vtkIdType LookupTypedValue(Scalar value) VTK_OVERRIDE;
+  void LookupTypedValue(Scalar value, vtkIdList *ids) VTK_OVERRIDE;
+  ValueType GetValue(vtkIdType idx) const VTK_OVERRIDE;
+  ValueType& GetValueReference(vtkIdType idx) VTK_OVERRIDE;
+  void GetTypedTuple(vtkIdType idx, Scalar *t) const VTK_OVERRIDE;
 
   //@{
   /**
    * This container is read only -- this method does nothing but print a
    * warning.
    */
-  int Allocate(vtkIdType sz, vtkIdType ext);
-  int Resize(vtkIdType numTuples);
-  void SetNumberOfTuples(vtkIdType number);
-  void SetTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source);
-  void SetTuple(vtkIdType i, const float *source);
-  void SetTuple(vtkIdType i, const double *source);
-  void InsertTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source);
-  void InsertTuple(vtkIdType i, const float *source);
-  void InsertTuple(vtkIdType i, const double *source);
+  int Allocate(vtkIdType sz, vtkIdType ext) VTK_OVERRIDE;
+  int Resize(vtkIdType numTuples) VTK_OVERRIDE;
+  void SetNumberOfTuples(vtkIdType number) VTK_OVERRIDE;
+  void SetTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source) VTK_OVERRIDE;
+  void SetTuple(vtkIdType i, const float *source) VTK_OVERRIDE;
+  void SetTuple(vtkIdType i, const double *source) VTK_OVERRIDE;
+  void InsertTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source) VTK_OVERRIDE;
+  void InsertTuple(vtkIdType i, const float *source) VTK_OVERRIDE;
+  void InsertTuple(vtkIdType i, const double *source) VTK_OVERRIDE;
   void InsertTuples(vtkIdList *dstIds, vtkIdList *srcIds,
-                    vtkAbstractArray *source);
+                    vtkAbstractArray *source) VTK_OVERRIDE;
   void InsertTuples(vtkIdType dstStart, vtkIdType n, vtkIdType srcStart,
-                    vtkAbstractArray* source);
-  vtkIdType InsertNextTuple(vtkIdType j, vtkAbstractArray *source);
-  vtkIdType InsertNextTuple(const float *source);
-  vtkIdType InsertNextTuple(const double *source);
-  void DeepCopy(vtkAbstractArray *aa);
-  void DeepCopy(vtkDataArray *da);
+                    vtkAbstractArray* source) VTK_OVERRIDE;
+  vtkIdType InsertNextTuple(vtkIdType j, vtkAbstractArray *source) VTK_OVERRIDE;
+  vtkIdType InsertNextTuple(const float *source) VTK_OVERRIDE;
+  vtkIdType InsertNextTuple(const double *source) VTK_OVERRIDE;
+  void DeepCopy(vtkAbstractArray *aa) VTK_OVERRIDE;
+  void DeepCopy(vtkDataArray *da) VTK_OVERRIDE;
   void InterpolateTuple(vtkIdType i, vtkIdList *ptIndices,
-                        vtkAbstractArray* source,  double* weights);
+                        vtkAbstractArray* source,  double* weights) VTK_OVERRIDE;
   void InterpolateTuple(vtkIdType i, vtkIdType id1, vtkAbstractArray *source1,
-                        vtkIdType id2, vtkAbstractArray *source2, double t);
-  void SetVariantValue(vtkIdType idx, vtkVariant value);
-  void InsertVariantValue(vtkIdType idx, vtkVariant value);
-  void RemoveTuple(vtkIdType id);
-  void RemoveFirstTuple();
-  void RemoveLastTuple();
-  void SetTypedTuple(vtkIdType i, const Scalar *t);
-  void InsertTypedTuple(vtkIdType i, const Scalar *t);
-  vtkIdType InsertNextTypedTuple(const Scalar *t);
-  void SetValue(vtkIdType idx, Scalar value);
-  vtkIdType InsertNextValue(Scalar v);
-  void InsertValue(vtkIdType idx, Scalar v);
+                        vtkIdType id2, vtkAbstractArray *source2, double t) VTK_OVERRIDE;
+  void SetVariantValue(vtkIdType idx, vtkVariant value) VTK_OVERRIDE;
+  void InsertVariantValue(vtkIdType idx, vtkVariant value) VTK_OVERRIDE;
+  void RemoveTuple(vtkIdType id) VTK_OVERRIDE;
+  void RemoveFirstTuple() VTK_OVERRIDE;
+  void RemoveLastTuple() VTK_OVERRIDE;
+  void SetTypedTuple(vtkIdType i, const Scalar *t) VTK_OVERRIDE;
+  void InsertTypedTuple(vtkIdType i, const Scalar *t) VTK_OVERRIDE;
+  vtkIdType InsertNextTypedTuple(const Scalar *t) VTK_OVERRIDE;
+  void SetValue(vtkIdType idx, Scalar value) VTK_OVERRIDE;
+  vtkIdType InsertNextValue(Scalar v) VTK_OVERRIDE;
+  void InsertValue(vtkIdType idx, Scalar v) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkCPExodusIINodalCoordinatesTemplate();
-  ~vtkCPExodusIINodalCoordinatesTemplate();
+  ~vtkCPExodusIINodalCoordinatesTemplate() VTK_OVERRIDE;
 
   Scalar *XArray;
   Scalar *YArray;
diff --git a/IO/Exodus/vtkCPExodusIIResultsArrayTemplate.h b/IO/Exodus/vtkCPExodusIIResultsArrayTemplate.h
index db2daa7c74..17bdd0e942 100644
--- a/IO/Exodus/vtkCPExodusIIResultsArrayTemplate.h
+++ b/IO/Exodus/vtkCPExodusIIResultsArrayTemplate.h
@@ -39,7 +39,7 @@ public:
                                vtkMappedDataArray<Scalar>)
   vtkMappedDataArrayNewInstanceMacro(vtkCPExodusIIResultsArrayTemplate<Scalar>)
   static vtkCPExodusIIResultsArrayTemplate *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   typedef typename Superclass::ValueType ValueType;
 
@@ -55,66 +55,66 @@ public:
   //@}
 
   // Reimplemented virtuals -- see superclasses for descriptions:
-  void Initialize();
-  void GetTuples(vtkIdList *ptIds, vtkAbstractArray *output);
-  void GetTuples(vtkIdType p1, vtkIdType p2, vtkAbstractArray *output);
-  void Squeeze();
-  VTK_NEWINSTANCE vtkArrayIterator *NewIterator();
-  vtkIdType LookupValue(vtkVariant value);
-  void LookupValue(vtkVariant value, vtkIdList *ids);
-  vtkVariant GetVariantValue(vtkIdType idx);
-  void ClearLookup();
-  double* GetTuple(vtkIdType i);
-  void GetTuple(vtkIdType i, double *tuple);
-  vtkIdType LookupTypedValue(Scalar value);
-  void LookupTypedValue(Scalar value, vtkIdList *ids);
-  ValueType GetValue(vtkIdType idx) const;
-  ValueType& GetValueReference(vtkIdType idx);
-  void GetTypedTuple(vtkIdType idx, Scalar *t) const;
+  void Initialize() VTK_OVERRIDE;
+  void GetTuples(vtkIdList *ptIds, vtkAbstractArray *output) VTK_OVERRIDE;
+  void GetTuples(vtkIdType p1, vtkIdType p2, vtkAbstractArray *output) VTK_OVERRIDE;
+  void Squeeze() VTK_OVERRIDE;
+  VTK_NEWINSTANCE vtkArrayIterator *NewIterator() VTK_OVERRIDE;
+  vtkIdType LookupValue(vtkVariant value) VTK_OVERRIDE;
+  void LookupValue(vtkVariant value, vtkIdList *ids) VTK_OVERRIDE;
+  vtkVariant GetVariantValue(vtkIdType idx) VTK_OVERRIDE;
+  void ClearLookup() VTK_OVERRIDE;
+  double* GetTuple(vtkIdType i) VTK_OVERRIDE;
+  void GetTuple(vtkIdType i, double *tuple) VTK_OVERRIDE;
+  vtkIdType LookupTypedValue(Scalar value) VTK_OVERRIDE;
+  void LookupTypedValue(Scalar value, vtkIdList *ids) VTK_OVERRIDE;
+  ValueType GetValue(vtkIdType idx) const VTK_OVERRIDE;
+  ValueType& GetValueReference(vtkIdType idx) VTK_OVERRIDE;
+  void GetTypedTuple(vtkIdType idx, Scalar *t) const VTK_OVERRIDE;
 
   //@{
   /**
    * This container is read only -- this method does nothing but print a
    * warning.
    */
-  int Allocate(vtkIdType sz, vtkIdType ext);
-  int Resize(vtkIdType numTuples);
-  void SetNumberOfTuples(vtkIdType number);
-  void SetTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source);
-  void SetTuple(vtkIdType i, const float *source);
-  void SetTuple(vtkIdType i, const double *source);
-  void InsertTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source);
-  void InsertTuple(vtkIdType i, const float *source);
-  void InsertTuple(vtkIdType i, const double *source);
+  int Allocate(vtkIdType sz, vtkIdType ext) VTK_OVERRIDE;
+  int Resize(vtkIdType numTuples) VTK_OVERRIDE;
+  void SetNumberOfTuples(vtkIdType number) VTK_OVERRIDE;
+  void SetTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source) VTK_OVERRIDE;
+  void SetTuple(vtkIdType i, const float *source) VTK_OVERRIDE;
+  void SetTuple(vtkIdType i, const double *source) VTK_OVERRIDE;
+  void InsertTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source) VTK_OVERRIDE;
+  void InsertTuple(vtkIdType i, const float *source) VTK_OVERRIDE;
+  void InsertTuple(vtkIdType i, const double *source) VTK_OVERRIDE;
   void InsertTuples(vtkIdList *dstIds, vtkIdList *srcIds,
-                    vtkAbstractArray *source);
+                    vtkAbstractArray *source) VTK_OVERRIDE;
   void InsertTuples(vtkIdType dstStart, vtkIdType n, vtkIdType srcStart,
-                    vtkAbstractArray* source);
-  vtkIdType InsertNextTuple(vtkIdType j, vtkAbstractArray *source);
-  vtkIdType InsertNextTuple(const float *source);
-  vtkIdType InsertNextTuple(const double *source);
-  void DeepCopy(vtkAbstractArray *aa);
-  void DeepCopy(vtkDataArray *da);
+                    vtkAbstractArray* source) VTK_OVERRIDE;
+  vtkIdType InsertNextTuple(vtkIdType j, vtkAbstractArray *source) VTK_OVERRIDE;
+  vtkIdType InsertNextTuple(const float *source) VTK_OVERRIDE;
+  vtkIdType InsertNextTuple(const double *source) VTK_OVERRIDE;
+  void DeepCopy(vtkAbstractArray *aa) VTK_OVERRIDE;
+  void DeepCopy(vtkDataArray *da) VTK_OVERRIDE;
   void InterpolateTuple(vtkIdType i, vtkIdList *ptIndices,
-                        vtkAbstractArray* source,  double* weights);
+                        vtkAbstractArray* source,  double* weights) VTK_OVERRIDE;
   void InterpolateTuple(vtkIdType i, vtkIdType id1, vtkAbstractArray *source1,
-                        vtkIdType id2, vtkAbstractArray *source2, double t);
-  void SetVariantValue(vtkIdType idx, vtkVariant value);
-  void InsertVariantValue(vtkIdType idx, vtkVariant value);
-  void RemoveTuple(vtkIdType id);
-  void RemoveFirstTuple();
-  void RemoveLastTuple();
-  void SetTypedTuple(vtkIdType i, const Scalar *t);
-  void InsertTypedTuple(vtkIdType i, const Scalar *t);
-  vtkIdType InsertNextTypedTuple(const Scalar *t);
-  void SetValue(vtkIdType idx, Scalar value);
-  vtkIdType InsertNextValue(Scalar v);
-  void InsertValue(vtkIdType idx, Scalar v);
+                        vtkIdType id2, vtkAbstractArray *source2, double t) VTK_OVERRIDE;
+  void SetVariantValue(vtkIdType idx, vtkVariant value) VTK_OVERRIDE;
+  void InsertVariantValue(vtkIdType idx, vtkVariant value) VTK_OVERRIDE;
+  void RemoveTuple(vtkIdType id) VTK_OVERRIDE;
+  void RemoveFirstTuple() VTK_OVERRIDE;
+  void RemoveLastTuple() VTK_OVERRIDE;
+  void SetTypedTuple(vtkIdType i, const Scalar *t) VTK_OVERRIDE;
+  void InsertTypedTuple(vtkIdType i, const Scalar *t) VTK_OVERRIDE;
+  vtkIdType InsertNextTypedTuple(const Scalar *t) VTK_OVERRIDE;
+  void SetValue(vtkIdType idx, Scalar value) VTK_OVERRIDE;
+  vtkIdType InsertNextValue(Scalar v) VTK_OVERRIDE;
+  void InsertValue(vtkIdType idx, Scalar v) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkCPExodusIIResultsArrayTemplate();
-  ~vtkCPExodusIIResultsArrayTemplate();
+  ~vtkCPExodusIIResultsArrayTemplate() VTK_OVERRIDE;
 
   std::vector<Scalar *> Arrays;
 
diff --git a/IO/Exodus/vtkExodusIICache.h b/IO/Exodus/vtkExodusIICache.h
index 3368b505ee..ccebc6e614 100644
--- a/IO/Exodus/vtkExodusIICache.h
+++ b/IO/Exodus/vtkExodusIICache.h
@@ -129,7 +129,7 @@ class VTKIOEXODUS_EXPORT vtkExodusIICache : public vtkObject
 public:
   static vtkExodusIICache* New();
   vtkTypeMacro(vtkExodusIICache,vtkObject);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   /// Empty the cache
   void Clear();
@@ -179,7 +179,7 @@ protected:
   vtkExodusIICache();
 
   /// Destructor.
-  ~vtkExodusIICache();
+  ~vtkExodusIICache() VTK_OVERRIDE;
 
 
   /// Avoid (some) FP problems
diff --git a/IO/Exodus/vtkExodusIIReader.h b/IO/Exodus/vtkExodusIIReader.h
index 763bff66fb..fd20abc749 100644
--- a/IO/Exodus/vtkExodusIIReader.h
+++ b/IO/Exodus/vtkExodusIIReader.h
@@ -55,7 +55,7 @@ class VTKIOEXODUS_EXPORT vtkExodusIIReader : public vtkMultiBlockDataSetAlgorith
 public:
   static vtkExodusIIReader *New();
   vtkTypeMacro(vtkExodusIIReader,vtkMultiBlockDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Determine if the file can be readed with this reader.
@@ -67,7 +67,7 @@ public:
   /**
    * Return the object's MTime. This is overridden to include the timestamp of its internal class.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Return the MTime of the internal data structure.
@@ -771,7 +771,7 @@ public:
 
 protected:
   vtkExodusIIReader();
-  ~vtkExodusIIReader();
+  ~vtkExodusIIReader() VTK_OVERRIDE;
 
   // helper for finding IDs
   static int GetIDHelper ( const char *arrayName, vtkDataSet *data, int localID, int searchType );
@@ -800,9 +800,9 @@ protected:
    */
   void AdvertiseTimeSteps( vtkInformation* outputInfo );
 
-  int ProcessRequest( vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int RequestInformation( vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int RequestData( vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int ProcessRequest( vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation( vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData( vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   //int RequestDataOverTime( vtkInformation *, vtkInformationVector **, vtkInformationVector *);
 
   // Parameters for controlling what is read in.
diff --git a/IO/Exodus/vtkExodusIIReaderParser.h b/IO/Exodus/vtkExodusIIReaderParser.h
index 2a0c2fb99c..cdbba7e693 100644
--- a/IO/Exodus/vtkExodusIIReaderParser.h
+++ b/IO/Exodus/vtkExodusIIReaderParser.h
@@ -42,7 +42,7 @@ class VTKIOEXODUS_EXPORT vtkExodusIIReaderParser : public vtkXMLParser
 public:
   static vtkExodusIIReaderParser* New();
   vtkTypeMacro(vtkExodusIIReaderParser, vtkXMLParser);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -89,10 +89,10 @@ public:
 
 protected:
   vtkExodusIIReaderParser();
-  ~vtkExodusIIReaderParser();
+  ~vtkExodusIIReaderParser() VTK_OVERRIDE;
 
-  virtual void StartElement( const char* tagName, const char** attrs);
-  virtual void EndElement(const char* tagName);
+  void StartElement( const char* tagName, const char** attrs) VTK_OVERRIDE;
+  void EndElement(const char* tagName) VTK_OVERRIDE;
   void FinishedParsing();
 
   const char* GetValue(const char* attr,const char** attrs)
diff --git a/IO/Exodus/vtkExodusIIReaderPrivate.h b/IO/Exodus/vtkExodusIIReaderPrivate.h
index f0c5ba527b..a50e70332b 100644
--- a/IO/Exodus/vtkExodusIIReaderPrivate.h
+++ b/IO/Exodus/vtkExodusIIReaderPrivate.h
@@ -492,7 +492,7 @@ public:
 
 protected:
   vtkExodusIIReaderPrivate();
-  ~vtkExodusIIReaderPrivate();
+  ~vtkExodusIIReaderPrivate() VTK_OVERRIDE;
 
   /// Build SIL. This must be called only after RequestInformation().
   void BuildSIL();
diff --git a/IO/Exodus/vtkExodusIIReaderVariableCheck.h b/IO/Exodus/vtkExodusIIReaderVariableCheck.h
index 7d45ca8f66..176e0c5e6a 100644
--- a/IO/Exodus/vtkExodusIIReaderVariableCheck.h
+++ b/IO/Exodus/vtkExodusIIReaderVariableCheck.h
@@ -52,8 +52,8 @@ class vtkExodusIIReaderScalarCheck : public vtkExodusIIReaderVariableCheck
 {
 public:
   vtkExodusIIReaderScalarCheck();
-  virtual bool StartInternal( std::string name, const int*, int );
-  virtual bool Add( std::string, const int* );
+  bool StartInternal( std::string name, const int*, int ) VTK_OVERRIDE;
+  bool Add( std::string, const int* ) VTK_OVERRIDE;
 };
 
 /// This looks for n-D vectors whose names are identical except for a single final character.
@@ -61,9 +61,9 @@ class vtkExodusIIReaderVectorCheck : public vtkExodusIIReaderVariableCheck
 {
 public:
   vtkExodusIIReaderVectorCheck( const char* seq, int n );
-  virtual bool StartInternal( std::string name, const int*, int );
-  virtual bool Add( std::string name, const int* truth );
-  virtual std::vector<std::string>::size_type Length();
+  bool StartInternal( std::string name, const int*, int ) VTK_OVERRIDE;
+  bool Add( std::string name, const int* truth ) VTK_OVERRIDE;
+  std::vector<std::string>::size_type Length() VTK_OVERRIDE;
 protected:
   std::string Endings;
   bool StillAdding;
@@ -79,9 +79,9 @@ class vtkExodusIIReaderTensorCheck : public vtkExodusIIReaderVariableCheck
 {
 public:
   vtkExodusIIReaderTensorCheck( const char* seq, int n, int rank, int dim );
-  virtual bool StartInternal( std::string name, const int*, int );
-  virtual bool Add( std::string name, const int* truth );
-  virtual std::vector<std::string>::size_type Length();
+  bool StartInternal( std::string name, const int*, int ) VTK_OVERRIDE;
+  bool Add( std::string name, const int* truth ) VTK_OVERRIDE;
+  std::vector<std::string>::size_type Length() VTK_OVERRIDE;
 protected:
   std::string Endings;
   vtkTypeUInt64 NumEndings;
@@ -95,9 +95,9 @@ class vtkExodusIIReaderIntPointCheck : public vtkExodusIIReaderVariableCheck
 {
 public:
   vtkExodusIIReaderIntPointCheck();
-  virtual bool StartInternal( std::string name, const int*, int );
-  virtual bool Add( std::string name, const int* );
-  virtual std::vector<std::string>::size_type Length();
+  bool StartInternal( std::string name, const int*, int ) VTK_OVERRIDE;
+  bool Add( std::string name, const int* ) VTK_OVERRIDE;
+  std::vector<std::string>::size_type Length() VTK_OVERRIDE;
   /*
   virtual int Accept(
     std::vector<vtkExodusIIReaderPrivate::ArrayInfoType>& arr, int startIndex, vtkExodusIIReaderPrivate* priv, int objtyp )
diff --git a/IO/Exodus/vtkExodusIIWriter.h b/IO/Exodus/vtkExodusIIWriter.h
index 09e952cf9c..864ad36653 100644
--- a/IO/Exodus/vtkExodusIIWriter.h
+++ b/IO/Exodus/vtkExodusIIWriter.h
@@ -86,7 +86,7 @@ class VTKIOEXODUS_EXPORT vtkExodusIIWriter : public vtkWriter
 public:
   static vtkExodusIIWriter *New ();
   vtkTypeMacro(vtkExodusIIWriter,vtkWriter);
-  void PrintSelf (ostream& os, vtkIndent indent);
+  void PrintSelf (ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Specify the vtkModelMetadata object which contains the Exodus file
@@ -173,7 +173,7 @@ public:
 
 protected:
   vtkExodusIIWriter ();
-  ~vtkExodusIIWriter ();
+  ~vtkExodusIIWriter () VTK_OVERRIDE;
 
   vtkModelMetadata* ModelMetadata;
 
@@ -276,7 +276,7 @@ protected:
 
   int ProcessRequest (vtkInformation* request,
                       vtkInformationVector** inputVector,
-                      vtkInformationVector* outputVector);
+                      vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   int RequestInformation (vtkInformation* request,
                           vtkInformationVector** inputVector,
@@ -286,13 +286,13 @@ protected:
                                    vtkInformationVector** inputVector,
                                    vtkInformationVector* outputVector);
 
-  int FillInputPortInformation (int port, vtkInformation* info);
+  int FillInputPortInformation (int port, vtkInformation* info) VTK_OVERRIDE;
 
   int RequestData (vtkInformation* request,
                    vtkInformationVector** inputVector,
-                   vtkInformationVector* outputVector);
+                   vtkInformationVector* outputVector) VTK_OVERRIDE;
 
-  void WriteData ();
+  void WriteData () VTK_OVERRIDE;
 
   int FlattenHierarchy (vtkDataObject* input, const char *name, bool& changed);
 
diff --git a/IO/Exodus/vtkModelMetadata.h b/IO/Exodus/vtkModelMetadata.h
index 6785660c63..36859864e4 100644
--- a/IO/Exodus/vtkModelMetadata.h
+++ b/IO/Exodus/vtkModelMetadata.h
@@ -90,7 +90,7 @@ class VTKIOEXODUS_EXPORT vtkModelMetadata : public vtkObject
 {
 public:
   vtkTypeMacro(vtkModelMetadata, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
   static vtkModelMetadata *New();
 
   /**
@@ -664,7 +664,7 @@ public:
 
 protected:
   vtkModelMetadata();
-  ~vtkModelMetadata();
+  ~vtkModelMetadata() VTK_OVERRIDE;
 
 private:
   void InitializeAllMetadata();
diff --git a/IO/Export/vtkExporter.h b/IO/Export/vtkExporter.h
index 2172e7a9d3..f54d481253 100644
--- a/IO/Export/vtkExporter.h
+++ b/IO/Export/vtkExporter.h
@@ -47,7 +47,7 @@ class VTKIOEXPORT_EXPORT vtkExporter : public vtkObject
 {
 public:
   vtkTypeMacro(vtkExporter,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Write data to output. Method executes subclasses WriteData() method, as
@@ -102,11 +102,11 @@ public:
   /**
    * Returns the MTime also considering the RenderWindow.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkExporter();
-  ~vtkExporter();
+  ~vtkExporter() VTK_OVERRIDE;
 
   vtkRenderWindow *RenderWindow;
   virtual void WriteData() = 0;
diff --git a/IO/Export/vtkGL2PSExporter.h b/IO/Export/vtkGL2PSExporter.h
index 630d2c3fb9..09ebce532d 100644
--- a/IO/Export/vtkGL2PSExporter.h
+++ b/IO/Export/vtkGL2PSExporter.h
@@ -89,7 +89,7 @@ class VTKIOEXPORT_EXPORT vtkGL2PSExporter : public vtkExporter
 public:
   static vtkGL2PSExporter *New();
   vtkTypeMacro(vtkGL2PSExporter, vtkExporter)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -348,7 +348,7 @@ public:
 
 protected:
   vtkGL2PSExporter();
-  ~vtkGL2PSExporter();
+  ~vtkGL2PSExporter() VTK_OVERRIDE;
 
   int GetGL2PSOptions();
   int GetGL2PSSort();
diff --git a/IO/Export/vtkIVExporter.h b/IO/Export/vtkIVExporter.h
index 5224c1d112..1c7f48b868 100644
--- a/IO/Export/vtkIVExporter.h
+++ b/IO/Export/vtkIVExporter.h
@@ -40,7 +40,7 @@ class VTKIOEXPORT_EXPORT vtkIVExporter : public vtkExporter
 public:
   static vtkIVExporter *New();
   vtkTypeMacro(vtkIVExporter,vtkExporter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -52,9 +52,9 @@ public:
 
 protected:
   vtkIVExporter();
-  ~vtkIVExporter();
+  ~vtkIVExporter() VTK_OVERRIDE;
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
   void WriteALight(vtkLight *aLight, FILE *fp);
   void WriteAnActor(vtkActor *anActor, FILE *fp);
   void WritePointData(vtkPoints *points, vtkDataArray *normals,
diff --git a/IO/Export/vtkOBJExporter.h b/IO/Export/vtkOBJExporter.h
index 8a6a6f9aa9..403538c6c4 100644
--- a/IO/Export/vtkOBJExporter.h
+++ b/IO/Export/vtkOBJExporter.h
@@ -38,7 +38,7 @@ class VTKIOEXPORT_EXPORT vtkOBJExporter : public vtkExporter
 public:
   static vtkOBJExporter *New();
   vtkTypeMacro(vtkOBJExporter,vtkExporter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -51,9 +51,9 @@ public:
 
 protected:
   vtkOBJExporter();
-  ~vtkOBJExporter();
+  ~vtkOBJExporter() VTK_OVERRIDE;
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
   void WriteAnActor(vtkActor *anActor, FILE *fpObj, FILE *fpMat, int &id);
   char *FilePrefix;
 private:
diff --git a/IO/Export/vtkOOGLExporter.h b/IO/Export/vtkOOGLExporter.h
index cc3019ee4b..aa0e75a9db 100644
--- a/IO/Export/vtkOOGLExporter.h
+++ b/IO/Export/vtkOOGLExporter.h
@@ -38,7 +38,7 @@ class VTKIOEXPORT_EXPORT vtkOOGLExporter : public vtkExporter
 public:
   static vtkOOGLExporter *New();
   vtkTypeMacro(vtkOOGLExporter,vtkExporter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -50,9 +50,9 @@ public:
 
 protected:
   vtkOOGLExporter();
-  ~vtkOOGLExporter();
+  ~vtkOOGLExporter() VTK_OVERRIDE;
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
   void WriteALight(vtkLight *aLight, FILE *fp);
   void WriteAnActor(vtkActor *anActor, FILE *fp, int count);
   char *FileName;
diff --git a/IO/Export/vtkPOVExporter.h b/IO/Export/vtkPOVExporter.h
index 7494d83fb6..ff7004efe5 100644
--- a/IO/Export/vtkPOVExporter.h
+++ b/IO/Export/vtkPOVExporter.h
@@ -93,7 +93,7 @@ class VTKIOEXPORT_EXPORT vtkPOVExporter : public vtkExporter
 public:
     static vtkPOVExporter *New();
     vtkTypeMacro(vtkPOVExporter, vtkExporter);
-    void PrintSelf(ostream& os, vtkIndent indent);
+    void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
     //@{
     /**
@@ -105,9 +105,9 @@ public:
 
 protected:
     vtkPOVExporter();
-    ~vtkPOVExporter();
+    ~vtkPOVExporter() VTK_OVERRIDE;
 
-    void WriteData();
+    void WriteData() VTK_OVERRIDE;
     virtual void WriteHeader(vtkRenderer *renderer);
     void WriteCamera(vtkCamera *camera);
     void WriteLight(vtkLight *light);
diff --git a/IO/Export/vtkRIBExporter.h b/IO/Export/vtkRIBExporter.h
index b7f7ba981e..438f85f323 100644
--- a/IO/Export/vtkRIBExporter.h
+++ b/IO/Export/vtkRIBExporter.h
@@ -66,7 +66,7 @@ class VTKIOEXPORT_EXPORT vtkRIBExporter : public vtkExporter
 public:
   static vtkRIBExporter *New();
   vtkTypeMacro(vtkRIBExporter,vtkExporter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -138,7 +138,7 @@ public:
 
 protected:
   vtkRIBExporter();
-  ~vtkRIBExporter();
+  ~vtkRIBExporter() VTK_OVERRIDE;
 
   int Background;
   int Size[2];
@@ -167,7 +167,7 @@ protected:
                     vtkProperty *aProperty);
   //@}
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
   void WriteActor(vtkActor *anActor);
 
   /**
diff --git a/IO/Export/vtkRIBLight.h b/IO/Export/vtkRIBLight.h
index 3a1d69b2d2..fdcca03843 100644
--- a/IO/Export/vtkRIBLight.h
+++ b/IO/Export/vtkRIBLight.h
@@ -37,16 +37,16 @@ class VTKIOEXPORT_EXPORT vtkRIBLight : public vtkLight
 public:
   static vtkRIBLight *New();
   vtkTypeMacro(vtkRIBLight,vtkLight);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkBooleanMacro(Shadows,int);
   vtkSetMacro(Shadows,int);
   vtkGetMacro(Shadows,int);
 
-  void Render(vtkRenderer *ren, int index);
+  void Render(vtkRenderer *ren, int index) VTK_OVERRIDE;
 protected:
   vtkRIBLight();
-  ~vtkRIBLight();
+  ~vtkRIBLight() VTK_OVERRIDE;
 
   vtkLight *Light;
   int Shadows;
diff --git a/IO/Export/vtkRIBProperty.h b/IO/Export/vtkRIBProperty.h
index 12edf1256c..de0299b786 100644
--- a/IO/Export/vtkRIBProperty.h
+++ b/IO/Export/vtkRIBProperty.h
@@ -38,7 +38,7 @@ class VTKIOEXPORT_EXPORT vtkRIBProperty : public vtkProperty
 public:
   static vtkRIBProperty *New();
   vtkTypeMacro(vtkRIBProperty,vtkProperty);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -122,9 +122,9 @@ public:
 
 protected:
   vtkRIBProperty();
-  ~vtkRIBProperty();
+  ~vtkRIBProperty() VTK_OVERRIDE;
 
-  void Render(vtkActor *a, vtkRenderer *ren);
+  void Render(vtkActor *a, vtkRenderer *ren) VTK_OVERRIDE;
   vtkProperty *Property;
   char *SurfaceShader;
   char *DisplacementShader;
diff --git a/IO/Export/vtkVRMLExporter.h b/IO/Export/vtkVRMLExporter.h
index 672f37334c..18cffaa133 100644
--- a/IO/Export/vtkVRMLExporter.h
+++ b/IO/Export/vtkVRMLExporter.h
@@ -43,7 +43,7 @@ class VTKIOEXPORT_EXPORT vtkVRMLExporter : public vtkExporter
 public:
   static vtkVRMLExporter *New();
   vtkTypeMacro(vtkVRMLExporter,vtkExporter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -69,9 +69,9 @@ public:
 
 protected:
   vtkVRMLExporter();
-  ~vtkVRMLExporter();
+  ~vtkVRMLExporter() VTK_OVERRIDE;
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
   void WriteALight(vtkLight *aLight, FILE *fp);
   void WriteAnActor(vtkActor *anActor, FILE *fp);
   void WritePointData(vtkPoints *points, vtkDataArray *normals,
diff --git a/IO/Export/vtkX3DExporter.h b/IO/Export/vtkX3DExporter.h
index 7844fbf90d..1fb583bc72 100644
--- a/IO/Export/vtkX3DExporter.h
+++ b/IO/Export/vtkX3DExporter.h
@@ -44,7 +44,7 @@ class VTKIOEXPORT_EXPORT vtkX3DExporter : public vtkExporter
 public:
   static vtkX3DExporter *New();
   vtkTypeMacro(vtkX3DExporter,vtkExporter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -112,7 +112,7 @@ public:
 
 protected:
   vtkX3DExporter();
-  ~vtkX3DExporter();
+  ~vtkX3DExporter() VTK_OVERRIDE;
 
   // Stream management
   int WriteToOutputString;
@@ -122,7 +122,7 @@ protected:
   /**
    * Write data to output.
    */
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
   void WriteALight(vtkLight *aLight, vtkX3DExporterWriter* writer);
   void WriteAnActor(vtkActor *anActor, vtkX3DExporterWriter* writer,
diff --git a/IO/Export/vtkX3DExporterFIWriter.h b/IO/Export/vtkX3DExporterFIWriter.h
index 332bdc09d5..734a8b291e 100644
--- a/IO/Export/vtkX3DExporterFIWriter.h
+++ b/IO/Export/vtkX3DExporterFIWriter.h
@@ -32,44 +32,44 @@ class VTKIOEXPORT_EXPORT vtkX3DExporterFIWriter : public vtkX3DExporterWriter
 public:
   static vtkX3DExporterFIWriter *New();
   vtkTypeMacro(vtkX3DExporterFIWriter, vtkX3DExporterWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual void CloseFile();
-  virtual int OpenFile(const char* file);
-  virtual int OpenStream();
+  void CloseFile() VTK_OVERRIDE;
+  int OpenFile(const char* file) VTK_OVERRIDE;
+  int OpenStream() VTK_OVERRIDE;
 
   //void Write(const char* str);
 
-  virtual void Flush();
+  void Flush() VTK_OVERRIDE;
 
-  void StartDocument();
-  void EndDocument();
+  void StartDocument() VTK_OVERRIDE;
+  void EndDocument() VTK_OVERRIDE;
 
   // Elements
-  void StartNode(int elementID);
-  void EndNode();
+  void StartNode(int elementID) VTK_OVERRIDE;
+  void EndNode() VTK_OVERRIDE;
 
   // Attributes
   // SFString / MFString
   //void SetField(int attributeID, const std::string &value);
-  void SetField(int attributeID, const char*, bool mfstring = false);
+  void SetField(int attributeID, const char*, bool mfstring = false) VTK_OVERRIDE;
   // SFInt32
-  void SetField(int attributeID, int);
+  void SetField(int attributeID, int) VTK_OVERRIDE;
   // SFFloat
-  void SetField(int attributeID, float);
+  void SetField(int attributeID, float) VTK_OVERRIDE;
   // SFDouble
-  void SetField(int attributeID, double);
+  void SetField(int attributeID, double) VTK_OVERRIDE;
   // SFBool
-  void SetField(int attributeID, bool);
+  void SetField(int attributeID, bool) VTK_OVERRIDE;
 
   // For MFxxx attributes
-  void SetField(int attributeID, int type, const double* a);
-  void SetField(int attributeID, int type, vtkDataArray* a);
-  void SetField(int attributeID, const double* values, size_t size);
+  void SetField(int attributeID, int type, const double* a) VTK_OVERRIDE;
+  void SetField(int attributeID, int type, vtkDataArray* a) VTK_OVERRIDE;
+  void SetField(int attributeID, const double* values, size_t size) VTK_OVERRIDE;
 
   // MFInt32
   void SetField(int attributeID, int type, vtkCellArray* a);
-  void SetField(int attributeID, const int* values, size_t size, bool image = false);
+  void SetField(int attributeID, const int* values, size_t size, bool image = false) VTK_OVERRIDE;
 
   //@{
   /**
@@ -82,7 +82,7 @@ public:
 
 protected:
   vtkX3DExporterFIWriter();
-  ~vtkX3DExporterFIWriter();
+  ~vtkX3DExporterFIWriter() VTK_OVERRIDE;
 
 private:
   void StartAttribute(int attributeID, bool literal, bool addToTable = false);
diff --git a/IO/Export/vtkX3DExporterWriter.h b/IO/Export/vtkX3DExporterWriter.h
index 1d198ff53b..cf454a30c8 100644
--- a/IO/Export/vtkX3DExporterWriter.h
+++ b/IO/Export/vtkX3DExporterWriter.h
@@ -36,7 +36,7 @@ class VTKIOEXPORT_EXPORT vtkX3DExporterWriter : public vtkObject
 {
 public:
   vtkTypeMacro(vtkX3DExporterWriter, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Opens the file specified with file
@@ -189,7 +189,7 @@ public:
 
 protected:
   vtkX3DExporterWriter();
-  ~vtkX3DExporterWriter();
+  ~vtkX3DExporterWriter() VTK_OVERRIDE;
 
   char *OutputString;
   int OutputStringLength;
diff --git a/IO/Export/vtkX3DExporterXMLWriter.h b/IO/Export/vtkX3DExporterXMLWriter.h
index 0c721df812..dd78f31308 100644
--- a/IO/Export/vtkX3DExporterXMLWriter.h
+++ b/IO/Export/vtkX3DExporterXMLWriter.h
@@ -33,43 +33,43 @@ class VTKIOEXPORT_EXPORT vtkX3DExporterXMLWriter : public vtkX3DExporterWriter
 public:
   static vtkX3DExporterXMLWriter *New();
   vtkTypeMacro(vtkX3DExporterXMLWriter, vtkX3DExporterWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual void CloseFile();
-  virtual int OpenFile(const char* file);
-  virtual void Flush();
+  void CloseFile() VTK_OVERRIDE;
+  int OpenFile(const char* file) VTK_OVERRIDE;
+  void Flush() VTK_OVERRIDE;
 
-  virtual int OpenStream();
+  int OpenStream() VTK_OVERRIDE;
 
-  void StartDocument();
-  void EndDocument();
+  void StartDocument() VTK_OVERRIDE;
+  void EndDocument() VTK_OVERRIDE;
 
   // Elements
-  void StartNode(int elementID);
-  void EndNode();
+  void StartNode(int elementID) VTK_OVERRIDE;
+  void EndNode() VTK_OVERRIDE;
 
   // Attributes
   // SFString / MFString
-  void SetField(int attributeID, const char*, bool mfstring = true);
+  void SetField(int attributeID, const char*, bool mfstring = true) VTK_OVERRIDE;
   // SFInt32
-  void SetField(int attributeID, int);
+  void SetField(int attributeID, int) VTK_OVERRIDE;
   // SFFloat
-  void SetField(int attributeID, float);
+  void SetField(int attributeID, float) VTK_OVERRIDE;
   // SFDouble
-  void SetField(int attributeID, double);
+  void SetField(int attributeID, double) VTK_OVERRIDE;
   // SFBool
-  void SetField(int attributeID, bool);
+  void SetField(int attributeID, bool) VTK_OVERRIDE;
 
   // For MFxxx attributes
-  void SetField(int attributeID, int type, const double* a);
-  void SetField(int attributeID, int type, vtkDataArray* a);
-  void SetField(int attributeID, const double* values, size_t size);
+  void SetField(int attributeID, int type, const double* a) VTK_OVERRIDE;
+  void SetField(int attributeID, int type, vtkDataArray* a) VTK_OVERRIDE;
+  void SetField(int attributeID, const double* values, size_t size) VTK_OVERRIDE;
   // MFInt32, SFIMAGE
-  void SetField(int attributeID, const int* values, size_t size, bool image = false);
+  void SetField(int attributeID, const int* values, size_t size, bool image = false) VTK_OVERRIDE;
 
 protected:
   vtkX3DExporterXMLWriter();
-  ~vtkX3DExporterXMLWriter();
+  ~vtkX3DExporterXMLWriter() VTK_OVERRIDE;
 
 private:
 
diff --git a/IO/ExportOpenGL/Testing/Cxx/TestGL2PSContext.cxx b/IO/ExportOpenGL/Testing/Cxx/TestGL2PSContext.cxx
index 2cb7c2a655..c49abd99b3 100644
--- a/IO/ExportOpenGL/Testing/Cxx/TestGL2PSContext.cxx
+++ b/IO/ExportOpenGL/Testing/Cxx/TestGL2PSContext.cxx
@@ -46,7 +46,7 @@ public:
   static ContextGL2PSTest *New();
   vtkTypeMacro(ContextGL2PSTest, vtkContextItem)
   // Paint event for the chart, called whenever the chart needs to be drawn
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 };
 
 //----------------------------------------------------------------------------
diff --git a/IO/ExportOpenGL/vtkOpenGLGL2PSExporter.h b/IO/ExportOpenGL/vtkOpenGLGL2PSExporter.h
index 5529adcd99..2c5b494e15 100644
--- a/IO/ExportOpenGL/vtkOpenGLGL2PSExporter.h
+++ b/IO/ExportOpenGL/vtkOpenGLGL2PSExporter.h
@@ -110,13 +110,13 @@ class VTKIOEXPORTOPENGL_EXPORT vtkOpenGLGL2PSExporter : public vtkGL2PSExporter
 public:
   static vtkOpenGLGL2PSExporter *New();
   vtkTypeMacro(vtkOpenGLGL2PSExporter, vtkGL2PSExporter)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLGL2PSExporter();
-  ~vtkOpenGLGL2PSExporter();
+  ~vtkOpenGLGL2PSExporter() VTK_OVERRIDE;
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
   void SavePropVisibility(vtkRendererCollection *renCol,
                           vtkIntArray *volVis, vtkIntArray *actVis,
diff --git a/IO/ExportOpenGL2/vtkOpenGLGL2PSExporter.h b/IO/ExportOpenGL2/vtkOpenGLGL2PSExporter.h
index 69dd5676c3..e402a300ef 100644
--- a/IO/ExportOpenGL2/vtkOpenGLGL2PSExporter.h
+++ b/IO/ExportOpenGL2/vtkOpenGLGL2PSExporter.h
@@ -34,13 +34,13 @@ class VTKIOEXPORTOPENGL2_EXPORT vtkOpenGLGL2PSExporter: public vtkGL2PSExporter
 public:
   static vtkOpenGLGL2PSExporter *New();
   vtkTypeMacro(vtkOpenGLGL2PSExporter, vtkGL2PSExporter)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLGL2PSExporter();
-  ~vtkOpenGLGL2PSExporter();
+  ~vtkOpenGLGL2PSExporter() VTK_OVERRIDE;
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
   bool RasterizeBackground(vtkImageData *image);
   bool CaptureVectorProps();
diff --git a/IO/Geometry/vtkAVSucdReader.h b/IO/Geometry/vtkAVSucdReader.h
index 27e9ccb124..1b68857a8a 100644
--- a/IO/Geometry/vtkAVSucdReader.h
+++ b/IO/Geometry/vtkAVSucdReader.h
@@ -49,7 +49,7 @@ class VTKIOGEOMETRY_EXPORT vtkAVSucdReader : public vtkUnstructuredGridAlgorithm
 public:
   static vtkAVSucdReader *New();
   vtkTypeMacro(vtkAVSucdReader,vtkUnstructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -155,9 +155,9 @@ public:
 
 protected:
   vtkAVSucdReader();
-  ~vtkAVSucdReader();
-  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  ~vtkAVSucdReader() VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   char *FileName;
   int BinaryFile;
diff --git a/IO/Geometry/vtkBYUReader.h b/IO/Geometry/vtkBYUReader.h
index e4d6503fac..06b9f8ec4f 100644
--- a/IO/Geometry/vtkBYUReader.h
+++ b/IO/Geometry/vtkBYUReader.h
@@ -34,7 +34,7 @@ public:
   static vtkBYUReader *New();
 
   vtkTypeMacro(vtkBYUReader,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -120,9 +120,9 @@ public:
 
 protected:
   vtkBYUReader();
-  ~vtkBYUReader();
+  ~vtkBYUReader() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   // This source does not know how to generate pieces yet.
   int ComputeDivisionExtents(vtkDataObject *output,
                              int idx, int numDivisions);
diff --git a/IO/Geometry/vtkBYUWriter.h b/IO/Geometry/vtkBYUWriter.h
index bb2510f566..16e7779340 100644
--- a/IO/Geometry/vtkBYUWriter.h
+++ b/IO/Geometry/vtkBYUWriter.h
@@ -40,7 +40,7 @@ public:
   static vtkBYUWriter *New();
 
   vtkTypeMacro(vtkBYUWriter,vtkWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -111,9 +111,9 @@ public:
 
 protected:
   vtkBYUWriter();
-  ~vtkBYUWriter();
+  ~vtkBYUWriter() VTK_OVERRIDE;
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
   char *GeometryFileName;
   char *DisplacementFileName;
@@ -128,7 +128,7 @@ protected:
   void WriteScalarFile(int numPts);
   void WriteTextureFile(int numPts);
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkBYUWriter(const vtkBYUWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Geometry/vtkChacoReader.h b/IO/Geometry/vtkChacoReader.h
index 0bb23be18b..b351a7d8f7 100644
--- a/IO/Geometry/vtkChacoReader.h
+++ b/IO/Geometry/vtkChacoReader.h
@@ -41,7 +41,7 @@ class VTKIOGEOMETRY_EXPORT vtkChacoReader : public vtkUnstructuredGridAlgorithm
 public:
   static vtkChacoReader *New();
   vtkTypeMacro(vtkChacoReader,vtkUnstructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Specify the base name of the Chaco files.  The reader will try to
@@ -162,7 +162,7 @@ public:
 
 protected:
   vtkChacoReader();
-  ~vtkChacoReader();
+  ~vtkChacoReader() VTK_OVERRIDE;
 
   int BuildOutputGrid(vtkUnstructuredGrid *gr);
 
@@ -228,9 +228,9 @@ protected:
   int RemakeDataCacheFlag;
 
   int RequestInformation(
-    vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+    vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   int RequestData(
-    vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+    vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkChacoReader(const vtkChacoReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Geometry/vtkFLUENTReader.h b/IO/Geometry/vtkFLUENTReader.h
index 1256e99fbb..7e5e5e9be6 100644
--- a/IO/Geometry/vtkFLUENTReader.h
+++ b/IO/Geometry/vtkFLUENTReader.h
@@ -53,7 +53,7 @@ class VTKIOGEOMETRY_EXPORT vtkFLUENTReader : public vtkMultiBlockDataSetAlgorith
 public:
   static vtkFLUENTReader *New();
   vtkTypeMacro(vtkFLUENTReader,vtkMultiBlockDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -140,11 +140,11 @@ public:
 
 protected:
   vtkFLUENTReader();
-  ~vtkFLUENTReader();
+  ~vtkFLUENTReader() VTK_OVERRIDE;
   int RequestInformation(vtkInformation *,
-    vtkInformationVector **, vtkInformationVector *);
+    vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   int RequestData(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/IO/Geometry/vtkFacetWriter.h b/IO/Geometry/vtkFacetWriter.h
index bddf10530e..e2d4d002b3 100644
--- a/IO/Geometry/vtkFacetWriter.h
+++ b/IO/Geometry/vtkFacetWriter.h
@@ -49,7 +49,7 @@ class VTKIOGEOMETRY_EXPORT vtkFacetWriter : public vtkPolyDataAlgorithm
 public:
   static vtkFacetWriter *New();
   vtkTypeMacro(vtkFacetWriter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -68,15 +68,15 @@ public:
 
 protected:
   vtkFacetWriter();
-  ~vtkFacetWriter();
+  ~vtkFacetWriter() VTK_OVERRIDE;
 
   // This is called by the superclass.
   // This is the method you should override.
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                            vtkInformationVector** inputVector,
-                           vtkInformationVector* outputVector);
+                           vtkInformationVector* outputVector) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int, vtkInformation *);
+  int FillInputPortInformation(int, vtkInformation *) VTK_OVERRIDE;
 
   int WriteDataToStream(ostream* ost, vtkPolyData* data);
 
diff --git a/IO/Geometry/vtkGAMBITReader.h b/IO/Geometry/vtkGAMBITReader.h
index 7792541f6b..b59aeb3f01 100644
--- a/IO/Geometry/vtkGAMBITReader.h
+++ b/IO/Geometry/vtkGAMBITReader.h
@@ -41,7 +41,7 @@ class VTKIOGEOMETRY_EXPORT vtkGAMBITReader : public vtkUnstructuredGridAlgorithm
 public:
   static vtkGAMBITReader *New();
   vtkTypeMacro(vtkGAMBITReader,vtkUnstructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -77,9 +77,9 @@ public:
 
 protected:
   vtkGAMBITReader();
-  ~vtkGAMBITReader();
-  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  ~vtkGAMBITReader() VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   char *FileName;
 
diff --git a/IO/Geometry/vtkGaussianCubeReader.cxx b/IO/Geometry/vtkGaussianCubeReader.cxx
index 0b1bd02794..77f6072de5 100644
--- a/IO/Geometry/vtkGaussianCubeReader.cxx
+++ b/IO/Geometry/vtkGaussianCubeReader.cxx
@@ -34,7 +34,6 @@ vtkStandardNewMacro(vtkGaussianCubeReader);
 // Construct object with merging set to true.
 vtkGaussianCubeReader::vtkGaussianCubeReader()
 {
-  this->FileName = NULL;
   this->Transform = vtkTransform::New();
   // Add the second output for the grid data
 
@@ -49,7 +48,6 @@ vtkGaussianCubeReader::vtkGaussianCubeReader()
 //----------------------------------------------------------------------------
 vtkGaussianCubeReader::~vtkGaussianCubeReader()
 {
-  delete [] this->FileName;
 
   this->Transform->Delete();
   // must delete the second output added
diff --git a/IO/Geometry/vtkGaussianCubeReader.h b/IO/Geometry/vtkGaussianCubeReader.h
index d444a217bc..aeda62afde 100644
--- a/IO/Geometry/vtkGaussianCubeReader.h
+++ b/IO/Geometry/vtkGaussianCubeReader.h
@@ -38,26 +38,23 @@ class VTKIOGEOMETRY_EXPORT vtkGaussianCubeReader : public vtkMoleculeReaderBase
 public:
   static vtkGaussianCubeReader *New();
   vtkTypeMacro(vtkGaussianCubeReader,vtkMoleculeReaderBase);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkGetObjectMacro(Transform,vtkTransform);
-  vtkSetStringMacro(FileName);
-  vtkGetStringMacro(FileName);
   vtkImageData *GetGridOutput();
 
 protected:
   vtkGaussianCubeReader();
-  ~vtkGaussianCubeReader();
+  ~vtkGaussianCubeReader() VTK_OVERRIDE;
 
-  char *FileName;
   vtkTransform *Transform;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
-  void ReadSpecificMolecule(FILE* fp);
+  void ReadSpecificMolecule(FILE* fp) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 private:
   vtkGaussianCubeReader(const vtkGaussianCubeReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkGaussianCubeReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Geometry/vtkHoudiniPolyDataWriter.cxx b/IO/Geometry/vtkHoudiniPolyDataWriter.cxx
index dd0be72f87..2b6710d5e5 100644
--- a/IO/Geometry/vtkHoudiniPolyDataWriter.cxx
+++ b/IO/Geometry/vtkHoudiniPolyDataWriter.cxx
@@ -175,7 +175,7 @@ namespace
       this->Value.resize(this->Array->GetNumberOfComponents());
     }
 
-    void StreamHeader(std::ostream& out) const
+    void StreamHeader(std::ostream& out) const VTK_OVERRIDE
     {
       std::string s = this->Array->GetName();
       std::replace(s.begin(), s.end(), ' ', '_');
@@ -191,7 +191,7 @@ namespace
       }
     }
 
-    void StreamData(std::ostream& out, vtkIdType index) const
+    void StreamData(std::ostream& out, vtkIdType index) const VTK_OVERRIDE
     {
       assert(index < this->Array->GetNumberOfTuples());
 
diff --git a/IO/Geometry/vtkHoudiniPolyDataWriter.h b/IO/Geometry/vtkHoudiniPolyDataWriter.h
index 1e399e2280..4d47b55241 100644
--- a/IO/Geometry/vtkHoudiniPolyDataWriter.h
+++ b/IO/Geometry/vtkHoudiniPolyDataWriter.h
@@ -35,7 +35,7 @@ class VTKIOGEOMETRY_EXPORT vtkHoudiniPolyDataWriter : public vtkWriter
 public:
   static vtkHoudiniPolyDataWriter* New();
   vtkTypeMacro(vtkHoudiniPolyDataWriter, vtkWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -47,11 +47,11 @@ public:
 
 protected:
   vtkHoudiniPolyDataWriter();
-  ~vtkHoudiniPolyDataWriter();
+  ~vtkHoudiniPolyDataWriter() VTK_OVERRIDE;
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   char* FileName;
 
diff --git a/IO/Geometry/vtkIVWriter.h b/IO/Geometry/vtkIVWriter.h
index fb75c75d29..c322567b0a 100644
--- a/IO/Geometry/vtkIVWriter.h
+++ b/IO/Geometry/vtkIVWriter.h
@@ -60,17 +60,17 @@ protected:
     this->FileName = NULL;
   }
 
-  ~vtkIVWriter()
+  ~vtkIVWriter() VTK_OVERRIDE
   {
     delete[] this->FileName;
   }
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
   void WritePolyData(vtkPolyData *polyData, FILE *fp);
 
   char *FileName;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkIVWriter(const vtkIVWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Geometry/vtkMCubesReader.h b/IO/Geometry/vtkMCubesReader.h
index 8902e3eb55..5105f702e9 100644
--- a/IO/Geometry/vtkMCubesReader.h
+++ b/IO/Geometry/vtkMCubesReader.h
@@ -65,7 +65,7 @@ class VTKIOGEOMETRY_EXPORT vtkMCubesReader : public vtkPolyDataAlgorithm
 {
 public:
   vtkTypeMacro(vtkMCubesReader,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with FlipNormals turned off and Normals set to true.
@@ -164,13 +164,13 @@ public:
   /**
    * Return the mtime also considering the locator.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkMCubesReader();
-  ~vtkMCubesReader();
+  ~vtkMCubesReader() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   char *FileName;
   char *LimitsFileName;
diff --git a/IO/Geometry/vtkMCubesWriter.h b/IO/Geometry/vtkMCubesWriter.h
index 0c30adadd6..a09086c80d 100644
--- a/IO/Geometry/vtkMCubesWriter.h
+++ b/IO/Geometry/vtkMCubesWriter.h
@@ -47,7 +47,7 @@ class VTKIOGEOMETRY_EXPORT vtkMCubesWriter : public vtkWriter
 public:
   static vtkMCubesWriter *New();
   vtkTypeMacro(vtkMCubesWriter,vtkWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -75,9 +75,9 @@ public:
 
 protected:
   vtkMCubesWriter();
-  ~vtkMCubesWriter();
+  ~vtkMCubesWriter() VTK_OVERRIDE;
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
   void WriteMCubes(FILE *fp, vtkPoints *pts, vtkDataArray *normals,
                    vtkCellArray *polys);
@@ -87,7 +87,7 @@ protected:
 
   char *FileName;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkMCubesWriter(const vtkMCubesWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Geometry/vtkMFIXReader.h b/IO/Geometry/vtkMFIXReader.h
index ac8964c3cf..0a478645c2 100644
--- a/IO/Geometry/vtkMFIXReader.h
+++ b/IO/Geometry/vtkMFIXReader.h
@@ -55,7 +55,7 @@ class VTKIOGEOMETRY_EXPORT vtkMFIXReader : public vtkUnstructuredGridAlgorithm
 public:
   static vtkMFIXReader *New();
   vtkTypeMacro(vtkMFIXReader,vtkUnstructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -146,11 +146,11 @@ public:
 
 protected:
   vtkMFIXReader();
-  ~vtkMFIXReader();
+  ~vtkMFIXReader() VTK_OVERRIDE;
   int RequestInformation(vtkInformation *,
-    vtkInformationVector **, vtkInformationVector *);
+    vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   int RequestData(vtkInformation *,
-    vtkInformationVector **, vtkInformationVector *);
+    vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   //
   // ParaView Variables
diff --git a/IO/Geometry/vtkMoleculeReaderBase.h b/IO/Geometry/vtkMoleculeReaderBase.h
index 7d2b7a339c..827b17d49e 100644
--- a/IO/Geometry/vtkMoleculeReaderBase.h
+++ b/IO/Geometry/vtkMoleculeReaderBase.h
@@ -42,7 +42,7 @@ class VTKIOGEOMETRY_EXPORT vtkMoleculeReaderBase : public vtkPolyDataAlgorithm
 {
 public:
   vtkTypeMacro(vtkMoleculeReaderBase,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkSetStringMacro(FileName);
   vtkGetStringMacro(FileName);
@@ -67,15 +67,15 @@ public:
 
 protected:
   vtkMoleculeReaderBase();
-  ~vtkMoleculeReaderBase();
+  ~vtkMoleculeReaderBase() VTK_OVERRIDE;
 
   char *FileName;
   double BScale;
   double HBScale;
   int NumberOfAtoms;
 
-  virtual int FillOutputPortInformation(int, vtkInformation *);
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int FillOutputPortInformation(int, vtkInformation *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   int ReadMolecule(FILE *fp, vtkPolyData *output);
   int MakeAtomType(const char *atype);
diff --git a/IO/Geometry/vtkOBJReader.h b/IO/Geometry/vtkOBJReader.h
index 39ff9d1b83..9bc9d6dab0 100644
--- a/IO/Geometry/vtkOBJReader.h
+++ b/IO/Geometry/vtkOBJReader.h
@@ -33,13 +33,13 @@ class VTKIOGEOMETRY_EXPORT vtkOBJReader : public vtkAbstractPolyDataReader
 public:
   static vtkOBJReader *New();
   vtkTypeMacro(vtkOBJReader,vtkAbstractPolyDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkOBJReader();
-  ~vtkOBJReader();
+  ~vtkOBJReader() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 private:
   vtkOBJReader(const vtkOBJReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkOBJReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Geometry/vtkOpenFOAMReader.cxx b/IO/Geometry/vtkOpenFOAMReader.cxx
index ca4fe3ad87..d5a7e33faf 100644
--- a/IO/Geometry/vtkOpenFOAMReader.cxx
+++ b/IO/Geometry/vtkOpenFOAMReader.cxx
@@ -502,7 +502,7 @@ public:
   typedef ArrayT LabelArrayType;
   typedef typename ArrayT::ValueType LabelType;
 
-  ~vtkFoamLabelVectorVectorImpl()
+  ~vtkFoamLabelVectorVectorImpl() VTK_OVERRIDE
   {
     this->Indices->Delete();
     this->Body->Delete();
@@ -544,7 +544,7 @@ public:
     this->Body->SetNumberOfValues(bodyLength);
   }
 
-  virtual size_t GetLabelSize() const
+  size_t GetLabelSize() const VTK_OVERRIDE
   {
     return sizeof(LabelType);
   }
@@ -552,43 +552,43 @@ public:
   // note that vtkIntArray::Resize() allocates (current size + new
   // size) bytes if current size < new size until 2010-06-27
   // cf. commit c869c3d5875f503e757b64f2fd1ec349aee859bf
-  virtual void ResizeBody(vtkIdType bodyLength)
+  void ResizeBody(vtkIdType bodyLength) VTK_OVERRIDE
   {
     this->Body->Resize(bodyLength);
   }
 
-  virtual void* WritePointer(vtkIdType i, vtkIdType bodyI, vtkIdType number)
+  void* WritePointer(vtkIdType i, vtkIdType bodyI, vtkIdType number) VTK_OVERRIDE
   {
     return this->Body->WritePointer(*this->Indices->GetPointer(i) = bodyI,
                                     number);
   }
 
-  virtual void SetIndex(vtkIdType i, vtkIdType bodyI)
+  void SetIndex(vtkIdType i, vtkIdType bodyI) VTK_OVERRIDE
   {
     this->Indices->SetValue(i, static_cast<LabelType>(bodyI));
   }
 
-  virtual void SetValue(vtkIdType bodyI, vtkTypeInt64 value)
+  void SetValue(vtkIdType bodyI, vtkTypeInt64 value) VTK_OVERRIDE
   {
     this->Body->SetValue(bodyI, static_cast<LabelType>(value));
   }
 
-  virtual void InsertValue(vtkIdType bodyI, vtkTypeInt64 value)
+  void InsertValue(vtkIdType bodyI, vtkTypeInt64 value) VTK_OVERRIDE
   {
     this->Body->InsertValue(bodyI, value);
   }
 
-  virtual const void* operator[](vtkIdType i) const
+  const void* operator[](vtkIdType i) const VTK_OVERRIDE
   {
     return this->Body->GetPointer(this->Indices->GetValue(i));
   }
 
-  virtual vtkIdType GetSize(vtkIdType i) const
+  vtkIdType GetSize(vtkIdType i) const VTK_OVERRIDE
   {
     return this->Indices->GetValue(i + 1) - this->Indices->GetValue(i);
   }
 
-  virtual void GetCell(vtkIdType cellId, CellType &cell) const
+  void GetCell(vtkIdType cellId, CellType &cell) const VTK_OVERRIDE
   {
     LabelType cellStart = this->Indices->GetValue(cellId);
     LabelType cellSize = this->Indices->GetValue(cellId + 1) - cellStart;
@@ -599,7 +599,7 @@ public:
     }
   }
 
-  virtual void SetCell(vtkIdType cellId, const CellType &cell)
+  void SetCell(vtkIdType cellId, const CellType &cell) VTK_OVERRIDE
   {
     LabelType cellStart = this->Indices->GetValue(cellId);
     LabelType cellSize = this->Indices->GetValue(cellId + 1) - cellStart;
@@ -609,17 +609,17 @@ public:
     }
   }
 
-  virtual vtkIdType GetNumberOfElements() const
+  vtkIdType GetNumberOfElements() const VTK_OVERRIDE
   {
     return this->Indices->GetNumberOfTuples() - 1;
   }
 
-  virtual vtkDataArray* GetIndices()
+  vtkDataArray* GetIndices() VTK_OVERRIDE
   {
     return this->Indices;
   }
 
-  virtual vtkDataArray* GetBody()
+  vtkDataArray* GetBody() VTK_OVERRIDE
   {
     return this->Body;
   }
diff --git a/IO/Geometry/vtkOpenFOAMReader.h b/IO/Geometry/vtkOpenFOAMReader.h
index 24c3c45d4e..544a6c77e1 100644
--- a/IO/Geometry/vtkOpenFOAMReader.h
+++ b/IO/Geometry/vtkOpenFOAMReader.h
@@ -58,7 +58,7 @@ class VTKIOGEOMETRY_EXPORT vtkOpenFOAMReader : public vtkMultiBlockDataSetAlgori
 public:
   static vtkOpenFOAMReader *New();
   vtkTypeMacro(vtkOpenFOAMReader, vtkMultiBlockDataSetAlgorithm);
-  void PrintSelf(ostream &, vtkIndent);
+  void PrintSelf(ostream &, vtkIndent) VTK_OVERRIDE;
 
   /**
    * Determine if the file can be readed with this reader.
@@ -362,11 +362,11 @@ protected:
   int CurrentReaderIndex;
 
   vtkOpenFOAMReader();
-  ~vtkOpenFOAMReader();
+  ~vtkOpenFOAMReader() VTK_OVERRIDE;
   int RequestInformation(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
   int RequestData(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
 
   void CreateCasePath(vtkStdString &, vtkStdString &);
   void SetTimeInformation(vtkInformationVector *, vtkDoubleArray *);
diff --git a/IO/Geometry/vtkPDBReader.h b/IO/Geometry/vtkPDBReader.h
index a2c57ce25d..73551e7b42 100644
--- a/IO/Geometry/vtkPDBReader.h
+++ b/IO/Geometry/vtkPDBReader.h
@@ -34,15 +34,15 @@ class VTKIOGEOMETRY_EXPORT vtkPDBReader : public vtkMoleculeReaderBase
 {
 public:
   vtkTypeMacro(vtkPDBReader,vtkMoleculeReaderBase);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkPDBReader *New();
 
 protected:
   vtkPDBReader();
-  ~vtkPDBReader();
+  ~vtkPDBReader() VTK_OVERRIDE;
 
-  void ReadSpecificMolecule(FILE* fp);
+  void ReadSpecificMolecule(FILE* fp) VTK_OVERRIDE;
 
 private:
   vtkPDBReader(const vtkPDBReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Geometry/vtkPTSReader.h b/IO/Geometry/vtkPTSReader.h
index d9eebf98c9..bea7b93810 100644
--- a/IO/Geometry/vtkPTSReader.h
+++ b/IO/Geometry/vtkPTSReader.h
@@ -34,7 +34,7 @@ class VTKIOGEOMETRY_EXPORT vtkPTSReader : public vtkPolyDataAlgorithm
 public:
   static vtkPTSReader *New();
   vtkTypeMacro(vtkPTSReader,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -114,10 +114,10 @@ public:
 
 protected:
   vtkPTSReader();
-  ~vtkPTSReader();
+  ~vtkPTSReader() VTK_OVERRIDE;
 
-  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   char *FileName;
   bool OutputDataTypeIsDouble;
diff --git a/IO/Geometry/vtkParticleReader.h b/IO/Geometry/vtkParticleReader.h
index b6033f115f..745baf0ef6 100644
--- a/IO/Geometry/vtkParticleReader.h
+++ b/IO/Geometry/vtkParticleReader.h
@@ -46,7 +46,7 @@ class VTKIOGEOMETRY_EXPORT vtkParticleReader : public vtkPolyDataAlgorithm
 public:
   static vtkParticleReader *New();
   vtkTypeMacro(vtkParticleReader,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -129,15 +129,15 @@ public:
 
 protected:
   vtkParticleReader();
-  ~vtkParticleReader();
+  ~vtkParticleReader() VTK_OVERRIDE;
 
   void OpenFile();
 
   char *FileName;
   ifstream *File;
 
-  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/IO/Geometry/vtkProStarReader.h b/IO/Geometry/vtkProStarReader.h
index fefc354685..bd9240f2a4 100644
--- a/IO/Geometry/vtkProStarReader.h
+++ b/IO/Geometry/vtkProStarReader.h
@@ -35,7 +35,7 @@ class VTKIOGEOMETRY_EXPORT vtkProStarReader : public vtkUnstructuredGridAlgorith
 public:
   static vtkProStarReader *New();
   vtkTypeMacro(vtkProStarReader,vtkUnstructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -85,12 +85,12 @@ public:
 
 protected:
   vtkProStarReader();
-  ~vtkProStarReader();
+  ~vtkProStarReader() VTK_OVERRIDE;
 
   int RequestInformation
-    (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+    (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   int RequestData
-    (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+    (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * The name of the file to be read.  If it has a .cel, .vrt, or .inp
diff --git a/IO/Geometry/vtkSTLReader.h b/IO/Geometry/vtkSTLReader.h
index 9611c096fd..922181a05c 100644
--- a/IO/Geometry/vtkSTLReader.h
+++ b/IO/Geometry/vtkSTLReader.h
@@ -47,7 +47,7 @@ class VTKIOGEOMETRY_EXPORT vtkSTLReader : public vtkAbstractPolyDataReader
 {
 public:
   vtkTypeMacro(vtkSTLReader,vtkAbstractPolyDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with merging set to true.
@@ -58,7 +58,7 @@ public:
    * Overload standard modified time function. If locator is modified,
    * then this object is modified as well.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -89,7 +89,7 @@ public:
 
 protected:
   vtkSTLReader();
-  ~vtkSTLReader();
+  ~vtkSTLReader() VTK_OVERRIDE;
 
   /**
    * Create default locator. Used to create one when none is specified.
@@ -100,7 +100,7 @@ protected:
   int ScalarTags;
   vtkIncrementalPointLocator *Locator;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   bool ReadBinarySTL(FILE *fp, vtkPoints*, vtkCellArray*);
   bool ReadASCIISTL(FILE *fp, vtkPoints*, vtkCellArray*,
                     vtkFloatArray* scalars=0);
diff --git a/IO/Geometry/vtkSTLWriter.h b/IO/Geometry/vtkSTLWriter.h
index 9a90a966c0..fd74e89ef8 100644
--- a/IO/Geometry/vtkSTLWriter.h
+++ b/IO/Geometry/vtkSTLWriter.h
@@ -79,13 +79,13 @@ public:
 
 protected:
   vtkSTLWriter();
-  ~vtkSTLWriter()
+  ~vtkSTLWriter() VTK_OVERRIDE
   {
     delete[] this->FileName;
     delete[] this->Header;
   }
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
   void WriteBinarySTL(
     vtkPoints *pts, vtkCellArray *polys, vtkCellArray *strips);
@@ -96,7 +96,7 @@ protected:
   char *Header;
   int   FileType;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkSTLWriter(const vtkSTLWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Geometry/vtkTecplotReader.h b/IO/Geometry/vtkTecplotReader.h
index c95faad916..3f167fb600 100644
--- a/IO/Geometry/vtkTecplotReader.h
+++ b/IO/Geometry/vtkTecplotReader.h
@@ -96,7 +96,7 @@ class VTKIOGEOMETRY_EXPORT vtkTecplotReader : public vtkMultiBlockDataSetAlgorit
 public:
   static vtkTecplotReader * New();
   vtkTypeMacro( vtkTecplotReader, vtkMultiBlockDataSetAlgorithm );
-  void  PrintSelf( ostream & os, vtkIndent indent );
+  void  PrintSelf( ostream & os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -175,14 +175,14 @@ public:
 
 protected:
   vtkTecplotReader();
-  ~vtkTecplotReader();
+  ~vtkTecplotReader() VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation( int port, vtkInformation * info );
-  virtual int RequestInformation( vtkInformation * request,
+  int FillOutputPortInformation( int port, vtkInformation * info ) VTK_OVERRIDE;
+  int RequestInformation( vtkInformation * request,
                                   vtkInformationVector ** inputVector,
-                                  vtkInformationVector  * outputVector );
-  virtual int RequestData
-          ( vtkInformation *, vtkInformationVector **, vtkInformationVector * );
+                                  vtkInformationVector  * outputVector ) VTK_OVERRIDE;
+  int RequestData
+          ( vtkInformation *, vtkInformationVector **, vtkInformationVector * ) VTK_OVERRIDE;
 
   /**
    * A callback function registered with the selection observer.
diff --git a/IO/Geometry/vtkUGFacetReader.h b/IO/Geometry/vtkUGFacetReader.h
index 562bcef63b..fd79b2bba4 100644
--- a/IO/Geometry/vtkUGFacetReader.h
+++ b/IO/Geometry/vtkUGFacetReader.h
@@ -34,7 +34,7 @@ class VTKIOGEOMETRY_EXPORT vtkUGFacetReader : public vtkPolyDataAlgorithm
 {
 public:
   vtkTypeMacro(vtkUGFacetReader,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object to extract all parts, and with point merging
@@ -46,7 +46,7 @@ public:
    * Overload standard modified time function. If locator is modified,
    * then this object is modified as well.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -102,9 +102,9 @@ public:
 
 protected:
   vtkUGFacetReader();
-  ~vtkUGFacetReader();
+  ~vtkUGFacetReader() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   char *FileName;
   vtkShortArray *PartColors;
diff --git a/IO/Geometry/vtkWindBladeReader.h b/IO/Geometry/vtkWindBladeReader.h
index 82599a2ad2..41f217bdf2 100644
--- a/IO/Geometry/vtkWindBladeReader.h
+++ b/IO/Geometry/vtkWindBladeReader.h
@@ -50,7 +50,7 @@ class VTKIOGEOMETRY_EXPORT vtkWindBladeReader : public vtkStructuredGridAlgorith
 public:
   static vtkWindBladeReader *New();
   vtkTypeMacro(vtkWindBladeReader,vtkStructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkSetStringMacro(Filename);
   vtkGetStringMacro(Filename);
@@ -98,7 +98,7 @@ protected:
    static int   INTEGER;
 
   vtkWindBladeReader();
-  ~vtkWindBladeReader();
+  ~vtkWindBladeReader() VTK_OVERRIDE;
 
   char* Filename;   // Base file name
 
@@ -235,12 +235,12 @@ protected:
                        int &numColumns);
   void ReadBladeData(std::stringstream &inStr);
 
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
-                                 vtkInformationVector *);
-  virtual int RequestData(
+  int RequestInformation(vtkInformation *, vtkInformationVector **,
+                                 vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(
     vtkInformation* request,
     vtkInformationVector** inputVector,
-    vtkInformationVector* outputVector);
+    vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   static void SelectionCallback(
     vtkObject *caller,
@@ -253,7 +253,7 @@ protected:
     unsigned long eid,
     void* clientdata, void* calldata);
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   /**
    * We intercept the requests to check for which port
@@ -263,7 +263,7 @@ protected:
    */
   int ProcessRequest(vtkInformation *request,
                      vtkInformationVector **inInfo,
-                     vtkInformationVector *outInfo);
+                     vtkInformationVector *outInfo) VTK_OVERRIDE;
 
 private:
   WindBladeReaderInternal * Internal;
diff --git a/IO/Geometry/vtkXYZMolReader.h b/IO/Geometry/vtkXYZMolReader.h
index 994b66feec..765d9ef613 100644
--- a/IO/Geometry/vtkXYZMolReader.h
+++ b/IO/Geometry/vtkXYZMolReader.h
@@ -34,7 +34,7 @@ class VTKIOGEOMETRY_EXPORT vtkXYZMolReader : public vtkMoleculeReaderBase
 {
 public:
   vtkTypeMacro(vtkXYZMolReader,vtkMoleculeReaderBase);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkXYZMolReader *New();
 
@@ -62,9 +62,9 @@ public:
 
 protected:
   vtkXYZMolReader();
-  ~vtkXYZMolReader();
+  ~vtkXYZMolReader() VTK_OVERRIDE;
 
-  void ReadSpecificMolecule(FILE* fp);
+  void ReadSpecificMolecule(FILE* fp) VTK_OVERRIDE;
 
   /**
    * Get next line that is not a comment. It returns the beginning of data on
diff --git a/IO/Image/vtkBMPReader.h b/IO/Image/vtkBMPReader.h
index b51096bbb6..704c2e5242 100644
--- a/IO/Image/vtkBMPReader.h
+++ b/IO/Image/vtkBMPReader.h
@@ -51,7 +51,7 @@ public:
   static vtkBMPReader *New();
   vtkTypeMacro(vtkBMPReader,vtkImageReader);
 
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -63,14 +63,14 @@ public:
   /**
    * Is the given file a BMP file?
    */
-  virtual int CanReadFile(const char* fname);
+  int CanReadFile(const char* fname) VTK_OVERRIDE;
 
   /**
    * Get the file extensions for this format.
    * Returns a string with a space separated list of extensions in
    * the format .extension
    */
-  virtual const char* GetFileExtensions()
+  const char* GetFileExtensions() VTK_OVERRIDE
   {
       return ".bmp";
   }
@@ -78,7 +78,7 @@ public:
   /**
    * Return a descriptive name for the file format that might be useful in a GUI.
    */
-  virtual const char* GetDescriptiveName()
+  const char* GetDescriptiveName() VTK_OVERRIDE
   {
       return "Windows BMP";
   }
@@ -105,16 +105,16 @@ public:
 
 protected:
   vtkBMPReader();
-  ~vtkBMPReader();
+  ~vtkBMPReader() VTK_OVERRIDE;
 
   unsigned char *Colors;
   short Depth;
   int Allow8BitBMP;
   vtkLookupTable *LookupTable;
 
-  virtual void ComputeDataIncrements();
-  virtual void ExecuteInformation();
-  virtual void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation* outInfo);
+  void ComputeDataIncrements() VTK_OVERRIDE;
+  void ExecuteInformation() VTK_OVERRIDE;
+  void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation* outInfo) VTK_OVERRIDE;
 private:
   vtkBMPReader(const vtkBMPReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkBMPReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Image/vtkBMPWriter.h b/IO/Image/vtkBMPWriter.h
index 17c56b777e..6843515eb6 100644
--- a/IO/Image/vtkBMPWriter.h
+++ b/IO/Image/vtkBMPWriter.h
@@ -38,10 +38,10 @@ public:
 
 protected:
   vtkBMPWriter();
-  ~vtkBMPWriter() {}
+  ~vtkBMPWriter() VTK_OVERRIDE {}
 
-  virtual void WriteFile(ofstream *file, vtkImageData *data, int ext[6], int wExt[6]);
-  virtual void WriteFileHeader(ofstream *, vtkImageData *, int wExt[6]);
+  void WriteFile(ofstream *file, vtkImageData *data, int ext[6], int wExt[6]) VTK_OVERRIDE;
+  void WriteFileHeader(ofstream *, vtkImageData *, int wExt[6]) VTK_OVERRIDE;
 private:
   vtkBMPWriter(const vtkBMPWriter&) VTK_DELETE_FUNCTION;
   void operator=(const vtkBMPWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Image/vtkDEMReader.h b/IO/Image/vtkDEMReader.h
index 7c574205e6..55c64260e9 100644
--- a/IO/Image/vtkDEMReader.h
+++ b/IO/Image/vtkDEMReader.h
@@ -37,7 +37,7 @@ class VTKIOIMAGE_EXPORT vtkDEMReader : public vtkImageAlgorithm
 public:
   static vtkDEMReader *New();
   vtkTypeMacro(vtkDEMReader,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -175,12 +175,12 @@ public:
    * spacing of the image data. The number of scalar components is set
    * to 1 and the output scalar type is VTK_FLOAT.
    */
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector **,
-                                  vtkInformationVector *);
+  int RequestInformation (vtkInformation *, vtkInformationVector **,
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
 protected:
   vtkDEMReader();
-  ~vtkDEMReader();
+  ~vtkDEMReader() VTK_OVERRIDE;
 
   vtkTimeStamp ReadHeaderTime;
   int NumberOfColumns;
@@ -210,9 +210,9 @@ protected:
                                       double spacing[6]);
   int ReadTypeARecord ();
   int ReadProfiles (vtkImageData *data);
-  virtual int RequestData(  vtkInformation* request,
+  int RequestData(  vtkInformation* request,
                             vtkInformationVector** inputVector,
-                            vtkInformationVector* outputVector);
+                            vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 private:
   vtkDEMReader(const vtkDEMReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Image/vtkDICOMImageReader.h b/IO/Image/vtkDICOMImageReader.h
index e2970de161..1a4660e628 100644
--- a/IO/Image/vtkDICOMImageReader.h
+++ b/IO/Image/vtkDICOMImageReader.h
@@ -58,14 +58,14 @@ class VTKIOIMAGE_EXPORT vtkDICOMImageReader : public vtkImageReader2
   /**
    * Prints the ivars.
    */
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Set the filename for the file to read. If this method is used,
    * the reader will only read a single file.
    */
-  void SetFileName(const char* fn)
+  void SetFileName(const char* fn) VTK_OVERRIDE
   {
     delete [] this->DirectoryName;
     delete [] this->FileName;
@@ -181,12 +181,12 @@ class VTKIOIMAGE_EXPORT vtkDICOMImageReader : public vtkImageReader2
   //
   // Can I read the file?
   //
-  virtual int CanReadFile(const char* fname);
+  int CanReadFile(const char* fname) VTK_OVERRIDE;
 
   //
   // What file extensions are supported?
   //
-  virtual const char* GetFileExtensions()
+  const char* GetFileExtensions() VTK_OVERRIDE
   {
     return ".dcm";
   }
@@ -194,7 +194,7 @@ class VTKIOIMAGE_EXPORT vtkDICOMImageReader : public vtkImageReader2
   /**
    * Return a descriptive name for the file format that might be useful in a GUI.
    */
-  virtual const char* GetDescriptiveName()
+  const char* GetDescriptiveName() VTK_OVERRIDE
   {
     return "DICOM";
   }
@@ -205,8 +205,8 @@ protected:
   //
   void SetupOutputInformation(int num_slices);
 
-  virtual void ExecuteInformation();
-  virtual void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation *outInfo);
+  void ExecuteInformation() VTK_OVERRIDE;
+  void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation *outInfo) VTK_OVERRIDE;
 
   //
   // Constructor
@@ -216,7 +216,7 @@ protected:
   //
   // Destructor
   //
-  virtual ~vtkDICOMImageReader();
+  ~vtkDICOMImageReader() VTK_OVERRIDE;
 
   //
   // Instance of the parser used to parse the file.
diff --git a/IO/Image/vtkGESignaReader.h b/IO/Image/vtkGESignaReader.h
index 8b8d1edf5b..c29be83780 100644
--- a/IO/Image/vtkGESignaReader.h
+++ b/IO/Image/vtkGESignaReader.h
@@ -45,12 +45,12 @@ public:
   /**
    * Is the given file a GESigna file?
    */
-  virtual int CanReadFile(const char* fname);
+  int CanReadFile(const char* fname) VTK_OVERRIDE;
 
   /**
    * Valid extentsions
    */
-  virtual const char* GetFileExtensions()
+  const char* GetFileExtensions() VTK_OVERRIDE
   {
       return ".MR .CT";
   }
@@ -58,17 +58,17 @@ public:
   /**
    * A descriptive name for this format
    */
-  virtual const char* GetDescriptiveName()
+  const char* GetDescriptiveName() VTK_OVERRIDE
   {
       return "GESigna";
   }
 
 protected:
   vtkGESignaReader() {}
-  ~vtkGESignaReader() {}
+  ~vtkGESignaReader() VTK_OVERRIDE {}
 
-  virtual void ExecuteInformation();
-  virtual void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation* outInfo);
+  void ExecuteInformation() VTK_OVERRIDE;
+  void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation* outInfo) VTK_OVERRIDE;
 
 private:
   vtkGESignaReader(const vtkGESignaReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Image/vtkImageExport.h b/IO/Image/vtkImageExport.h
index c6c6e658ce..7435308104 100644
--- a/IO/Image/vtkImageExport.h
+++ b/IO/Image/vtkImageExport.h
@@ -40,7 +40,7 @@ class VTKIOIMAGE_EXPORT vtkImageExport : public vtkImageAlgorithm
 public:
   static vtkImageExport *New();
   vtkTypeMacro(vtkImageExport,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the number of bytes required for the output C array.
@@ -175,12 +175,12 @@ public:
 
 protected:
   vtkImageExport();
-  ~vtkImageExport();
+  ~vtkImageExport() VTK_OVERRIDE;
 
   // This is called by the superclass.
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   virtual void UpdateInformationCallback();
   virtual int PipelineModifiedCallback();
diff --git a/IO/Image/vtkImageImport.h b/IO/Image/vtkImageImport.h
index ac768d40a9..33e49048db 100644
--- a/IO/Image/vtkImageImport.h
+++ b/IO/Image/vtkImageImport.h
@@ -40,7 +40,7 @@ class VTKIOIMAGE_EXPORT vtkImageImport : public vtkImageAlgorithm
 public:
   static vtkImageImport *New();
   vtkTypeMacro(vtkImageImport,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Import data and make an internal copy of it.  If you do not want
@@ -141,18 +141,18 @@ public:
   /**
    * Propagates the update extent through the callback if it is set.
    */
-  virtual int RequestUpdateExtent(  vtkInformation* request,
+  int RequestUpdateExtent(  vtkInformation* request,
                                     vtkInformationVector** inputVector,
-                                    vtkInformationVector* outputVector);
+                                    vtkInformationVector* outputVector) VTK_OVERRIDE;
   /**
    * Override vtkAlgorithm
    */
-  virtual int
+  int
   ComputePipelineMTime(vtkInformation* request,
                        vtkInformationVector** inInfoVec,
                        vtkInformationVector* outInfoVec,
                        int requestFromOutputPort,
-                       vtkMTimeType* mtime);
+                       vtkMTimeType* mtime) VTK_OVERRIDE;
 
   //@{
   /**
@@ -320,10 +320,10 @@ public:
 
 protected:
   vtkImageImport();
-  ~vtkImageImport();
+  ~vtkImageImport() VTK_OVERRIDE;
 
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector **,
-                                  vtkInformationVector *);
+  int RequestInformation (vtkInformation *, vtkInformationVector **,
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
 
   void *ImportVoidPointer;
@@ -352,7 +352,7 @@ protected:
   DataExtentCallbackType            DataExtentCallback;
   BufferPointerCallbackType         BufferPointerCallback;
 
-  virtual void ExecuteDataWithInformation(vtkDataObject *d, vtkInformation* outInfo);
+  void ExecuteDataWithInformation(vtkDataObject *d, vtkInformation* outInfo) VTK_OVERRIDE;
 
 private:
   vtkImageImport(const vtkImageImport&) VTK_DELETE_FUNCTION;
diff --git a/IO/Image/vtkImageImportExecutive.h b/IO/Image/vtkImageImportExecutive.h
index caa69dc901..cd663f2a56 100644
--- a/IO/Image/vtkImageImportExecutive.h
+++ b/IO/Image/vtkImageImportExecutive.h
@@ -35,13 +35,13 @@ public:
   /**
    * Override to implement some requests with callbacks.
    */
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inInfo,
-                             vtkInformationVector* outInfo);
+                             vtkInformationVector* outInfo) VTK_OVERRIDE;
 
 protected:
   vtkImageImportExecutive() {}
-  ~vtkImageImportExecutive() {}
+  ~vtkImageImportExecutive() VTK_OVERRIDE {}
 
 private:
   vtkImageImportExecutive(const vtkImageImportExecutive&) VTK_DELETE_FUNCTION;
diff --git a/IO/Image/vtkImageReader.h b/IO/Image/vtkImageReader.h
index 690592209b..95ad4f888d 100644
--- a/IO/Image/vtkImageReader.h
+++ b/IO/Image/vtkImageReader.h
@@ -40,7 +40,7 @@ class VTKIOIMAGE_EXPORT vtkImageReader : public vtkImageReader2
 public:
   static vtkImageReader *New();
   vtkTypeMacro(vtkImageReader,vtkImageReader2);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -92,7 +92,7 @@ public:
 
 protected:
   vtkImageReader();
-  ~vtkImageReader();
+  ~vtkImageReader() VTK_OVERRIDE;
 
   vtkTypeUInt64 DataMask;
 
@@ -109,11 +109,11 @@ protected:
 
   char *ScalarArrayName;
 
-  virtual int RequestInformation(vtkInformation* request,
+  int RequestInformation(vtkInformation* request,
                                  vtkInformationVector** inputVector,
-                                 vtkInformationVector* outputVector);
+                                 vtkInformationVector* outputVector) VTK_OVERRIDE;
 
-  void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation *outInfo);
+  void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation *outInfo) VTK_OVERRIDE;
 private:
   vtkImageReader(const vtkImageReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Image/vtkImageReader2.h b/IO/Image/vtkImageReader2.h
index e43c447ab5..2ef7b428c7 100644
--- a/IO/Image/vtkImageReader2.h
+++ b/IO/Image/vtkImageReader2.h
@@ -54,7 +54,7 @@ class VTKIOIMAGE_EXPORT vtkImageReader2 : public vtkImageAlgorithm
 public:
   static vtkImageReader2 *New();
   vtkTypeMacro(vtkImageReader2,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -301,7 +301,7 @@ public:
   }
 protected:
   vtkImageReader2();
-  ~vtkImageReader2();
+  ~vtkImageReader2() VTK_OVERRIDE;
   //@}
 
   vtkStringArray *FileNames;
@@ -332,11 +332,11 @@ protected:
   int FileNameSliceOffset;
   int FileNameSliceSpacing;
 
-  virtual int RequestInformation(vtkInformation* request,
+  int RequestInformation(vtkInformation* request,
                                  vtkInformationVector** inputVector,
-                                 vtkInformationVector* outputVector);
+                                 vtkInformationVector* outputVector) VTK_OVERRIDE;
   virtual void ExecuteInformation();
-  virtual void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation *outInfo);
+  void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation *outInfo) VTK_OVERRIDE;
   virtual void ComputeDataIncrements();
 private:
   vtkImageReader2(const vtkImageReader2&) VTK_DELETE_FUNCTION;
diff --git a/IO/Image/vtkImageReader2Collection.h b/IO/Image/vtkImageReader2Collection.h
index 67833d2a92..44f34bfbae 100644
--- a/IO/Image/vtkImageReader2Collection.h
+++ b/IO/Image/vtkImageReader2Collection.h
@@ -55,7 +55,7 @@ public:
 
 protected:
   vtkImageReader2Collection() {}
-  ~vtkImageReader2Collection() {}
+  ~vtkImageReader2Collection() VTK_OVERRIDE {}
 
 
 private:
diff --git a/IO/Image/vtkImageReader2Factory.h b/IO/Image/vtkImageReader2Factory.h
index abfde20f28..a47253c2b3 100644
--- a/IO/Image/vtkImageReader2Factory.h
+++ b/IO/Image/vtkImageReader2Factory.h
@@ -48,7 +48,7 @@ class VTKIOIMAGE_EXPORT vtkImageReader2Factory : public vtkObject
 public:
   static vtkImageReader2Factory *New();
   vtkTypeMacro(vtkImageReader2Factory,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * registered readers will be queried in CreateImageReader2 to
@@ -72,7 +72,7 @@ public:
 
 protected:
   vtkImageReader2Factory();
-  ~vtkImageReader2Factory();
+  ~vtkImageReader2Factory() VTK_OVERRIDE;
 
   static void InitializeReaders();
 
diff --git a/IO/Image/vtkImageWriter.h b/IO/Image/vtkImageWriter.h
index 9add893757..91a90dd2a6 100644
--- a/IO/Image/vtkImageWriter.h
+++ b/IO/Image/vtkImageWriter.h
@@ -34,7 +34,7 @@ class VTKIOIMAGE_EXPORT vtkImageWriter : public vtkImageAlgorithm
 public:
   static vtkImageWriter *New();
   vtkTypeMacro(vtkImageWriter,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -88,7 +88,7 @@ public:
 
 protected:
   vtkImageWriter();
-  ~vtkImageWriter();
+  ~vtkImageWriter() VTK_OVERRIDE;
 
   int FileDimensionality;
   char *FilePrefix;
@@ -114,9 +114,9 @@ protected:
 
   // This is called by the superclass.
   // This is the method you should override.
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   int MinimumFileNumber;
   int MaximumFileNumber;
diff --git a/IO/Image/vtkJPEGReader.h b/IO/Image/vtkJPEGReader.h
index fcf7f706f4..eb86468174 100644
--- a/IO/Image/vtkJPEGReader.h
+++ b/IO/Image/vtkJPEGReader.h
@@ -41,14 +41,14 @@ public:
   /**
    * Is the given file a JPEG file?
    */
-  int CanReadFile(const char* fname);
+  int CanReadFile(const char* fname) VTK_OVERRIDE;
 
   /**
    * Get the file extensions for this format.
    * Returns a string with a space separated list of extensions in
    * the format .extension
    */
-  virtual const char* GetFileExtensions()
+  const char* GetFileExtensions() VTK_OVERRIDE
   {
       return ".jpeg .jpg";
   }
@@ -56,16 +56,16 @@ public:
   /**
    * Return a descriptive name for the file format that might be useful in a GUI.
    */
-  virtual const char* GetDescriptiveName()
+  const char* GetDescriptiveName() VTK_OVERRIDE
   {
       return "JPEG";
   }
 protected:
   vtkJPEGReader() {}
-  ~vtkJPEGReader() {}
+  ~vtkJPEGReader() VTK_OVERRIDE {}
 
-  virtual void ExecuteInformation();
-  virtual void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation *outInfo);
+  void ExecuteInformation() VTK_OVERRIDE;
+  void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation *outInfo) VTK_OVERRIDE;
 private:
   vtkJPEGReader(const vtkJPEGReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkJPEGReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Image/vtkJPEGWriter.h b/IO/Image/vtkJPEGWriter.h
index f6da4079de..e428311b1f 100644
--- a/IO/Image/vtkJPEGWriter.h
+++ b/IO/Image/vtkJPEGWriter.h
@@ -38,12 +38,12 @@ class VTKIOIMAGE_EXPORT vtkJPEGWriter : public vtkImageWriter
 public:
   static vtkJPEGWriter *New();
   vtkTypeMacro(vtkJPEGWriter,vtkImageWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * The main interface which triggers the writer to start.
    */
-  virtual void Write();
+  void Write() VTK_OVERRIDE;
 
   //@{
   /**
@@ -82,7 +82,7 @@ public:
 
 protected:
   vtkJPEGWriter();
-  ~vtkJPEGWriter();
+  ~vtkJPEGWriter() VTK_OVERRIDE;
 
   void WriteSlice(vtkImageData *data, int* uExtent);
 
diff --git a/IO/Image/vtkJSONImageWriter.h b/IO/Image/vtkJSONImageWriter.h
index 5375258868..6893e3950b 100644
--- a/IO/Image/vtkJSONImageWriter.h
+++ b/IO/Image/vtkJSONImageWriter.h
@@ -31,7 +31,7 @@ class VTKIOIMAGE_EXPORT vtkJSONImageWriter : public vtkImageAlgorithm
 public:
   static vtkJSONImageWriter *New();
   vtkTypeMacro(vtkJSONImageWriter,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -64,15 +64,15 @@ public:
 
 protected:
   vtkJSONImageWriter();
-  ~vtkJSONImageWriter();
+  ~vtkJSONImageWriter() VTK_OVERRIDE;
 
   char *FileName;
   char *ArrayName;
   int Slice;
 
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 private:
   vtkJSONImageWriter(const vtkJSONImageWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Image/vtkMRCReader.h b/IO/Image/vtkMRCReader.h
index efce477c03..77427a677d 100644
--- a/IO/Image/vtkMRCReader.h
+++ b/IO/Image/vtkMRCReader.h
@@ -36,7 +36,7 @@ public:
   static vtkMRCReader* New();
   vtkTypeMacro(vtkMRCReader, vtkImageAlgorithm)
 
-  void PrintSelf(ostream& stream, vtkIndent indent);
+  void PrintSelf(ostream& stream, vtkIndent indent) VTK_OVERRIDE;
 
   // .Description
   // Get/Set the file to read
@@ -45,13 +45,13 @@ public:
 
 protected:
   vtkMRCReader();
-  virtual ~vtkMRCReader();
+  ~vtkMRCReader() VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation* request,
+  int RequestInformation(vtkInformation* request,
                                  vtkInformationVector** inputVector,
-                                 vtkInformationVector* outputVector);
-  virtual void ExecuteDataWithInformation(vtkDataObject *output,
-                                          vtkInformation* outInfo);
+                                 vtkInformationVector* outputVector) VTK_OVERRIDE;
+  void ExecuteDataWithInformation(vtkDataObject *output,
+                                          vtkInformation* outInfo) VTK_OVERRIDE;
 
   char* FileName;
 
diff --git a/IO/Image/vtkMedicalImageProperties.h b/IO/Image/vtkMedicalImageProperties.h
index 47cf68eaf9..428c045ae0 100644
--- a/IO/Image/vtkMedicalImageProperties.h
+++ b/IO/Image/vtkMedicalImageProperties.h
@@ -37,7 +37,7 @@ class VTKIOIMAGE_EXPORT vtkMedicalImageProperties : public vtkObject
 public:
   static vtkMedicalImageProperties *New();
   vtkTypeMacro(vtkMedicalImageProperties,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Convenience method to reset all fields to an emptry string/value
@@ -480,7 +480,7 @@ public:
 
 protected:
   vtkMedicalImageProperties();
-  ~vtkMedicalImageProperties();
+  ~vtkMedicalImageProperties() VTK_OVERRIDE;
 
   char *StudyDate;
   char *AcquisitionDate;
diff --git a/IO/Image/vtkMedicalImageReader2.h b/IO/Image/vtkMedicalImageReader2.h
index 9c70f16aa4..e93d43f1e8 100644
--- a/IO/Image/vtkMedicalImageReader2.h
+++ b/IO/Image/vtkMedicalImageReader2.h
@@ -36,7 +36,7 @@ class VTKIOIMAGE_EXPORT vtkMedicalImageReader2 : public vtkImageReader2
 public:
   static vtkMedicalImageReader2 *New();
   vtkTypeMacro(vtkMedicalImageReader2,vtkImageReader2);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -68,7 +68,7 @@ public:
 
 protected:
   vtkMedicalImageReader2();
-  ~vtkMedicalImageReader2();
+  ~vtkMedicalImageReader2() VTK_OVERRIDE;
 
   /**
    * Medical Image properties
diff --git a/IO/Image/vtkMetaImageReader.h b/IO/Image/vtkMetaImageReader.h
index 4c466e7c29..e4facf1ad6 100644
--- a/IO/Image/vtkMetaImageReader.h
+++ b/IO/Image/vtkMetaImageReader.h
@@ -69,17 +69,17 @@ class VTKIOIMAGE_EXPORT vtkMetaImageReader : public vtkImageReader2
 {
 public:
   vtkTypeMacro(vtkMetaImageReader,vtkImageReader2);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with FlipNormals turned off and Normals set to true.
    */
   static vtkMetaImageReader *New();
 
-  virtual const char * GetFileExtensions()
+  const char * GetFileExtensions() VTK_OVERRIDE
     { return ".mhd .mha"; }
 
-  virtual const char * GetDescriptiveName()
+  const char * GetDescriptiveName() VTK_OVERRIDE
     { return "MetaIO Library: MetaImage"; }
 
   // These duplicate functions in vtkImageReader2, vtkMedicalImageReader.
@@ -95,7 +95,7 @@ public:
     { return this->GetNumberOfScalarComponents(); }
   int GetPixelRepresentation()
     { return this->GetDataScalarType(); }
-  int GetDataByteOrder(void);
+  int GetDataByteOrder(void) VTK_OVERRIDE;
 
   vtkGetMacro(RescaleSlope, double);
   vtkGetMacro(RescaleOffset, double);
@@ -117,11 +117,11 @@ public:
    * Test whether the file with the given name can be read by this
    * reader.
    */
-  virtual int CanReadFile(const char* name);
+  int CanReadFile(const char* name) VTK_OVERRIDE;
 
 protected:
   vtkMetaImageReader();
-  ~vtkMetaImageReader();
+  ~vtkMetaImageReader() VTK_OVERRIDE;
 
   // These functions make no sense for this (or most) file readers
   // and should be hidden from the user...but then the getsettest fails.
@@ -173,11 +173,11 @@ protected:
   unsigned long GetHeaderSize(void)
     { return vtkImageReader2::GetHeaderSize(); }*/
 
-  void ExecuteInformation();
-  void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation *outInfo);
-  virtual int RequestInformation(vtkInformation * request,
+  void ExecuteInformation() VTK_OVERRIDE;
+  void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation *outInfo) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation * request,
                          vtkInformationVector ** inputVector,
-                         vtkInformationVector * outputVector);
+                         vtkInformationVector * outputVector) VTK_OVERRIDE;
 
 private:
   vtkMetaImageReader(const vtkMetaImageReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Image/vtkMetaImageWriter.h b/IO/Image/vtkMetaImageWriter.h
index 6a5710e7e3..ee16414c44 100644
--- a/IO/Image/vtkMetaImageWriter.h
+++ b/IO/Image/vtkMetaImageWriter.h
@@ -71,7 +71,7 @@ class VTKIOIMAGE_EXPORT vtkMetaImageWriter : public vtkImageWriter
 {
 public:
   vtkTypeMacro(vtkMetaImageWriter,vtkImageWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with FlipNormals turned off and Normals set to true.
@@ -81,8 +81,8 @@ public:
   /**
    * Specify file name of meta file
    */
-  virtual void SetFileName(const char* fname);
-  virtual char* GetFileName() { return this->MHDFileName; }
+  void SetFileName(const char* fname) VTK_OVERRIDE;
+  char* GetFileName() VTK_OVERRIDE { return this->MHDFileName; }
 
   //@{
   /**
@@ -103,11 +103,11 @@ public:
 
   // This is called by the superclass.
   // This is the method you should override.
-  virtual void Write();
+  void Write() VTK_OVERRIDE;
 
 protected:
   vtkMetaImageWriter();
-  ~vtkMetaImageWriter();
+  ~vtkMetaImageWriter() VTK_OVERRIDE;
 
   vtkSetStringMacro(MHDFileName);
   char* MHDFileName;
diff --git a/IO/Image/vtkNIFTIImageHeader.h b/IO/Image/vtkNIFTIImageHeader.h
index 6076545d36..a61105bc5c 100644
--- a/IO/Image/vtkNIFTIImageHeader.h
+++ b/IO/Image/vtkNIFTIImageHeader.h
@@ -398,7 +398,7 @@ public:
 
 protected:
   vtkNIFTIImageHeader();
-  ~vtkNIFTIImageHeader();
+  ~vtkNIFTIImageHeader() VTK_OVERRIDE;
 
   char Magic[12];
   vtkTypeInt64 VoxOffset;
diff --git a/IO/Image/vtkNIFTIImageReader.h b/IO/Image/vtkNIFTIImageReader.h
index 48a226afe0..c5aa8b6938 100644
--- a/IO/Image/vtkNIFTIImageReader.h
+++ b/IO/Image/vtkNIFTIImageReader.h
@@ -63,19 +63,19 @@ public:
   /**
    * Valid extensions for this file type.
    */
-  virtual const char* GetFileExtensions() {
+  const char* GetFileExtensions() VTK_OVERRIDE {
     return ".nii .nii.gz .img .img.gz .hdr .hdr.gz"; }
 
   /**
    * Return a descriptive name that might be useful in a GUI.
    */
-  virtual const char* GetDescriptiveName() {
+  const char* GetDescriptiveName() VTK_OVERRIDE {
     return "NIfTI"; }
 
   /**
    * Return true if this reader can read the given file.
    */
-  int CanReadFile(const char* filename);
+  int CanReadFile(const char* filename) VTK_OVERRIDE;
 
   //@{
   /**
@@ -168,21 +168,21 @@ public:
 
 protected:
   vtkNIFTIImageReader();
-  ~vtkNIFTIImageReader();
+  ~vtkNIFTIImageReader() VTK_OVERRIDE;
 
   /**
    * Read the header information.
    */
-  virtual int RequestInformation(
+  int RequestInformation(
     vtkInformation* request, vtkInformationVector** inputVector,
-    vtkInformationVector* outputVector);
+    vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   /**
    * Read the voxel data.
    */
-  virtual int RequestData(
+  int RequestData(
     vtkInformation* request, vtkInformationVector** inputVector,
-    vtkInformationVector* outputVector);
+    vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   /**
    * Do a case-insensitive check for the given extension.
diff --git a/IO/Image/vtkNIFTIImageWriter.h b/IO/Image/vtkNIFTIImageWriter.h
index 625282a1a1..6d8549b5ff 100644
--- a/IO/Image/vtkNIFTIImageWriter.h
+++ b/IO/Image/vtkNIFTIImageWriter.h
@@ -160,7 +160,7 @@ public:
 
 protected:
   vtkNIFTIImageWriter();
-  ~vtkNIFTIImageWriter();
+  ~vtkNIFTIImageWriter() VTK_OVERRIDE;
 
   /**
    * Generate the header information for the file.
@@ -170,9 +170,9 @@ protected:
   /**
    * The main execution method, which writes the file.
    */
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   /**
    * Make a new filename by replacing extension "ext1" with "ext2".
diff --git a/IO/Image/vtkNrrdReader.h b/IO/Image/vtkNrrdReader.h
index f6622a85ae..e6b6e6aa52 100644
--- a/IO/Image/vtkNrrdReader.h
+++ b/IO/Image/vtkNrrdReader.h
@@ -46,21 +46,21 @@ class VTKIOIMAGE_EXPORT vtkNrrdReader : public vtkImageReader
 public:
   vtkTypeMacro(vtkNrrdReader, vtkImageReader);
   static vtkNrrdReader *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual int CanReadFile(const char *filename);
+  int CanReadFile(const char *filename) VTK_OVERRIDE;
 
 protected:
   vtkNrrdReader();
-  ~vtkNrrdReader();
+  ~vtkNrrdReader() VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation *request,
+  int RequestInformation(vtkInformation *request,
                                  vtkInformationVector **inputVector,
-                                 vtkInformationVector *outputVector);
+                                 vtkInformationVector *outputVector) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   int ReadHeaderInternal(vtkCharArray *headerBuffer);
   virtual int ReadHeader();
diff --git a/IO/Image/vtkPNGReader.h b/IO/Image/vtkPNGReader.h
index fd37f7b440..a96ebf7b70 100644
--- a/IO/Image/vtkPNGReader.h
+++ b/IO/Image/vtkPNGReader.h
@@ -39,14 +39,14 @@ public:
   /**
    * Is the given file a PNG file?
    */
-  virtual int CanReadFile(const char* fname);
+  int CanReadFile(const char* fname) VTK_OVERRIDE;
 
   /**
    * Get the file extensions for this format.
    * Returns a string with a space separated list of extensions in
    * the format .extension
    */
-  virtual const char* GetFileExtensions()
+  const char* GetFileExtensions() VTK_OVERRIDE
   {
       return ".png";
   }
@@ -54,7 +54,7 @@ public:
   /**
    * Return a descriptive name for the file format that might be useful in a GUI.
    */
-  virtual const char* GetDescriptiveName()
+  const char* GetDescriptiveName() VTK_OVERRIDE
   {
       return "PNG";
   }
@@ -93,10 +93,10 @@ public:
   //@}
 protected:
   vtkPNGReader();
-  ~vtkPNGReader();
+  ~vtkPNGReader() VTK_OVERRIDE;
 
-  virtual void ExecuteInformation();
-  virtual void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation *outInfo);
+  void ExecuteInformation() VTK_OVERRIDE;
+  void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation *outInfo) VTK_OVERRIDE;
   template <class OT>
     void vtkPNGReaderUpdate(vtkImageData *data, OT *outPtr);
   template <class OT>
diff --git a/IO/Image/vtkPNGWriter.h b/IO/Image/vtkPNGWriter.h
index 69b3263661..04918cb55b 100644
--- a/IO/Image/vtkPNGWriter.h
+++ b/IO/Image/vtkPNGWriter.h
@@ -37,12 +37,12 @@ class VTKIOIMAGE_EXPORT vtkPNGWriter : public vtkImageWriter
 public:
   static vtkPNGWriter *New();
   vtkTypeMacro(vtkPNGWriter,vtkImageWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * The main interface which triggers the writer to start.
    */
-  virtual void Write();
+  void Write() VTK_OVERRIDE;
 
   //@{
   /**
@@ -100,7 +100,7 @@ public:
 
 protected:
   vtkPNGWriter();
-  ~vtkPNGWriter();
+  ~vtkPNGWriter() VTK_OVERRIDE;
 
   void WriteSlice(vtkImageData *data, int* uExtent);
   int CompressionLevel;
diff --git a/IO/Image/vtkPNMReader.h b/IO/Image/vtkPNMReader.h
index 72aaeecd90..cdeff6d4e2 100644
--- a/IO/Image/vtkPNMReader.h
+++ b/IO/Image/vtkPNMReader.h
@@ -45,11 +45,11 @@ public:
   vtkTypeMacro(vtkPNMReader,vtkImageReader);
   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
-  int CanReadFile(const char* fname);
+  int CanReadFile(const char* fname) VTK_OVERRIDE;
   /**
    * .pnm .pgm .ppm
    */
-  virtual const char* GetFileExtensions()
+  const char* GetFileExtensions() VTK_OVERRIDE
   {
       return ".pnm .pgm .ppm";
   }
@@ -57,15 +57,15 @@ public:
   /**
    * PNM
    */
-  virtual const char* GetDescriptiveName()
+  const char* GetDescriptiveName() VTK_OVERRIDE
   {
       return "PNM";
   }
 
 protected:
   vtkPNMReader() {}
-  ~vtkPNMReader() {}
-  void ExecuteInformation();
+  ~vtkPNMReader() VTK_OVERRIDE {}
+  void ExecuteInformation() VTK_OVERRIDE;
 private:
   vtkPNMReader(const vtkPNMReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkPNMReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Image/vtkPNMWriter.h b/IO/Image/vtkPNMWriter.h
index 6a927d53ea..95ccd921b1 100644
--- a/IO/Image/vtkPNMWriter.h
+++ b/IO/Image/vtkPNMWriter.h
@@ -35,12 +35,12 @@ public:
 
 protected:
   vtkPNMWriter() {}
-  ~vtkPNMWriter() {}
+  ~vtkPNMWriter() VTK_OVERRIDE {}
 
-  virtual void WriteFile(
-    ofstream *file, vtkImageData *data, int extent[6], int wExt[6]);
-  virtual void WriteFileHeader(
-    ofstream *, vtkImageData *, int wExt[6]);
+  void WriteFile(
+    ofstream *file, vtkImageData *data, int extent[6], int wExt[6]) VTK_OVERRIDE;
+  void WriteFileHeader(
+    ofstream *, vtkImageData *, int wExt[6]) VTK_OVERRIDE;
 private:
   vtkPNMWriter(const vtkPNMWriter&) VTK_DELETE_FUNCTION;
   void operator=(const vtkPNMWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Image/vtkPostScriptWriter.h b/IO/Image/vtkPostScriptWriter.h
index d7463cdf26..a72b730cd0 100644
--- a/IO/Image/vtkPostScriptWriter.h
+++ b/IO/Image/vtkPostScriptWriter.h
@@ -37,12 +37,12 @@ public:
 
 protected:
   vtkPostScriptWriter() {}
-  ~vtkPostScriptWriter() {}
+  ~vtkPostScriptWriter() VTK_OVERRIDE {}
 
-  virtual void WriteFile(
-    ofstream *file, vtkImageData *data, int extent[6], int wExt[6]);
-  virtual void WriteFileHeader(ofstream *, vtkImageData *, int wExt[6]);
-  virtual void WriteFileTrailer(ofstream *, vtkImageData *);
+  void WriteFile(
+    ofstream *file, vtkImageData *data, int extent[6], int wExt[6]) VTK_OVERRIDE;
+  void WriteFileHeader(ofstream *, vtkImageData *, int wExt[6]) VTK_OVERRIDE;
+  void WriteFileTrailer(ofstream *, vtkImageData *) VTK_OVERRIDE;
 private:
   vtkPostScriptWriter(const vtkPostScriptWriter&) VTK_DELETE_FUNCTION;
   void operator=(const vtkPostScriptWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Image/vtkSLCReader.h b/IO/Image/vtkSLCReader.h
index 3ffaa3abe2..b8721eb1ba 100644
--- a/IO/Image/vtkSLCReader.h
+++ b/IO/Image/vtkSLCReader.h
@@ -33,15 +33,7 @@ class VTKIOIMAGE_EXPORT vtkSLCReader : public vtkImageReader2
 public:
   static vtkSLCReader *New();
   vtkTypeMacro(vtkSLCReader,vtkImageReader2);
-  void PrintSelf(ostream& os, vtkIndent indent);
-
-  //@{
-  /**
-   * Set/Get the name of the file to read.
-   */
-  vtkSetStringMacro(FileName);
-  vtkGetStringMacro(FileName);
-  //@}
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -53,11 +45,11 @@ public:
   /**
    * Is the given file an SLC file?
    */
-  int CanReadFile(const char* fname);
+  int CanReadFile(const char* fname) VTK_OVERRIDE;
   /**
    * .slc
    */
-  virtual const char* GetFileExtensions()
+  const char* GetFileExtensions() VTK_OVERRIDE
   {
       return ".slc";
   }
@@ -65,21 +57,21 @@ public:
   /**
    * SLC
    */
-  virtual const char* GetDescriptiveName()
+  const char* GetDescriptiveName() VTK_OVERRIDE
   {
       return "SLC";
   }
 
 protected:
   vtkSLCReader();
-  ~vtkSLCReader();
+  ~vtkSLCReader() VTK_OVERRIDE;
 
   // Reads the file name and builds a vtkStructuredPoints dataset.
-  virtual void ExecuteDataWithInformation(vtkDataObject*, vtkInformation*);
+  void ExecuteDataWithInformation(vtkDataObject*, vtkInformation*) VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation* request,
+  int RequestInformation(vtkInformation* request,
                                  vtkInformationVector** inputVector,
-                                 vtkInformationVector* outputVector);
+                                 vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   // Decodes an array of eight bit run-length encoded data.
   unsigned char *Decode8BitData( unsigned char *in_ptr, int size );
diff --git a/IO/Image/vtkTIFFReader.h b/IO/Image/vtkTIFFReader.h
index 5d1fd0a0cc..32b44c3ec4 100644
--- a/IO/Image/vtkTIFFReader.h
+++ b/IO/Image/vtkTIFFReader.h
@@ -38,14 +38,14 @@ public:
   /**
    * Is the given file name a tiff file?
    */
-  virtual int CanReadFile(const char* fname);
+  int CanReadFile(const char* fname) VTK_OVERRIDE;
 
   /**
    * Get the file extensions for this format.
    * Returns a string with a space separated list of extensions in
    * the format .extension
    */
-  virtual const char* GetFileExtensions()
+  const char* GetFileExtensions() VTK_OVERRIDE
   {
     return ".tif .tiff";
   }
@@ -54,7 +54,7 @@ public:
    * Return a descriptive name for the file format that might be useful
    * in a GUI.
    */
-  virtual const char* GetDescriptiveName()
+  const char* GetDescriptiveName() VTK_OVERRIDE
   {
     return "TIFF";
   }
@@ -101,12 +101,12 @@ public:
 
 protected:
   vtkTIFFReader();
-  ~vtkTIFFReader();
+  ~vtkTIFFReader() VTK_OVERRIDE;
 
   enum { NOFORMAT, RGB, GRAYSCALE, PALETTE_RGB, PALETTE_GRAYSCALE, OTHER };
 
-  virtual void ExecuteInformation();
-  virtual void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation *outInfo);
+  void ExecuteInformation() VTK_OVERRIDE;
+  void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation *outInfo) VTK_OVERRIDE;
 
 private:
   vtkTIFFReader(const vtkTIFFReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Image/vtkTIFFWriter.h b/IO/Image/vtkTIFFWriter.h
index 548a2b15f4..08481a1335 100644
--- a/IO/Image/vtkTIFFWriter.h
+++ b/IO/Image/vtkTIFFWriter.h
@@ -40,7 +40,7 @@ public:
   /**
    * The main interface which triggers the writer to start.
    */
-  virtual void Write();
+  void Write() VTK_OVERRIDE;
 
   enum { // Compression types
     NoCompression,
@@ -66,11 +66,11 @@ public:
 
 protected:
   vtkTIFFWriter();
-  ~vtkTIFFWriter() {}
+  ~vtkTIFFWriter() VTK_OVERRIDE {}
 
-  virtual void WriteFile(ofstream *file, vtkImageData *data, int ext[6], int wExt[6]);
-  virtual void WriteFileHeader(ofstream *, vtkImageData *, int wExt[6]);
-  virtual void WriteFileTrailer(ofstream *, vtkImageData *);
+  void WriteFile(ofstream *file, vtkImageData *data, int ext[6], int wExt[6]) VTK_OVERRIDE;
+  void WriteFileHeader(ofstream *, vtkImageData *, int wExt[6]) VTK_OVERRIDE;
+  void WriteFileTrailer(ofstream *, vtkImageData *) VTK_OVERRIDE;
 
   void* TIFFPtr;
   int Compression;
diff --git a/IO/Image/vtkVolume16Reader.h b/IO/Image/vtkVolume16Reader.h
index 709754b857..22694413c8 100644
--- a/IO/Image/vtkVolume16Reader.h
+++ b/IO/Image/vtkVolume16Reader.h
@@ -62,7 +62,7 @@ class VTKIOIMAGE_EXPORT vtkVolume16Reader : public vtkVolumeReader
 {
 public:
   vtkTypeMacro(vtkVolume16Reader,vtkVolumeReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with NULL file prefix; file pattern "%s.%d"; image range
@@ -139,14 +139,14 @@ public:
   /**
    * Other objects make use of these methods
    */
-  vtkImageData *GetImage(int ImageNumber);
+  vtkImageData *GetImage(int ImageNumber) VTK_OVERRIDE;
 
 protected:
   vtkVolume16Reader();
-  ~vtkVolume16Reader();
+  ~vtkVolume16Reader() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   int   DataDimensions[2];
   unsigned short DataMask;
   int   SwapBytes;
diff --git a/IO/Image/vtkVolumeReader.h b/IO/Image/vtkVolumeReader.h
index 32115ad198..267fa46042 100644
--- a/IO/Image/vtkVolumeReader.h
+++ b/IO/Image/vtkVolumeReader.h
@@ -52,7 +52,7 @@ class VTKIOIMAGE_EXPORT vtkVolumeReader : public vtkImageAlgorithm
 {
 public:
   vtkTypeMacro(vtkVolumeReader,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -101,7 +101,7 @@ public:
 
 protected:
   vtkVolumeReader();
-  ~vtkVolumeReader();
+  ~vtkVolumeReader() VTK_OVERRIDE;
 
   char *FilePrefix;
   char *FilePattern;
diff --git a/IO/Import/vtk3DSImporter.h b/IO/Import/vtk3DSImporter.h
index 560318a0ab..4d0c43657f 100644
--- a/IO/Import/vtk3DSImporter.h
+++ b/IO/Import/vtk3DSImporter.h
@@ -37,7 +37,7 @@ public:
   static vtk3DSImporter *New();
 
   vtkTypeMacro(vtk3DSImporter,vtkImporter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -71,14 +71,14 @@ public:
 
 protected:
   vtk3DSImporter();
-  ~vtk3DSImporter();
-
-  virtual int ImportBegin ();
-  virtual void ImportEnd ();
-  virtual void ImportActors (vtkRenderer *renderer);
-  virtual void ImportCameras (vtkRenderer *renderer);
-  virtual void ImportLights (vtkRenderer *renderer);
-  virtual void ImportProperties (vtkRenderer *renderer);
+  ~vtk3DSImporter() VTK_OVERRIDE;
+
+  int ImportBegin () VTK_OVERRIDE;
+  void ImportEnd () VTK_OVERRIDE;
+  void ImportActors (vtkRenderer *renderer) VTK_OVERRIDE;
+  void ImportCameras (vtkRenderer *renderer) VTK_OVERRIDE;
+  void ImportLights (vtkRenderer *renderer) VTK_OVERRIDE;
+  void ImportProperties (vtkRenderer *renderer) VTK_OVERRIDE;
   vtkPolyData *GeneratePolyData (vtk3DSMesh *meshPtr);
   int Read3DS ();
 
diff --git a/IO/Import/vtkImporter.h b/IO/Import/vtkImporter.h
index 56f725d297..6687e29294 100644
--- a/IO/Import/vtkImporter.h
+++ b/IO/Import/vtkImporter.h
@@ -55,7 +55,7 @@ class VTKIOIMPORT_EXPORT vtkImporter : public vtkObject
 {
 public:
   vtkTypeMacro(vtkImporter,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 
   //@{
@@ -91,7 +91,7 @@ public:
 
 protected:
   vtkImporter();
-  ~vtkImporter();
+  ~vtkImporter() VTK_OVERRIDE;
 
   virtual int ImportBegin () {return 1;};
   virtual void ImportEnd () {}
diff --git a/IO/Import/vtkOBJImporter.h b/IO/Import/vtkOBJImporter.h
index 1871561096..b1520e8092 100644
--- a/IO/Import/vtkOBJImporter.h
+++ b/IO/Import/vtkOBJImporter.h
@@ -61,7 +61,7 @@ public:
   static vtkOBJImporter *New();
 
   vtkTypeMacro(vtkOBJImporter,vtkImporter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -77,11 +77,11 @@ public:
 
 protected:
   vtkOBJImporter();
-  ~vtkOBJImporter();
+  ~vtkOBJImporter() VTK_OVERRIDE;
 
-  virtual int  ImportBegin() /*override*/;
-  virtual void ImportEnd () /*override*/;
-  virtual void ReadData() /* override */;
+  int  ImportBegin() VTK_OVERRIDE /*override*/;
+  void ImportEnd () VTK_OVERRIDE /*override*/;
+  void ReadData() VTK_OVERRIDE /* override */;
 
   vtkSmartPointer<vtkOBJPolyDataProcessor>   Impl;
 
diff --git a/IO/Import/vtkOBJImporterInternals.h b/IO/Import/vtkOBJImporterInternals.h
index 52895c4790..c2b8b6b619 100644
--- a/IO/Import/vtkOBJImporterInternals.h
+++ b/IO/Import/vtkOBJImporterInternals.h
@@ -134,9 +134,9 @@ public:
   void ReadVertices(bool gotFirstUseMaterialTag, char *pLine, float xyz, int lineNr, const double v_scale, bool everything_ok, vtkPoints* points, const bool use_scale);
 protected:
   vtkOBJPolyDataProcessor();
-  ~vtkOBJPolyDataProcessor();
+  ~vtkOBJPolyDataProcessor() VTK_OVERRIDE;
   int RequestData(vtkInformation *,
-                  vtkInformationVector **, vtkInformationVector *) /*override*/;
+                  vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE /*override*/;
 
   vtkSetMacro(SuccessParsingFiles,int)
 
diff --git a/IO/Import/vtkVRMLImporter.h b/IO/Import/vtkVRMLImporter.h
index 186649d53c..56578f635f 100644
--- a/IO/Import/vtkVRMLImporter.h
+++ b/IO/Import/vtkVRMLImporter.h
@@ -77,7 +77,7 @@ public:
   static vtkVRMLImporter *New();
 
   vtkTypeMacro(vtkVRMLImporter, vtkImporter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -108,15 +108,15 @@ public:
 
 protected:
   vtkVRMLImporter();
-  ~vtkVRMLImporter();
+  ~vtkVRMLImporter() VTK_OVERRIDE;
 
   int OpenImportFile();
-  virtual int ImportBegin();
-  virtual void ImportEnd();
-  virtual void ImportActors(vtkRenderer*) {}
-  virtual void ImportCameras(vtkRenderer*) {}
-  virtual void ImportLights(vtkRenderer*) {}
-  virtual void ImportProperties(vtkRenderer*) {}
+  int ImportBegin() VTK_OVERRIDE;
+  void ImportEnd() VTK_OVERRIDE;
+  void ImportActors(vtkRenderer*) VTK_OVERRIDE {}
+  void ImportCameras(vtkRenderer*) VTK_OVERRIDE {}
+  void ImportLights(vtkRenderer*) VTK_OVERRIDE {}
+  void ImportProperties(vtkRenderer*) VTK_OVERRIDE {}
 
   //@{
   /**
diff --git a/IO/Infovis/vtkBiomTableReader.h b/IO/Infovis/vtkBiomTableReader.h
index d1fd26852a..49692d7e27 100644
--- a/IO/Infovis/vtkBiomTableReader.h
+++ b/IO/Infovis/vtkBiomTableReader.h
@@ -36,7 +36,7 @@ class VTKIOINFOVIS_EXPORT vtkBiomTableReader : public vtkTableReader
 public:
   static vtkBiomTableReader *New();
   vtkTypeMacro(vtkBiomTableReader,vtkTableReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -49,18 +49,18 @@ public:
 
 protected:
   vtkBiomTableReader();
-  ~vtkBiomTableReader();
+  ~vtkBiomTableReader() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   // Since the Outputs[0] has the same UpdateExtent format
   // as the generic DataObject we can copy the UpdateExtent
   // as a default behavior.
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
-                                  vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
   void ParseShape();
   void ParseDataType();
   void ParseSparseness();
diff --git a/IO/Infovis/vtkChacoGraphReader.h b/IO/Infovis/vtkChacoGraphReader.h
index bfa8897567..ec1acd2d5a 100644
--- a/IO/Infovis/vtkChacoGraphReader.h
+++ b/IO/Infovis/vtkChacoGraphReader.h
@@ -56,7 +56,7 @@ class VTKIOINFOVIS_EXPORT vtkChacoGraphReader : public vtkUndirectedGraphAlgorit
 public:
   static vtkChacoGraphReader *New();
   vtkTypeMacro(vtkChacoGraphReader, vtkUndirectedGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -68,12 +68,12 @@ public:
 
 protected:
   vtkChacoGraphReader();
-  ~vtkChacoGraphReader();
+  ~vtkChacoGraphReader() VTK_OVERRIDE;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation *,
     vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   char* FileName;
diff --git a/IO/Infovis/vtkDIMACSGraphReader.h b/IO/Infovis/vtkDIMACSGraphReader.h
index 56115da342..7bac5b305c 100644
--- a/IO/Infovis/vtkDIMACSGraphReader.h
+++ b/IO/Infovis/vtkDIMACSGraphReader.h
@@ -67,7 +67,7 @@ public:
 
   static vtkDIMACSGraphReader *New();
   vtkTypeMacro(vtkDIMACSGraphReader, vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -96,11 +96,11 @@ public:
 protected:
 
   vtkDIMACSGraphReader();
-  ~vtkDIMACSGraphReader();
+  ~vtkDIMACSGraphReader() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   int buildGenericGraph(vtkGraph     * output,
                         vtkStdString & defaultVertexAttrArrayName,
@@ -112,9 +112,9 @@ protected:
   /**
    * Creates directed or undirected output based on Directed flag.
    */
-  virtual int RequestDataObject(vtkInformation*,
+  int RequestDataObject(vtkInformation*,
                                 vtkInformationVector** inputVector,
-                                vtkInformationVector* outputVector);
+                                vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   int ReadGraphMetaData();
 
diff --git a/IO/Infovis/vtkDIMACSGraphWriter.h b/IO/Infovis/vtkDIMACSGraphWriter.h
index 575b157981..73df4803fe 100644
--- a/IO/Infovis/vtkDIMACSGraphWriter.h
+++ b/IO/Infovis/vtkDIMACSGraphWriter.h
@@ -57,7 +57,7 @@ class VTKIOINFOVIS_EXPORT vtkDIMACSGraphWriter : public vtkDataWriter
 public:
   static vtkDIMACSGraphWriter *New();
   vtkTypeMacro(vtkDIMACSGraphWriter,vtkDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -69,11 +69,11 @@ public:
 
 protected:
   vtkDIMACSGraphWriter() {}
-  ~vtkDIMACSGraphWriter() {}
+  ~vtkDIMACSGraphWriter() VTK_OVERRIDE {}
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkDIMACSGraphWriter(const vtkDIMACSGraphWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Infovis/vtkDelimitedTextReader.h b/IO/Infovis/vtkDelimitedTextReader.h
index 10ae6805fd..d9cfb43d45 100644
--- a/IO/Infovis/vtkDelimitedTextReader.h
+++ b/IO/Infovis/vtkDelimitedTextReader.h
@@ -74,7 +74,7 @@ class VTKIOINFOVIS_EXPORT vtkDelimitedTextReader : public vtkTableAlgorithm
 public:
   static vtkDelimitedTextReader* New();
   vtkTypeMacro(vtkDelimitedTextReader, vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -319,12 +319,12 @@ public:
 
 protected:
   vtkDelimitedTextReader();
-  ~vtkDelimitedTextReader();
+  ~vtkDelimitedTextReader() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   char* FileName;
   int ReadFromInputString;
diff --git a/IO/Infovis/vtkFixedWidthTextReader.h b/IO/Infovis/vtkFixedWidthTextReader.h
index 2ec5a35712..b6b544bc89 100644
--- a/IO/Infovis/vtkFixedWidthTextReader.h
+++ b/IO/Infovis/vtkFixedWidthTextReader.h
@@ -55,7 +55,7 @@ class VTKIOINFOVIS_EXPORT vtkFixedWidthTextReader : public vtkTableAlgorithm
 public:
   static vtkFixedWidthTextReader* New();
   vtkTypeMacro(vtkFixedWidthTextReader,vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkGetStringMacro(FileName);
   vtkSetStringMacro(FileName);
@@ -98,12 +98,12 @@ public:
 
  protected:
   vtkFixedWidthTextReader();
-  ~vtkFixedWidthTextReader();
+  ~vtkFixedWidthTextReader() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   void OpenFile();
 
diff --git a/IO/Infovis/vtkISIReader.h b/IO/Infovis/vtkISIReader.h
index 015ac4a21d..dfc942ed20 100644
--- a/IO/Infovis/vtkISIReader.h
+++ b/IO/Infovis/vtkISIReader.h
@@ -46,7 +46,7 @@ class VTKIOINFOVIS_EXPORT vtkISIReader : public vtkTableAlgorithm
 public:
   static vtkISIReader* New();
   vtkTypeMacro(vtkISIReader,vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -74,12 +74,12 @@ public:
 
  protected:
   vtkISIReader();
-  ~vtkISIReader();
+  ~vtkISIReader() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   char* FileName;
   char* Delimiter;
diff --git a/IO/Infovis/vtkMultiNewickTreeReader.h b/IO/Infovis/vtkMultiNewickTreeReader.h
index fdcaedd5b5..e261fef7de 100644
--- a/IO/Infovis/vtkMultiNewickTreeReader.h
+++ b/IO/Infovis/vtkMultiNewickTreeReader.h
@@ -39,7 +39,7 @@ class VTKIOINFOVIS_EXPORT vtkMultiNewickTreeReader : public vtkDataReader
 public:
   static vtkMultiNewickTreeReader *New();
   vtkTypeMacro(vtkMultiNewickTreeReader,vtkDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -52,18 +52,18 @@ public:
 
 protected:
   vtkMultiNewickTreeReader();
-  ~vtkMultiNewickTreeReader();
+  ~vtkMultiNewickTreeReader() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   // Since the Outputs[0] has the same UpdateExtent format
   // as the generic DataObject we can copy the UpdateExtent
   // as a default behavior.
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
-                                  vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 private:
   vtkMultiNewickTreeReader(const vtkMultiNewickTreeReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkMultiNewickTreeReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Infovis/vtkNewickTreeReader.h b/IO/Infovis/vtkNewickTreeReader.h
index 11e3eae2ee..36cd0e6763 100644
--- a/IO/Infovis/vtkNewickTreeReader.h
+++ b/IO/Infovis/vtkNewickTreeReader.h
@@ -44,7 +44,7 @@ class VTKIOINFOVIS_EXPORT vtkNewickTreeReader : public vtkDataReader
 public:
   static vtkNewickTreeReader *New();
   vtkTypeMacro(vtkNewickTreeReader,vtkDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -58,18 +58,18 @@ public:
 
 protected:
   vtkNewickTreeReader();
-  ~vtkNewickTreeReader();
+  ~vtkNewickTreeReader() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   // Since the Outputs[0] has the same UpdateExtent format
   // as the generic DataObject we can copy the UpdateExtent
   // as a default behavior.
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
-                                  vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
   void CountNodes(const char * buffer, vtkIdType *numNodes);
   vtkIdType BuildTree(char *buffer, vtkMutableDirectedGraph *g,
     vtkDoubleArray *weights, vtkStringArray *names, vtkIdType parent);
diff --git a/IO/Infovis/vtkNewickTreeWriter.h b/IO/Infovis/vtkNewickTreeWriter.h
index 8ad993eda1..13888cbdec 100644
--- a/IO/Infovis/vtkNewickTreeWriter.h
+++ b/IO/Infovis/vtkNewickTreeWriter.h
@@ -34,7 +34,7 @@ class VTKIOINFOVIS_EXPORT vtkNewickTreeWriter : public vtkDataWriter
 public:
   static vtkNewickTreeWriter *New();
   vtkTypeMacro(vtkNewickTreeWriter,vtkDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -70,9 +70,9 @@ public:
 
 protected:
   vtkNewickTreeWriter();
-  ~vtkNewickTreeWriter() {}
+  ~vtkNewickTreeWriter() VTK_OVERRIDE {}
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
   /**
    * Write one vertex.  This function calls itself recursively for
@@ -80,7 +80,7 @@ protected:
    */
   void WriteVertex(ostream *fp, vtkTree* const input, vtkIdType vertex);
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   vtkStdString EdgeWeightArrayName;
   vtkStdString NodeNameArrayName;
diff --git a/IO/Infovis/vtkPhyloXMLTreeReader.h b/IO/Infovis/vtkPhyloXMLTreeReader.h
index 0d0c04e99c..71e38845b0 100644
--- a/IO/Infovis/vtkPhyloXMLTreeReader.h
+++ b/IO/Infovis/vtkPhyloXMLTreeReader.h
@@ -49,7 +49,7 @@ class VTKIOINFOVIS_EXPORT vtkPhyloXMLTreeReader : public vtkXMLReader
 public:
   static vtkPhyloXMLTreeReader *New();
   vtkTypeMacro(vtkPhyloXMLTreeReader,vtkXMLReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -61,12 +61,12 @@ public:
 
 protected:
   vtkPhyloXMLTreeReader();
-  ~vtkPhyloXMLTreeReader();
+  ~vtkPhyloXMLTreeReader() VTK_OVERRIDE;
 
   /**
    * Read the input PhyloXML and populate our output vtkTree.
    */
-  virtual void ReadXMLData();
+  void ReadXMLData() VTK_OVERRIDE;
 
   /**
    * Read one particular XML element.  This method calls the more specific
@@ -157,10 +157,10 @@ protected:
    */
   std::string GetStringAfterColon(const char *input);
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
-  virtual const char* GetDataSetName();
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
+  const char* GetDataSetName() VTK_OVERRIDE;
   void SetOutput(vtkTree *output);
-  virtual void SetupEmptyOutput();
+  void SetupEmptyOutput() VTK_OVERRIDE;
 
 private:
   vtkIdType NumberOfNodes;
diff --git a/IO/Infovis/vtkPhyloXMLTreeWriter.h b/IO/Infovis/vtkPhyloXMLTreeWriter.h
index ca313014e4..04b87d0d3a 100644
--- a/IO/Infovis/vtkPhyloXMLTreeWriter.h
+++ b/IO/Infovis/vtkPhyloXMLTreeWriter.h
@@ -37,7 +37,7 @@ class VTKIOINFOVIS_EXPORT vtkPhyloXMLTreeWriter : public vtkXMLWriter
 public:
   static vtkPhyloXMLTreeWriter *New();
   vtkTypeMacro(vtkPhyloXMLTreeWriter,vtkXMLWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -50,7 +50,7 @@ public:
   /**
    * Get the default file extension for files written by this writer.
    */
-  virtual const char* GetDefaultFileExtension();
+  const char* GetDefaultFileExtension() VTK_OVERRIDE;
 
   //@{
   /**
@@ -85,13 +85,13 @@ public:
 
 protected:
   vtkPhyloXMLTreeWriter();
-  ~vtkPhyloXMLTreeWriter() {}
+  ~vtkPhyloXMLTreeWriter() VTK_OVERRIDE {}
 
-  virtual int WriteData();
+  int WriteData() VTK_OVERRIDE;
 
-  virtual const char* GetDataSetName();
-  virtual int StartFile();
-  virtual int EndFile();
+  const char* GetDataSetName() VTK_OVERRIDE;
+  int StartFile() VTK_OVERRIDE;
+  int EndFile() VTK_OVERRIDE;
 
   /**
    * Check for an optional, tree-level element and write it out if it is
@@ -151,7 +151,7 @@ protected:
   const char* GetArrayAttribute(vtkAbstractArray *array,
                                 const char *attributeName);
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   vtkInformation* InputInformation;
 
diff --git a/IO/Infovis/vtkRISReader.h b/IO/Infovis/vtkRISReader.h
index cda20a6487..973abc1d23 100644
--- a/IO/Infovis/vtkRISReader.h
+++ b/IO/Infovis/vtkRISReader.h
@@ -48,7 +48,7 @@ class VTKIOINFOVIS_EXPORT vtkRISReader : public vtkTableAlgorithm
 public:
   static vtkRISReader* New();
   vtkTypeMacro(vtkRISReader,vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -76,12 +76,12 @@ public:
 
  protected:
   vtkRISReader();
-  ~vtkRISReader();
+  ~vtkRISReader() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   char* FileName;
   char* Delimiter;
diff --git a/IO/Infovis/vtkTulipReader.h b/IO/Infovis/vtkTulipReader.h
index c97e998031..5f107db30e 100644
--- a/IO/Infovis/vtkTulipReader.h
+++ b/IO/Infovis/vtkTulipReader.h
@@ -73,7 +73,7 @@ class VTKIOINFOVIS_EXPORT vtkTulipReader : public vtkUndirectedGraphAlgorithm
 public:
   static vtkTulipReader *New();
   vtkTypeMacro(vtkTulipReader, vtkUndirectedGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -85,17 +85,17 @@ public:
 
 protected:
   vtkTulipReader();
-  ~vtkTulipReader();
+  ~vtkTulipReader() VTK_OVERRIDE;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation *,
     vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Set the outputs to vtkUndirectedGraph and vtkAnnotationLayers.
    */
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   char* FileName;
diff --git a/IO/Infovis/vtkXGMLReader.h b/IO/Infovis/vtkXGMLReader.h
index a219909f21..81246f1dbd 100644
--- a/IO/Infovis/vtkXGMLReader.h
+++ b/IO/Infovis/vtkXGMLReader.h
@@ -42,7 +42,7 @@ class VTKIOINFOVIS_EXPORT vtkXGMLReader : public vtkUndirectedGraphAlgorithm
 public:
   static vtkXGMLReader *New();
   vtkTypeMacro(vtkXGMLReader, vtkUndirectedGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -54,12 +54,12 @@ public:
 
 protected:
   vtkXGMLReader();
-  ~vtkXGMLReader();
+  ~vtkXGMLReader() VTK_OVERRIDE;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation *,
     vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   char* FileName;
diff --git a/IO/Infovis/vtkXMLTreeReader.h b/IO/Infovis/vtkXMLTreeReader.h
index ff091db4ff..280c7bde03 100644
--- a/IO/Infovis/vtkXMLTreeReader.h
+++ b/IO/Infovis/vtkXMLTreeReader.h
@@ -96,7 +96,7 @@ class VTKIOINFOVIS_EXPORT vtkXMLTreeReader : public vtkTreeAlgorithm
 public:
   static vtkXMLTreeReader* New();
   vtkTypeMacro(vtkXMLTreeReader,vtkTreeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -182,7 +182,7 @@ public:
 
 protected:
   vtkXMLTreeReader();
-  ~vtkXMLTreeReader();
+  ~vtkXMLTreeReader() VTK_OVERRIDE;
   char* FileName;
   char* XMLString;
   bool ReadCharData;
@@ -196,7 +196,7 @@ protected:
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkXMLTreeReader(const vtkXMLTreeReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/LSDyna/vtkLSDynaPart.h b/IO/LSDyna/vtkLSDynaPart.h
index 949972fcb1..57c3f3e9e4 100644
--- a/IO/LSDyna/vtkLSDynaPart.h
+++ b/IO/LSDyna/vtkLSDynaPart.h
@@ -29,7 +29,7 @@ public:
   static vtkLSDynaPart *New();
 
   vtkTypeMacro(vtkLSDynaPart,vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //Description: Set the type of the part
   void SetPartType(int type);
@@ -137,7 +137,7 @@ public:
 
 protected:
   vtkLSDynaPart();
-  ~vtkLSDynaPart();
+  ~vtkLSDynaPart() VTK_OVERRIDE;
 
   vtkUnstructuredGrid* RemoveDeletedCells();
 
diff --git a/IO/LSDyna/vtkLSDynaPartCollection.h b/IO/LSDyna/vtkLSDynaPartCollection.h
index 596ab6da0b..f1db81dbed 100644
--- a/IO/LSDyna/vtkLSDynaPartCollection.h
+++ b/IO/LSDyna/vtkLSDynaPartCollection.h
@@ -32,7 +32,7 @@ public:
   static vtkLSDynaPartCollection *New();
 
   vtkTypeMacro(vtkLSDynaPartCollection,vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //Description:
   //Pass in the metadata to setup this collection.
@@ -129,7 +129,7 @@ public:
 
 protected:
   vtkLSDynaPartCollection();
-  ~vtkLSDynaPartCollection();
+  ~vtkLSDynaPartCollection() VTK_OVERRIDE;
 
   vtkIdType* MinIds;
   vtkIdType* MaxIds;
diff --git a/IO/LSDyna/vtkLSDynaReader.h b/IO/LSDyna/vtkLSDynaReader.h
index d6fd220502..ff6685be9d 100644
--- a/IO/LSDyna/vtkLSDynaReader.h
+++ b/IO/LSDyna/vtkLSDynaReader.h
@@ -165,7 +165,7 @@ class VTKIOLSDYNA_EXPORT vtkLSDynaReader : public vtkMultiBlockDataSetAlgorithm
 {
 public:
   vtkTypeMacro(vtkLSDynaReader,vtkMultiBlockDataSetAlgorithm);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
   static vtkLSDynaReader *New();
 
   /**
@@ -558,7 +558,7 @@ protected:
   char* InputDeck;
 
   vtkLSDynaReader();
-  virtual ~vtkLSDynaReader();
+  ~vtkLSDynaReader() VTK_OVERRIDE;
 
   /**
    * This function populates the reader's private dictionary with
@@ -581,8 +581,8 @@ protected:
    */
   int ScanDatabaseTimeSteps();
 
-  virtual int RequestInformation( vtkInformation*, vtkInformationVector**, vtkInformationVector* );
-  virtual int RequestData( vtkInformation*, vtkInformationVector**, vtkInformationVector* );
+  int RequestInformation( vtkInformation*, vtkInformationVector**, vtkInformationVector* ) VTK_OVERRIDE;
+  int RequestData( vtkInformation*, vtkInformationVector**, vtkInformationVector* ) VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/IO/LSDyna/vtkLSDynaSummaryParser.h b/IO/LSDyna/vtkLSDynaSummaryParser.h
index 7668d9fb0b..855cad67f5 100644
--- a/IO/LSDyna/vtkLSDynaSummaryParser.h
+++ b/IO/LSDyna/vtkLSDynaSummaryParser.h
@@ -33,7 +33,7 @@ class VTKIOLSDYNA_EXPORT vtkLSDynaSummaryParser : public vtkXMLParser
 public:
   vtkTypeMacro(vtkLSDynaSummaryParser,vtkXMLParser);
   static vtkLSDynaSummaryParser* New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
 
 
@@ -42,11 +42,11 @@ public:
 
 protected:
   vtkLSDynaSummaryParser();
-  virtual ~vtkLSDynaSummaryParser() { };
+  ~vtkLSDynaSummaryParser() VTK_OVERRIDE { };
 
-  virtual void StartElement(const char* name, const char** atts);
-  virtual void EndElement(const char* name);
-  virtual void CharacterDataHandler(const char* data, int length);
+  void StartElement(const char* name, const char** atts) VTK_OVERRIDE;
+  void EndElement(const char* name) VTK_OVERRIDE;
+  void CharacterDataHandler(const char* data, int length) VTK_OVERRIDE;
 
   vtkStdString PartName;
   int PartId;
diff --git a/IO/Legacy/vtkCompositeDataReader.h b/IO/Legacy/vtkCompositeDataReader.h
index ac01093183..67a941f4bf 100644
--- a/IO/Legacy/vtkCompositeDataReader.h
+++ b/IO/Legacy/vtkCompositeDataReader.h
@@ -40,7 +40,7 @@ class VTKIOLEGACY_EXPORT vtkCompositeDataReader : public vtkDataReader
 public:
   static vtkCompositeDataReader* New();
   vtkTypeMacro(vtkCompositeDataReader, vtkDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -53,26 +53,26 @@ public:
 
 protected:
   vtkCompositeDataReader();
-  ~vtkCompositeDataReader();
+  ~vtkCompositeDataReader() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   // Override ProcessRequest to handle request data object event
-  virtual int ProcessRequest(vtkInformation *, vtkInformationVector **,
-                             vtkInformationVector *);
+  int ProcessRequest(vtkInformation *, vtkInformationVector **,
+                             vtkInformationVector *) VTK_OVERRIDE;
 
   // Since the Outputs[0] has the same UpdateExtent format
   // as the generic DataObject we can copy the UpdateExtent
   // as a default behavior.
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
-                                  vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
   // Create output (a directed or undirected graph).
   virtual int RequestDataObject(vtkInformation *, vtkInformationVector **,
                                 vtkInformationVector *);
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   /**
    * Read the output type information.
diff --git a/IO/Legacy/vtkCompositeDataWriter.h b/IO/Legacy/vtkCompositeDataWriter.h
index 85a093099f..e2147d3950 100644
--- a/IO/Legacy/vtkCompositeDataWriter.h
+++ b/IO/Legacy/vtkCompositeDataWriter.h
@@ -43,7 +43,7 @@ class VTKIOLEGACY_EXPORT vtkCompositeDataWriter : public vtkDataWriter
 public:
   static vtkCompositeDataWriter* New();
   vtkTypeMacro(vtkCompositeDataWriter, vtkDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -55,14 +55,14 @@ public:
 
 protected:
   vtkCompositeDataWriter();
-  ~vtkCompositeDataWriter();
+  ~vtkCompositeDataWriter() VTK_OVERRIDE;
 
   //@{
   /**
    * Performs the actual writing.
    */
-  virtual void WriteData();
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  void WriteData() VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
   //@}
 
   bool WriteCompositeData(ostream*, vtkMultiBlockDataSet*);
diff --git a/IO/Legacy/vtkDataObjectReader.h b/IO/Legacy/vtkDataObjectReader.h
index 08143ef32e..715f3ac871 100644
--- a/IO/Legacy/vtkDataObjectReader.h
+++ b/IO/Legacy/vtkDataObjectReader.h
@@ -41,7 +41,7 @@ class VTKIOLEGACY_EXPORT vtkDataObjectReader : public vtkDataReader
 public:
   static vtkDataObjectReader *New();
   vtkTypeMacro(vtkDataObjectReader,vtkDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -54,11 +54,11 @@ public:
 
 protected:
   vtkDataObjectReader();
-  ~vtkDataObjectReader();
+  ~vtkDataObjectReader() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 private:
   vtkDataObjectReader(const vtkDataObjectReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkDataObjectReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkDataObjectWriter.h b/IO/Legacy/vtkDataObjectWriter.h
index b4711fb20a..cad483f8a9 100644
--- a/IO/Legacy/vtkDataObjectWriter.h
+++ b/IO/Legacy/vtkDataObjectWriter.h
@@ -40,7 +40,7 @@ class VTKIOLEGACY_EXPORT vtkDataObjectWriter : public vtkWriter
 public:
   static vtkDataObjectWriter *New();
   vtkTypeMacro(vtkDataObjectWriter,vtkWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -68,12 +68,12 @@ public:
 
 protected:
   vtkDataObjectWriter();
-  ~vtkDataObjectWriter();
+  ~vtkDataObjectWriter() VTK_OVERRIDE;
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
   vtkDataWriter *Writer;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkDataObjectWriter(const vtkDataObjectWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkDataReader.h b/IO/Legacy/vtkDataReader.h
index fa0f5fc741..2c5f7098e3 100644
--- a/IO/Legacy/vtkDataReader.h
+++ b/IO/Legacy/vtkDataReader.h
@@ -58,7 +58,7 @@ public:
 
   static vtkDataReader *New();
   vtkTypeMacro(vtkDataReader,vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -447,7 +447,7 @@ public:
 
 protected:
   vtkDataReader();
-  ~vtkDataReader();
+  ~vtkDataReader() VTK_OVERRIDE;
 
   char *FileName;
   int FileType;
@@ -535,8 +535,8 @@ protected:
    */
   int DecodeString(char *resname, const char* name);
 
-  virtual int ProcessRequest(vtkInformation *, vtkInformationVector **,
-                             vtkInformationVector *);
+  int ProcessRequest(vtkInformation *, vtkInformationVector **,
+                             vtkInformationVector *) VTK_OVERRIDE;
   virtual int RequestData(vtkInformation *, vtkInformationVector **,
                           vtkInformationVector *)
     { return 1; }
diff --git a/IO/Legacy/vtkDataSetReader.h b/IO/Legacy/vtkDataSetReader.h
index cf4ce5c04e..2c2ce01f4b 100644
--- a/IO/Legacy/vtkDataSetReader.h
+++ b/IO/Legacy/vtkDataSetReader.h
@@ -49,7 +49,7 @@ class VTKIOLEGACY_EXPORT vtkDataSetReader : public vtkDataReader
 public:
   static vtkDataSetReader *New();
   vtkTypeMacro(vtkDataSetReader,vtkDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -82,17 +82,17 @@ public:
 
 protected:
   vtkDataSetReader();
-  ~vtkDataSetReader();
+  ~vtkDataSetReader() VTK_OVERRIDE;
 
-  virtual int ProcessRequest(vtkInformation *, vtkInformationVector **,
-                             vtkInformationVector *);
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int ProcessRequest(vtkInformation *, vtkInformationVector **,
+                             vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
   virtual int RequestDataObject(vtkInformation *, vtkInformationVector **,
                                 vtkInformationVector *);
-  virtual int FillOutputPortInformation(int, vtkInformation *);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
-                                 vtkInformationVector *);
+  int FillOutputPortInformation(int, vtkInformation *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **,
+                                 vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkDataSetReader(const vtkDataSetReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkDataSetWriter.h b/IO/Legacy/vtkDataSetWriter.h
index ed8941e7b1..67c3dd5ba5 100644
--- a/IO/Legacy/vtkDataSetWriter.h
+++ b/IO/Legacy/vtkDataSetWriter.h
@@ -32,7 +32,7 @@ class VTKIOLEGACY_EXPORT vtkDataSetWriter : public vtkDataWriter
 public:
   static vtkDataSetWriter *New();
   vtkTypeMacro(vtkDataSetWriter,vtkDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -44,11 +44,11 @@ public:
 
 protected:
   vtkDataSetWriter() {}
-  ~vtkDataSetWriter() {}
+  ~vtkDataSetWriter() VTK_OVERRIDE {}
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkDataSetWriter(const vtkDataSetWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkDataWriter.h b/IO/Legacy/vtkDataWriter.h
index 585b3ae934..64cdf9c141 100644
--- a/IO/Legacy/vtkDataWriter.h
+++ b/IO/Legacy/vtkDataWriter.h
@@ -46,7 +46,7 @@ class VTKIOLEGACY_EXPORT vtkDataWriter : public vtkWriter
 {
 public:
   vtkTypeMacro(vtkDataWriter,vtkWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Created object with default header, ASCII format, and default names for
@@ -290,13 +290,13 @@ public:
 
 protected:
   vtkDataWriter();
-  ~vtkDataWriter();
+  ~vtkDataWriter() VTK_OVERRIDE;
 
   int WriteToOutputString;
   char *OutputString;
   int OutputStringLength;
 
-  void WriteData(); //dummy method to allow this class to be instantiated and delegated to
+  void WriteData() VTK_OVERRIDE; //dummy method to allow this class to be instantiated and delegated to
 
   char *FileName;
   char *Header;
diff --git a/IO/Legacy/vtkGenericDataObjectReader.h b/IO/Legacy/vtkGenericDataObjectReader.h
index 5903ce74ac..35b024a1d6 100644
--- a/IO/Legacy/vtkGenericDataObjectReader.h
+++ b/IO/Legacy/vtkGenericDataObjectReader.h
@@ -54,7 +54,7 @@ class VTKIOLEGACY_EXPORT vtkGenericDataObjectReader : public vtkDataReader
 public:
   static vtkGenericDataObjectReader *New();
   vtkTypeMacro(vtkGenericDataObjectReader,vtkDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -92,20 +92,20 @@ public:
   /**
    * See vtkAlgorithm for information.
    */
-  virtual int ProcessRequest(vtkInformation *, vtkInformationVector **,
-                             vtkInformationVector *);
+  int ProcessRequest(vtkInformation *, vtkInformationVector **,
+                             vtkInformationVector *) VTK_OVERRIDE;
 
 protected:
   vtkGenericDataObjectReader();
-  ~vtkGenericDataObjectReader();
+  ~vtkGenericDataObjectReader() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
   virtual int RequestDataObject(vtkInformation *, vtkInformationVector **,
                                 vtkInformationVector *);
-  virtual int FillOutputPortInformation(int, vtkInformation *);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
-                                 vtkInformationVector *);
+  int FillOutputPortInformation(int, vtkInformation *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **,
+                                 vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkGenericDataObjectReader(const vtkGenericDataObjectReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkGenericDataObjectWriter.h b/IO/Legacy/vtkGenericDataObjectWriter.h
index fc9adf79fb..732b22d34e 100644
--- a/IO/Legacy/vtkGenericDataObjectWriter.h
+++ b/IO/Legacy/vtkGenericDataObjectWriter.h
@@ -31,14 +31,14 @@ class VTKIOLEGACY_EXPORT vtkGenericDataObjectWriter : public vtkDataWriter
 public:
   static vtkGenericDataObjectWriter *New();
   vtkTypeMacro(vtkGenericDataObjectWriter,vtkDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkGenericDataObjectWriter();
-  ~vtkGenericDataObjectWriter();
+  ~vtkGenericDataObjectWriter() VTK_OVERRIDE;
 
-  void WriteData();
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  void WriteData() VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkGenericDataObjectWriter(const vtkGenericDataObjectWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkGraphReader.h b/IO/Legacy/vtkGraphReader.h
index 4879233f13..d579ec5259 100644
--- a/IO/Legacy/vtkGraphReader.h
+++ b/IO/Legacy/vtkGraphReader.h
@@ -41,7 +41,7 @@ class VTKIOLEGACY_EXPORT vtkGraphReader : public vtkDataReader
 public:
   static vtkGraphReader *New();
   vtkTypeMacro(vtkGraphReader,vtkDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -54,7 +54,7 @@ public:
 
 protected:
   vtkGraphReader();
-  ~vtkGraphReader();
+  ~vtkGraphReader() VTK_OVERRIDE;
 
   enum GraphType
   {
@@ -64,18 +64,18 @@ protected:
     Molecule
   };
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   // Override ProcessRequest to handle request data object event
-  virtual int ProcessRequest(vtkInformation *, vtkInformationVector **,
-                             vtkInformationVector *);
+  int ProcessRequest(vtkInformation *, vtkInformationVector **,
+                             vtkInformationVector *) VTK_OVERRIDE;
 
   // Since the Outputs[0] has the same UpdateExtent format
   // as the generic DataObject we can copy the UpdateExtent
   // as a default behavior.
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
-                                  vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
   // Create output (a directed or undirected graph).
   virtual int RequestDataObject(vtkInformation *, vtkInformationVector **,
@@ -85,7 +85,7 @@ protected:
   virtual int ReadGraphType(GraphType &type);
 
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 private:
   vtkGraphReader(const vtkGraphReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkGraphReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkGraphWriter.h b/IO/Legacy/vtkGraphWriter.h
index e48409c8a3..1803821b38 100644
--- a/IO/Legacy/vtkGraphWriter.h
+++ b/IO/Legacy/vtkGraphWriter.h
@@ -36,7 +36,7 @@ class VTKIOLEGACY_EXPORT vtkGraphWriter : public vtkDataWriter
 public:
   static vtkGraphWriter *New();
   vtkTypeMacro(vtkGraphWriter,vtkDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -48,13 +48,13 @@ public:
 
 protected:
   vtkGraphWriter() {}
-  ~vtkGraphWriter() {}
+  ~vtkGraphWriter() VTK_OVERRIDE {}
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
   void WriteMoleculeData(ostream *fp, vtkMolecule *m);
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkGraphWriter(const vtkGraphWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkPolyDataReader.h b/IO/Legacy/vtkPolyDataReader.h
index 0c2ccbef25..bc56b23af3 100644
--- a/IO/Legacy/vtkPolyDataReader.h
+++ b/IO/Legacy/vtkPolyDataReader.h
@@ -41,7 +41,7 @@ class VTKIOLEGACY_EXPORT vtkPolyDataReader : public vtkDataReader
 public:
   static vtkPolyDataReader *New();
   vtkTypeMacro(vtkPolyDataReader,vtkDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -54,18 +54,18 @@ public:
 
 protected:
   vtkPolyDataReader();
-  ~vtkPolyDataReader();
+  ~vtkPolyDataReader() VTK_OVERRIDE;
 
   int RequestData(vtkInformation *, vtkInformationVector **,
-                  vtkInformationVector *);
+                  vtkInformationVector *) VTK_OVERRIDE;
 
   // Update extent of PolyData is specified in pieces.
   // Since all DataObjects should be able to set UpdateExent as pieces,
   // just copy output->UpdateExtent  all Inputs.
   int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
-  int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
 private:
   vtkPolyDataReader(const vtkPolyDataReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkPolyDataWriter.h b/IO/Legacy/vtkPolyDataWriter.h
index 25b6ac88fc..98ecc49c0c 100644
--- a/IO/Legacy/vtkPolyDataWriter.h
+++ b/IO/Legacy/vtkPolyDataWriter.h
@@ -35,7 +35,7 @@ class VTKIOLEGACY_EXPORT vtkPolyDataWriter : public vtkDataWriter
 public:
   static vtkPolyDataWriter *New();
   vtkTypeMacro(vtkPolyDataWriter,vtkDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -47,11 +47,11 @@ public:
 
 protected:
   vtkPolyDataWriter() {}
-  ~vtkPolyDataWriter() {}
+  ~vtkPolyDataWriter() VTK_OVERRIDE {}
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkPolyDataWriter(const vtkPolyDataWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkRectilinearGridReader.h b/IO/Legacy/vtkRectilinearGridReader.h
index 71cfc8616c..2ac7d9a6d8 100644
--- a/IO/Legacy/vtkRectilinearGridReader.h
+++ b/IO/Legacy/vtkRectilinearGridReader.h
@@ -41,7 +41,7 @@ class VTKIOLEGACY_EXPORT vtkRectilinearGridReader : public vtkDataReader
 public:
   static vtkRectilinearGridReader *New();
   vtkTypeMacro(vtkRectilinearGridReader,vtkDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -56,18 +56,18 @@ public:
    * Read the meta information from the file.  This needs to be public to it
    * can be accessed by vtkDataSetReader.
    */
-  virtual int ReadMetaData(vtkInformation *outInfo);
+  int ReadMetaData(vtkInformation *outInfo) VTK_OVERRIDE;
 
 protected:
   vtkRectilinearGridReader();
-  ~vtkRectilinearGridReader();
+  ~vtkRectilinearGridReader() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
-                                 vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **,
+                                 vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 private:
   vtkRectilinearGridReader(const vtkRectilinearGridReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkRectilinearGridReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkRectilinearGridWriter.h b/IO/Legacy/vtkRectilinearGridWriter.h
index 11e226a610..8157b9e82a 100644
--- a/IO/Legacy/vtkRectilinearGridWriter.h
+++ b/IO/Legacy/vtkRectilinearGridWriter.h
@@ -36,7 +36,7 @@ class VTKIOLEGACY_EXPORT vtkRectilinearGridWriter : public vtkDataWriter
 public:
   static vtkRectilinearGridWriter *New();
   vtkTypeMacro(vtkRectilinearGridWriter,vtkDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -48,11 +48,11 @@ public:
 
 protected:
   vtkRectilinearGridWriter() {}
-  ~vtkRectilinearGridWriter() {}
+  ~vtkRectilinearGridWriter() VTK_OVERRIDE {}
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkRectilinearGridWriter(const vtkRectilinearGridWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkSimplePointsReader.h b/IO/Legacy/vtkSimplePointsReader.h
index d4b8ba9b90..6fb0f0bfdf 100644
--- a/IO/Legacy/vtkSimplePointsReader.h
+++ b/IO/Legacy/vtkSimplePointsReader.h
@@ -35,7 +35,7 @@ class VTKIOLEGACY_EXPORT vtkSimplePointsReader : public vtkPolyDataAlgorithm
 public:
   static vtkSimplePointsReader* New();
   vtkTypeMacro(vtkSimplePointsReader,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -47,13 +47,13 @@ public:
 
 protected:
   vtkSimplePointsReader();
-  ~vtkSimplePointsReader();
+  ~vtkSimplePointsReader() VTK_OVERRIDE;
 
   char* FileName;
 
   int RequestData(vtkInformation*,
                   vtkInformationVector**,
-                  vtkInformationVector*);
+                  vtkInformationVector*) VTK_OVERRIDE;
 private:
   vtkSimplePointsReader(const vtkSimplePointsReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkSimplePointsReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkSimplePointsWriter.h b/IO/Legacy/vtkSimplePointsWriter.h
index eca825725f..a166d671bf 100644
--- a/IO/Legacy/vtkSimplePointsWriter.h
+++ b/IO/Legacy/vtkSimplePointsWriter.h
@@ -33,16 +33,16 @@ class VTKIOLEGACY_EXPORT vtkSimplePointsWriter : public vtkDataSetWriter
 public:
   static vtkSimplePointsWriter *New();
   vtkTypeMacro(vtkSimplePointsWriter,vtkDataSetWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkGetMacro(DecimalPrecision, int);
   vtkSetMacro(DecimalPrecision, int);
 
 protected:
   vtkSimplePointsWriter();
-  ~vtkSimplePointsWriter(){}
+  ~vtkSimplePointsWriter() VTK_OVERRIDE{}
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
   int DecimalPrecision;
 
diff --git a/IO/Legacy/vtkStructuredGridReader.h b/IO/Legacy/vtkStructuredGridReader.h
index 6c3007f0dd..33007c6e11 100644
--- a/IO/Legacy/vtkStructuredGridReader.h
+++ b/IO/Legacy/vtkStructuredGridReader.h
@@ -41,7 +41,7 @@ class VTKIOLEGACY_EXPORT vtkStructuredGridReader : public vtkDataReader
 public:
   static vtkStructuredGridReader *New();
   vtkTypeMacro(vtkStructuredGridReader,vtkDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -56,18 +56,18 @@ public:
    * Read the meta information from the file.  This needs to be public to it
    * can be accessed by vtkDataSetReader.
    */
-  virtual int ReadMetaData(vtkInformation *outInfo);
+  int ReadMetaData(vtkInformation *outInfo) VTK_OVERRIDE;
 
 protected:
   vtkStructuredGridReader();
-  ~vtkStructuredGridReader();
+  ~vtkStructuredGridReader() VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
-                                 vtkInformationVector *);
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestInformation(vtkInformation *, vtkInformationVector **,
+                                 vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 private:
   vtkStructuredGridReader(const vtkStructuredGridReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkStructuredGridReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkStructuredGridWriter.h b/IO/Legacy/vtkStructuredGridWriter.h
index 3504ef64e6..460e407beb 100644
--- a/IO/Legacy/vtkStructuredGridWriter.h
+++ b/IO/Legacy/vtkStructuredGridWriter.h
@@ -36,7 +36,7 @@ class VTKIOLEGACY_EXPORT vtkStructuredGridWriter : public vtkDataWriter
 public:
   static vtkStructuredGridWriter *New();
   vtkTypeMacro(vtkStructuredGridWriter,vtkDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -48,11 +48,11 @@ public:
 
 protected:
   vtkStructuredGridWriter() {}
-  ~vtkStructuredGridWriter() {}
+  ~vtkStructuredGridWriter() VTK_OVERRIDE {}
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkStructuredGridWriter(const vtkStructuredGridWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkStructuredPointsReader.h b/IO/Legacy/vtkStructuredPointsReader.h
index 44c1850c30..f05b40c597 100644
--- a/IO/Legacy/vtkStructuredPointsReader.h
+++ b/IO/Legacy/vtkStructuredPointsReader.h
@@ -41,7 +41,7 @@ class VTKIOLEGACY_EXPORT vtkStructuredPointsReader : public vtkDataReader
 public:
   static vtkStructuredPointsReader *New();
   vtkTypeMacro(vtkStructuredPointsReader,vtkDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -56,21 +56,21 @@ public:
    * Read the meta information from the file.  This needs to be public to it
    * can be accessed by vtkDataSetReader.
    */
-  virtual int ReadMetaData(vtkInformation *outInfo);
+  int ReadMetaData(vtkInformation *outInfo) VTK_OVERRIDE;
 
 protected:
   vtkStructuredPointsReader();
-  ~vtkStructuredPointsReader();
+  ~vtkStructuredPointsReader() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   // Default method performs Update to get information.  Not all the old
   // structured points sources compute information
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
-                                 vtkInformationVector *);
+  int RequestInformation(vtkInformation *, vtkInformationVector **,
+                                 vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int, vtkInformation *);
+  int FillOutputPortInformation(int, vtkInformation *) VTK_OVERRIDE;
 private:
   vtkStructuredPointsReader(const vtkStructuredPointsReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkStructuredPointsReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkStructuredPointsWriter.h b/IO/Legacy/vtkStructuredPointsWriter.h
index 9761d317da..2c9fab0ec4 100644
--- a/IO/Legacy/vtkStructuredPointsWriter.h
+++ b/IO/Legacy/vtkStructuredPointsWriter.h
@@ -35,7 +35,7 @@ class VTKIOLEGACY_EXPORT vtkStructuredPointsWriter : public vtkDataWriter
 public:
   static vtkStructuredPointsWriter *New();
   vtkTypeMacro(vtkStructuredPointsWriter,vtkDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -47,11 +47,11 @@ public:
 
 protected:
   vtkStructuredPointsWriter() {}
-  ~vtkStructuredPointsWriter() {}
+  ~vtkStructuredPointsWriter() VTK_OVERRIDE {}
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkStructuredPointsWriter(const vtkStructuredPointsWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkTableReader.h b/IO/Legacy/vtkTableReader.h
index a89948ca91..8972f13c24 100644
--- a/IO/Legacy/vtkTableReader.h
+++ b/IO/Legacy/vtkTableReader.h
@@ -41,7 +41,7 @@ class VTKIOLEGACY_EXPORT vtkTableReader : public vtkDataReader
 public:
   static vtkTableReader *New();
   vtkTypeMacro(vtkTableReader,vtkDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -54,18 +54,18 @@ public:
 
 protected:
   vtkTableReader();
-  ~vtkTableReader();
+  ~vtkTableReader() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   // Since the Outputs[0] has the same UpdateExtent format
   // as the generic DataObject we can copy the UpdateExtent
   // as a default behavior.
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
-                                  vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 private:
   vtkTableReader(const vtkTableReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkTableReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkTableWriter.h b/IO/Legacy/vtkTableWriter.h
index f837e4ff87..6b9b727978 100644
--- a/IO/Legacy/vtkTableWriter.h
+++ b/IO/Legacy/vtkTableWriter.h
@@ -34,7 +34,7 @@ class VTKIOLEGACY_EXPORT vtkTableWriter : public vtkDataWriter
 public:
   static vtkTableWriter *New();
   vtkTypeMacro(vtkTableWriter,vtkDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -46,11 +46,11 @@ public:
 
 protected:
   vtkTableWriter() {}
-  ~vtkTableWriter() {}
+  ~vtkTableWriter() VTK_OVERRIDE {}
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkTableWriter(const vtkTableWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkTreeReader.h b/IO/Legacy/vtkTreeReader.h
index 67db0714cb..e8130be56a 100644
--- a/IO/Legacy/vtkTreeReader.h
+++ b/IO/Legacy/vtkTreeReader.h
@@ -41,7 +41,7 @@ class VTKIOLEGACY_EXPORT vtkTreeReader : public vtkDataReader
 public:
   static vtkTreeReader *New();
   vtkTypeMacro(vtkTreeReader,vtkDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -54,18 +54,18 @@ public:
 
 protected:
   vtkTreeReader();
-  ~vtkTreeReader();
+  ~vtkTreeReader() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   // Since the Outputs[0] has the same UpdateExtent format
   // as the generic DataObject we can copy the UpdateExtent
   // as a default behavior.
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
-                                  vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 private:
   vtkTreeReader(const vtkTreeReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkTreeReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkTreeWriter.h b/IO/Legacy/vtkTreeWriter.h
index 25cf6b6079..acf0cb9b13 100644
--- a/IO/Legacy/vtkTreeWriter.h
+++ b/IO/Legacy/vtkTreeWriter.h
@@ -35,7 +35,7 @@ class VTKIOLEGACY_EXPORT vtkTreeWriter : public vtkDataWriter
 public:
   static vtkTreeWriter *New();
   vtkTypeMacro(vtkTreeWriter,vtkDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -47,11 +47,11 @@ public:
 
 protected:
   vtkTreeWriter() {}
-  ~vtkTreeWriter() {}
+  ~vtkTreeWriter() VTK_OVERRIDE {}
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkTreeWriter(const vtkTreeWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkUnstructuredGridReader.h b/IO/Legacy/vtkUnstructuredGridReader.h
index 469038faa6..43d69a0a8d 100644
--- a/IO/Legacy/vtkUnstructuredGridReader.h
+++ b/IO/Legacy/vtkUnstructuredGridReader.h
@@ -41,7 +41,7 @@ class VTKIOLEGACY_EXPORT vtkUnstructuredGridReader : public vtkDataReader
 public:
   static vtkUnstructuredGridReader *New();
   vtkTypeMacro(vtkUnstructuredGridReader,vtkDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -54,18 +54,18 @@ public:
 
 protected:
   vtkUnstructuredGridReader();
-  ~vtkUnstructuredGridReader();
+  ~vtkUnstructuredGridReader() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   // Since the Outputs[0] has the same UpdateExtent format
   // as the generic DataObject we can copy the UpdateExtent
   // as a default behavior.
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
-                                  vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 private:
   vtkUnstructuredGridReader(const vtkUnstructuredGridReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkUnstructuredGridReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Legacy/vtkUnstructuredGridWriter.h b/IO/Legacy/vtkUnstructuredGridWriter.h
index 00c729cbf1..d7f33de457 100644
--- a/IO/Legacy/vtkUnstructuredGridWriter.h
+++ b/IO/Legacy/vtkUnstructuredGridWriter.h
@@ -34,7 +34,7 @@ class VTKIOLEGACY_EXPORT vtkUnstructuredGridWriter : public vtkDataWriter
 public:
   static vtkUnstructuredGridWriter *New();
   vtkTypeMacro(vtkUnstructuredGridWriter,vtkDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -46,14 +46,14 @@ public:
 
 protected:
   vtkUnstructuredGridWriter() {}
-  ~vtkUnstructuredGridWriter() {}
+  ~vtkUnstructuredGridWriter() VTK_OVERRIDE {}
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
   int WriteCellsAndFaces(ostream *fp, vtkUnstructuredGrid *grid,
                          const char *label);
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkUnstructuredGridWriter(const vtkUnstructuredGridWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/MINC/vtkMINCImageAttributes.h b/IO/MINC/vtkMINCImageAttributes.h
index 18569fd9aa..c4f2257bf0 100644
--- a/IO/MINC/vtkMINCImageAttributes.h
+++ b/IO/MINC/vtkMINCImageAttributes.h
@@ -293,7 +293,7 @@ public:
 
 protected:
   vtkMINCImageAttributes();
-  ~vtkMINCImageAttributes();
+  ~vtkMINCImageAttributes() VTK_OVERRIDE;
 
   const char *ConvertDataArrayToString(vtkDataArray *array);
 
diff --git a/IO/MINC/vtkMINCImageReader.h b/IO/MINC/vtkMINCImageReader.h
index c934b6e0c7..acd78caf30 100644
--- a/IO/MINC/vtkMINCImageReader.h
+++ b/IO/MINC/vtkMINCImageReader.h
@@ -93,24 +93,24 @@ public:
   /**
    * Set the file name.
    */
-  virtual void SetFileName(const char *name);
+  void SetFileName(const char *name) VTK_OVERRIDE;
 
   /**
    * Get the entension for this file format.
    */
-  virtual const char* GetFileExtensions() {
+  const char* GetFileExtensions() VTK_OVERRIDE {
     return ".mnc"; }
 
   /**
    * Get the name of this file format.
    */
-  virtual const char* GetDescriptiveName() {
+  const char* GetDescriptiveName() VTK_OVERRIDE {
     return "MINC"; }
 
   /**
    * Test whether the specified file can be read.
    */
-  virtual int CanReadFile(const char* name);
+  int CanReadFile(const char* name) VTK_OVERRIDE;
 
   /**
    * Get a matrix that describes the orientation of the data.
@@ -174,7 +174,7 @@ public:
 
 protected:
   vtkMINCImageReader();
-  ~vtkMINCImageReader();
+  ~vtkMINCImageReader() VTK_OVERRIDE;
 
   int MINCImageType;
   int MINCImageTypeSigned;
@@ -200,8 +200,8 @@ protected:
   virtual void FindRangeAndRescaleValues();
   static int ConvertMINCTypeToVTKType(int minctype, int mincsigned);
 
-  virtual void ExecuteInformation();
-  virtual void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation *outInfo);
+  void ExecuteInformation() VTK_OVERRIDE;
+  void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation *outInfo) VTK_OVERRIDE;
 
 private:
   vtkMINCImageReader(const vtkMINCImageReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/MINC/vtkMINCImageWriter.h b/IO/MINC/vtkMINCImageWriter.h
index 847e989477..5091a9e3b1 100644
--- a/IO/MINC/vtkMINCImageWriter.h
+++ b/IO/MINC/vtkMINCImageWriter.h
@@ -102,7 +102,7 @@ public:
   /**
    * Set the file name.
    */
-  virtual void SetFileName(const char *name);
+  void SetFileName(const char *name) VTK_OVERRIDE;
 
   /**
    * Write the data.  This will attempt to stream the data
@@ -110,7 +110,7 @@ public:
    * unless the whole extent of the input has already been
    * updated.
    */
-  virtual void Write();
+  void Write() VTK_OVERRIDE;
 
   //@{
   /**
@@ -171,7 +171,7 @@ public:
 
 protected:
   vtkMINCImageWriter();
-  ~vtkMINCImageWriter();
+  ~vtkMINCImageWriter() VTK_OVERRIDE;
 
   int MINCImageType;
   int MINCImageTypeSigned;
@@ -220,19 +220,19 @@ protected:
   virtual void FindRescale(double &rescaleSlope, double &rescaleIntercept);
   virtual void FindMINCValidRange(double range[2]);
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation *request,
+  int RequestInformation(vtkInformation *request,
                                  vtkInformationVector **inputVector,
-                                 vtkInformationVector *outputVector);
+                                 vtkInformationVector *outputVector) VTK_OVERRIDE;
 
-  virtual int RequestUpdateExtent(vtkInformation *request,
+  int RequestUpdateExtent(vtkInformation *request,
                                   vtkInformationVector **inputVector,
-                                  vtkInformationVector *outputVector);
+                                  vtkInformationVector *outputVector) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation* request,
+  int RequestData(vtkInformation* request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 private:
   vtkMINCImageWriter(const vtkMINCImageWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/MINC/vtkMNIObjectReader.h b/IO/MINC/vtkMNIObjectReader.h
index a465fe801a..fba48d288f 100644
--- a/IO/MINC/vtkMNIObjectReader.h
+++ b/IO/MINC/vtkMNIObjectReader.h
@@ -115,7 +115,7 @@ public:
 
 protected:
   vtkMNIObjectReader();
-  ~vtkMNIObjectReader();
+  ~vtkMNIObjectReader() VTK_OVERRIDE;
 
   char *FileName;
   vtkProperty *Property;
@@ -146,9 +146,9 @@ protected:
 
   virtual int ReadFile(vtkPolyData *output);
 
-  virtual int RequestData(vtkInformation* request,
+  int RequestData(vtkInformation* request,
                           vtkInformationVector** inInfo,
-                          vtkInformationVector* outInfo);
+                          vtkInformationVector* outInfo) VTK_OVERRIDE;
 
 private:
   vtkMNIObjectReader(const vtkMNIObjectReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/MINC/vtkMNIObjectWriter.h b/IO/MINC/vtkMNIObjectWriter.h
index 6d86a8109e..2e52faf330 100644
--- a/IO/MINC/vtkMNIObjectWriter.h
+++ b/IO/MINC/vtkMNIObjectWriter.h
@@ -152,7 +152,7 @@ public:
 
 protected:
   vtkMNIObjectWriter();
-  ~vtkMNIObjectWriter();
+  ~vtkMNIObjectWriter() VTK_OVERRIDE;
 
   vtkProperty *Property;
   vtkMapper *Mapper;
@@ -175,13 +175,13 @@ protected:
   int WritePolygonObject(vtkPolyData *output);
   int WriteLineObject(vtkPolyData *output);
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
 
   char* FileName;
 
   int FileType;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   ostream *OpenFile();
   void CloseFile(ostream *fp);
diff --git a/IO/MINC/vtkMNITagPointReader.h b/IO/MINC/vtkMNITagPointReader.h
index d82f4440c7..1cb5a1ad05 100644
--- a/IO/MINC/vtkMNITagPointReader.h
+++ b/IO/MINC/vtkMNITagPointReader.h
@@ -159,7 +159,7 @@ public:
 
 protected:
   vtkMNITagPointReader();
-  ~vtkMNITagPointReader();
+  ~vtkMNITagPointReader() VTK_OVERRIDE;
 
   char *FileName;
   int NumberOfVolumes;
@@ -188,9 +188,9 @@ protected:
 
   virtual int ReadFile(vtkPolyData *output1, vtkPolyData *output2);
 
-  virtual int RequestData(vtkInformation* request,
+  int RequestData(vtkInformation* request,
                           vtkInformationVector** inInfo,
-                          vtkInformationVector* outInfo);
+                          vtkInformationVector* outInfo) VTK_OVERRIDE;
 
 private:
   vtkMNITagPointReader(const vtkMNITagPointReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/MINC/vtkMNITagPointWriter.h b/IO/MINC/vtkMNITagPointWriter.h
index 66be1aaee9..1cd2d74321 100644
--- a/IO/MINC/vtkMNITagPointWriter.h
+++ b/IO/MINC/vtkMNITagPointWriter.h
@@ -154,12 +154,12 @@ public:
   /**
    * Write the file.
    */
-  virtual int Write();
+  int Write() VTK_OVERRIDE;
 
   /**
    * Get the MTime.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -171,7 +171,7 @@ public:
 
 protected:
   vtkMNITagPointWriter();
-  ~vtkMNITagPointWriter();
+  ~vtkMNITagPointWriter() VTK_OVERRIDE;
 
   vtkPoints *Points[2];
   vtkStringArray *LabelText;
@@ -180,13 +180,13 @@ protected:
   vtkIntArray *PatientIds;
   char *Comments;
 
-  virtual void WriteData() {}
+  void WriteData() VTK_OVERRIDE {}
   virtual void WriteData(vtkPointSet *inputs[2]);
 
-  int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   int RequestData(vtkInformation *, vtkInformationVector **,
-                  vtkInformationVector *);
+                  vtkInformationVector *) VTK_OVERRIDE;
 
   char* FileName;
 
diff --git a/IO/MINC/vtkMNITransformReader.h b/IO/MINC/vtkMNITransformReader.h
index b2d334baaa..5eb85c78ea 100644
--- a/IO/MINC/vtkMNITransformReader.h
+++ b/IO/MINC/vtkMNITransformReader.h
@@ -128,7 +128,7 @@ public:
 
 protected:
   vtkMNITransformReader();
-  ~vtkMNITransformReader();
+  ~vtkMNITransformReader() VTK_OVERRIDE;
 
   char *FileName;
   vtkAbstractTransform *Transform;
@@ -159,9 +159,9 @@ protected:
 
   virtual int ReadFile();
 
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inInfo,
-                             vtkInformationVector* outInfo);
+                             vtkInformationVector* outInfo) VTK_OVERRIDE;
 
 private:
   vtkMNITransformReader(const vtkMNITransformReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/MINC/vtkMNITransformWriter.h b/IO/MINC/vtkMNITransformWriter.h
index 988fd8df6c..1118d4cbb5 100644
--- a/IO/MINC/vtkMNITransformWriter.h
+++ b/IO/MINC/vtkMNITransformWriter.h
@@ -137,7 +137,7 @@ public:
 
 protected:
   vtkMNITransformWriter();
-  ~vtkMNITransformWriter();
+  ~vtkMNITransformWriter() VTK_OVERRIDE;
 
   char *FileName;
   vtkAbstractTransform *Transform;
@@ -156,9 +156,9 @@ protected:
 
   virtual int WriteFile();
 
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inInfo,
-                             vtkInformationVector* outInfo);
+                             vtkInformationVector* outInfo) VTK_OVERRIDE;
 
 private:
   vtkMNITransformWriter(const vtkMNITransformWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Movie/vtkGenericMovieWriter.h b/IO/Movie/vtkGenericMovieWriter.h
index 124527d1ee..f6c38f7387 100644
--- a/IO/Movie/vtkGenericMovieWriter.h
+++ b/IO/Movie/vtkGenericMovieWriter.h
@@ -37,7 +37,7 @@ class VTKIOMOVIE_EXPORT vtkGenericMovieWriter : public vtkImageAlgorithm
 {
 public:
   vtkTypeMacro(vtkGenericMovieWriter,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -80,7 +80,7 @@ public:
 
 protected:
   vtkGenericMovieWriter();
-  ~vtkGenericMovieWriter();
+  ~vtkGenericMovieWriter() VTK_OVERRIDE;
 
   char *FileName;
   int Error;
diff --git a/IO/Movie/vtkOggTheoraWriter.h b/IO/Movie/vtkOggTheoraWriter.h
index a6c204f871..aa0adbf40a 100644
--- a/IO/Movie/vtkOggTheoraWriter.h
+++ b/IO/Movie/vtkOggTheoraWriter.h
@@ -39,16 +39,16 @@ class VTKIOMOVIE_EXPORT vtkOggTheoraWriter : public vtkGenericMovieWriter
 public:
   static vtkOggTheoraWriter *New();
   vtkTypeMacro(vtkOggTheoraWriter,vtkGenericMovieWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * These methods start writing an Movie file, write a frame to the file
    * and then end the writing process.
    */
-  void Start();
-  void Write();
-  void End();
+  void Start() VTK_OVERRIDE;
+  void Write() VTK_OVERRIDE;
+  void End() VTK_OVERRIDE;
   //@}
 
   //@{
@@ -80,7 +80,7 @@ public:
 
 protected:
   vtkOggTheoraWriter();
-  ~vtkOggTheoraWriter();
+  ~vtkOggTheoraWriter() VTK_OVERRIDE;
 
   vtkOggTheoraWriterInternal *Internals;
 
diff --git a/IO/NetCDF/vtkMPASReader.h b/IO/NetCDF/vtkMPASReader.h
index 0112a676c2..cb3d06bbac 100644
--- a/IO/NetCDF/vtkMPASReader.h
+++ b/IO/NetCDF/vtkMPASReader.h
@@ -96,7 +96,7 @@ class VTKIONETCDF_EXPORT vtkMPASReader : public vtkUnstructuredGridAlgorithm
  public:
   static vtkMPASReader *New();
   vtkTypeMacro(vtkMPASReader,vtkUnstructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -230,11 +230,11 @@ class VTKIONETCDF_EXPORT vtkMPASReader : public vtkUnstructuredGridAlgorithm
    */
   static int CanReadFile(const char *filename);
 
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
  protected:
   vtkMPASReader();
-  ~vtkMPASReader();
+  ~vtkMPASReader() VTK_OVERRIDE;
   void ReleaseNcData();
   void DestroyData();
 
@@ -247,9 +247,9 @@ class VTKIONETCDF_EXPORT vtkMPASReader : public vtkUnstructuredGridAlgorithm
   vtkCallbackCommand* SelectionObserver;
 
   int RequestData(vtkInformation *, vtkInformationVector **,
-                  vtkInformationVector *);
+                  vtkInformationVector *) VTK_OVERRIDE;
   int RequestInformation(vtkInformation *, vtkInformationVector **,
-                         vtkInformationVector *);
+                         vtkInformationVector *) VTK_OVERRIDE;
 
 
   static void SelectionCallback(vtkObject* caller, unsigned long eid,
diff --git a/IO/NetCDF/vtkNetCDFCAMReader.h b/IO/NetCDF/vtkNetCDFCAMReader.h
index 709ec0ae5d..5e5cb08dab 100644
--- a/IO/NetCDF/vtkNetCDFCAMReader.h
+++ b/IO/NetCDF/vtkNetCDFCAMReader.h
@@ -40,7 +40,7 @@ class VTKIONETCDF_EXPORT vtkNetCDFCAMReader : public vtkUnstructuredGridAlgorith
 public:
   static vtkNetCDFCAMReader *New();
   vtkTypeMacro(vtkNetCDFCAMReader,vtkUnstructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Returns 1 if this file can be read and 0 if the file cannot be read.
@@ -148,16 +148,16 @@ public:
 
 protected:
   vtkNetCDFCAMReader();
-  ~vtkNetCDFCAMReader();
+  ~vtkNetCDFCAMReader() VTK_OVERRIDE;
 
   int RequestInformation(vtkInformation*, vtkInformationVector**,
-                         vtkInformationVector*);
+                         vtkInformationVector*) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
-                                  vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Returns true for success.  Based on the piece, number of pieces,
diff --git a/IO/NetCDF/vtkNetCDFCFReader.h b/IO/NetCDF/vtkNetCDFCFReader.h
index 1e54db85b2..c0816b5775 100644
--- a/IO/NetCDF/vtkNetCDFCFReader.h
+++ b/IO/NetCDF/vtkNetCDFCFReader.h
@@ -49,7 +49,7 @@ class VTKIONETCDF_EXPORT vtkNetCDFCFReader : public vtkNetCDFReader
 public:
   vtkTypeMacro(vtkNetCDFCFReader, vtkNetCDFReader);
   static vtkNetCDFCFReader *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -106,7 +106,7 @@ public:
 
 protected:
   vtkNetCDFCFReader();
-  ~vtkNetCDFCFReader();
+  ~vtkNetCDFCFReader() VTK_OVERRIDE;
 
   int SphericalCoordinates;
 
@@ -115,25 +115,25 @@ protected:
 
   int OutputType;
 
-  virtual int RequestDataObject(vtkInformation *request,
+  int RequestDataObject(vtkInformation *request,
                                 vtkInformationVector **inputVector,
-                                vtkInformationVector *outputVector);
+                                vtkInformationVector *outputVector) VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation *request,
+  int RequestInformation(vtkInformation *request,
                                  vtkInformationVector **inputVector,
-                                 vtkInformationVector *outputVector);
+                                 vtkInformationVector *outputVector) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   //@{
   /**
    * Interprets the special conventions of COARDS.
    */
-  virtual int ReadMetaData(int ncFD);
-  virtual int IsTimeDimension(int ncFD, int dimId);
-  virtual vtkSmartPointer<vtkDoubleArray> GetTimeValues(int ncFD, int dimId);
+  int ReadMetaData(int ncFD) VTK_OVERRIDE;
+  int IsTimeDimension(int ncFD, int dimId) VTK_OVERRIDE;
+  vtkSmartPointer<vtkDoubleArray> GetTimeValues(int ncFD, int dimId) VTK_OVERRIDE;
   //@}
 
   class vtkDimensionInfo {
@@ -247,7 +247,7 @@ protected:
   /**
    * Returns false for spherical dimensions, which should use cell data.
    */
-  virtual bool DimensionsAreForPointData(vtkIntArray *dimensions);
+  bool DimensionsAreForPointData(vtkIntArray *dimensions) VTK_OVERRIDE;
 
   /**
    * Convenience function that takes piece information and then returns a set of
@@ -262,7 +262,7 @@ protected:
   /**
    * Overridden to retrieve stored extent for unstructured data.
    */
-  virtual void GetUpdateExtentForOutput(vtkDataSet *output, int extent[6]);
+  void GetUpdateExtentForOutput(vtkDataSet *output, int extent[6]) VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/IO/NetCDF/vtkNetCDFPOPReader.h b/IO/NetCDF/vtkNetCDFPOPReader.h
index c454e12d5f..62e2084a67 100644
--- a/IO/NetCDF/vtkNetCDFPOPReader.h
+++ b/IO/NetCDF/vtkNetCDFPOPReader.h
@@ -43,7 +43,7 @@ class VTKIONETCDF_EXPORT vtkNetCDFPOPReader : public vtkRectilinearGridAlgorithm
 public:
   vtkTypeMacro(vtkNetCDFPOPReader,vtkRectilinearGridAlgorithm);
   static vtkNetCDFPOPReader *New();
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -73,13 +73,13 @@ public:
 
 protected:
   vtkNetCDFPOPReader();
-  ~vtkNetCDFPOPReader();
+  ~vtkNetCDFPOPReader() VTK_OVERRIDE;
 
   int RequestData(vtkInformation*,vtkInformationVector**,
-                  vtkInformationVector*);
-  virtual int RequestInformation(vtkInformation* request,
+                  vtkInformationVector*) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation* request,
                                  vtkInformationVector** inputVector,
-                                 vtkInformationVector* outputVector);
+                                 vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   static void SelectionModifiedCallback(vtkObject *caller, unsigned long eid,
                                         void *clientdata, void *calldata);
diff --git a/IO/NetCDF/vtkNetCDFReader.h b/IO/NetCDF/vtkNetCDFReader.h
index 3f7cefea22..ce37d508d7 100644
--- a/IO/NetCDF/vtkNetCDFReader.h
+++ b/IO/NetCDF/vtkNetCDFReader.h
@@ -53,7 +53,7 @@ class VTKIONETCDF_EXPORT vtkNetCDFReader : public vtkDataObjectAlgorithm
 public:
   vtkTypeMacro(vtkNetCDFReader, vtkDataObjectAlgorithm);
   static vtkNetCDFReader *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   virtual void SetFileName(const char *filename);
   vtkGetStringMacro(FileName);
@@ -148,7 +148,7 @@ public:
 
 protected:
   vtkNetCDFReader();
-  ~vtkNetCDFReader();
+  ~vtkNetCDFReader() VTK_OVERRIDE;
 
   char *FileName;
   vtkTimeStamp FileNameMTime;
@@ -177,17 +177,17 @@ protected:
 
   int WholeExtent[6];
 
-  virtual int RequestDataObject(vtkInformation *request,
+  int RequestDataObject(vtkInformation *request,
                                 vtkInformationVector **inputVector,
-                                vtkInformationVector *outputVector);
+                                vtkInformationVector *outputVector) VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation *request,
+  int RequestInformation(vtkInformation *request,
                                  vtkInformationVector **inputVector,
-                                 vtkInformationVector *outputVector);
+                                 vtkInformationVector *outputVector) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   /**
    * Callback registered with the VariableArraySelection.
diff --git a/IO/NetCDF/vtkSLACParticleReader.h b/IO/NetCDF/vtkSLACParticleReader.h
index 62066c8b91..d06304a9d6 100644
--- a/IO/NetCDF/vtkSLACParticleReader.h
+++ b/IO/NetCDF/vtkSLACParticleReader.h
@@ -51,7 +51,7 @@ class VTKIONETCDF_EXPORT vtkSLACParticleReader : public vtkPolyDataAlgorithm
 public:
   vtkTypeMacro(vtkSLACParticleReader, vtkPolyDataAlgorithm);
   static vtkSLACParticleReader *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkGetStringMacro(FileName);
   vtkSetStringMacro(FileName);
@@ -63,17 +63,17 @@ public:
 
 protected:
   vtkSLACParticleReader();
-  ~vtkSLACParticleReader();
+  ~vtkSLACParticleReader() VTK_OVERRIDE;
 
   char *FileName;
 
-  virtual int RequestInformation(vtkInformation *request,
+  int RequestInformation(vtkInformation *request,
                                  vtkInformationVector **inputVector,
-                                 vtkInformationVector *outputVector);
+                                 vtkInformationVector *outputVector) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   /**
    * Convenience function that checks the dimensions of a 2D netCDF array that
diff --git a/IO/NetCDF/vtkSLACReader.h b/IO/NetCDF/vtkSLACReader.h
index e37ff2a45d..bda675d1e0 100644
--- a/IO/NetCDF/vtkSLACReader.h
+++ b/IO/NetCDF/vtkSLACReader.h
@@ -51,7 +51,7 @@ class VTKIONETCDF_EXPORT vtkSLACReader : public vtkMultiBlockDataSetAlgorithm
 public:
   vtkTypeMacro(vtkSLACReader, vtkMultiBlockDataSetAlgorithm);
   static vtkSLACReader *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkGetStringMacro(MeshFileName);
   vtkSetStringMacro(MeshFileName);
@@ -216,7 +216,7 @@ public:
 
 protected:
   vtkSLACReader();
-  ~vtkSLACReader();
+  ~vtkSLACReader() VTK_OVERRIDE;
 
   class vtkInternal;
   vtkInternal *Internal;
@@ -246,13 +246,13 @@ protected:
    */
   bool FrequencyModes;
 
-  virtual int RequestInformation(vtkInformation *request,
+  int RequestInformation(vtkInformation *request,
                                  vtkInformationVector **inputVector,
-                                 vtkInformationVector *outputVector);
+                                 vtkInformationVector *outputVector) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   /**
    * Callback registered with the VariableArraySelection.
diff --git a/IO/PLY/vtkPLYReader.h b/IO/PLY/vtkPLYReader.h
index e63e476304..20928cf02b 100644
--- a/IO/PLY/vtkPLYReader.h
+++ b/IO/PLY/vtkPLYReader.h
@@ -40,7 +40,7 @@ class VTKIOPLY_EXPORT vtkPLYReader : public vtkAbstractPolyDataReader
 {
 public:
   vtkTypeMacro(vtkPLYReader,vtkAbstractPolyDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with merging set to true.
@@ -54,9 +54,9 @@ public:
 
 protected:
   vtkPLYReader();
-  ~vtkPLYReader();
+  ~vtkPLYReader() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 private:
   vtkPLYReader(const vtkPLYReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkPLYReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/PLY/vtkPLYWriter.h b/IO/PLY/vtkPLYWriter.h
index 485533d541..4d92edf07e 100644
--- a/IO/PLY/vtkPLYWriter.h
+++ b/IO/PLY/vtkPLYWriter.h
@@ -63,7 +63,7 @@ class VTKIOPLY_EXPORT vtkPLYWriter : public vtkWriter
 public:
   static vtkPLYWriter *New();
   vtkTypeMacro(vtkPLYWriter,vtkWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -192,9 +192,9 @@ public:
 
 protected:
   vtkPLYWriter();
-  ~vtkPLYWriter();
+  ~vtkPLYWriter() VTK_OVERRIDE;
 
-  void WriteData();
+  void WriteData() VTK_OVERRIDE;
   unsigned char *GetColors(vtkIdType num, vtkDataSetAttributes *dsa);
   const float *GetTextureCoordinates(vtkIdType num, vtkDataSetAttributes *dsa);
 
@@ -212,7 +212,7 @@ protected:
 
   vtkSmartPointer<vtkStringArray> HeaderComments;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkPLYWriter(const vtkPLYWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/Parallel/vtkEnSightWriter.h b/IO/Parallel/vtkEnSightWriter.h
index 05d62e941f..bdbf19e8bd 100644
--- a/IO/Parallel/vtkEnSightWriter.h
+++ b/IO/Parallel/vtkEnSightWriter.h
@@ -152,11 +152,11 @@ public:
 
 protected:
   vtkEnSightWriter();
-  virtual ~vtkEnSightWriter();
+  ~vtkEnSightWriter() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
-  virtual void WriteData(); // method to allow this class to be instantiated and delegated to
+  void WriteData() VTK_OVERRIDE; // method to allow this class to be instantiated and delegated to
 
   virtual void WriteStringToFile(const char* string, FILE* file);
   virtual void WriteTerminatedStringToFile(const char* string, FILE* file);
diff --git a/IO/Parallel/vtkMultiBlockPLOT3DReader.h b/IO/Parallel/vtkMultiBlockPLOT3DReader.h
index a014b8d128..15d1176c54 100644
--- a/IO/Parallel/vtkMultiBlockPLOT3DReader.h
+++ b/IO/Parallel/vtkMultiBlockPLOT3DReader.h
@@ -103,7 +103,7 @@ class VTKIOPARALLEL_EXPORT vtkMultiBlockPLOT3DReader : public vtkMultiBlockDataS
 public:
   static vtkMultiBlockPLOT3DReader *New();
   vtkTypeMacro(vtkMultiBlockPLOT3DReader,vtkMultiBlockDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -308,7 +308,7 @@ public:
 
 protected:
   vtkMultiBlockPLOT3DReader();
-  ~vtkMultiBlockPLOT3DReader();
+  ~vtkMultiBlockPLOT3DReader() VTK_OVERRIDE;
 
   vtkDataArray* CreateFloatArray();
 
@@ -419,14 +419,14 @@ protected:
   int ScalarFunctionNumber;
   int VectorFunctionNumber;
 
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation*,
+  int RequestData(vtkInformation*,
                           vtkInformationVector**,
-                          vtkInformationVector*);
-  virtual int RequestInformation(vtkInformation*,
+                          vtkInformationVector*) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation*,
                                  vtkInformationVector**,
-                                 vtkInformationVector*);
+                                 vtkInformationVector*) VTK_OVERRIDE;
 
   vtkMultiBlockPLOT3DReaderInternals* Internal;
 
diff --git a/IO/Parallel/vtkPChacoReader.h b/IO/Parallel/vtkPChacoReader.h
index e89eead4f4..2460b3cde0 100644
--- a/IO/Parallel/vtkPChacoReader.h
+++ b/IO/Parallel/vtkPChacoReader.h
@@ -41,7 +41,7 @@ class VTKIOPARALLEL_EXPORT vtkPChacoReader : public vtkChacoReader
 public:
   static vtkPChacoReader *New();
   vtkTypeMacro(vtkPChacoReader,vtkChacoReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set/Get the communicator object (we'll use global World controller
@@ -53,12 +53,12 @@ public:
 
 protected:
   vtkPChacoReader();
-  ~vtkPChacoReader();
+  ~vtkPChacoReader() VTK_OVERRIDE;
 
   int RequestInformation(
-    vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+    vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   int RequestData(
-    vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+    vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkPChacoReader(const vtkPChacoReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/Parallel/vtkPDataSetReader.h b/IO/Parallel/vtkPDataSetReader.h
index 5f0c18d455..5ce0dce3d0 100644
--- a/IO/Parallel/vtkPDataSetReader.h
+++ b/IO/Parallel/vtkPDataSetReader.h
@@ -31,7 +31,7 @@ class vtkDataSet;
 class VTKIOPARALLEL_EXPORT vtkPDataSetReader : public vtkDataSetAlgorithm
 {
 public:
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   vtkTypeMacro(vtkPDataSetReader,vtkDataSetAlgorithm);
   static vtkPDataSetReader *New();
 
@@ -58,11 +58,11 @@ public:
 
 protected:
   vtkPDataSetReader();
-  ~vtkPDataSetReader();
+  ~vtkPDataSetReader() VTK_OVERRIDE;
 
-  virtual int RequestDataObject(vtkInformation* request,
+  int RequestDataObject(vtkInformation* request,
                                 vtkInformationVector** inputVector,
-                                vtkInformationVector* outputVector);
+                                vtkInformationVector* outputVector) VTK_OVERRIDE;
   void ReadPVTKFileInformation(ifstream *fp,
                                vtkInformation* request,
                                vtkInformationVector** inputVector,
@@ -72,13 +72,13 @@ protected:
                                vtkInformationVector** inputVector,
                                vtkInformationVector* outputVector);
 
-  virtual int RequestInformation(vtkInformation*,
+  int RequestInformation(vtkInformation*,
                                  vtkInformationVector**,
-                                 vtkInformationVector*);
+                                 vtkInformationVector*) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation*,
+  int RequestData(vtkInformation*,
                           vtkInformationVector**,
-                          vtkInformationVector*);
+                          vtkInformationVector*) VTK_OVERRIDE;
   int PolyDataExecute(vtkInformation*,
                       vtkInformationVector**,
                       vtkInformationVector*);
diff --git a/IO/Parallel/vtkPDataSetWriter.h b/IO/Parallel/vtkPDataSetWriter.h
index 102a53acfb..f84f74d607 100644
--- a/IO/Parallel/vtkPDataSetWriter.h
+++ b/IO/Parallel/vtkPDataSetWriter.h
@@ -37,14 +37,14 @@ class vtkMultiProcessController;
 class VTKIOPARALLEL_EXPORT vtkPDataSetWriter : public vtkDataSetWriter
 {
 public:
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   vtkTypeMacro(vtkPDataSetWriter,vtkDataSetWriter);
   static vtkPDataSetWriter *New();
 
   /**
    * Write the pvtk file and cooresponding vtk files.
    */
-  virtual int Write();
+  int Write() VTK_OVERRIDE;
 
   //@{
   /**
@@ -109,7 +109,7 @@ public:
 
 protected:
   vtkPDataSetWriter();
-  ~vtkPDataSetWriter();
+  ~vtkPDataSetWriter() VTK_OVERRIDE;
 
   ostream *OpenFile();
   int WriteUnstructuredMetaData(vtkDataSet *input,
diff --git a/IO/Parallel/vtkPImageWriter.h b/IO/Parallel/vtkPImageWriter.h
index 8bb6a05814..2de132d289 100644
--- a/IO/Parallel/vtkPImageWriter.h
+++ b/IO/Parallel/vtkPImageWriter.h
@@ -35,7 +35,7 @@ class VTKIOPARALLEL_EXPORT vtkPImageWriter : public vtkImageWriter
 public:
   static vtkPImageWriter *New();
   vtkTypeMacro(vtkPImageWriter,vtkImageWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -48,13 +48,13 @@ public:
 
 protected:
   vtkPImageWriter();
-  ~vtkPImageWriter();
+  ~vtkPImageWriter() VTK_OVERRIDE;
 
   unsigned long MemoryLimit;
 
-  virtual void RecursiveWrite(int dim, vtkImageData *region, vtkInformation* inInfo, ofstream *file);
-  virtual void RecursiveWrite(int dim, vtkImageData *cache,
-                              vtkImageData *data, vtkInformation* inInfo, ofstream *file)
+  void RecursiveWrite(int dim, vtkImageData *region, vtkInformation* inInfo, ofstream *file) VTK_OVERRIDE;
+  void RecursiveWrite(int dim, vtkImageData *cache,
+                              vtkImageData *data, vtkInformation* inInfo, ofstream *file) VTK_OVERRIDE
   {this->vtkImageWriter::RecursiveWrite(dim,cache,data,inInfo,file);};
 
   vtkPipelineSize *SizeEstimator;
diff --git a/IO/Parallel/vtkPOpenFOAMReader.h b/IO/Parallel/vtkPOpenFOAMReader.h
index a8ca1a5b2d..4a66bfb614 100644
--- a/IO/Parallel/vtkPOpenFOAMReader.h
+++ b/IO/Parallel/vtkPOpenFOAMReader.h
@@ -45,7 +45,7 @@ public:
   static vtkPOpenFOAMReader *New();
   vtkTypeMacro(vtkPOpenFOAMReader, vtkOpenFOAMReader);
 
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -64,12 +64,12 @@ public:
 
 protected:
   vtkPOpenFOAMReader();
-  ~vtkPOpenFOAMReader();
+  ~vtkPOpenFOAMReader() VTK_OVERRIDE;
 
   int RequestInformation(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
   int RequestData(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkMultiProcessController *Controller;
diff --git a/IO/Parallel/vtkPSLACReader.h b/IO/Parallel/vtkPSLACReader.h
index 1d5e446326..f7f511a287 100644
--- a/IO/Parallel/vtkPSLACReader.h
+++ b/IO/Parallel/vtkPSLACReader.h
@@ -45,7 +45,7 @@ class VTKIOPARALLEL_EXPORT vtkPSLACReader : public vtkSLACReader
 public:
   vtkTypeMacro(vtkPSLACReader, vtkSLACReader);
   static vtkPSLACReader *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -60,44 +60,44 @@ public:
 
 protected:
   vtkPSLACReader();
-  ~vtkPSLACReader();
+  ~vtkPSLACReader() VTK_OVERRIDE;
 
   vtkMultiProcessController *Controller;
 
-  virtual int RequestInformation(vtkInformation *request,
+  int RequestInformation(vtkInformation *request,
                                  vtkInformationVector **inputVector,
-                                 vtkInformationVector *outputVector);
+                                 vtkInformationVector *outputVector) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
-
-  virtual int CheckTetrahedraWinding(int meshFD);
-  virtual int ReadConnectivity(int meshFD, vtkMultiBlockDataSet *surfaceOutput,
-                               vtkMultiBlockDataSet *volumeOutput);
-  virtual int ReadCoordinates(int meshFD, vtkMultiBlockDataSet *output);
-  virtual int ReadMidpointCoordinates(int meshFD, vtkMultiBlockDataSet *output,
-                                      MidpointCoordinateMap &map);
-  virtual int ReadMidpointData(int meshFD, vtkMultiBlockDataSet *output,
-                               MidpointIdMap &map);
-  virtual int RestoreMeshCache(vtkMultiBlockDataSet *surfaceOutput,
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
+
+  int CheckTetrahedraWinding(int meshFD) VTK_OVERRIDE;
+  int ReadConnectivity(int meshFD, vtkMultiBlockDataSet *surfaceOutput,
+                               vtkMultiBlockDataSet *volumeOutput) VTK_OVERRIDE;
+  int ReadCoordinates(int meshFD, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
+  int ReadMidpointCoordinates(int meshFD, vtkMultiBlockDataSet *output,
+                                      MidpointCoordinateMap &map) VTK_OVERRIDE;
+  int ReadMidpointData(int meshFD, vtkMultiBlockDataSet *output,
+                               MidpointIdMap &map) VTK_OVERRIDE;
+  int RestoreMeshCache(vtkMultiBlockDataSet *surfaceOutput,
                                vtkMultiBlockDataSet *volumeOutput,
-                               vtkMultiBlockDataSet *compositeOutput);
-  virtual int ReadFieldData(const int *modeFDArray,
+                               vtkMultiBlockDataSet *compositeOutput) VTK_OVERRIDE;
+  int ReadFieldData(const int *modeFDArray,
                             int numModeFDs,
-                            vtkMultiBlockDataSet *output);
+                            vtkMultiBlockDataSet *output) VTK_OVERRIDE;
 
-  virtual int ReadTetrahedronInteriorArray(int meshFD,
-                                           vtkIdTypeArray *connectivity);
-  virtual int ReadTetrahedronExteriorArray(int meshFD,
-                                           vtkIdTypeArray *connectivity);
+  int ReadTetrahedronInteriorArray(int meshFD,
+                                           vtkIdTypeArray *connectivity) VTK_OVERRIDE;
+  int ReadTetrahedronExteriorArray(int meshFD,
+                                           vtkIdTypeArray *connectivity) VTK_OVERRIDE;
 
-  virtual int MeshUpToDate();
+  int MeshUpToDate() VTK_OVERRIDE;
 
   /**
    * Reads point data arrays.  Called by ReadCoordinates and ReadFieldData.
    */
-  virtual vtkSmartPointer<vtkDataArray> ReadPointDataArray(int ncFD, int varId);
+  vtkSmartPointer<vtkDataArray> ReadPointDataArray(int ncFD, int varId) VTK_OVERRIDE;
 
   class vtkInternal;
   vtkInternal *Internal;
diff --git a/IO/Parallel/vtkPlot3DMetaReader.h b/IO/Parallel/vtkPlot3DMetaReader.h
index e08c95edcf..1015afb86a 100644
--- a/IO/Parallel/vtkPlot3DMetaReader.h
+++ b/IO/Parallel/vtkPlot3DMetaReader.h
@@ -95,7 +95,7 @@ class VTKIOPARALLEL_EXPORT vtkPlot3DMetaReader : public vtkMultiBlockDataSetAlgo
 public:
   static vtkPlot3DMetaReader* New();
   vtkTypeMacro(vtkPlot3DMetaReader, vtkMultiBlockDataSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -108,14 +108,14 @@ public:
 
 protected:
   vtkPlot3DMetaReader();
-  ~vtkPlot3DMetaReader();
+  ~vtkPlot3DMetaReader() VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation* request,
+  int RequestInformation(vtkInformation* request,
                                  vtkInformationVector** inputVector,
-                                 vtkInformationVector* outputVector);
-  virtual int RequestData(vtkInformation*,
+                                 vtkInformationVector* outputVector) VTK_OVERRIDE;
+  int RequestData(vtkInformation*,
                           vtkInformationVector**,
-                          vtkInformationVector*);
+                          vtkInformationVector*) VTK_OVERRIDE;
 
 
   char* FileName;
diff --git a/IO/ParallelXML/vtkXMLPDataSetWriter.h b/IO/ParallelXML/vtkXMLPDataSetWriter.h
index d1c0dca407..bfde0bab2d 100644
--- a/IO/ParallelXML/vtkXMLPDataSetWriter.h
+++ b/IO/ParallelXML/vtkXMLPDataSetWriter.h
@@ -36,7 +36,7 @@ class VTKIOPARALLELXML_EXPORT vtkXMLPDataSetWriter : public vtkXMLPDataWriter
 {
 public:
   vtkTypeMacro(vtkXMLPDataSetWriter,vtkXMLPDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLPDataSetWriter* New();
 
   /**
@@ -46,18 +46,18 @@ public:
 
 protected:
   vtkXMLPDataSetWriter();
-  ~vtkXMLPDataSetWriter();
+  ~vtkXMLPDataSetWriter() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   // Override writing method from superclass.
-  virtual int WriteInternal();
+  int WriteInternal() VTK_OVERRIDE;
 
   // Dummies to satisfy pure virtuals from superclass.
-  const char* GetDataSetName();
-  const char* GetDefaultFileExtension();
-  vtkXMLWriter* CreatePieceWriter(int index);
+  const char* GetDataSetName() VTK_OVERRIDE;
+  const char* GetDefaultFileExtension() VTK_OVERRIDE;
+  vtkXMLWriter* CreatePieceWriter(int index) VTK_OVERRIDE;
 
 private:
   vtkXMLPDataSetWriter(const vtkXMLPDataSetWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/ParallelXML/vtkXMLPDataWriter.h b/IO/ParallelXML/vtkXMLPDataWriter.h
index e26b3934d6..adfa1ef7f4 100644
--- a/IO/ParallelXML/vtkXMLPDataWriter.h
+++ b/IO/ParallelXML/vtkXMLPDataWriter.h
@@ -35,7 +35,7 @@ class VTKIOPARALLELXML_EXPORT vtkXMLPDataWriter : public vtkXMLWriter
 {
 public:
   vtkTypeMacro(vtkXMLPDataWriter,vtkXMLWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -90,12 +90,12 @@ public:
    * Overridden to handle passing the CONTINUE_EXECUTING() flags to the
    * executive.
    */
-  virtual int ProcessRequest(vtkInformation* request,
-    vtkInformationVector** inputVector, vtkInformationVector* outputVector);
+  int ProcessRequest(vtkInformation* request,
+    vtkInformationVector** inputVector, vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 protected:
   vtkXMLPDataWriter();
-  ~vtkXMLPDataWriter();
+  ~vtkXMLPDataWriter() VTK_OVERRIDE;
 
   /**
    * Overridden to make appropriate piece request from upstream.
@@ -104,7 +104,7 @@ protected:
     vtkInformationVector **inputVector, vtkInformationVector *outputVector);
 
   // Override writing method from superclass.
-  virtual int WriteInternal();
+  int WriteInternal() VTK_OVERRIDE;
 
   // Subclasses can override this method to collect information between ranks
   // before writing the summary file. This method is called on all ranks while
@@ -113,8 +113,8 @@ protected:
 
   virtual vtkXMLWriter* CreatePieceWriter(int index)=0;
 
-  virtual void WritePrimaryElementAttributes(ostream &os, vtkIndent indent);
-  int WriteData();
+  void WritePrimaryElementAttributes(ostream &os, vtkIndent indent) VTK_OVERRIDE;
+  int WriteData() VTK_OVERRIDE;
   virtual void WritePData(vtkIndent indent);
   virtual void WritePPieceAttributes(int index);
 
diff --git a/IO/ParallelXML/vtkXMLPHierarchicalBoxDataWriter.h b/IO/ParallelXML/vtkXMLPHierarchicalBoxDataWriter.h
index 890fbcb883..f3cda8e90a 100644
--- a/IO/ParallelXML/vtkXMLPHierarchicalBoxDataWriter.h
+++ b/IO/ParallelXML/vtkXMLPHierarchicalBoxDataWriter.h
@@ -33,11 +33,11 @@ class VTKIOPARALLELXML_EXPORT vtkXMLPHierarchicalBoxDataWriter :
 public:
   static vtkXMLPHierarchicalBoxDataWriter* New();
   vtkTypeMacro(vtkXMLPHierarchicalBoxDataWriter, vtkXMLPUniformGridAMRWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkXMLPHierarchicalBoxDataWriter();
-  ~vtkXMLPHierarchicalBoxDataWriter();
+  ~vtkXMLPHierarchicalBoxDataWriter() VTK_OVERRIDE;
 
 private:
   vtkXMLPHierarchicalBoxDataWriter(const vtkXMLPHierarchicalBoxDataWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/ParallelXML/vtkXMLPImageDataWriter.h b/IO/ParallelXML/vtkXMLPImageDataWriter.h
index d8f52534f2..7444c7a9b6 100644
--- a/IO/ParallelXML/vtkXMLPImageDataWriter.h
+++ b/IO/ParallelXML/vtkXMLPImageDataWriter.h
@@ -39,7 +39,7 @@ class VTKIOPARALLELXML_EXPORT vtkXMLPImageDataWriter : public vtkXMLPStructuredD
 public:
   static vtkXMLPImageDataWriter* New();
   vtkTypeMacro(vtkXMLPImageDataWriter,vtkXMLPStructuredDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get/Set the writer's input.
@@ -49,18 +49,18 @@ public:
   /**
    * Get the default file extension for files written by this writer.
    */
-  const char* GetDefaultFileExtension();
+  const char* GetDefaultFileExtension() VTK_OVERRIDE;
 
 protected:
   vtkXMLPImageDataWriter();
-  ~vtkXMLPImageDataWriter();
+  ~vtkXMLPImageDataWriter() VTK_OVERRIDE;
 
-  const char* GetDataSetName();
-  void WritePrimaryElementAttributes(ostream &os, vtkIndent indent);
-  vtkXMLStructuredDataWriter* CreateStructuredPieceWriter();
+  const char* GetDataSetName() VTK_OVERRIDE;
+  void WritePrimaryElementAttributes(ostream &os, vtkIndent indent) VTK_OVERRIDE;
+  vtkXMLStructuredDataWriter* CreateStructuredPieceWriter() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkXMLPImageDataWriter(const vtkXMLPImageDataWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/ParallelXML/vtkXMLPMultiBlockDataWriter.h b/IO/ParallelXML/vtkXMLPMultiBlockDataWriter.h
index 0ca5e82cec..862c74cec0 100644
--- a/IO/ParallelXML/vtkXMLPMultiBlockDataWriter.h
+++ b/IO/ParallelXML/vtkXMLPMultiBlockDataWriter.h
@@ -37,7 +37,7 @@ class VTKIOPARALLELXML_EXPORT vtkXMLPMultiBlockDataWriter : public vtkXMLMultiBl
 public:
   static vtkXMLPMultiBlockDataWriter* New();
   vtkTypeMacro(vtkXMLPMultiBlockDataWriter, vtkXMLMultiBlockDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -72,16 +72,16 @@ public:
    * is set to flag only on process 0 and all other processes have
    * WriteMetaFile set to 0 by default.
    */
-  virtual void SetWriteMetaFile(int flag);
+  void SetWriteMetaFile(int flag) VTK_OVERRIDE;
 
   // See the vtkAlgorithm for a desciption of what these do
   int ProcessRequest(vtkInformation*,
                      vtkInformationVector**,
-                     vtkInformationVector*);
+                     vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   vtkXMLPMultiBlockDataWriter();
-  ~vtkXMLPMultiBlockDataWriter();
+  ~vtkXMLPMultiBlockDataWriter() VTK_OVERRIDE;
 
   /**
    * Determine the data types for each of the leaf nodes.
@@ -91,7 +91,7 @@ protected:
    * that a piece of a dataset may be distributed in multiple pieces
    * over multiple processes.
    */
-  virtual void FillDataTypes(vtkCompositeDataSet*);
+  void FillDataTypes(vtkCompositeDataSet*) VTK_OVERRIDE;
 
   vtkMultiProcessController* Controller;
 
@@ -104,8 +104,8 @@ protected:
    * no files were written from compositeData.  Process 0 creates
    * the metadata for all of the processes/files.
    */
-  virtual int WriteComposite(vtkCompositeDataSet* compositeData,
-                             vtkXMLDataElement* parent, int &currentFileIndex);
+  int WriteComposite(vtkCompositeDataSet* compositeData,
+                             vtkXMLDataElement* parent, int &currentFileIndex) VTK_OVERRIDE;
 
   /**
    * Internal method to write a non vtkCompositeDataSet subclass as
@@ -134,7 +134,7 @@ protected:
    * Utility function to remove any already written files
    * in case writer failed.
    */
-  virtual void RemoveWrittenFiles(const char* subDirectory);
+  void RemoveWrittenFiles(const char* subDirectory) VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/IO/ParallelXML/vtkXMLPPolyDataWriter.h b/IO/ParallelXML/vtkXMLPPolyDataWriter.h
index f38cb00dd1..bdf3ff9b7d 100644
--- a/IO/ParallelXML/vtkXMLPPolyDataWriter.h
+++ b/IO/ParallelXML/vtkXMLPPolyDataWriter.h
@@ -39,7 +39,7 @@ class VTKIOPARALLELXML_EXPORT vtkXMLPPolyDataWriter : public vtkXMLPUnstructured
 public:
   static vtkXMLPPolyDataWriter* New();
   vtkTypeMacro(vtkXMLPPolyDataWriter,vtkXMLPUnstructuredDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get/Set the writer's input.
@@ -49,17 +49,17 @@ public:
   /**
    * Get the default file extension for files written by this writer.
    */
-  const char* GetDefaultFileExtension();
+  const char* GetDefaultFileExtension() VTK_OVERRIDE;
 
 protected:
   vtkXMLPPolyDataWriter();
-  ~vtkXMLPPolyDataWriter();
+  ~vtkXMLPPolyDataWriter() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
-  const char* GetDataSetName();
-  vtkXMLUnstructuredDataWriter* CreateUnstructuredPieceWriter();
+  const char* GetDataSetName() VTK_OVERRIDE;
+  vtkXMLUnstructuredDataWriter* CreateUnstructuredPieceWriter() VTK_OVERRIDE;
 
 private:
   vtkXMLPPolyDataWriter(const vtkXMLPPolyDataWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/ParallelXML/vtkXMLPRectilinearGridWriter.h b/IO/ParallelXML/vtkXMLPRectilinearGridWriter.h
index eeb5dd16c4..a4afbeeb59 100644
--- a/IO/ParallelXML/vtkXMLPRectilinearGridWriter.h
+++ b/IO/ParallelXML/vtkXMLPRectilinearGridWriter.h
@@ -40,7 +40,7 @@ class VTKIOPARALLELXML_EXPORT vtkXMLPRectilinearGridWriter : public vtkXMLPStruc
 public:
   static vtkXMLPRectilinearGridWriter* New();
   vtkTypeMacro(vtkXMLPRectilinearGridWriter,vtkXMLPStructuredDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get/Set the writer's input.
@@ -50,18 +50,18 @@ public:
   /**
    * Get the default file extension for files written by this writer.
    */
-  const char* GetDefaultFileExtension();
+  const char* GetDefaultFileExtension() VTK_OVERRIDE;
 
 protected:
   vtkXMLPRectilinearGridWriter();
-  ~vtkXMLPRectilinearGridWriter();
+  ~vtkXMLPRectilinearGridWriter() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
-  const char* GetDataSetName();
-  vtkXMLStructuredDataWriter* CreateStructuredPieceWriter();
-  void WritePData(vtkIndent indent);
+  const char* GetDataSetName() VTK_OVERRIDE;
+  vtkXMLStructuredDataWriter* CreateStructuredPieceWriter() VTK_OVERRIDE;
+  void WritePData(vtkIndent indent) VTK_OVERRIDE;
 
 private:
   vtkXMLPRectilinearGridWriter(const vtkXMLPRectilinearGridWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/ParallelXML/vtkXMLPStructuredDataWriter.h b/IO/ParallelXML/vtkXMLPStructuredDataWriter.h
index 092cc2833b..65afe2e77a 100644
--- a/IO/ParallelXML/vtkXMLPStructuredDataWriter.h
+++ b/IO/ParallelXML/vtkXMLPStructuredDataWriter.h
@@ -35,21 +35,21 @@ class VTKIOPARALLELXML_EXPORT vtkXMLPStructuredDataWriter : public vtkXMLPDataWr
 {
 public:
   vtkTypeMacro(vtkXMLPStructuredDataWriter,vtkXMLPDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkXMLPStructuredDataWriter();
-  ~vtkXMLPStructuredDataWriter();
+  ~vtkXMLPStructuredDataWriter() VTK_OVERRIDE;
 
   virtual vtkXMLStructuredDataWriter* CreateStructuredPieceWriter()=0;
-  void WritePrimaryElementAttributes(ostream &os, vtkIndent indent);
-  void WritePPieceAttributes(int index);
-  vtkXMLWriter* CreatePieceWriter(int index);
+  void WritePrimaryElementAttributes(ostream &os, vtkIndent indent) VTK_OVERRIDE;
+  void WritePPieceAttributes(int index) VTK_OVERRIDE;
+  vtkXMLWriter* CreatePieceWriter(int index) VTK_OVERRIDE;
 
-  virtual int WriteInternal();
+  int WriteInternal() VTK_OVERRIDE;
 
-  virtual void PrepareSummaryFile();
-  virtual int WritePiece(int index);
+  void PrepareSummaryFile() VTK_OVERRIDE;
+  int WritePiece(int index) VTK_OVERRIDE;
 
 private:
   vtkXMLPStructuredDataWriter(const vtkXMLPStructuredDataWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/ParallelXML/vtkXMLPStructuredGridWriter.h b/IO/ParallelXML/vtkXMLPStructuredGridWriter.h
index ce813e6aea..bbf74b0888 100644
--- a/IO/ParallelXML/vtkXMLPStructuredGridWriter.h
+++ b/IO/ParallelXML/vtkXMLPStructuredGridWriter.h
@@ -40,7 +40,7 @@ class VTKIOPARALLELXML_EXPORT vtkXMLPStructuredGridWriter : public vtkXMLPStruct
 public:
   static vtkXMLPStructuredGridWriter* New();
   vtkTypeMacro(vtkXMLPStructuredGridWriter,vtkXMLPStructuredDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get/Set the writer's input.
@@ -50,18 +50,18 @@ public:
   /**
    * Get the default file extension for files written by this writer.
    */
-  const char* GetDefaultFileExtension();
+  const char* GetDefaultFileExtension() VTK_OVERRIDE;
 
 protected:
   vtkXMLPStructuredGridWriter();
-  ~vtkXMLPStructuredGridWriter();
+  ~vtkXMLPStructuredGridWriter() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
-  const char* GetDataSetName();
-  vtkXMLStructuredDataWriter* CreateStructuredPieceWriter();
-  void WritePData(vtkIndent indent);
+  const char* GetDataSetName() VTK_OVERRIDE;
+  vtkXMLStructuredDataWriter* CreateStructuredPieceWriter() VTK_OVERRIDE;
+  void WritePData(vtkIndent indent) VTK_OVERRIDE;
 
 private:
   vtkXMLPStructuredGridWriter(const vtkXMLPStructuredGridWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/ParallelXML/vtkXMLPUniformGridAMRWriter.h b/IO/ParallelXML/vtkXMLPUniformGridAMRWriter.h
index 27d60e97e7..1512311369 100644
--- a/IO/ParallelXML/vtkXMLPUniformGridAMRWriter.h
+++ b/IO/ParallelXML/vtkXMLPUniformGridAMRWriter.h
@@ -39,7 +39,7 @@ class VTKIOPARALLELXML_EXPORT vtkXMLPUniformGridAMRWriter : public vtkXMLUniform
 public:
   static vtkXMLPUniformGridAMRWriter* New();
   vtkTypeMacro(vtkXMLPUniformGridAMRWriter, vtkXMLUniformGridAMRWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -58,16 +58,16 @@ public:
    * is set to flag only on process 0 and all other processes have
    * WriteMetaFile set to 0 by default.
    */
-  virtual void SetWriteMetaFile(int flag);
+  void SetWriteMetaFile(int flag) VTK_OVERRIDE;
 
 protected:
   vtkXMLPUniformGridAMRWriter();
-  ~vtkXMLPUniformGridAMRWriter();
+  ~vtkXMLPUniformGridAMRWriter() VTK_OVERRIDE;
 
   /**
    * Overridden to reduce information about data-types across all processes.
    */
-  virtual void FillDataTypes(vtkCompositeDataSet*);
+  void FillDataTypes(vtkCompositeDataSet*) VTK_OVERRIDE;
 
   vtkMultiProcessController* Controller;
 private:
diff --git a/IO/ParallelXML/vtkXMLPUnstructuredDataWriter.h b/IO/ParallelXML/vtkXMLPUnstructuredDataWriter.h
index 632dccdb3d..7feb4cf7b8 100644
--- a/IO/ParallelXML/vtkXMLPUnstructuredDataWriter.h
+++ b/IO/ParallelXML/vtkXMLPUnstructuredDataWriter.h
@@ -34,16 +34,16 @@ class VTKIOPARALLELXML_EXPORT vtkXMLPUnstructuredDataWriter : public vtkXMLPData
 {
 public:
   vtkTypeMacro(vtkXMLPUnstructuredDataWriter,vtkXMLPDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkXMLPUnstructuredDataWriter();
-  ~vtkXMLPUnstructuredDataWriter();
+  ~vtkXMLPUnstructuredDataWriter() VTK_OVERRIDE;
 
   vtkPointSet* GetInputAsPointSet();
   virtual vtkXMLUnstructuredDataWriter* CreateUnstructuredPieceWriter()=0;
-  vtkXMLWriter* CreatePieceWriter(int index);
-  void WritePData(vtkIndent indent);
+  vtkXMLWriter* CreatePieceWriter(int index) VTK_OVERRIDE;
+  void WritePData(vtkIndent indent) VTK_OVERRIDE;
 private:
   vtkXMLPUnstructuredDataWriter(const vtkXMLPUnstructuredDataWriter&) VTK_DELETE_FUNCTION;
   void operator=(const vtkXMLPUnstructuredDataWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/ParallelXML/vtkXMLPUnstructuredGridWriter.h b/IO/ParallelXML/vtkXMLPUnstructuredGridWriter.h
index 42c84f824e..3cb138ed10 100644
--- a/IO/ParallelXML/vtkXMLPUnstructuredGridWriter.h
+++ b/IO/ParallelXML/vtkXMLPUnstructuredGridWriter.h
@@ -40,7 +40,7 @@ class VTKIOPARALLELXML_EXPORT vtkXMLPUnstructuredGridWriter : public vtkXMLPUnst
 public:
   static vtkXMLPUnstructuredGridWriter* New();
   vtkTypeMacro(vtkXMLPUnstructuredGridWriter,vtkXMLPUnstructuredDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get/Set the writer's input.
@@ -50,17 +50,17 @@ public:
   /**
    * Get the default file extension for files written by this writer.
    */
-  const char* GetDefaultFileExtension();
+  const char* GetDefaultFileExtension() VTK_OVERRIDE;
 
 protected:
   vtkXMLPUnstructuredGridWriter();
-  ~vtkXMLPUnstructuredGridWriter();
+  ~vtkXMLPUnstructuredGridWriter() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
-  const char* GetDataSetName();
-  vtkXMLUnstructuredDataWriter* CreateUnstructuredPieceWriter();
+  const char* GetDataSetName() VTK_OVERRIDE;
+  vtkXMLUnstructuredDataWriter* CreateUnstructuredPieceWriter() VTK_OVERRIDE;
 
 private:
   vtkXMLPUnstructuredGridWriter(const vtkXMLPUnstructuredGridWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/SQL/vtkDatabaseToTableReader.h b/IO/SQL/vtkDatabaseToTableReader.h
index c0408a6a8a..fe64f623c8 100644
--- a/IO/SQL/vtkDatabaseToTableReader.h
+++ b/IO/SQL/vtkDatabaseToTableReader.h
@@ -34,7 +34,7 @@ class VTKIOSQL_EXPORT vtkDatabaseToTableReader : public vtkTableAlgorithm
 {
 public:
   vtkTypeMacro(vtkDatabaseToTableReader,vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set the database associated with this reader
@@ -56,9 +56,9 @@ public:
 
 protected:
    vtkDatabaseToTableReader();
-  ~vtkDatabaseToTableReader();
+  ~vtkDatabaseToTableReader() VTK_OVERRIDE;
   int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *) = 0;
+                          vtkInformationVector *) VTK_OVERRIDE = 0;
   vtkSQLDatabase *Database;
 
   std::string TableName;
diff --git a/IO/SQL/vtkRowQuery.h b/IO/SQL/vtkRowQuery.h
index 8c0665d884..64dce0ee34 100644
--- a/IO/SQL/vtkRowQuery.h
+++ b/IO/SQL/vtkRowQuery.h
@@ -63,7 +63,7 @@ class VTKIOSQL_EXPORT vtkRowQuery : public vtkObject
 {
 public:
   vtkTypeMacro(vtkRowQuery, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Execute the query.  This must be performed
@@ -143,7 +143,7 @@ public:
 
 protected:
   vtkRowQuery();
-  ~vtkRowQuery();
+  ~vtkRowQuery() VTK_OVERRIDE;
   bool CaseSensitiveFieldNames;
 private:
   vtkRowQuery(const vtkRowQuery &) VTK_DELETE_FUNCTION;
diff --git a/IO/SQL/vtkRowQueryToTable.h b/IO/SQL/vtkRowQueryToTable.h
index 1fb4169b2d..680f4ee192 100644
--- a/IO/SQL/vtkRowQueryToTable.h
+++ b/IO/SQL/vtkRowQueryToTable.h
@@ -48,7 +48,7 @@ class VTKIOSQL_EXPORT vtkRowQueryToTable : public vtkTableAlgorithm
 public:
   static vtkRowQueryToTable* New();
   vtkTypeMacro(vtkRowQueryToTable, vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -61,18 +61,18 @@ public:
   /**
    * Update the modified time based on the query.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkRowQueryToTable();
-  ~vtkRowQueryToTable();
+  ~vtkRowQueryToTable() VTK_OVERRIDE;
 
   vtkRowQuery* Query;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkRowQueryToTable(const vtkRowQueryToTable&) VTK_DELETE_FUNCTION;
diff --git a/IO/SQL/vtkSQLDatabase.h b/IO/SQL/vtkSQLDatabase.h
index 26fa83aee8..0509cab2b4 100644
--- a/IO/SQL/vtkSQLDatabase.h
+++ b/IO/SQL/vtkSQLDatabase.h
@@ -85,7 +85,7 @@ class VTKIOSQL_EXPORT vtkSQLDatabase : public vtkObject
 {
 public:
   vtkTypeMacro(vtkSQLDatabase, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Open a new connection to the database.
@@ -127,7 +127,7 @@ public:
   /**
    * Get the type of the database (e.g. mysql, psql,..).
    */
-  virtual char* GetDatabaseType() = 0;
+  virtual const char* GetDatabaseType() = 0;
 
   /**
    * Get the list of tables from the database.
@@ -241,7 +241,7 @@ public:
 
 protected:
   vtkSQLDatabase();
-  ~vtkSQLDatabase();
+  ~vtkSQLDatabase() VTK_OVERRIDE;
 
   /**
    * Subclasses should override this method to determine connection parameters
diff --git a/IO/SQL/vtkSQLDatabaseSchema.h b/IO/SQL/vtkSQLDatabaseSchema.h
index a4cb92e155..0c7e296e00 100644
--- a/IO/SQL/vtkSQLDatabaseSchema.h
+++ b/IO/SQL/vtkSQLDatabaseSchema.h
@@ -62,7 +62,7 @@ class VTKIOSQL_EXPORT vtkSQLDatabaseSchema : public vtkObject
 {
  public:
   vtkTypeMacro(vtkSQLDatabaseSchema, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkSQLDatabaseSchema* New();
 
   /**
@@ -431,7 +431,7 @@ class VTKIOSQL_EXPORT vtkSQLDatabaseSchema : public vtkObject
 
  protected:
   vtkSQLDatabaseSchema();
-  ~vtkSQLDatabaseSchema();
+  ~vtkSQLDatabaseSchema() VTK_OVERRIDE;
 
   char* Name;
 
diff --git a/IO/SQL/vtkSQLDatabaseTableSource.h b/IO/SQL/vtkSQLDatabaseTableSource.h
index 4117857815..92c6640d03 100644
--- a/IO/SQL/vtkSQLDatabaseTableSource.h
+++ b/IO/SQL/vtkSQLDatabaseTableSource.h
@@ -41,7 +41,7 @@ class VTKIOSQL_EXPORT vtkSQLDatabaseTableSource : public vtkTableAlgorithm
 public:
   static vtkSQLDatabaseTableSource* New();
   vtkTypeMacro(vtkSQLDatabaseTableSource, vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkStdString GetURL();
   void SetURL(const vtkStdString& url);
@@ -72,12 +72,12 @@ public:
 
 protected:
   vtkSQLDatabaseTableSource();
-  ~vtkSQLDatabaseTableSource();
+  ~vtkSQLDatabaseTableSource() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkSQLDatabaseTableSource(const vtkSQLDatabaseTableSource&) VTK_DELETE_FUNCTION;
diff --git a/IO/SQL/vtkSQLQuery.h b/IO/SQL/vtkSQLQuery.h
index ab0259530a..84a67481d7 100644
--- a/IO/SQL/vtkSQLQuery.h
+++ b/IO/SQL/vtkSQLQuery.h
@@ -69,7 +69,7 @@ class VTKIOSQL_EXPORT vtkSQLQuery : public vtkRowQuery
 {
 public:
   vtkTypeMacro(vtkSQLQuery, vtkRowQuery);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -86,14 +86,14 @@ public:
    * and results are ready to be fetched).  Returns false on error or
    * inactive query.
    */
-  bool IsActive() { return this->Active; }
+  bool IsActive() VTK_OVERRIDE { return this->Active; }
 
   /**
    * Execute the query.  This must be performed
    * before any field name or data access functions
    * are used.
    */
-  virtual bool Execute() = 0;
+  bool Execute() VTK_OVERRIDE = 0;
 
   /**
    * Begin, commit, or roll back a transaction.  If the underlying
@@ -206,7 +206,7 @@ public:
 
 protected:
   vtkSQLQuery();
-  ~vtkSQLQuery();
+  ~vtkSQLQuery() VTK_OVERRIDE;
 
   /**
    * Set the database associated with the query.
diff --git a/IO/SQL/vtkSQLiteDatabase.h b/IO/SQL/vtkSQLiteDatabase.h
index f48620e419..4a714db608 100644
--- a/IO/SQL/vtkSQLiteDatabase.h
+++ b/IO/SQL/vtkSQLiteDatabase.h
@@ -61,7 +61,7 @@ class VTKIOSQL_EXPORT vtkSQLiteDatabase : public vtkSQLDatabase
 
 public:
   vtkTypeMacro(vtkSQLiteDatabase, vtkSQLDatabase);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkSQLiteDatabase *New();
 
   enum {
@@ -81,55 +81,58 @@ public:
    * - CREATE_OR_CLEAR - Create new or clear existing file.
    * - CREATE - Create new, fail if file exists.
    */
-  bool Open(const char* password);
+  bool Open(const char* password) VTK_OVERRIDE;
   bool Open(const char* password, int mode);
   //@}
 
   /**
    * Close the connection to the database.
    */
-  void Close();
+  void Close() VTK_OVERRIDE;
 
   /**
    * Return whether the database has an open connection
    */
-  bool IsOpen();
+  bool IsOpen() VTK_OVERRIDE;
 
   /**
    * Return an empty query on this database.
    */
-  vtkSQLQuery* GetQueryInstance();
+  vtkSQLQuery* GetQueryInstance() VTK_OVERRIDE;
 
   /**
    * Get the list of tables from the database
    */
-  vtkStringArray* GetTables();
+  vtkStringArray* GetTables() VTK_OVERRIDE;
 
   /**
    * Get the list of fields for a particular table
    */
-  vtkStringArray* GetRecord(const char *table);
+  vtkStringArray* GetRecord(const char *table) VTK_OVERRIDE;
 
   /**
    * Return whether a feature is supported by the database.
    */
-  bool IsSupported(int feature);
+  bool IsSupported(int feature) VTK_OVERRIDE;
 
   /**
    * Did the last operation generate an error
    */
-  bool HasError();
+  bool HasError() VTK_OVERRIDE;
 
   /**
    * Get the last error text from the database
    */
-  const char* GetLastErrorText();
+  const char* GetLastErrorText() VTK_OVERRIDE;
 
   //@{
   /**
    * String representing database type (e.g. "sqlite").
    */
-  vtkGetStringMacro(DatabaseType);
+  const char* GetDatabaseType() VTK_OVERRIDE
+  {
+    return this->DatabaseType;
+  }
   //@}
 
   //@{
@@ -143,7 +146,7 @@ public:
   /**
    * Get the URL of the database.
    */
-  virtual vtkStdString GetURL();
+  vtkStdString GetURL() VTK_OVERRIDE;
 
   /**
    * Return the SQL string with the syntax to create a column inside a
@@ -151,20 +154,20 @@ public:
    * NB: this method implements the SQLite-specific syntax:
    * <column name> <column type> <column attributes>
    */
-  virtual vtkStdString GetColumnSpecification( vtkSQLDatabaseSchema* schema,
+  vtkStdString GetColumnSpecification( vtkSQLDatabaseSchema* schema,
                                                int tblHandle,
-                                               int colHandle );
+                                               int colHandle ) VTK_OVERRIDE;
 
 protected:
   vtkSQLiteDatabase();
-  ~vtkSQLiteDatabase();
+  ~vtkSQLiteDatabase() VTK_OVERRIDE;
 
   /**
    * Overridden to determine connection parameters given the URL.
    * This is called by CreateFromURL() to initialize the instance.
    * Look at CreateFromURL() for details about the URL format.
    */
-  virtual bool ParseURL(const char* url);
+  bool ParseURL(const char* url) VTK_OVERRIDE;
 
 private:
   vtk_sqlite3 *SQLiteInstance;
diff --git a/IO/SQL/vtkSQLiteQuery.h b/IO/SQL/vtkSQLiteQuery.h
index bcbc488bde..796d595e5f 100644
--- a/IO/SQL/vtkSQLiteQuery.h
+++ b/IO/SQL/vtkSQLiteQuery.h
@@ -59,65 +59,65 @@ class VTKIOSQL_EXPORT vtkSQLiteQuery : public vtkSQLQuery
 
 public:
   vtkTypeMacro(vtkSQLiteQuery, vtkSQLQuery);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkSQLiteQuery *New();
 
   /**
    * Set the SQL query string.  This must be performed before
    * Execute() or BindParameter() can be called.
    */
-  bool SetQuery(const char *query);
+  bool SetQuery(const char *query) VTK_OVERRIDE;
 
   /**
    * Execute the query.  This must be performed
    * before any field name or data access functions
    * are used.
    */
-  bool Execute();
+  bool Execute() VTK_OVERRIDE;
 
   /**
    * The number of fields in the query result.
    */
-  int GetNumberOfFields();
+  int GetNumberOfFields() VTK_OVERRIDE;
 
   /**
    * Return the name of the specified query field.
    */
-  const char* GetFieldName(int i);
+  const char* GetFieldName(int i) VTK_OVERRIDE;
 
   /**
    * Return the type of the field, using the constants defined in vtkType.h.
    */
-  int GetFieldType(int i);
+  int GetFieldType(int i) VTK_OVERRIDE;
 
   /**
    * Advance row, return false if past end.
    */
-  bool NextRow();
+  bool NextRow() VTK_OVERRIDE;
 
   /**
    * Return true if there is an error on the current query.
    */
-  bool HasError();
+  bool HasError() VTK_OVERRIDE;
 
   //@{
   /**
    * Begin, abort (roll back), or commit a transaction.
    */
-  bool BeginTransaction();
-  bool RollbackTransaction();
-  bool CommitTransaction();
+  bool BeginTransaction() VTK_OVERRIDE;
+  bool RollbackTransaction() VTK_OVERRIDE;
+  bool CommitTransaction() VTK_OVERRIDE;
   //@}
 
   /**
    * Return data in current row, field c
    */
-  vtkVariant DataValue(vtkIdType c);
+  vtkVariant DataValue(vtkIdType c) VTK_OVERRIDE;
 
   /**
    * Get the last error text from the query
    */
-  const char* GetLastErrorText();
+  const char* GetLastErrorText() VTK_OVERRIDE;
 
   /**
    * The following methods bind a parameter value to a placeholder in
@@ -128,46 +128,46 @@ public:
    */
 
   using vtkSQLQuery::BindParameter;
-  bool BindParameter(int index, unsigned char value);
-  bool BindParameter(int index, signed char value);
-  bool BindParameter(int index, unsigned short value);
-  bool BindParameter(int index, short value);
-  bool BindParameter(int index, unsigned int value);
+  bool BindParameter(int index, unsigned char value) VTK_OVERRIDE;
+  bool BindParameter(int index, signed char value) VTK_OVERRIDE;
+  bool BindParameter(int index, unsigned short value) VTK_OVERRIDE;
+  bool BindParameter(int index, short value) VTK_OVERRIDE;
+  bool BindParameter(int index, unsigned int value) VTK_OVERRIDE;
 
-  bool BindParameter(int index, int value);
+  bool BindParameter(int index, int value) VTK_OVERRIDE;
 
-  bool BindParameter(int index, unsigned long value);
-  bool BindParameter(int index, long value);
-  bool BindParameter(int index, unsigned long long value);
-  bool BindParameter(int index, long long value);
+  bool BindParameter(int index, unsigned long value) VTK_OVERRIDE;
+  bool BindParameter(int index, long value) VTK_OVERRIDE;
+  bool BindParameter(int index, unsigned long long value) VTK_OVERRIDE;
+  bool BindParameter(int index, long long value) VTK_OVERRIDE;
 
-  bool BindParameter(int index, float value);
-  bool BindParameter(int index, double value);
+  bool BindParameter(int index, float value) VTK_OVERRIDE;
+  bool BindParameter(int index, double value) VTK_OVERRIDE;
   /**
    * Bind a string value -- string must be null-terminated
    */
-  bool BindParameter(int index, const char *stringValue);
+  bool BindParameter(int index, const char *stringValue) VTK_OVERRIDE;
   /**
    * Bind a string value by specifying an array and a size
    */
-  bool BindParameter(int index, const char *stringValue, size_t length);
+  bool BindParameter(int index, const char *stringValue, size_t length) VTK_OVERRIDE;
 
-  bool BindParameter(int index, const vtkStdString &string);
+  bool BindParameter(int index, const vtkStdString &string) VTK_OVERRIDE;
 
-  bool BindParameter(int index, vtkVariant value);
+  bool BindParameter(int index, vtkVariant value) VTK_OVERRIDE;
   //@{
   /**
    * Bind a blob value.  Not all databases support blobs as a data
    * type.  Check vtkSQLDatabase::IsSupported(VTK_SQL_FEATURE_BLOB) to
    * make sure.
    */
-  bool BindParameter(int index, const void *data, size_t length);
-  bool ClearParameterBindings();
+  bool BindParameter(int index, const void *data, size_t length) VTK_OVERRIDE;
+  bool ClearParameterBindings() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkSQLiteQuery();
-  ~vtkSQLiteQuery();
+  ~vtkSQLiteQuery() VTK_OVERRIDE;
 
   vtkSetStringMacro(LastErrorText);
 
diff --git a/IO/SQL/vtkSQLiteToTableReader.h b/IO/SQL/vtkSQLiteToTableReader.h
index afc265292d..a708bc0e90 100644
--- a/IO/SQL/vtkSQLiteToTableReader.h
+++ b/IO/SQL/vtkSQLiteToTableReader.h
@@ -34,13 +34,13 @@ class VTKIOSQL_EXPORT vtkSQLiteToTableReader :
 public:
   static vtkSQLiteToTableReader *New();
   vtkTypeMacro(vtkSQLiteToTableReader,vtkDatabaseToTableReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
    vtkSQLiteToTableReader();
-  ~vtkSQLiteToTableReader();
+  ~vtkSQLiteToTableReader() VTK_OVERRIDE;
   int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 private:
   vtkSQLiteToTableReader(const vtkSQLiteToTableReader&) VTK_DELETE_FUNCTION;
   void operator=(const vtkSQLiteToTableReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/SQL/vtkTableToDatabaseWriter.h b/IO/SQL/vtkTableToDatabaseWriter.h
index df034e79b1..73c838e949 100644
--- a/IO/SQL/vtkTableToDatabaseWriter.h
+++ b/IO/SQL/vtkTableToDatabaseWriter.h
@@ -35,7 +35,7 @@ class VTKIOSQL_EXPORT vtkTableToDatabaseWriter : public vtkWriter
 {
 public:
   vtkTypeMacro(vtkTableToDatabaseWriter, vtkWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set the database.  Must already be open.
@@ -65,10 +65,10 @@ public:
 
 protected:
    vtkTableToDatabaseWriter();
-  ~vtkTableToDatabaseWriter();
-  virtual void WriteData() = 0;
+  ~vtkTableToDatabaseWriter() VTK_OVERRIDE;
+  void WriteData() VTK_OVERRIDE = 0;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 
   vtkSQLDatabase *Database;
diff --git a/IO/SQL/vtkTableToSQLiteWriter.h b/IO/SQL/vtkTableToSQLiteWriter.h
index b83b508cc0..37eeab54fd 100644
--- a/IO/SQL/vtkTableToSQLiteWriter.h
+++ b/IO/SQL/vtkTableToSQLiteWriter.h
@@ -33,7 +33,7 @@ class VTKIOSQL_EXPORT vtkTableToSQLiteWriter : public vtkTableToDatabaseWriter
 public:
   static vtkTableToSQLiteWriter *New();
   vtkTypeMacro(vtkTableToSQLiteWriter,vtkTableToDatabaseWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -45,10 +45,10 @@ public:
 
 protected:
    vtkTableToSQLiteWriter();
-  ~vtkTableToSQLiteWriter();
-  void WriteData();
+  ~vtkTableToSQLiteWriter() VTK_OVERRIDE;
+  void WriteData() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   vtkTable *Input;
 
diff --git a/IO/TecplotTable/vtkTecplotTableReader.h b/IO/TecplotTable/vtkTecplotTableReader.h
index f53401f582..1a8defd8ff 100644
--- a/IO/TecplotTable/vtkTecplotTableReader.h
+++ b/IO/TecplotTable/vtkTecplotTableReader.h
@@ -44,7 +44,7 @@ class VTKIOTECPLOTTABLE_EXPORT vtkTecplotTableReader : public vtkTableAlgorithm
 public:
   static vtkTecplotTableReader* New();
   vtkTypeMacro(vtkTecplotTableReader, vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -126,12 +126,12 @@ public:
 
 protected:
   vtkTecplotTableReader();
-  ~vtkTecplotTableReader();
+  ~vtkTecplotTableReader() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   char* FileName;
   vtkIdType MaxRecords;
diff --git a/IO/Video/vtkVideoSource.h b/IO/Video/vtkVideoSource.h
index 0f87b2ec92..fd3645bbb5 100644
--- a/IO/Video/vtkVideoSource.h
+++ b/IO/Video/vtkVideoSource.h
@@ -45,7 +45,7 @@ class VTKIOVIDEO_EXPORT vtkVideoSource : public vtkImageAlgorithm
 public:
   static vtkVideoSource *New();
   vtkTypeMacro(vtkVideoSource,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Record incoming video at the specified FrameRate.  The recording
@@ -290,8 +290,8 @@ public:
 
 protected:
   vtkVideoSource();
-  ~vtkVideoSource();
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  ~vtkVideoSource() VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   int Initialized;
 
@@ -359,7 +359,7 @@ protected:
    */
   virtual void UpdateFrameBuffer();
   virtual void AdvanceFrameBuffer(int n);
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   // if some component conversion is required, it is done here:
   virtual void UnpackRasterLine(char *outPtr, char *rowPtr,
                                 int start, int count);
diff --git a/IO/XML/vtkRTXMLPolyDataReader.h b/IO/XML/vtkRTXMLPolyDataReader.h
index 183f114909..60c738b123 100644
--- a/IO/XML/vtkRTXMLPolyDataReader.h
+++ b/IO/XML/vtkRTXMLPolyDataReader.h
@@ -32,7 +32,7 @@ class VTKIOXML_EXPORT vtkRTXMLPolyDataReader : public vtkXMLPolyDataReader
 {
 public:
   vtkTypeMacro(vtkRTXMLPolyDataReader,vtkXMLPolyDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkRTXMLPolyDataReader* New();
 
   // This sets the DataLocation and also
@@ -70,7 +70,7 @@ public:
 
 protected:
   vtkRTXMLPolyDataReader();
-  ~vtkRTXMLPolyDataReader();
+  ~vtkRTXMLPolyDataReader() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/IO/XML/vtkXMLCompositeDataReader.h b/IO/XML/vtkXMLCompositeDataReader.h
index 212f916c7e..43c6c06d8a 100644
--- a/IO/XML/vtkXMLCompositeDataReader.h
+++ b/IO/XML/vtkXMLCompositeDataReader.h
@@ -42,7 +42,7 @@ class VTKIOXML_EXPORT vtkXMLCompositeDataReader : public vtkXMLReader
 {
 public:
   vtkTypeMacro(vtkXMLCompositeDataReader,vtkXMLReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -54,30 +54,30 @@ public:
 
 protected:
   vtkXMLCompositeDataReader();
-  ~vtkXMLCompositeDataReader();
+  ~vtkXMLCompositeDataReader() VTK_OVERRIDE;
 
   // Get the name of the data set being read.
-  virtual const char* GetDataSetName();
+  const char* GetDataSetName() VTK_OVERRIDE;
 
   // Returns the primary element pass to ReadPrimaryElement().
   vtkXMLDataElement* GetPrimaryElement();
 
-  virtual void ReadXMLData();
-  virtual int ReadPrimaryElement(vtkXMLDataElement* ePrimary);
+  void ReadXMLData() VTK_OVERRIDE;
+  int ReadPrimaryElement(vtkXMLDataElement* ePrimary) VTK_OVERRIDE;
 
   // Setup the output with no data available.  Used in error cases.
-  virtual void SetupEmptyOutput();
+  void SetupEmptyOutput() VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int, vtkInformation* info);
+  int FillOutputPortInformation(int, vtkInformation* info) VTK_OVERRIDE;
 
   // Create a default executive.
-  virtual vtkExecutive* CreateDefaultExecutive();
+  vtkExecutive* CreateDefaultExecutive() VTK_OVERRIDE;
 
   vtkXMLReader* GetReaderOfType(const char* type);
 
-  virtual int RequestInformation(vtkInformation*,
+  int RequestInformation(vtkInformation*,
                                  vtkInformationVector**,
-                                 vtkInformationVector*);
+                                 vtkInformationVector*) VTK_OVERRIDE;
 
 
 
diff --git a/IO/XML/vtkXMLCompositeDataWriter.h b/IO/XML/vtkXMLCompositeDataWriter.h
index 68830425d8..08a3122eb7 100644
--- a/IO/XML/vtkXMLCompositeDataWriter.h
+++ b/IO/XML/vtkXMLCompositeDataWriter.h
@@ -39,12 +39,12 @@ class VTKIOXML_EXPORT vtkXMLCompositeDataWriter : public vtkXMLWriter
 {
 public:
   vtkTypeMacro(vtkXMLCompositeDataWriter,vtkXMLWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the default file extension for files written by this writer.
    */
-  virtual const char* GetDefaultFileExtension();
+  const char* GetDefaultFileExtension() VTK_OVERRIDE;
 
   /**
    * Get/Set the number of pieces into which the inputs are split.
@@ -71,19 +71,19 @@ public:
    */
   int ProcessRequest(vtkInformation*,
                      vtkInformationVector**,
-                     vtkInformationVector*);
+                     vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   vtkXMLCompositeDataWriter();
-  ~vtkXMLCompositeDataWriter();
+  ~vtkXMLCompositeDataWriter() VTK_OVERRIDE;
 
   /**
    * Methods to define the file's major and minor version numbers.
    * Major version incremented since v0.1 composite data readers cannot read
    * the files written by this new reader.
    */
-  virtual int GetDataSetMajorVersion() { return 1; }
-  virtual int GetDataSetMinorVersion() { return 0; }
+  int GetDataSetMajorVersion() VTK_OVERRIDE { return 1; }
+  int GetDataSetMinorVersion() VTK_OVERRIDE { return 0; }
 
   /**
    * Create a filename for the given index.
@@ -91,18 +91,18 @@ protected:
   vtkStdString CreatePieceFileName(int Piece);
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   int RequestData(
-    vtkInformation*  , vtkInformationVector** , vtkInformationVector*);
+    vtkInformation*  , vtkInformationVector** , vtkInformationVector*) VTK_OVERRIDE;
   int RequestUpdateExtent(
     vtkInformation*  , vtkInformationVector** , vtkInformationVector*);
 
-  virtual int WriteData();
-  virtual const char* GetDataSetName();
+  int WriteData() VTK_OVERRIDE;
+  const char* GetDataSetName() VTK_OVERRIDE;
 
   // Create a default executive.
-  virtual vtkExecutive* CreateDefaultExecutive();
+  vtkExecutive* CreateDefaultExecutive() VTK_OVERRIDE;
 
   vtkInformation* InputInformation;
 
diff --git a/IO/XML/vtkXMLDataReader.h b/IO/XML/vtkXMLDataReader.h
index 9fb5359adc..9af5706722 100644
--- a/IO/XML/vtkXMLDataReader.h
+++ b/IO/XML/vtkXMLDataReader.h
@@ -42,7 +42,7 @@ public:
 
 
   vtkTypeMacro(vtkXMLDataReader,vtkXMLReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the number of points in the output.
@@ -56,19 +56,19 @@ public:
 
   // For the specified port, copy the information this reader sets up in
   // SetupOutputInformation to outInfo
-  virtual void CopyOutputInformation(vtkInformation *outInfo, int port);
+  void CopyOutputInformation(vtkInformation *outInfo, int port) VTK_OVERRIDE;
 
 protected:
   vtkXMLDataReader();
-  ~vtkXMLDataReader();
+  ~vtkXMLDataReader() VTK_OVERRIDE;
 
   // Add functionality to methods from superclass.
-  virtual void CreateXMLParser();
-  virtual void DestroyXMLParser();
-  virtual void SetupOutputInformation(vtkInformation *outInfo);
+  void CreateXMLParser() VTK_OVERRIDE;
+  void DestroyXMLParser() VTK_OVERRIDE;
+  void SetupOutputInformation(vtkInformation *outInfo) VTK_OVERRIDE;
 
-  int ReadPrimaryElement(vtkXMLDataElement* ePrimary);
-  void SetupOutputData();
+  int ReadPrimaryElement(vtkXMLDataElement* ePrimary) VTK_OVERRIDE;
+  void SetupOutputData() VTK_OVERRIDE;
 
   // Setup the reader for a given number of pieces.
   virtual void SetupPieces(int numPieces);
@@ -82,7 +82,7 @@ protected:
   int ReadPieceData(int piece);
   virtual int ReadPieceData();
 
-  virtual void ReadXMLData();
+  void ReadXMLData() VTK_OVERRIDE;
 
   // Read a data array whose tuples coorrespond to points or cells.
   virtual int ReadArrayForPoints(vtkXMLDataElement* da,
diff --git a/IO/XML/vtkXMLDataSetWriter.h b/IO/XML/vtkXMLDataSetWriter.h
index ee6aaafef9..7d9c232d44 100644
--- a/IO/XML/vtkXMLDataSetWriter.h
+++ b/IO/XML/vtkXMLDataSetWriter.h
@@ -38,7 +38,7 @@ class VTKIOXML_EXPORT vtkXMLDataSetWriter : public vtkXMLWriter
 {
 public:
   vtkTypeMacro(vtkXMLDataSetWriter,vtkXMLWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLDataSetWriter* New();
 
   /**
@@ -56,17 +56,17 @@ public:
 
 protected:
   vtkXMLDataSetWriter();
-  ~vtkXMLDataSetWriter();
+  ~vtkXMLDataSetWriter() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   // Override writing method from superclass.
-  virtual int WriteInternal();
+  int WriteInternal() VTK_OVERRIDE;
 
   // Dummies to satisfy pure virtuals from superclass.
-  const char* GetDataSetName();
-  const char* GetDefaultFileExtension();
+  const char* GetDataSetName() VTK_OVERRIDE;
+  const char* GetDefaultFileExtension() VTK_OVERRIDE;
 
   // Callback registered with the ProgressObserver.
   static void ProgressCallbackFunction(vtkObject*, unsigned long, void*,
diff --git a/IO/XML/vtkXMLFileReadTester.cxx b/IO/XML/vtkXMLFileReadTester.cxx
index e9b5f3d1f0..49dfc8ca40 100644
--- a/IO/XML/vtkXMLFileReadTester.cxx
+++ b/IO/XML/vtkXMLFileReadTester.cxx
@@ -20,7 +20,6 @@ vtkStandardNewMacro(vtkXMLFileReadTester);
 //----------------------------------------------------------------------------
 vtkXMLFileReadTester::vtkXMLFileReadTester()
 {
-  this->FileName = 0;
   this->FileDataType = 0;
   this->FileVersion = 0;
 }
@@ -28,7 +27,6 @@ vtkXMLFileReadTester::vtkXMLFileReadTester()
 //----------------------------------------------------------------------------
 vtkXMLFileReadTester::~vtkXMLFileReadTester()
 {
-  this->SetFileName(0);
   this->SetFileDataType(0);
   this->SetFileVersion(0);
 }
@@ -37,8 +35,6 @@ vtkXMLFileReadTester::~vtkXMLFileReadTester()
 void vtkXMLFileReadTester::PrintSelf(ostream& os, vtkIndent indent)
 {
   this->Superclass::PrintSelf(os, indent);
-  os << indent << "FileName: "
-     << (this->FileName? this->FileName:"") << "\n";
   os << indent << "FileDataType: "
      << (this->FileDataType? this->FileDataType:"") << "\n";
   os << indent << "FileVersion: "
diff --git a/IO/XML/vtkXMLFileReadTester.h b/IO/XML/vtkXMLFileReadTester.h
index 1e19ca8311..fc4926f0cc 100644
--- a/IO/XML/vtkXMLFileReadTester.h
+++ b/IO/XML/vtkXMLFileReadTester.h
@@ -31,7 +31,7 @@ class VTKIOXML_EXPORT vtkXMLFileReadTester: public vtkXMLParser
 {
 public:
   vtkTypeMacro(vtkXMLFileReadTester,vtkXMLParser);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLFileReadTester* New();
 
   /**
@@ -40,14 +40,6 @@ public:
    */
   int TestReadFile();
 
-  //@{
-  /**
-   * Get/Set the name of the file tested by TestReadFile().
-   */
-  vtkSetStringMacro(FileName);
-  vtkGetStringMacro(FileName);
-  //@}
-
   //@{
   /**
    * Get the data type of the XML file tested.  If the file could not
@@ -66,17 +58,16 @@ public:
 
 protected:
   vtkXMLFileReadTester();
-  ~vtkXMLFileReadTester();
+  ~vtkXMLFileReadTester() VTK_OVERRIDE;
 
-  void StartElement(const char* name, const char** atts);
-  int ParsingComplete();
-  void ReportStrayAttribute(const char*, const char*, const char*) {}
-  void ReportMissingAttribute(const char*, const char*) {}
-  void ReportBadAttribute(const char*, const char*, const char*) {}
-  void ReportUnknownElement(const char*) {}
-  void ReportXmlParseError() {}
+  void StartElement(const char* name, const char** atts) VTK_OVERRIDE;
+  int ParsingComplete() VTK_OVERRIDE;
+  void ReportStrayAttribute(const char*, const char*, const char*) VTK_OVERRIDE {}
+  void ReportMissingAttribute(const char*, const char*) VTK_OVERRIDE {}
+  void ReportBadAttribute(const char*, const char*, const char*) VTK_OVERRIDE {}
+  void ReportUnknownElement(const char*) VTK_OVERRIDE {}
+  void ReportXmlParseError() VTK_OVERRIDE {}
 
-  char* FileName;
   char* FileDataType;
   char* FileVersion;
   int Done;
diff --git a/IO/XML/vtkXMLGenericDataObjectReader.h b/IO/XML/vtkXMLGenericDataObjectReader.h
index 6c784c123a..c37a7b6f8c 100644
--- a/IO/XML/vtkXMLGenericDataObjectReader.h
+++ b/IO/XML/vtkXMLGenericDataObjectReader.h
@@ -42,7 +42,7 @@ class VTKIOXML_EXPORT vtkXMLGenericDataObjectReader : public vtkXMLDataReader
 {
 public:
   vtkTypeMacro(vtkXMLGenericDataObjectReader,vtkXMLDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLGenericDataObjectReader *New();
 
   //@{
@@ -74,17 +74,17 @@ public:
   /**
    * Overridden method.
    */
-  vtkIdType GetNumberOfPoints();
+  vtkIdType GetNumberOfPoints() VTK_OVERRIDE;
 
   /**
    * Overridden method.
    */
-  vtkIdType GetNumberOfCells();
+  vtkIdType GetNumberOfCells() VTK_OVERRIDE;
 
   /**
    * Overridden method. Not Used. Delegated.
    */
-  void SetupEmptyOutput();
+  void SetupEmptyOutput() VTK_OVERRIDE;
 
   /**
    * This method can be used to find out the type of output expected without
@@ -94,25 +94,25 @@ public:
 
 protected:
   vtkXMLGenericDataObjectReader();
-  ~vtkXMLGenericDataObjectReader();
+  ~vtkXMLGenericDataObjectReader() VTK_OVERRIDE;
 
   /**
    * Overridden method. Not used. Return "vtkDataObject".
    */
-  const char* GetDataSetName();
+  const char* GetDataSetName() VTK_OVERRIDE;
 
 
-  virtual int RequestDataObject(vtkInformation *, vtkInformationVector **,
-                                vtkInformationVector *);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
-                                 vtkInformationVector *);
+  int RequestDataObject(vtkInformation *, vtkInformationVector **,
+                                vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **,
+                                 vtkInformationVector *) VTK_OVERRIDE;
   virtual int RequestUpdateExtent(vtkInformation *request,
                                   vtkInformationVector **inputVector,
                                   vtkInformationVector *outputVector);
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
-  virtual int FillOutputPortInformation(int, vtkInformation *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
+  int FillOutputPortInformation(int, vtkInformation *) VTK_OVERRIDE;
 
   vtkXMLReader *Reader; // actual reader
 
diff --git a/IO/XML/vtkXMLHierarchicalBoxDataFileConverter.h b/IO/XML/vtkXMLHierarchicalBoxDataFileConverter.h
index c5ed845a18..8654e71848 100644
--- a/IO/XML/vtkXMLHierarchicalBoxDataFileConverter.h
+++ b/IO/XML/vtkXMLHierarchicalBoxDataFileConverter.h
@@ -35,7 +35,7 @@ class VTKIOXML_EXPORT vtkXMLHierarchicalBoxDataFileConverter : public vtkObject
 public:
   static vtkXMLHierarchicalBoxDataFileConverter* New();
   vtkTypeMacro(vtkXMLHierarchicalBoxDataFileConverter, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -60,7 +60,7 @@ public:
 
 protected:
   vtkXMLHierarchicalBoxDataFileConverter();
-  ~vtkXMLHierarchicalBoxDataFileConverter();
+  ~vtkXMLHierarchicalBoxDataFileConverter() VTK_OVERRIDE;
 
   vtkXMLDataElement* ParseXML(const char* filename);
 
diff --git a/IO/XML/vtkXMLHierarchicalBoxDataReader.h b/IO/XML/vtkXMLHierarchicalBoxDataReader.h
index bbe5659142..099cf16a46 100644
--- a/IO/XML/vtkXMLHierarchicalBoxDataReader.h
+++ b/IO/XML/vtkXMLHierarchicalBoxDataReader.h
@@ -38,11 +38,11 @@ class VTKIOXML_EXPORT vtkXMLHierarchicalBoxDataReader :
 public:
   static vtkXMLHierarchicalBoxDataReader* New();
   vtkTypeMacro(vtkXMLHierarchicalBoxDataReader,vtkXMLUniformGridAMRReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkXMLHierarchicalBoxDataReader();
-  ~vtkXMLHierarchicalBoxDataReader();
+  ~vtkXMLHierarchicalBoxDataReader() VTK_OVERRIDE;
 
 private:
   vtkXMLHierarchicalBoxDataReader(const vtkXMLHierarchicalBoxDataReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/XML/vtkXMLHierarchicalBoxDataWriter.h b/IO/XML/vtkXMLHierarchicalBoxDataWriter.h
index a086089d0c..92f76d6918 100644
--- a/IO/XML/vtkXMLHierarchicalBoxDataWriter.h
+++ b/IO/XML/vtkXMLHierarchicalBoxDataWriter.h
@@ -32,17 +32,17 @@ class VTKIOXML_EXPORT vtkXMLHierarchicalBoxDataWriter : public vtkXMLUniformGrid
 public:
   static vtkXMLHierarchicalBoxDataWriter* New();
   vtkTypeMacro(vtkXMLHierarchicalBoxDataWriter, vtkXMLUniformGridAMRWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the default file extension for files written by this writer.
    */
-  virtual const char* GetDefaultFileExtension()
+  const char* GetDefaultFileExtension() VTK_OVERRIDE
     { return "vth"; }
 
 protected:
   vtkXMLHierarchicalBoxDataWriter();
-  ~vtkXMLHierarchicalBoxDataWriter();
+  ~vtkXMLHierarchicalBoxDataWriter() VTK_OVERRIDE;
 
 private:
   vtkXMLHierarchicalBoxDataWriter(const vtkXMLHierarchicalBoxDataWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/XML/vtkXMLHierarchicalDataReader.h b/IO/XML/vtkXMLHierarchicalDataReader.h
index be2a022930..39c09a2a1c 100644
--- a/IO/XML/vtkXMLHierarchicalDataReader.h
+++ b/IO/XML/vtkXMLHierarchicalDataReader.h
@@ -39,14 +39,14 @@ class VTKIOXML_EXPORT vtkXMLHierarchicalDataReader : public vtkXMLMultiGroupData
 public:
   static vtkXMLHierarchicalDataReader* New();
   vtkTypeMacro(vtkXMLHierarchicalDataReader,vtkXMLMultiGroupDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkXMLHierarchicalDataReader();
-  ~vtkXMLHierarchicalDataReader();
+  ~vtkXMLHierarchicalDataReader() VTK_OVERRIDE;
 
   // Get the name of the data set being read.
-  virtual const char* GetDataSetName()
+  const char* GetDataSetName() VTK_OVERRIDE
   {
     return "vtkHierarchicalDataSet";
   }
diff --git a/IO/XML/vtkXMLHyperOctreeReader.h b/IO/XML/vtkXMLHyperOctreeReader.h
index b2b941e9c5..9485cc1602 100644
--- a/IO/XML/vtkXMLHyperOctreeReader.h
+++ b/IO/XML/vtkXMLHyperOctreeReader.h
@@ -40,7 +40,7 @@ class VTKIOXML_EXPORT vtkXMLHyperOctreeReader : public vtkXMLDataReader
 {
 public:
   vtkTypeMacro(vtkXMLHyperOctreeReader,vtkXMLDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLHyperOctreeReader *New();
 
   //@{
@@ -53,31 +53,31 @@ public:
 
 protected:
   vtkXMLHyperOctreeReader();
-  ~vtkXMLHyperOctreeReader();
+  ~vtkXMLHyperOctreeReader() VTK_OVERRIDE;
 
-  const char* GetDataSetName();
+  const char* GetDataSetName() VTK_OVERRIDE;
 
   // Setup the output with no data available.  Used in error cases.
-  void SetupEmptyOutput();
+  void SetupEmptyOutput() VTK_OVERRIDE;
 
   // Declare that this reader produces HyperOctrees
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   //These defer to the HyperOctree output.
-  vtkIdType GetNumberOfPoints();
-  vtkIdType GetNumberOfCells();
+  vtkIdType GetNumberOfPoints() VTK_OVERRIDE;
+  vtkIdType GetNumberOfCells() VTK_OVERRIDE;
 
   // Overriden here to do allocation.
-  virtual int ReadArrayForPoints(vtkXMLDataElement* da,
-                                 vtkAbstractArray* outArray);
-  virtual int ReadArrayForCells(vtkXMLDataElement* da,
-                                vtkAbstractArray* outArray);
+  int ReadArrayForPoints(vtkXMLDataElement* da,
+                                 vtkAbstractArray* outArray) VTK_OVERRIDE;
+  int ReadArrayForCells(vtkXMLDataElement* da,
+                                vtkAbstractArray* outArray) VTK_OVERRIDE;
 
 
 
   // The most important stuff is here.
   // Read the rest of the file and create the HyperOctree.
-  void ReadXMLData();
+  void ReadXMLData() VTK_OVERRIDE;
 
   // Recover the structure of the HyperOctree, used by ReadXMLData.
   void ReadTopology(vtkXMLDataElement *elem);
diff --git a/IO/XML/vtkXMLHyperOctreeWriter.h b/IO/XML/vtkXMLHyperOctreeWriter.h
index fa5762719a..76b5cefe66 100644
--- a/IO/XML/vtkXMLHyperOctreeWriter.h
+++ b/IO/XML/vtkXMLHyperOctreeWriter.h
@@ -40,7 +40,7 @@ class VTKIOXML_EXPORT vtkXMLHyperOctreeWriter : public vtkXMLWriter
 {
 public:
   vtkTypeMacro(vtkXMLHyperOctreeWriter,vtkXMLWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLHyperOctreeWriter* New();
 
   /**
@@ -51,25 +51,25 @@ public:
   /**
    * Get the default file extension for files written by this writer.
    */
-  const char* GetDefaultFileExtension();
+  const char* GetDefaultFileExtension() VTK_OVERRIDE;
 
 protected:
   vtkXMLHyperOctreeWriter();
-  ~vtkXMLHyperOctreeWriter();
+  ~vtkXMLHyperOctreeWriter() VTK_OVERRIDE;
 
-  const char* GetDataSetName();
+  const char* GetDataSetName() VTK_OVERRIDE;
 
   // specify that we require HyperOctree input
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   // The most important method, make the XML file for my input.
-  int WriteData();
+  int WriteData() VTK_OVERRIDE;
 
   // <HyperOctree ...
   int StartPrimElement(vtkIndent);
 
   // ... dim, size, origin>
-  void WritePrimaryElementAttributes(ostream &, vtkIndent);
+  void WritePrimaryElementAttributes(ostream &, vtkIndent) VTK_OVERRIDE;
 
   // Tree Structure
   int WriteTopology(vtkIndent);
diff --git a/IO/XML/vtkXMLImageDataReader.h b/IO/XML/vtkXMLImageDataReader.h
index f4981314ce..36c0967381 100644
--- a/IO/XML/vtkXMLImageDataReader.h
+++ b/IO/XML/vtkXMLImageDataReader.h
@@ -38,7 +38,7 @@ class VTKIOXML_EXPORT vtkXMLImageDataReader : public vtkXMLStructuredDataReader
 {
 public:
   vtkTypeMacro(vtkXMLImageDataReader,vtkXMLStructuredDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLImageDataReader *New();
 
   //@{
@@ -53,25 +53,25 @@ public:
    * For the specified port, copy the information this reader sets up in
    * SetupOutputInformation to outInfo
    */
-  virtual void CopyOutputInformation(vtkInformation *outInfo, int port);
+  void CopyOutputInformation(vtkInformation *outInfo, int port) VTK_OVERRIDE;
 
 protected:
   vtkXMLImageDataReader();
-  ~vtkXMLImageDataReader();
+  ~vtkXMLImageDataReader() VTK_OVERRIDE;
 
   double Origin[3];
   double Spacing[3];
   int PieceExtent[6];
 
-  const char* GetDataSetName();
-  void SetOutputExtent(int* extent);
+  const char* GetDataSetName() VTK_OVERRIDE;
+  void SetOutputExtent(int* extent) VTK_OVERRIDE;
 
-  int ReadPrimaryElement(vtkXMLDataElement* ePrimary);
+  int ReadPrimaryElement(vtkXMLDataElement* ePrimary) VTK_OVERRIDE;
 
   // Setup the output's information.
-  void SetupOutputInformation(vtkInformation *outInfo);
+  void SetupOutputInformation(vtkInformation *outInfo) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
 
 
diff --git a/IO/XML/vtkXMLImageDataWriter.h b/IO/XML/vtkXMLImageDataWriter.h
index daa359adb9..368199ea59 100644
--- a/IO/XML/vtkXMLImageDataWriter.h
+++ b/IO/XML/vtkXMLImageDataWriter.h
@@ -39,7 +39,7 @@ class VTKIOXML_EXPORT vtkXMLImageDataWriter : public vtkXMLStructuredDataWriter
 public:
   static vtkXMLImageDataWriter* New();
   vtkTypeMacro(vtkXMLImageDataWriter,vtkXMLStructuredDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get/Set the writer's input.
@@ -49,18 +49,18 @@ public:
   /**
    * Get the default file extension for files written by this writer.
    */
-  const char* GetDefaultFileExtension();
+  const char* GetDefaultFileExtension() VTK_OVERRIDE;
 
 protected:
   vtkXMLImageDataWriter();
-  ~vtkXMLImageDataWriter();
+  ~vtkXMLImageDataWriter() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
-  void WritePrimaryElementAttributes(ostream &os, vtkIndent indent);
-  void GetInputExtent(int* extent);
-  const char* GetDataSetName();
+  void WritePrimaryElementAttributes(ostream &os, vtkIndent indent) VTK_OVERRIDE;
+  void GetInputExtent(int* extent) VTK_OVERRIDE;
+  const char* GetDataSetName() VTK_OVERRIDE;
 
 private:
   vtkXMLImageDataWriter(const vtkXMLImageDataWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/XML/vtkXMLMultiBlockDataReader.h b/IO/XML/vtkXMLMultiBlockDataReader.h
index f0a6d34939..c537ad2f35 100644
--- a/IO/XML/vtkXMLMultiBlockDataReader.h
+++ b/IO/XML/vtkXMLMultiBlockDataReader.h
@@ -39,17 +39,17 @@ class VTKIOXML_EXPORT vtkXMLMultiBlockDataReader : public vtkXMLCompositeDataRea
 public:
   static vtkXMLMultiBlockDataReader* New();
   vtkTypeMacro(vtkXMLMultiBlockDataReader,vtkXMLCompositeDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkXMLMultiBlockDataReader();
-  ~vtkXMLMultiBlockDataReader();
+  ~vtkXMLMultiBlockDataReader() VTK_OVERRIDE;
 
   // Read the XML element for the subtree of a the composite dataset.
   // dataSetIndex is used to rank the leaf nodes in an inorder traversal.
-  virtual void ReadComposite(vtkXMLDataElement* element,
+  void ReadComposite(vtkXMLDataElement* element,
     vtkCompositeDataSet* composite, const char* filePath,
-    unsigned int &dataSetIndex);
+    unsigned int &dataSetIndex) VTK_OVERRIDE;
 
   // Reads file version < 1.0.
   virtual void ReadVersion0(vtkXMLDataElement* element,
@@ -57,13 +57,13 @@ protected:
     unsigned int &dataSetIndex);
 
   // Get the name of the data set being read.
-  virtual const char* GetDataSetName();
+  const char* GetDataSetName() VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int, vtkInformation* info);
+  int FillOutputPortInformation(int, vtkInformation* info) VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation*,
+  int RequestInformation(vtkInformation*,
                                  vtkInformationVector**,
-                                 vtkInformationVector*);
+                                 vtkInformationVector*) VTK_OVERRIDE;
 
   virtual int FillMetaData(vtkCompositeDataSet* metadata,
                            vtkXMLDataElement* element,
diff --git a/IO/XML/vtkXMLMultiBlockDataWriter.h b/IO/XML/vtkXMLMultiBlockDataWriter.h
index 51adf7649e..0b223c5a0f 100644
--- a/IO/XML/vtkXMLMultiBlockDataWriter.h
+++ b/IO/XML/vtkXMLMultiBlockDataWriter.h
@@ -31,24 +31,24 @@ class VTKIOXML_EXPORT vtkXMLMultiBlockDataWriter : public vtkXMLCompositeDataWri
 public:
   static vtkXMLMultiBlockDataWriter* New();
   vtkTypeMacro(vtkXMLMultiBlockDataWriter, vtkXMLCompositeDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the default file extension for files written by this writer.
    */
-  virtual const char* GetDefaultFileExtension()
+  const char* GetDefaultFileExtension() VTK_OVERRIDE
     { return "vtm"; }
 
 protected:
   vtkXMLMultiBlockDataWriter();
-  ~vtkXMLMultiBlockDataWriter();
+  ~vtkXMLMultiBlockDataWriter() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   // Internal method called recursively to create the xml tree for the children
   // of compositeData.
-  virtual int WriteComposite(vtkCompositeDataSet* compositeData,
-    vtkXMLDataElement* parent, int &writerIdx);
+  int WriteComposite(vtkCompositeDataSet* compositeData,
+    vtkXMLDataElement* parent, int &writerIdx) VTK_OVERRIDE;
 
 private:
   vtkXMLMultiBlockDataWriter(const vtkXMLMultiBlockDataWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/XML/vtkXMLMultiGroupDataReader.h b/IO/XML/vtkXMLMultiGroupDataReader.h
index a8110cf7da..fb5186f4ea 100644
--- a/IO/XML/vtkXMLMultiGroupDataReader.h
+++ b/IO/XML/vtkXMLMultiGroupDataReader.h
@@ -31,14 +31,14 @@ class VTKIOXML_EXPORT vtkXMLMultiGroupDataReader : public vtkXMLMultiBlockDataRe
 public:
   static vtkXMLMultiGroupDataReader* New();
   vtkTypeMacro(vtkXMLMultiGroupDataReader,vtkXMLMultiBlockDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkXMLMultiGroupDataReader();
-  ~vtkXMLMultiGroupDataReader();
+  ~vtkXMLMultiGroupDataReader() VTK_OVERRIDE;
 
   // Get the name of the data set being read.
-  virtual const char* GetDataSetName()
+  const char* GetDataSetName() VTK_OVERRIDE
   {
     return "vtkMultiGroupDataSet";
   }
diff --git a/IO/XML/vtkXMLPDataReader.h b/IO/XML/vtkXMLPDataReader.h
index a4f20b9dd0..d921a5b941 100644
--- a/IO/XML/vtkXMLPDataReader.h
+++ b/IO/XML/vtkXMLPDataReader.h
@@ -38,7 +38,7 @@ class VTKIOXML_EXPORT vtkXMLPDataReader : public vtkXMLReader
 {
 public:
   vtkTypeMacro(vtkXMLPDataReader,vtkXMLReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -49,20 +49,20 @@ public:
 
   // For the specified port, copy the information this reader sets up in
   // SetupOutputInformation to outInfo
-  virtual void CopyOutputInformation(vtkInformation *outInfo, int port);
+  void CopyOutputInformation(vtkInformation *outInfo, int port) VTK_OVERRIDE;
 
 protected:
   vtkXMLPDataReader();
-  ~vtkXMLPDataReader();
+  ~vtkXMLPDataReader() VTK_OVERRIDE;
 
   // Pipeline execute information driver.  Called by vtkXMLReader.
-  int ReadXMLInformation();
-  virtual void SetupOutputInformation(vtkInformation *outInfo);
+  int ReadXMLInformation() VTK_OVERRIDE;
+  void SetupOutputInformation(vtkInformation *outInfo) VTK_OVERRIDE;
 
-  int ReadPrimaryElement(vtkXMLDataElement* ePrimary);
+  int ReadPrimaryElement(vtkXMLDataElement* ePrimary) VTK_OVERRIDE;
 
   vtkDataSet* GetPieceInputAsDataSet(int piece);
-  void SetupOutputData();
+  void SetupOutputData() VTK_OVERRIDE;
 
   virtual vtkXMLDataReader* CreatePieceReader()=0;
   virtual vtkIdType GetNumberOfPoints()=0;
diff --git a/IO/XML/vtkXMLPImageDataReader.h b/IO/XML/vtkXMLPImageDataReader.h
index af369dc8a8..57c0a090f9 100644
--- a/IO/XML/vtkXMLPImageDataReader.h
+++ b/IO/XML/vtkXMLPImageDataReader.h
@@ -38,7 +38,7 @@ class VTKIOXML_EXPORT vtkXMLPImageDataReader : public vtkXMLPStructuredDataReade
 {
 public:
   vtkTypeMacro(vtkXMLPImageDataReader,vtkXMLPStructuredDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLPImageDataReader *New();
 
   //@{
@@ -51,28 +51,28 @@ public:
 
   // For the specified port, copy the information this reader sets up in
   // SetupOutputInformation to outInfo
-  virtual void CopyOutputInformation(vtkInformation *outInfo, int port);
+  void CopyOutputInformation(vtkInformation *outInfo, int port) VTK_OVERRIDE;
 
 protected:
   vtkXMLPImageDataReader();
-  ~vtkXMLPImageDataReader();
+  ~vtkXMLPImageDataReader() VTK_OVERRIDE;
 
   double Origin[3];
   double Spacing[3];
 
   vtkImageData* GetPieceInput(int index);
 
-  void SetupEmptyOutput();
-  const char* GetDataSetName();
-  void SetOutputExtent(int* extent);
-  void GetPieceInputExtent(int index, int* extent);
-  int ReadPrimaryElement(vtkXMLDataElement* ePrimary);
+  void SetupEmptyOutput() VTK_OVERRIDE;
+  const char* GetDataSetName() VTK_OVERRIDE;
+  void SetOutputExtent(int* extent) VTK_OVERRIDE;
+  void GetPieceInputExtent(int index, int* extent) VTK_OVERRIDE;
+  int ReadPrimaryElement(vtkXMLDataElement* ePrimary) VTK_OVERRIDE;
 
   // Setup the output's information.
-  void SetupOutputInformation(vtkInformation *outInfo);
+  void SetupOutputInformation(vtkInformation *outInfo) VTK_OVERRIDE;
 
-  vtkXMLDataReader* CreatePieceReader();
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  vtkXMLDataReader* CreatePieceReader() VTK_OVERRIDE;
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
 private:
   vtkXMLPImageDataReader(const vtkXMLPImageDataReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/XML/vtkXMLPPolyDataReader.h b/IO/XML/vtkXMLPPolyDataReader.h
index 15013ebf7c..f2ee00f5c1 100644
--- a/IO/XML/vtkXMLPPolyDataReader.h
+++ b/IO/XML/vtkXMLPPolyDataReader.h
@@ -38,7 +38,7 @@ class VTKIOXML_EXPORT vtkXMLPPolyDataReader : public vtkXMLPUnstructuredDataRead
 {
 public:
   vtkTypeMacro(vtkXMLPPolyDataReader,vtkXMLPUnstructuredDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLPPolyDataReader *New();
 
   //@{
@@ -51,24 +51,24 @@ public:
 
 protected:
   vtkXMLPPolyDataReader();
-  ~vtkXMLPPolyDataReader();
+  ~vtkXMLPPolyDataReader() VTK_OVERRIDE;
 
-  const char* GetDataSetName();
-  void GetOutputUpdateExtent(int& piece, int& numberOfPieces, int& ghostLevel);
-  vtkIdType GetNumberOfCellsInPiece(int piece);
+  const char* GetDataSetName() VTK_OVERRIDE;
+  void GetOutputUpdateExtent(int& piece, int& numberOfPieces, int& ghostLevel) VTK_OVERRIDE;
+  vtkIdType GetNumberOfCellsInPiece(int piece) VTK_OVERRIDE;
   vtkIdType GetNumberOfVertsInPiece(int piece);
   vtkIdType GetNumberOfLinesInPiece(int piece);
   vtkIdType GetNumberOfStripsInPiece(int piece);
   vtkIdType GetNumberOfPolysInPiece(int piece);
-  void SetupOutputTotals();
+  void SetupOutputTotals() VTK_OVERRIDE;
 
-  void SetupOutputData();
-  void SetupNextPiece();
-  int ReadPieceData();
+  void SetupOutputData() VTK_OVERRIDE;
+  void SetupNextPiece() VTK_OVERRIDE;
+  int ReadPieceData() VTK_OVERRIDE;
 
-  void CopyArrayForCells(vtkDataArray* inArray, vtkDataArray* outArray);
-  vtkXMLDataReader* CreatePieceReader();
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  void CopyArrayForCells(vtkDataArray* inArray, vtkDataArray* outArray) VTK_OVERRIDE;
+  vtkXMLDataReader* CreatePieceReader() VTK_OVERRIDE;
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   // The size of the UpdatePiece.
   vtkIdType TotalNumberOfVerts;
diff --git a/IO/XML/vtkXMLPRectilinearGridReader.h b/IO/XML/vtkXMLPRectilinearGridReader.h
index 87d2983c38..2f897c44ab 100644
--- a/IO/XML/vtkXMLPRectilinearGridReader.h
+++ b/IO/XML/vtkXMLPRectilinearGridReader.h
@@ -38,7 +38,7 @@ class VTKIOXML_EXPORT vtkXMLPRectilinearGridReader : public vtkXMLPStructuredDat
 {
 public:
   vtkTypeMacro(vtkXMLPRectilinearGridReader,vtkXMLPStructuredDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLPRectilinearGridReader *New();
 
   //@{
@@ -51,21 +51,21 @@ public:
 
 protected:
   vtkXMLPRectilinearGridReader();
-  ~vtkXMLPRectilinearGridReader();
+  ~vtkXMLPRectilinearGridReader() VTK_OVERRIDE;
 
   vtkRectilinearGrid* GetPieceInput(int index);
 
-  void SetupEmptyOutput();
-  const char* GetDataSetName();
-  void SetOutputExtent(int* extent);
-  void GetPieceInputExtent(int index, int* extent);
-  int ReadPrimaryElement(vtkXMLDataElement* ePrimary);
-  void SetupOutputData();
-  int ReadPieceData();
-  vtkXMLDataReader* CreatePieceReader();
+  void SetupEmptyOutput() VTK_OVERRIDE;
+  const char* GetDataSetName() VTK_OVERRIDE;
+  void SetOutputExtent(int* extent) VTK_OVERRIDE;
+  void GetPieceInputExtent(int index, int* extent) VTK_OVERRIDE;
+  int ReadPrimaryElement(vtkXMLDataElement* ePrimary) VTK_OVERRIDE;
+  void SetupOutputData() VTK_OVERRIDE;
+  int ReadPieceData() VTK_OVERRIDE;
+  vtkXMLDataReader* CreatePieceReader() VTK_OVERRIDE;
   void CopySubCoordinates(int* inBounds, int* outBounds, int* subBounds,
                           vtkDataArray* inArray, vtkDataArray* outArray);
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   // The PCoordinates element with coordinate information.
   vtkXMLDataElement* PCoordinatesElement;
diff --git a/IO/XML/vtkXMLPStructuredDataReader.h b/IO/XML/vtkXMLPStructuredDataReader.h
index 0595070b85..033f874c31 100644
--- a/IO/XML/vtkXMLPStructuredDataReader.h
+++ b/IO/XML/vtkXMLPStructuredDataReader.h
@@ -37,33 +37,33 @@ class VTKIOXML_EXPORT vtkXMLPStructuredDataReader : public vtkXMLPDataReader
 {
 public:
   vtkTypeMacro(vtkXMLPStructuredDataReader,vtkXMLPDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   // For the specified port, copy the information this reader sets up in
   // SetupOutputInformation to outInfo
-  virtual void CopyOutputInformation(vtkInformation *outInfo, int port);
+  void CopyOutputInformation(vtkInformation *outInfo, int port) VTK_OVERRIDE;
 protected:
   vtkXMLPStructuredDataReader();
-  ~vtkXMLPStructuredDataReader();
+  ~vtkXMLPStructuredDataReader() VTK_OVERRIDE;
 
-  vtkIdType GetNumberOfPoints();
-  vtkIdType GetNumberOfCells();
-  void CopyArrayForPoints(vtkDataArray* inArray, vtkDataArray* outArray);
-  void CopyArrayForCells(vtkDataArray* inArray, vtkDataArray* outArray);
+  vtkIdType GetNumberOfPoints() VTK_OVERRIDE;
+  vtkIdType GetNumberOfCells() VTK_OVERRIDE;
+  void CopyArrayForPoints(vtkDataArray* inArray, vtkDataArray* outArray) VTK_OVERRIDE;
+  void CopyArrayForCells(vtkDataArray* inArray, vtkDataArray* outArray) VTK_OVERRIDE;
 
   virtual void SetOutputExtent(int* extent)=0;
   virtual void GetPieceInputExtent(int index, int* extent)=0;
 
   // Pipeline execute data driver.  Called by vtkXMLReader.
-  void ReadXMLData();
-  int ReadPrimaryElement(vtkXMLDataElement* ePrimary);
+  void ReadXMLData() VTK_OVERRIDE;
+  int ReadPrimaryElement(vtkXMLDataElement* ePrimary) VTK_OVERRIDE;
 
-  void SetupOutputData();
+  void SetupOutputData() VTK_OVERRIDE;
 
-  void SetupPieces(int numPieces);
-  void DestroyPieces();
-  int ReadPiece(vtkXMLDataElement* ePiece);
-  int ReadPieceData();
+  void SetupPieces(int numPieces) VTK_OVERRIDE;
+  void DestroyPieces() VTK_OVERRIDE;
+  int ReadPiece(vtkXMLDataElement* ePiece) VTK_OVERRIDE;
+  int ReadPieceData() VTK_OVERRIDE;
   void CopySubExtent(int* inExtent, int* inDimensions, vtkIdType* inIncrements,
                      int* outExtent,int* outDimensions,vtkIdType* outIncrements,
                      int* subExtent, int* subDimensions,
@@ -92,9 +92,9 @@ protected:
   // Information per-piece.
   int* PieceExtents;
 
-  virtual int RequestInformation(vtkInformation *request,
+  int RequestInformation(vtkInformation *request,
                                  vtkInformationVector **inputVector,
-                                 vtkInformationVector *outputVector);
+                                 vtkInformationVector *outputVector) VTK_OVERRIDE;
 
 private:
   vtkXMLPStructuredDataReader(const vtkXMLPStructuredDataReader&) VTK_DELETE_FUNCTION;
diff --git a/IO/XML/vtkXMLPStructuredGridReader.h b/IO/XML/vtkXMLPStructuredGridReader.h
index 7b62b974a8..195e72506f 100644
--- a/IO/XML/vtkXMLPStructuredGridReader.h
+++ b/IO/XML/vtkXMLPStructuredGridReader.h
@@ -38,7 +38,7 @@ class VTKIOXML_EXPORT vtkXMLPStructuredGridReader : public vtkXMLPStructuredData
 {
 public:
   vtkTypeMacro(vtkXMLPStructuredGridReader,vtkXMLPStructuredDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLPStructuredGridReader *New();
 
   /**
@@ -53,19 +53,19 @@ public:
 
 protected:
   vtkXMLPStructuredGridReader();
-  ~vtkXMLPStructuredGridReader();
+  ~vtkXMLPStructuredGridReader() VTK_OVERRIDE;
 
   vtkStructuredGrid* GetPieceInput(int index);
 
-  void SetupEmptyOutput();
-  const char* GetDataSetName();
-  void SetOutputExtent(int* extent);
-  void GetPieceInputExtent(int index, int* extent);
-  int ReadPrimaryElement(vtkXMLDataElement* ePrimary);
-  void SetupOutputData();
-  int ReadPieceData();
-  vtkXMLDataReader* CreatePieceReader();
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  void SetupEmptyOutput() VTK_OVERRIDE;
+  const char* GetDataSetName() VTK_OVERRIDE;
+  void SetOutputExtent(int* extent) VTK_OVERRIDE;
+  void GetPieceInputExtent(int index, int* extent) VTK_OVERRIDE;
+  int ReadPrimaryElement(vtkXMLDataElement* ePrimary) VTK_OVERRIDE;
+  void SetupOutputData() VTK_OVERRIDE;
+  int ReadPieceData() VTK_OVERRIDE;
+  vtkXMLDataReader* CreatePieceReader() VTK_OVERRIDE;
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   // The PPoints element with point information.
   vtkXMLDataElement* PPointsElement;
diff --git a/IO/XML/vtkXMLPUnstructuredDataReader.h b/IO/XML/vtkXMLPUnstructuredDataReader.h
index 63e2768250..51b016f68b 100644
--- a/IO/XML/vtkXMLPUnstructuredDataReader.h
+++ b/IO/XML/vtkXMLPUnstructuredDataReader.h
@@ -37,44 +37,44 @@ class VTKIOXML_EXPORT vtkXMLPUnstructuredDataReader : public vtkXMLPDataReader
 {
 public:
   vtkTypeMacro(vtkXMLPUnstructuredDataReader,vtkXMLPDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   // For the specified port, copy the information this reader sets up in
   // SetupOutputInformation to outInfo
-  virtual void CopyOutputInformation(vtkInformation *outInfo, int port);
+  void CopyOutputInformation(vtkInformation *outInfo, int port) VTK_OVERRIDE;
 
 protected:
   vtkXMLPUnstructuredDataReader();
-  ~vtkXMLPUnstructuredDataReader();
+  ~vtkXMLPUnstructuredDataReader() VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation *request,
+  int RequestInformation(vtkInformation *request,
                                  vtkInformationVector **inputVector,
-                                 vtkInformationVector *outputVector);
+                                 vtkInformationVector *outputVector) VTK_OVERRIDE;
 
 
   vtkPointSet* GetOutputAsPointSet();
   vtkPointSet* GetPieceInputAsPointSet(int piece);
   virtual void SetupOutputTotals();
   virtual void SetupNextPiece();
-  vtkIdType GetNumberOfPoints();
-  vtkIdType GetNumberOfCells();
-  void CopyArrayForPoints(vtkDataArray* inArray, vtkDataArray* outArray);
+  vtkIdType GetNumberOfPoints() VTK_OVERRIDE;
+  vtkIdType GetNumberOfCells() VTK_OVERRIDE;
+  void CopyArrayForPoints(vtkDataArray* inArray, vtkDataArray* outArray) VTK_OVERRIDE;
 
-  void SetupEmptyOutput();
+  void SetupEmptyOutput() VTK_OVERRIDE;
 
   // Setup the output's information.
-  void SetupOutputInformation(vtkInformation *outInfo);
+  void SetupOutputInformation(vtkInformation *outInfo) VTK_OVERRIDE;
 
-  void SetupOutputData();
+  void SetupOutputData() VTK_OVERRIDE;
   virtual void GetOutputUpdateExtent(int& piece, int& numberOfPieces,
                                      int& ghostLevel)=0;
 
   // Pipeline execute data driver.  Called by vtkXMLReader.
-  void ReadXMLData();
-  int ReadPrimaryElement(vtkXMLDataElement* ePrimary);
+  void ReadXMLData() VTK_OVERRIDE;
+  int ReadPrimaryElement(vtkXMLDataElement* ePrimary) VTK_OVERRIDE;
   void SetupUpdateExtent(int piece, int numberOfPieces, int ghostLevel);
 
-  int ReadPieceData();
+  int ReadPieceData() VTK_OVERRIDE;
   void CopyCellArray(vtkIdType totalNumberOfCells, vtkCellArray* inCells,
                      vtkCellArray* outCells);
 
diff --git a/IO/XML/vtkXMLPUnstructuredGridReader.h b/IO/XML/vtkXMLPUnstructuredGridReader.h
index c765f4b6d4..f80019b870 100644
--- a/IO/XML/vtkXMLPUnstructuredGridReader.h
+++ b/IO/XML/vtkXMLPUnstructuredGridReader.h
@@ -38,7 +38,7 @@ class VTKIOXML_EXPORT vtkXMLPUnstructuredGridReader : public vtkXMLPUnstructured
 {
 public:
   vtkTypeMacro(vtkXMLPUnstructuredGridReader,vtkXMLPUnstructuredDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLPUnstructuredGridReader *New();
 
   //@{
@@ -51,21 +51,21 @@ public:
 
 protected:
   vtkXMLPUnstructuredGridReader();
-  ~vtkXMLPUnstructuredGridReader();
+  ~vtkXMLPUnstructuredGridReader() VTK_OVERRIDE;
 
-  const char* GetDataSetName();
-  void GetOutputUpdateExtent(int& piece, int& numberOfPieces, int& ghostLevel);
-  void SetupOutputTotals();
+  const char* GetDataSetName() VTK_OVERRIDE;
+  void GetOutputUpdateExtent(int& piece, int& numberOfPieces, int& ghostLevel) VTK_OVERRIDE;
+  void SetupOutputTotals() VTK_OVERRIDE;
 
-  void SetupOutputData();
-  void SetupNextPiece();
-  int ReadPieceData();
+  void SetupOutputData() VTK_OVERRIDE;
+  void SetupNextPiece() VTK_OVERRIDE;
+  int ReadPieceData() VTK_OVERRIDE;
 
-  void CopyArrayForCells(vtkDataArray* inArray, vtkDataArray* outArray);
-  vtkXMLDataReader* CreatePieceReader();
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  void CopyArrayForCells(vtkDataArray* inArray, vtkDataArray* outArray) VTK_OVERRIDE;
+  vtkXMLDataReader* CreatePieceReader() VTK_OVERRIDE;
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
-  virtual void SqueezeOutputArrays(vtkDataObject*);
+  void SqueezeOutputArrays(vtkDataObject*) VTK_OVERRIDE;
 
   // The index of the cell in the output where the current piece
   // begins.
diff --git a/IO/XML/vtkXMLPolyDataReader.h b/IO/XML/vtkXMLPolyDataReader.h
index af50dd0242..6f56c5d638 100644
--- a/IO/XML/vtkXMLPolyDataReader.h
+++ b/IO/XML/vtkXMLPolyDataReader.h
@@ -38,7 +38,7 @@ class VTKIOXML_EXPORT vtkXMLPolyDataReader : public vtkXMLUnstructuredDataReader
 {
 public:
   vtkTypeMacro(vtkXMLPolyDataReader,vtkXMLUnstructuredDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLPolyDataReader *New();
 
   //@{
@@ -61,28 +61,28 @@ public:
 
 protected:
   vtkXMLPolyDataReader();
-  ~vtkXMLPolyDataReader();
+  ~vtkXMLPolyDataReader() VTK_OVERRIDE;
 
-  const char* GetDataSetName();
-  void GetOutputUpdateExtent(int& piece, int& numberOfPieces, int& ghostLevel);
-  void SetupOutputTotals();
-  void SetupNextPiece();
-  void SetupPieces(int numPieces);
-  void DestroyPieces();
+  const char* GetDataSetName() VTK_OVERRIDE;
+  void GetOutputUpdateExtent(int& piece, int& numberOfPieces, int& ghostLevel) VTK_OVERRIDE;
+  void SetupOutputTotals() VTK_OVERRIDE;
+  void SetupNextPiece() VTK_OVERRIDE;
+  void SetupPieces(int numPieces) VTK_OVERRIDE;
+  void DestroyPieces() VTK_OVERRIDE;
 
-  void SetupOutputData();
-  int ReadPiece(vtkXMLDataElement* ePiece);
-  int ReadPieceData();
+  void SetupOutputData() VTK_OVERRIDE;
+  int ReadPiece(vtkXMLDataElement* ePiece) VTK_OVERRIDE;
+  int ReadPieceData() VTK_OVERRIDE;
 
   // Read a data array whose tuples coorrespond to cells.
-  virtual int ReadArrayForCells(vtkXMLDataElement* da,
-    vtkAbstractArray* outArray);
+  int ReadArrayForCells(vtkXMLDataElement* da,
+    vtkAbstractArray* outArray) VTK_OVERRIDE;
 
   // Get the number of cells in the given piece.  Valid after
   // UpdateInformation.
-  virtual vtkIdType GetNumberOfCellsInPiece(int piece);
+  vtkIdType GetNumberOfCellsInPiece(int piece) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   // The size of the UpdatePiece.
   int TotalNumberOfVerts;
diff --git a/IO/XML/vtkXMLPolyDataWriter.h b/IO/XML/vtkXMLPolyDataWriter.h
index d89c240b77..ec45fa3b95 100644
--- a/IO/XML/vtkXMLPolyDataWriter.h
+++ b/IO/XML/vtkXMLPolyDataWriter.h
@@ -39,7 +39,7 @@ class VTKIOXML_EXPORT vtkXMLPolyDataWriter : public vtkXMLUnstructuredDataWriter
 {
 public:
   vtkTypeMacro(vtkXMLPolyDataWriter,vtkXMLUnstructuredDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLPolyDataWriter* New();
 
   /**
@@ -50,28 +50,28 @@ public:
   /**
    * Get the default file extension for files written by this writer.
    */
-  const char* GetDefaultFileExtension();
+  const char* GetDefaultFileExtension() VTK_OVERRIDE;
 
 protected:
   vtkXMLPolyDataWriter();
-  ~vtkXMLPolyDataWriter();
+  ~vtkXMLPolyDataWriter() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
-  const char* GetDataSetName();
+  const char* GetDataSetName() VTK_OVERRIDE;
 
-  virtual void AllocatePositionArrays();
-  virtual void DeletePositionArrays();
+  void AllocatePositionArrays() VTK_OVERRIDE;
+  void DeletePositionArrays() VTK_OVERRIDE;
 
-  void WriteInlinePieceAttributes();
-  void WriteInlinePiece(vtkIndent indent);
+  void WriteInlinePieceAttributes() VTK_OVERRIDE;
+  void WriteInlinePiece(vtkIndent indent) VTK_OVERRIDE;
 
-  void WriteAppendedPieceAttributes(int index);
-  void WriteAppendedPiece(int index, vtkIndent indent);
-  void WriteAppendedPieceData(int index);
+  void WriteAppendedPieceAttributes(int index) VTK_OVERRIDE;
+  void WriteAppendedPiece(int index, vtkIndent indent) VTK_OVERRIDE;
+  void WriteAppendedPieceData(int index) VTK_OVERRIDE;
 
-  virtual vtkIdType GetNumberOfInputCells();
+  vtkIdType GetNumberOfInputCells() VTK_OVERRIDE;
   void CalculateSuperclassFraction(float* fractions);
 
   // Positions of attributes for each piece.
diff --git a/IO/XML/vtkXMLReader.h b/IO/XML/vtkXMLReader.h
index 4a4eb5a59e..e948349bcd 100644
--- a/IO/XML/vtkXMLReader.h
+++ b/IO/XML/vtkXMLReader.h
@@ -44,7 +44,7 @@ class VTKIOXML_EXPORT vtkXMLReader : public vtkAlgorithm
 {
 public:
   vtkTypeMacro(vtkXMLReader, vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -149,9 +149,9 @@ public:
     return this->XMLParser;
   }
 
-  virtual int ProcessRequest(vtkInformation *request,
+  int ProcessRequest(vtkInformation *request,
                              vtkInformationVector **inputVector,
-                             vtkInformationVector *outputVector);
+                             vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   //@{
   /**
@@ -173,7 +173,7 @@ public:
 
 protected:
   vtkXMLReader();
-  ~vtkXMLReader();
+  ~vtkXMLReader() VTK_OVERRIDE;
 
   // Pipeline execution methods to be defined by subclass.  Called by
   // corresponding RequestData methods after appropriate setup has been
diff --git a/IO/XML/vtkXMLRectilinearGridReader.h b/IO/XML/vtkXMLRectilinearGridReader.h
index 4501c41f9b..a51a076eba 100644
--- a/IO/XML/vtkXMLRectilinearGridReader.h
+++ b/IO/XML/vtkXMLRectilinearGridReader.h
@@ -38,7 +38,7 @@ class VTKIOXML_EXPORT vtkXMLRectilinearGridReader : public vtkXMLStructuredDataR
 {
 public:
   vtkTypeMacro(vtkXMLRectilinearGridReader,vtkXMLStructuredDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLRectilinearGridReader *New();
 
   //@{
@@ -51,19 +51,19 @@ public:
 
 protected:
   vtkXMLRectilinearGridReader();
-  ~vtkXMLRectilinearGridReader();
+  ~vtkXMLRectilinearGridReader() VTK_OVERRIDE;
 
-  const char* GetDataSetName();
-  void SetOutputExtent(int* extent);
+  const char* GetDataSetName() VTK_OVERRIDE;
+  void SetOutputExtent(int* extent) VTK_OVERRIDE;
 
-  void SetupPieces(int numPieces);
-  void DestroyPieces();
-  void SetupOutputData();
-  int ReadPiece(vtkXMLDataElement* ePiece);
-  int ReadPieceData();
+  void SetupPieces(int numPieces) VTK_OVERRIDE;
+  void DestroyPieces() VTK_OVERRIDE;
+  void SetupOutputData() VTK_OVERRIDE;
+  int ReadPiece(vtkXMLDataElement* ePiece) VTK_OVERRIDE;
+  int ReadPieceData() VTK_OVERRIDE;
   int ReadSubCoordinates(int* inBounds, int* outBounds, int* subBounds,
                          vtkXMLDataElement* da, vtkDataArray* array);
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   // The elements representing the coordinate arrays for each piece.
   vtkXMLDataElement** CoordinateElements;
diff --git a/IO/XML/vtkXMLRectilinearGridWriter.h b/IO/XML/vtkXMLRectilinearGridWriter.h
index f3ff90ea6f..0bbd85fd05 100644
--- a/IO/XML/vtkXMLRectilinearGridWriter.h
+++ b/IO/XML/vtkXMLRectilinearGridWriter.h
@@ -39,7 +39,7 @@ class VTKIOXML_EXPORT vtkXMLRectilinearGridWriter : public vtkXMLStructuredDataW
 public:
   static vtkXMLRectilinearGridWriter* New();
   vtkTypeMacro(vtkXMLRectilinearGridWriter,vtkXMLStructuredDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get/Set the writer's input.
@@ -49,28 +49,28 @@ public:
   /**
    * Get the default file extension for files written by this writer.
    */
-  const char* GetDefaultFileExtension();
+  const char* GetDefaultFileExtension() VTK_OVERRIDE;
 
 protected:
   vtkXMLRectilinearGridWriter();
-  ~vtkXMLRectilinearGridWriter();
+  ~vtkXMLRectilinearGridWriter() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   int WriteAppendedMode(vtkIndent indent);
-  void WriteAppendedPiece(int index, vtkIndent indent);
-  void WriteAppendedPieceData(int index);
-  void WriteInlinePiece(vtkIndent indent);
-  void GetInputExtent(int* extent);
-  const char* GetDataSetName();
+  void WriteAppendedPiece(int index, vtkIndent indent) VTK_OVERRIDE;
+  void WriteAppendedPieceData(int index) VTK_OVERRIDE;
+  void WriteInlinePiece(vtkIndent indent) VTK_OVERRIDE;
+  void GetInputExtent(int* extent) VTK_OVERRIDE;
+  const char* GetDataSetName() VTK_OVERRIDE;
   void CalculateSuperclassFraction(float* fractions);
 
   // Coordinate array appended data positions.
   OffsetsManagerArray *CoordinateOM;
 
-  virtual void AllocatePositionArrays();
-  virtual void DeletePositionArrays();
+  void AllocatePositionArrays() VTK_OVERRIDE;
+  void DeletePositionArrays() VTK_OVERRIDE;
 
 private:
   vtkXMLRectilinearGridWriter(const vtkXMLRectilinearGridWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/XML/vtkXMLStructuredDataReader.h b/IO/XML/vtkXMLStructuredDataReader.h
index 0dc5f1af37..188fb6c615 100644
--- a/IO/XML/vtkXMLStructuredDataReader.h
+++ b/IO/XML/vtkXMLStructuredDataReader.h
@@ -35,17 +35,17 @@ class VTKIOXML_EXPORT vtkXMLStructuredDataReader : public vtkXMLDataReader
 {
 public:
   vtkTypeMacro(vtkXMLStructuredDataReader,vtkXMLDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the number of points in the output.
    */
-  virtual vtkIdType GetNumberOfPoints();
+  vtkIdType GetNumberOfPoints() VTK_OVERRIDE;
 
   /**
    * Get the number of cells in the output.
    */
-  virtual vtkIdType GetNumberOfCells();
+  vtkIdType GetNumberOfCells() VTK_OVERRIDE;
 
   //@{
   /**
@@ -63,19 +63,19 @@ public:
    * For the specified port, copy the information this reader sets up in
    * SetupOutputInformation to outInfo
    */
-  virtual void CopyOutputInformation(vtkInformation *outInfo, int port);
+  void CopyOutputInformation(vtkInformation *outInfo, int port) VTK_OVERRIDE;
 
 protected:
   vtkXMLStructuredDataReader();
-  ~vtkXMLStructuredDataReader();
+  ~vtkXMLStructuredDataReader() VTK_OVERRIDE;
 
   virtual void SetOutputExtent(int* extent)=0;
-  int ReadPrimaryElement(vtkXMLDataElement* ePrimary);
+  int ReadPrimaryElement(vtkXMLDataElement* ePrimary) VTK_OVERRIDE;
 
   // Pipeline execute data driver.  Called by vtkXMLReader.
-  void ReadXMLData();
+  void ReadXMLData() VTK_OVERRIDE;
 
-  void SetupOutputInformation(vtkInformation *outInfo);
+  void SetupOutputInformation(vtkInformation *outInfo) VTK_OVERRIDE;
 
   // Internal representation of pieces in the file that may have come
   // from a streamed write.
@@ -103,16 +103,16 @@ protected:
   int SubCellDimensions[3];
 
   // Override methods from superclass.
-  void SetupEmptyOutput();
-  void SetupPieces(int numPieces);
-  void DestroyPieces();
-  virtual int ReadArrayForPoints(vtkXMLDataElement* da,
-    vtkAbstractArray* outArray);
-  virtual int ReadArrayForCells(vtkXMLDataElement* da,
-    vtkAbstractArray* outArray);
+  void SetupEmptyOutput() VTK_OVERRIDE;
+  void SetupPieces(int numPieces) VTK_OVERRIDE;
+  void DestroyPieces() VTK_OVERRIDE;
+  int ReadArrayForPoints(vtkXMLDataElement* da,
+    vtkAbstractArray* outArray) VTK_OVERRIDE;
+  int ReadArrayForCells(vtkXMLDataElement* da,
+    vtkAbstractArray* outArray) VTK_OVERRIDE;
 
   // Internal utility methods.
-  int ReadPiece(vtkXMLDataElement* ePiece);
+  int ReadPiece(vtkXMLDataElement* ePiece) VTK_OVERRIDE;
   virtual int ReadSubExtent(
     int* inExtent, int* inDimensions, vtkIdType* inIncrements,
     int* outExtent,int* outDimensions,vtkIdType* outIncrements,
diff --git a/IO/XML/vtkXMLStructuredDataWriter.h b/IO/XML/vtkXMLStructuredDataWriter.h
index 482733e310..90944eb171 100644
--- a/IO/XML/vtkXMLStructuredDataWriter.h
+++ b/IO/XML/vtkXMLStructuredDataWriter.h
@@ -34,7 +34,7 @@ class VTKIOXML_EXPORT vtkXMLStructuredDataWriter : public vtkXMLWriter
 {
 public:
   vtkTypeMacro(vtkXMLStructuredDataWriter,vtkXMLWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -74,10 +74,10 @@ public:
 
 protected:
   vtkXMLStructuredDataWriter();
-  ~vtkXMLStructuredDataWriter();
+  ~vtkXMLStructuredDataWriter() VTK_OVERRIDE;
 
   // Writing drivers defined by subclasses.
-  virtual void WritePrimaryElementAttributes(ostream &os, vtkIndent indent);
+  void WritePrimaryElementAttributes(ostream &os, vtkIndent indent) VTK_OVERRIDE;
   virtual void WriteAppendedPiece(int index, vtkIndent indent);
   virtual void WriteAppendedPieceData(int index);
   virtual void WriteInlinePiece(vtkIndent indent);
@@ -98,7 +98,7 @@ protected:
   void SetInputUpdateExtent(int piece);
   int ProcessRequest(vtkInformation* request,
                      vtkInformationVector** inputVector,
-                     vtkInformationVector* outputVector);
+                     vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   vtkSetVector6Macro(InternalWriteExtent, int);
 
diff --git a/IO/XML/vtkXMLStructuredGridReader.h b/IO/XML/vtkXMLStructuredGridReader.h
index 4183dbaf48..c708583023 100644
--- a/IO/XML/vtkXMLStructuredGridReader.h
+++ b/IO/XML/vtkXMLStructuredGridReader.h
@@ -38,7 +38,7 @@ class VTKIOXML_EXPORT vtkXMLStructuredGridReader : public vtkXMLStructuredDataRe
 {
 public:
   vtkTypeMacro(vtkXMLStructuredGridReader,vtkXMLStructuredDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLStructuredGridReader *New();
 
   //@{
@@ -51,18 +51,18 @@ public:
 
 protected:
   vtkXMLStructuredGridReader();
-  ~vtkXMLStructuredGridReader();
+  ~vtkXMLStructuredGridReader() VTK_OVERRIDE;
 
-  const char* GetDataSetName();
-  void SetOutputExtent(int* extent);
+  const char* GetDataSetName() VTK_OVERRIDE;
+  void SetOutputExtent(int* extent) VTK_OVERRIDE;
 
-  void SetupPieces(int numPieces);
-  void DestroyPieces();
-  void SetupOutputData();
+  void SetupPieces(int numPieces) VTK_OVERRIDE;
+  void DestroyPieces() VTK_OVERRIDE;
+  void SetupOutputData() VTK_OVERRIDE;
 
-  int ReadPiece(vtkXMLDataElement* ePiece);
-  int ReadPieceData();
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int ReadPiece(vtkXMLDataElement* ePiece) VTK_OVERRIDE;
+  int ReadPieceData() VTK_OVERRIDE;
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   // The elements representing the points for each piece.
   vtkXMLDataElement** PointElements;
diff --git a/IO/XML/vtkXMLStructuredGridWriter.h b/IO/XML/vtkXMLStructuredGridWriter.h
index 4d33c453cc..be4bba29af 100644
--- a/IO/XML/vtkXMLStructuredGridWriter.h
+++ b/IO/XML/vtkXMLStructuredGridWriter.h
@@ -39,7 +39,7 @@ class VTKIOXML_EXPORT vtkXMLStructuredGridWriter : public vtkXMLStructuredDataWr
 public:
   static vtkXMLStructuredGridWriter* New();
   vtkTypeMacro(vtkXMLStructuredGridWriter,vtkXMLStructuredDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get/Set the writer's input.
@@ -49,28 +49,28 @@ public:
   /**
    * Get the default file extension for files written by this writer.
    */
-  const char* GetDefaultFileExtension();
+  const char* GetDefaultFileExtension() VTK_OVERRIDE;
 
 protected:
   vtkXMLStructuredGridWriter();
-  ~vtkXMLStructuredGridWriter();
+  ~vtkXMLStructuredGridWriter() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
-  void WriteAppendedPiece(int index, vtkIndent indent);
-  void WriteAppendedPieceData(int index);
-  void WriteInlinePiece(vtkIndent indent);
-  void GetInputExtent(int* extent);
-  const char* GetDataSetName();
+  void WriteAppendedPiece(int index, vtkIndent indent) VTK_OVERRIDE;
+  void WriteAppendedPieceData(int index) VTK_OVERRIDE;
+  void WriteInlinePiece(vtkIndent indent) VTK_OVERRIDE;
+  void GetInputExtent(int* extent) VTK_OVERRIDE;
+  const char* GetDataSetName() VTK_OVERRIDE;
   void CalculateSuperclassFraction(float* fractions);
 
   // The position of the appended data offset attribute for the points
   // array.
   OffsetsManagerGroup *PointsOM;  //one per piece
 
-  virtual void AllocatePositionArrays();
-  virtual void DeletePositionArrays();
+  void AllocatePositionArrays() VTK_OVERRIDE;
+  void DeletePositionArrays() VTK_OVERRIDE;
 
 private:
   vtkXMLStructuredGridWriter(const vtkXMLStructuredGridWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/XML/vtkXMLUniformGridAMRReader.h b/IO/XML/vtkXMLUniformGridAMRReader.h
index b2f95a0a78..cb27b5f2b8 100644
--- a/IO/XML/vtkXMLUniformGridAMRReader.h
+++ b/IO/XML/vtkXMLUniformGridAMRReader.h
@@ -44,7 +44,7 @@ class VTKIOXML_EXPORT vtkXMLUniformGridAMRReader :
 public:
   static vtkXMLUniformGridAMRReader* New();
   vtkTypeMacro(vtkXMLUniformGridAMRReader,vtkXMLCompositeDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -62,7 +62,7 @@ public:
 
 protected:
   vtkXMLUniformGridAMRReader();
-  ~vtkXMLUniformGridAMRReader();
+  ~vtkXMLUniformGridAMRReader() VTK_OVERRIDE;
 
   /**
    * This method is used by CanReadFile() to check if the reader can read an XML
@@ -70,7 +70,7 @@ protected:
    * compares the name with the text returned by this->GetDataSetName().
    * Overridden to support all AMR types.
    */
-  virtual int CanReadFileWithDataType(const char* dsname);
+  int CanReadFileWithDataType(const char* dsname) VTK_OVERRIDE;
 
   /**
    * Read the top-level element from the file.  This is always the
@@ -78,7 +78,7 @@ protected:
    * Overridden to read the "type" information specified in the XML. The "type"
    * attribute helps us identify the output data type.
    */
-  virtual int ReadVTKFile(vtkXMLDataElement* eVTKFile);
+  int ReadVTKFile(vtkXMLDataElement* eVTKFile) VTK_OVERRIDE;
 
   /**
    * Read the meta-data from the AMR from the file. Note that since
@@ -86,34 +86,34 @@ protected:
    * technically not supporting time-varying AMR datasets in this format right
    * now.
    */
-  virtual int ReadPrimaryElement(vtkXMLDataElement* ePrimary);
+  int ReadPrimaryElement(vtkXMLDataElement* ePrimary) VTK_OVERRIDE;
 
   /**
    * Overridden to create an output data object based on the type in the file.
    * Since this reader can handle all subclasses of vtkUniformGrid, we need to
    * check in the file to decide what type to create.
    */
-  virtual int RequestDataObject(vtkInformation *request,
-    vtkInformationVector **inputVector, vtkInformationVector *outputVector);
+  int RequestDataObject(vtkInformation *request,
+    vtkInformationVector **inputVector, vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   /**
    * Overridden to put vtkOverlappingAMR in the pipeline if
    * available/applicable.
    */
-  virtual int RequestInformation(vtkInformation *request,
-    vtkInformationVector **inputVector, vtkInformationVector *outputVector);
+  int RequestInformation(vtkInformation *request,
+    vtkInformationVector **inputVector, vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   // Get the name of the data set being read.
-  virtual const char* GetDataSetName();
+  const char* GetDataSetName() VTK_OVERRIDE;
 
   // Read the XML element for the subtree of a the composite dataset.
   // dataSetIndex is used to rank the leaf nodes in an inorder traversal.
-  virtual void ReadComposite(vtkXMLDataElement* element,
+  void ReadComposite(vtkXMLDataElement* element,
     vtkCompositeDataSet* composite, const char* filePath,
-    unsigned int &dataSetIndex);
+    unsigned int &dataSetIndex) VTK_OVERRIDE;
 
   // Read the vtkDataSet (a leaf) in the composite dataset.
-  virtual vtkDataSet* ReadDataset(vtkXMLDataElement* xmlElem, const char* filePath);
+  vtkDataSet* ReadDataset(vtkXMLDataElement* xmlElem, const char* filePath) VTK_OVERRIDE;
 
   vtkSmartPointer<vtkOverlappingAMR> Metadata;
   unsigned int MaximumLevelsToReadByDefault;
diff --git a/IO/XML/vtkXMLUniformGridAMRWriter.h b/IO/XML/vtkXMLUniformGridAMRWriter.h
index 3de1bec413..286d5b9fd8 100644
--- a/IO/XML/vtkXMLUniformGridAMRWriter.h
+++ b/IO/XML/vtkXMLUniformGridAMRWriter.h
@@ -32,32 +32,32 @@ class VTKIOXML_EXPORT vtkXMLUniformGridAMRWriter : public vtkXMLCompositeDataWri
 public:
   static vtkXMLUniformGridAMRWriter* New();
   vtkTypeMacro(vtkXMLUniformGridAMRWriter, vtkXMLCompositeDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the default file extension for files written by this writer.
    */
-  virtual const char* GetDefaultFileExtension()
+  const char* GetDefaultFileExtension() VTK_OVERRIDE
     { return "vth"; }
 
 protected:
   vtkXMLUniformGridAMRWriter();
-  ~vtkXMLUniformGridAMRWriter();
+  ~vtkXMLUniformGridAMRWriter() VTK_OVERRIDE;
 
   /**
    * Methods to define the file's major and minor version numbers.
    * VTH/VTHB version number 1.1 is used for overlapping/non-overlapping AMR
    * datasets.
    */
-  virtual int GetDataSetMajorVersion() { return 1; }
-  virtual int GetDataSetMinorVersion() { return 1; }
+  int GetDataSetMajorVersion() VTK_OVERRIDE { return 1; }
+  int GetDataSetMinorVersion() VTK_OVERRIDE { return 1; }
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   // Internal method called recursively to create the xml tree for the children
   // of compositeData.
-  virtual int WriteComposite(vtkCompositeDataSet* compositeData,
-    vtkXMLDataElement* parent, int &writerIdx);
+  int WriteComposite(vtkCompositeDataSet* compositeData,
+    vtkXMLDataElement* parent, int &writerIdx) VTK_OVERRIDE;
 
 private:
   vtkXMLUniformGridAMRWriter(const vtkXMLUniformGridAMRWriter&) VTK_DELETE_FUNCTION;
diff --git a/IO/XML/vtkXMLUnstructuredDataReader.h b/IO/XML/vtkXMLUnstructuredDataReader.h
index 46358bbc48..1fbaa0db3a 100644
--- a/IO/XML/vtkXMLUnstructuredDataReader.h
+++ b/IO/XML/vtkXMLUnstructuredDataReader.h
@@ -38,17 +38,17 @@ class VTKIOXML_EXPORT vtkXMLUnstructuredDataReader : public vtkXMLDataReader
 {
 public:
   vtkTypeMacro(vtkXMLUnstructuredDataReader,vtkXMLDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the number of points in the output.
    */
-  virtual vtkIdType GetNumberOfPoints();
+  vtkIdType GetNumberOfPoints() VTK_OVERRIDE;
 
   /**
    * Get the number of cells in the output.
    */
-  virtual vtkIdType GetNumberOfCells();
+  vtkIdType GetNumberOfCells() VTK_OVERRIDE;
 
   /**
    * Get the number of pieces in the file
@@ -65,12 +65,12 @@ public:
 
   // For the specified port, copy the information this reader sets up in
   // SetupOutputInformation to outInfo
-  virtual void CopyOutputInformation(vtkInformation *outInfo, int port);
+  void CopyOutputInformation(vtkInformation *outInfo, int port) VTK_OVERRIDE;
 
 
 protected:
   vtkXMLUnstructuredDataReader();
-  ~vtkXMLUnstructuredDataReader();
+  ~vtkXMLUnstructuredDataReader() VTK_OVERRIDE;
 
   vtkPointSet* GetOutputAsPointSet();
   vtkXMLDataElement* FindDataArrayWithName(vtkXMLDataElement* eParent,
@@ -79,22 +79,22 @@ protected:
   vtkUnsignedCharArray* ConvertToUnsignedCharArray(vtkDataArray* a);
 
   // Pipeline execute data driver.  Called by vtkXMLReader.
-  void ReadXMLData();
+  void ReadXMLData() VTK_OVERRIDE;
 
-  virtual void SetupEmptyOutput();
+  void SetupEmptyOutput() VTK_OVERRIDE;
   virtual void GetOutputUpdateExtent(int& piece, int& numberOfPieces,
                                      int& ghostLevel)=0;
   virtual void SetupOutputTotals();
   virtual void SetupNextPiece();
-  void SetupPieces(int numPieces);
-  void DestroyPieces();
+  void SetupPieces(int numPieces) VTK_OVERRIDE;
+  void DestroyPieces() VTK_OVERRIDE;
 
   // Setup the output's information.
-  void SetupOutputInformation(vtkInformation *outInfo);
+  void SetupOutputInformation(vtkInformation *outInfo) VTK_OVERRIDE;
 
-  void SetupOutputData();
-  int ReadPiece(vtkXMLDataElement* ePiece);
-  int ReadPieceData();
+  void SetupOutputData() VTK_OVERRIDE;
+  int ReadPiece(vtkXMLDataElement* ePiece) VTK_OVERRIDE;
+  int ReadPieceData() VTK_OVERRIDE;
   int ReadCellArray(vtkIdType numberOfCells, vtkIdType totalNumberOfCells,
                     vtkXMLDataElement* eCells, vtkCellArray* outCells);
 
@@ -103,7 +103,7 @@ protected:
                     vtkIdTypeArray* outFaces, vtkIdTypeArray* outFaceOffsets);
 
   // Read a data array whose tuples coorrespond to points.
-  virtual int ReadArrayForPoints(vtkXMLDataElement* da, vtkAbstractArray* outArray);
+  int ReadArrayForPoints(vtkXMLDataElement* da, vtkAbstractArray* outArray) VTK_OVERRIDE;
 
   // Get the number of points/cells in the given piece.  Valid after
   // UpdateInformation.
diff --git a/IO/XML/vtkXMLUnstructuredDataWriter.h b/IO/XML/vtkXMLUnstructuredDataWriter.h
index 1d145ba5a8..38e0be6258 100644
--- a/IO/XML/vtkXMLUnstructuredDataWriter.h
+++ b/IO/XML/vtkXMLUnstructuredDataWriter.h
@@ -37,7 +37,7 @@ class VTKIOXML_EXPORT vtkXMLUnstructuredDataWriter : public vtkXMLWriter
 {
 public:
   vtkTypeMacro(vtkXMLUnstructuredDataWriter,vtkXMLWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -68,14 +68,14 @@ public:
   // See the vtkAlgorithm for a desciption of what these do
   int ProcessRequest(vtkInformation*,
                      vtkInformationVector**,
-                     vtkInformationVector*);
+                     vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   vtkXMLUnstructuredDataWriter();
-  ~vtkXMLUnstructuredDataWriter();
+  ~vtkXMLUnstructuredDataWriter() VTK_OVERRIDE;
 
   vtkPointSet* GetInputAsPointSet();
-  virtual const char* GetDataSetName()=0;
+  const char* GetDataSetName() VTK_OVERRIDE =0;
   virtual void SetInputUpdateExtent(int piece, int numPieces,
                                     int ghostLevel);
 
diff --git a/IO/XML/vtkXMLUnstructuredGridReader.h b/IO/XML/vtkXMLUnstructuredGridReader.h
index 1478018465..83290b4726 100644
--- a/IO/XML/vtkXMLUnstructuredGridReader.h
+++ b/IO/XML/vtkXMLUnstructuredGridReader.h
@@ -39,7 +39,7 @@ class VTKIOXML_EXPORT vtkXMLUnstructuredGridReader : public vtkXMLUnstructuredDa
 {
 public:
   vtkTypeMacro(vtkXMLUnstructuredGridReader,vtkXMLUnstructuredDataReader);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLUnstructuredGridReader *New();
 
   //@{
@@ -52,28 +52,28 @@ public:
 
 protected:
   vtkXMLUnstructuredGridReader();
-  ~vtkXMLUnstructuredGridReader();
+  ~vtkXMLUnstructuredGridReader() VTK_OVERRIDE;
 
-  const char* GetDataSetName();
-  void GetOutputUpdateExtent(int& piece, int& numberOfPieces, int& ghostLevel);
-  void SetupOutputTotals();
-  void SetupPieces(int numPieces);
-  void DestroyPieces();
+  const char* GetDataSetName() VTK_OVERRIDE;
+  void GetOutputUpdateExtent(int& piece, int& numberOfPieces, int& ghostLevel) VTK_OVERRIDE;
+  void SetupOutputTotals() VTK_OVERRIDE;
+  void SetupPieces(int numPieces) VTK_OVERRIDE;
+  void DestroyPieces() VTK_OVERRIDE;
 
-  void SetupOutputData();
-  int ReadPiece(vtkXMLDataElement* ePiece);
-  void SetupNextPiece();
-  int ReadPieceData();
+  void SetupOutputData() VTK_OVERRIDE;
+  int ReadPiece(vtkXMLDataElement* ePiece) VTK_OVERRIDE;
+  void SetupNextPiece() VTK_OVERRIDE;
+  int ReadPieceData() VTK_OVERRIDE;
 
   // Read a data array whose tuples correspond to cells.
-  virtual int ReadArrayForCells(vtkXMLDataElement* da,
-    vtkAbstractArray* outArray);
+  int ReadArrayForCells(vtkXMLDataElement* da,
+    vtkAbstractArray* outArray) VTK_OVERRIDE;
 
   // Get the number of cells in the given piece.  Valid after
   // UpdateInformation.
-  virtual vtkIdType GetNumberOfCellsInPiece(int piece);
+  vtkIdType GetNumberOfCellsInPiece(int piece) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int, vtkInformation*);
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   // The index of the cell in the output where the current piece
   // begins.
diff --git a/IO/XML/vtkXMLUnstructuredGridWriter.h b/IO/XML/vtkXMLUnstructuredGridWriter.h
index 1fc8e2c491..5ded40d94b 100644
--- a/IO/XML/vtkXMLUnstructuredGridWriter.h
+++ b/IO/XML/vtkXMLUnstructuredGridWriter.h
@@ -40,7 +40,7 @@ class VTKIOXML_EXPORT vtkXMLUnstructuredGridWriter : public vtkXMLUnstructuredDa
 {
 public:
   vtkTypeMacro(vtkXMLUnstructuredGridWriter,vtkXMLUnstructuredDataWriter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLUnstructuredGridWriter* New();
 
   /**
@@ -51,28 +51,28 @@ public:
   /**
    * Get the default file extension for files written by this writer.
    */
-  const char* GetDefaultFileExtension();
+  const char* GetDefaultFileExtension() VTK_OVERRIDE;
 
 protected:
   vtkXMLUnstructuredGridWriter();
-  ~vtkXMLUnstructuredGridWriter();
+  ~vtkXMLUnstructuredGridWriter() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
-  virtual void AllocatePositionArrays();
-  virtual void DeletePositionArrays();
+  void AllocatePositionArrays() VTK_OVERRIDE;
+  void DeletePositionArrays() VTK_OVERRIDE;
 
-  const char* GetDataSetName();
+  const char* GetDataSetName() VTK_OVERRIDE;
 
-  void WriteInlinePieceAttributes();
-  void WriteInlinePiece(vtkIndent indent);
+  void WriteInlinePieceAttributes() VTK_OVERRIDE;
+  void WriteInlinePiece(vtkIndent indent) VTK_OVERRIDE;
 
-  void WriteAppendedPieceAttributes(int index);
-  void WriteAppendedPiece(int index, vtkIndent indent);
-  void WriteAppendedPieceData(int index);
+  void WriteAppendedPieceAttributes(int index) VTK_OVERRIDE;
+  void WriteAppendedPiece(int index, vtkIndent indent) VTK_OVERRIDE;
+  void WriteAppendedPieceData(int index) VTK_OVERRIDE;
 
-  virtual vtkIdType GetNumberOfInputCells();
+  vtkIdType GetNumberOfInputCells() VTK_OVERRIDE;
   void CalculateSuperclassFraction(float* fractions);
 
   // Positions of attributes for each piece.
diff --git a/IO/XML/vtkXMLWriter.h b/IO/XML/vtkXMLWriter.h
index 70b4a7b34d..11a963d6d9 100644
--- a/IO/XML/vtkXMLWriter.h
+++ b/IO/XML/vtkXMLWriter.h
@@ -54,7 +54,7 @@ class VTKIOXML_EXPORT vtkXMLWriter : public vtkAlgorithm
 {
 public:
   vtkTypeMacro(vtkXMLWriter, vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Enumerate big and little endian byte order settings.
@@ -229,9 +229,9 @@ public:
   int Write();
 
   // See the vtkAlgorithm for a description of what these do
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inputVector,
-                             vtkInformationVector* outputVector);
+                             vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 
   //@{
@@ -253,7 +253,7 @@ public:
 
 protected:
   vtkXMLWriter();
-  ~vtkXMLWriter();
+  ~vtkXMLWriter() VTK_OVERRIDE;
 
   virtual int RequestInformation(
                           vtkInformation* request,
diff --git a/IO/XMLParser/vtkXMLDataHeaderPrivate.h b/IO/XMLParser/vtkXMLDataHeaderPrivate.h
index 89cc7c2a94..21171b96de 100644
--- a/IO/XMLParser/vtkXMLDataHeaderPrivate.h
+++ b/IO/XMLParser/vtkXMLDataHeaderPrivate.h
@@ -46,18 +46,18 @@ class vtkXMLDataHeaderImpl: public vtkXMLDataHeader
   std::vector<T> Header;
 public:
   vtkXMLDataHeaderImpl(size_t n): Header(n, 0) {}
-  virtual void Resize(size_t count)
+  void Resize(size_t count) VTK_OVERRIDE
     { this->Header.resize(count, 0); }
-  virtual vtkTypeUInt64 Get(size_t index) const
+  vtkTypeUInt64 Get(size_t index) const VTK_OVERRIDE
     { return this->Header[index]; }
-  virtual bool Set(size_t index, vtkTypeUInt64 value)
+  bool Set(size_t index, vtkTypeUInt64 value) VTK_OVERRIDE
   {
     this->Header[index] = T(value);
     return vtkTypeUInt64(this->Header[index]) == value;
   }
-  virtual size_t WordSize() const { return sizeof(T); }
-  virtual size_t WordCount() const { return this->Header.size(); }
-  virtual unsigned char* Data()
+  size_t WordSize() const VTK_OVERRIDE { return sizeof(T); }
+  size_t WordCount() const VTK_OVERRIDE { return this->Header.size(); }
+  unsigned char* Data() VTK_OVERRIDE
     { return reinterpret_cast<unsigned char*>(&this->Header[0]); }
 };
 
diff --git a/IO/XMLParser/vtkXMLDataParser.h b/IO/XMLParser/vtkXMLDataParser.h
index 121f53aaee..31501a2a94 100644
--- a/IO/XMLParser/vtkXMLDataParser.h
+++ b/IO/XMLParser/vtkXMLDataParser.h
@@ -40,7 +40,7 @@ class VTKIOXMLPARSER_EXPORT vtkXMLDataParser : public vtkXMLParser
 {
 public:
   vtkTypeMacro(vtkXMLDataParser,vtkXMLParser);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkXMLDataParser* New();
 
   /**
@@ -111,7 +111,7 @@ public:
    * Parse the XML input and check that the file is safe to read.
    * Returns 1 for okay, 0 for error.
    */
-  virtual int Parse();
+  int Parse() VTK_OVERRIDE;
 
   //@{
   /**
@@ -150,7 +150,7 @@ public:
    * will be stored in each XMLDataElement. VTK XML Readers store the
    * information elsewhere, so the default is to ignore it.
    */
-  virtual void CharacterDataHandler(const char* data, int length);
+  void CharacterDataHandler(const char* data, int length) VTK_OVERRIDE;
 
   /**
    * Returns the byte index of where appended data starts (if the
@@ -163,20 +163,20 @@ public:
 
 protected:
   vtkXMLDataParser();
-  ~vtkXMLDataParser();
+  ~vtkXMLDataParser() VTK_OVERRIDE;
 
   // This parser does not support parsing from a string.
-  virtual int Parse(const char*);
-  virtual int Parse(const char*, unsigned int);
+  int Parse(const char*) VTK_OVERRIDE;
+  int Parse(const char*, unsigned int) VTK_OVERRIDE;
 
   // Implement parsing methods.
-  virtual void StartElement(const char* name, const char** atts);
-  virtual void EndElement(const char*);
+  void StartElement(const char* name, const char** atts) VTK_OVERRIDE;
+  void EndElement(const char*) VTK_OVERRIDE;
 
-  int ParsingComplete();
+  int ParsingComplete() VTK_OVERRIDE;
   int CheckPrimaryAttributes();
   void FindAppendedDataPosition();
-  int ParseBuffer(const char* buffer, unsigned int count);
+  int ParseBuffer(const char* buffer, unsigned int count) VTK_OVERRIDE;
 
   void AddElement(vtkXMLDataElement* element);
   void PushOpenElement(vtkXMLDataElement* element);
diff --git a/IO/XMLParser/vtkXMLParser.h b/IO/XMLParser/vtkXMLParser.h
index efb833c937..420ff406cd 100644
--- a/IO/XMLParser/vtkXMLParser.h
+++ b/IO/XMLParser/vtkXMLParser.h
@@ -40,7 +40,7 @@ class VTKIOXMLPARSER_EXPORT vtkXMLParser : public vtkObject
 {
 public:
   vtkTypeMacro(vtkXMLParser,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkXMLParser* New();
 
@@ -123,7 +123,7 @@ public:
 
 protected:
   vtkXMLParser();
-  ~vtkXMLParser();
+  ~vtkXMLParser() VTK_OVERRIDE;
 
   // Input stream.  Set by user.
   istream* Stream;
diff --git a/IO/XMLParser/vtkXMLUtilities.h b/IO/XMLParser/vtkXMLUtilities.h
index 0f92b3037e..d4e4ec81b7 100644
--- a/IO/XMLParser/vtkXMLUtilities.h
+++ b/IO/XMLParser/vtkXMLUtilities.h
@@ -137,7 +137,7 @@ public:
 
 protected:
   vtkXMLUtilities() {}
-  ~vtkXMLUtilities() {}
+  ~vtkXMLUtilities() VTK_OVERRIDE {}
 
   static int FactorElementsInternal(vtkXMLDataElement *tree,
                                     vtkXMLDataElement *root,
diff --git a/Imaging/Color/vtkImageHSIToRGB.h b/Imaging/Color/vtkImageHSIToRGB.h
index 6d31b5bc61..21e37f9e5f 100644
--- a/Imaging/Color/vtkImageHSIToRGB.h
+++ b/Imaging/Color/vtkImageHSIToRGB.h
@@ -36,7 +36,7 @@ public:
   static vtkImageHSIToRGB *New();
   vtkTypeMacro(vtkImageHSIToRGB,vtkThreadedImageAlgorithm);
 
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -51,12 +51,12 @@ public:
 
 protected:
   vtkImageHSIToRGB();
-  ~vtkImageHSIToRGB() {}
+  ~vtkImageHSIToRGB() VTK_OVERRIDE {}
 
   double Maximum;
 
   void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
-                       int ext[6], int id);
+                       int ext[6], int id) VTK_OVERRIDE;
 private:
   vtkImageHSIToRGB(const vtkImageHSIToRGB&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageHSIToRGB&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Color/vtkImageHSVToRGB.h b/Imaging/Color/vtkImageHSVToRGB.h
index b13af756f9..874b914349 100644
--- a/Imaging/Color/vtkImageHSVToRGB.h
+++ b/Imaging/Color/vtkImageHSVToRGB.h
@@ -37,7 +37,7 @@ public:
   static vtkImageHSVToRGB *New();
   vtkTypeMacro(vtkImageHSVToRGB,vtkThreadedImageAlgorithm);
 
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -52,12 +52,12 @@ public:
 
 protected:
   vtkImageHSVToRGB();
-  ~vtkImageHSVToRGB() {}
+  ~vtkImageHSVToRGB() VTK_OVERRIDE {}
 
   double Maximum;
 
   void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
-                       int ext[6], int id);
+                       int ext[6], int id) VTK_OVERRIDE;
 private:
   vtkImageHSVToRGB(const vtkImageHSVToRGB&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageHSVToRGB&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Color/vtkImageLuminance.h b/Imaging/Color/vtkImageLuminance.h
index d613b17781..ff11bed689 100644
--- a/Imaging/Color/vtkImageLuminance.h
+++ b/Imaging/Color/vtkImageLuminance.h
@@ -34,13 +34,13 @@ public:
 
 protected:
   vtkImageLuminance();
-  ~vtkImageLuminance() {}
+  ~vtkImageLuminance() VTK_OVERRIDE {}
 
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector**,
-                                  vtkInformationVector *);
+  int RequestInformation (vtkInformation *, vtkInformationVector**,
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
   void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
-                        int outExt[6], int id);
+                        int outExt[6], int id) VTK_OVERRIDE;
 
 private:
   vtkImageLuminance(const vtkImageLuminance&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Color/vtkImageMapToRGBA.h b/Imaging/Color/vtkImageMapToRGBA.h
index ee44c46d79..00f6549045 100644
--- a/Imaging/Color/vtkImageMapToRGBA.h
+++ b/Imaging/Color/vtkImageMapToRGBA.h
@@ -38,7 +38,7 @@ public:
 
 protected:
   vtkImageMapToRGBA() {}
-  ~vtkImageMapToRGBA() {}
+  ~vtkImageMapToRGBA() VTK_OVERRIDE {}
 private:
   vtkImageMapToRGBA(const vtkImageMapToRGBA&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageMapToRGBA&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Color/vtkImageMapToWindowLevelColors.h b/Imaging/Color/vtkImageMapToWindowLevelColors.h
index 0b40ce8038..a5f3e67279 100644
--- a/Imaging/Color/vtkImageMapToWindowLevelColors.h
+++ b/Imaging/Color/vtkImageMapToWindowLevelColors.h
@@ -40,7 +40,7 @@ class VTKIMAGINGCOLOR_EXPORT vtkImageMapToWindowLevelColors : public vtkImageMap
 public:
   static vtkImageMapToWindowLevelColors *New();
   vtkTypeMacro(vtkImageMapToWindowLevelColors,vtkImageMapToColors);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -64,17 +64,17 @@ public:
 
 protected:
   vtkImageMapToWindowLevelColors();
-  ~vtkImageMapToWindowLevelColors();
+  ~vtkImageMapToWindowLevelColors() VTK_OVERRIDE;
 
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   void ThreadedRequestData(vtkInformation *request,
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int extent[6], int id);
-  virtual int RequestData(vtkInformation *request,
+                           int extent[6], int id) VTK_OVERRIDE;
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   double Window;
   double Level;
diff --git a/Imaging/Color/vtkImageQuantizeRGBToIndex.h b/Imaging/Color/vtkImageQuantizeRGBToIndex.h
index 35e29db32a..0974fee812 100644
--- a/Imaging/Color/vtkImageQuantizeRGBToIndex.h
+++ b/Imaging/Color/vtkImageQuantizeRGBToIndex.h
@@ -41,7 +41,7 @@ class VTKIMAGINGCOLOR_EXPORT vtkImageQuantizeRGBToIndex : public vtkImageAlgorit
 public:
   static vtkImageQuantizeRGBToIndex *New();
   vtkTypeMacro(vtkImageQuantizeRGBToIndex,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -82,7 +82,7 @@ public:
 
 protected:
   vtkImageQuantizeRGBToIndex();
-  ~vtkImageQuantizeRGBToIndex();
+  ~vtkImageQuantizeRGBToIndex() VTK_OVERRIDE;
 
   vtkLookupTable  *LookupTable;
   int             NumberOfColors;
@@ -92,12 +92,12 @@ protected:
   double           BuildTreeExecuteTime;
   double           LookupIndexExecuteTime;
 
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkImageQuantizeRGBToIndex(const vtkImageQuantizeRGBToIndex&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Color/vtkImageRGBToHSI.h b/Imaging/Color/vtkImageRGBToHSI.h
index 7f7d14fa04..9820f728ae 100644
--- a/Imaging/Color/vtkImageRGBToHSI.h
+++ b/Imaging/Color/vtkImageRGBToHSI.h
@@ -32,7 +32,7 @@ class VTKIMAGINGCOLOR_EXPORT vtkImageRGBToHSI : public vtkThreadedImageAlgorithm
 public:
   static vtkImageRGBToHSI *New();
   vtkTypeMacro(vtkImageRGBToHSI,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -46,12 +46,12 @@ public:
 
 protected:
   vtkImageRGBToHSI();
-  ~vtkImageRGBToHSI() {}
+  ~vtkImageRGBToHSI() VTK_OVERRIDE {}
 
   double Maximum;
 
   void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
-                       int ext[6], int id);
+                       int ext[6], int id) VTK_OVERRIDE;
 
 private:
   vtkImageRGBToHSI(const vtkImageRGBToHSI&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Color/vtkImageRGBToHSV.h b/Imaging/Color/vtkImageRGBToHSV.h
index 04c3a804b4..71e3b3dd36 100644
--- a/Imaging/Color/vtkImageRGBToHSV.h
+++ b/Imaging/Color/vtkImageRGBToHSV.h
@@ -33,7 +33,7 @@ class VTKIMAGINGCOLOR_EXPORT vtkImageRGBToHSV : public vtkThreadedImageAlgorithm
 public:
   static vtkImageRGBToHSV *New();
   vtkTypeMacro(vtkImageRGBToHSV,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 
   // Hue is an angle. Maximum specifies when it maps back to 0.  HueMaximum
@@ -44,12 +44,12 @@ public:
 
 protected:
   vtkImageRGBToHSV();
-  ~vtkImageRGBToHSV() {}
+  ~vtkImageRGBToHSV() VTK_OVERRIDE {}
 
   double Maximum;
 
   void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
-                       int ext[6], int id);
+                       int ext[6], int id) VTK_OVERRIDE;
 private:
   vtkImageRGBToHSV(const vtkImageRGBToHSV&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageRGBToHSV&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Color/vtkImageRGBToYIQ.h b/Imaging/Color/vtkImageRGBToYIQ.h
index 0c3dbb17ee..523cba849b 100644
--- a/Imaging/Color/vtkImageRGBToYIQ.h
+++ b/Imaging/Color/vtkImageRGBToYIQ.h
@@ -33,19 +33,19 @@ class VTKIMAGINGCOLOR_EXPORT vtkImageRGBToYIQ : public vtkThreadedImageAlgorithm
 public:
   static vtkImageRGBToYIQ *New();
   vtkTypeMacro(vtkImageRGBToYIQ,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkSetMacro(Maximum,double);
   vtkGetMacro(Maximum,double);
 
 protected:
   vtkImageRGBToYIQ();
-  ~vtkImageRGBToYIQ() {}
+  ~vtkImageRGBToYIQ() VTK_OVERRIDE {}
 
   double Maximum;      // Maximum value of pixel intensity allowed
 
   void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
-                       int ext[6], int id);
+                       int ext[6], int id) VTK_OVERRIDE;
 private:
   vtkImageRGBToYIQ(const vtkImageRGBToYIQ&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageRGBToYIQ&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Color/vtkImageYIQToRGB.h b/Imaging/Color/vtkImageYIQToRGB.h
index 6a5e531e9d..468b3473a0 100644
--- a/Imaging/Color/vtkImageYIQToRGB.h
+++ b/Imaging/Color/vtkImageYIQToRGB.h
@@ -33,19 +33,19 @@ class VTKIMAGINGCOLOR_EXPORT vtkImageYIQToRGB : public vtkThreadedImageAlgorithm
 public:
   static vtkImageYIQToRGB *New();
   vtkTypeMacro(vtkImageYIQToRGB,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkSetMacro(Maximum,double);
   vtkGetMacro(Maximum,double);
 
 protected:
   vtkImageYIQToRGB();
-  ~vtkImageYIQToRGB() {}
+  ~vtkImageYIQToRGB() VTK_OVERRIDE {}
 
   double Maximum;	// Maximum value of pixel intensity allowed
 
   void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
-                       int ext[6], int id);
+                       int ext[6], int id) VTK_OVERRIDE;
 private:
   vtkImageYIQToRGB(const vtkImageYIQToRGB&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageYIQToRGB&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Core/vtkAbstractImageInterpolator.h b/Imaging/Core/vtkAbstractImageInterpolator.h
index 49ad851a3a..05f6d90044 100644
--- a/Imaging/Core/vtkAbstractImageInterpolator.h
+++ b/Imaging/Core/vtkAbstractImageInterpolator.h
@@ -262,7 +262,7 @@ public:
 
 protected:
   vtkAbstractImageInterpolator();
-  ~vtkAbstractImageInterpolator();
+  ~vtkAbstractImageInterpolator() VTK_OVERRIDE;
 
   /**
    * Subclass-specific updates.
diff --git a/Imaging/Core/vtkExtractVOI.h b/Imaging/Core/vtkExtractVOI.h
index 0ec38cece8..0c418d3726 100644
--- a/Imaging/Core/vtkExtractVOI.h
+++ b/Imaging/Core/vtkExtractVOI.h
@@ -93,15 +93,15 @@ public:
 
 protected:
   vtkExtractVOI();
-  ~vtkExtractVOI();
+  ~vtkExtractVOI() VTK_OVERRIDE;
 
-  virtual int RequestUpdateExtent(vtkInformation*,
+  int RequestUpdateExtent(vtkInformation*,
                                   vtkInformationVector**,
                                   vtkInformationVector*) VTK_OVERRIDE;
-  virtual int RequestInformation (vtkInformation*,
+  int RequestInformation (vtkInformation*,
                                   vtkInformationVector**,
                                   vtkInformationVector*) VTK_OVERRIDE;
-  virtual int RequestData(vtkInformation* request,
+  int RequestData(vtkInformation* request,
                           vtkInformationVector** inputVector,
                           vtkInformationVector* outputVector) VTK_OVERRIDE;
 
diff --git a/Imaging/Core/vtkImageAppendComponents.h b/Imaging/Core/vtkImageAppendComponents.h
index 3b3a2c5f42..dac14420b6 100644
--- a/Imaging/Core/vtkImageAppendComponents.h
+++ b/Imaging/Core/vtkImageAppendComponents.h
@@ -73,9 +73,9 @@ public:
 
 protected:
   vtkImageAppendComponents() {}
-  ~vtkImageAppendComponents() {}
+  ~vtkImageAppendComponents() VTK_OVERRIDE {}
 
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector **,
+  int RequestInformation (vtkInformation *, vtkInformationVector **,
                                   vtkInformationVector *) VTK_OVERRIDE;
 
   void ThreadedRequestData (vtkInformation* request,
@@ -85,7 +85,7 @@ protected:
                             int ext[6], int id) VTK_OVERRIDE;
 
   // Implement methods required by vtkAlgorithm.
-  virtual int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
 private:
   vtkImageAppendComponents(const vtkImageAppendComponents&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Core/vtkImageBSplineCoefficients.h b/Imaging/Core/vtkImageBSplineCoefficients.h
index 5e0b97d81c..25c1aa171f 100644
--- a/Imaging/Core/vtkImageBSplineCoefficients.h
+++ b/Imaging/Core/vtkImageBSplineCoefficients.h
@@ -57,7 +57,7 @@ public:
   static vtkImageBSplineCoefficients *New();
   vtkTypeMacro(vtkImageBSplineCoefficients,vtkThreadedImageAlgorithm);
 
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -141,22 +141,22 @@ public:
 
 protected:
   vtkImageBSplineCoefficients();
-  ~vtkImageBSplineCoefficients();
-
-  virtual void AllocateOutputData(
-    vtkImageData *out, vtkInformation *outInfo, int *uExtent);
-  virtual vtkImageData *AllocateOutputData(
-    vtkDataObject *out, vtkInformation* outInfo);
-
-  virtual int RequestData(
-    vtkInformation*, vtkInformationVector**, vtkInformationVector*);
-  virtual int RequestInformation(
-    vtkInformation*, vtkInformationVector**, vtkInformationVector*);
-  virtual int RequestUpdateExtent(
-    vtkInformation*, vtkInformationVector**, vtkInformationVector*);
-
-  virtual void ThreadedExecute(vtkImageData *inData, vtkImageData *outData,
-                               int outExt[6], int threadId);
+  ~vtkImageBSplineCoefficients() VTK_OVERRIDE;
+
+  void AllocateOutputData(
+    vtkImageData *out, vtkInformation *outInfo, int *uExtent) VTK_OVERRIDE;
+  vtkImageData *AllocateOutputData(
+    vtkDataObject *out, vtkInformation* outInfo) VTK_OVERRIDE;
+
+  int RequestData(
+    vtkInformation*, vtkInformationVector**, vtkInformationVector*) VTK_OVERRIDE;
+  int RequestInformation(
+    vtkInformation*, vtkInformationVector**, vtkInformationVector*) VTK_OVERRIDE;
+  int RequestUpdateExtent(
+    vtkInformation*, vtkInformationVector**, vtkInformationVector*) VTK_OVERRIDE;
+
+  void ThreadedExecute(vtkImageData *inData, vtkImageData *outData,
+                               int outExt[6], int threadId) VTK_OVERRIDE;
 
   int SplineDegree;
   int BorderMode;
diff --git a/Imaging/Core/vtkImageBSplineInterpolator.h b/Imaging/Core/vtkImageBSplineInterpolator.h
index 76b5050d8d..265d3b72ba 100644
--- a/Imaging/Core/vtkImageBSplineInterpolator.h
+++ b/Imaging/Core/vtkImageBSplineInterpolator.h
@@ -71,13 +71,13 @@ public:
    * structured coordinate transformation between the output and the input.
    * Otherwise, pass NULL as the matrix to retrieve the full kernel size.
    */
-  virtual void ComputeSupportSize(const double matrix[16], int support[3]);
+  void ComputeSupportSize(const double matrix[16], int support[3]) VTK_OVERRIDE;
 
   /**
    * Returns true if the interpolator supports weight precomputation.
    * This will always return true for this interpolator.
    */
-  virtual bool IsSeparable();
+  bool IsSeparable() VTK_OVERRIDE;
 
   //@{
   /**
@@ -90,55 +90,55 @@ public:
    * A new extent is provided for out-of-bounds checks.
    * THIS METHOD IS THREAD SAFE.
    */
-  virtual void PrecomputeWeightsForExtent(
+  void PrecomputeWeightsForExtent(
     const double matrix[16], const int extent[6], int newExtent[6],
-    vtkInterpolationWeights *&weights);
-  virtual void PrecomputeWeightsForExtent(
+    vtkInterpolationWeights *&weights) VTK_OVERRIDE;
+  void PrecomputeWeightsForExtent(
     const float matrix[16], const int extent[6], int newExtent[6],
-    vtkInterpolationWeights *&weights);
+    vtkInterpolationWeights *&weights) VTK_OVERRIDE;
   //@}
 
   /**
    * Free the precomputed weights.  THIS METHOD IS THREAD SAFE.
    */
-  virtual void FreePrecomputedWeights(vtkInterpolationWeights *&weights);
+  void FreePrecomputedWeights(vtkInterpolationWeights *&weights) VTK_OVERRIDE;
 
 protected:
   vtkImageBSplineInterpolator();
-  ~vtkImageBSplineInterpolator();
+  ~vtkImageBSplineInterpolator() VTK_OVERRIDE;
 
   /**
    * Update the interpolator.
    */
-  virtual void InternalUpdate();
+  void InternalUpdate() VTK_OVERRIDE;
 
   /**
    * Copy the interpolator.
    */
-  virtual void InternalDeepCopy(vtkAbstractImageInterpolator *obj);
+  void InternalDeepCopy(vtkAbstractImageInterpolator *obj) VTK_OVERRIDE;
 
   //@{
   /**
    * Get the interpolation functions.
    */
-  virtual void GetInterpolationFunc(
+  void GetInterpolationFunc(
     void (**doublefunc)(
-      vtkInterpolationInfo *, const double [3], double *));
-  virtual void GetInterpolationFunc(
+      vtkInterpolationInfo *, const double [3], double *)) VTK_OVERRIDE;
+  void GetInterpolationFunc(
     void (**floatfunc)(
-      vtkInterpolationInfo *, const float [3], float *));
+      vtkInterpolationInfo *, const float [3], float *)) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Get the row interpolation functions.
    */
-  virtual void GetRowInterpolationFunc(
+  void GetRowInterpolationFunc(
     void (**doublefunc)(
-      vtkInterpolationWeights *, int, int, int, double *, int));
-  virtual void GetRowInterpolationFunc(
+      vtkInterpolationWeights *, int, int, int, double *, int)) VTK_OVERRIDE;
+  void GetRowInterpolationFunc(
     void (**floatfunc)(
-      vtkInterpolationWeights *, int, int, int, float *, int));
+      vtkInterpolationWeights *, int, int, int, float *, int)) VTK_OVERRIDE;
   //@}
 
   /**
diff --git a/Imaging/Core/vtkImageBlend.h b/Imaging/Core/vtkImageBlend.h
index 708c66b036..96c490fa4f 100644
--- a/Imaging/Core/vtkImageBlend.h
+++ b/Imaging/Core/vtkImageBlend.h
@@ -174,9 +174,9 @@ public:
 
 protected:
   vtkImageBlend();
-  ~vtkImageBlend();
+  ~vtkImageBlend() VTK_OVERRIDE;
 
-  virtual int RequestUpdateExtent(vtkInformation *,
+  int RequestUpdateExtent(vtkInformation *,
                                   vtkInformationVector **,
                                   vtkInformationVector *) VTK_OVERRIDE;
 
@@ -190,10 +190,10 @@ protected:
                             int ext[6], int id) VTK_OVERRIDE;
 
   // see vtkAlgorithm for docs.
-  virtual int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   // see vtkAlgorithm for docs.
-  virtual int RequestData(vtkInformation* request,
+  int RequestData(vtkInformation* request,
                           vtkInformationVector** inputVector,
                           vtkInformationVector* outputVector) VTK_OVERRIDE;
 
diff --git a/Imaging/Core/vtkImageCacheFilter.h b/Imaging/Core/vtkImageCacheFilter.h
index 528147357c..c1c150b0dd 100644
--- a/Imaging/Core/vtkImageCacheFilter.h
+++ b/Imaging/Core/vtkImageCacheFilter.h
@@ -36,7 +36,7 @@ class VTKIMAGINGCORE_EXPORT vtkImageCacheFilter : public vtkImageAlgorithm
 public:
   static vtkImageCacheFilter *New();
   vtkTypeMacro(vtkImageCacheFilter,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -49,11 +49,11 @@ public:
 
 protected:
   vtkImageCacheFilter();
-  ~vtkImageCacheFilter();
+  ~vtkImageCacheFilter() VTK_OVERRIDE;
 
   // Create a default executive.
-  virtual vtkExecutive* CreateDefaultExecutive() VTK_OVERRIDE;
-  virtual void ExecuteData(vtkDataObject *) VTK_OVERRIDE;
+  vtkExecutive* CreateDefaultExecutive() VTK_OVERRIDE;
+  void ExecuteData(vtkDataObject *) VTK_OVERRIDE;
 
 private:
   vtkImageCacheFilter(const vtkImageCacheFilter&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Core/vtkImageCast.h b/Imaging/Core/vtkImageCast.h
index dc159834e6..e81216270c 100644
--- a/Imaging/Core/vtkImageCast.h
+++ b/Imaging/Core/vtkImageCast.h
@@ -42,7 +42,7 @@ class VTKIMAGINGCORE_EXPORT vtkImageCast : public vtkThreadedImageAlgorithm
 public:
   static vtkImageCast *New();
   vtkTypeMacro(vtkImageCast,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -84,14 +84,14 @@ public:
 
 protected:
   vtkImageCast();
-  ~vtkImageCast() {}
+  ~vtkImageCast()VTK_OVERRIDE {}
 
   int ClampOverflow;
   int OutputScalarType;
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector**, vtkInformationVector *);
+  int RequestInformation (vtkInformation *, vtkInformationVector**, vtkInformationVector *) VTK_OVERRIDE;
 
   void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
-                       int ext[6], int id);
+                       int ext[6], int id) VTK_OVERRIDE;
 
 private:
   vtkImageCast(const vtkImageCast&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Core/vtkImageChangeInformation.h b/Imaging/Core/vtkImageChangeInformation.h
index 9c083fd8b5..33ab6006f6 100644
--- a/Imaging/Core/vtkImageChangeInformation.h
+++ b/Imaging/Core/vtkImageChangeInformation.h
@@ -124,7 +124,7 @@ public:
 
 protected:
   vtkImageChangeInformation();
-  ~vtkImageChangeInformation();
+  ~vtkImageChangeInformation() VTK_OVERRIDE;
 
   int CenterImage;
 
@@ -139,18 +139,18 @@ protected:
   double OriginScale[3];
   double OriginTranslation[3];
 
-  virtual int RequestUpdateExtent (vtkInformation *,
+  int RequestUpdateExtent (vtkInformation *,
                                    vtkInformationVector **,
                                    vtkInformationVector *) VTK_OVERRIDE;
-  virtual int RequestInformation (vtkInformation *,
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
                                   vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
                           vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkImageChangeInformation(const vtkImageChangeInformation&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Core/vtkImageClip.h b/Imaging/Core/vtkImageClip.h
index 5007ea5bac..15351b369d 100644
--- a/Imaging/Core/vtkImageClip.h
+++ b/Imaging/Core/vtkImageClip.h
@@ -67,7 +67,7 @@ public:
 
 protected:
   vtkImageClip();
-  ~vtkImageClip() {}
+  ~vtkImageClip() VTK_OVERRIDE {}
 
   // Time when OutputImageExtent was computed.
   vtkTimeStamp CTime;
@@ -76,13 +76,13 @@ protected:
 
   int ClipData;
 
-  virtual int RequestInformation (vtkInformation *,
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
                                   vtkInformationVector *) VTK_OVERRIDE;
 
   void CopyData(vtkImageData *inData, vtkImageData *outData, int *ext);
 
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
                           vtkInformationVector *) VTK_OVERRIDE;
 
diff --git a/Imaging/Core/vtkImageConstantPad.h b/Imaging/Core/vtkImageConstantPad.h
index e7ce423ae5..1a40329a1f 100644
--- a/Imaging/Core/vtkImageConstantPad.h
+++ b/Imaging/Core/vtkImageConstantPad.h
@@ -37,7 +37,7 @@ public:
   static vtkImageConstantPad *New();
   vtkTypeMacro(vtkImageConstantPad,vtkImagePadFilter);
 
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -50,7 +50,7 @@ public:
 
 protected:
   vtkImageConstantPad();
-  ~vtkImageConstantPad() {}
+  ~vtkImageConstantPad() VTK_OVERRIDE {}
 
   double Constant;
 
@@ -58,7 +58,7 @@ protected:
                             vtkInformationVector** inputVector,
                             vtkInformationVector* outputVector,
                             vtkImageData ***inData, vtkImageData **outData,
-                            int ext[6], int id);
+                            int ext[6], int id) VTK_OVERRIDE;
 private:
   vtkImageConstantPad(const vtkImageConstantPad&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageConstantPad&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Core/vtkImageDataStreamer.h b/Imaging/Core/vtkImageDataStreamer.h
index 3678bc3e81..325411fd79 100644
--- a/Imaging/Core/vtkImageDataStreamer.h
+++ b/Imaging/Core/vtkImageDataStreamer.h
@@ -34,7 +34,7 @@ class VTKIMAGINGCORE_EXPORT vtkImageDataStreamer : public vtkImageAlgorithm
 public:
   static vtkImageDataStreamer *New();
   vtkTypeMacro(vtkImageDataStreamer,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -57,11 +57,11 @@ public:
   // See the vtkAlgorithm for a desciption of what these do
   int ProcessRequest(vtkInformation*,
                      vtkInformationVector**,
-                     vtkInformationVector*);
+                     vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   vtkImageDataStreamer();
-  ~vtkImageDataStreamer();
+  ~vtkImageDataStreamer() VTK_OVERRIDE;
 
   vtkExtentTranslator *ExtentTranslator;
   int            NumberOfStreamDivisions;
diff --git a/Imaging/Core/vtkImageDecomposeFilter.h b/Imaging/Core/vtkImageDecomposeFilter.h
index 5e69881328..2f65a91a67 100644
--- a/Imaging/Core/vtkImageDecomposeFilter.h
+++ b/Imaging/Core/vtkImageDecomposeFilter.h
@@ -39,7 +39,7 @@ public:
    * dimensionality 3.
    */
   vtkTypeMacro(vtkImageDecomposeFilter,vtkImageIterateFilter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -63,7 +63,7 @@ public:
 
 protected:
   vtkImageDecomposeFilter();
-  ~vtkImageDecomposeFilter() {}
+  ~vtkImageDecomposeFilter()VTK_OVERRIDE {}
 
   int Dimensionality;
 
diff --git a/Imaging/Core/vtkImageDifference.h b/Imaging/Core/vtkImageDifference.h
index 76a0aa3b53..8a7823f802 100644
--- a/Imaging/Core/vtkImageDifference.h
+++ b/Imaging/Core/vtkImageDifference.h
@@ -48,7 +48,7 @@ class VTKIMAGINGCORE_EXPORT vtkImageDifference : public vtkThreadedImageAlgorith
 public:
   static vtkImageDifference *New();
   vtkTypeMacro(vtkImageDifference,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -111,7 +111,7 @@ public:
 
 protected:
   vtkImageDifference();
-  ~vtkImageDifference() {}
+  ~vtkImageDifference() VTK_OVERRIDE {}
 
   // Parameters
   int AllowShift;
@@ -123,22 +123,22 @@ protected:
   double Error;
   double ThresholdedError;
 
-  virtual int RequestInformation (vtkInformation *,
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *,
+                                  vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
-  virtual int RequestData(vtkInformation *,
+                                  vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual void ThreadedRequestData(vtkInformation *request,
+  void ThreadedRequestData(vtkInformation *request,
                                    vtkInformationVector **inputVector,
                                    vtkInformationVector *outputVector,
                                    vtkImageData ***inData,
                                    vtkImageData **outData,
-                                   int extent[6], int threadId);
+                                   int extent[6], int threadId) VTK_OVERRIDE;
 
   // Used for vtkMultiThreader operation.
   vtkImageDifferenceThreadData *ThreadData;
diff --git a/Imaging/Core/vtkImageExtractComponents.h b/Imaging/Core/vtkImageExtractComponents.h
index b96d48f96a..6294801eb6 100644
--- a/Imaging/Core/vtkImageExtractComponents.h
+++ b/Imaging/Core/vtkImageExtractComponents.h
@@ -35,7 +35,7 @@ class VTKIMAGINGCORE_EXPORT vtkImageExtractComponents : public vtkThreadedImageA
 public:
   static vtkImageExtractComponents *New();
   vtkTypeMacro(vtkImageExtractComponents,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -57,16 +57,16 @@ public:
 
 protected:
   vtkImageExtractComponents();
-  ~vtkImageExtractComponents() {}
+  ~vtkImageExtractComponents() VTK_OVERRIDE {}
 
   int NumberOfComponents;
   int Components[3];
 
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector**,
-                                  vtkInformationVector *);
+  int RequestInformation (vtkInformation *, vtkInformationVector**,
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
   void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
-                       int ext[6], int id);
+                       int ext[6], int id) VTK_OVERRIDE;
 private:
   vtkImageExtractComponents(const vtkImageExtractComponents&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageExtractComponents&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Core/vtkImageFlip.h b/Imaging/Core/vtkImageFlip.h
index 1815f2220b..5f4e0f5c7f 100644
--- a/Imaging/Core/vtkImageFlip.h
+++ b/Imaging/Core/vtkImageFlip.h
@@ -86,9 +86,9 @@ public:
 
 protected:
   vtkImageFlip();
-  ~vtkImageFlip() {}
+  ~vtkImageFlip()VTK_OVERRIDE {}
 
-  virtual int RequestInformation(vtkInformation *,
+  int RequestInformation(vtkInformation *,
                                  vtkInformationVector **,
                                  vtkInformationVector *) VTK_OVERRIDE;
 
diff --git a/Imaging/Core/vtkImageInterpolator.h b/Imaging/Core/vtkImageInterpolator.h
index 52330b6209..c3daf2f047 100644
--- a/Imaging/Core/vtkImageInterpolator.h
+++ b/Imaging/Core/vtkImageInterpolator.h
@@ -61,13 +61,13 @@ public:
    * structured coordinate transformation between the output and the input.
    * Otherwise, pass NULL as the matrix to retrieve the full kernel size.
    */
-  virtual void ComputeSupportSize(const double matrix[16], int support[3]) VTK_OVERRIDE;
+  void ComputeSupportSize(const double matrix[16], int support[3]) VTK_OVERRIDE;
 
   /**
    * Returns true if the interpolator supports weight precomputation.
    * This will always return true for this interpolator.
    */
-  virtual bool IsSeparable() VTK_OVERRIDE;
+  bool IsSeparable() VTK_OVERRIDE;
 
   //@{
   /**
@@ -79,10 +79,10 @@ public:
    * must have only one non-zero value.  A new extent is provided that can
    * be used for out-of-bounds checks. THIS METHOD IS THREAD SAFE.
    */
-  virtual void PrecomputeWeightsForExtent(
+  void PrecomputeWeightsForExtent(
     const double matrix[16], const int extent[6], int newExtent[6],
     vtkInterpolationWeights *&weights) VTK_OVERRIDE;
-  virtual void PrecomputeWeightsForExtent(
+  void PrecomputeWeightsForExtent(
     const float matrix[16], const int extent[6], int newExtent[6],
     vtkInterpolationWeights *&weights) VTK_OVERRIDE;
   //@}
@@ -90,30 +90,30 @@ public:
   /**
    * Free the precomputed weights.  THIS METHOD IS THREAD SAFE.
    */
-  virtual void FreePrecomputedWeights(vtkInterpolationWeights *&weights) VTK_OVERRIDE;
+  void FreePrecomputedWeights(vtkInterpolationWeights *&weights) VTK_OVERRIDE;
 
 protected:
   vtkImageInterpolator();
-  ~vtkImageInterpolator();
+  ~vtkImageInterpolator() VTK_OVERRIDE;
 
   /**
    * Update the interpolator.
    */
-  virtual void InternalUpdate() VTK_OVERRIDE;
+  void InternalUpdate() VTK_OVERRIDE;
 
   /**
    * Copy all members.
    */
-  virtual void InternalDeepCopy(vtkAbstractImageInterpolator *obj) VTK_OVERRIDE;
+  void InternalDeepCopy(vtkAbstractImageInterpolator *obj) VTK_OVERRIDE;
 
   //@{
   /**
    * Get the interpolation functions.
    */
-  virtual void GetInterpolationFunc(
+  void GetInterpolationFunc(
     void (**doublefunc)(
       vtkInterpolationInfo *, const double [3], double *)) VTK_OVERRIDE;
-  virtual void GetInterpolationFunc(
+  void GetInterpolationFunc(
     void (**floatfunc)(
       vtkInterpolationInfo *, const float [3], float *)) VTK_OVERRIDE;
   //@}
@@ -122,10 +122,10 @@ protected:
   /**
    * Get the row interpolation functions.
    */
-  virtual void GetRowInterpolationFunc(
+  void GetRowInterpolationFunc(
     void (**doublefunc)(
       vtkInterpolationWeights *, int, int, int, double *, int)) VTK_OVERRIDE;
-  virtual void GetRowInterpolationFunc(
+  void GetRowInterpolationFunc(
     void (**floatfunc)(
       vtkInterpolationWeights *, int, int, int, float *, int)) VTK_OVERRIDE;
   //@}
diff --git a/Imaging/Core/vtkImageIterateFilter.h b/Imaging/Core/vtkImageIterateFilter.h
index b513987e46..b66e4d562c 100644
--- a/Imaging/Core/vtkImageIterateFilter.h
+++ b/Imaging/Core/vtkImageIterateFilter.h
@@ -47,17 +47,17 @@ public:
 
 protected:
   vtkImageIterateFilter();
-  ~vtkImageIterateFilter();
+  ~vtkImageIterateFilter() VTK_OVERRIDE;
 
   // Implement standard requests by calling iterative versions the
   // specified number of times.
-  virtual int RequestUpdateExtent(vtkInformation*,
+  int RequestUpdateExtent(vtkInformation*,
                                   vtkInformationVector**,
                                   vtkInformationVector*) VTK_OVERRIDE;
-  virtual int RequestInformation (vtkInformation*,
+  int RequestInformation (vtkInformation*,
                                   vtkInformationVector**,
                                   vtkInformationVector*) VTK_OVERRIDE;
-  virtual int RequestData(vtkInformation* request,
+  int RequestData(vtkInformation* request,
                           vtkInformationVector** inputVector,
                           vtkInformationVector* outputVector) VTK_OVERRIDE;
 
diff --git a/Imaging/Core/vtkImageMagnify.h b/Imaging/Core/vtkImageMagnify.h
index 7a9c7d6608..f5cb697500 100644
--- a/Imaging/Core/vtkImageMagnify.h
+++ b/Imaging/Core/vtkImageMagnify.h
@@ -34,7 +34,7 @@ class VTKIMAGINGCORE_EXPORT vtkImageMagnify : public vtkThreadedImageAlgorithm
 public:
   static vtkImageMagnify *New();
   vtkTypeMacro(vtkImageMagnify,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -57,16 +57,16 @@ public:
 
 protected:
   vtkImageMagnify();
-  ~vtkImageMagnify() {}
+  ~vtkImageMagnify()VTK_OVERRIDE {}
 
   int MagnificationFactors[3];
   int Interpolate;
-  virtual int RequestUpdateExtent(vtkInformation *,
+  int RequestUpdateExtent(vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
-  virtual int RequestInformation(vtkInformation *,
+                                  vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *,
                                  vtkInformationVector **,
-                                 vtkInformationVector *);
+                                 vtkInformationVector *) VTK_OVERRIDE;
 
   void ThreadedRequestData(vtkInformation *request,
                            vtkInformationVector **inputVector,
@@ -74,7 +74,7 @@ protected:
                            vtkImageData ***inData,
                            vtkImageData **outData,
                            int outExt[6],
-                           int id);
+                           int id) VTK_OVERRIDE;
 
   void InternalRequestUpdateExtent(int *inExt, int *outExt);
 
diff --git a/Imaging/Core/vtkImageMapToColors.h b/Imaging/Core/vtkImageMapToColors.h
index d3cc1bd64a..244a957674 100644
--- a/Imaging/Core/vtkImageMapToColors.h
+++ b/Imaging/Core/vtkImageMapToColors.h
@@ -83,7 +83,7 @@ public:
   /**
    * We need to check the modified time of the lookup table too.
    */
-  virtual vtkMTimeType GetMTime() VTK_OVERRIDE;
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -96,9 +96,9 @@ public:
 
 protected:
   vtkImageMapToColors();
-  ~vtkImageMapToColors();
+  ~vtkImageMapToColors() VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation *,
+  int RequestInformation(vtkInformation *,
                                  vtkInformationVector **,
                                  vtkInformationVector *) VTK_OVERRIDE;
 
@@ -108,7 +108,7 @@ protected:
                            vtkImageData ***inData, vtkImageData **outData,
                            int extent[6], int id) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
                           vtkInformationVector *outputVector) VTK_OVERRIDE;
 
diff --git a/Imaging/Core/vtkImageMask.h b/Imaging/Core/vtkImageMask.h
index ae0177dc67..f09e87044f 100644
--- a/Imaging/Core/vtkImageMask.h
+++ b/Imaging/Core/vtkImageMask.h
@@ -39,7 +39,7 @@ class VTKIMAGINGCORE_EXPORT vtkImageMask : public vtkThreadedImageAlgorithm
 public:
   static vtkImageMask *New();
   vtkTypeMacro(vtkImageMask,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * SetGet the value of the output pixel replaced by mask.
@@ -94,24 +94,24 @@ public:
 
 protected:
   vtkImageMask();
-  ~vtkImageMask();
+  ~vtkImageMask() VTK_OVERRIDE;
 
   double *MaskedOutputValue;
   int MaskedOutputValueLength;
   int NotMask;
   double MaskAlpha;
 
-  virtual int RequestInformation (vtkInformation *,
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
 
-  virtual void ThreadedRequestData(vtkInformation *request,
+  void ThreadedRequestData(vtkInformation *request,
                                    vtkInformationVector **inputVector,
                                    vtkInformationVector *outputVector,
                                    vtkImageData ***inData,
                                    vtkImageData **outData,
-                                   int extent[6], int threadId);
+                                   int extent[6], int threadId) VTK_OVERRIDE;
 
 private:
   vtkImageMask(const vtkImageMask&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Core/vtkImageMirrorPad.h b/Imaging/Core/vtkImageMirrorPad.h
index e1296d3df8..d1718a9b96 100644
--- a/Imaging/Core/vtkImageMirrorPad.h
+++ b/Imaging/Core/vtkImageMirrorPad.h
@@ -35,7 +35,7 @@ public:
 
 protected:
   vtkImageMirrorPad() {}
-  ~vtkImageMirrorPad() {}
+  ~vtkImageMirrorPad()VTK_OVERRIDE {}
 
   void ComputeInputUpdateExtent(int inExt[6], int outExt[6], int wExt[6]) VTK_OVERRIDE;
   void ThreadedRequestData (vtkInformation* request,
diff --git a/Imaging/Core/vtkImagePadFilter.h b/Imaging/Core/vtkImagePadFilter.h
index fd126f79f9..17b485bd61 100644
--- a/Imaging/Core/vtkImagePadFilter.h
+++ b/Imaging/Core/vtkImagePadFilter.h
@@ -56,15 +56,15 @@ public:
 
 protected:
   vtkImagePadFilter();
-  ~vtkImagePadFilter() {}
+  ~vtkImagePadFilter() VTK_OVERRIDE {}
 
   int OutputWholeExtent[6];
   int OutputNumberOfScalarComponents;
 
-  virtual int RequestInformation (vtkInformation*,
+  int RequestInformation (vtkInformation*,
                                   vtkInformationVector**,
                                   vtkInformationVector*) VTK_OVERRIDE;
-  virtual int RequestUpdateExtent(vtkInformation*,
+  int RequestUpdateExtent(vtkInformation*,
                                   vtkInformationVector**,
                                   vtkInformationVector*) VTK_OVERRIDE;
 
diff --git a/Imaging/Core/vtkImagePermute.h b/Imaging/Core/vtkImagePermute.h
index b822d42f12..158ca97683 100644
--- a/Imaging/Core/vtkImagePermute.h
+++ b/Imaging/Core/vtkImagePermute.h
@@ -50,7 +50,7 @@ public:
 
 protected:
   vtkImagePermute();
-  ~vtkImagePermute() {}
+  ~vtkImagePermute()VTK_OVERRIDE {}
 
   int FilteredAxes[3];
 
diff --git a/Imaging/Core/vtkImageResample.h b/Imaging/Core/vtkImageResample.h
index 9d292a2b07..0554519769 100644
--- a/Imaging/Core/vtkImageResample.h
+++ b/Imaging/Core/vtkImageResample.h
@@ -64,13 +64,13 @@ public:
 
 protected:
   vtkImageResample();
-  ~vtkImageResample() {}
+  ~vtkImageResample() VTK_OVERRIDE {}
 
   double MagnificationFactors[3];
   double OutputSpacing[3];
   int Dimensionality;
 
-  virtual int RequestInformation(vtkInformation *,
+  int RequestInformation(vtkInformation *,
                                  vtkInformationVector **,
                                  vtkInformationVector *) VTK_OVERRIDE;
 
diff --git a/Imaging/Core/vtkImageResize.h b/Imaging/Core/vtkImageResize.h
index 403df185f6..baf2e7f59b 100644
--- a/Imaging/Core/vtkImageResize.h
+++ b/Imaging/Core/vtkImageResize.h
@@ -41,7 +41,7 @@ class VTKIMAGINGCORE_EXPORT vtkImageResize : public vtkThreadedImageAlgorithm
 public:
   static vtkImageResize *New();
   vtkTypeMacro(vtkImageResize, vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum
   {
@@ -153,25 +153,25 @@ public:
   /**
    * Get the modified time of the filter.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkImageResize();
-  ~vtkImageResize();
+  ~vtkImageResize() VTK_OVERRIDE;
 
   virtual vtkAbstractImageInterpolator *GetInternalInterpolator();
 
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
-                                 vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
-                                  vtkInformationVector *);
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
-  virtual void ThreadedRequestData(vtkInformation *request,
+  int RequestInformation(vtkInformation *, vtkInformationVector **,
+                                 vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
+                                  vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
+  void ThreadedRequestData(vtkInformation *request,
                                    vtkInformationVector **inputVector,
                                    vtkInformationVector *outputVector,
                                    vtkImageData ***inData,
-                                   vtkImageData **outData, int ext[6], int id);
+                                   vtkImageData **outData, int ext[6], int id) VTK_OVERRIDE;
 
   int ResizeMethod;
   int OutputDimensions[3];
diff --git a/Imaging/Core/vtkImageReslice.h b/Imaging/Core/vtkImageReslice.h
index 3ca873c0a0..9bcea09f20 100644
--- a/Imaging/Core/vtkImageReslice.h
+++ b/Imaging/Core/vtkImageReslice.h
@@ -486,7 +486,7 @@ public:
 
 protected:
   vtkImageReslice();
-  ~vtkImageReslice();
+  ~vtkImageReslice() VTK_OVERRIDE;
 
   vtkMatrix4x4 *ResliceAxes;
   double ResliceAxesDirectionCosines[9];
@@ -555,21 +555,21 @@ protected:
                          count, idX, idY, idZ, threadId); }
 
   void GetAutoCroppedOutputBounds(vtkInformation *inInfo, double bounds[6]);
-  virtual void AllocateOutputData(vtkImageData *output, vtkInformation *outInfo, int *uExtent) VTK_OVERRIDE;
-  virtual vtkImageData *AllocateOutputData(vtkDataObject *, vtkInformation *) VTK_OVERRIDE;
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
+  void AllocateOutputData(vtkImageData *output, vtkInformation *outInfo, int *uExtent) VTK_OVERRIDE;
+  vtkImageData *AllocateOutputData(vtkDataObject *, vtkInformation *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **,
                                  vtkInformationVector *) VTK_OVERRIDE;
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
                                   vtkInformationVector *) VTK_OVERRIDE;
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
+  int RequestData(vtkInformation *, vtkInformationVector **,
                           vtkInformationVector *) VTK_OVERRIDE;
-  virtual void ThreadedRequestData(vtkInformation *request,
+  void ThreadedRequestData(vtkInformation *request,
                                    vtkInformationVector **inputVector,
                                    vtkInformationVector *outputVector,
                                    vtkImageData ***inData,
                                    vtkImageData **outData, int ext[6], int id) VTK_OVERRIDE;
-  virtual int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
-  virtual int FillOutputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   vtkMatrix4x4 *GetIndexMatrix(vtkInformation *inInfo,
                                vtkInformation *outInfo);
diff --git a/Imaging/Core/vtkImageResliceToColors.h b/Imaging/Core/vtkImageResliceToColors.h
index 0b17169369..3215766671 100644
--- a/Imaging/Core/vtkImageResliceToColors.h
+++ b/Imaging/Core/vtkImageResliceToColors.h
@@ -91,7 +91,7 @@ public:
 
 protected:
   vtkImageResliceToColors();
-  ~vtkImageResliceToColors();
+  ~vtkImageResliceToColors() VTK_OVERRIDE;
 
   vtkScalarsToColors *LookupTable;
   vtkScalarsToColors *DefaultLookupTable;
diff --git a/Imaging/Core/vtkImageShiftScale.h b/Imaging/Core/vtkImageShiftScale.h
index 6ddfe05680..26f67925ac 100644
--- a/Imaging/Core/vtkImageShiftScale.h
+++ b/Imaging/Core/vtkImageShiftScale.h
@@ -34,7 +34,7 @@ class VTKIMAGINGCORE_EXPORT vtkImageShiftScale : public vtkThreadedImageAlgorith
 public:
   static vtkImageShiftScale *New();
   vtkTypeMacro(vtkImageShiftScale,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -97,24 +97,24 @@ public:
 
 protected:
   vtkImageShiftScale();
-  ~vtkImageShiftScale();
+  ~vtkImageShiftScale() VTK_OVERRIDE;
 
   double Shift;
   double Scale;
   int OutputScalarType;
   int ClampOverflow;
 
-  virtual int RequestInformation(vtkInformation*,
+  int RequestInformation(vtkInformation*,
                                  vtkInformationVector**,
-                                 vtkInformationVector*);
+                                 vtkInformationVector*) VTK_OVERRIDE;
 
-  virtual void ThreadedRequestData(vtkInformation*,
+  void ThreadedRequestData(vtkInformation*,
                                    vtkInformationVector**,
                                    vtkInformationVector*,
                                    vtkImageData*** inData,
                                    vtkImageData** outData,
                                    int outExt[6],
-                                   int threadId);
+                                   int threadId) VTK_OVERRIDE;
 private:
   vtkImageShiftScale(const vtkImageShiftScale&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageShiftScale&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Core/vtkImageShrink3D.h b/Imaging/Core/vtkImageShrink3D.h
index 8ceeebf948..472f6f5dd2 100644
--- a/Imaging/Core/vtkImageShrink3D.h
+++ b/Imaging/Core/vtkImageShrink3D.h
@@ -32,7 +32,7 @@ class VTKIMAGINGCORE_EXPORT vtkImageShrink3D : public vtkThreadedImageAlgorithm
 public:
   static vtkImageShrink3D *New();
   vtkTypeMacro(vtkImageShrink3D,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -81,7 +81,7 @@ public:
 
 protected:
   vtkImageShrink3D();
-  ~vtkImageShrink3D() {}
+  ~vtkImageShrink3D()VTK_OVERRIDE {}
 
   int ShrinkFactors[3];
   int Shift[3];
@@ -90,14 +90,14 @@ protected:
   int Maximum;
   int Median;
 
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   void ThreadedRequestData(vtkInformation *request,
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int ext[6], int id);
+                           int ext[6], int id) VTK_OVERRIDE;
 
   void InternalRequestUpdateExtent(int *inExt, int *outExt);
 
diff --git a/Imaging/Core/vtkImageSincInterpolator.h b/Imaging/Core/vtkImageSincInterpolator.h
index f4466b4e83..54129dbdc0 100644
--- a/Imaging/Core/vtkImageSincInterpolator.h
+++ b/Imaging/Core/vtkImageSincInterpolator.h
@@ -130,7 +130,7 @@ public:
    * structured coordinate transformation between the output and the input.
    * Otherwise, pass NULL as the matrix to retrieve the full kernel size.
    */
-  virtual void ComputeSupportSize(const double matrix[16], int support[3]);
+  void ComputeSupportSize(const double matrix[16], int support[3]) VTK_OVERRIDE;
 
   //@{
   /**
@@ -182,7 +182,7 @@ public:
    * Returns true if the interpolator supports weight precomputation.
    * This will always return true for this interpolator.
    */
-  virtual bool IsSeparable();
+  bool IsSeparable() VTK_OVERRIDE;
 
   //@{
   /**
@@ -195,55 +195,55 @@ public:
    * A new extent is provided for out-of-bounds checks.
    * THIS METHOD IS THREAD SAFE.
    */
-  virtual void PrecomputeWeightsForExtent(
+  void PrecomputeWeightsForExtent(
     const double matrix[16], const int extent[6], int newExtent[6],
-    vtkInterpolationWeights *&weights);
-  virtual void PrecomputeWeightsForExtent(
+    vtkInterpolationWeights *&weights) VTK_OVERRIDE;
+  void PrecomputeWeightsForExtent(
     const float matrix[16], const int extent[6], int newExtent[6],
-    vtkInterpolationWeights *&weights);
+    vtkInterpolationWeights *&weights) VTK_OVERRIDE;
   //@}
 
   /**
    * Free the precomputed weights.  THIS METHOD IS THREAD SAFE.
    */
-  virtual void FreePrecomputedWeights(vtkInterpolationWeights *&weights);
+  void FreePrecomputedWeights(vtkInterpolationWeights *&weights) VTK_OVERRIDE;
 
 protected:
   vtkImageSincInterpolator();
-  ~vtkImageSincInterpolator();
+  ~vtkImageSincInterpolator() VTK_OVERRIDE;
 
   /**
    * Update the interpolator.
    */
-  virtual void InternalUpdate();
+  void InternalUpdate() VTK_OVERRIDE;
 
   /**
    * Copy the interpolator.
    */
-  virtual void InternalDeepCopy(vtkAbstractImageInterpolator *obj);
+  void InternalDeepCopy(vtkAbstractImageInterpolator *obj) VTK_OVERRIDE;
 
   //@{
   /**
    * Get the interpolation functions.
    */
-  virtual void GetInterpolationFunc(
+  void GetInterpolationFunc(
     void (**doublefunc)(
-      vtkInterpolationInfo *, const double [3], double *));
-  virtual void GetInterpolationFunc(
+      vtkInterpolationInfo *, const double [3], double *)) VTK_OVERRIDE;
+  void GetInterpolationFunc(
     void (**floatfunc)(
-      vtkInterpolationInfo *, const float [3], float *));
+      vtkInterpolationInfo *, const float [3], float *)) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Get the row interpolation functions.
    */
-  virtual void GetRowInterpolationFunc(
+  void GetRowInterpolationFunc(
     void (**doublefunc)(
-      vtkInterpolationWeights *, int, int, int, double *, int));
-  virtual void GetRowInterpolationFunc(
+      vtkInterpolationWeights *, int, int, int, double *, int)) VTK_OVERRIDE;
+  void GetRowInterpolationFunc(
     void (**floatfunc)(
-      vtkInterpolationWeights *, int, int, int, float *, int));
+      vtkInterpolationWeights *, int, int, int, float *, int)) VTK_OVERRIDE;
   //@}
 
   /**
diff --git a/Imaging/Core/vtkImageStencilAlgorithm.h b/Imaging/Core/vtkImageStencilAlgorithm.h
index 2692716510..e202ef84c4 100644
--- a/Imaging/Core/vtkImageStencilAlgorithm.h
+++ b/Imaging/Core/vtkImageStencilAlgorithm.h
@@ -52,13 +52,13 @@ public:
   /**
    * see vtkAlgorithm for details
    */
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
                              vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   vtkImageStencilAlgorithm();
-  ~vtkImageStencilAlgorithm();
+  ~vtkImageStencilAlgorithm() VTK_OVERRIDE;
 
   virtual int RequestData(vtkInformation *, vtkInformationVector **,
                   vtkInformationVector *);
@@ -68,7 +68,7 @@ protected:
                                   vtkInformationVector *);
   vtkImageStencilData *AllocateOutputData(vtkDataObject *out, int* updateExt);
 
-  virtual int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
+  int FillOutputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
 private:
   vtkImageStencilAlgorithm(const vtkImageStencilAlgorithm&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Core/vtkImageStencilData.h b/Imaging/Core/vtkImageStencilData.h
index 731f436bde..2c444e58be 100644
--- a/Imaging/Core/vtkImageStencilData.h
+++ b/Imaging/Core/vtkImageStencilData.h
@@ -147,8 +147,8 @@ public:
    * Override these to handle origin, spacing, scalar type, and scalar
    * number of components.  See vtkDataObject for details.
    */
-  virtual void CopyInformationFromPipeline(vtkInformation *info) VTK_OVERRIDE;
-  virtual void CopyInformationToPipeline(vtkInformation *info) VTK_OVERRIDE;
+  void CopyInformationFromPipeline(vtkInformation *info) VTK_OVERRIDE;
+  void CopyInformationToPipeline(vtkInformation *info) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -184,7 +184,7 @@ public:
 
 protected:
   vtkImageStencilData();
-  ~vtkImageStencilData();
+  ~vtkImageStencilData() VTK_OVERRIDE;
 
   enum Operation { Merge, Erase };
 
diff --git a/Imaging/Core/vtkImageStencilSource.h b/Imaging/Core/vtkImageStencilSource.h
index e0c5ddbd3f..98a2ac9a58 100644
--- a/Imaging/Core/vtkImageStencilSource.h
+++ b/Imaging/Core/vtkImageStencilSource.h
@@ -46,7 +46,7 @@ public:
   static vtkImageStencilSource *New();
   vtkTypeMacro(vtkImageStencilSource, vtkImageStencilAlgorithm);
 
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -97,10 +97,10 @@ public:
 
 protected:
   vtkImageStencilSource();
-  ~vtkImageStencilSource();
+  ~vtkImageStencilSource() VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
-                                 vtkInformationVector *);
+  int RequestInformation(vtkInformation *, vtkInformationVector **,
+                                 vtkInformationVector *) VTK_OVERRIDE;
 
   vtkImageData *InformationInput;
 
diff --git a/Imaging/Core/vtkImageThreshold.h b/Imaging/Core/vtkImageThreshold.h
index 44dbe364eb..b21e64c8ae 100644
--- a/Imaging/Core/vtkImageThreshold.h
+++ b/Imaging/Core/vtkImageThreshold.h
@@ -33,7 +33,7 @@ class VTKIMAGINGCORE_EXPORT vtkImageThreshold : public vtkThreadedImageAlgorithm
 public:
   static vtkImageThreshold *New();
   vtkTypeMacro(vtkImageThreshold,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * The values greater than or equal to the value match.
@@ -124,7 +124,7 @@ public:
 
 protected:
   vtkImageThreshold();
-  ~vtkImageThreshold() {}
+  ~vtkImageThreshold()VTK_OVERRIDE {}
 
   double UpperThreshold;
   double LowerThreshold;
@@ -135,13 +135,13 @@ protected:
 
   int OutputScalarType;
 
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   void ThreadedRequestData(vtkInformation *request,
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int extent[6], int id);
+                           int extent[6], int id) VTK_OVERRIDE;
 
 private:
   vtkImageThreshold(const vtkImageThreshold&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Core/vtkImageTranslateExtent.h b/Imaging/Core/vtkImageTranslateExtent.h
index e97825d7ea..c7ac06f2a1 100644
--- a/Imaging/Core/vtkImageTranslateExtent.h
+++ b/Imaging/Core/vtkImageTranslateExtent.h
@@ -31,7 +31,7 @@ class VTKIMAGINGCORE_EXPORT vtkImageTranslateExtent : public vtkImageAlgorithm
 public:
   static vtkImageTranslateExtent *New();
   vtkTypeMacro(vtkImageTranslateExtent,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -43,14 +43,14 @@ public:
 
 protected:
   vtkImageTranslateExtent();
-  ~vtkImageTranslateExtent() {}
+  ~vtkImageTranslateExtent()VTK_OVERRIDE {}
 
   int Translation[3];
 
-  virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkImageTranslateExtent(const vtkImageTranslateExtent&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Core/vtkImageWrapPad.h b/Imaging/Core/vtkImageWrapPad.h
index 492778f8c5..b5ed3215e6 100644
--- a/Imaging/Core/vtkImageWrapPad.h
+++ b/Imaging/Core/vtkImageWrapPad.h
@@ -40,9 +40,9 @@ public:
 
 protected:
   vtkImageWrapPad() {}
-  ~vtkImageWrapPad() {}
+  ~vtkImageWrapPad()VTK_OVERRIDE {}
 
-  void ComputeInputUpdateExtent (int inExt[6], int outExt[6], int wExt[6]);
+  void ComputeInputUpdateExtent (int inExt[6], int outExt[6], int wExt[6]) VTK_OVERRIDE;
   void ThreadedRequestData (vtkInformation* request,
                             vtkInformationVector** inputVector,
                             vtkInformationVector* outputVector,
diff --git a/Imaging/Core/vtkRTAnalyticSource.h b/Imaging/Core/vtkRTAnalyticSource.h
index e163589aa5..79823ca0c0 100644
--- a/Imaging/Core/vtkRTAnalyticSource.h
+++ b/Imaging/Core/vtkRTAnalyticSource.h
@@ -32,7 +32,7 @@ class VTKIMAGINGCORE_EXPORT vtkRTAnalyticSource : public vtkImageAlgorithm
 public:
   static vtkRTAnalyticSource *New();
   vtkTypeMacro(vtkRTAnalyticSource,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -136,7 +136,7 @@ protected:
   /**
    * Destructor.
    */
-  ~vtkRTAnalyticSource()
+  ~vtkRTAnalyticSource() VTK_OVERRIDE
   {
   }
 
@@ -152,12 +152,12 @@ protected:
   double Maximum;
   int SubsampleRate;
 
-  virtual int RequestInformation(vtkInformation *request,
+  int RequestInformation(vtkInformation *request,
                                  vtkInformationVector **inputVector,
-                                 vtkInformationVector *outputVector);
-  virtual void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation *outInfo);
+                                 vtkInformationVector *outputVector) VTK_OVERRIDE;
+  void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation *outInfo) VTK_OVERRIDE;
 
-  int FillOutputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkRTAnalyticSource(const vtkRTAnalyticSource&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Fourier/vtkImageButterworthHighPass.h b/Imaging/Fourier/vtkImageButterworthHighPass.h
index 3d6be5edb5..5077465edb 100644
--- a/Imaging/Fourier/vtkImageButterworthHighPass.h
+++ b/Imaging/Fourier/vtkImageButterworthHighPass.h
@@ -40,7 +40,7 @@ class VTKIMAGINGFOURIER_EXPORT vtkImageButterworthHighPass : public vtkThreadedI
 public:
   static vtkImageButterworthHighPass *New();
   vtkTypeMacro(vtkImageButterworthHighPass,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -69,7 +69,7 @@ public:
 
 protected:
   vtkImageButterworthHighPass();
-  ~vtkImageButterworthHighPass() {}
+  ~vtkImageButterworthHighPass()VTK_OVERRIDE {}
 
   int Order;
   double CutOff[3];
@@ -78,7 +78,7 @@ protected:
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int outExt[6], int id);
+                           int outExt[6], int id) VTK_OVERRIDE;
 private:
   vtkImageButterworthHighPass(const vtkImageButterworthHighPass&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageButterworthHighPass&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Fourier/vtkImageButterworthLowPass.h b/Imaging/Fourier/vtkImageButterworthLowPass.h
index 6312df659a..ffb88e3854 100644
--- a/Imaging/Fourier/vtkImageButterworthLowPass.h
+++ b/Imaging/Fourier/vtkImageButterworthLowPass.h
@@ -40,7 +40,7 @@ class VTKIMAGINGFOURIER_EXPORT vtkImageButterworthLowPass : public vtkThreadedIm
 public:
   static vtkImageButterworthLowPass *New();
   vtkTypeMacro(vtkImageButterworthLowPass,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -70,7 +70,7 @@ public:
 
 protected:
   vtkImageButterworthLowPass();
-  ~vtkImageButterworthLowPass() {}
+  ~vtkImageButterworthLowPass()VTK_OVERRIDE {}
 
   int Order;
   double CutOff[3];
@@ -79,7 +79,7 @@ protected:
                             vtkInformationVector **inputVector,
                             vtkInformationVector *outputVector,
                             vtkImageData ***inData, vtkImageData **outData,
-                            int outExt[6], int id);
+                            int outExt[6], int id) VTK_OVERRIDE;
 private:
   vtkImageButterworthLowPass(const vtkImageButterworthLowPass&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageButterworthLowPass&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Fourier/vtkImageFFT.h b/Imaging/Fourier/vtkImageFFT.h
index 5e92f6d0bf..94693dda12 100644
--- a/Imaging/Fourier/vtkImageFFT.h
+++ b/Imaging/Fourier/vtkImageFFT.h
@@ -41,21 +41,21 @@ public:
 
 protected:
   vtkImageFFT() {}
-  ~vtkImageFFT() {}
+  ~vtkImageFFT()VTK_OVERRIDE {}
 
-  virtual int IterativeRequestInformation(vtkInformation* in,
-                                          vtkInformation* out);
-  virtual int IterativeRequestUpdateExtent(vtkInformation* in,
-                                           vtkInformation* out);
+  int IterativeRequestInformation(vtkInformation* in,
+                                          vtkInformation* out) VTK_OVERRIDE;
+  int IterativeRequestUpdateExtent(vtkInformation* in,
+                                           vtkInformation* out) VTK_OVERRIDE;
 
-  virtual void ThreadedRequestData(
+  void ThreadedRequestData(
     vtkInformation* vtkNotUsed( request ),
     vtkInformationVector** inputVector,
     vtkInformationVector* vtkNotUsed( outputVector ),
     vtkImageData ***inDataVec,
     vtkImageData **outDataVec,
     int outExt[6],
-    int threadId);
+    int threadId) VTK_OVERRIDE;
 private:
   vtkImageFFT(const vtkImageFFT&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageFFT&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Fourier/vtkImageFourierCenter.h b/Imaging/Fourier/vtkImageFourierCenter.h
index 3134f4f740..f8cff9e290 100644
--- a/Imaging/Fourier/vtkImageFourierCenter.h
+++ b/Imaging/Fourier/vtkImageFourierCenter.h
@@ -38,19 +38,19 @@ public:
 
 protected:
   vtkImageFourierCenter();
-  ~vtkImageFourierCenter() {}
+  ~vtkImageFourierCenter()VTK_OVERRIDE {}
 
-  virtual int IterativeRequestUpdateExtent(vtkInformation* in,
-                                           vtkInformation* out);
+  int IterativeRequestUpdateExtent(vtkInformation* in,
+                                           vtkInformation* out) VTK_OVERRIDE;
 
-  virtual void ThreadedRequestData(
+  void ThreadedRequestData(
     vtkInformation* vtkNotUsed( request ),
     vtkInformationVector** vtkNotUsed( inputVector ),
     vtkInformationVector* outputVector,
     vtkImageData ***inDataVec,
     vtkImageData **outDataVec,
     int outExt[6],
-    int threadId);
+    int threadId) VTK_OVERRIDE;
 private:
   vtkImageFourierCenter(const vtkImageFourierCenter&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageFourierCenter&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Fourier/vtkImageFourierFilter.h b/Imaging/Fourier/vtkImageFourierFilter.h
index 2270ed7c14..43d17ee0f8 100644
--- a/Imaging/Fourier/vtkImageFourierFilter.h
+++ b/Imaging/Fourier/vtkImageFourierFilter.h
@@ -110,7 +110,7 @@ public:
 
 protected:
   vtkImageFourierFilter() {}
-  ~vtkImageFourierFilter() {}
+  ~vtkImageFourierFilter()VTK_OVERRIDE {}
 
   void ExecuteFftStep2(vtkImageComplex *p_in, vtkImageComplex *p_out,
                        int N, int bsize, int fb);
@@ -124,7 +124,7 @@ protected:
    */
   int RequestData(vtkInformation* request,
                   vtkInformationVector** inputVector,
-                  vtkInformationVector* outputVector);
+                  vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 private:
   vtkImageFourierFilter(const vtkImageFourierFilter&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Fourier/vtkImageIdealHighPass.h b/Imaging/Fourier/vtkImageIdealHighPass.h
index 661266b974..b385438e8d 100644
--- a/Imaging/Fourier/vtkImageIdealHighPass.h
+++ b/Imaging/Fourier/vtkImageIdealHighPass.h
@@ -40,7 +40,7 @@ class VTKIMAGINGFOURIER_EXPORT vtkImageIdealHighPass : public vtkThreadedImageAl
 public:
   static vtkImageIdealHighPass *New();
   vtkTypeMacro(vtkImageIdealHighPass,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -61,7 +61,7 @@ public:
 
 protected:
   vtkImageIdealHighPass();
-  ~vtkImageIdealHighPass() {}
+  ~vtkImageIdealHighPass()VTK_OVERRIDE {}
 
   double CutOff[3];
 
@@ -69,7 +69,7 @@ protected:
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int outExt[6], int id);
+                           int outExt[6], int id) VTK_OVERRIDE;
 private:
   vtkImageIdealHighPass(const vtkImageIdealHighPass&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageIdealHighPass&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Fourier/vtkImageIdealLowPass.h b/Imaging/Fourier/vtkImageIdealLowPass.h
index 90f30eae48..bea6717fb9 100644
--- a/Imaging/Fourier/vtkImageIdealLowPass.h
+++ b/Imaging/Fourier/vtkImageIdealLowPass.h
@@ -40,7 +40,7 @@ class VTKIMAGINGFOURIER_EXPORT vtkImageIdealLowPass : public vtkThreadedImageAlg
 public:
   static vtkImageIdealLowPass *New();
   vtkTypeMacro(vtkImageIdealLowPass,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -61,7 +61,7 @@ public:
 
 protected:
   vtkImageIdealLowPass();
-  ~vtkImageIdealLowPass() {}
+  ~vtkImageIdealLowPass()VTK_OVERRIDE {}
 
   double CutOff[3];
 
@@ -69,7 +69,7 @@ protected:
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int outExt[6], int id);
+                           int outExt[6], int id) VTK_OVERRIDE;
 private:
   vtkImageIdealLowPass(const vtkImageIdealLowPass&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageIdealLowPass&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Fourier/vtkImageRFFT.h b/Imaging/Fourier/vtkImageRFFT.h
index 648308b003..ca3d844812 100644
--- a/Imaging/Fourier/vtkImageRFFT.h
+++ b/Imaging/Fourier/vtkImageRFFT.h
@@ -47,21 +47,21 @@ public:
 
 protected:
   vtkImageRFFT() {}
-  ~vtkImageRFFT() {}
+  ~vtkImageRFFT()VTK_OVERRIDE {}
 
-  virtual int IterativeRequestInformation(vtkInformation* in,
-                                          vtkInformation* out);
-  virtual int IterativeRequestUpdateExtent(vtkInformation* in,
-                                           vtkInformation* out);
+  int IterativeRequestInformation(vtkInformation* in,
+                                          vtkInformation* out) VTK_OVERRIDE;
+  int IterativeRequestUpdateExtent(vtkInformation* in,
+                                           vtkInformation* out) VTK_OVERRIDE;
 
-  virtual void ThreadedRequestData(
+  void ThreadedRequestData(
     vtkInformation* vtkNotUsed( request ),
     vtkInformationVector** inputVector,
     vtkInformationVector* vtkNotUsed( outputVector ),
     vtkImageData ***inDataVec,
     vtkImageData **outDataVec,
     int outExt[6],
-    int threadId);
+    int threadId) VTK_OVERRIDE;
 private:
   vtkImageRFFT(const vtkImageRFFT&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageRFFT&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkImageAnisotropicDiffusion2D.h b/Imaging/General/vtkImageAnisotropicDiffusion2D.h
index bce2747701..1a93ef808e 100644
--- a/Imaging/General/vtkImageAnisotropicDiffusion2D.h
+++ b/Imaging/General/vtkImageAnisotropicDiffusion2D.h
@@ -48,7 +48,7 @@ class VTKIMAGINGGENERAL_EXPORT vtkImageAnisotropicDiffusion2D : public vtkImageS
 public:
   static vtkImageAnisotropicDiffusion2D *New();
   vtkTypeMacro(vtkImageAnisotropicDiffusion2D,vtkImageSpatialAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * This method sets the number of interations which also affects the
@@ -113,7 +113,7 @@ public:
 
 protected:
   vtkImageAnisotropicDiffusion2D();
-  ~vtkImageAnisotropicDiffusion2D() {}
+  ~vtkImageAnisotropicDiffusion2D()VTK_OVERRIDE {}
 
   int NumberOfIterations;
   double DiffusionThreshold;
@@ -129,7 +129,7 @@ protected:
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int extent[6], int id);
+                           int extent[6], int id) VTK_OVERRIDE;
   void Iterate(vtkImageData *in, vtkImageData *out,
                double ar0, double ar1, int *coreExtent, int count);
 private:
diff --git a/Imaging/General/vtkImageAnisotropicDiffusion3D.h b/Imaging/General/vtkImageAnisotropicDiffusion3D.h
index 42ea4ef710..b86ddb1bec 100644
--- a/Imaging/General/vtkImageAnisotropicDiffusion3D.h
+++ b/Imaging/General/vtkImageAnisotropicDiffusion3D.h
@@ -50,7 +50,7 @@ class VTKIMAGINGGENERAL_EXPORT vtkImageAnisotropicDiffusion3D : public vtkImageS
 public:
   static vtkImageAnisotropicDiffusion3D *New();
   vtkTypeMacro(vtkImageAnisotropicDiffusion3D,vtkImageSpatialAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 
   /**
@@ -114,7 +114,7 @@ public:
 
 protected:
   vtkImageAnisotropicDiffusion3D();
-  ~vtkImageAnisotropicDiffusion3D() {}
+  ~vtkImageAnisotropicDiffusion3D()VTK_OVERRIDE {}
 
   int NumberOfIterations;
   double DiffusionThreshold;
@@ -130,7 +130,7 @@ protected:
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int extent[6], int id);
+                           int extent[6], int id) VTK_OVERRIDE;
   void Iterate(vtkImageData *in, vtkImageData *out,
                double ar0, double ar1, double ar3, int *coreExtent, int count);
 private:
diff --git a/Imaging/General/vtkImageCheckerboard.h b/Imaging/General/vtkImageCheckerboard.h
index 8c15dcb5a8..7d67526a24 100644
--- a/Imaging/General/vtkImageCheckerboard.h
+++ b/Imaging/General/vtkImageCheckerboard.h
@@ -35,7 +35,7 @@ class VTKIMAGINGGENERAL_EXPORT vtkImageCheckerboard : public vtkThreadedImageAlg
 public:
   static vtkImageCheckerboard *New();
   vtkTypeMacro(vtkImageCheckerboard,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -53,14 +53,14 @@ public:
 
 protected:
   vtkImageCheckerboard();
-  ~vtkImageCheckerboard() {}
+  ~vtkImageCheckerboard()VTK_OVERRIDE {}
 
-  virtual void ThreadedRequestData(vtkInformation *request,
+  void ThreadedRequestData(vtkInformation *request,
                                    vtkInformationVector **inputVector,
                                    vtkInformationVector *outputVector,
                                    vtkImageData ***inData,
                                    vtkImageData **outData,
-                                   int extent[6], int threadId);
+                                   int extent[6], int threadId) VTK_OVERRIDE;
   int NumberOfDivisions[3];
 private:
   vtkImageCheckerboard(const vtkImageCheckerboard&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkImageCityBlockDistance.h b/Imaging/General/vtkImageCityBlockDistance.h
index 2323ebdb56..095e12be95 100644
--- a/Imaging/General/vtkImageCityBlockDistance.h
+++ b/Imaging/General/vtkImageCityBlockDistance.h
@@ -44,13 +44,13 @@ public:
 
 protected:
   vtkImageCityBlockDistance();
-  ~vtkImageCityBlockDistance() {}
+  ~vtkImageCityBlockDistance()VTK_OVERRIDE {}
 
-  virtual int IterativeRequestUpdateExtent(vtkInformation* in,
-                                           vtkInformation* out);
-  virtual int IterativeRequestData(vtkInformation*,
+  int IterativeRequestUpdateExtent(vtkInformation* in,
+                                           vtkInformation* out) VTK_OVERRIDE;
+  int IterativeRequestData(vtkInformation*,
                                     vtkInformationVector**,
-                                    vtkInformationVector*);
+                                    vtkInformationVector*) VTK_OVERRIDE;
 
   void AllocateOutputScalars(vtkImageData *outData,
                              int* updateExtent,
diff --git a/Imaging/General/vtkImageConvolve.h b/Imaging/General/vtkImageConvolve.h
index 8a5536a954..67bfc03b48 100644
--- a/Imaging/General/vtkImageConvolve.h
+++ b/Imaging/General/vtkImageConvolve.h
@@ -36,7 +36,7 @@ public:
    */
   static vtkImageConvolve *New();
   vtkTypeMacro(vtkImageConvolve,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -92,13 +92,13 @@ public:
 
 protected:
   vtkImageConvolve();
-  ~vtkImageConvolve();
+  ~vtkImageConvolve() VTK_OVERRIDE;
 
   void ThreadedRequestData(vtkInformation *request,
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int outExt[6], int id);
+                           int outExt[6], int id) VTK_OVERRIDE;
 
   void GetKernel(double *kernel);
   double* GetKernel();
diff --git a/Imaging/General/vtkImageCorrelation.h b/Imaging/General/vtkImageCorrelation.h
index dc6c67fecf..e902355f1e 100644
--- a/Imaging/General/vtkImageCorrelation.h
+++ b/Imaging/General/vtkImageCorrelation.h
@@ -37,7 +37,7 @@ class VTKIMAGINGGENERAL_EXPORT vtkImageCorrelation : public vtkThreadedImageAlgo
 public:
   static vtkImageCorrelation *New();
   vtkTypeMacro(vtkImageCorrelation,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -60,22 +60,22 @@ public:
 
 protected:
   vtkImageCorrelation();
-  ~vtkImageCorrelation() {}
+  ~vtkImageCorrelation()VTK_OVERRIDE {}
 
   int Dimensionality;
-  virtual int RequestInformation (vtkInformation *,
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation*,
+                                  vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation*,
                                    vtkInformationVector**,
-                                   vtkInformationVector*);
+                                   vtkInformationVector*) VTK_OVERRIDE;
 
-  virtual void ThreadedRequestData(vtkInformation *request,
+  void ThreadedRequestData(vtkInformation *request,
                                    vtkInformationVector **inputVector,
                                    vtkInformationVector *outputVector,
                                    vtkImageData ***inData,
                                    vtkImageData **outData,
-                                   int extent[6], int threadId);
+                                   int extent[6], int threadId) VTK_OVERRIDE;
 
 private:
   vtkImageCorrelation(const vtkImageCorrelation&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkImageEuclideanDistance.h b/Imaging/General/vtkImageEuclideanDistance.h
index 014fcad744..26102f0232 100644
--- a/Imaging/General/vtkImageEuclideanDistance.h
+++ b/Imaging/General/vtkImageEuclideanDistance.h
@@ -56,7 +56,7 @@ class VTKIMAGINGGENERAL_EXPORT vtkImageEuclideanDistance : public vtkImageDecomp
 public:
   static vtkImageEuclideanDistance *New();
   vtkTypeMacro(vtkImageEuclideanDistance,vtkImageDecomposeFilter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -104,13 +104,13 @@ public:
     { this->SetAlgorithm(VTK_EDT_SAITO_CACHED); }
   //@}
 
-  virtual int IterativeRequestData(vtkInformation*,
+  int IterativeRequestData(vtkInformation*,
                                    vtkInformationVector**,
-                                   vtkInformationVector*);
+                                   vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   vtkImageEuclideanDistance();
-  ~vtkImageEuclideanDistance() {}
+  ~vtkImageEuclideanDistance()VTK_OVERRIDE {}
 
   double MaximumDistance;
   int Initialize;
@@ -122,10 +122,10 @@ protected:
                                      int outExt[6],
                                      vtkInformation* outInfo);
 
-  virtual int IterativeRequestInformation(vtkInformation* in,
-                                          vtkInformation* out);
-  virtual int IterativeRequestUpdateExtent(vtkInformation* in,
-                                           vtkInformation* out);
+  int IterativeRequestInformation(vtkInformation* in,
+                                          vtkInformation* out) VTK_OVERRIDE;
+  int IterativeRequestUpdateExtent(vtkInformation* in,
+                                           vtkInformation* out) VTK_OVERRIDE;
 
 private:
   vtkImageEuclideanDistance(const vtkImageEuclideanDistance&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkImageEuclideanToPolar.h b/Imaging/General/vtkImageEuclideanToPolar.h
index 6746319584..7138ae1521 100644
--- a/Imaging/General/vtkImageEuclideanToPolar.h
+++ b/Imaging/General/vtkImageEuclideanToPolar.h
@@ -33,7 +33,7 @@ public:
   static vtkImageEuclideanToPolar *New();
   vtkTypeMacro(vtkImageEuclideanToPolar,
                        vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -47,12 +47,12 @@ public:
 
 protected:
   vtkImageEuclideanToPolar();
-  ~vtkImageEuclideanToPolar() {}
+  ~vtkImageEuclideanToPolar()VTK_OVERRIDE {}
 
   double ThetaMaximum;
 
   void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
-                       int ext[6], int id);
+                       int ext[6], int id) VTK_OVERRIDE;
 private:
   vtkImageEuclideanToPolar(const vtkImageEuclideanToPolar&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageEuclideanToPolar&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkImageGaussianSmooth.h b/Imaging/General/vtkImageGaussianSmooth.h
index 810adc6d2c..dffa44ffe3 100644
--- a/Imaging/General/vtkImageGaussianSmooth.h
+++ b/Imaging/General/vtkImageGaussianSmooth.h
@@ -31,7 +31,7 @@ class VTKIMAGINGGENERAL_EXPORT vtkImageGaussianSmooth : public vtkThreadedImageA
 {
 public:
   vtkTypeMacro(vtkImageGaussianSmooth,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates an instance of vtkImageGaussianSmooth with the following
@@ -86,14 +86,14 @@ public:
 
 protected:
   vtkImageGaussianSmooth();
-  ~vtkImageGaussianSmooth();
+  ~vtkImageGaussianSmooth() VTK_OVERRIDE;
 
   int Dimensionality;
   double StandardDeviations[3];
   double RadiusFactors[3];
 
   void ComputeKernel(double *kernel, int min, int max, double std);
-  virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   void InternalRequestUpdateExtent(int *, int*);
   void ExecuteAxis(int axis, vtkImageData *inData, int inExt[6],
                    vtkImageData *outData, int outExt[6],
@@ -103,7 +103,7 @@ protected:
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int outExt[6], int id);
+                           int outExt[6], int id) VTK_OVERRIDE;
 
 private:
   vtkImageGaussianSmooth(const vtkImageGaussianSmooth&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkImageGradient.h b/Imaging/General/vtkImageGradient.h
index ff8acceec2..df5c04a99f 100644
--- a/Imaging/General/vtkImageGradient.h
+++ b/Imaging/General/vtkImageGradient.h
@@ -34,7 +34,7 @@ class VTKIMAGINGGENERAL_EXPORT vtkImageGradient : public vtkThreadedImageAlgorit
 public:
   static vtkImageGradient *New();
   vtkTypeMacro(vtkImageGradient,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -58,20 +58,20 @@ public:
 
 protected:
   vtkImageGradient();
-  ~vtkImageGradient() {}
+  ~vtkImageGradient()VTK_OVERRIDE {}
 
   int HandleBoundaries;
   int Dimensionality;
 
-  virtual int RequestInformation (vtkInformation*,
+  int RequestInformation (vtkInformation*,
                                   vtkInformationVector**,
-                                  vtkInformationVector*);
-  virtual int RequestUpdateExtent(vtkInformation*,
+                                  vtkInformationVector*) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation*,
                                   vtkInformationVector**,
-                                  vtkInformationVector*);
-  virtual int RequestData(vtkInformation*,
+                                  vtkInformationVector*) VTK_OVERRIDE;
+  int RequestData(vtkInformation*,
                           vtkInformationVector**,
-                          vtkInformationVector*);
+                          vtkInformationVector*) VTK_OVERRIDE;
 
   void ThreadedRequestData(vtkInformation*,
                            vtkInformationVector**,
@@ -79,7 +79,7 @@ protected:
                            vtkImageData*** inData,
                            vtkImageData** outData,
                            int outExt[6],
-                           int threadId);
+                           int threadId) VTK_OVERRIDE;
 private:
   vtkImageGradient(const vtkImageGradient&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageGradient&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkImageGradientMagnitude.h b/Imaging/General/vtkImageGradientMagnitude.h
index 5323cc0497..98968df711 100644
--- a/Imaging/General/vtkImageGradientMagnitude.h
+++ b/Imaging/General/vtkImageGradientMagnitude.h
@@ -37,7 +37,7 @@ class VTKIMAGINGGENERAL_EXPORT vtkImageGradientMagnitude : public vtkThreadedIma
 public:
   static vtkImageGradientMagnitude *New();
   vtkTypeMacro(vtkImageGradientMagnitude,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -59,20 +59,20 @@ public:
 
 protected:
   vtkImageGradientMagnitude();
-  ~vtkImageGradientMagnitude() {}
+  ~vtkImageGradientMagnitude()VTK_OVERRIDE {}
 
   int HandleBoundaries;
   int Dimensionality;
 
-  virtual int RequestInformation (vtkInformation*,
+  int RequestInformation (vtkInformation*,
                                   vtkInformationVector**,
-                                  vtkInformationVector*);
-  virtual int RequestUpdateExtent(vtkInformation*,
+                                  vtkInformationVector*) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation*,
                                   vtkInformationVector**,
-                                  vtkInformationVector*);
+                                  vtkInformationVector*) VTK_OVERRIDE;
 
   void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
-                       int extent[6], int id);
+                       int extent[6], int id) VTK_OVERRIDE;
 private:
   vtkImageGradientMagnitude(const vtkImageGradientMagnitude&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageGradientMagnitude&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkImageHybridMedian2D.h b/Imaging/General/vtkImageHybridMedian2D.h
index 01c23d2891..63a918bcb0 100644
--- a/Imaging/General/vtkImageHybridMedian2D.h
+++ b/Imaging/General/vtkImageHybridMedian2D.h
@@ -39,13 +39,13 @@ public:
 
 protected:
   vtkImageHybridMedian2D();
-  ~vtkImageHybridMedian2D() {}
+  ~vtkImageHybridMedian2D()VTK_OVERRIDE {}
 
   void ThreadedRequestData(vtkInformation *request,
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int outExt[6], int id);
+                           int outExt[6], int id) VTK_OVERRIDE;
 private:
   vtkImageHybridMedian2D(const vtkImageHybridMedian2D&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageHybridMedian2D&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkImageLaplacian.h b/Imaging/General/vtkImageLaplacian.h
index 359363b1ce..c2382769bc 100644
--- a/Imaging/General/vtkImageLaplacian.h
+++ b/Imaging/General/vtkImageLaplacian.h
@@ -36,7 +36,7 @@ class VTKIMAGINGGENERAL_EXPORT vtkImageLaplacian : public vtkThreadedImageAlgori
 public:
   static vtkImageLaplacian *New();
   vtkTypeMacro(vtkImageLaplacian,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -48,17 +48,17 @@ public:
 
 protected:
   vtkImageLaplacian();
-  ~vtkImageLaplacian() {}
+  ~vtkImageLaplacian()VTK_OVERRIDE {}
 
   int Dimensionality;
 
-  virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
+  int RequestUpdateExtent (vtkInformation *, vtkInformationVector **,
+    vtkInformationVector *) VTK_OVERRIDE;
   void ThreadedRequestData(vtkInformation *request,
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int outExt[6], int id);
+                           int outExt[6], int id) VTK_OVERRIDE;
 
 private:
   vtkImageLaplacian(const vtkImageLaplacian&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkImageMedian3D.h b/Imaging/General/vtkImageMedian3D.h
index 856f7b3ef1..691bc95214 100644
--- a/Imaging/General/vtkImageMedian3D.h
+++ b/Imaging/General/vtkImageMedian3D.h
@@ -35,7 +35,7 @@ class VTKIMAGINGGENERAL_EXPORT vtkImageMedian3D : public vtkImageSpatialAlgorith
 public:
   static vtkImageMedian3D *New();
   vtkTypeMacro(vtkImageMedian3D,vtkImageSpatialAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * This method sets the size of the neighborhood.  It also sets the
@@ -52,7 +52,7 @@ public:
 
 protected:
   vtkImageMedian3D();
-  ~vtkImageMedian3D();
+  ~vtkImageMedian3D() VTK_OVERRIDE;
 
   int NumberOfElements;
 
@@ -60,7 +60,7 @@ protected:
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int extent[6], int id);
+                           int extent[6], int id) VTK_OVERRIDE;
 
 private:
   vtkImageMedian3D(const vtkImageMedian3D&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkImageNormalize.h b/Imaging/General/vtkImageNormalize.h
index 301e35ab73..45e2b840d5 100644
--- a/Imaging/General/vtkImageNormalize.h
+++ b/Imaging/General/vtkImageNormalize.h
@@ -36,12 +36,12 @@ public:
 
 protected:
   vtkImageNormalize();
-  ~vtkImageNormalize() {}
+  ~vtkImageNormalize()VTK_OVERRIDE {}
 
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector**, vtkInformationVector *);
+  int RequestInformation (vtkInformation *, vtkInformationVector**, vtkInformationVector *) VTK_OVERRIDE;
 
   void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
-                       int extent[6], int id);
+                       int extent[6], int id) VTK_OVERRIDE;
 private:
   vtkImageNormalize(const vtkImageNormalize&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageNormalize&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkImageRange3D.h b/Imaging/General/vtkImageRange3D.h
index f913395ae2..196c79a5b8 100644
--- a/Imaging/General/vtkImageRange3D.h
+++ b/Imaging/General/vtkImageRange3D.h
@@ -35,7 +35,7 @@ class VTKIMAGINGGENERAL_EXPORT vtkImageRange3D : public vtkImageSpatialAlgorithm
 public:
   static vtkImageRange3D *New();
   vtkTypeMacro(vtkImageRange3D,vtkImageSpatialAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * This method sets the size of the neighborhood.  It also sets the
@@ -45,21 +45,21 @@ public:
 
 protected:
   vtkImageRange3D();
-  ~vtkImageRange3D();
+  ~vtkImageRange3D() VTK_OVERRIDE;
 
   vtkImageEllipsoidSource *Ellipse;
 
-  virtual int RequestInformation (vtkInformation *request,
+  int RequestInformation (vtkInformation *request,
                                   vtkInformationVector **inputVector,
-                                  vtkInformationVector *outputVector);
+                                  vtkInformationVector *outputVector) VTK_OVERRIDE;
   void ThreadedRequestData(vtkInformation *request,
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int extent[6], int id);
-  virtual int RequestData(vtkInformation *request,
+                           int extent[6], int id) VTK_OVERRIDE;
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
 private:
   vtkImageRange3D(const vtkImageRange3D&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkImageSeparableConvolution.h b/Imaging/General/vtkImageSeparableConvolution.h
index 7d5c551258..a2d287b884 100644
--- a/Imaging/General/vtkImageSeparableConvolution.h
+++ b/Imaging/General/vtkImageSeparableConvolution.h
@@ -57,30 +57,30 @@ public:
   virtual void SetZKernel(vtkFloatArray*);
   vtkGetObjectMacro ( ZKernel, vtkFloatArray );
 
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Overload standard modified time function. If kernel arrays are modified,
    * then this object is modified as well.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkImageSeparableConvolution();
-  ~vtkImageSeparableConvolution();
+  ~vtkImageSeparableConvolution() VTK_OVERRIDE;
 
   vtkFloatArray* XKernel;
   vtkFloatArray* YKernel;
   vtkFloatArray* ZKernel;
 
-  virtual int IterativeRequestData(vtkInformation*,
+  int IterativeRequestData(vtkInformation*,
                                    vtkInformationVector**,
-                                   vtkInformationVector*);
+                                   vtkInformationVector*) VTK_OVERRIDE;
 
-  virtual int IterativeRequestInformation(vtkInformation* in,
-                                          vtkInformation* out);
-  virtual int IterativeRequestUpdateExtent(vtkInformation* in,
-                                           vtkInformation* out);
+  int IterativeRequestInformation(vtkInformation* in,
+                                          vtkInformation* out) VTK_OVERRIDE;
+  int IterativeRequestUpdateExtent(vtkInformation* in,
+                                           vtkInformation* out) VTK_OVERRIDE;
 
 private:
   vtkImageSeparableConvolution(const vtkImageSeparableConvolution&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkImageSlab.h b/Imaging/General/vtkImageSlab.h
index d39f9e8023..42de211201 100644
--- a/Imaging/General/vtkImageSlab.h
+++ b/Imaging/General/vtkImageSlab.h
@@ -36,7 +36,7 @@ class VTKIMAGINGGENERAL_EXPORT vtkImageSlab : public vtkThreadedImageAlgorithm
 public:
   static vtkImageSlab *New();
   vtkTypeMacro(vtkImageSlab, vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -123,17 +123,17 @@ public:
 
 protected:
   vtkImageSlab();
-  ~vtkImageSlab();
+  ~vtkImageSlab() VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
-                                 vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
-                                  vtkInformationVector *);
-  virtual void ThreadedRequestData(vtkInformation *request,
+  int RequestInformation(vtkInformation *, vtkInformationVector **,
+                                 vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
+                                  vtkInformationVector *) VTK_OVERRIDE;
+  void ThreadedRequestData(vtkInformation *request,
                                    vtkInformationVector **inputVector,
                                    vtkInformationVector *outputVector,
                                    vtkImageData ***inData,
-                                   vtkImageData **outData, int ext[6], int id);
+                                   vtkImageData **outData, int ext[6], int id) VTK_OVERRIDE;
 
   vtkSetMacro(OutputScalarType, int);
 
diff --git a/Imaging/General/vtkImageSlabReslice.h b/Imaging/General/vtkImageSlabReslice.h
index 56bd1aee16..ac95a270e4 100644
--- a/Imaging/General/vtkImageSlabReslice.h
+++ b/Imaging/General/vtkImageSlabReslice.h
@@ -99,15 +99,15 @@ public:
 
 protected:
   vtkImageSlabReslice();
-  ~vtkImageSlabReslice();
+  ~vtkImageSlabReslice() VTK_OVERRIDE;
 
   /**
    * This method simply calls the superclass method. In addition, it also
    * precomputes the NumBlendSamplePoints based on the SlabThickness and
    * SlabResolution.
    */
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
-                                 vtkInformationVector *);
+  int RequestInformation(vtkInformation *, vtkInformationVector **,
+                                 vtkInformationVector *) VTK_OVERRIDE;
 
   int    BlendMode; // can be MIN, MIP, MAX
   double SlabThickness;
diff --git a/Imaging/General/vtkImageSobel2D.h b/Imaging/General/vtkImageSobel2D.h
index e881560c06..9d2d222ea1 100644
--- a/Imaging/General/vtkImageSobel2D.h
+++ b/Imaging/General/vtkImageSobel2D.h
@@ -33,20 +33,20 @@ class VTKIMAGINGGENERAL_EXPORT vtkImageSobel2D : public vtkImageSpatialAlgorithm
 public:
   static vtkImageSobel2D *New();
   vtkTypeMacro(vtkImageSobel2D,vtkImageSpatialAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkImageSobel2D();
-  ~vtkImageSobel2D() {}
+  ~vtkImageSobel2D()VTK_OVERRIDE {}
 
   void ThreadedRequestData(vtkInformation *request,
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int outExt[6], int id);
-  virtual int RequestInformation (vtkInformation *request,
+                           int outExt[6], int id) VTK_OVERRIDE;
+  int RequestInformation (vtkInformation *request,
                                   vtkInformationVector **inputVector,
-                                  vtkInformationVector *outputVector);
+                                  vtkInformationVector *outputVector) VTK_OVERRIDE;
 
 private:
   vtkImageSobel2D(const vtkImageSobel2D&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkImageSobel3D.h b/Imaging/General/vtkImageSobel3D.h
index fe29b44dc7..87364ad02c 100644
--- a/Imaging/General/vtkImageSobel3D.h
+++ b/Imaging/General/vtkImageSobel3D.h
@@ -34,20 +34,20 @@ class VTKIMAGINGGENERAL_EXPORT vtkImageSobel3D : public vtkImageSpatialAlgorithm
 public:
   static vtkImageSobel3D *New();
   vtkTypeMacro(vtkImageSobel3D,vtkImageSpatialAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkImageSobel3D();
-  ~vtkImageSobel3D() {}
+  ~vtkImageSobel3D()VTK_OVERRIDE {}
 
   void ThreadedRequestData(vtkInformation *request,
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int outExt[6], int id);
-  virtual int RequestInformation (vtkInformation *request,
+                           int outExt[6], int id) VTK_OVERRIDE;
+  int RequestInformation (vtkInformation *request,
                                   vtkInformationVector **inputVector,
-                                  vtkInformationVector *outputVector);
+                                  vtkInformationVector *outputVector) VTK_OVERRIDE;
 
 private:
   vtkImageSobel3D(const vtkImageSobel3D&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkImageSpatialAlgorithm.h b/Imaging/General/vtkImageSpatialAlgorithm.h
index 64f70c6320..df5d401fda 100644
--- a/Imaging/General/vtkImageSpatialAlgorithm.h
+++ b/Imaging/General/vtkImageSpatialAlgorithm.h
@@ -36,7 +36,7 @@ class VTKIMAGINGGENERAL_EXPORT vtkImageSpatialAlgorithm : public vtkThreadedImag
 public:
   static vtkImageSpatialAlgorithm *New();
   vtkTypeMacro(vtkImageSpatialAlgorithm,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -54,16 +54,16 @@ public:
 
 protected:
   vtkImageSpatialAlgorithm();
-  ~vtkImageSpatialAlgorithm() {}
+  ~vtkImageSpatialAlgorithm()VTK_OVERRIDE {}
 
   int   KernelSize[3];
   int   KernelMiddle[3];      // Index of kernel origin
   int   HandleBoundaries;     // Output shrinks if boundaries aren't handled
 
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   void ComputeOutputWholeExtent(int extent[6], int handleBoundaries);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   void InternalRequestUpdateExtent(int *extent, int *inExtent, int *wholeExtent);
 
 private:
diff --git a/Imaging/General/vtkImageVariance3D.h b/Imaging/General/vtkImageVariance3D.h
index 04c48dbc54..ded359df33 100644
--- a/Imaging/General/vtkImageVariance3D.h
+++ b/Imaging/General/vtkImageVariance3D.h
@@ -38,7 +38,7 @@ class VTKIMAGINGGENERAL_EXPORT vtkImageVariance3D : public vtkImageSpatialAlgori
 public:
   static vtkImageVariance3D *New();
   vtkTypeMacro(vtkImageVariance3D,vtkImageSpatialAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * This method sets the size of the neighborhood.  It also sets the default
@@ -48,22 +48,22 @@ public:
 
 protected:
   vtkImageVariance3D();
-  ~vtkImageVariance3D();
+  ~vtkImageVariance3D() VTK_OVERRIDE;
 
   vtkImageEllipsoidSource *Ellipse;
 
-  virtual int RequestInformation (vtkInformation *request,
+  int RequestInformation (vtkInformation *request,
                                   vtkInformationVector **inputVector,
-                                  vtkInformationVector *outputVector);
+                                  vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   void ThreadedRequestData(vtkInformation *request,
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int extent[6], int id);
-  virtual int RequestData(vtkInformation *request,
+                           int extent[6], int id) VTK_OVERRIDE;
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
 private:
   vtkImageVariance3D(const vtkImageVariance3D&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/General/vtkSimpleImageFilterExample.h b/Imaging/General/vtkSimpleImageFilterExample.h
index 0f23d3aa1e..1ebab108b1 100644
--- a/Imaging/General/vtkSimpleImageFilterExample.h
+++ b/Imaging/General/vtkSimpleImageFilterExample.h
@@ -38,9 +38,9 @@ public:
 protected:
 
   vtkSimpleImageFilterExample() {}
-  ~vtkSimpleImageFilterExample() {}
+  ~vtkSimpleImageFilterExample()VTK_OVERRIDE {}
 
-  virtual void SimpleExecute(vtkImageData* input, vtkImageData* output);
+  void SimpleExecute(vtkImageData* input, vtkImageData* output) VTK_OVERRIDE;
 private:
   vtkSimpleImageFilterExample(const vtkSimpleImageFilterExample&) VTK_DELETE_FUNCTION;
   void operator=(const vtkSimpleImageFilterExample&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Hybrid/vtkBooleanTexture.h b/Imaging/Hybrid/vtkBooleanTexture.h
index ff9b7af543..5f791ba07a 100644
--- a/Imaging/Hybrid/vtkBooleanTexture.h
+++ b/Imaging/Hybrid/vtkBooleanTexture.h
@@ -53,7 +53,7 @@ public:
   static vtkBooleanTexture *New();
 
   vtkTypeMacro(vtkBooleanTexture,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -153,10 +153,10 @@ public:
 
 protected:
   vtkBooleanTexture();
-  ~vtkBooleanTexture() {}
+  ~vtkBooleanTexture() VTK_OVERRIDE {}
 
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector**, vtkInformationVector *);
-  virtual void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation* outInfo);
+  int RequestInformation (vtkInformation *, vtkInformationVector**, vtkInformationVector *) VTK_OVERRIDE;
+  void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation* outInfo) VTK_OVERRIDE;
 
   int XSize;
   int YSize;
diff --git a/Imaging/Hybrid/vtkCheckerboardSplatter.h b/Imaging/Hybrid/vtkCheckerboardSplatter.h
index 94c289a1d8..d840fd470b 100644
--- a/Imaging/Hybrid/vtkCheckerboardSplatter.h
+++ b/Imaging/Hybrid/vtkCheckerboardSplatter.h
@@ -109,7 +109,7 @@ class VTKIMAGINGHYBRID_EXPORT vtkCheckerboardSplatter : public vtkImageAlgorithm
 {
 public:
   vtkTypeMacro(vtkCheckerboardSplatter,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with dimensions=(50,50,50); automatic computation of
@@ -317,15 +317,15 @@ public:
 
 protected:
   vtkCheckerboardSplatter();
-  ~vtkCheckerboardSplatter() {}
+  ~vtkCheckerboardSplatter() VTK_OVERRIDE {}
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
-  virtual int RequestInformation (vtkInformation *,
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
-  virtual int RequestData(vtkInformation *,
+                                  vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   int OutputScalarType; //the type of output scalars
   int SampleDimensions[3]; // dimensions of volume to splat into
diff --git a/Imaging/Hybrid/vtkFastSplatter.h b/Imaging/Hybrid/vtkFastSplatter.h
index d07eb09a24..42cbd20e21 100644
--- a/Imaging/Hybrid/vtkFastSplatter.h
+++ b/Imaging/Hybrid/vtkFastSplatter.h
@@ -53,7 +53,7 @@ class VTKIMAGINGHYBRID_EXPORT vtkFastSplatter : public vtkImageAlgorithm
 public:
   vtkTypeMacro(vtkFastSplatter, vtkImageAlgorithm);
   static vtkFastSplatter *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -118,7 +118,7 @@ public:
 
 protected:
   vtkFastSplatter();
-  virtual ~vtkFastSplatter();
+  ~vtkFastSplatter() VTK_OVERRIDE;
 
   double ModelBounds[6];
   int OutputDimensions[3];
@@ -130,16 +130,16 @@ protected:
 
   vtkImageData *Buckets;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
-  virtual int RequestInformation(vtkInformation *,
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *,
                                  vtkInformationVector **,
-                                 vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation*,
+                                 vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation*,
                                   vtkInformationVector**,
-                                  vtkInformationVector*);
-  virtual int RequestData(vtkInformation *,
+                                  vtkInformationVector*) VTK_OVERRIDE;
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   // Used internally for converting points in world space to indices in
   // the output image.
diff --git a/Imaging/Hybrid/vtkGaussianSplatter.h b/Imaging/Hybrid/vtkGaussianSplatter.h
index 7a462127ee..276f5bbeb3 100644
--- a/Imaging/Hybrid/vtkGaussianSplatter.h
+++ b/Imaging/Hybrid/vtkGaussianSplatter.h
@@ -88,7 +88,7 @@ class VTKIMAGINGHYBRID_EXPORT vtkGaussianSplatter : public vtkImageAlgorithm
 {
 public:
   vtkTypeMacro(vtkGaussianSplatter,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with dimensions=(50,50,50); automatic computation of
@@ -284,15 +284,15 @@ public:
 
 protected:
   vtkGaussianSplatter();
-  ~vtkGaussianSplatter() {}
+  ~vtkGaussianSplatter() VTK_OVERRIDE {}
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
-  virtual int RequestInformation (vtkInformation *,
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
-  virtual int RequestData(vtkInformation *,
+                                  vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
   void Cap(vtkDoubleArray *s);
 
   int SampleDimensions[3]; // dimensions of volume to splat into
diff --git a/Imaging/Hybrid/vtkImageCursor3D.h b/Imaging/Hybrid/vtkImageCursor3D.h
index 16e2b95300..c0cc3e2efe 100644
--- a/Imaging/Hybrid/vtkImageCursor3D.h
+++ b/Imaging/Hybrid/vtkImageCursor3D.h
@@ -30,7 +30,7 @@ class VTKIMAGINGHYBRID_EXPORT vtkImageCursor3D : public vtkImageInPlaceFilter
 public:
   static vtkImageCursor3D *New();
   vtkTypeMacro(vtkImageCursor3D,vtkImageInPlaceFilter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 
   //@{
@@ -61,15 +61,15 @@ public:
 
 protected:
   vtkImageCursor3D();
-  ~vtkImageCursor3D() {}
+  ~vtkImageCursor3D() VTK_OVERRIDE {}
 
   double CursorPosition[3];
   double CursorValue;
   int CursorRadius;
 
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 private:
   vtkImageCursor3D(const vtkImageCursor3D&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Hybrid/vtkImageRectilinearWipe.h b/Imaging/Hybrid/vtkImageRectilinearWipe.h
index b4bf3deb8d..76d89e2250 100644
--- a/Imaging/Hybrid/vtkImageRectilinearWipe.h
+++ b/Imaging/Hybrid/vtkImageRectilinearWipe.h
@@ -63,7 +63,7 @@ class VTKIMAGINGHYBRID_EXPORT vtkImageRectilinearWipe : public vtkThreadedImageA
 public:
   static vtkImageRectilinearWipe *New();
   vtkTypeMacro(vtkImageRectilinearWipe,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -128,14 +128,14 @@ public:
 
 protected:
   vtkImageRectilinearWipe();
-  ~vtkImageRectilinearWipe() {}
+  ~vtkImageRectilinearWipe() VTK_OVERRIDE {}
 
-  virtual void ThreadedRequestData(vtkInformation *request,
+  void ThreadedRequestData(vtkInformation *request,
                                    vtkInformationVector **inputVector,
                                    vtkInformationVector *outputVector,
                                    vtkImageData ***inData,
                                    vtkImageData **outData,
-                                   int extent[6], int threadId);
+                                   int extent[6], int threadId) VTK_OVERRIDE;
 
   int Position[2];
   int Wipe;
diff --git a/Imaging/Hybrid/vtkImageToPoints.h b/Imaging/Hybrid/vtkImageToPoints.h
index 18d842a0de..566caeab3a 100644
--- a/Imaging/Hybrid/vtkImageToPoints.h
+++ b/Imaging/Hybrid/vtkImageToPoints.h
@@ -39,7 +39,7 @@ class VTKIMAGINGHYBRID_EXPORT vtkImageToPoints :
 public:
   static vtkImageToPoints *New();
   vtkTypeMacro(vtkImageToPoints,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -62,22 +62,22 @@ public:
 
 protected:
   vtkImageToPoints();
-  ~vtkImageToPoints();
+  ~vtkImageToPoints() VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation *request,
+  int RequestInformation(vtkInformation *request,
                                  vtkInformationVector **inInfo,
-                                 vtkInformationVector *outInfo);
+                                 vtkInformationVector *outInfo) VTK_OVERRIDE;
 
-  virtual int RequestUpdateExtent(vtkInformation *request,
+  int RequestUpdateExtent(vtkInformation *request,
                                  vtkInformationVector **inInfo,
-                                 vtkInformationVector *outInfo);
+                                 vtkInformationVector *outInfo) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inInfo,
-                          vtkInformationVector *outInfo);
+                          vtkInformationVector *outInfo) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
-  virtual int FillOutputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   int OutputPointsPrecision;
 
diff --git a/Imaging/Hybrid/vtkPointLoad.h b/Imaging/Hybrid/vtkPointLoad.h
index 887b13e96e..18a5abb4ba 100644
--- a/Imaging/Hybrid/vtkPointLoad.h
+++ b/Imaging/Hybrid/vtkPointLoad.h
@@ -37,7 +37,7 @@ class VTKIMAGINGHYBRID_EXPORT vtkPointLoad :  public vtkImageAlgorithm
 {
 public:
   vtkTypeMacro(vtkPointLoad,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct with ModelBounds=(-1,1,-1,1,-1,1), SampleDimensions=(50,50,50),
@@ -96,12 +96,12 @@ public:
 
 protected:
   vtkPointLoad();
-  ~vtkPointLoad() {}
+  ~vtkPointLoad() VTK_OVERRIDE {}
 
-  virtual int RequestInformation (vtkInformation *,
+  int RequestInformation (vtkInformation *,
                                    vtkInformationVector **,
-                                   vtkInformationVector *);
-  virtual void ExecuteDataWithInformation(vtkDataObject *, vtkInformation *);
+                                   vtkInformationVector *) VTK_OVERRIDE;
+  void ExecuteDataWithInformation(vtkDataObject *, vtkInformation *) VTK_OVERRIDE;
 
   double LoadValue;
   double PoissonsRatio;
diff --git a/Imaging/Hybrid/vtkSampleFunction.h b/Imaging/Hybrid/vtkSampleFunction.h
index 77b8385107..6b9012c8b4 100644
--- a/Imaging/Hybrid/vtkSampleFunction.h
+++ b/Imaging/Hybrid/vtkSampleFunction.h
@@ -40,7 +40,7 @@ class VTKIMAGINGHYBRID_EXPORT vtkSampleFunction : public vtkImageAlgorithm
 {
 public:
   vtkTypeMacro(vtkSampleFunction,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct with ModelBounds=(-1,1,-1,1,-1,1), SampleDimensions=(50,50,50),
@@ -158,7 +158,7 @@ public:
   /**
    * Return the MTime also considering the implicit function.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   /**
@@ -170,14 +170,14 @@ protected:
    */
   vtkSampleFunction();
 
-  ~vtkSampleFunction();
+  ~vtkSampleFunction() VTK_OVERRIDE;
 
   void ReportReferences(vtkGarbageCollector*) VTK_OVERRIDE;
 
-  void ExecuteDataWithInformation(vtkDataObject *, vtkInformation *);
-  virtual int RequestInformation (vtkInformation *,
+  void ExecuteDataWithInformation(vtkDataObject *, vtkInformation *) VTK_OVERRIDE;
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
+                                  vtkInformationVector *) VTK_OVERRIDE;
   void Cap(vtkDataArray *s);
 
   int OutputScalarType;
diff --git a/Imaging/Hybrid/vtkShepardMethod.h b/Imaging/Hybrid/vtkShepardMethod.h
index ab998ed0ce..28517e4ea7 100644
--- a/Imaging/Hybrid/vtkShepardMethod.h
+++ b/Imaging/Hybrid/vtkShepardMethod.h
@@ -88,7 +88,7 @@ public:
    * Standard type and print methods.
    */
   vtkTypeMacro(vtkShepardMethod,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -164,19 +164,19 @@ public:
 
 protected:
   vtkShepardMethod();
-  ~vtkShepardMethod() {}
+  ~vtkShepardMethod() VTK_OVERRIDE {}
 
-  virtual int RequestInformation (vtkInformation *,
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
   // see vtkAlgorithm for details
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   int SampleDimensions[3];
   double MaximumDistance;
diff --git a/Imaging/Hybrid/vtkSliceCubes.h b/Imaging/Hybrid/vtkSliceCubes.h
index fda631c9fd..01d156b844 100644
--- a/Imaging/Hybrid/vtkSliceCubes.h
+++ b/Imaging/Hybrid/vtkSliceCubes.h
@@ -59,7 +59,7 @@ class VTKIMAGINGHYBRID_EXPORT vtkSliceCubes : public vtkObject
 public:
   static vtkSliceCubes *New();
   vtkTypeMacro(vtkSliceCubes,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   // methods to make it look like a filter
   void Write() {this->Update();};
@@ -100,7 +100,7 @@ public:
 
 protected:
   vtkSliceCubes();
-  ~vtkSliceCubes();
+  ~vtkSliceCubes() VTK_OVERRIDE;
 
   void Execute();
 
diff --git a/Imaging/Hybrid/vtkSurfaceReconstructionFilter.h b/Imaging/Hybrid/vtkSurfaceReconstructionFilter.h
index 3ec9bde960..6fb0d61fab 100644
--- a/Imaging/Hybrid/vtkSurfaceReconstructionFilter.h
+++ b/Imaging/Hybrid/vtkSurfaceReconstructionFilter.h
@@ -35,7 +35,7 @@ class VTKIMAGINGHYBRID_EXPORT vtkSurfaceReconstructionFilter : public vtkImageAl
 {
 public:
   vtkTypeMacro(vtkSurfaceReconstructionFilter,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct with NeighborhoodSize=20.
@@ -66,19 +66,19 @@ public:
 
 protected:
   vtkSurfaceReconstructionFilter();
-  ~vtkSurfaceReconstructionFilter() {}
+  ~vtkSurfaceReconstructionFilter() VTK_OVERRIDE {}
 
-  virtual int RequestInformation (vtkInformation *,
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
-  virtual int RequestData (vtkInformation *,
+                                  vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData (vtkInformation *,
                            vtkInformationVector **,
-                           vtkInformationVector *);
+                           vtkInformationVector *) VTK_OVERRIDE;
 
   int NeighborhoodSize;
   double SampleSpacing;
 
-  virtual int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
 private:
   vtkSurfaceReconstructionFilter(const vtkSurfaceReconstructionFilter&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Hybrid/vtkTriangularTexture.h b/Imaging/Hybrid/vtkTriangularTexture.h
index 06dd55497a..c84f16a526 100644
--- a/Imaging/Hybrid/vtkTriangularTexture.h
+++ b/Imaging/Hybrid/vtkTriangularTexture.h
@@ -38,7 +38,7 @@ class VTKIMAGINGHYBRID_EXPORT vtkTriangularTexture : public vtkImageAlgorithm
 {
 public:
   vtkTypeMacro(vtkTriangularTexture,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate object with XSize and YSize = 64; the texture pattern =1
@@ -83,10 +83,10 @@ public:
 
 protected:
   vtkTriangularTexture();
-  ~vtkTriangularTexture() {}
+  ~vtkTriangularTexture() VTK_OVERRIDE {}
 
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector**, vtkInformationVector *);
-  virtual void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation *outInfo);
+  int RequestInformation (vtkInformation *, vtkInformationVector**, vtkInformationVector *) VTK_OVERRIDE;
+  void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation *outInfo) VTK_OVERRIDE;
 
   int XSize;
   int YSize;
diff --git a/Imaging/Hybrid/vtkVoxelModeller.h b/Imaging/Hybrid/vtkVoxelModeller.h
index 5806e48990..155a3bddbd 100644
--- a/Imaging/Hybrid/vtkVoxelModeller.h
+++ b/Imaging/Hybrid/vtkVoxelModeller.h
@@ -38,7 +38,7 @@ class VTKIMAGINGHYBRID_EXPORT vtkVoxelModeller : public vtkImageAlgorithm
 {
 public:
   vtkTypeMacro(vtkVoxelModeller,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct an instance of vtkVoxelModeller with its sample dimensions
@@ -127,19 +127,19 @@ public:
 
 protected:
   vtkVoxelModeller();
-  ~vtkVoxelModeller() {}
+  ~vtkVoxelModeller() VTK_OVERRIDE {}
 
-  virtual int RequestInformation (vtkInformation *,
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
   // see vtkAlgorithm for details
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   int SampleDimensions[3];
   double MaximumDistance;
diff --git a/Imaging/Math/vtkImageDivergence.h b/Imaging/Math/vtkImageDivergence.h
index 4f9ff48f95..96c924596b 100644
--- a/Imaging/Math/vtkImageDivergence.h
+++ b/Imaging/Math/vtkImageDivergence.h
@@ -38,16 +38,16 @@ public:
 
 protected:
   vtkImageDivergence();
-  ~vtkImageDivergence() {}
+  ~vtkImageDivergence() VTK_OVERRIDE {}
 
-  virtual int RequestUpdateExtent(vtkInformation*,
+  int RequestUpdateExtent(vtkInformation*,
                                   vtkInformationVector**,
-                                  vtkInformationVector*);
-  virtual int RequestInformation (vtkInformation*,
+                                  vtkInformationVector*) VTK_OVERRIDE;
+  int RequestInformation (vtkInformation*,
                                   vtkInformationVector**,
-                                  vtkInformationVector*);
+                                  vtkInformationVector*) VTK_OVERRIDE;
   void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
-                       int ext[6], int id);
+                       int ext[6], int id) VTK_OVERRIDE;
 
 private:
   vtkImageDivergence(const vtkImageDivergence&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Math/vtkImageDotProduct.h b/Imaging/Math/vtkImageDotProduct.h
index 126fc493dc..d59d0c1074 100644
--- a/Imaging/Math/vtkImageDotProduct.h
+++ b/Imaging/Math/vtkImageDotProduct.h
@@ -42,18 +42,18 @@ public:
 
 protected:
   vtkImageDotProduct();
-  ~vtkImageDotProduct() {}
+  ~vtkImageDotProduct() VTK_OVERRIDE {}
 
-  virtual int RequestInformation (vtkInformation *,
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual void ThreadedRequestData(vtkInformation *request,
+  void ThreadedRequestData(vtkInformation *request,
                                    vtkInformationVector **inputVector,
                                    vtkInformationVector *outputVector,
                                    vtkImageData ***inData,
                                    vtkImageData **outData,
-                                   int extent[6], int threadId);
+                                   int extent[6], int threadId) VTK_OVERRIDE;
 
 private:
   vtkImageDotProduct(const vtkImageDotProduct&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Math/vtkImageLogarithmicScale.h b/Imaging/Math/vtkImageLogarithmicScale.h
index 5b416fe4b1..fed297fda3 100644
--- a/Imaging/Math/vtkImageLogarithmicScale.h
+++ b/Imaging/Math/vtkImageLogarithmicScale.h
@@ -33,7 +33,7 @@ class VTKIMAGINGMATH_EXPORT vtkImageLogarithmicScale : public vtkThreadedImageAl
 public:
   static vtkImageLogarithmicScale *New();
   vtkTypeMacro(vtkImageLogarithmicScale,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -45,12 +45,12 @@ public:
 
 protected:
   vtkImageLogarithmicScale();
-  ~vtkImageLogarithmicScale() {}
+  ~vtkImageLogarithmicScale() VTK_OVERRIDE {}
 
   double Constant;
 
   void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
-                       int outExt[6], int id);
+                       int outExt[6], int id) VTK_OVERRIDE;
 private:
   vtkImageLogarithmicScale(const vtkImageLogarithmicScale&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageLogarithmicScale&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Math/vtkImageLogic.h b/Imaging/Math/vtkImageLogic.h
index afedd23bef..c838a9316e 100644
--- a/Imaging/Math/vtkImageLogic.h
+++ b/Imaging/Math/vtkImageLogic.h
@@ -44,7 +44,7 @@ class VTKIMAGINGMATH_EXPORT vtkImageLogic : public vtkThreadedImageAlgorithm
 public:
   static vtkImageLogic *New();
   vtkTypeMacro(vtkImageLogic,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -80,7 +80,7 @@ public:
 
 protected:
   vtkImageLogic();
-  ~vtkImageLogic() {}
+  ~vtkImageLogic() VTK_OVERRIDE {}
 
   int Operation;
   double OutputTrueValue;
@@ -89,8 +89,8 @@ protected:
                             vtkInformationVector** inputVector,
                             vtkInformationVector* outputVector,
                             vtkImageData ***inData, vtkImageData **outData,
-                            int ext[6], int id);
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+                            int ext[6], int id) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkImageLogic(const vtkImageLogic&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Math/vtkImageMagnitude.h b/Imaging/Math/vtkImageMagnitude.h
index 1295987a7f..0ae46355ef 100644
--- a/Imaging/Math/vtkImageMagnitude.h
+++ b/Imaging/Math/vtkImageMagnitude.h
@@ -34,13 +34,13 @@ public:
 
 protected:
   vtkImageMagnitude();
-  ~vtkImageMagnitude() {}
+  ~vtkImageMagnitude() VTK_OVERRIDE {}
 
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector**,
-                                  vtkInformationVector *);
+  int RequestInformation (vtkInformation *, vtkInformationVector**,
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
   void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
-                        int outExt[6], int id);
+                        int outExt[6], int id) VTK_OVERRIDE;
 
 private:
   vtkImageMagnitude(const vtkImageMagnitude&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Math/vtkImageMaskBits.h b/Imaging/Math/vtkImageMaskBits.h
index f4ed7ffe95..2dad8a863f 100644
--- a/Imaging/Math/vtkImageMaskBits.h
+++ b/Imaging/Math/vtkImageMaskBits.h
@@ -33,7 +33,7 @@ class VTKIMAGINGMATH_EXPORT vtkImageMaskBits : public vtkThreadedImageAlgorithm
 public:
   static vtkImageMaskBits *New();
   vtkTypeMacro(vtkImageMaskBits,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -64,10 +64,10 @@ public:
 
 protected:
   vtkImageMaskBits();
-  ~vtkImageMaskBits() {}
+  ~vtkImageMaskBits() VTK_OVERRIDE {}
 
   void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
-                       int ext[6], int id);
+                       int ext[6], int id) VTK_OVERRIDE;
 
   unsigned int Masks[4];
   int Operation;
diff --git a/Imaging/Math/vtkImageMathematics.h b/Imaging/Math/vtkImageMathematics.h
index 4fdef54a8b..39150c881d 100644
--- a/Imaging/Math/vtkImageMathematics.h
+++ b/Imaging/Math/vtkImageMathematics.h
@@ -57,7 +57,7 @@ class VTKIMAGINGMATH_EXPORT vtkImageMathematics : public vtkThreadedImageAlgorit
 public:
   static vtkImageMathematics *New();
   vtkTypeMacro(vtkImageMathematics,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -216,25 +216,25 @@ public:
 
 protected:
   vtkImageMathematics();
-  ~vtkImageMathematics() {}
+  ~vtkImageMathematics() VTK_OVERRIDE {}
 
   int Operation;
   double ConstantK;
   double ConstantC;
   int DivideByZeroToC;
 
-  virtual int RequestInformation (vtkInformation *,
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual void ThreadedRequestData(vtkInformation *request,
+  void ThreadedRequestData(vtkInformation *request,
                                    vtkInformationVector **inputVector,
                                    vtkInformationVector *outputVector,
                                    vtkImageData ***inData,
                                    vtkImageData **outData,
-                                   int extent[6], int threadId);
+                                   int extent[6], int threadId) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkImageMathematics(const vtkImageMathematics&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Math/vtkImageWeightedSum.h b/Imaging/Math/vtkImageWeightedSum.h
index 5e7dedaf7c..17d56d6476 100644
--- a/Imaging/Math/vtkImageWeightedSum.h
+++ b/Imaging/Math/vtkImageWeightedSum.h
@@ -37,7 +37,7 @@ class VTKIMAGINGMATH_EXPORT vtkImageWeightedSum : public vtkThreadedImageAlgorit
 public:
   static vtkImageWeightedSum *New();
   vtkTypeMacro(vtkImageWeightedSum,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -72,7 +72,7 @@ public:
 
 protected:
   vtkImageWeightedSum();
-  ~vtkImageWeightedSum();
+  ~vtkImageWeightedSum() VTK_OVERRIDE;
 
   // Array to hold all the weights
   vtkDoubleArray *Weights;
@@ -82,14 +82,14 @@ protected:
 
   int RequestInformation (vtkInformation * vtkNotUsed(request),
     vtkInformationVector** vtkNotUsed( inputVector ),
-    vtkInformationVector *outputVector);
+    vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   void ThreadedRequestData (vtkInformation* request,
                             vtkInformationVector** inputVector,
                             vtkInformationVector* outputVector,
                             vtkImageData ***inData, vtkImageData **outData,
-                            int ext[6], int id);
-  int FillInputPortInformation(int i, vtkInformation* info);
+                            int ext[6], int id) VTK_OVERRIDE;
+  int FillInputPortInformation(int i, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkImageWeightedSum(const vtkImageWeightedSum&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Morphological/vtkImageConnectivityFilter.h b/Imaging/Morphological/vtkImageConnectivityFilter.h
index 90650fd94e..47fe1f8952 100644
--- a/Imaging/Morphological/vtkImageConnectivityFilter.h
+++ b/Imaging/Morphological/vtkImageConnectivityFilter.h
@@ -108,7 +108,7 @@ class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageConnectivityFilter :
 public:
   static vtkImageConnectivityFilter *New();
   vtkTypeMacro(vtkImageConnectivityFilter, vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Enum constants for SetLabelMode().
@@ -295,7 +295,7 @@ public:
 
 protected:
   vtkImageConnectivityFilter();
-  ~vtkImageConnectivityFilter();
+  ~vtkImageConnectivityFilter() VTK_OVERRIDE;
 
   int LabelMode;
   int ExtractionMode;
@@ -314,13 +314,13 @@ protected:
 
   void ComputeInputUpdateExtent(int inExt[6], int outExt[6]);
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
-  virtual int RequestInformation(
-    vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestUpdateExtent(
-    vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestData(
-    vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int RequestInformation(
+    vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(
+    vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(
+    vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkImageConnectivityFilter(const vtkImageConnectivityFilter&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Morphological/vtkImageConnector.h b/Imaging/Morphological/vtkImageConnector.h
index 24d108dccd..8d6064932b 100644
--- a/Imaging/Morphological/vtkImageConnector.h
+++ b/Imaging/Morphological/vtkImageConnector.h
@@ -53,7 +53,7 @@ public:
   static vtkImageConnector *New();
 
   vtkTypeMacro(vtkImageConnector,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkImageConnectorSeed *NewSeed(int index[3], void *ptr);
   void AddSeed(vtkImageConnectorSeed *seed);
@@ -82,7 +82,7 @@ public:
 
 protected:
   vtkImageConnector();
-  ~vtkImageConnector();
+  ~vtkImageConnector() VTK_OVERRIDE;
 
   unsigned char ConnectedValue;
   unsigned char UnconnectedValue;
diff --git a/Imaging/Morphological/vtkImageContinuousDilate3D.h b/Imaging/Morphological/vtkImageContinuousDilate3D.h
index 7e9ce1ee7b..4b59c474c3 100644
--- a/Imaging/Morphological/vtkImageContinuousDilate3D.h
+++ b/Imaging/Morphological/vtkImageContinuousDilate3D.h
@@ -41,7 +41,7 @@ public:
    */
   static vtkImageContinuousDilate3D *New();
   vtkTypeMacro(vtkImageContinuousDilate3D,vtkImageSpatialAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -52,7 +52,7 @@ public:
 
 protected:
   vtkImageContinuousDilate3D();
-  ~vtkImageContinuousDilate3D();
+  ~vtkImageContinuousDilate3D() VTK_OVERRIDE;
 
   vtkImageEllipsoidSource *Ellipse;
 
@@ -60,10 +60,10 @@ protected:
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int extent[6], int id);
-  virtual int RequestData(vtkInformation *request,
+                           int extent[6], int id) VTK_OVERRIDE;
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
 private:
   vtkImageContinuousDilate3D(const vtkImageContinuousDilate3D&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Morphological/vtkImageContinuousErode3D.h b/Imaging/Morphological/vtkImageContinuousErode3D.h
index 97900f04e3..e7735ef311 100644
--- a/Imaging/Morphological/vtkImageContinuousErode3D.h
+++ b/Imaging/Morphological/vtkImageContinuousErode3D.h
@@ -40,7 +40,7 @@ public:
    */
   static vtkImageContinuousErode3D *New();
   vtkTypeMacro(vtkImageContinuousErode3D,vtkImageSpatialAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -51,7 +51,7 @@ public:
 
 protected:
   vtkImageContinuousErode3D();
-  ~vtkImageContinuousErode3D();
+  ~vtkImageContinuousErode3D() VTK_OVERRIDE;
 
   vtkImageEllipsoidSource *Ellipse;
 
@@ -59,10 +59,10 @@ protected:
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int extent[6], int id);
-  virtual int RequestData(vtkInformation *request,
+                           int extent[6], int id) VTK_OVERRIDE;
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
 private:
   vtkImageContinuousErode3D(const vtkImageContinuousErode3D&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Morphological/vtkImageDilateErode3D.h b/Imaging/Morphological/vtkImageDilateErode3D.h
index 957357d517..505fba1f47 100644
--- a/Imaging/Morphological/vtkImageDilateErode3D.h
+++ b/Imaging/Morphological/vtkImageDilateErode3D.h
@@ -42,7 +42,7 @@ public:
    */
   static vtkImageDilateErode3D *New();
   vtkTypeMacro(vtkImageDilateErode3D,vtkImageSpatialAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -64,7 +64,7 @@ public:
 
 protected:
   vtkImageDilateErode3D();
-  ~vtkImageDilateErode3D();
+  ~vtkImageDilateErode3D() VTK_OVERRIDE;
 
   vtkImageEllipsoidSource *Ellipse;
   double DilateValue;
@@ -74,10 +74,10 @@ protected:
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int extent[6], int id);
-  virtual int RequestData(vtkInformation *request,
+                           int extent[6], int id) VTK_OVERRIDE;
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
 private:
   vtkImageDilateErode3D(const vtkImageDilateErode3D&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Morphological/vtkImageIslandRemoval2D.h b/Imaging/Morphological/vtkImageIslandRemoval2D.h
index b4c9fceffb..d4557b3fdc 100644
--- a/Imaging/Morphological/vtkImageIslandRemoval2D.h
+++ b/Imaging/Morphological/vtkImageIslandRemoval2D.h
@@ -45,7 +45,7 @@ public:
    */
   static vtkImageIslandRemoval2D *New();
   vtkTypeMacro(vtkImageIslandRemoval2D,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -83,16 +83,16 @@ public:
 
 protected:
   vtkImageIslandRemoval2D();
-  ~vtkImageIslandRemoval2D() {}
+  ~vtkImageIslandRemoval2D()VTK_OVERRIDE {}
 
   int AreaThreshold;
   int SquareNeighborhood;
   double IslandValue;
   double ReplaceValue;
 
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkImageIslandRemoval2D(const vtkImageIslandRemoval2D&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Morphological/vtkImageNonMaximumSuppression.h b/Imaging/Morphological/vtkImageNonMaximumSuppression.h
index d5ba88d0c1..83de2c80b4 100644
--- a/Imaging/Morphological/vtkImageNonMaximumSuppression.h
+++ b/Imaging/Morphological/vtkImageNonMaximumSuppression.h
@@ -39,7 +39,7 @@ class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageNonMaximumSuppression : public vtkT
 public:
   static vtkImageNonMaximumSuppression *New();
   vtkTypeMacro(vtkImageNonMaximumSuppression,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -69,25 +69,25 @@ public:
 
 protected:
   vtkImageNonMaximumSuppression();
-  ~vtkImageNonMaximumSuppression() {}
+  ~vtkImageNonMaximumSuppression()VTK_OVERRIDE {}
 
   int HandleBoundaries;
   int Dimensionality;
 
-  virtual int RequestInformation (vtkInformation *,
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int RequestUpdateExtent(vtkInformation*,
+  int RequestUpdateExtent(vtkInformation*,
                                   vtkInformationVector**,
-                                  vtkInformationVector*);
+                                  vtkInformationVector*) VTK_OVERRIDE;
 
-  virtual void ThreadedRequestData(vtkInformation *request,
+  void ThreadedRequestData(vtkInformation *request,
                                    vtkInformationVector **inputVector,
                                    vtkInformationVector *outputVector,
                                    vtkImageData ***inData,
                                    vtkImageData **outData,
-                                   int extent[6], int threadId);
+                                   int extent[6], int threadId) VTK_OVERRIDE;
 
 private:
   vtkImageNonMaximumSuppression(const vtkImageNonMaximumSuppression&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Morphological/vtkImageOpenClose3D.h b/Imaging/Morphological/vtkImageOpenClose3D.h
index f72ae7893e..b53288de05 100644
--- a/Imaging/Morphological/vtkImageOpenClose3D.h
+++ b/Imaging/Morphological/vtkImageOpenClose3D.h
@@ -48,27 +48,27 @@ public:
    */
   static vtkImageOpenClose3D *New();
   vtkTypeMacro(vtkImageOpenClose3D,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * This method considers the sub filters MTimes when computing this objects
    * modified time.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
    * Turn debugging output on. (in sub filters also)
    */
-  void DebugOn();
-  void DebugOff();
+  void DebugOn() VTK_OVERRIDE;
+  void DebugOff() VTK_OVERRIDE;
   //@}
 
   /**
    * Pass modified message to sub filters.
    */
-  void Modified();
+  void Modified() VTK_OVERRIDE;
 
   // Forward Source messages to filter1
 
@@ -106,23 +106,23 @@ public:
   /**
    * see vtkAlgorithm for details
    */
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   /**
    * Override to send the request to internal pipeline.
    */
-  virtual int
+  int
   ComputePipelineMTime(vtkInformation* request,
                        vtkInformationVector** inInfoVec,
                        vtkInformationVector* outInfoVec,
                        int requestFromOutputPort,
-                       vtkMTimeType* mtime);
+                       vtkMTimeType* mtime) VTK_OVERRIDE;
 
 protected:
   vtkImageOpenClose3D();
-  ~vtkImageOpenClose3D();
+  ~vtkImageOpenClose3D() VTK_OVERRIDE;
 
   vtkImageDilateErode3D *Filter0;
   vtkImageDilateErode3D *Filter1;
diff --git a/Imaging/Morphological/vtkImageSeedConnectivity.h b/Imaging/Morphological/vtkImageSeedConnectivity.h
index 1107a01de4..396c1c6d34 100644
--- a/Imaging/Morphological/vtkImageSeedConnectivity.h
+++ b/Imaging/Morphological/vtkImageSeedConnectivity.h
@@ -42,7 +42,7 @@ class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageSeedConnectivity : public vtkImageA
 public:
   static vtkImageSeedConnectivity *New();
   vtkTypeMacro(vtkImageSeedConnectivity,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -95,7 +95,7 @@ public:
 
 protected:
   vtkImageSeedConnectivity();
-  ~vtkImageSeedConnectivity();
+  ~vtkImageSeedConnectivity() VTK_OVERRIDE;
 
   unsigned char InputConnectValue;
   unsigned char OutputConnectedValue;
@@ -104,8 +104,8 @@ protected:
   vtkImageConnector *Connector;
   int Dimensionality;
 
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkImageSeedConnectivity(const vtkImageSeedConnectivity&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Morphological/vtkImageSkeleton2D.h b/Imaging/Morphological/vtkImageSkeleton2D.h
index abbc3cc718..94c7b4263d 100644
--- a/Imaging/Morphological/vtkImageSkeleton2D.h
+++ b/Imaging/Morphological/vtkImageSkeleton2D.h
@@ -38,7 +38,7 @@ class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageSkeleton2D : public vtkImageIterate
 public:
   static vtkImageSkeleton2D *New();
   vtkTypeMacro(vtkImageSkeleton2D,vtkImageIterateFilter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -52,16 +52,16 @@ public:
   /**
    * Sets the number of cycles in the erosion.
    */
-  void SetNumberOfIterations(int num);
+  void SetNumberOfIterations(int num) VTK_OVERRIDE;
 
 protected:
   vtkImageSkeleton2D();
-  ~vtkImageSkeleton2D() {}
+  ~vtkImageSkeleton2D()VTK_OVERRIDE {}
 
   int Prune;
 
-  virtual int IterativeRequestUpdateExtent(vtkInformation* in,
-                                           vtkInformation* out);
+  int IterativeRequestUpdateExtent(vtkInformation* in,
+                                           vtkInformation* out) VTK_OVERRIDE;
   void ThreadedRequestData(
     vtkInformation* request,
     vtkInformationVector** inputVector,
@@ -69,7 +69,7 @@ protected:
     vtkImageData ***inDataV,
     vtkImageData **outDataV,
     int outExt[6],
-    int id);
+    int id) VTK_OVERRIDE;
 private:
   vtkImageSkeleton2D(const vtkImageSkeleton2D&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageSkeleton2D&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Morphological/vtkImageThresholdConnectivity.h b/Imaging/Morphological/vtkImageThresholdConnectivity.h
index a5fcd78973..23f275f6df 100644
--- a/Imaging/Morphological/vtkImageThresholdConnectivity.h
+++ b/Imaging/Morphological/vtkImageThresholdConnectivity.h
@@ -46,7 +46,7 @@ class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageThresholdConnectivity :
 public:
   static vtkImageThresholdConnectivity *New();
   vtkTypeMacro(vtkImageThresholdConnectivity, vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -168,7 +168,7 @@ public:
   /**
    * Override the MTime to account for the seed points.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -180,7 +180,7 @@ public:
 
 protected:
   vtkImageThresholdConnectivity();
-  ~vtkImageThresholdConnectivity();
+  ~vtkImageThresholdConnectivity() VTK_OVERRIDE;
 
   double UpperThreshold;
   double LowerThreshold;
@@ -206,11 +206,11 @@ protected:
 
   void ComputeInputUpdateExtent(int inExt[6], int outExt[6]);
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
-                                  vtkInformationVector *);
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
+                                  vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkImageThresholdConnectivity(const vtkImageThresholdConnectivity&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Sources/vtkImageCanvasSource2D.h b/Imaging/Sources/vtkImageCanvasSource2D.h
index 15e0044f3a..5eb9158a61 100644
--- a/Imaging/Sources/vtkImageCanvasSource2D.h
+++ b/Imaging/Sources/vtkImageCanvasSource2D.h
@@ -36,7 +36,7 @@ public:
   static vtkImageCanvasSource2D *New();
 
   vtkTypeMacro(vtkImageCanvasSource2D,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -173,7 +173,7 @@ protected:
   // Destructor: Deleting a vtkImageCanvasSource2D automatically deletes the
   // associated vtkImageData.  However, since the data is reference counted,
   // it may not actually be deleted.
-  ~vtkImageCanvasSource2D();
+  ~vtkImageCanvasSource2D() VTK_OVERRIDE;
 
   vtkImageData *ImageData;
   int WholeExtent[6];
@@ -183,12 +183,12 @@ protected:
 
   int ClipSegment(int &a0, int &a1, int &b0, int &b1);
 
-  virtual int RequestInformation (vtkInformation *,
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector**,
-                                  vtkInformationVector *);
-  virtual int RequestData (vtkInformation *,
+                                  vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData (vtkInformation *,
                            vtkInformationVector**,
-                           vtkInformationVector *);
+                           vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkImageCanvasSource2D(const vtkImageCanvasSource2D&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Sources/vtkImageEllipsoidSource.h b/Imaging/Sources/vtkImageEllipsoidSource.h
index 0432ad51b0..f787854b98 100644
--- a/Imaging/Sources/vtkImageEllipsoidSource.h
+++ b/Imaging/Sources/vtkImageEllipsoidSource.h
@@ -32,7 +32,7 @@ class VTKIMAGINGSOURCES_EXPORT vtkImageEllipsoidSource : public vtkImageAlgorith
 public:
   static vtkImageEllipsoidSource *New();
   vtkTypeMacro(vtkImageEllipsoidSource,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -107,7 +107,7 @@ public:
 
 protected:
   vtkImageEllipsoidSource();
-  ~vtkImageEllipsoidSource();
+  ~vtkImageEllipsoidSource() VTK_OVERRIDE;
 
   int WholeExtent[6];
   double Center[3];
@@ -116,12 +116,12 @@ protected:
   double OutValue;
   int OutputScalarType;
 
-  virtual int RequestInformation (vtkInformation *,
+  int RequestInformation (vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
+                                  vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *,
-                          vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *,
+                          vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkImageEllipsoidSource(const vtkImageEllipsoidSource&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Sources/vtkImageGaussianSource.h b/Imaging/Sources/vtkImageGaussianSource.h
index 714a4a51dc..5f6b13f4e9 100644
--- a/Imaging/Sources/vtkImageGaussianSource.h
+++ b/Imaging/Sources/vtkImageGaussianSource.h
@@ -31,7 +31,7 @@ class VTKIMAGINGSOURCES_EXPORT vtkImageGaussianSource : public vtkImageAlgorithm
 public:
   static vtkImageGaussianSource *New();
   vtkTypeMacro(vtkImageGaussianSource,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set/Get the extent of the whole output image.
@@ -65,15 +65,15 @@ public:
 
 protected:
   vtkImageGaussianSource();
-  ~vtkImageGaussianSource() {}
+  ~vtkImageGaussianSource()VTK_OVERRIDE {}
 
   double StandardDeviation;
   int WholeExtent[6];
   double Center[3];
   double Maximum;
 
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector**, vtkInformationVector *);
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestInformation (vtkInformation *, vtkInformationVector**, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 private:
   vtkImageGaussianSource(const vtkImageGaussianSource&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageGaussianSource&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Sources/vtkImageGridSource.h b/Imaging/Sources/vtkImageGridSource.h
index 0f2a75133f..e44b7c4db0 100644
--- a/Imaging/Sources/vtkImageGridSource.h
+++ b/Imaging/Sources/vtkImageGridSource.h
@@ -31,7 +31,7 @@ class VTKIMAGINGSOURCES_EXPORT vtkImageGridSource : public vtkImageAlgorithm
 public:
   static vtkImageGridSource *New();
   vtkTypeMacro(vtkImageGridSource,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -111,7 +111,7 @@ public:
 
 protected:
   vtkImageGridSource();
-  ~vtkImageGridSource() {}
+  ~vtkImageGridSource()VTK_OVERRIDE {}
 
   int GridSpacing[3];
   int GridOrigin[3];
@@ -125,10 +125,10 @@ protected:
   double DataSpacing[3];
   double DataOrigin[3];
 
-  virtual int RequestInformation (vtkInformation*,
+  int RequestInformation (vtkInformation*,
                                   vtkInformationVector**,
-                                  vtkInformationVector*);
-  virtual void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation* outInfo);
+                                  vtkInformationVector*) VTK_OVERRIDE;
+  void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation* outInfo) VTK_OVERRIDE;
 
 private:
   vtkImageGridSource(const vtkImageGridSource&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Sources/vtkImageMandelbrotSource.h b/Imaging/Sources/vtkImageMandelbrotSource.h
index 1d180af850..01d28549fa 100644
--- a/Imaging/Sources/vtkImageMandelbrotSource.h
+++ b/Imaging/Sources/vtkImageMandelbrotSource.h
@@ -38,7 +38,7 @@ class VTKIMAGINGSOURCES_EXPORT vtkImageMandelbrotSource : public vtkImageAlgorit
 public:
   static vtkImageMandelbrotSource *New();
   vtkTypeMacro(vtkImageMandelbrotSource,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -139,7 +139,7 @@ public:
 
 protected:
   vtkImageMandelbrotSource();
-  ~vtkImageMandelbrotSource();
+  ~vtkImageMandelbrotSource() VTK_OVERRIDE;
 
   int ProjectionAxes[3];
 
@@ -162,13 +162,13 @@ protected:
   int SubsampleRate;
 
   // see vtkAlgorithm for details
-  virtual int RequestData(vtkInformation *request,
-                          vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+  int RequestData(vtkInformation *request,
+                  vtkInformationVector** inputVector,
+                  vtkInformationVector* outputVector) VTK_OVERRIDE;
 
-  virtual int RequestInformation (vtkInformation *,
-                                  vtkInformationVector**,
-                                  vtkInformationVector *);
+  int RequestInformation (vtkInformation *,
+                          vtkInformationVector**,
+                          vtkInformationVector *) VTK_OVERRIDE;
   double EvaluateSet(double p[4]);
 private:
   vtkImageMandelbrotSource(const vtkImageMandelbrotSource&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Sources/vtkImageNoiseSource.h b/Imaging/Sources/vtkImageNoiseSource.h
index e1d49db7ef..e3db26afca 100644
--- a/Imaging/Sources/vtkImageNoiseSource.h
+++ b/Imaging/Sources/vtkImageNoiseSource.h
@@ -37,7 +37,7 @@ class VTKIMAGINGSOURCES_EXPORT vtkImageNoiseSource : public vtkImageAlgorithm
 public:
   static vtkImageNoiseSource *New();
   vtkTypeMacro(vtkImageNoiseSource,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -63,14 +63,14 @@ public:
 
 protected:
   vtkImageNoiseSource();
-  ~vtkImageNoiseSource() {}
+  ~vtkImageNoiseSource()VTK_OVERRIDE {}
 
   double Minimum;
   double Maximum;
   int WholeExtent[6];
 
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector**, vtkInformationVector *);
-  virtual void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation* outInfo);
+  int RequestInformation (vtkInformation *, vtkInformationVector**, vtkInformationVector *) VTK_OVERRIDE;
+  void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation* outInfo) VTK_OVERRIDE;
 private:
   vtkImageNoiseSource(const vtkImageNoiseSource&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageNoiseSource&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Sources/vtkImageSinusoidSource.h b/Imaging/Sources/vtkImageSinusoidSource.h
index a8d5c0cb35..fe5d07bc1a 100644
--- a/Imaging/Sources/vtkImageSinusoidSource.h
+++ b/Imaging/Sources/vtkImageSinusoidSource.h
@@ -31,7 +31,7 @@ class VTKIMAGINGSOURCES_EXPORT vtkImageSinusoidSource : public vtkImageAlgorithm
 public:
   static vtkImageSinusoidSource *New();
   vtkTypeMacro(vtkImageSinusoidSource,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set/Get the extent of the whole output image.
@@ -75,7 +75,7 @@ public:
 
 protected:
   vtkImageSinusoidSource();
-  ~vtkImageSinusoidSource() {}
+  ~vtkImageSinusoidSource()VTK_OVERRIDE {}
 
   int WholeExtent[6];
   double Direction[3];
@@ -83,8 +83,8 @@ protected:
   double Phase;
   double Amplitude;
 
-  virtual int RequestInformation (vtkInformation *, vtkInformationVector**, vtkInformationVector *);
-  virtual void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation* outInfo);
+  int RequestInformation (vtkInformation *, vtkInformationVector**, vtkInformationVector *) VTK_OVERRIDE;
+  void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation* outInfo) VTK_OVERRIDE;
 private:
   vtkImageSinusoidSource(const vtkImageSinusoidSource&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageSinusoidSource&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Statistics/vtkImageAccumulate.h b/Imaging/Statistics/vtkImageAccumulate.h
index 9e3b488733..be6cedef29 100644
--- a/Imaging/Statistics/vtkImageAccumulate.h
+++ b/Imaging/Statistics/vtkImageAccumulate.h
@@ -47,7 +47,7 @@ class VTKIMAGINGSTATISTICS_EXPORT vtkImageAccumulate : public vtkImageAlgorithm
 public:
   static vtkImageAccumulate *New();
   vtkTypeMacro(vtkImageAccumulate,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -138,21 +138,21 @@ public:
 
 protected:
   vtkImageAccumulate();
-  ~vtkImageAccumulate();
+  ~vtkImageAccumulate() VTK_OVERRIDE;
 
   double ComponentSpacing[3];
   double ComponentOrigin[3];
   int ComponentExtent[6];
 
-  virtual int RequestUpdateExtent(vtkInformation*,
+  int RequestUpdateExtent(vtkInformation*,
                                    vtkInformationVector**,
-                                   vtkInformationVector*);
-  virtual int RequestInformation (vtkInformation*,
+                                   vtkInformationVector*) VTK_OVERRIDE;
+  int RequestInformation (vtkInformation*,
                                   vtkInformationVector**,
-                                  vtkInformationVector*);
-  virtual int RequestData(vtkInformation* request,
+                                  vtkInformationVector*) VTK_OVERRIDE;
+  int RequestData(vtkInformation* request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   int    IgnoreZero;
   double Min[3];
@@ -163,7 +163,7 @@ protected:
 
   int ReverseStencil;
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkImageAccumulate(const vtkImageAccumulate&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Statistics/vtkImageHistogram.h b/Imaging/Statistics/vtkImageHistogram.h
index 678c5fda29..344cbac461 100644
--- a/Imaging/Statistics/vtkImageHistogram.h
+++ b/Imaging/Statistics/vtkImageHistogram.h
@@ -45,7 +45,7 @@ public:
   static vtkImageHistogram *New();
   vtkTypeMacro(vtkImageHistogram,vtkThreadedImageAlgorithm);
 
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Scale types for the histogram image.
@@ -189,28 +189,28 @@ public:
    * This is part of the executive, but is public so that it can be accessed
    * by non-member functions.
    */
-  virtual void ThreadedRequestData(vtkInformation *request,
+  void ThreadedRequestData(vtkInformation *request,
                                    vtkInformationVector **inputVector,
                                    vtkInformationVector *outputVector,
                                    vtkImageData ***inData,
-                                   vtkImageData **outData, int ext[6], int id);
+                                   vtkImageData **outData, int ext[6], int id) VTK_OVERRIDE;
 
 protected:
   vtkImageHistogram();
-  ~vtkImageHistogram();
+  ~vtkImageHistogram() VTK_OVERRIDE;
 
-  virtual int RequestUpdateExtent(vtkInformation *vtkNotUsed(request),
+  int RequestUpdateExtent(vtkInformation *vtkNotUsed(request),
                                  vtkInformationVector **inInfo,
-                                 vtkInformationVector *vtkNotUsed(outInfo));
-  virtual int RequestInformation(vtkInformation *vtkNotUsed(request),
+                                 vtkInformationVector *vtkNotUsed(outInfo)) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *vtkNotUsed(request),
                                  vtkInformationVector **inInfo,
-                                 vtkInformationVector *vtkNotUsed(outInfo));
-  virtual int RequestData(vtkInformation *,
+                                 vtkInformationVector *vtkNotUsed(outInfo)) VTK_OVERRIDE;
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
-  virtual int FillOutputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   /**
    * Compute the range of the data.  The GetScalarRange() function of
diff --git a/Imaging/Statistics/vtkImageHistogramStatistics.h b/Imaging/Statistics/vtkImageHistogramStatistics.h
index dcce3a9b5c..0a13d33c78 100644
--- a/Imaging/Statistics/vtkImageHistogramStatistics.h
+++ b/Imaging/Statistics/vtkImageHistogramStatistics.h
@@ -44,7 +44,7 @@ public:
   static vtkImageHistogramStatistics *New();
   vtkTypeMacro(vtkImageHistogramStatistics,vtkImageHistogram);
 
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the minimum value present in the image.  This value is computed
@@ -115,11 +115,11 @@ public:
 
 protected:
   vtkImageHistogramStatistics();
-  ~vtkImageHistogramStatistics();
+  ~vtkImageHistogramStatistics() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   double Minimum;
   double Maximum;
diff --git a/Imaging/Stencil/vtkImageStencil.h b/Imaging/Stencil/vtkImageStencil.h
index 99227be0c2..4ffd389b5e 100644
--- a/Imaging/Stencil/vtkImageStencil.h
+++ b/Imaging/Stencil/vtkImageStencil.h
@@ -33,7 +33,7 @@ class VTKIMAGINGSTENCIL_EXPORT vtkImageStencil : public vtkThreadedImageAlgorith
 public:
   static vtkImageStencil *New();
   vtkTypeMacro(vtkImageStencil, vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -93,18 +93,18 @@ public:
 
 protected:
   vtkImageStencil();
-  ~vtkImageStencil();
+  ~vtkImageStencil() VTK_OVERRIDE;
 
   void ThreadedRequestData(vtkInformation *request,
                            vtkInformationVector **inputVector,
                            vtkInformationVector *outputVector,
                            vtkImageData ***inData, vtkImageData **outData,
-                           int extent[6], int id);
+                           int extent[6], int id) VTK_OVERRIDE;
 
   int ReverseStencil;
   double BackgroundColor[4];
 
-  virtual int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
 private:
   vtkImageStencil(const vtkImageStencil&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Stencil/vtkImageStencilToImage.h b/Imaging/Stencil/vtkImageStencilToImage.h
index 7a617ab02c..6d8b0fd64f 100644
--- a/Imaging/Stencil/vtkImageStencilToImage.h
+++ b/Imaging/Stencil/vtkImageStencilToImage.h
@@ -36,7 +36,7 @@ class VTKIMAGINGSTENCIL_EXPORT vtkImageStencilToImage : public vtkImageAlgorithm
 public:
   static vtkImageStencilToImage *New();
   vtkTypeMacro(vtkImageStencilToImage, vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -79,21 +79,21 @@ public:
 
 protected:
   vtkImageStencilToImage();
-  ~vtkImageStencilToImage();
+  ~vtkImageStencilToImage() VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation *,
+  int RequestInformation(vtkInformation *,
                                  vtkInformationVector **,
-                                 vtkInformationVector *);
+                                 vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *,
+  int RequestData(vtkInformation *,
                           vtkInformationVector **,
-                          vtkInformationVector *);
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   double OutsideValue;
   double InsideValue;
   int OutputScalarType;
 
-  virtual int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
 private:
   vtkImageStencilToImage(const vtkImageStencilToImage&) VTK_DELETE_FUNCTION;
diff --git a/Imaging/Stencil/vtkImageToImageStencil.h b/Imaging/Stencil/vtkImageToImageStencil.h
index 8da7019b20..7d363e51fb 100644
--- a/Imaging/Stencil/vtkImageToImageStencil.h
+++ b/Imaging/Stencil/vtkImageToImageStencil.h
@@ -37,7 +37,7 @@ class VTKIMAGINGSTENCIL_EXPORT vtkImageToImageStencil : public vtkImageStencilAl
 public:
   static vtkImageToImageStencil *New();
   vtkTypeMacro(vtkImageToImageStencil, vtkImageStencilAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -74,12 +74,12 @@ public:
 
 protected:
   vtkImageToImageStencil();
-  ~vtkImageToImageStencil();
+  ~vtkImageToImageStencil() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int, vtkInformation*);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   double UpperThreshold;
   double LowerThreshold;
diff --git a/Imaging/Stencil/vtkImplicitFunctionToImageStencil.h b/Imaging/Stencil/vtkImplicitFunctionToImageStencil.h
index 568444e214..23d263a066 100644
--- a/Imaging/Stencil/vtkImplicitFunctionToImageStencil.h
+++ b/Imaging/Stencil/vtkImplicitFunctionToImageStencil.h
@@ -37,7 +37,7 @@ class VTKIMAGINGSTENCIL_EXPORT vtkImplicitFunctionToImageStencil : public vtkIma
 public:
   static vtkImplicitFunctionToImageStencil *New();
   vtkTypeMacro(vtkImplicitFunctionToImageStencil, vtkImageStencilSource);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -58,14 +58,14 @@ public:
   /**
    * Override GetMTime() to account for the implicit function.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkImplicitFunctionToImageStencil();
-  ~vtkImplicitFunctionToImageStencil();
+  ~vtkImplicitFunctionToImageStencil() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   vtkImplicitFunction *Input;
   double Threshold;
diff --git a/Imaging/Stencil/vtkLassoStencilSource.h b/Imaging/Stencil/vtkLassoStencilSource.h
index 88de4492a6..819a9a3a80 100644
--- a/Imaging/Stencil/vtkLassoStencilSource.h
+++ b/Imaging/Stencil/vtkLassoStencilSource.h
@@ -42,7 +42,7 @@ class VTKIMAGINGSTENCIL_EXPORT vtkLassoStencilSource : public vtkImageStencilSou
 public:
   static vtkLassoStencilSource *New();
   vtkTypeMacro(vtkLassoStencilSource, vtkImageStencilSource);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum {
     POLYGON = 0,
@@ -98,14 +98,14 @@ public:
   /**
    * Overload GetMTime() to include the timestamp on the points.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkLassoStencilSource();
-  ~vtkLassoStencilSource();
+  ~vtkLassoStencilSource() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   int Shape;
   int SliceOrientation;
diff --git a/Imaging/Stencil/vtkPolyDataToImageStencil.h b/Imaging/Stencil/vtkPolyDataToImageStencil.h
index 38c25e3adc..4306325c08 100644
--- a/Imaging/Stencil/vtkPolyDataToImageStencil.h
+++ b/Imaging/Stencil/vtkPolyDataToImageStencil.h
@@ -75,7 +75,7 @@ class VTKIMAGINGSTENCIL_EXPORT vtkPolyDataToImageStencil :
 public:
   static vtkPolyDataToImageStencil* New();
   vtkTypeMacro(vtkPolyDataToImageStencil, vtkImageStencilSource);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -99,7 +99,7 @@ public:
 
 protected:
   vtkPolyDataToImageStencil();
-  ~vtkPolyDataToImageStencil();
+  ~vtkPolyDataToImageStencil() VTK_OVERRIDE;
 
   void ThreadedExecute(vtkImageStencilData *output,
                        int extent[6], int threadId);
@@ -110,10 +110,10 @@ protected:
   static void PolyDataSelector(vtkPolyData *input, vtkPolyData *output,
                                double z, double thickness);
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   /**
    * The tolerance distance for favoring the inside of the stencil
diff --git a/Imaging/Stencil/vtkROIStencilSource.h b/Imaging/Stencil/vtkROIStencilSource.h
index e3acd57ff2..f60dbe0ee5 100644
--- a/Imaging/Stencil/vtkROIStencilSource.h
+++ b/Imaging/Stencil/vtkROIStencilSource.h
@@ -38,7 +38,7 @@ class VTKIMAGINGSTENCIL_EXPORT vtkROIStencilSource : public vtkImageStencilSourc
 public:
   static vtkROIStencilSource *New();
   vtkTypeMacro(vtkROIStencilSource, vtkImageStencilSource);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum {
     BOX = 0,
@@ -74,10 +74,10 @@ public:
 
 protected:
   vtkROIStencilSource();
-  ~vtkROIStencilSource();
+  ~vtkROIStencilSource() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **,
-                          vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **,
+                          vtkInformationVector *) VTK_OVERRIDE;
 
   int Shape;
   double Bounds[6];
diff --git a/Infovis/Core/vtkAddMembershipArray.h b/Infovis/Core/vtkAddMembershipArray.h
index 79979a1995..425b3b9054 100644
--- a/Infovis/Core/vtkAddMembershipArray.h
+++ b/Infovis/Core/vtkAddMembershipArray.h
@@ -41,7 +41,7 @@ class VTKINFOVISCORE_EXPORT vtkAddMembershipArray : public vtkPassInputTypeAlgor
 public:
   static vtkAddMembershipArray* New();
   vtkTypeMacro(vtkAddMembershipArray,vtkPassInputTypeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum
   {
@@ -78,14 +78,14 @@ public:
 
 protected:
   vtkAddMembershipArray();
-  ~vtkAddMembershipArray();
+  ~vtkAddMembershipArray() VTK_OVERRIDE;
 
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   int FieldType;
   char* OutputArrayName;
diff --git a/Infovis/Core/vtkAdjacencyMatrixToEdgeTable.h b/Infovis/Core/vtkAdjacencyMatrixToEdgeTable.h
index b0526fcb20..024d725204 100644
--- a/Infovis/Core/vtkAdjacencyMatrixToEdgeTable.h
+++ b/Infovis/Core/vtkAdjacencyMatrixToEdgeTable.h
@@ -41,7 +41,7 @@ class VTKINFOVISCORE_EXPORT vtkAdjacencyMatrixToEdgeTable : public vtkTableAlgor
 public:
   static vtkAdjacencyMatrixToEdgeTable* New();
   vtkTypeMacro(vtkAdjacencyMatrixToEdgeTable, vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -82,14 +82,14 @@ public:
 
 protected:
   vtkAdjacencyMatrixToEdgeTable();
-  ~vtkAdjacencyMatrixToEdgeTable();
+  ~vtkAdjacencyMatrixToEdgeTable() VTK_OVERRIDE;
 
-  int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   vtkIdType SourceDimension;
   char* ValueArrayName;
diff --git a/Infovis/Core/vtkArrayNorm.h b/Infovis/Core/vtkArrayNorm.h
index ad73b5d4e1..778ca74870 100644
--- a/Infovis/Core/vtkArrayNorm.h
+++ b/Infovis/Core/vtkArrayNorm.h
@@ -46,7 +46,7 @@ class VTKINFOVISCORE_EXPORT vtkArrayNorm : public vtkArrayDataAlgorithm
 public:
   static vtkArrayNorm* New();
   vtkTypeMacro(vtkArrayNorm, vtkArrayDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -84,12 +84,12 @@ public:
 
 protected:
   vtkArrayNorm();
-  ~vtkArrayNorm();
+  ~vtkArrayNorm() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkArrayNorm(const vtkArrayNorm&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkArrayToTable.h b/Infovis/Core/vtkArrayToTable.h
index 655edfb0cb..5d16d2eed8 100644
--- a/Infovis/Core/vtkArrayToTable.h
+++ b/Infovis/Core/vtkArrayToTable.h
@@ -39,18 +39,18 @@ class VTKINFOVISCORE_EXPORT vtkArrayToTable : public vtkTableAlgorithm
 public:
   static vtkArrayToTable* New();
   vtkTypeMacro(vtkArrayToTable, vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkArrayToTable();
-  ~vtkArrayToTable();
+  ~vtkArrayToTable() VTK_OVERRIDE;
 
-  int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkArrayToTable(const vtkArrayToTable&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkCollapseGraph.h b/Infovis/Core/vtkCollapseGraph.h
index b05d6e9570..4f02c87095 100644
--- a/Infovis/Core/vtkCollapseGraph.h
+++ b/Infovis/Core/vtkCollapseGraph.h
@@ -51,7 +51,7 @@ class VTKINFOVISCORE_EXPORT vtkCollapseGraph : public vtkGraphAlgorithm
 public:
   static vtkCollapseGraph* New();
   vtkTypeMacro(vtkCollapseGraph,vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /// Convenience function provided for setting the graph input.
   void SetGraphConnection(vtkAlgorithmOutput*);
@@ -60,14 +60,14 @@ public:
 
 protected:
   vtkCollapseGraph();
-  ~vtkCollapseGraph();
+  ~vtkCollapseGraph() VTK_OVERRIDE;
 
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkCollapseGraph(const vtkCollapseGraph&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkCollapseVerticesByArray.h b/Infovis/Core/vtkCollapseVerticesByArray.h
index c481175632..3015caf7d7 100644
--- a/Infovis/Core/vtkCollapseVerticesByArray.h
+++ b/Infovis/Core/vtkCollapseVerticesByArray.h
@@ -41,7 +41,7 @@ public:
     static vtkCollapseVerticesByArray* New();
     vtkTypeMacro(vtkCollapseVerticesByArray, vtkGraphAlgorithm);
 
-    void PrintSelf(ostream &os, vtkIndent indent);
+    void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
     //@{
     /**
@@ -113,19 +113,19 @@ public:
 protected:
 
     vtkCollapseVerticesByArray();
-   ~vtkCollapseVerticesByArray();
+   ~vtkCollapseVerticesByArray() VTK_OVERRIDE;
 
    /**
     * Pipeline function.
     */
-   virtual int RequestData(vtkInformation* request,
+   int RequestData(vtkInformation* request,
                            vtkInformationVector** inputVector,
-                           vtkInformationVector* outputVector);
+                           vtkInformationVector* outputVector) VTK_OVERRIDE;
 
    /**
     * Pipeline function.
     */
-   virtual int FillOutputPortInformation(int port, vtkInformation* info);
+   int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 
    /**
diff --git a/Infovis/Core/vtkDataObjectToTable.h b/Infovis/Core/vtkDataObjectToTable.h
index 3d56b0764c..895ea251f7 100644
--- a/Infovis/Core/vtkDataObjectToTable.h
+++ b/Infovis/Core/vtkDataObjectToTable.h
@@ -37,7 +37,7 @@ class VTKINFOVISCORE_EXPORT vtkDataObjectToTable : public vtkTableAlgorithm
 public:
   static vtkDataObjectToTable* New();
   vtkTypeMacro(vtkDataObjectToTable,vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum
   {
@@ -59,14 +59,14 @@ public:
 
 protected:
   vtkDataObjectToTable();
-  ~vtkDataObjectToTable();
+  ~vtkDataObjectToTable() VTK_OVERRIDE;
 
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   int FieldType;
 
diff --git a/Infovis/Core/vtkDotProductSimilarity.h b/Infovis/Core/vtkDotProductSimilarity.h
index 396be60225..a25147a7a1 100644
--- a/Infovis/Core/vtkDotProductSimilarity.h
+++ b/Infovis/Core/vtkDotProductSimilarity.h
@@ -66,7 +66,7 @@ class VTKINFOVISCORE_EXPORT vtkDotProductSimilarity : public vtkTableAlgorithm
 public:
   static vtkDotProductSimilarity* New();
   vtkTypeMacro(vtkDotProductSimilarity, vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -149,14 +149,14 @@ public:
 
 protected:
   vtkDotProductSimilarity();
-  ~vtkDotProductSimilarity();
+  ~vtkDotProductSimilarity() VTK_OVERRIDE;
 
-  int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkDotProductSimilarity(const vtkDotProductSimilarity&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkEdgeCenters.h b/Infovis/Core/vtkEdgeCenters.h
index 5b5d1960a6..86addeef7a 100644
--- a/Infovis/Core/vtkEdgeCenters.h
+++ b/Infovis/Core/vtkEdgeCenters.h
@@ -42,7 +42,7 @@ class VTKINFOVISCORE_EXPORT vtkEdgeCenters : public vtkPolyDataAlgorithm
 {
 public:
   vtkTypeMacro(vtkEdgeCenters,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with vertex cell generation turned off.
@@ -60,10 +60,10 @@ public:
 
 protected:
   vtkEdgeCenters();
-  ~vtkEdgeCenters() {}
+  ~vtkEdgeCenters()VTK_OVERRIDE {}
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   int VertexCells;
 private:
diff --git a/Infovis/Core/vtkExpandSelectedGraph.h b/Infovis/Core/vtkExpandSelectedGraph.h
index f16e5e9dd4..b5d8cd673f 100644
--- a/Infovis/Core/vtkExpandSelectedGraph.h
+++ b/Infovis/Core/vtkExpandSelectedGraph.h
@@ -48,7 +48,7 @@ class VTKINFOVISCORE_EXPORT vtkExpandSelectedGraph : public vtkSelectionAlgorith
 public:
   static vtkExpandSelectedGraph* New();
   vtkTypeMacro(vtkExpandSelectedGraph,vtkSelectionAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * A convenience method for setting the second input (i.e. the graph).
@@ -58,7 +58,7 @@ public:
   /**
    * Specify the first vtkSelection input and the second vtkGraph input.
    */
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   //@{
   /**
@@ -101,12 +101,12 @@ public:
 
 protected:
   vtkExpandSelectedGraph();
-  ~vtkExpandSelectedGraph();
+  ~vtkExpandSelectedGraph() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   void Expand(vtkIdTypeArray*,vtkGraph*);
 
diff --git a/Infovis/Core/vtkExtractSelectedGraph.h b/Infovis/Core/vtkExtractSelectedGraph.h
index 49f6e60668..f3eafaf1a2 100644
--- a/Infovis/Core/vtkExtractSelectedGraph.h
+++ b/Infovis/Core/vtkExtractSelectedGraph.h
@@ -48,7 +48,7 @@ class VTKINFOVISCORE_EXPORT vtkExtractSelectedGraph : public vtkGraphAlgorithm
 public:
   static vtkExtractSelectedGraph* New();
   vtkTypeMacro(vtkExtractSelectedGraph,vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * A convenience method for setting the second input (i.e. the selection).
@@ -74,21 +74,21 @@ public:
   /**
    * Specify the first vtkGraph input and the second vtkSelection input.
    */
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 protected:
   vtkExtractSelectedGraph();
-  ~vtkExtractSelectedGraph();
+  ~vtkExtractSelectedGraph() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   int RequestDataObject(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   bool RemoveIsolatedVertices;
 
diff --git a/Infovis/Core/vtkExtractSelectedTree.h b/Infovis/Core/vtkExtractSelectedTree.h
index a4bf694bfb..71e851779a 100644
--- a/Infovis/Core/vtkExtractSelectedTree.h
+++ b/Infovis/Core/vtkExtractSelectedTree.h
@@ -40,22 +40,22 @@ class VTKINFOVISCORE_EXPORT vtkExtractSelectedTree : public vtkTreeAlgorithm
 public:
   static vtkExtractSelectedTree* New();
   vtkTypeMacro(vtkExtractSelectedTree,vtkTreeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * A convenience method for setting the second input (i.e. the selection).
    */
   void SetSelectionConnection(vtkAlgorithmOutput* in);
 
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 protected:
   vtkExtractSelectedTree();
-  ~vtkExtractSelectedTree();
+  ~vtkExtractSelectedTree() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   int BuildTree(vtkTree * inputTree, vtkIdTypeArray * list, vtkMutableDirectedGraph * builder);
 
diff --git a/Infovis/Core/vtkGenerateIndexArray.h b/Infovis/Core/vtkGenerateIndexArray.h
index c6872925cf..ed2d12b94a 100644
--- a/Infovis/Core/vtkGenerateIndexArray.h
+++ b/Infovis/Core/vtkGenerateIndexArray.h
@@ -54,7 +54,7 @@ public:
   static vtkGenerateIndexArray *New();
 
   vtkTypeMacro(vtkGenerateIndexArray, vtkDataObjectAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -100,22 +100,22 @@ public:
 
 protected:
   vtkGenerateIndexArray();
-  ~vtkGenerateIndexArray();
+  ~vtkGenerateIndexArray() VTK_OVERRIDE;
 
-  virtual int ProcessRequest(
+  int ProcessRequest(
     vtkInformation* request,
     vtkInformationVector** inputVector,
-    vtkInformationVector* outputVector);
+    vtkInformationVector* outputVector) VTK_OVERRIDE;
 
-  virtual int RequestDataObject(
+  int RequestDataObject(
     vtkInformation* request,
     vtkInformationVector** inputVector,
-    vtkInformationVector* outputVector);
+    vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   char* ArrayName;
   int FieldType;
diff --git a/Infovis/Core/vtkGraphHierarchicalBundleEdges.h b/Infovis/Core/vtkGraphHierarchicalBundleEdges.h
index 36a6b26214..1d16db3e2b 100644
--- a/Infovis/Core/vtkGraphHierarchicalBundleEdges.h
+++ b/Infovis/Core/vtkGraphHierarchicalBundleEdges.h
@@ -64,7 +64,7 @@ public:
   static vtkGraphHierarchicalBundleEdges *New();
 
   vtkTypeMacro(vtkGraphHierarchicalBundleEdges,vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -92,11 +92,11 @@ public:
   /**
    * Set the input type of the algorithm to vtkGraph.
    */
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 protected:
   vtkGraphHierarchicalBundleEdges();
-  ~vtkGraphHierarchicalBundleEdges() {}
+  ~vtkGraphHierarchicalBundleEdges()VTK_OVERRIDE {}
 
   double BundlingStrength;
   bool DirectMapping;
@@ -104,7 +104,7 @@ protected:
   /**
    * Convert the vtkGraph into vtkPolyData.
    */
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkGraphHierarchicalBundleEdges(const vtkGraphHierarchicalBundleEdges&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkGroupLeafVertices.h b/Infovis/Core/vtkGroupLeafVertices.h
index 78b894141c..c272ca6adb 100644
--- a/Infovis/Core/vtkGroupLeafVertices.h
+++ b/Infovis/Core/vtkGroupLeafVertices.h
@@ -37,7 +37,7 @@ class VTKINFOVISCORE_EXPORT vtkGroupLeafVertices : public vtkTreeAlgorithm
 public:
   static vtkGroupLeafVertices* New();
   vtkTypeMacro(vtkGroupLeafVertices,vtkTreeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -54,12 +54,12 @@ public:
 
 protected:
   vtkGroupLeafVertices();
-  ~vtkGroupLeafVertices();
+  ~vtkGroupLeafVertices() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   char* GroupDomain;
 
diff --git a/Infovis/Core/vtkKCoreDecomposition.h b/Infovis/Core/vtkKCoreDecomposition.h
index 4cf69436a5..aff1ae498e 100644
--- a/Infovis/Core/vtkKCoreDecomposition.h
+++ b/Infovis/Core/vtkKCoreDecomposition.h
@@ -52,7 +52,7 @@ public:
   static vtkKCoreDecomposition *New();
 
   vtkTypeMacro(vtkKCoreDecomposition, vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -99,9 +99,9 @@ public:
 
 protected:
   vtkKCoreDecomposition();
-  ~vtkKCoreDecomposition();
+  ~vtkKCoreDecomposition() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
 
diff --git a/Infovis/Core/vtkMergeColumns.h b/Infovis/Core/vtkMergeColumns.h
index 4372eee979..309bee8831 100644
--- a/Infovis/Core/vtkMergeColumns.h
+++ b/Infovis/Core/vtkMergeColumns.h
@@ -50,7 +50,7 @@ class VTKINFOVISCORE_EXPORT vtkMergeColumns : public vtkTableAlgorithm
 public:
   static vtkMergeColumns* New();
   vtkTypeMacro(vtkMergeColumns,vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -62,14 +62,14 @@ public:
 
 protected:
   vtkMergeColumns();
-  ~vtkMergeColumns();
+  ~vtkMergeColumns() VTK_OVERRIDE;
 
   char* MergedColumnName;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkMergeColumns(const vtkMergeColumns&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkMergeGraphs.h b/Infovis/Core/vtkMergeGraphs.h
index 34d254e1e1..d84b7cbba7 100644
--- a/Infovis/Core/vtkMergeGraphs.h
+++ b/Infovis/Core/vtkMergeGraphs.h
@@ -60,7 +60,7 @@ class VTKINFOVISCORE_EXPORT vtkMergeGraphs : public vtkGraphAlgorithm
 public:
   static vtkMergeGraphs* New();
   vtkTypeMacro(vtkMergeGraphs,vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * This is the core functionality of the algorithm. Adds edges
@@ -99,14 +99,14 @@ public:
 
 protected:
   vtkMergeGraphs();
-  ~vtkMergeGraphs();
+  ~vtkMergeGraphs() VTK_OVERRIDE;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   bool UseEdgeWindow;
   char* EdgeWindowArrayName;
diff --git a/Infovis/Core/vtkMergeTables.h b/Infovis/Core/vtkMergeTables.h
index c3d24c6e2f..351803d665 100644
--- a/Infovis/Core/vtkMergeTables.h
+++ b/Infovis/Core/vtkMergeTables.h
@@ -47,7 +47,7 @@ class VTKINFOVISCORE_EXPORT vtkMergeTables : public vtkTableAlgorithm
 public:
   static vtkMergeTables* New();
   vtkTypeMacro(vtkMergeTables,vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -92,7 +92,7 @@ public:
 
 protected:
   vtkMergeTables();
-  ~vtkMergeTables();
+  ~vtkMergeTables() VTK_OVERRIDE;
 
   bool MergeColumnsByName;
   bool PrefixAllButMerged;
@@ -102,7 +102,7 @@ protected:
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkMergeTables(const vtkMergeTables&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkMutableGraphHelper.h b/Infovis/Core/vtkMutableGraphHelper.h
index e4f3a9d11e..064e5f9556 100644
--- a/Infovis/Core/vtkMutableGraphHelper.h
+++ b/Infovis/Core/vtkMutableGraphHelper.h
@@ -49,7 +49,7 @@ class VTKINFOVISCORE_EXPORT vtkMutableGraphHelper : public vtkObject
 public:
   static vtkMutableGraphHelper *New();
   vtkTypeMacro(vtkMutableGraphHelper, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -95,7 +95,7 @@ public:
 
 protected:
   vtkMutableGraphHelper();
-  ~vtkMutableGraphHelper();
+  ~vtkMutableGraphHelper() VTK_OVERRIDE;
 
   vtkGetObjectMacro(InternalGraph, vtkGraph);
   void SetInternalGraph(vtkGraph* g);
diff --git a/Infovis/Core/vtkNetworkHierarchy.h b/Infovis/Core/vtkNetworkHierarchy.h
index 5a594e4208..63bc085812 100644
--- a/Infovis/Core/vtkNetworkHierarchy.h
+++ b/Infovis/Core/vtkNetworkHierarchy.h
@@ -50,21 +50,21 @@ public:
   vtkSetStringMacro(IPArrayName);
   //@}
 
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkNetworkHierarchy();
-  ~vtkNetworkHierarchy();
+  ~vtkNetworkHierarchy() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   int FillOutputPortInformation(
-    int vtkNotUsed(port), vtkInformation* info);
+    int vtkNotUsed(port), vtkInformation* info) VTK_OVERRIDE;
   int FillInputPortInformation(
-    int vtkNotUsed(port), vtkInformation* info);
+    int vtkNotUsed(port), vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkNetworkHierarchy(const vtkNetworkHierarchy&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkPipelineGraphSource.h b/Infovis/Core/vtkPipelineGraphSource.h
index 2be57fe5a8..8da04621ae 100644
--- a/Infovis/Core/vtkPipelineGraphSource.h
+++ b/Infovis/Core/vtkPipelineGraphSource.h
@@ -33,7 +33,7 @@ class VTKINFOVISCORE_EXPORT vtkPipelineGraphSource : public vtkDirectedGraphAlgo
 public:
   static vtkPipelineGraphSource* New();
   vtkTypeMacro(vtkPipelineGraphSource,vtkDirectedGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   void AddSink(vtkObject* object);
   void RemoveSink(vtkObject* object);
@@ -51,12 +51,12 @@ public:
 
 protected:
   vtkPipelineGraphSource();
-  ~vtkPipelineGraphSource();
+  ~vtkPipelineGraphSource() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   vtkCollection* Sinks;
 
diff --git a/Infovis/Core/vtkPruneTreeFilter.h b/Infovis/Core/vtkPruneTreeFilter.h
index 49aa5fbae0..97507e2f36 100644
--- a/Infovis/Core/vtkPruneTreeFilter.h
+++ b/Infovis/Core/vtkPruneTreeFilter.h
@@ -40,7 +40,7 @@ class VTKINFOVISCORE_EXPORT vtkPruneTreeFilter : public vtkTreeAlgorithm
 public:
   static vtkPruneTreeFilter* New();
   vtkTypeMacro(vtkPruneTreeFilter,vtkTreeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -61,7 +61,7 @@ public:
 
 protected:
   vtkPruneTreeFilter();
-  ~vtkPruneTreeFilter();
+  ~vtkPruneTreeFilter() VTK_OVERRIDE;
 
   vtkIdType ParentVertex;
   bool ShouldPruneParentVertex;
@@ -69,7 +69,7 @@ protected:
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkPruneTreeFilter(const vtkPruneTreeFilter&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkRandomGraphSource.h b/Infovis/Core/vtkRandomGraphSource.h
index 6701651528..65d3babe8b 100644
--- a/Infovis/Core/vtkRandomGraphSource.h
+++ b/Infovis/Core/vtkRandomGraphSource.h
@@ -43,7 +43,7 @@ class VTKINFOVISCORE_EXPORT vtkRandomGraphSource : public vtkGraphAlgorithm
 public:
   static vtkRandomGraphSource* New();
   vtkTypeMacro(vtkRandomGraphSource,vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -176,7 +176,7 @@ public:
 
 protected:
   vtkRandomGraphSource();
-  ~vtkRandomGraphSource();
+  ~vtkRandomGraphSource() VTK_OVERRIDE;
   int NumberOfVertices;
   int NumberOfEdges;
   double EdgeProbability;
@@ -192,17 +192,17 @@ protected:
   char* VertexPedigreeIdArrayName;
   char* EdgePedigreeIdArrayName;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   /**
    * Creates directed or undirected output based on Directed flag.
    */
-  virtual int RequestDataObject(vtkInformation*,
+  int RequestDataObject(vtkInformation*,
                                 vtkInformationVector** inputVector,
-                                vtkInformationVector* outputVector);
+                                vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 private:
   vtkRandomGraphSource(const vtkRandomGraphSource&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkReduceTable.h b/Infovis/Core/vtkReduceTable.h
index cdf6d30ece..1aa31f5c89 100644
--- a/Infovis/Core/vtkReduceTable.h
+++ b/Infovis/Core/vtkReduceTable.h
@@ -50,7 +50,7 @@ class VTKINFOVISCORE_EXPORT vtkReduceTable : public vtkTableAlgorithm
 public:
   static vtkReduceTable* New();
   vtkTypeMacro(vtkReduceTable,vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -105,12 +105,12 @@ public:
 
 protected:
   vtkReduceTable();
-  ~vtkReduceTable();
+  ~vtkReduceTable() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   /**
    * Initialize the output table to have the same types of columns as
diff --git a/Infovis/Core/vtkRemoveHiddenData.h b/Infovis/Core/vtkRemoveHiddenData.h
index 0c67bb89c6..27021f6461 100644
--- a/Infovis/Core/vtkRemoveHiddenData.h
+++ b/Infovis/Core/vtkRemoveHiddenData.h
@@ -47,22 +47,22 @@ class VTKINFOVISCORE_EXPORT vtkRemoveHiddenData : public vtkPassInputTypeAlgorit
 public:
   static vtkRemoveHiddenData *New();
   vtkTypeMacro(vtkRemoveHiddenData, vtkPassInputTypeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkRemoveHiddenData();
-  ~vtkRemoveHiddenData();
+  ~vtkRemoveHiddenData() VTK_OVERRIDE;
 
   /**
    * Convert the vtkGraph into vtkPolyData.
    */
   int RequestData(
-    vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+    vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Set the input type of the algorithm to vtkGraph.
    */
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkRemoveHiddenData(const vtkRemoveHiddenData&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkRemoveIsolatedVertices.h b/Infovis/Core/vtkRemoveIsolatedVertices.h
index cf6f5c07bd..2cc982f766 100644
--- a/Infovis/Core/vtkRemoveIsolatedVertices.h
+++ b/Infovis/Core/vtkRemoveIsolatedVertices.h
@@ -38,16 +38,16 @@ class VTKINFOVISCORE_EXPORT vtkRemoveIsolatedVertices : public vtkGraphAlgorithm
 public:
   static vtkRemoveIsolatedVertices* New();
   vtkTypeMacro(vtkRemoveIsolatedVertices,vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkRemoveIsolatedVertices();
-  ~vtkRemoveIsolatedVertices();
+  ~vtkRemoveIsolatedVertices() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkRemoveIsolatedVertices(const vtkRemoveIsolatedVertices&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkSparseArrayToTable.h b/Infovis/Core/vtkSparseArrayToTable.h
index 61e9f0cd0c..8e7c37e9c2 100644
--- a/Infovis/Core/vtkSparseArrayToTable.h
+++ b/Infovis/Core/vtkSparseArrayToTable.h
@@ -49,7 +49,7 @@ class VTKINFOVISCORE_EXPORT vtkSparseArrayToTable : public vtkTableAlgorithm
 public:
   static vtkSparseArrayToTable* New();
   vtkTypeMacro(vtkSparseArrayToTable, vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -62,14 +62,14 @@ public:
 
 protected:
   vtkSparseArrayToTable();
-  ~vtkSparseArrayToTable();
+  ~vtkSparseArrayToTable() VTK_OVERRIDE;
 
-  int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   char* ValueColumn;
 
diff --git a/Infovis/Core/vtkStreamGraph.h b/Infovis/Core/vtkStreamGraph.h
index 8d90e27dcc..a27b71145d 100644
--- a/Infovis/Core/vtkStreamGraph.h
+++ b/Infovis/Core/vtkStreamGraph.h
@@ -51,7 +51,7 @@ class VTKINFOVISCORE_EXPORT vtkStreamGraph : public vtkGraphAlgorithm
 public:
   static vtkStreamGraph* New();
   vtkTypeMacro(vtkStreamGraph,vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -84,12 +84,12 @@ public:
 
 protected:
   vtkStreamGraph();
-  ~vtkStreamGraph();
+  ~vtkStreamGraph() VTK_OVERRIDE;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   vtkMutableGraphHelper* CurrentGraph;
   vtkMergeGraphs* MergeGraphs;
diff --git a/Infovis/Core/vtkStringToCategory.h b/Infovis/Core/vtkStringToCategory.h
index aa82dd3330..8469c604da 100644
--- a/Infovis/Core/vtkStringToCategory.h
+++ b/Infovis/Core/vtkStringToCategory.h
@@ -47,7 +47,7 @@ class VTKINFOVISCORE_EXPORT vtkStringToCategory : public vtkDataObjectAlgorithm
 public:
   static vtkStringToCategory* New();
   vtkTypeMacro(vtkStringToCategory,vtkDataObjectAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -60,27 +60,27 @@ public:
   /**
    * This is required to capture REQUEST_DATA_OBJECT requests.
    */
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inputVector,
-                             vtkInformationVector* outputVector);
+                             vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 protected:
   vtkStringToCategory();
-  ~vtkStringToCategory();
+  ~vtkStringToCategory() VTK_OVERRIDE;
 
   /**
    * Creates the same output type as the input type.
    */
-  virtual int RequestDataObject(vtkInformation* request,
+  int RequestDataObject(vtkInformation* request,
                                 vtkInformationVector** inputVector,
-                                vtkInformationVector* outputVector);
+                                vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   char *CategoryArrayName;
 
diff --git a/Infovis/Core/vtkStringToNumeric.h b/Infovis/Core/vtkStringToNumeric.h
index 129a6881d9..70c2a32233 100644
--- a/Infovis/Core/vtkStringToNumeric.h
+++ b/Infovis/Core/vtkStringToNumeric.h
@@ -37,7 +37,7 @@ class VTKINFOVISCORE_EXPORT vtkStringToNumeric : public vtkDataObjectAlgorithm
 public:
   static vtkStringToNumeric* New();
   vtkTypeMacro(vtkStringToNumeric,vtkDataObjectAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -142,20 +142,20 @@ public:
   /**
    * This is required to capture REQUEST_DATA_OBJECT requests.
    */
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inputVector,
-                             vtkInformationVector* outputVector);
+                             vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 protected:
   vtkStringToNumeric();
-  ~vtkStringToNumeric();
+  ~vtkStringToNumeric() VTK_OVERRIDE;
 
   /**
    * Creates the same output type as the input type.
    */
-  virtual int RequestDataObject(vtkInformation* request,
+  int RequestDataObject(vtkInformation* request,
                                 vtkInformationVector** inputVector,
-                                vtkInformationVector* outputVector);
+                                vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   /**
    * Tries to convert string arrays to integer or double arrays.
@@ -184,7 +184,7 @@ protected:
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkStringToNumeric(const vtkStringToNumeric&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkTableToArray.h b/Infovis/Core/vtkTableToArray.h
index d1d886c10d..fdf8d7bb6d 100644
--- a/Infovis/Core/vtkTableToArray.h
+++ b/Infovis/Core/vtkTableToArray.h
@@ -49,7 +49,7 @@ class VTKINFOVISCORE_EXPORT vtkTableToArray : public vtkArrayDataAlgorithm
 public:
   static vtkTableToArray* New();
   vtkTypeMacro(vtkTableToArray, vtkArrayDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Reset the list of input table columns that will be mapped to columns
@@ -73,14 +73,14 @@ public:
 
 protected:
   vtkTableToArray();
-  ~vtkTableToArray();
+  ~vtkTableToArray() VTK_OVERRIDE;
 
-  int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkTableToArray(const vtkTableToArray&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkTableToGraph.h b/Infovis/Core/vtkTableToGraph.h
index 2a41a105e0..59bedc4886 100644
--- a/Infovis/Core/vtkTableToGraph.h
+++ b/Infovis/Core/vtkTableToGraph.h
@@ -79,7 +79,7 @@ class VTKINFOVISCORE_EXPORT vtkTableToGraph : public vtkGraphAlgorithm
 public:
   static vtkTableToGraph* New();
   vtkTypeMacro(vtkTableToGraph,vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Add a vertex to the link graph.  Specify the column name, the domain name
@@ -128,7 +128,7 @@ public:
   /**
    * Get the current modified time.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * A convenience method for setting the vertex table input.  This
@@ -141,24 +141,24 @@ public:
 
 protected:
   vtkTableToGraph();
-  ~vtkTableToGraph();
+  ~vtkTableToGraph() VTK_OVERRIDE;
 
   /**
    * Validate that the link graph is in the appropriate format.
    */
   int ValidateLinkGraph();
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
-  virtual int RequestDataObject(
+  int RequestDataObject(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   bool Directed;
   vtkMutableDirectedGraph* LinkGraph;
diff --git a/Infovis/Core/vtkTableToSparseArray.h b/Infovis/Core/vtkTableToSparseArray.h
index c19013a891..c03e7dfcb9 100644
--- a/Infovis/Core/vtkTableToSparseArray.h
+++ b/Infovis/Core/vtkTableToSparseArray.h
@@ -57,7 +57,7 @@ class VTKINFOVISCORE_EXPORT vtkTableToSparseArray : public vtkArrayDataAlgorithm
 public:
   static vtkTableToSparseArray* New();
   vtkTypeMacro(vtkTableToSparseArray, vtkArrayDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -86,14 +86,14 @@ public:
 
 protected:
   vtkTableToSparseArray();
-  ~vtkTableToSparseArray();
+  ~vtkTableToSparseArray() VTK_OVERRIDE;
 
-  int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkTableToSparseArray(const vtkTableToSparseArray&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkTableToTreeFilter.h b/Infovis/Core/vtkTableToTreeFilter.h
index cbb688101e..6f15849767 100644
--- a/Infovis/Core/vtkTableToTreeFilter.h
+++ b/Infovis/Core/vtkTableToTreeFilter.h
@@ -40,21 +40,21 @@ class VTKINFOVISCORE_EXPORT vtkTableToTreeFilter : public vtkTreeAlgorithm
 public:
   static vtkTableToTreeFilter* New();
   vtkTypeMacro(vtkTableToTreeFilter,vtkTreeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkTableToTreeFilter();
-  ~vtkTableToTreeFilter();
+  ~vtkTableToTreeFilter() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   int FillOutputPortInformation(
-    int vtkNotUsed(port), vtkInformation* info);
+    int vtkNotUsed(port), vtkInformation* info) VTK_OVERRIDE;
   int FillInputPortInformation(
-    int vtkNotUsed(port), vtkInformation* info);
+    int vtkNotUsed(port), vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkTableToTreeFilter(const vtkTableToTreeFilter&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkThresholdGraph.h b/Infovis/Core/vtkThresholdGraph.h
index 23d1497a5b..7e0ff024bf 100644
--- a/Infovis/Core/vtkThresholdGraph.h
+++ b/Infovis/Core/vtkThresholdGraph.h
@@ -34,7 +34,7 @@ public:
   static vtkThresholdGraph* New();
   vtkTypeMacro(vtkThresholdGraph, vtkGraphAlgorithm);
 
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -57,11 +57,11 @@ public:
 protected:
 
   vtkThresholdGraph();
- ~vtkThresholdGraph();
+ ~vtkThresholdGraph() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation*,
+  int RequestData(vtkInformation*,
                           vtkInformationVector**,
-                          vtkInformationVector*);
+                          vtkInformationVector*) VTK_OVERRIDE;
 
 
 private:
diff --git a/Infovis/Core/vtkThresholdTable.h b/Infovis/Core/vtkThresholdTable.h
index 3ea1e9a95d..37cb3dd1ef 100644
--- a/Infovis/Core/vtkThresholdTable.h
+++ b/Infovis/Core/vtkThresholdTable.h
@@ -39,7 +39,7 @@ class VTKINFOVISCORE_EXPORT vtkThresholdTable : public vtkTableAlgorithm
 public:
   static vtkThresholdTable* New();
   vtkTypeMacro(vtkThresholdTable, vtkTableAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum {
     ACCEPT_LESS_THAN = 0,
@@ -125,12 +125,12 @@ public:
 
 protected:
   vtkThresholdTable();
-  ~vtkThresholdTable();
+  ~vtkThresholdTable() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   vtkVariant MinValue;
   vtkVariant MaxValue;
diff --git a/Infovis/Core/vtkTransferAttributes.h b/Infovis/Core/vtkTransferAttributes.h
index 32832a5557..54c18ea546 100644
--- a/Infovis/Core/vtkTransferAttributes.h
+++ b/Infovis/Core/vtkTransferAttributes.h
@@ -55,7 +55,7 @@ public:
   static vtkTransferAttributes *New();
 
   vtkTypeMacro(vtkTransferAttributes,vtkPassInputTypeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -114,11 +114,11 @@ public:
   /**
    * Set the input type of the algorithm to vtkGraph.
    */
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 protected:
   vtkTransferAttributes();
-  ~vtkTransferAttributes();
+  ~vtkTransferAttributes() VTK_OVERRIDE;
 
   bool DirectMapping;
   char* SourceArrayName;
@@ -131,7 +131,7 @@ protected:
   /**
    * Convert the vtkGraph into vtkPolyData.
    */
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkTransferAttributes(const vtkTransferAttributes&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkTransposeMatrix.h b/Infovis/Core/vtkTransposeMatrix.h
index dfa8d8cfa2..cc584d2176 100644
--- a/Infovis/Core/vtkTransposeMatrix.h
+++ b/Infovis/Core/vtkTransposeMatrix.h
@@ -38,16 +38,16 @@ class VTKINFOVISCORE_EXPORT vtkTransposeMatrix : public vtkArrayDataAlgorithm
 public:
   static vtkTransposeMatrix* New();
   vtkTypeMacro(vtkTransposeMatrix, vtkArrayDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkTransposeMatrix();
-  ~vtkTransposeMatrix();
+  ~vtkTransposeMatrix() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
   vtkTransposeMatrix(const vtkTransposeMatrix&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkTreeDifferenceFilter.h b/Infovis/Core/vtkTreeDifferenceFilter.h
index fcfaf24c15..0eb60cf786 100644
--- a/Infovis/Core/vtkTreeDifferenceFilter.h
+++ b/Infovis/Core/vtkTreeDifferenceFilter.h
@@ -43,7 +43,7 @@ class VTKINFOVISCORE_EXPORT vtkTreeDifferenceFilter : public vtkGraphAlgorithm
 public:
   static vtkTreeDifferenceFilter* New();
   vtkTypeMacro(vtkTreeDifferenceFilter,vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -93,14 +93,14 @@ public:
 
 protected:
   vtkTreeDifferenceFilter();
-  ~vtkTreeDifferenceFilter();
+  ~vtkTreeDifferenceFilter() VTK_OVERRIDE;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   /**
    * Populate VertexMap and EdgeMap with meaningful values.  These maps
diff --git a/Infovis/Core/vtkTreeFieldAggregator.h b/Infovis/Core/vtkTreeFieldAggregator.h
index 28ac83147b..f47ac14290 100644
--- a/Infovis/Core/vtkTreeFieldAggregator.h
+++ b/Infovis/Core/vtkTreeFieldAggregator.h
@@ -47,7 +47,7 @@ public:
   static vtkTreeFieldAggregator *New();
 
   vtkTypeMacro(vtkTreeFieldAggregator,vtkTreeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -86,9 +86,9 @@ public:
 
 protected:
   vtkTreeFieldAggregator();
-  ~vtkTreeFieldAggregator();
+  ~vtkTreeFieldAggregator() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   char* Field;
diff --git a/Infovis/Core/vtkTreeLevelsFilter.h b/Infovis/Core/vtkTreeLevelsFilter.h
index 1cae2d894e..b684bb0529 100644
--- a/Infovis/Core/vtkTreeLevelsFilter.h
+++ b/Infovis/Core/vtkTreeLevelsFilter.h
@@ -43,13 +43,13 @@ class VTKINFOVISCORE_EXPORT vtkTreeLevelsFilter : public vtkTreeAlgorithm
 public:
   static vtkTreeLevelsFilter *New();
   vtkTypeMacro(vtkTreeLevelsFilter,vtkTreeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkTreeLevelsFilter();
-  ~vtkTreeLevelsFilter() {}
+  ~vtkTreeLevelsFilter()VTK_OVERRIDE {}
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkTreeLevelsFilter(const vtkTreeLevelsFilter&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Core/vtkVertexDegree.h b/Infovis/Core/vtkVertexDegree.h
index 9d10eb2ba0..9731be7012 100644
--- a/Infovis/Core/vtkVertexDegree.h
+++ b/Infovis/Core/vtkVertexDegree.h
@@ -39,7 +39,7 @@ public:
   static vtkVertexDegree *New();
 
   vtkTypeMacro(vtkVertexDegree, vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -51,9 +51,9 @@ public:
 
 protected:
   vtkVertexDegree();
-  ~vtkVertexDegree();
+  ~vtkVertexDegree() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
 
diff --git a/Infovis/Layout/vtkArcParallelEdgeStrategy.h b/Infovis/Layout/vtkArcParallelEdgeStrategy.h
index b087080686..13ba45b0a3 100644
--- a/Infovis/Layout/vtkArcParallelEdgeStrategy.h
+++ b/Infovis/Layout/vtkArcParallelEdgeStrategy.h
@@ -38,13 +38,13 @@ class VTKINFOVISLAYOUT_EXPORT vtkArcParallelEdgeStrategy : public vtkEdgeLayoutS
 public:
   static vtkArcParallelEdgeStrategy* New();
   vtkTypeMacro(vtkArcParallelEdgeStrategy,vtkEdgeLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * This is the layout method where the graph that was
    * set in SetGraph() is laid out.
    */
-  virtual void Layout();
+  void Layout() VTK_OVERRIDE;
 
   //@{
   /**
@@ -56,7 +56,7 @@ public:
 
 protected:
   vtkArcParallelEdgeStrategy();
-  ~vtkArcParallelEdgeStrategy();
+  ~vtkArcParallelEdgeStrategy() VTK_OVERRIDE;
 
   int NumberOfSubdivisions;
 
diff --git a/Infovis/Layout/vtkAreaLayout.h b/Infovis/Layout/vtkAreaLayout.h
index 41c18bbfba..d58bb97245 100644
--- a/Infovis/Layout/vtkAreaLayout.h
+++ b/Infovis/Layout/vtkAreaLayout.h
@@ -48,7 +48,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkAreaLayout : public vtkTreeAlgorithm
 public:
   static vtkAreaLayout *New();
   vtkTypeMacro(vtkAreaLayout,vtkTreeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * The array name to use for retrieving the relative size of each vertex.
@@ -89,7 +89,7 @@ public:
   /**
    * Get the modification time of the layout algorithm.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Get the vertex whose area contains the point, or return -1
@@ -104,14 +104,14 @@ public:
 
 protected:
   vtkAreaLayout();
-  ~vtkAreaLayout();
+  ~vtkAreaLayout() VTK_OVERRIDE;
 
   char* AreaArrayName;
   bool  EdgeRoutingPoints;
   char* EdgeRoutingPointsArrayName;
   vtkAreaLayoutStrategy* LayoutStrategy;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
 
diff --git a/Infovis/Layout/vtkAreaLayoutStrategy.h b/Infovis/Layout/vtkAreaLayoutStrategy.h
index 0f0e7ae386..6d01c63c3b 100644
--- a/Infovis/Layout/vtkAreaLayoutStrategy.h
+++ b/Infovis/Layout/vtkAreaLayoutStrategy.h
@@ -49,7 +49,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkAreaLayoutStrategy : public vtkObject
 {
 public:
   vtkTypeMacro(vtkAreaLayoutStrategy,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform the layout of the input tree, and store the sector
@@ -87,7 +87,7 @@ public:
 
 protected:
   vtkAreaLayoutStrategy();
-  ~vtkAreaLayoutStrategy();
+  ~vtkAreaLayoutStrategy() VTK_OVERRIDE;
 
   double ShrinkPercentage;
 
diff --git a/Infovis/Layout/vtkAssignCoordinates.h b/Infovis/Layout/vtkAssignCoordinates.h
index 8a84260226..3ab0f6b9a6 100644
--- a/Infovis/Layout/vtkAssignCoordinates.h
+++ b/Infovis/Layout/vtkAssignCoordinates.h
@@ -40,7 +40,7 @@ public:
   static vtkAssignCoordinates *New();
 
   vtkTypeMacro(vtkAssignCoordinates, vtkPassInputTypeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -75,10 +75,10 @@ public:
 
 protected:
   vtkAssignCoordinates();
-  ~vtkAssignCoordinates();
+  ~vtkAssignCoordinates() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
 
diff --git a/Infovis/Layout/vtkAssignCoordinatesLayoutStrategy.h b/Infovis/Layout/vtkAssignCoordinatesLayoutStrategy.h
index eb5492707a..62c6ce19de 100644
--- a/Infovis/Layout/vtkAssignCoordinatesLayoutStrategy.h
+++ b/Infovis/Layout/vtkAssignCoordinatesLayoutStrategy.h
@@ -39,7 +39,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkAssignCoordinatesLayoutStrategy : public vtkGra
 public:
   static vtkAssignCoordinatesLayoutStrategy *New();
   vtkTypeMacro(vtkAssignCoordinatesLayoutStrategy, vtkGraphLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -68,11 +68,11 @@ public:
   /**
    * Perform the random layout.
    */
-  void Layout();
+  void Layout() VTK_OVERRIDE;
 
 protected:
   vtkAssignCoordinatesLayoutStrategy();
-  ~vtkAssignCoordinatesLayoutStrategy();
+  ~vtkAssignCoordinatesLayoutStrategy() VTK_OVERRIDE;
 
   vtkSmartPointer<vtkAssignCoordinates> AssignCoordinates;
 
diff --git a/Infovis/Layout/vtkAttributeClustering2DLayoutStrategy.h b/Infovis/Layout/vtkAttributeClustering2DLayoutStrategy.h
index 7f62405400..067ef7aee6 100644
--- a/Infovis/Layout/vtkAttributeClustering2DLayoutStrategy.h
+++ b/Infovis/Layout/vtkAttributeClustering2DLayoutStrategy.h
@@ -49,7 +49,7 @@ public:
   static vtkAttributeClustering2DLayoutStrategy *New();
 
   vtkTypeMacro(vtkAttributeClustering2DLayoutStrategy, vtkGraphLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -132,7 +132,7 @@ public:
    * This strategy sets up some data structures
    * for faster processing of each Layout() call
    */
-  virtual void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   /**
    * This is the layout method where the graph that was
@@ -141,17 +141,17 @@ public:
    * graph. If you have an iterative layout please implement
    * the IsLayoutComplete() method.
    */
-  virtual void Layout();
+  void Layout() VTK_OVERRIDE;
 
   /**
    * I'm an iterative layout so this method lets the caller
    * know if I'm done laying out the graph
    */
-  virtual int IsLayoutComplete() {return this->LayoutComplete;}
+  int IsLayoutComplete() VTK_OVERRIDE {return this->LayoutComplete;}
 
 protected:
   vtkAttributeClustering2DLayoutStrategy();
-  ~vtkAttributeClustering2DLayoutStrategy();
+  ~vtkAttributeClustering2DLayoutStrategy() VTK_OVERRIDE;
 
   int    MaxNumberOfIterations;  //Maximum number of iterations.
   float  InitialTemperature;
diff --git a/Infovis/Layout/vtkBoxLayoutStrategy.h b/Infovis/Layout/vtkBoxLayoutStrategy.h
index 3641931cc7..1922c2fb62 100644
--- a/Infovis/Layout/vtkBoxLayoutStrategy.h
+++ b/Infovis/Layout/vtkBoxLayoutStrategy.h
@@ -41,20 +41,20 @@ public:
   static vtkBoxLayoutStrategy *New();
 
   vtkTypeMacro(vtkBoxLayoutStrategy,vtkTreeMapLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform the layout of a tree and place the results as 4-tuples in
    * coordsArray (Xmin, Xmax, Ymin, Ymax).
    */
-  virtual void Layout(
+  void Layout(
       vtkTree* inputTree,
       vtkDataArray* coordsArray,
-      vtkDataArray* sizeArray);
+      vtkDataArray* sizeArray) VTK_OVERRIDE;
 
 protected:
   vtkBoxLayoutStrategy();
-  ~vtkBoxLayoutStrategy();
+  ~vtkBoxLayoutStrategy() VTK_OVERRIDE;
 
 private:
 
diff --git a/Infovis/Layout/vtkCirclePackFrontChainLayoutStrategy.h b/Infovis/Layout/vtkCirclePackFrontChainLayoutStrategy.h
index c8e65cdd17..1261d56993 100644
--- a/Infovis/Layout/vtkCirclePackFrontChainLayoutStrategy.h
+++ b/Infovis/Layout/vtkCirclePackFrontChainLayoutStrategy.h
@@ -56,15 +56,15 @@ public:
   static vtkCirclePackFrontChainLayoutStrategy *New();
 
   vtkTypeMacro(vtkCirclePackFrontChainLayoutStrategy,vtkCirclePackLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform the layout of the input tree, and store the circle
    * bounds of each vertex as a tuple in a data array.
    * (Xcenter, Ycenter, Radius).
    */
-  virtual void Layout(vtkTree *inputTree, vtkDataArray *areaArray,
-                      vtkDataArray* sizeArray);
+  void Layout(vtkTree *inputTree, vtkDataArray *areaArray,
+                      vtkDataArray* sizeArray) VTK_OVERRIDE;
 
   //@{
   /**
@@ -79,7 +79,7 @@ public:
 
 protected:
   vtkCirclePackFrontChainLayoutStrategy();
-  ~vtkCirclePackFrontChainLayoutStrategy();
+  ~vtkCirclePackFrontChainLayoutStrategy() VTK_OVERRIDE;
 
   char * CirclesFieldName;
   int Width;
diff --git a/Infovis/Layout/vtkCirclePackLayout.h b/Infovis/Layout/vtkCirclePackLayout.h
index eb66523696..55f05785c0 100644
--- a/Infovis/Layout/vtkCirclePackLayout.h
+++ b/Infovis/Layout/vtkCirclePackLayout.h
@@ -59,7 +59,7 @@ public:
     static vtkCirclePackLayout *New();
 
     vtkTypeMacro(vtkCirclePackLayout,vtkTreeAlgorithm);
-    void PrintSelf(ostream& os, vtkIndent indent);
+    void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
     //@{
     /**
@@ -104,16 +104,16 @@ public:
     /**
      * Get the modification time of the layout algorithm.
      */
-    virtual vtkMTimeType GetMTime();
+    vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
     vtkCirclePackLayout();
-    ~vtkCirclePackLayout();
+    ~vtkCirclePackLayout() VTK_OVERRIDE;
 
     char * CirclesFieldName;
     vtkCirclePackLayoutStrategy* LayoutStrategy;
 
-    int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+    int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
 
diff --git a/Infovis/Layout/vtkCirclePackLayoutStrategy.h b/Infovis/Layout/vtkCirclePackLayoutStrategy.h
index 6dd82bb6dd..1b9808fd5a 100644
--- a/Infovis/Layout/vtkCirclePackLayoutStrategy.h
+++ b/Infovis/Layout/vtkCirclePackLayoutStrategy.h
@@ -50,7 +50,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkCirclePackLayoutStrategy : public vtkObject
 {
 public:
     vtkTypeMacro(vtkCirclePackLayoutStrategy,vtkObject);
-    void PrintSelf(ostream& os, vtkIndent indent);
+    void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
     /**
      * Perform the layout of the input tree, and store the circle
@@ -65,7 +65,7 @@ public:
 
 protected:
     vtkCirclePackLayoutStrategy();
-    ~vtkCirclePackLayoutStrategy();
+    ~vtkCirclePackLayoutStrategy() VTK_OVERRIDE;
 
 private:
     vtkCirclePackLayoutStrategy(const vtkCirclePackLayoutStrategy&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Layout/vtkCirclePackToPolyData.h b/Infovis/Layout/vtkCirclePackToPolyData.h
index c742770b35..f6b3f0c067 100644
--- a/Infovis/Layout/vtkCirclePackToPolyData.h
+++ b/Infovis/Layout/vtkCirclePackToPolyData.h
@@ -40,7 +40,7 @@ public:
   static vtkCirclePackToPolyData *New();
 
   vtkTypeMacro(vtkCirclePackToPolyData,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * The field containing triples of the form (Xcenter, Ycenter, Radius).
@@ -60,15 +60,15 @@ public:
   vtkGetMacro(Resolution, unsigned int);
   //@}
 
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 protected:
   vtkCirclePackToPolyData();
-  ~vtkCirclePackToPolyData();
+  ~vtkCirclePackToPolyData() VTK_OVERRIDE;
 
   unsigned int Resolution;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 private:
   vtkCirclePackToPolyData(const vtkCirclePackToPolyData&) VTK_DELETE_FUNCTION;
   void operator=(const vtkCirclePackToPolyData&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Layout/vtkCircularLayoutStrategy.h b/Infovis/Layout/vtkCircularLayoutStrategy.h
index 71aae6f633..cd933cc41f 100644
--- a/Infovis/Layout/vtkCircularLayoutStrategy.h
+++ b/Infovis/Layout/vtkCircularLayoutStrategy.h
@@ -37,16 +37,16 @@ public:
   static vtkCircularLayoutStrategy *New();
 
   vtkTypeMacro(vtkCircularLayoutStrategy, vtkGraphLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform the layout.
    */
-  void Layout();
+  void Layout() VTK_OVERRIDE;
 
 protected:
   vtkCircularLayoutStrategy();
-  ~vtkCircularLayoutStrategy();
+  ~vtkCircularLayoutStrategy() VTK_OVERRIDE;
 
 private:
   vtkCircularLayoutStrategy(const vtkCircularLayoutStrategy&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Layout/vtkClustering2DLayoutStrategy.h b/Infovis/Layout/vtkClustering2DLayoutStrategy.h
index 5d3b94dda5..95848246e4 100644
--- a/Infovis/Layout/vtkClustering2DLayoutStrategy.h
+++ b/Infovis/Layout/vtkClustering2DLayoutStrategy.h
@@ -49,7 +49,7 @@ public:
   static vtkClustering2DLayoutStrategy *New();
 
   vtkTypeMacro(vtkClustering2DLayoutStrategy, vtkGraphLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -123,7 +123,7 @@ public:
    * This strategy sets up some data structures
    * for faster processing of each Layout() call
    */
-  virtual void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   /**
    * This is the layout method where the graph that was
@@ -132,17 +132,17 @@ public:
    * graph. If you have an iterative layout please implement
    * the IsLayoutComplete() method.
    */
-  virtual void Layout();
+  void Layout() VTK_OVERRIDE;
 
   /**
    * I'm an iterative layout so this method lets the caller
    * know if I'm done laying out the graph
    */
-  virtual int IsLayoutComplete() {return this->LayoutComplete;}
+  int IsLayoutComplete() VTK_OVERRIDE {return this->LayoutComplete;}
 
 protected:
   vtkClustering2DLayoutStrategy();
-  ~vtkClustering2DLayoutStrategy();
+  ~vtkClustering2DLayoutStrategy() VTK_OVERRIDE;
 
   int    MaxNumberOfIterations;  //Maximum number of iterations.
   float  InitialTemperature;
diff --git a/Infovis/Layout/vtkCommunity2DLayoutStrategy.h b/Infovis/Layout/vtkCommunity2DLayoutStrategy.h
index 433b79c990..c86cf1c0c3 100644
--- a/Infovis/Layout/vtkCommunity2DLayoutStrategy.h
+++ b/Infovis/Layout/vtkCommunity2DLayoutStrategy.h
@@ -50,7 +50,7 @@ public:
   static vtkCommunity2DLayoutStrategy *New();
 
   vtkTypeMacro(vtkCommunity2DLayoutStrategy, vtkGraphLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -125,7 +125,7 @@ public:
    * This strategy sets up some data structures
    * for faster processing of each Layout() call
    */
-  virtual void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   /**
    * This is the layout method where the graph that was
@@ -134,13 +134,13 @@ public:
    * graph. If you have an iterative layout please implement
    * the IsLayoutComplete() method.
    */
-  virtual void Layout();
+  void Layout() VTK_OVERRIDE;
 
   /**
    * I'm an iterative layout so this method lets the caller
    * know if I'm done laying out the graph
    */
-  virtual int IsLayoutComplete() {return this->LayoutComplete;}
+  int IsLayoutComplete() VTK_OVERRIDE {return this->LayoutComplete;}
 
   //@{
   /**
@@ -163,7 +163,7 @@ public:
 
 protected:
   vtkCommunity2DLayoutStrategy();
-  ~vtkCommunity2DLayoutStrategy();
+  ~vtkCommunity2DLayoutStrategy() VTK_OVERRIDE;
 
   int    MaxNumberOfIterations;  //Maximum number of iterations.
   float  InitialTemperature;
diff --git a/Infovis/Layout/vtkConeLayoutStrategy.h b/Infovis/Layout/vtkConeLayoutStrategy.h
index 3b073c93ee..e216903525 100644
--- a/Infovis/Layout/vtkConeLayoutStrategy.h
+++ b/Infovis/Layout/vtkConeLayoutStrategy.h
@@ -57,7 +57,7 @@ public:
   static vtkConeLayoutStrategy *New();
 
   vtkTypeMacro(vtkConeLayoutStrategy, vtkGraphLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -100,11 +100,11 @@ public:
   /**
    * Perform the layout.
    */
-  void Layout();
+  void Layout() VTK_OVERRIDE;
 
 protected:
   vtkConeLayoutStrategy();
-  ~vtkConeLayoutStrategy();
+  ~vtkConeLayoutStrategy() VTK_OVERRIDE;
 
   /**
    * Helper operations for tree layout.  Layout is performed
diff --git a/Infovis/Layout/vtkConstrained2DLayoutStrategy.h b/Infovis/Layout/vtkConstrained2DLayoutStrategy.h
index f02b3e40a7..601568dfa7 100644
--- a/Infovis/Layout/vtkConstrained2DLayoutStrategy.h
+++ b/Infovis/Layout/vtkConstrained2DLayoutStrategy.h
@@ -54,7 +54,7 @@ public:
   static vtkConstrained2DLayoutStrategy *New();
 
   vtkTypeMacro(vtkConstrained2DLayoutStrategy, vtkGraphLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -129,7 +129,7 @@ public:
    * This strategy sets up some data structures
    * for faster processing of each Layout() call
    */
-  virtual void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   /**
    * This is the layout method where the graph that was
@@ -138,13 +138,13 @@ public:
    * graph. If you have an iterative layout please implement
    * the IsLayoutComplete() method.
    */
-  virtual void Layout();
+  void Layout() VTK_OVERRIDE;
 
   /**
    * I'm an iterative layout so this method lets the caller
    * know if I'm done laying out the graph
    */
-  virtual int IsLayoutComplete() {return this->LayoutComplete;}
+  int IsLayoutComplete() VTK_OVERRIDE {return this->LayoutComplete;}
 
   //@{
   /**
@@ -157,7 +157,7 @@ public:
 
 protected:
   vtkConstrained2DLayoutStrategy();
-  ~vtkConstrained2DLayoutStrategy();
+  ~vtkConstrained2DLayoutStrategy() VTK_OVERRIDE;
 
   int    MaxNumberOfIterations;  //Maximum number of iterations.
   float  InitialTemperature;
diff --git a/Infovis/Layout/vtkCosmicTreeLayoutStrategy.h b/Infovis/Layout/vtkCosmicTreeLayoutStrategy.h
index ea0f0aa0b7..ee74bbe0d7 100644
--- a/Infovis/Layout/vtkCosmicTreeLayoutStrategy.h
+++ b/Infovis/Layout/vtkCosmicTreeLayoutStrategy.h
@@ -42,13 +42,13 @@ class VTKINFOVISLAYOUT_EXPORT vtkCosmicTreeLayoutStrategy : public vtkGraphLayou
 {
 public:
   static vtkCosmicTreeLayoutStrategy* New();
-  virtual void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
   vtkTypeMacro(vtkCosmicTreeLayoutStrategy,vtkGraphLayoutStrategy);
 
   /**
    * Perform the layout.
    */
-  virtual void Layout();
+  void Layout() VTK_OVERRIDE;
 
   //@{
   /**
@@ -113,7 +113,7 @@ protected:
   };
 
   vtkCosmicTreeLayoutStrategy();
-  virtual ~vtkCosmicTreeLayoutStrategy();
+  ~vtkCosmicTreeLayoutStrategy() VTK_OVERRIDE;
 
   /**
    * Recursive routine used to lay out tree nodes. Called from Layout().
diff --git a/Infovis/Layout/vtkEdgeLayout.h b/Infovis/Layout/vtkEdgeLayout.h
index 9db6dea2b8..345ba6cced 100644
--- a/Infovis/Layout/vtkEdgeLayout.h
+++ b/Infovis/Layout/vtkEdgeLayout.h
@@ -40,7 +40,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkEdgeLayout : public vtkGraphAlgorithm
 public:
   static vtkEdgeLayout *New();
   vtkTypeMacro(vtkEdgeLayout, vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -53,11 +53,11 @@ public:
   /**
    * Get the modification time of the layout algorithm.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkEdgeLayout();
-  ~vtkEdgeLayout();
+  ~vtkEdgeLayout() VTK_OVERRIDE;
 
   vtkEdgeLayoutStrategy* LayoutStrategy;
 
@@ -73,7 +73,7 @@ protected:
   int RequestData(
     vtkInformation *,
     vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
 
 private:
 
diff --git a/Infovis/Layout/vtkEdgeLayoutStrategy.h b/Infovis/Layout/vtkEdgeLayoutStrategy.h
index 98be7d6921..87b71c04b6 100644
--- a/Infovis/Layout/vtkEdgeLayoutStrategy.h
+++ b/Infovis/Layout/vtkEdgeLayoutStrategy.h
@@ -37,7 +37,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkEdgeLayoutStrategy : public vtkObject
 {
 public:
   vtkTypeMacro(vtkEdgeLayoutStrategy,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Setting the graph for the layout strategy
@@ -67,7 +67,7 @@ public:
 
 protected:
   vtkEdgeLayoutStrategy();
-  ~vtkEdgeLayoutStrategy();
+  ~vtkEdgeLayoutStrategy() VTK_OVERRIDE;
 
   vtkGraph *Graph;
   char     *EdgeWeightArrayName;
diff --git a/Infovis/Layout/vtkFast2DLayoutStrategy.h b/Infovis/Layout/vtkFast2DLayoutStrategy.h
index f29d83955e..2adb7c21b1 100644
--- a/Infovis/Layout/vtkFast2DLayoutStrategy.h
+++ b/Infovis/Layout/vtkFast2DLayoutStrategy.h
@@ -49,7 +49,7 @@ public:
   static vtkFast2DLayoutStrategy *New();
 
   vtkTypeMacro(vtkFast2DLayoutStrategy, vtkGraphLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -123,7 +123,7 @@ public:
    * This strategy sets up some data structures
    * for faster processing of each Layout() call
    */
-  virtual void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   /**
    * This is the layout method where the graph that was
@@ -132,17 +132,17 @@ public:
    * graph. If you have an iterative layout please implement
    * the IsLayoutComplete() method.
    */
-  virtual void Layout();
+  void Layout() VTK_OVERRIDE;
 
   /**
    * I'm an iterative layout so this method lets the caller
    * know if I'm done laying out the graph
    */
-  virtual int IsLayoutComplete() {return this->LayoutComplete;}
+  int IsLayoutComplete() VTK_OVERRIDE {return this->LayoutComplete;}
 
 protected:
   vtkFast2DLayoutStrategy();
-  ~vtkFast2DLayoutStrategy();
+  ~vtkFast2DLayoutStrategy() VTK_OVERRIDE;
 
   int    MaxNumberOfIterations;  //Maximum number of iterations.
   float  InitialTemperature;
diff --git a/Infovis/Layout/vtkForceDirectedLayoutStrategy.h b/Infovis/Layout/vtkForceDirectedLayoutStrategy.h
index 1001ac8de7..267c9d9d17 100644
--- a/Infovis/Layout/vtkForceDirectedLayoutStrategy.h
+++ b/Infovis/Layout/vtkForceDirectedLayoutStrategy.h
@@ -43,7 +43,7 @@ public:
   static vtkForceDirectedLayoutStrategy *New();
 
   vtkTypeMacro(vtkForceDirectedLayoutStrategy, vtkGraphLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -141,7 +141,7 @@ public:
    * This strategy sets up some data structures
    * for faster processing of each Layout() call
    */
-  virtual void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   /**
    * This is the layout method where the graph that was
@@ -150,17 +150,17 @@ public:
    * graph. If you have an iterative layout please implement
    * the IsLayoutComplete() method.
    */
-  virtual void Layout();
+  void Layout() VTK_OVERRIDE;
 
   /**
    * I'm an iterative layout so this method lets the caller
    * know if I'm done laying out the graph
    */
-  virtual int IsLayoutComplete() {return this->LayoutComplete;}
+  int IsLayoutComplete() VTK_OVERRIDE {return this->LayoutComplete;}
 
 protected:
   vtkForceDirectedLayoutStrategy();
-  ~vtkForceDirectedLayoutStrategy();
+  ~vtkForceDirectedLayoutStrategy() VTK_OVERRIDE;
 
   double GraphBounds[6];
   int   AutomaticBoundsComputation;  //Boolean controls automatic bounds calc.
diff --git a/Infovis/Layout/vtkGeoEdgeStrategy.h b/Infovis/Layout/vtkGeoEdgeStrategy.h
index 612a8b0e7e..83191980f3 100644
--- a/Infovis/Layout/vtkGeoEdgeStrategy.h
+++ b/Infovis/Layout/vtkGeoEdgeStrategy.h
@@ -38,7 +38,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkGeoEdgeStrategy : public vtkEdgeLayoutStrategy
 public:
   static vtkGeoEdgeStrategy *New();
   vtkTypeMacro(vtkGeoEdgeStrategy,vtkEdgeLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -74,11 +74,11 @@ public:
   /**
    * Perform the layout.
    */
-  virtual void Layout();
+  void Layout() VTK_OVERRIDE;
 
 protected:
   vtkGeoEdgeStrategy();
-  ~vtkGeoEdgeStrategy() {}
+  ~vtkGeoEdgeStrategy() VTK_OVERRIDE {}
 
   double GlobeRadius;
   double ExplodeFactor;
diff --git a/Infovis/Layout/vtkGeoMath.h b/Infovis/Layout/vtkGeoMath.h
index cce6513c63..307cb0b044 100644
--- a/Infovis/Layout/vtkGeoMath.h
+++ b/Infovis/Layout/vtkGeoMath.h
@@ -36,7 +36,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkGeoMath : public vtkObject
 public:
   static vtkGeoMath *New();
   vtkTypeMacro(vtkGeoMath, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Returns the average radius of the earth in meters.
@@ -58,7 +58,7 @@ public:
 
 protected:
   vtkGeoMath();
-  ~vtkGeoMath();
+  ~vtkGeoMath() VTK_OVERRIDE;
 
 private:
   vtkGeoMath(const vtkGeoMath&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Layout/vtkGraphLayout.h b/Infovis/Layout/vtkGraphLayout.h
index a53c29aebf..976fddbc17 100644
--- a/Infovis/Layout/vtkGraphLayout.h
+++ b/Infovis/Layout/vtkGraphLayout.h
@@ -46,7 +46,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkGraphLayout : public vtkGraphAlgorithm
 public:
   static vtkGraphLayout *New();
   vtkTypeMacro(vtkGraphLayout, vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -64,7 +64,7 @@ public:
   /**
    * Get the modification time of the layout algorithm.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -96,7 +96,7 @@ public:
 
 protected:
   vtkGraphLayout();
-  ~vtkGraphLayout();
+  ~vtkGraphLayout() VTK_OVERRIDE;
 
   vtkGraphLayoutStrategy* LayoutStrategy;
 
@@ -106,7 +106,7 @@ protected:
    */
   vtkEventForwarderCommand *EventForwarder;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
 
diff --git a/Infovis/Layout/vtkGraphLayoutStrategy.h b/Infovis/Layout/vtkGraphLayoutStrategy.h
index 70882246b7..ea953da410 100644
--- a/Infovis/Layout/vtkGraphLayoutStrategy.h
+++ b/Infovis/Layout/vtkGraphLayoutStrategy.h
@@ -46,7 +46,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkGraphLayoutStrategy : public vtkObject
 {
 public:
   vtkTypeMacro(vtkGraphLayoutStrategy,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Setting the graph for the layout strategy
@@ -94,7 +94,7 @@ public:
 
 protected:
   vtkGraphLayoutStrategy();
-  ~vtkGraphLayoutStrategy();
+  ~vtkGraphLayoutStrategy() VTK_OVERRIDE;
 
   vtkGraph *Graph;
   char     *EdgeWeightField;
diff --git a/Infovis/Layout/vtkIncrementalForceLayout.h b/Infovis/Layout/vtkIncrementalForceLayout.h
index 5749cf46ee..b430425cf3 100644
--- a/Infovis/Layout/vtkIncrementalForceLayout.h
+++ b/Infovis/Layout/vtkIncrementalForceLayout.h
@@ -40,7 +40,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkIncrementalForceLayout : public vtkObject
 {
 public:
   vtkTypeMacro(vtkIncrementalForceLayout, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
   static vtkIncrementalForceLayout* New();
 
   //@{
@@ -139,7 +139,7 @@ public:
 
 protected:
   vtkIncrementalForceLayout();
-  ~vtkIncrementalForceLayout();
+  ~vtkIncrementalForceLayout() VTK_OVERRIDE;
 
   vtkGraph* Graph;
   class Implementation;
diff --git a/Infovis/Layout/vtkKCoreLayout.h b/Infovis/Layout/vtkKCoreLayout.h
index 4f76968fe4..5e2a86f51a 100644
--- a/Infovis/Layout/vtkKCoreLayout.h
+++ b/Infovis/Layout/vtkKCoreLayout.h
@@ -61,15 +61,15 @@ class VTKINFOVISLAYOUT_EXPORT vtkKCoreLayout : public vtkGraphAlgorithm
 public:
   static vtkKCoreLayout* New();
   vtkTypeMacro(vtkKCoreLayout,vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /// Convenience function provided for setting the graph input.
   void SetGraphConnection(vtkAlgorithmOutput*);
 
   vtkKCoreLayout();
-  ~vtkKCoreLayout();
+  ~vtkKCoreLayout() VTK_OVERRIDE;
 
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   //@{
   /**
@@ -160,7 +160,7 @@ public:
   //@}
 
 
-  int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
+  int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   char * KCoreLabelArrayName;
diff --git a/Infovis/Layout/vtkPassThroughEdgeStrategy.h b/Infovis/Layout/vtkPassThroughEdgeStrategy.h
index 03c30d3045..89b953d658 100644
--- a/Infovis/Layout/vtkPassThroughEdgeStrategy.h
+++ b/Infovis/Layout/vtkPassThroughEdgeStrategy.h
@@ -36,17 +36,17 @@ class VTKINFOVISLAYOUT_EXPORT vtkPassThroughEdgeStrategy : public vtkEdgeLayoutS
 public:
   static vtkPassThroughEdgeStrategy* New();
   vtkTypeMacro(vtkPassThroughEdgeStrategy,vtkEdgeLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * This is the layout method where the graph that was
    * set in SetGraph() is laid out.
    */
-  virtual void Layout();
+  void Layout() VTK_OVERRIDE;
 
 protected:
   vtkPassThroughEdgeStrategy();
-  ~vtkPassThroughEdgeStrategy();
+  ~vtkPassThroughEdgeStrategy() VTK_OVERRIDE;
 
 private:
   vtkPassThroughEdgeStrategy(const vtkPassThroughEdgeStrategy&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Layout/vtkPassThroughLayoutStrategy.h b/Infovis/Layout/vtkPassThroughLayoutStrategy.h
index 7c010bfe53..af99471411 100644
--- a/Infovis/Layout/vtkPassThroughLayoutStrategy.h
+++ b/Infovis/Layout/vtkPassThroughLayoutStrategy.h
@@ -39,14 +39,14 @@ public:
   static vtkPassThroughLayoutStrategy *New();
 
   vtkTypeMacro(vtkPassThroughLayoutStrategy, vtkGraphLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 
   /**
    * This strategy sets up some data structures
    * for faster processing of each Layout() call
    */
-  virtual void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   /**
    * This is the layout method where the graph that was
@@ -55,17 +55,17 @@ public:
    * graph. If you have an iterative layout please implement
    * the IsLayoutComplete() method.
    */
-  virtual void Layout();
+  void Layout() VTK_OVERRIDE;
 
   /**
    * I'm an iterative layout so this method lets the caller
    * know if I'm done laying out the graph
    */
-  virtual int IsLayoutComplete() {return 1;}
+  int IsLayoutComplete() VTK_OVERRIDE {return 1;}
 
 protected:
   vtkPassThroughLayoutStrategy();
-  ~vtkPassThroughLayoutStrategy();
+  ~vtkPassThroughLayoutStrategy() VTK_OVERRIDE;
 
 private:
 
diff --git a/Infovis/Layout/vtkPerturbCoincidentVertices.h b/Infovis/Layout/vtkPerturbCoincidentVertices.h
index 324fcaac17..d32dfc5956 100644
--- a/Infovis/Layout/vtkPerturbCoincidentVertices.h
+++ b/Infovis/Layout/vtkPerturbCoincidentVertices.h
@@ -43,7 +43,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkPerturbCoincidentVertices : public vtkGraphAlgo
 public:
   static vtkPerturbCoincidentVertices* New();
   vtkTypeMacro(vtkPerturbCoincidentVertices,vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -55,12 +55,12 @@ public:
 
 protected:
   vtkPerturbCoincidentVertices();
-  ~vtkPerturbCoincidentVertices();
+  ~vtkPerturbCoincidentVertices() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
 private:
 
diff --git a/Infovis/Layout/vtkRandomLayoutStrategy.h b/Infovis/Layout/vtkRandomLayoutStrategy.h
index 129cdaa1d8..0d61e55010 100644
--- a/Infovis/Layout/vtkRandomLayoutStrategy.h
+++ b/Infovis/Layout/vtkRandomLayoutStrategy.h
@@ -41,7 +41,7 @@ public:
   static vtkRandomLayoutStrategy *New();
 
   vtkTypeMacro(vtkRandomLayoutStrategy, vtkGraphLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -88,16 +88,16 @@ public:
   /**
    * Set the graph to layout.
    */
-  void SetGraph(vtkGraph *graph);
+  void SetGraph(vtkGraph *graph) VTK_OVERRIDE;
 
   /**
    * Perform the random layout.
    */
-  void Layout();
+  void Layout() VTK_OVERRIDE;
 
 protected:
   vtkRandomLayoutStrategy();
-  ~vtkRandomLayoutStrategy();
+  ~vtkRandomLayoutStrategy() VTK_OVERRIDE;
 
   int RandomSeed;
   double GraphBounds[6];
diff --git a/Infovis/Layout/vtkSimple2DLayoutStrategy.h b/Infovis/Layout/vtkSimple2DLayoutStrategy.h
index a9576f6e34..b92153ef50 100644
--- a/Infovis/Layout/vtkSimple2DLayoutStrategy.h
+++ b/Infovis/Layout/vtkSimple2DLayoutStrategy.h
@@ -46,7 +46,7 @@ public:
   static vtkSimple2DLayoutStrategy *New();
 
   vtkTypeMacro(vtkSimple2DLayoutStrategy, vtkGraphLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -132,7 +132,7 @@ public:
    * This strategy sets up some data structures
    * for faster processing of each Layout() call
    */
-  virtual void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   /**
    * This is the layout method where the graph that was
@@ -141,17 +141,17 @@ public:
    * graph. If you have an iterative layout please implement
    * the IsLayoutComplete() method.
    */
-  virtual void Layout();
+  void Layout() VTK_OVERRIDE;
 
   /**
    * I'm an iterative layout so this method lets the caller
    * know if I'm done laying out the graph
    */
-  virtual int IsLayoutComplete() {return this->LayoutComplete;}
+  int IsLayoutComplete() VTK_OVERRIDE {return this->LayoutComplete;}
 
 protected:
   vtkSimple2DLayoutStrategy();
-  ~vtkSimple2DLayoutStrategy();
+  ~vtkSimple2DLayoutStrategy() VTK_OVERRIDE;
 
   int    MaxNumberOfIterations;  //Maximum number of iterations.
   float  InitialTemperature;
diff --git a/Infovis/Layout/vtkSimple3DCirclesStrategy.h b/Infovis/Layout/vtkSimple3DCirclesStrategy.h
index 9bad45bb85..27350f0173 100644
--- a/Infovis/Layout/vtkSimple3DCirclesStrategy.h
+++ b/Infovis/Layout/vtkSimple3DCirclesStrategy.h
@@ -54,7 +54,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkSimple3DCirclesStrategy : public vtkGraphLayout
 public:
   static vtkSimple3DCirclesStrategy * New();
   vtkTypeMacro(vtkSimple3DCirclesStrategy,vtkGraphLayoutStrategy);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   enum
   {
@@ -168,15 +168,15 @@ public:
   /**
    * Standard layout method
    */
-  virtual void Layout( void );
+  void Layout( void ) VTK_OVERRIDE;
   /**
    * Set graph (warning: HierarchicalOrder and HierarchicalLayers will set to zero. These reference counts will be decreased!)
    */
-  virtual void SetGraph( vtkGraph * graph );
+  void SetGraph( vtkGraph * graph ) VTK_OVERRIDE;
 protected:
 
   vtkSimple3DCirclesStrategy( void );
-  virtual ~vtkSimple3DCirclesStrategy( void );
+  ~vtkSimple3DCirclesStrategy( void ) VTK_OVERRIDE;
 
   inline void Transform( double Local[], double Global[] );
 
diff --git a/Infovis/Layout/vtkSliceAndDiceLayoutStrategy.h b/Infovis/Layout/vtkSliceAndDiceLayoutStrategy.h
index 5c744ad428..bffa0cd173 100644
--- a/Infovis/Layout/vtkSliceAndDiceLayoutStrategy.h
+++ b/Infovis/Layout/vtkSliceAndDiceLayoutStrategy.h
@@ -43,7 +43,7 @@ public:
   static vtkSliceAndDiceLayoutStrategy *New();
 
   vtkTypeMacro(vtkSliceAndDiceLayoutStrategy,vtkTreeMapLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform the layout of a tree and place the results as 4-tuples in
@@ -52,11 +52,11 @@ public:
   void Layout(
       vtkTree* inputTree,
       vtkDataArray* coordsArray,
-      vtkDataArray* sizeArray);
+      vtkDataArray* sizeArray) VTK_OVERRIDE;
 
 protected:
   vtkSliceAndDiceLayoutStrategy();
-  ~vtkSliceAndDiceLayoutStrategy();
+  ~vtkSliceAndDiceLayoutStrategy() VTK_OVERRIDE;
 
 private:
   vtkSliceAndDiceLayoutStrategy(const vtkSliceAndDiceLayoutStrategy&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Layout/vtkSpanTreeLayoutStrategy.h b/Infovis/Layout/vtkSpanTreeLayoutStrategy.h
index a44f76e8c3..b55800b00c 100644
--- a/Infovis/Layout/vtkSpanTreeLayoutStrategy.h
+++ b/Infovis/Layout/vtkSpanTreeLayoutStrategy.h
@@ -71,7 +71,7 @@ public:
   static vtkSpanTreeLayoutStrategy *New();
 
   vtkTypeMacro(vtkSpanTreeLayoutStrategy, vtkGraphLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -89,11 +89,11 @@ public:
   /**
    * Perform the layout.
    */
-  void Layout();
+  void Layout() VTK_OVERRIDE;
 
 protected:
   vtkSpanTreeLayoutStrategy();
-  ~vtkSpanTreeLayoutStrategy();
+  ~vtkSpanTreeLayoutStrategy() VTK_OVERRIDE;
 
   vtkGraphLayoutStrategy *TreeLayout;
   bool DepthFirstSpanningTree;
diff --git a/Infovis/Layout/vtkSplineGraphEdges.h b/Infovis/Layout/vtkSplineGraphEdges.h
index f9b0a6526b..f464b969f7 100644
--- a/Infovis/Layout/vtkSplineGraphEdges.h
+++ b/Infovis/Layout/vtkSplineGraphEdges.h
@@ -41,7 +41,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkSplineGraphEdges : public vtkGraphAlgorithm
 public:
   static vtkSplineGraphEdges *New();
   vtkTypeMacro(vtkSplineGraphEdges,vtkGraphAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -77,14 +77,14 @@ public:
 
 protected:
   vtkSplineGraphEdges();
-  ~vtkSplineGraphEdges();
+  ~vtkSplineGraphEdges() VTK_OVERRIDE;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation *,
     vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   void GeneratePoints(vtkGraph* g, vtkIdType e);
   void GenerateBSpline(vtkGraph* g, vtkIdType e);
diff --git a/Infovis/Layout/vtkSquarifyLayoutStrategy.h b/Infovis/Layout/vtkSquarifyLayoutStrategy.h
index 88ebde3457..75860d58de 100644
--- a/Infovis/Layout/vtkSquarifyLayoutStrategy.h
+++ b/Infovis/Layout/vtkSquarifyLayoutStrategy.h
@@ -47,7 +47,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkSquarifyLayoutStrategy : public vtkTreeMapLayou
 public:
   static vtkSquarifyLayoutStrategy *New();
   vtkTypeMacro(vtkSquarifyLayoutStrategy,vtkTreeMapLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform the layout of a tree and place the results as 4-tuples in
@@ -56,11 +56,11 @@ public:
   void Layout(
       vtkTree* inputTree,
       vtkDataArray* coordsArray,
-      vtkDataArray* sizeArray);
+      vtkDataArray* sizeArray) VTK_OVERRIDE;
 
 protected:
   vtkSquarifyLayoutStrategy();
-  ~vtkSquarifyLayoutStrategy();
+  ~vtkSquarifyLayoutStrategy() VTK_OVERRIDE;
 
 private:
 
diff --git a/Infovis/Layout/vtkStackedTreeLayoutStrategy.h b/Infovis/Layout/vtkStackedTreeLayoutStrategy.h
index e9c6f517c8..74974ff900 100644
--- a/Infovis/Layout/vtkStackedTreeLayoutStrategy.h
+++ b/Infovis/Layout/vtkStackedTreeLayoutStrategy.h
@@ -49,7 +49,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkStackedTreeLayoutStrategy :
 public:
   static vtkStackedTreeLayoutStrategy* New();
   vtkTypeMacro(vtkStackedTreeLayoutStrategy,vtkAreaLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform the layout of the input tree, and store the sector
@@ -57,15 +57,15 @@ public:
    * (innerRadius, outerRadius, startAngle, endAngle)
    * in a data array.
    */
-  virtual void Layout(vtkTree *inputTree, vtkDataArray *sectorArray,
-      vtkDataArray* sizeArray);
+  void Layout(vtkTree *inputTree, vtkDataArray *sectorArray,
+      vtkDataArray* sizeArray) VTK_OVERRIDE;
 
   /**
    * Fill edgeRoutingTree with points suitable for routing edges of
    * an overlaid graph.
    */
-  virtual void LayoutEdgePoints(vtkTree *inputTree, vtkDataArray *sectorArray,
-      vtkDataArray* sizeArray, vtkTree *edgeRoutingTree);
+  void LayoutEdgePoints(vtkTree *inputTree, vtkDataArray *sectorArray,
+      vtkDataArray* sizeArray, vtkTree *edgeRoutingTree) VTK_OVERRIDE;
 
   //@{
   /**
@@ -138,11 +138,11 @@ public:
   /**
    * Returns the vertex id that contains pnt (or -1 if no one contains it).
    */
-  virtual vtkIdType FindVertex(vtkTree* tree, vtkDataArray* array, float pnt[2]);
+  vtkIdType FindVertex(vtkTree* tree, vtkDataArray* array, float pnt[2]) VTK_OVERRIDE;
 
 protected:
   vtkStackedTreeLayoutStrategy();
-  ~vtkStackedTreeLayoutStrategy();
+  ~vtkStackedTreeLayoutStrategy() VTK_OVERRIDE;
 
   float InteriorRadius;
   float RingThickness;
diff --git a/Infovis/Layout/vtkTreeLayoutStrategy.h b/Infovis/Layout/vtkTreeLayoutStrategy.h
index 82ee7f9e31..5e8566abe4 100644
--- a/Infovis/Layout/vtkTreeLayoutStrategy.h
+++ b/Infovis/Layout/vtkTreeLayoutStrategy.h
@@ -52,12 +52,12 @@ public:
   static vtkTreeLayoutStrategy *New();
 
   vtkTypeMacro(vtkTreeLayoutStrategy, vtkGraphLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform the tree layout.
    */
-  void Layout();
+  void Layout() VTK_OVERRIDE;
 
   //@{
   /**
@@ -132,7 +132,7 @@ public:
 
 protected:
   vtkTreeLayoutStrategy();
-  ~vtkTreeLayoutStrategy();
+  ~vtkTreeLayoutStrategy() VTK_OVERRIDE;
 
   double Angle;
   bool Radial;
diff --git a/Infovis/Layout/vtkTreeMapLayout.h b/Infovis/Layout/vtkTreeMapLayout.h
index 485bcbfae3..688c4df9c3 100644
--- a/Infovis/Layout/vtkTreeMapLayout.h
+++ b/Infovis/Layout/vtkTreeMapLayout.h
@@ -54,7 +54,7 @@ public:
   static vtkTreeMapLayout *New();
 
   vtkTypeMacro(vtkTreeMapLayout,vtkTreeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -94,16 +94,16 @@ public:
   /**
    * Get the modification time of the layout algorithm.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkTreeMapLayout();
-  ~vtkTreeMapLayout();
+  ~vtkTreeMapLayout() VTK_OVERRIDE;
 
   char * RectanglesFieldName;
   vtkTreeMapLayoutStrategy* LayoutStrategy;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
 private:
 
diff --git a/Infovis/Layout/vtkTreeMapLayoutStrategy.h b/Infovis/Layout/vtkTreeMapLayoutStrategy.h
index 13ed39bfb7..1274fbed45 100644
--- a/Infovis/Layout/vtkTreeMapLayoutStrategy.h
+++ b/Infovis/Layout/vtkTreeMapLayoutStrategy.h
@@ -49,17 +49,17 @@ class VTKINFOVISLAYOUT_EXPORT vtkTreeMapLayoutStrategy : public vtkAreaLayoutStr
 {
 public:
   vtkTypeMacro(vtkTreeMapLayoutStrategy, vtkAreaLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Find the vertex at a certain location, or -1 if none found.
    */
-  virtual vtkIdType FindVertex(
-      vtkTree* tree, vtkDataArray* areaArray, float pnt[2]);
+  vtkIdType FindVertex(
+      vtkTree* tree, vtkDataArray* areaArray, float pnt[2]) VTK_OVERRIDE;
 
 protected:
   vtkTreeMapLayoutStrategy();
-  ~vtkTreeMapLayoutStrategy();
+  ~vtkTreeMapLayoutStrategy() VTK_OVERRIDE;
   void AddBorder( float *boxInfo);
 private:
   vtkTreeMapLayoutStrategy(const vtkTreeMapLayoutStrategy&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Layout/vtkTreeMapToPolyData.h b/Infovis/Layout/vtkTreeMapToPolyData.h
index d0c1509dd4..e99dfdf5d5 100644
--- a/Infovis/Layout/vtkTreeMapToPolyData.h
+++ b/Infovis/Layout/vtkTreeMapToPolyData.h
@@ -38,7 +38,7 @@ class VTKINFOVISLAYOUT_EXPORT vtkTreeMapToPolyData : public vtkPolyDataAlgorithm
 public:
   static vtkTreeMapToPolyData *New();
   vtkTypeMacro(vtkTreeMapToPolyData,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * The field containing quadruples of the form (min x, max x, min y, max y)
@@ -74,16 +74,16 @@ public:
   vtkSetMacro(AddNormals, bool);
   //@}
 
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 protected:
   vtkTreeMapToPolyData();
-  ~vtkTreeMapToPolyData();
+  ~vtkTreeMapToPolyData() VTK_OVERRIDE;
 
   double LevelDeltaZ;
   bool AddNormals;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 private:
   vtkTreeMapToPolyData(const vtkTreeMapToPolyData&) VTK_DELETE_FUNCTION;
   void operator=(const vtkTreeMapToPolyData&) VTK_DELETE_FUNCTION;
diff --git a/Infovis/Layout/vtkTreeOrbitLayoutStrategy.h b/Infovis/Layout/vtkTreeOrbitLayoutStrategy.h
index 0e58ea46ca..767501ebdf 100644
--- a/Infovis/Layout/vtkTreeOrbitLayoutStrategy.h
+++ b/Infovis/Layout/vtkTreeOrbitLayoutStrategy.h
@@ -36,12 +36,12 @@ public:
   static vtkTreeOrbitLayoutStrategy *New();
 
   vtkTypeMacro(vtkTreeOrbitLayoutStrategy, vtkGraphLayoutStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform the orbital layout.
    */
-  void Layout();
+  void Layout() VTK_OVERRIDE;
 
   //@{
   /**
@@ -76,7 +76,7 @@ public:
 
 protected:
   vtkTreeOrbitLayoutStrategy();
-  ~vtkTreeOrbitLayoutStrategy();
+  ~vtkTreeOrbitLayoutStrategy() VTK_OVERRIDE;
 
   void OrbitChildren(vtkTree *t, vtkPoints *p, vtkIdType parent, double radius);
 
diff --git a/Infovis/Layout/vtkTreeRingToPolyData.h b/Infovis/Layout/vtkTreeRingToPolyData.h
index d761fe52c3..7a81801c50 100644
--- a/Infovis/Layout/vtkTreeRingToPolyData.h
+++ b/Infovis/Layout/vtkTreeRingToPolyData.h
@@ -41,7 +41,7 @@ public:
   static vtkTreeRingToPolyData *New();
 
   vtkTypeMacro(vtkTreeRingToPolyData,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * The field containing quadruples of the form (start angle, end angle,
@@ -61,15 +61,15 @@ public:
   vtkGetMacro(ShrinkPercentage, double);
   //@}
 
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 protected:
   vtkTreeRingToPolyData();
-  ~vtkTreeRingToPolyData();
+  ~vtkTreeRingToPolyData() VTK_OVERRIDE;
 
   double ShrinkPercentage;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 private:
   vtkTreeRingToPolyData(const vtkTreeRingToPolyData&) VTK_DELETE_FUNCTION;
   void operator=(const vtkTreeRingToPolyData&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Image/vtkImageViewer.h b/Interaction/Image/vtkImageViewer.h
index f320b1376e..71c7f009ec 100644
--- a/Interaction/Image/vtkImageViewer.h
+++ b/Interaction/Image/vtkImageViewer.h
@@ -43,7 +43,7 @@ public:
   static vtkImageViewer *New();
 
   vtkTypeMacro(vtkImageViewer,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get name of rendering window
@@ -147,7 +147,7 @@ public:
 
 protected:
   vtkImageViewer();
-  ~vtkImageViewer();
+  ~vtkImageViewer() VTK_OVERRIDE;
 
   vtkRenderWindow *RenderWindow;
   vtkRenderer *Renderer;
diff --git a/Interaction/Image/vtkImageViewer2.h b/Interaction/Image/vtkImageViewer2.h
index 06b443b9fb..4d4b3437b0 100644
--- a/Interaction/Image/vtkImageViewer2.h
+++ b/Interaction/Image/vtkImageViewer2.h
@@ -77,7 +77,7 @@ class VTKINTERACTIONIMAGE_EXPORT vtkImageViewer2 : public vtkObject
 public:
   static vtkImageViewer2 *New();
   vtkTypeMacro(vtkImageViewer2,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the name of rendering window.
@@ -229,7 +229,7 @@ public:
 
 protected:
   vtkImageViewer2();
-  ~vtkImageViewer2();
+  ~vtkImageViewer2() VTK_OVERRIDE;
 
   virtual void InstallPipeline();
   virtual void UnInstallPipeline();
diff --git a/Interaction/Image/vtkResliceImageViewer.h b/Interaction/Image/vtkResliceImageViewer.h
index 08b65f32ba..9ff0683733 100644
--- a/Interaction/Image/vtkResliceImageViewer.h
+++ b/Interaction/Image/vtkResliceImageViewer.h
@@ -51,28 +51,28 @@ public:
    */
   static vtkResliceImageViewer *New();
   vtkTypeMacro(vtkResliceImageViewer,vtkImageViewer2);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Render the resulting image.
    */
-  virtual void Render();
+  void Render() VTK_OVERRIDE;
 
   //@{
   /**
    * Set/Get the input image to the viewer.
    */
-  virtual void SetInputData(vtkImageData *in);
-  virtual void SetInputConnection(vtkAlgorithmOutput* input);
+  void SetInputData(vtkImageData *in) VTK_OVERRIDE;
+  void SetInputConnection(vtkAlgorithmOutput* input) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Set window and level for mapping pixels to colors.
    */
-  virtual void SetColorWindow(double s);
-  virtual void SetColorLevel(double s);
+  void SetColorWindow(double s) VTK_OVERRIDE;
+  void SetColorLevel(double s) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -171,12 +171,12 @@ public:
 
 protected:
   vtkResliceImageViewer();
-  ~vtkResliceImageViewer();
+  ~vtkResliceImageViewer() VTK_OVERRIDE;
 
-  virtual void InstallPipeline();
-  virtual void UnInstallPipeline();
-  virtual void UpdateOrientation();
-  virtual void UpdateDisplayExtent();
+  void InstallPipeline() VTK_OVERRIDE;
+  void UnInstallPipeline() VTK_OVERRIDE;
+  void UpdateOrientation() VTK_OVERRIDE;
+  void UpdateDisplayExtent() VTK_OVERRIDE;
   virtual void UpdatePointPlacer();
 
   //@{
diff --git a/Interaction/Image/vtkResliceImageViewerMeasurements.h b/Interaction/Image/vtkResliceImageViewerMeasurements.h
index c63cab41c9..86a4101206 100644
--- a/Interaction/Image/vtkResliceImageViewerMeasurements.h
+++ b/Interaction/Image/vtkResliceImageViewerMeasurements.h
@@ -52,7 +52,7 @@ public:
    */
   static vtkResliceImageViewerMeasurements *New();
   vtkTypeMacro(vtkResliceImageViewerMeasurements,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -106,7 +106,7 @@ public:
 
 protected:
   vtkResliceImageViewerMeasurements();
-  ~vtkResliceImageViewerMeasurements();
+  ~vtkResliceImageViewerMeasurements() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Interaction/Style/vtkInteractorStyleDrawPolygon.h b/Interaction/Style/vtkInteractorStyleDrawPolygon.h
index fa3fad03ef..becc8b0b5b 100644
--- a/Interaction/Style/vtkInteractorStyleDrawPolygon.h
+++ b/Interaction/Style/vtkInteractorStyleDrawPolygon.h
@@ -37,15 +37,15 @@ class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleDrawPolygon : public vtkInter
 public:
   static vtkInteractorStyleDrawPolygon *New();
   vtkTypeMacro(vtkInteractorStyleDrawPolygon, vtkInteractorStyle);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Event bindings
    */
-  virtual void OnMouseMove();
-  virtual void OnLeftButtonDown();
-  virtual void OnLeftButtonUp();
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
   //@}
 
   //@{
@@ -64,7 +64,7 @@ public:
 
 protected:
   vtkInteractorStyleDrawPolygon();
-  ~vtkInteractorStyleDrawPolygon();
+  ~vtkInteractorStyleDrawPolygon() VTK_OVERRIDE;
 
   virtual void DrawPolygon();
 
diff --git a/Interaction/Style/vtkInteractorStyleFlight.h b/Interaction/Style/vtkInteractorStyleFlight.h
index de42fe61db..4e2a8e029b 100644
--- a/Interaction/Style/vtkInteractorStyleFlight.h
+++ b/Interaction/Style/vtkInteractorStyleFlight.h
@@ -48,7 +48,7 @@ class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleFlight : public vtkInteractor
 public:
   static vtkInteractorStyleFlight *New();
   vtkTypeMacro(vtkInteractorStyleFlight,vtkInteractorStyle);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Move the Eye/Camera to a specific location (no intermediate
@@ -118,23 +118,23 @@ public:
   /**
    * Concrete implementation of Mouse event bindings for flight
    */
-  virtual void OnMouseMove();
-  virtual void OnLeftButtonDown();
-  virtual void OnLeftButtonUp();
-  virtual void OnMiddleButtonDown();
-  virtual void OnMiddleButtonUp();
-  virtual void OnRightButtonDown();
-  virtual void OnRightButtonUp();
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
+  void OnMiddleButtonDown() VTK_OVERRIDE;
+  void OnMiddleButtonUp() VTK_OVERRIDE;
+  void OnRightButtonDown() VTK_OVERRIDE;
+  void OnRightButtonUp() VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Concrete implementation of Keyboard event bindings for flight
    */
-  virtual void OnChar();
-  virtual void OnKeyDown();
-  virtual void OnKeyUp();
-  virtual void OnTimer();
+  void OnChar() VTK_OVERRIDE;
+  void OnKeyDown() VTK_OVERRIDE;
+  void OnKeyUp() VTK_OVERRIDE;
+  void OnTimer() VTK_OVERRIDE;
   //
   virtual void ForwardFly();
   virtual void ReverseFly();
@@ -147,7 +147,7 @@ public:
 
 protected:
    vtkInteractorStyleFlight();
-  ~vtkInteractorStyleFlight();
+  ~vtkInteractorStyleFlight() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Interaction/Style/vtkInteractorStyleImage.h b/Interaction/Style/vtkInteractorStyleImage.h
index 2b9b1b565f..9902a5200d 100644
--- a/Interaction/Style/vtkInteractorStyleImage.h
+++ b/Interaction/Style/vtkInteractorStyleImage.h
@@ -81,7 +81,7 @@ class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleImage : public vtkInteractorS
 public:
   static vtkInteractorStyleImage *New();
   vtkTypeMacro(vtkInteractorStyleImage, vtkInteractorStyleTrackballCamera);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -96,19 +96,19 @@ public:
    * Event bindings controlling the effects of pressing mouse buttons
    * or moving the mouse.
    */
-  virtual void OnMouseMove();
-  virtual void OnLeftButtonDown();
-  virtual void OnLeftButtonUp();
-  virtual void OnMiddleButtonDown();
-  virtual void OnMiddleButtonUp();
-  virtual void OnRightButtonDown();
-  virtual void OnRightButtonUp();
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
+  void OnMiddleButtonDown() VTK_OVERRIDE;
+  void OnMiddleButtonUp() VTK_OVERRIDE;
+  void OnRightButtonDown() VTK_OVERRIDE;
+  void OnRightButtonUp() VTK_OVERRIDE;
   //@}
 
   /**
    * Override the "fly-to" (f keypress) for images.
    */
-  virtual void OnChar();
+  void OnChar() VTK_OVERRIDE;
 
   // These methods for the different interactions in different modes
   // are overridden in subclasses to perform the correct motion. Since
@@ -198,7 +198,7 @@ public:
 
 protected:
   vtkInteractorStyleImage();
-  ~vtkInteractorStyleImage();
+  ~vtkInteractorStyleImage() VTK_OVERRIDE;
 
   int WindowLevelStartPosition[2];
   int WindowLevelCurrentPosition[2];
diff --git a/Interaction/Style/vtkInteractorStyleJoystickActor.h b/Interaction/Style/vtkInteractorStyleJoystickActor.h
index 8d5ced505d..c7390ada25 100644
--- a/Interaction/Style/vtkInteractorStyleJoystickActor.h
+++ b/Interaction/Style/vtkInteractorStyleJoystickActor.h
@@ -47,35 +47,35 @@ public:
   static vtkInteractorStyleJoystickActor *New();
 
   vtkTypeMacro(vtkInteractorStyleJoystickActor,vtkInteractorStyle);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Event bindings controlling the effects of pressing mouse buttons
    * or moving the mouse.
    */
-  virtual void OnMouseMove();
-  virtual void OnLeftButtonDown();
-  virtual void OnLeftButtonUp();
-  virtual void OnMiddleButtonDown();
-  virtual void OnMiddleButtonUp();
-  virtual void OnRightButtonDown();
-  virtual void OnRightButtonUp();
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
+  void OnMiddleButtonDown() VTK_OVERRIDE;
+  void OnMiddleButtonUp() VTK_OVERRIDE;
+  void OnRightButtonDown() VTK_OVERRIDE;
+  void OnRightButtonUp() VTK_OVERRIDE;
   //@}
 
   // These methods for the different interactions in different modes
   // are overridden in subclasses to perform the correct motion. Since
   // they might be called from OnTimer, they do not have mouse coord parameters
   // (use interactor's GetEventPosition and GetLastEventPosition)
-  virtual void Rotate();
-  virtual void Spin();
-  virtual void Pan();
-  virtual void Dolly();
-  virtual void UniformScale();
+  void Rotate() VTK_OVERRIDE;
+  void Spin() VTK_OVERRIDE;
+  void Pan() VTK_OVERRIDE;
+  void Dolly() VTK_OVERRIDE;
+  void UniformScale() VTK_OVERRIDE;
 
 protected:
   vtkInteractorStyleJoystickActor();
-  ~vtkInteractorStyleJoystickActor();
+  ~vtkInteractorStyleJoystickActor() VTK_OVERRIDE;
 
   void FindPickedActor(int x, int y);
 
diff --git a/Interaction/Style/vtkInteractorStyleJoystickCamera.h b/Interaction/Style/vtkInteractorStyleJoystickCamera.h
index da9125646a..400918bfb3 100644
--- a/Interaction/Style/vtkInteractorStyleJoystickCamera.h
+++ b/Interaction/Style/vtkInteractorStyleJoystickCamera.h
@@ -44,36 +44,36 @@ class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleJoystickCamera : public vtkIn
 public:
   static vtkInteractorStyleJoystickCamera *New();
   vtkTypeMacro(vtkInteractorStyleJoystickCamera,vtkInteractorStyle);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Event bindings controlling the effects of pressing mouse buttons
    * or moving the mouse.
    */
-  virtual void OnMouseMove();
-  virtual void OnLeftButtonDown();
-  virtual void OnLeftButtonUp();
-  virtual void OnMiddleButtonDown();
-  virtual void OnMiddleButtonUp();
-  virtual void OnRightButtonDown();
-  virtual void OnRightButtonUp();
-  virtual void OnMouseWheelForward();
-  virtual void OnMouseWheelBackward();
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
+  void OnMiddleButtonDown() VTK_OVERRIDE;
+  void OnMiddleButtonUp() VTK_OVERRIDE;
+  void OnRightButtonDown() VTK_OVERRIDE;
+  void OnRightButtonUp() VTK_OVERRIDE;
+  void OnMouseWheelForward() VTK_OVERRIDE;
+  void OnMouseWheelBackward() VTK_OVERRIDE;
   //@}
 
   // These methods for the different interactions in different modes
   // are overridden in subclasses to perform the correct motion. Since
   // they are called by OnTimer, they do not have mouse coord parameters
   // (use interactor's GetEventPosition and GetLastEventPosition)
-  virtual void Rotate();
-  virtual void Spin();
-  virtual void Pan();
-  virtual void Dolly();
+  void Rotate() VTK_OVERRIDE;
+  void Spin() VTK_OVERRIDE;
+  void Pan() VTK_OVERRIDE;
+  void Dolly() VTK_OVERRIDE;
 
 protected:
   vtkInteractorStyleJoystickCamera();
-  ~vtkInteractorStyleJoystickCamera();
+  ~vtkInteractorStyleJoystickCamera() VTK_OVERRIDE;
 
   virtual void Dolly(double factor);
 
diff --git a/Interaction/Style/vtkInteractorStyleMultiTouchCamera.h b/Interaction/Style/vtkInteractorStyleMultiTouchCamera.h
index 4851e524a5..c116bbd4c6 100644
--- a/Interaction/Style/vtkInteractorStyleMultiTouchCamera.h
+++ b/Interaction/Style/vtkInteractorStyleMultiTouchCamera.h
@@ -37,20 +37,20 @@ class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleMultiTouchCamera : public vtk
 public:
   static vtkInteractorStyleMultiTouchCamera *New();
   vtkTypeMacro(vtkInteractorStyleMultiTouchCamera,vtkInteractorStyleTrackballCamera);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Event bindings for gestures
    */
-  virtual void OnRotate();
-  virtual void OnPinch();
-  virtual void OnPan();
+  void OnRotate() VTK_OVERRIDE;
+  void OnPinch() VTK_OVERRIDE;
+  void OnPan() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkInteractorStyleMultiTouchCamera();
-  ~vtkInteractorStyleMultiTouchCamera();
+  ~vtkInteractorStyleMultiTouchCamera() VTK_OVERRIDE;
 
 private:
   vtkInteractorStyleMultiTouchCamera(const vtkInteractorStyleMultiTouchCamera&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Style/vtkInteractorStyleRubberBand2D.h b/Interaction/Style/vtkInteractorStyleRubberBand2D.h
index 148c468020..a0e4912e59 100644
--- a/Interaction/Style/vtkInteractorStyleRubberBand2D.h
+++ b/Interaction/Style/vtkInteractorStyleRubberBand2D.h
@@ -50,17 +50,17 @@ class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleRubberBand2D : public vtkInte
 public:
   static vtkInteractorStyleRubberBand2D *New();
   vtkTypeMacro(vtkInteractorStyleRubberBand2D, vtkInteractorStyle);
-  void PrintSelf(ostream& os, vtkIndent indent);
-
-  virtual void OnLeftButtonDown();
-  virtual void OnLeftButtonUp();
-  virtual void OnMiddleButtonDown();
-  virtual void OnMiddleButtonUp();
-  virtual void OnRightButtonDown();
-  virtual void OnRightButtonUp();
-  virtual void OnMouseMove();
-  virtual void OnMouseWheelForward();
-  virtual void OnMouseWheelBackward();
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
+
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
+  void OnMiddleButtonDown() VTK_OVERRIDE;
+  void OnMiddleButtonUp() VTK_OVERRIDE;
+  void OnRightButtonDown() VTK_OVERRIDE;
+  void OnRightButtonUp() VTK_OVERRIDE;
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnMouseWheelForward() VTK_OVERRIDE;
+  void OnMouseWheelBackward() VTK_OVERRIDE;
 
   //@{
   /**
@@ -107,7 +107,7 @@ public:
 
 protected:
   vtkInteractorStyleRubberBand2D();
-  ~vtkInteractorStyleRubberBand2D();
+  ~vtkInteractorStyleRubberBand2D() VTK_OVERRIDE;
 
   // The interaction mode
   int Interaction;
diff --git a/Interaction/Style/vtkInteractorStyleRubberBand3D.h b/Interaction/Style/vtkInteractorStyleRubberBand3D.h
index db34d2fd2d..b9ff8e5f7a 100644
--- a/Interaction/Style/vtkInteractorStyleRubberBand3D.h
+++ b/Interaction/Style/vtkInteractorStyleRubberBand3D.h
@@ -48,17 +48,17 @@ class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleRubberBand3D : public vtkInte
 public:
   static vtkInteractorStyleRubberBand3D *New();
   vtkTypeMacro(vtkInteractorStyleRubberBand3D, vtkInteractorStyleTrackballCamera);
-  void PrintSelf(ostream& os, vtkIndent indent);
-
-  virtual void OnLeftButtonDown();
-  virtual void OnLeftButtonUp();
-  virtual void OnMiddleButtonDown();
-  virtual void OnMiddleButtonUp();
-  virtual void OnRightButtonDown();
-  virtual void OnRightButtonUp();
-  virtual void OnMouseMove();
-  virtual void OnMouseWheelForward();
-  virtual void OnMouseWheelBackward();
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
+
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
+  void OnMiddleButtonDown() VTK_OVERRIDE;
+  void OnMiddleButtonUp() VTK_OVERRIDE;
+  void OnRightButtonDown() VTK_OVERRIDE;
+  void OnRightButtonUp() VTK_OVERRIDE;
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnMouseWheelForward() VTK_OVERRIDE;
+  void OnMouseWheelBackward() VTK_OVERRIDE;
 
   //@{
   /**
@@ -106,7 +106,7 @@ public:
 
 protected:
   vtkInteractorStyleRubberBand3D();
-  ~vtkInteractorStyleRubberBand3D();
+  ~vtkInteractorStyleRubberBand3D() VTK_OVERRIDE;
 
   // The interaction mode
   int Interaction;
diff --git a/Interaction/Style/vtkInteractorStyleRubberBandPick.h b/Interaction/Style/vtkInteractorStyleRubberBandPick.h
index b0932efb43..4330eacbe9 100644
--- a/Interaction/Style/vtkInteractorStyleRubberBandPick.h
+++ b/Interaction/Style/vtkInteractorStyleRubberBandPick.h
@@ -42,7 +42,7 @@ class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleRubberBandPick : public vtkIn
 public:
   static vtkInteractorStyleRubberBandPick *New();
   vtkTypeMacro(vtkInteractorStyleRubberBandPick, vtkInteractorStyleTrackballCamera);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   void StartSelect();
 
@@ -50,15 +50,15 @@ public:
   /**
    * Event bindings
    */
-  virtual void OnMouseMove();
-  virtual void OnLeftButtonDown();
-  virtual void OnLeftButtonUp();
-  virtual void OnChar();
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
+  void OnChar() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkInteractorStyleRubberBandPick();
-  ~vtkInteractorStyleRubberBandPick();
+  ~vtkInteractorStyleRubberBandPick() VTK_OVERRIDE;
 
   virtual void Pick();
   void RedrawRubberBand();
diff --git a/Interaction/Style/vtkInteractorStyleRubberBandZoom.h b/Interaction/Style/vtkInteractorStyleRubberBandZoom.h
index f337624262..eb67914cac 100644
--- a/Interaction/Style/vtkInteractorStyleRubberBandZoom.h
+++ b/Interaction/Style/vtkInteractorStyleRubberBandZoom.h
@@ -35,22 +35,22 @@ class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleRubberBandZoom : public vtkIn
 public:
   static vtkInteractorStyleRubberBandZoom *New();
   vtkTypeMacro(vtkInteractorStyleRubberBandZoom, vtkInteractorStyle);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Event bindings
    */
-  virtual void OnMouseMove();
-  virtual void OnLeftButtonDown();
-  virtual void OnLeftButtonUp();
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkInteractorStyleRubberBandZoom();
-  ~vtkInteractorStyleRubberBandZoom();
+  ~vtkInteractorStyleRubberBandZoom() VTK_OVERRIDE;
 
-  virtual void Zoom();
+  void Zoom() VTK_OVERRIDE;
 
   int StartPosition[2];
   int EndPosition[2];
diff --git a/Interaction/Style/vtkInteractorStyleSwitch.h b/Interaction/Style/vtkInteractorStyleSwitch.h
index 6c387941e7..d471f0d187 100644
--- a/Interaction/Style/vtkInteractorStyleSwitch.h
+++ b/Interaction/Style/vtkInteractorStyleSwitch.h
@@ -50,18 +50,18 @@ class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleSwitch
 public:
   static vtkInteractorStyleSwitch *New();
   vtkTypeMacro(vtkInteractorStyleSwitch, vtkInteractorStyleSwitchBase);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * The sub styles need the interactor too.
    */
-  void SetInteractor(vtkRenderWindowInteractor *iren);
+  void SetInteractor(vtkRenderWindowInteractor *iren) VTK_OVERRIDE;
 
   /**
    * We must override this method in order to pass the setting down to
    * the underlying styles
    */
-  void SetAutoAdjustCameraClippingRange( int value );
+  void SetAutoAdjustCameraClippingRange( int value ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -79,20 +79,20 @@ public:
    * Only care about the char event, which is used to switch between
    * different styles.
    */
-  virtual void OnChar();
+  void OnChar() VTK_OVERRIDE;
 
   //@{
   /**
    * Overridden from vtkInteractorObserver because the interactor styles
    * used by this class must also be updated.
    */
-  virtual void SetDefaultRenderer(vtkRenderer*);
-  virtual void SetCurrentRenderer(vtkRenderer*);
+  void SetDefaultRenderer(vtkRenderer*) VTK_OVERRIDE;
+  void SetCurrentRenderer(vtkRenderer*) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkInteractorStyleSwitch();
-  ~vtkInteractorStyleSwitch();
+  ~vtkInteractorStyleSwitch() VTK_OVERRIDE;
 
   void SetCurrentStyle();
 
diff --git a/Interaction/Style/vtkInteractorStyleTerrain.h b/Interaction/Style/vtkInteractorStyleTerrain.h
index a12b17ec92..1f92c56f40 100644
--- a/Interaction/Style/vtkInteractorStyleTerrain.h
+++ b/Interaction/Style/vtkInteractorStyleTerrain.h
@@ -65,32 +65,32 @@ public:
   static vtkInteractorStyleTerrain *New();
 
   vtkTypeMacro(vtkInteractorStyleTerrain,vtkInteractorStyle);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Event bindings controlling the effects of pressing mouse buttons
    * or moving the mouse.
    */
-  virtual void OnMouseMove();
-  virtual void OnLeftButtonDown();
-  virtual void OnLeftButtonUp();
-  virtual void OnMiddleButtonDown();
-  virtual void OnMiddleButtonUp();
-  virtual void OnRightButtonDown();
-  virtual void OnRightButtonUp();
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
+  void OnMiddleButtonDown() VTK_OVERRIDE;
+  void OnMiddleButtonUp() VTK_OVERRIDE;
+  void OnRightButtonDown() VTK_OVERRIDE;
+  void OnRightButtonUp() VTK_OVERRIDE;
   //@}
 
   /**
    * Override the "fly-to" (f keypress) for images.
    */
-  virtual void OnChar();
+  void OnChar() VTK_OVERRIDE;
 
   // These methods for the different interactions in different modes
   // are overridden in subclasses to perform the correct motion.
-  virtual void Rotate();
-  virtual void Pan();
-  virtual void Dolly();
+  void Rotate() VTK_OVERRIDE;
+  void Pan() VTK_OVERRIDE;
+  void Dolly() VTK_OVERRIDE;
 
   //@{
   /**
@@ -103,7 +103,7 @@ public:
 
 protected:
   vtkInteractorStyleTerrain();
-  ~vtkInteractorStyleTerrain();
+  ~vtkInteractorStyleTerrain() VTK_OVERRIDE;
 
   // Internal helper attributes
   int LatLongLines;
diff --git a/Interaction/Style/vtkInteractorStyleTrackball.h b/Interaction/Style/vtkInteractorStyleTrackball.h
index 6cf0586a67..91bafd1178 100644
--- a/Interaction/Style/vtkInteractorStyleTrackball.h
+++ b/Interaction/Style/vtkInteractorStyleTrackball.h
@@ -36,11 +36,11 @@ class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleTrackball : public vtkInterac
 public:
   static vtkInteractorStyleTrackball *New();
   vtkTypeMacro(vtkInteractorStyleTrackball,vtkInteractorStyleSwitch);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkInteractorStyleTrackball();
-  ~vtkInteractorStyleTrackball();
+  ~vtkInteractorStyleTrackball() VTK_OVERRIDE;
 
 private:
   vtkInteractorStyleTrackball(const vtkInteractorStyleTrackball&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Style/vtkInteractorStyleTrackballActor.h b/Interaction/Style/vtkInteractorStyleTrackballActor.h
index 5d0203f430..4528e18cb9 100644
--- a/Interaction/Style/vtkInteractorStyleTrackballActor.h
+++ b/Interaction/Style/vtkInteractorStyleTrackballActor.h
@@ -47,35 +47,35 @@ class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleTrackballActor : public vtkIn
 public:
   static vtkInteractorStyleTrackballActor *New();
   vtkTypeMacro(vtkInteractorStyleTrackballActor,vtkInteractorStyle);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Event bindings controlling the effects of pressing mouse buttons
    * or moving the mouse.
    */
-  virtual void OnMouseMove();
-  virtual void OnLeftButtonDown();
-  virtual void OnLeftButtonUp();
-  virtual void OnMiddleButtonDown();
-  virtual void OnMiddleButtonUp();
-  virtual void OnRightButtonDown();
-  virtual void OnRightButtonUp();
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
+  void OnMiddleButtonDown() VTK_OVERRIDE;
+  void OnMiddleButtonUp() VTK_OVERRIDE;
+  void OnRightButtonDown() VTK_OVERRIDE;
+  void OnRightButtonUp() VTK_OVERRIDE;
   //@}
 
   // These methods for the different interactions in different modes
   // are overridden in subclasses to perform the correct motion. Since
   // they might be called from OnTimer, they do not have mouse coord parameters
   // (use interactor's GetEventPosition and GetLastEventPosition)
-  virtual void Rotate();
-  virtual void Spin();
-  virtual void Pan();
-  virtual void Dolly();
-  virtual void UniformScale();
+  void Rotate() VTK_OVERRIDE;
+  void Spin() VTK_OVERRIDE;
+  void Pan() VTK_OVERRIDE;
+  void Dolly() VTK_OVERRIDE;
+  void UniformScale() VTK_OVERRIDE;
 
 protected:
   vtkInteractorStyleTrackballActor();
-  ~vtkInteractorStyleTrackballActor();
+  ~vtkInteractorStyleTrackballActor() VTK_OVERRIDE;
 
   void FindPickedActor(int x, int y);
 
diff --git a/Interaction/Style/vtkInteractorStyleTrackballCamera.h b/Interaction/Style/vtkInteractorStyleTrackballCamera.h
index 72f5ea62e8..ba552fd239 100644
--- a/Interaction/Style/vtkInteractorStyleTrackballCamera.h
+++ b/Interaction/Style/vtkInteractorStyleTrackballCamera.h
@@ -43,32 +43,32 @@ class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleTrackballCamera : public vtkI
 public:
   static vtkInteractorStyleTrackballCamera *New();
   vtkTypeMacro(vtkInteractorStyleTrackballCamera,vtkInteractorStyle);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Event bindings controlling the effects of pressing mouse buttons
    * or moving the mouse.
    */
-  virtual void OnMouseMove();
-  virtual void OnLeftButtonDown();
-  virtual void OnLeftButtonUp();
-  virtual void OnMiddleButtonDown();
-  virtual void OnMiddleButtonUp();
-  virtual void OnRightButtonDown();
-  virtual void OnRightButtonUp();
-  virtual void OnMouseWheelForward();
-  virtual void OnMouseWheelBackward();
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
+  void OnMiddleButtonDown() VTK_OVERRIDE;
+  void OnMiddleButtonUp() VTK_OVERRIDE;
+  void OnRightButtonDown() VTK_OVERRIDE;
+  void OnRightButtonUp() VTK_OVERRIDE;
+  void OnMouseWheelForward() VTK_OVERRIDE;
+  void OnMouseWheelBackward() VTK_OVERRIDE;
   //@}
 
   // These methods for the different interactions in different modes
   // are overridden in subclasses to perform the correct motion. Since
   // they are called by OnTimer, they do not have mouse coord parameters
   // (use interactor's GetEventPosition and GetLastEventPosition)
-  virtual void Rotate();
-  virtual void Spin();
-  virtual void Pan();
-  virtual void Dolly();
+  void Rotate() VTK_OVERRIDE;
+  void Spin() VTK_OVERRIDE;
+  void Pan() VTK_OVERRIDE;
+  void Dolly() VTK_OVERRIDE;
 
   //@{
   /**
@@ -80,7 +80,7 @@ public:
 
 protected:
   vtkInteractorStyleTrackballCamera();
-  ~vtkInteractorStyleTrackballCamera();
+  ~vtkInteractorStyleTrackballCamera() VTK_OVERRIDE;
 
   double MotionFactor;
 
diff --git a/Interaction/Style/vtkInteractorStyleUnicam.h b/Interaction/Style/vtkInteractorStyleUnicam.h
index 6fa06d99a8..c08de134ba 100644
--- a/Interaction/Style/vtkInteractorStyleUnicam.h
+++ b/Interaction/Style/vtkInteractorStyleUnicam.h
@@ -111,7 +111,7 @@ class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleUnicam : public vtkInteractor
 public:
   static vtkInteractorStyleUnicam *New();
   vtkTypeMacro(vtkInteractorStyleUnicam,vtkInteractorStyle);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   void SetWorldUpVector(double a[3]) {this->SetWorldUpVector(a[0],a[1],a[2]);}
   void SetWorldUpVector(double x, double y, double z);
@@ -121,9 +121,9 @@ public:
   /**
    * Concrete implementation of event bindings
    */
-  virtual void OnMouseMove();
-  virtual void OnLeftButtonDown();
-  virtual void OnLeftButtonUp();
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
   virtual void OnLeftButtonMove();
   //@}
 
@@ -131,11 +131,11 @@ public:
    * OnTimer calls RotateCamera, RotateActor etc which should be overridden by
    * style subclasses.
    */
-  virtual void OnTimer();
+  void OnTimer() VTK_OVERRIDE;
 
 protected:
   vtkInteractorStyleUnicam();
-  virtual ~vtkInteractorStyleUnicam();
+  ~vtkInteractorStyleUnicam() VTK_OVERRIDE;
 
   vtkWorldPointPicker *InteractionPicker;
 
diff --git a/Interaction/Style/vtkInteractorStyleUser.h b/Interaction/Style/vtkInteractorStyleUser.h
index 2fe00ddad2..c044c2d375 100644
--- a/Interaction/Style/vtkInteractorStyleUser.h
+++ b/Interaction/Style/vtkInteractorStyleUser.h
@@ -44,7 +44,7 @@ class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleUser : public vtkInteractorSt
 public:
   static vtkInteractorStyleUser *New();
   vtkTypeMacro(vtkInteractorStyleUser,vtkInteractorStyle);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -101,42 +101,42 @@ public:
   /**
    * Generic event bindings
    */
-  virtual void OnMouseMove();
-  virtual void OnLeftButtonDown();
-  virtual void OnLeftButtonUp();
-  virtual void OnMiddleButtonDown();
-  virtual void OnMiddleButtonUp();
-  virtual void OnRightButtonDown();
-  virtual void OnRightButtonUp();
-  virtual void OnMouseWheelForward();
-  virtual void OnMouseWheelBackward();
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
+  void OnMiddleButtonDown() VTK_OVERRIDE;
+  void OnMiddleButtonUp() VTK_OVERRIDE;
+  void OnRightButtonDown() VTK_OVERRIDE;
+  void OnRightButtonUp() VTK_OVERRIDE;
+  void OnMouseWheelForward() VTK_OVERRIDE;
+  void OnMouseWheelBackward() VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Keyboard functions
    */
-  virtual void OnChar();
-  virtual void OnKeyPress();
-  virtual void OnKeyRelease();
+  void OnChar() VTK_OVERRIDE;
+  void OnKeyPress() VTK_OVERRIDE;
+  void OnKeyRelease() VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * These are more esoteric events, but are useful in some cases.
    */
-  virtual void OnExpose();
-  virtual void OnConfigure();
-  virtual void OnEnter();
-  virtual void OnLeave();
+  void OnExpose() VTK_OVERRIDE;
+  void OnConfigure() VTK_OVERRIDE;
+  void OnEnter() VTK_OVERRIDE;
+  void OnLeave() VTK_OVERRIDE;
   //@}
 
-  virtual void OnTimer();
+  void OnTimer() VTK_OVERRIDE;
 
 protected:
 
   vtkInteractorStyleUser();
-  ~vtkInteractorStyleUser();
+  ~vtkInteractorStyleUser() VTK_OVERRIDE;
 
   int LastPos[2];
   int OldPos[2];
diff --git a/Interaction/Style/vtkParallelCoordinatesInteractorStyle.h b/Interaction/Style/vtkParallelCoordinatesInteractorStyle.h
index 0e910a8e33..55fd6cbc01 100644
--- a/Interaction/Style/vtkParallelCoordinatesInteractorStyle.h
+++ b/Interaction/Style/vtkParallelCoordinatesInteractorStyle.h
@@ -55,7 +55,7 @@ class VTKINTERACTIONSTYLE_EXPORT vtkParallelCoordinatesInteractorStyle : public
 public:
   static vtkParallelCoordinatesInteractorStyle *New();
   vtkTypeMacro(vtkParallelCoordinatesInteractorStyle, vtkInteractorStyleTrackballCamera);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum {
     INTERACT_HOVER=0,
@@ -87,14 +87,14 @@ public:
    * Event bindings controlling the effects of pressing mouse buttons
    * or moving the mouse.
    */
-  virtual void OnMouseMove();
-  virtual void OnLeftButtonDown();
-  virtual void OnLeftButtonUp();
-  virtual void OnMiddleButtonDown();
-  virtual void OnMiddleButtonUp();
-  virtual void OnRightButtonDown();
-  virtual void OnRightButtonUp();
-  virtual void OnLeave();
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
+  void OnMiddleButtonDown() VTK_OVERRIDE;
+  void OnMiddleButtonUp() VTK_OVERRIDE;
+  void OnRightButtonDown() VTK_OVERRIDE;
+  void OnRightButtonUp() VTK_OVERRIDE;
+  void OnLeave() VTK_OVERRIDE;
   //@}
 
   //@{
@@ -104,25 +104,25 @@ public:
   //@}
 
   //@{
-  virtual void StartZoom();
-  virtual void Zoom();
-  virtual void EndZoom();
+  void StartZoom() VTK_OVERRIDE;
+  void Zoom() VTK_OVERRIDE;
+  void EndZoom() VTK_OVERRIDE;
   //@}
 
   //@{
-  virtual void StartPan();
-  virtual void Pan();
-  virtual void EndPan();
+  void StartPan() VTK_OVERRIDE;
+  void Pan() VTK_OVERRIDE;
+  void EndPan() VTK_OVERRIDE;
   //@}
 
   /**
    * Override the "fly-to" (f keypress) for images.
    */
-  virtual void OnChar();
+  void OnChar() VTK_OVERRIDE;
 
 protected:
   vtkParallelCoordinatesInteractorStyle();
-  ~vtkParallelCoordinatesInteractorStyle();
+  ~vtkParallelCoordinatesInteractorStyle() VTK_OVERRIDE;
 
   int CursorStartPosition[2];
   int CursorCurrentPosition[2];
diff --git a/Interaction/Widgets/vtk3DWidget.h b/Interaction/Widgets/vtk3DWidget.h
index e26c04f412..0fa9a51499 100644
--- a/Interaction/Widgets/vtk3DWidget.h
+++ b/Interaction/Widgets/vtk3DWidget.h
@@ -68,7 +68,7 @@ class VTKINTERACTIONWIDGETS_EXPORT vtk3DWidget : public vtkInteractorObserver
 {
 public:
   vtkTypeMacro(vtk3DWidget,vtkInteractorObserver);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -132,7 +132,7 @@ public:
 
 protected:
   vtk3DWidget();
-  ~vtk3DWidget();
+  ~vtk3DWidget() VTK_OVERRIDE;
 
   // Used to position and scale the widget initially
   vtkProp3D *Prop3D;
diff --git a/Interaction/Widgets/vtkAbstractPolygonalHandleRepresentation3D.h b/Interaction/Widgets/vtkAbstractPolygonalHandleRepresentation3D.h
index fac83d03e0..4ad380bd5f 100644
--- a/Interaction/Widgets/vtkAbstractPolygonalHandleRepresentation3D.h
+++ b/Interaction/Widgets/vtkAbstractPolygonalHandleRepresentation3D.h
@@ -56,15 +56,15 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkAbstractPolygonalHandleRepresentation3D,vtkHandleRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Set the position of the point in world and display coordinates.
    */
-  virtual void SetWorldPosition(double p[3]);
-  virtual void SetDisplayPosition(double p[3]);
+  void SetWorldPosition(double p[3]) VTK_OVERRIDE;
+  void SetDisplayPosition(double p[3]) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -95,24 +95,24 @@ public:
   /**
    * Methods to make this class properly act like a vtkWidgetRepresentation.
    */
-  virtual void BuildRepresentation();
-  virtual void StartWidgetInteraction(double eventPos[2]);
-  virtual void WidgetInteraction(double eventPos[2]);
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
+  void BuildRepresentation() VTK_OVERRIDE;
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods to make this class behave as a vtkProp.
    */
-  virtual void ShallowCopy(vtkProp *prop);
-  virtual void DeepCopy(vtkProp *prop);
-  virtual void GetActors(vtkPropCollection *);
-  virtual void ReleaseGraphicsResources(vtkWindow *);
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
-  virtual int HasTranslucentPolygonalGeometry();
-  virtual double *GetBounds();
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
+  void DeepCopy(vtkProp *prop) VTK_OVERRIDE;
+  void GetActors(vtkPropCollection *) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
+  double *GetBounds() VTK_OVERRIDE;
   //@}
 
   //@{
@@ -163,7 +163,7 @@ public:
   vtkBooleanMacro( HandleVisibility, int );
   //@}
 
-  void Highlight(int highlight);
+  void Highlight(int highlight) VTK_OVERRIDE;
 
   //@{
   /**
@@ -184,7 +184,7 @@ public:
 
 protected:
   vtkAbstractPolygonalHandleRepresentation3D();
-  ~vtkAbstractPolygonalHandleRepresentation3D();
+  ~vtkAbstractPolygonalHandleRepresentation3D() VTK_OVERRIDE;
 
   vtkActor                   * Actor;
   vtkPolyDataMapper          * Mapper;
@@ -202,7 +202,7 @@ protected:
   int                          HandleVisibility;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Methods to manipulate the cursor
   virtual void Translate(double *p1, double *p2);
diff --git a/Interaction/Widgets/vtkAbstractWidget.h b/Interaction/Widgets/vtkAbstractWidget.h
index d805a0bb15..a2c28ea9d6 100644
--- a/Interaction/Widgets/vtkAbstractWidget.h
+++ b/Interaction/Widgets/vtkAbstractWidget.h
@@ -68,7 +68,7 @@ public:
    * Standard macros implementing standard VTK methods.
    */
   vtkTypeMacro(vtkAbstractWidget,vtkInteractorObserver);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -78,7 +78,7 @@ public:
    * to interaction. If ProcessEvents is Off, enabling/disabling a widget
    * merely affects the visibility of the representation.
    */
-  virtual void SetEnabled(int);
+  void SetEnabled(int) VTK_OVERRIDE;
 
   //@{
   /**
@@ -156,11 +156,11 @@ public:
    * priority of the widget. Unlike the superclass documentation, no
    * methods such as SetInteractor to null and reset it etc. are necessary
    */
-  virtual void SetPriority( float );
+  void SetPriority( float ) VTK_OVERRIDE;
 
 protected:
   vtkAbstractWidget();
-  ~vtkAbstractWidget();
+  ~vtkAbstractWidget() VTK_OVERRIDE;
 
   // Handles the events; centralized here for all widgets.
   static void ProcessEventsHandler(vtkObject* object, unsigned long event,
diff --git a/Interaction/Widgets/vtkAffineRepresentation.h b/Interaction/Widgets/vtkAffineRepresentation.h
index 25fb29db4d..7ae7fd8dc5 100644
--- a/Interaction/Widgets/vtkAffineRepresentation.h
+++ b/Interaction/Widgets/vtkAffineRepresentation.h
@@ -52,7 +52,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkAffineRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -87,11 +87,11 @@ public:
   /**
    * Methods to make this class properly act like a vtkWidgetRepresentation.
    */
-  virtual void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
 protected:
   vtkAffineRepresentation();
-  ~vtkAffineRepresentation();
+  ~vtkAffineRepresentation() VTK_OVERRIDE;
 
   // The tolerance for selecting different parts of the widget.
   int Tolerance;
diff --git a/Interaction/Widgets/vtkAffineRepresentation2D.h b/Interaction/Widgets/vtkAffineRepresentation2D.h
index 811d9e6a45..287473558e 100644
--- a/Interaction/Widgets/vtkAffineRepresentation2D.h
+++ b/Interaction/Widgets/vtkAffineRepresentation2D.h
@@ -69,7 +69,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkAffineRepresentation2D,vtkAffineRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -107,7 +107,7 @@ public:
    * scale, translate, rotate, shear) are concatenated with the internal
    * transform.
    */
-  virtual void GetTransform(vtkTransform *t);
+  void GetTransform(vtkTransform *t) VTK_OVERRIDE;
 
   //@{
   /**
@@ -140,34 +140,34 @@ public:
    * transformation matrix (i.e., sets it to identity). It also sets the
    * origin for scaling and rotation.
    */
-  virtual void PlaceWidget(double bounds[6]);
-  virtual void StartWidgetInteraction(double eventPos[2]);
-  virtual void WidgetInteraction(double eventPos[2]);
-  virtual void EndWidgetInteraction(double eventPos[2]);
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void BuildRepresentation();
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void EndWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods to make this class behave as a vtkProp.
    */
-  virtual void ShallowCopy(vtkProp *prop);
-  virtual void GetActors2D(vtkPropCollection *);
-  virtual void ReleaseGraphicsResources(vtkWindow *);
-  virtual int RenderOverlay(vtkViewport *viewport);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
+  void GetActors2D(vtkPropCollection *) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkAffineRepresentation2D();
-  ~vtkAffineRepresentation2D();
+  ~vtkAffineRepresentation2D() VTK_OVERRIDE;
 
   // Methods to manipulate the cursor
   void Translate(double eventPos[2]);
   void Scale(double eventPos[2]);
   void Rotate(double eventPos[2]);
   void Shear(double eventPos[2]);
-  void Highlight(int highlight);
+  void Highlight(int highlight) VTK_OVERRIDE;
   void UpdateText(const char *text, double eventPos[2]);
 
   // The width of the widget in normalized viewport coordinates.
diff --git a/Interaction/Widgets/vtkAffineWidget.h b/Interaction/Widgets/vtkAffineWidget.h
index 8c9ad33be0..bd5b1d0e46 100644
--- a/Interaction/Widgets/vtkAffineWidget.h
+++ b/Interaction/Widgets/vtkAffineWidget.h
@@ -77,7 +77,7 @@ public:
    * Standard VTK class macros.
    */
   vtkTypeMacro(vtkAffineWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -97,18 +97,18 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
   /**
    * Methods for activating this widget. This implementation extends the
    * superclasses' in order to resize the widget handles due to a render
    * start event.
    */
-  virtual void SetEnabled(int);
+  void SetEnabled(int) VTK_OVERRIDE;
 
 protected:
   vtkAffineWidget();
-  ~vtkAffineWidget();
+  ~vtkAffineWidget() VTK_OVERRIDE;
 
   // These are the callbacks for this widget
   static void SelectAction(vtkAbstractWidget*);
@@ -117,7 +117,7 @@ protected:
   static void ModifyEventAction(vtkAbstractWidget*);
 
   // helper methods for cursor management
-  void SetCursor(int state);
+  void SetCursor(int state) VTK_OVERRIDE;
 
   // Manage the state of the widget
   int WidgetState;
diff --git a/Interaction/Widgets/vtkAngleRepresentation.h b/Interaction/Widgets/vtkAngleRepresentation.h
index 75c2c56930..2cc056a38c 100644
--- a/Interaction/Widgets/vtkAngleRepresentation.h
+++ b/Interaction/Widgets/vtkAngleRepresentation.h
@@ -44,7 +44,7 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkAngleRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -137,16 +137,16 @@ public:
   /**
    * These are methods that satisfy vtkWidgetRepresentation's API.
    */
-  virtual void BuildRepresentation();
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void StartWidgetInteraction(double e[2]);
+  void BuildRepresentation() VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void StartWidgetInteraction(double e[2]) VTK_OVERRIDE;
   virtual void CenterWidgetInteraction(double e[2]);
-  virtual void WidgetInteraction(double e[2]);
+  void WidgetInteraction(double e[2]) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkAngleRepresentation();
-  ~vtkAngleRepresentation();
+  ~vtkAngleRepresentation() VTK_OVERRIDE;
 
   // The handle and the rep used to close the handles
   vtkHandleRepresentation *HandleRepresentation;
diff --git a/Interaction/Widgets/vtkAngleRepresentation2D.h b/Interaction/Widgets/vtkAngleRepresentation2D.h
index 1267b0852e..14480664ca 100644
--- a/Interaction/Widgets/vtkAngleRepresentation2D.h
+++ b/Interaction/Widgets/vtkAngleRepresentation2D.h
@@ -51,13 +51,13 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkAngleRepresentation2D,vtkAngleRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Satisfy the superclasses API.
    */
-  virtual double GetAngle();
+  double GetAngle() VTK_OVERRIDE;
 
   //@{
   /**
@@ -65,15 +65,15 @@ public:
    * this representation. Note that methods are available for both
    * display and world coordinates.
    */
-  virtual void GetPoint1WorldPosition(double pos[3]);
-  virtual void GetCenterWorldPosition(double pos[3]);
-  virtual void GetPoint2WorldPosition(double pos[3]);
-  virtual void SetPoint1DisplayPosition(double pos[3]);
-  virtual void SetCenterDisplayPosition(double pos[3]);
-  virtual void SetPoint2DisplayPosition(double pos[3]);
-  virtual void GetPoint1DisplayPosition(double pos[3]);
-  virtual void GetCenterDisplayPosition(double pos[3]);
-  virtual void GetPoint2DisplayPosition(double pos[3]);
+  void GetPoint1WorldPosition(double pos[3]) VTK_OVERRIDE;
+  void GetCenterWorldPosition(double pos[3]) VTK_OVERRIDE;
+  void GetPoint2WorldPosition(double pos[3]) VTK_OVERRIDE;
+  void SetPoint1DisplayPosition(double pos[3]) VTK_OVERRIDE;
+  void SetCenterDisplayPosition(double pos[3]) VTK_OVERRIDE;
+  void SetPoint2DisplayPosition(double pos[3]) VTK_OVERRIDE;
+  void GetPoint1DisplayPosition(double pos[3]) VTK_OVERRIDE;
+  void GetCenterDisplayPosition(double pos[3]) VTK_OVERRIDE;
+  void GetPoint2DisplayPosition(double pos[3]) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -91,19 +91,19 @@ public:
    * Method defined by vtkWidgetRepresentation superclass and
    * needed here.
    */
-  void BuildRepresentation();
+  void BuildRepresentation() VTK_OVERRIDE;
 
   //@{
   /**
    * Methods required by vtkProp superclass.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
-  virtual int RenderOverlay(vtkViewport *viewport);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkAngleRepresentation2D();
-  ~vtkAngleRepresentation2D();
+  ~vtkAngleRepresentation2D() VTK_OVERRIDE;
 
   // The pieces that make up the angle representations
   vtkLeaderActor2D *Ray1;
diff --git a/Interaction/Widgets/vtkAngleRepresentation3D.h b/Interaction/Widgets/vtkAngleRepresentation3D.h
index 71a99e802f..961ed6fc10 100644
--- a/Interaction/Widgets/vtkAngleRepresentation3D.h
+++ b/Interaction/Widgets/vtkAngleRepresentation3D.h
@@ -57,13 +57,13 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkAngleRepresentation3D,vtkAngleRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Satisfy the superclasses API. Angle returned is in radians.
    */
-  virtual double GetAngle();
+  double GetAngle() VTK_OVERRIDE;
 
   //@{
   /**
@@ -71,18 +71,18 @@ public:
    * this representation. Note that methods are available for both
    * display and world coordinates.
    */
-  virtual void GetPoint1WorldPosition(double pos[3]);
-  virtual void GetCenterWorldPosition(double pos[3]);
-  virtual void GetPoint2WorldPosition(double pos[3]);
+  void GetPoint1WorldPosition(double pos[3]) VTK_OVERRIDE;
+  void GetCenterWorldPosition(double pos[3]) VTK_OVERRIDE;
+  void GetPoint2WorldPosition(double pos[3]) VTK_OVERRIDE;
   virtual void SetPoint1WorldPosition(double pos[3]);
-  virtual void SetPoint1DisplayPosition(double pos[3]);
+  void SetPoint1DisplayPosition(double pos[3]) VTK_OVERRIDE;
   virtual void SetCenterWorldPosition(double pos[3]);
-  virtual void SetCenterDisplayPosition(double pos[3]);
+  void SetCenterDisplayPosition(double pos[3]) VTK_OVERRIDE;
   virtual void SetPoint2WorldPosition(double pos[3]);
-  virtual void SetPoint2DisplayPosition(double pos[3]);
-  virtual void GetPoint1DisplayPosition(double pos[3]);
-  virtual void GetCenterDisplayPosition(double pos[3]);
-  virtual void GetPoint2DisplayPosition(double pos[3]);
+  void SetPoint2DisplayPosition(double pos[3]) VTK_OVERRIDE;
+  void GetPoint1DisplayPosition(double pos[3]) VTK_OVERRIDE;
+  void GetCenterDisplayPosition(double pos[3]) VTK_OVERRIDE;
+  void GetPoint2DisplayPosition(double pos[3]) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -109,21 +109,21 @@ public:
    * Method defined by vtkWidgetRepresentation superclass and
    * needed here.
    */
-  void BuildRepresentation();
+  void BuildRepresentation() VTK_OVERRIDE;
 
   //@{
   /**
    * Methods required by vtkProp superclass.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkAngleRepresentation3D();
-  ~vtkAngleRepresentation3D();
+  ~vtkAngleRepresentation3D() VTK_OVERRIDE;
 
   // The pieces that make up the angle representations
   vtkLineSource     *Line1Source;
diff --git a/Interaction/Widgets/vtkAngleWidget.h b/Interaction/Widgets/vtkAngleWidget.h
index 895c5fe819..b105c034d5 100644
--- a/Interaction/Widgets/vtkAngleWidget.h
+++ b/Interaction/Widgets/vtkAngleWidget.h
@@ -92,7 +92,7 @@ public:
    * Standard methods for a VTK class.
    */
   vtkTypeMacro(vtkAngleWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -100,7 +100,7 @@ public:
    * must be overridden because it is a composite widget and does more than
    * its superclasses' vtkAbstractWidget::SetEnabled() method.
    */
-  virtual void SetEnabled(int);
+  void SetEnabled(int) VTK_OVERRIDE;
 
   /**
    * Specify an instance of vtkWidgetRepresentation used to represent this
@@ -113,7 +113,7 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
   /**
    * Return the representation as a vtkAngleRepresentation.
@@ -131,7 +131,7 @@ public:
    * Methods to change the whether the widget responds to interaction.
    * Overridden to pass the state to component widgets.
    */
-  virtual void SetProcessEvents(int);
+  void SetProcessEvents(int) VTK_OVERRIDE;
 
   /**
    * Enum defining the state of the widget. By default the widget is in Start mode,
@@ -164,7 +164,7 @@ public:
 
 protected:
   vtkAngleWidget();
-  ~vtkAngleWidget();
+  ~vtkAngleWidget() VTK_OVERRIDE;
 
   // The state of the widget
   int WidgetState;
diff --git a/Interaction/Widgets/vtkAxesTransformRepresentation.h b/Interaction/Widgets/vtkAxesTransformRepresentation.h
index 1dc2624d3c..039f19b292 100644
--- a/Interaction/Widgets/vtkAxesTransformRepresentation.h
+++ b/Interaction/Widgets/vtkAxesTransformRepresentation.h
@@ -60,7 +60,7 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkAxesTransformRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -133,20 +133,20 @@ public:
   /**
    * Method to satisfy superclasses' API.
    */
-  virtual void BuildRepresentation();
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void StartWidgetInteraction(double e[2]);
-  virtual void WidgetInteraction(double e[2]);
-  virtual double *GetBounds();
+  void BuildRepresentation() VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void StartWidgetInteraction(double e[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double e[2]) VTK_OVERRIDE;
+  double *GetBounds() VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods required by vtkProp superclass.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -173,7 +173,7 @@ public:
 
 protected:
   vtkAxesTransformRepresentation();
-  ~vtkAxesTransformRepresentation();
+  ~vtkAxesTransformRepresentation() VTK_OVERRIDE;
 
   // The handle and the rep used to close the handles
   vtkHandleRepresentation *OriginRepresentation;
diff --git a/Interaction/Widgets/vtkAxesTransformWidget.h b/Interaction/Widgets/vtkAxesTransformWidget.h
index 8d1d40ccee..604cc3ce6f 100644
--- a/Interaction/Widgets/vtkAxesTransformWidget.h
+++ b/Interaction/Widgets/vtkAxesTransformWidget.h
@@ -101,14 +101,14 @@ public:
    * Standard vtkObject methods
    */
   vtkTypeMacro(vtkAxesTransformWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Override superclasses' SetEnabled() method because the line
    * widget must enable its internal handle widgets.
    */
-  virtual void SetEnabled(int enabling);
+  void SetEnabled(int enabling) VTK_OVERRIDE;
 
   /**
    * Specify an instance of vtkWidgetRepresentation used to represent this
@@ -127,17 +127,17 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
   /**
    * Methods to change the whether the widget responds to interaction.
    * Overridden to pass the state to component widgets.
    */
-  virtual void SetProcessEvents(int);
+  void SetProcessEvents(int) VTK_OVERRIDE;
 
 protected:
   vtkAxesTransformWidget();
-  ~vtkAxesTransformWidget();
+  ~vtkAxesTransformWidget() VTK_OVERRIDE;
 
   int WidgetState;
   enum _WidgetState {Start=0,Active};
diff --git a/Interaction/Widgets/vtkBalloonRepresentation.h b/Interaction/Widgets/vtkBalloonRepresentation.h
index 4081f70a5f..6f91e79eda 100644
--- a/Interaction/Widgets/vtkBalloonRepresentation.h
+++ b/Interaction/Widgets/vtkBalloonRepresentation.h
@@ -86,7 +86,7 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkBalloonRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -187,18 +187,18 @@ public:
   /**
    * These are methods that satisfy vtkWidgetRepresentation's API.
    */
-  virtual void StartWidgetInteraction(double e[2]);
-  virtual void EndWidgetInteraction(double e[2]);
-  virtual void BuildRepresentation();
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
+  void StartWidgetInteraction(double e[2]) VTK_OVERRIDE;
+  void EndWidgetInteraction(double e[2]) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods required by vtkProp superclass.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
-  virtual int RenderOverlay(vtkViewport *viewport);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
   /**
@@ -208,7 +208,7 @@ public:
 
 protected:
   vtkBalloonRepresentation();
-  ~vtkBalloonRepresentation();
+  ~vtkBalloonRepresentation() VTK_OVERRIDE;
 
   // The balloon text and image
   char         *BalloonText;
diff --git a/Interaction/Widgets/vtkBalloonWidget.h b/Interaction/Widgets/vtkBalloonWidget.h
index 0a6cae2c00..97a2d5bbb3 100644
--- a/Interaction/Widgets/vtkBalloonWidget.h
+++ b/Interaction/Widgets/vtkBalloonWidget.h
@@ -95,14 +95,14 @@ public:
    * Standard methods for a VTK class.
    */
   vtkTypeMacro(vtkBalloonWidget,vtkHoverWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * The method for activating and deactivating this widget. This method
    * must be overridden because it performs special timer-related operations.
    */
-  virtual void SetEnabled(int);
+  void SetEnabled(int) VTK_OVERRIDE;
 
   /**
    * Specify an instance of vtkWidgetRepresentation used to represent this
@@ -121,7 +121,7 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
   //@{
   /**
@@ -175,11 +175,11 @@ public:
 
 protected:
   vtkBalloonWidget();
-  ~vtkBalloonWidget();
+  ~vtkBalloonWidget() VTK_OVERRIDE;
 
   // This class implements the method called from its superclass.
-  virtual int SubclassEndHoverAction();
-  virtual int SubclassHoverAction();
+  int SubclassEndHoverAction() VTK_OVERRIDE;
+  int SubclassHoverAction() VTK_OVERRIDE;
 
   // Classes for managing balloons
   vtkPropMap *PropMap; //PIMPL'd map of (vtkProp,vtkStdString)
@@ -188,7 +188,7 @@ protected:
   vtkAbstractPropPicker *Picker;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // The vtkProp that is being hovered over (which may be NULL)
   vtkProp *CurrentProp;
diff --git a/Interaction/Widgets/vtkBezierContourLineInterpolator.h b/Interaction/Widgets/vtkBezierContourLineInterpolator.h
index bf38a90cdf..48d532c980 100644
--- a/Interaction/Widgets/vtkBezierContourLineInterpolator.h
+++ b/Interaction/Widgets/vtkBezierContourLineInterpolator.h
@@ -45,12 +45,12 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkBezierContourLineInterpolator, vtkContourLineInterpolator);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
-  virtual int InterpolateLine( vtkRenderer *ren,
+  int InterpolateLine( vtkRenderer *ren,
                                vtkContourRepresentation *rep,
-                               int idx1, int idx2 );
+                               int idx1, int idx2 ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -85,12 +85,12 @@ public:
    * The node span is returned in a vtkIntArray. The node span returned by
    * this interpolator will be a 2-tuple with a span of 4.
    */
-  virtual void GetSpan(int nodeIndex, vtkIntArray *nodeIndices,
-                        vtkContourRepresentation *rep);
+  void GetSpan(int nodeIndex, vtkIntArray *nodeIndices,
+                        vtkContourRepresentation *rep) VTK_OVERRIDE;
 
 protected:
   vtkBezierContourLineInterpolator();
-  ~vtkBezierContourLineInterpolator();
+  ~vtkBezierContourLineInterpolator() VTK_OVERRIDE;
 
   void ComputeMidpoint(double p1[3], double p2[3], double mid[3])
   {
diff --git a/Interaction/Widgets/vtkBiDimensionalRepresentation.h b/Interaction/Widgets/vtkBiDimensionalRepresentation.h
index 6bab61dc46..efc1afc309 100644
--- a/Interaction/Widgets/vtkBiDimensionalRepresentation.h
+++ b/Interaction/Widgets/vtkBiDimensionalRepresentation.h
@@ -57,7 +57,7 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkBiDimensionalRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -207,7 +207,7 @@ public:
 
 protected:
   vtkBiDimensionalRepresentation();
-  ~vtkBiDimensionalRepresentation();
+  ~vtkBiDimensionalRepresentation() VTK_OVERRIDE;
 
   // Keep track if modifier is set
   int Modifier;
diff --git a/Interaction/Widgets/vtkBiDimensionalRepresentation2D.h b/Interaction/Widgets/vtkBiDimensionalRepresentation2D.h
index c0038d7d56..8b18501a1a 100644
--- a/Interaction/Widgets/vtkBiDimensionalRepresentation2D.h
+++ b/Interaction/Widgets/vtkBiDimensionalRepresentation2D.h
@@ -68,7 +68,7 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkBiDimensionalRepresentation2D,vtkBiDimensionalRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -95,41 +95,41 @@ public:
   /**
    * These are methods that satisfy vtkWidgetRepresentation's API.
    */
-  virtual void BuildRepresentation();
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void StartWidgetDefinition(double e[2]);
-  virtual void Point2WidgetInteraction(double e[2]);
-  virtual void Point3WidgetInteraction(double e[2]);
-  virtual void StartWidgetManipulation(double e[2]);
-  virtual void WidgetInteraction(double e[2]);
-  virtual void Highlight(int highlightOn);
+  void BuildRepresentation() VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void StartWidgetDefinition(double e[2]) VTK_OVERRIDE;
+  void Point2WidgetInteraction(double e[2]) VTK_OVERRIDE;
+  void Point3WidgetInteraction(double e[2]) VTK_OVERRIDE;
+  void StartWidgetManipulation(double e[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double e[2]) VTK_OVERRIDE;
+  void Highlight(int highlightOn) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods required by vtkProp superclass.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
-  virtual int RenderOverlay(vtkViewport *viewport);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
   /**
    * Get the text shown in the widget's label.
    */
-  char* GetLabelText();
+  char* GetLabelText() VTK_OVERRIDE;
 
   //@{
   /**
    * Get the position of the widget's label in display coordinates.
    */
-  double* GetLabelPosition();
-  void GetLabelPosition(double pos[3]);
-  void GetWorldLabelPosition(double pos[3]);
+  double* GetLabelPosition() VTK_OVERRIDE;
+  void GetLabelPosition(double pos[3]) VTK_OVERRIDE;
+  void GetWorldLabelPosition(double pos[3]) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkBiDimensionalRepresentation2D();
-  ~vtkBiDimensionalRepresentation2D();
+  ~vtkBiDimensionalRepresentation2D() VTK_OVERRIDE;
 
   // Keep track if modifier is set
   int Modifier;
diff --git a/Interaction/Widgets/vtkBiDimensionalWidget.h b/Interaction/Widgets/vtkBiDimensionalWidget.h
index 3b54b91ec6..87e25ca4e7 100644
--- a/Interaction/Widgets/vtkBiDimensionalWidget.h
+++ b/Interaction/Widgets/vtkBiDimensionalWidget.h
@@ -115,7 +115,7 @@ public:
    * Standard methods for a VTK class.
    */
   vtkTypeMacro(vtkBiDimensionalWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -123,7 +123,7 @@ public:
    * must be overridden because it is a composite widget and does more than
    * its superclasses' vtkAbstractWidget::SetEnabled() method.
    */
-  virtual void SetEnabled(int);
+  void SetEnabled(int) VTK_OVERRIDE;
 
   /**
    * Specify an instance of vtkWidgetRepresentation used to represent this
@@ -142,7 +142,7 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
   /**
    * A flag indicates whether the bi-dimensional measure is valid. The widget
@@ -162,7 +162,7 @@ public:
    * Methods to change the whether the widget responds to interaction.
    * Overridden to pass the state to component widgets.
    */
-  virtual void SetProcessEvents(int);
+  void SetProcessEvents(int) VTK_OVERRIDE;
 
   /**
    * Enum defining the state of the widget. By default the widget is in Start mode,
@@ -195,7 +195,7 @@ public:
 
 protected:
   vtkBiDimensionalWidget();
-  ~vtkBiDimensionalWidget();
+  ~vtkBiDimensionalWidget() VTK_OVERRIDE;
 
   // The state of the widget
   int WidgetState;
diff --git a/Interaction/Widgets/vtkBorderRepresentation.h b/Interaction/Widgets/vtkBorderRepresentation.h
index 31f1f37dc2..14dbbe78c2 100644
--- a/Interaction/Widgets/vtkBorderRepresentation.h
+++ b/Interaction/Widgets/vtkBorderRepresentation.h
@@ -65,7 +65,7 @@ public:
    * Define standard methods.
    */
   vtkTypeMacro(vtkBorderRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -205,19 +205,19 @@ public:
    * Return the MTime of this object. It takes into account MTimes
    * of position coordinates and border's property.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
    * Subclasses should implement these methods. See the superclasses'
    * documentation for more information.
    */
-  virtual void BuildRepresentation();
-  virtual void StartWidgetInteraction(double eventPos[2]);
-  virtual void WidgetInteraction(double eventPos[2]);
+  void BuildRepresentation() VTK_OVERRIDE;
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
   virtual void GetSize(double size[2])
     {size[0]=1.0; size[1]=1.0;}
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -225,17 +225,17 @@ public:
    * These methods are necessary to make this representation behave as
    * a vtkProp.
    */
-  virtual void GetActors2D(vtkPropCollection*);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOverlay(vtkViewport*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  void GetActors2D(vtkPropCollection*) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkBorderRepresentation();
-  ~vtkBorderRepresentation();
+  ~vtkBorderRepresentation() VTK_OVERRIDE;
 
   // Ivars
   int           ShowVerticalBorder;
diff --git a/Interaction/Widgets/vtkBorderWidget.h b/Interaction/Widgets/vtkBorderWidget.h
index dd6008bc06..1843167ebd 100644
--- a/Interaction/Widgets/vtkBorderWidget.h
+++ b/Interaction/Widgets/vtkBorderWidget.h
@@ -92,7 +92,7 @@ public:
    * Standard methods for class.
    */
   vtkTypeMacro(vtkBorderWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -137,11 +137,11 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  virtual void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkBorderWidget();
-  ~vtkBorderWidget();
+  ~vtkBorderWidget() VTK_OVERRIDE;
 
   /**
    * Subclasses generally implement this method. The SelectRegion() method
@@ -168,7 +168,7 @@ protected:
   virtual int SubclassMoveAction() {return 0;}
 
   // helper methods for cursoe management
-  virtual void SetCursor(int State);
+  void SetCursor(int State) VTK_OVERRIDE;
 
   //widget state
   int WidgetState;
diff --git a/Interaction/Widgets/vtkBoundedPlanePointPlacer.h b/Interaction/Widgets/vtkBoundedPlanePointPlacer.h
index 7c9a786993..adc224e05e 100644
--- a/Interaction/Widgets/vtkBoundedPlanePointPlacer.h
+++ b/Interaction/Widgets/vtkBoundedPlanePointPlacer.h
@@ -48,7 +48,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkBoundedPlanePointPlacer,vtkPointPlacer);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -134,7 +134,7 @@ public:
   int ComputeWorldPosition( vtkRenderer *ren,
                             double displayPos[2],
                             double worldPos[3],
-                            double worldOrient[9] );
+                            double worldOrient[9] ) VTK_OVERRIDE;
 
   /**
    * Given a renderer, a display position, and a reference world
@@ -142,24 +142,24 @@ public:
    * of this point. This method is typically used by the
    * representation to move the point.
    */
-  virtual int ComputeWorldPosition( vtkRenderer *ren,
+  int ComputeWorldPosition( vtkRenderer *ren,
                                     double displayPos[2],
                                     double refWorldPos[3],
                                     double worldPos[3],
-                                    double worldOrient[9] );
+                                    double worldOrient[9] ) VTK_OVERRIDE;
 
   /**
    * Give a world position check if it is valid - does
    * it lie on the plane and within the bounds? Returns
    * 1 if it is valid, 0 otherwise.
    */
-  int ValidateWorldPosition( double worldPos[3] );
+  int ValidateWorldPosition( double worldPos[3] ) VTK_OVERRIDE;
 
   // Descrption:
   // Orientationation is ignored, and the above method
   // is called instead.
   int ValidateWorldPosition( double worldPos[3],
-                             double worldOrient[9]);
+                             double worldOrient[9]) VTK_OVERRIDE;
 
   /**
    * If the constraints on this placer are changed, then
@@ -169,14 +169,14 @@ public:
    * ComputeWorldPosition will be used to update the
    * point.
    */
-  virtual int UpdateWorldPosition( vtkRenderer *ren,
+  int UpdateWorldPosition( vtkRenderer *ren,
                                    double worldPos[3],
-                                   double worldOrient[9] );
+                                   double worldOrient[9] ) VTK_OVERRIDE;
 
 
 protected:
   vtkBoundedPlanePointPlacer();
-  ~vtkBoundedPlanePointPlacer();
+  ~vtkBoundedPlanePointPlacer() VTK_OVERRIDE;
 
   // Indicates the projection normal as laying along the
   // XAxis, YAxis, ZAxis, or Oblique. For X, Y, and Z axes,
diff --git a/Interaction/Widgets/vtkBoxRepresentation.h b/Interaction/Widgets/vtkBoxRepresentation.h
index edcb15d06a..264693f2c8 100644
--- a/Interaction/Widgets/vtkBoxRepresentation.h
+++ b/Interaction/Widgets/vtkBoxRepresentation.h
@@ -69,7 +69,7 @@ public:
    * Standard methods for the class.
    */
   vtkTypeMacro(vtkBoxRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -189,22 +189,22 @@ public:
   /**
    * These are methods that satisfy vtkWidgetRepresentation's API.
    */
-  virtual void PlaceWidget(double bounds[6]);
-  virtual void BuildRepresentation();
-  virtual int  ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void StartWidgetInteraction(double e[2]);
-  virtual void WidgetInteraction(double e[2]);
-  virtual double *GetBounds();
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  int  ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void StartWidgetInteraction(double e[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double e[2]) VTK_OVERRIDE;
+  double *GetBounds() VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods supporting, and required by, the rendering process.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int  RenderOpaqueGeometry(vtkViewport*);
-  virtual int  RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int  HasTranslucentPolygonalGeometry();
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int  RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int  RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int  HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
   // Used to manage the state of the widget
@@ -223,7 +223,7 @@ public:
 
 protected:
   vtkBoxRepresentation();
-  ~vtkBoxRepresentation();
+  ~vtkBoxRepresentation() VTK_OVERRIDE;
 
   // Manage how the representation appears
   double LastEventPosition[3];
@@ -264,7 +264,7 @@ protected:
   vtkCellPicker *LastPicker;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Transform the hexahedral points (used for rotations)
   vtkTransform *Transform;
diff --git a/Interaction/Widgets/vtkBoxWidget.h b/Interaction/Widgets/vtkBoxWidget.h
index ffbbe7705a..3a4f95309f 100644
--- a/Interaction/Widgets/vtkBoxWidget.h
+++ b/Interaction/Widgets/vtkBoxWidget.h
@@ -98,18 +98,18 @@ public:
   static vtkBoxWidget *New();
 
   vtkTypeMacro(vtkBoxWidget,vtk3DWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Methods that satisfy the superclass' API.
    */
-  virtual void SetEnabled(int);
-  virtual void PlaceWidget(double bounds[6]);
-  void PlaceWidget()
+  void SetEnabled(int) VTK_OVERRIDE;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void PlaceWidget() VTK_OVERRIDE
     {this->Superclass::PlaceWidget();}
   void PlaceWidget(double xmin, double xmax, double ymin, double ymax,
-                   double zmin, double zmax)
+                   double zmin, double zmax) VTK_OVERRIDE
     {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
   //@}
 
@@ -243,7 +243,7 @@ public:
 
 protected:
   vtkBoxWidget();
-  ~vtkBoxWidget();
+  ~vtkBoxWidget() VTK_OVERRIDE;
 
   // Manage the state of the widget
   int State;
@@ -291,7 +291,7 @@ protected:
   void HighlightFace(int cellId);
   void HighlightOutline(int highlight);
   void ComputeNormals();
-  virtual void SizeHandles();
+  void SizeHandles() VTK_OVERRIDE;
 
   // wireframe outline
   vtkActor          *HexOutline;
@@ -305,7 +305,7 @@ protected:
   int      CurrentHexFace;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Methods to manipulate the hexahedron.
   virtual void Translate(double *p1, double *p2);
diff --git a/Interaction/Widgets/vtkBoxWidget2.h b/Interaction/Widgets/vtkBoxWidget2.h
index 8f242d8e40..682d250edd 100644
--- a/Interaction/Widgets/vtkBoxWidget2.h
+++ b/Interaction/Widgets/vtkBoxWidget2.h
@@ -113,7 +113,7 @@ public:
    * Standard class methods for type information and printing.
    */
   vtkTypeMacro(vtkBoxWidget2,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -151,11 +151,11 @@ public:
    * Create the default widget representation if one is not set. By default,
    * this is an instance of the vtkBoxRepresentation class.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkBoxWidget2();
-  ~vtkBoxWidget2();
+  ~vtkBoxWidget2() VTK_OVERRIDE;
 
   // Manage the state of the widget
   int WidgetState;
diff --git a/Interaction/Widgets/vtkBrokenLineWidget.h b/Interaction/Widgets/vtkBrokenLineWidget.h
index 4cc0c25c3e..a65573e4ec 100644
--- a/Interaction/Widgets/vtkBrokenLineWidget.h
+++ b/Interaction/Widgets/vtkBrokenLineWidget.h
@@ -111,18 +111,18 @@ public:
   static vtkBrokenLineWidget *New();
 
   vtkTypeMacro(vtkBrokenLineWidget,vtk3DWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Methods that satisfy the superclass' API.
    */
-  virtual void SetEnabled(int);
-  virtual void PlaceWidget(double bounds[6]);
-  void PlaceWidget()
+  void SetEnabled(int) VTK_OVERRIDE;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void PlaceWidget() VTK_OVERRIDE
     {this->Superclass::PlaceWidget();}
   void PlaceWidget(double xmin, double xmax, double ymin, double ymax,
-                   double zmin, double zmax)
+                   double zmin, double zmax) VTK_OVERRIDE
     {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
   //@}
 
@@ -251,7 +251,7 @@ public:
 
 protected:
   vtkBrokenLineWidget();
-  ~vtkBrokenLineWidget();
+  ~vtkBrokenLineWidget() VTK_OVERRIDE;
 
   // Manage the state of the widget
   int State;
@@ -305,7 +305,7 @@ protected:
   vtkSphereSource   **HandleGeometry;
   void Initialize();
   int  HighlightHandle(vtkProp *prop); //returns handle index or -1 on fail
-  virtual void SizeHandles();
+  void SizeHandles() VTK_OVERRIDE;
   void InsertHandleOnLine(double* pos);
   void EraseHandle(const int&);
 
@@ -316,7 +316,7 @@ protected:
   int CurrentHandleIndex;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Methods to manipulate the broken line.
   void MovePoint(double *p1, double *p2);
diff --git a/Interaction/Widgets/vtkButtonRepresentation.h b/Interaction/Widgets/vtkButtonRepresentation.h
index 315198eb25..98ddedc5d9 100644
--- a/Interaction/Widgets/vtkButtonRepresentation.h
+++ b/Interaction/Widgets/vtkButtonRepresentation.h
@@ -50,7 +50,7 @@ public:
    * Standard methods for the class.
    */
   vtkTypeMacro(vtkButtonRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -95,18 +95,18 @@ public:
    * a vtkCommand::HighlightEvent.
    */
   enum _HighlightState {HighlightNormal,HighlightHovering,HighlightSelecting};
-  virtual void Highlight(int);
+  void Highlight(int) VTK_OVERRIDE;
   vtkGetMacro(HighlightState,int);
   //@}
 
   /**
    * Satisfy some of vtkProp's API.
    */
-  virtual void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
 protected:
   vtkButtonRepresentation();
-  ~vtkButtonRepresentation();
+  ~vtkButtonRepresentation() VTK_OVERRIDE;
 
   // Values
   int NumberOfStates;
diff --git a/Interaction/Widgets/vtkButtonWidget.h b/Interaction/Widgets/vtkButtonWidget.h
index 6f6b8e8acf..0b49f18007 100644
--- a/Interaction/Widgets/vtkButtonWidget.h
+++ b/Interaction/Widgets/vtkButtonWidget.h
@@ -74,7 +74,7 @@ public:
    * Standard macros.
    */
   vtkTypeMacro(vtkButtonWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -94,11 +94,11 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkButtonWidget();
-  ~vtkButtonWidget() {}
+  ~vtkButtonWidget() VTK_OVERRIDE {}
 
   // These are the events that are handled
   static void SelectAction(vtkAbstractWidget*);
diff --git a/Interaction/Widgets/vtkCameraRepresentation.h b/Interaction/Widgets/vtkCameraRepresentation.h
index cdbed1e679..505ba18338 100644
--- a/Interaction/Widgets/vtkCameraRepresentation.h
+++ b/Interaction/Widgets/vtkCameraRepresentation.h
@@ -57,7 +57,7 @@ public:
    * Standard VTK class methods.
    */
   vtkTypeMacro(vtkCameraRepresentation,vtkBorderRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -113,8 +113,8 @@ public:
   /**
    * Satisfy the superclasses' API.
    */
-  virtual void BuildRepresentation();
-  virtual void GetSize(double size[2])
+  void BuildRepresentation() VTK_OVERRIDE;
+  void GetSize(double size[2]) VTK_OVERRIDE
     {size[0]=6.0; size[1]=2.0;}
 
   //@{
@@ -122,17 +122,17 @@ public:
    * These methods are necessary to make this representation behave as
    * a vtkProp.
    */
-  virtual void GetActors2D(vtkPropCollection*);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOverlay(vtkViewport*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  void GetActors2D(vtkPropCollection*) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkCameraRepresentation();
-  ~vtkCameraRepresentation();
+  ~vtkCameraRepresentation() VTK_OVERRIDE;
 
   // the camera and the interpolator
   vtkCamera             *Camera;
diff --git a/Interaction/Widgets/vtkCameraWidget.h b/Interaction/Widgets/vtkCameraWidget.h
index d9c373d8bc..5b57fe1413 100644
--- a/Interaction/Widgets/vtkCameraWidget.h
+++ b/Interaction/Widgets/vtkCameraWidget.h
@@ -51,7 +51,7 @@ public:
    * Standar VTK class methods.
    */
   vtkTypeMacro(vtkCameraWidget,vtkBorderWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -65,18 +65,18 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkCameraWidget();
-  ~vtkCameraWidget();
+  ~vtkCameraWidget() VTK_OVERRIDE;
 
   /**
    * When selecting the interior of this widget, special operations occur
    * (i.e., adding a camera view, deleting a path, animating a path). Thus
    * this methods overrides the superclasses' method.
    */
-  virtual void SelectRegion(double eventPos[2]);
+  void SelectRegion(double eventPos[2]) VTK_OVERRIDE;
 
 private:
   vtkCameraWidget(const vtkCameraWidget&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkCaptionRepresentation.h b/Interaction/Widgets/vtkCaptionRepresentation.h
index 0d74a274ce..abbdca781a 100644
--- a/Interaction/Widgets/vtkCaptionRepresentation.h
+++ b/Interaction/Widgets/vtkCaptionRepresentation.h
@@ -58,7 +58,7 @@ public:
    * Standard VTK class methods.
    */
   vtkTypeMacro(vtkCaptionRepresentation,vtkBorderRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -92,8 +92,8 @@ public:
   /**
    * Satisfy the superclasses API.
    */
-  virtual void BuildRepresentation();
-  virtual void GetSize(double size[2])
+  void BuildRepresentation() VTK_OVERRIDE;
+  void GetSize(double size[2]) VTK_OVERRIDE
     {size[0]=2.0; size[1]=2.0;}
 
   //@{
@@ -101,12 +101,12 @@ public:
    * These methods are necessary to make this representation behave as
    * a vtkProp.
    */
-  virtual void GetActors2D(vtkPropCollection*);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOverlay(vtkViewport*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  void GetActors2D(vtkPropCollection*) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
   //@{
@@ -120,7 +120,7 @@ public:
 
 protected:
   vtkCaptionRepresentation();
-  ~vtkCaptionRepresentation();
+  ~vtkCaptionRepresentation() VTK_OVERRIDE;
 
   // the text to manage
   vtkCaptionActor2D *CaptionActor2D;
diff --git a/Interaction/Widgets/vtkCaptionWidget.h b/Interaction/Widgets/vtkCaptionWidget.h
index a0a8e1e9a3..d6acc79450 100644
--- a/Interaction/Widgets/vtkCaptionWidget.h
+++ b/Interaction/Widgets/vtkCaptionWidget.h
@@ -61,14 +61,14 @@ public:
    * Standard VTK class methods.
    */
   vtkTypeMacro(vtkCaptionWidget,vtkBorderWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Override superclasses' SetEnabled() method because the caption leader
    * has its own dedicated widget.
    */
-  virtual void SetEnabled(int enabling);
+  void SetEnabled(int enabling) VTK_OVERRIDE;
 
   /**
    * Specify an instance of vtkWidgetRepresentation used to represent this
@@ -91,11 +91,11 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkCaptionWidget();
-  ~vtkCaptionWidget();
+  ~vtkCaptionWidget() VTK_OVERRIDE;
 
   // Handles callbacks from the anchor point
   vtkCaptionAnchorCallback *AnchorCallback;
diff --git a/Interaction/Widgets/vtkCellCentersPointPlacer.h b/Interaction/Widgets/vtkCellCentersPointPlacer.h
index b91998fddd..a67153b626 100644
--- a/Interaction/Widgets/vtkCellCentersPointPlacer.h
+++ b/Interaction/Widgets/vtkCellCentersPointPlacer.h
@@ -59,7 +59,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkCellCentersPointPlacer,vtkPointPlacer);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   // Descuription:
@@ -79,10 +79,10 @@ public:
    * For the Terrain point placer this computes world points that
    * lie at the specified height above the terrain.
    */
-  virtual int ComputeWorldPosition( vtkRenderer *ren,
+  int ComputeWorldPosition( vtkRenderer *ren,
                                     double displayPos[2],
                                     double worldPos[3],
-                                    double worldOrient[9] );
+                                    double worldOrient[9] ) VTK_OVERRIDE;
 
   /**
    * Given a renderer, a display position, and a reference world
@@ -90,29 +90,29 @@ public:
    * of this point. This method is typically used by the
    * representation to move the point.
    */
-  virtual int ComputeWorldPosition( vtkRenderer *ren,
+  int ComputeWorldPosition( vtkRenderer *ren,
                                     double displayPos[2],
                                     double refWorldPos[3],
                                     double worldPos[3],
-                                    double worldOrient[9] );
+                                    double worldOrient[9] ) VTK_OVERRIDE;
 
   /**
    * Given a world position check the validity of this
    * position according to the constraints of the placer
    */
-  virtual int ValidateWorldPosition( double worldPos[3] );
+  int ValidateWorldPosition( double worldPos[3] ) VTK_OVERRIDE;
 
   /**
    * Given a display position, check the validity of this position.
    */
-  virtual int ValidateDisplayPosition( vtkRenderer *, double displayPos[2] );
+  int ValidateDisplayPosition( vtkRenderer *, double displayPos[2] ) VTK_OVERRIDE;
 
   /**
    * Given a world position and a world orientation,
    * validate it according to the constraints of the placer.
    */
-  virtual int ValidateWorldPosition( double worldPos[3],
-                                     double worldOrient[9] );
+  int ValidateWorldPosition( double worldPos[3],
+                                     double worldOrient[9] ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -141,7 +141,7 @@ public:
 
 protected:
   vtkCellCentersPointPlacer();
-  ~vtkCellCentersPointPlacer();
+  ~vtkCellCentersPointPlacer() VTK_OVERRIDE;
 
   // The props that represents the terrain data (one or more) in a rendered
   // scene
diff --git a/Interaction/Widgets/vtkCenteredSliderRepresentation.h b/Interaction/Widgets/vtkCenteredSliderRepresentation.h
index 1fecf3ee3d..abbc3ca7a8 100644
--- a/Interaction/Widgets/vtkCenteredSliderRepresentation.h
+++ b/Interaction/Widgets/vtkCenteredSliderRepresentation.h
@@ -71,7 +71,7 @@ public:
    */
   vtkTypeMacro(vtkCenteredSliderRepresentation,
                        vtkSliderRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -99,8 +99,8 @@ public:
    * Specify the label text for this widget. If the value is not set, or set
    * to the empty string "", then the label text is not displayed.
    */
-  virtual void SetTitleText(const char*);
-  virtual const char* GetTitleText();
+  void SetTitleText(const char*) VTK_OVERRIDE;
+  const char* GetTitleText() VTK_OVERRIDE;
   //@}
 
   //@{
@@ -132,27 +132,27 @@ public:
    * assumes that the parameter bounds[6] specifies the location in display
    * space where the widget should be placed.
    */
-  virtual void PlaceWidget(double bounds[6]);
-  virtual void BuildRepresentation();
-  virtual void StartWidgetInteraction(double eventPos[2]);
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void WidgetInteraction(double eventPos[2]);
-  virtual void Highlight(int);
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void WidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void Highlight(int) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods supporting the rendering process.
    */
-  virtual void GetActors(vtkPropCollection*);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOverlay(vtkViewport*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
+  void GetActors(vtkPropCollection*) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkCenteredSliderRepresentation();
-  ~vtkCenteredSliderRepresentation();
+  ~vtkCenteredSliderRepresentation() VTK_OVERRIDE;
 
   // Positioning the widget
   vtkCoordinate *Point1Coordinate;
diff --git a/Interaction/Widgets/vtkCenteredSliderWidget.h b/Interaction/Widgets/vtkCenteredSliderWidget.h
index c6126038ac..b2f03958b8 100644
--- a/Interaction/Widgets/vtkCenteredSliderWidget.h
+++ b/Interaction/Widgets/vtkCenteredSliderWidget.h
@@ -90,7 +90,7 @@ public:
    * Standard macros.
    */
   vtkTypeMacro(vtkCenteredSliderWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -110,7 +110,7 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
   /**
    * Get the value fo this widget.
@@ -119,7 +119,7 @@ public:
 
 protected:
   vtkCenteredSliderWidget();
-  ~vtkCenteredSliderWidget() {}
+  ~vtkCenteredSliderWidget() VTK_OVERRIDE {}
 
   // These are the events that are handled
   static void SelectAction(vtkAbstractWidget*);
diff --git a/Interaction/Widgets/vtkCheckerboardRepresentation.h b/Interaction/Widgets/vtkCheckerboardRepresentation.h
index 58107c2273..d129b816fd 100644
--- a/Interaction/Widgets/vtkCheckerboardRepresentation.h
+++ b/Interaction/Widgets/vtkCheckerboardRepresentation.h
@@ -53,7 +53,7 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkCheckerboardRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -115,18 +115,18 @@ public:
   /**
    * Methods required by superclass.
    */
-  virtual void BuildRepresentation();
-  virtual void GetActors(vtkPropCollection*);
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
-  virtual int RenderOverlay(vtkViewport *viewport);
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
-  virtual int HasTranslucentPolygonalGeometry();
+  void BuildRepresentation() VTK_OVERRIDE;
+  void GetActors(vtkPropCollection*) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkCheckerboardRepresentation();
-  ~vtkCheckerboardRepresentation();
+  ~vtkCheckerboardRepresentation() VTK_OVERRIDE;
 
   // Instances that this class manipulates
   vtkImageCheckerboard *Checkerboard;
diff --git a/Interaction/Widgets/vtkCheckerboardWidget.h b/Interaction/Widgets/vtkCheckerboardWidget.h
index 863390f4cb..b7b9bd3cfe 100644
--- a/Interaction/Widgets/vtkCheckerboardWidget.h
+++ b/Interaction/Widgets/vtkCheckerboardWidget.h
@@ -66,7 +66,7 @@ public:
    * Standard methods for a VTK class.
    */
   vtkTypeMacro(vtkCheckerboardWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -74,7 +74,7 @@ public:
    * must be overridden because it is a composite widget and does more than
    * its superclasses' vtkAbstractWidget::SetEnabled() method.
    */
-  virtual void SetEnabled(int);
+  void SetEnabled(int) VTK_OVERRIDE;
 
   /**
    * Specify an instance of vtkWidgetRepresentation used to represent this
@@ -93,11 +93,11 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkCheckerboardWidget();
-  ~vtkCheckerboardWidget();
+  ~vtkCheckerboardWidget() VTK_OVERRIDE;
 
   // The four slider widgets
   vtkSliderWidget *TopSlider;
diff --git a/Interaction/Widgets/vtkClosedSurfacePointPlacer.h b/Interaction/Widgets/vtkClosedSurfacePointPlacer.h
index 00f2cca288..90adf0c2d2 100644
--- a/Interaction/Widgets/vtkClosedSurfacePointPlacer.h
+++ b/Interaction/Widgets/vtkClosedSurfacePointPlacer.h
@@ -49,7 +49,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkClosedSurfacePointPlacer,vtkPointPlacer);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -86,7 +86,7 @@ public:
   int ComputeWorldPosition( vtkRenderer *ren,
                             double displayPos[2],
                             double worldPos[3],
-                            double worldOrient[9] );
+                            double worldOrient[9] ) VTK_OVERRIDE;
 
   /**
    * Given a renderer, a display position and a reference position, "worldPos"
@@ -103,20 +103,20 @@ public:
                             double displayPos[2],
                             double refWorldPos[2],
                             double worldPos[3],
-                            double worldOrient[9] );
+                            double worldOrient[9] ) VTK_OVERRIDE;
 
   /**
    * Give a world position check if it is valid - does
    * it lie on the plane and within the bounds? Returns
    * 1 if it is valid, 0 otherwise.
    */
-  int ValidateWorldPosition( double worldPos[3] );
+  int ValidateWorldPosition( double worldPos[3] ) VTK_OVERRIDE;
 
   // Descrption:
   // Orientationation is ignored, and the above method
   // is called instead.
   int ValidateWorldPosition( double worldPos[3],
-                             double worldOrient[9]);
+                             double worldOrient[9]) VTK_OVERRIDE;
 
   // Descrption:
   // The minimum distance the object should be from the faces of the object.
@@ -126,7 +126,7 @@ public:
 
 protected:
   vtkClosedSurfacePointPlacer();
-  ~vtkClosedSurfacePointPlacer();
+  ~vtkClosedSurfacePointPlacer() VTK_OVERRIDE;
 
   // A collection of planes used to bound the projection
   // plane
diff --git a/Interaction/Widgets/vtkConstrainedPointHandleRepresentation.h b/Interaction/Widgets/vtkConstrainedPointHandleRepresentation.h
index ff89a7ec25..cfc2dabc1c 100644
--- a/Interaction/Widgets/vtkConstrainedPointHandleRepresentation.h
+++ b/Interaction/Widgets/vtkConstrainedPointHandleRepresentation.h
@@ -65,7 +65,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkConstrainedPointHandleRepresentation,vtkHandleRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -152,7 +152,7 @@ public:
    * co-ordinates to world co-ordinates. It returns 1 if the point lies
    * within the constrained region, otherwise return 0
    */
-  virtual int CheckConstraint(vtkRenderer *renderer, double pos[2]);
+  int CheckConstraint(vtkRenderer *renderer, double pos[2]) VTK_OVERRIDE;
 
   //@{
   /**
@@ -196,39 +196,39 @@ public:
    * are the methods that the widget and its representation use to
    * communicate with each other.
    */
-  virtual void SetRenderer(vtkRenderer *ren);
-  virtual void BuildRepresentation();
-  virtual void StartWidgetInteraction(double eventPos[2]);
-  virtual void WidgetInteraction(double eventPos[2]);
-  virtual int ComputeInteractionState(int X, int Y, int modify);
+  void SetRenderer(vtkRenderer *ren) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modify) VTK_OVERRIDE;
   //@}
 
   /**
    * Method overridden from Superclass. computes the world
    * co-ordinates using GetIntersectionPosition()
    */
-  virtual void SetDisplayPosition(double pos[3]);
+  void SetDisplayPosition(double pos[3]) VTK_OVERRIDE;
 
   //@{
   /**
    * Methods to make this class behave as a vtkProp.
    */
-  virtual void GetActors(vtkPropCollection *);
-  virtual void ReleaseGraphicsResources(vtkWindow *);
-  virtual int RenderOverlay(vtkViewport *viewport);
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
-  virtual int HasTranslucentPolygonalGeometry();
-  virtual void ShallowCopy(vtkProp* prop);
+  void GetActors(vtkPropCollection *) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
+  void ShallowCopy(vtkProp* prop) VTK_OVERRIDE;
   //@}
 
   enum {XAxis=0,YAxis,ZAxis,Oblique};
 
-  void Highlight(int highlight);
+  void Highlight(int highlight) VTK_OVERRIDE;
 
 protected:
   vtkConstrainedPointHandleRepresentation();
-  ~vtkConstrainedPointHandleRepresentation();
+  ~vtkConstrainedPointHandleRepresentation() VTK_OVERRIDE;
 
   // Render the cursor
   vtkActor             *Actor;
diff --git a/Interaction/Widgets/vtkContinuousValueWidget.h b/Interaction/Widgets/vtkContinuousValueWidget.h
index f921e1bf89..fbc23a98cb 100644
--- a/Interaction/Widgets/vtkContinuousValueWidget.h
+++ b/Interaction/Widgets/vtkContinuousValueWidget.h
@@ -78,7 +78,7 @@ public:
    * Standard macros.
    */
   vtkTypeMacro(vtkContinuousValueWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -106,7 +106,7 @@ public:
 
 protected:
   vtkContinuousValueWidget();
-  ~vtkContinuousValueWidget() {}
+  ~vtkContinuousValueWidget() VTK_OVERRIDE {}
 
   // These are the events that are handled
   static void SelectAction(vtkAbstractWidget*);
diff --git a/Interaction/Widgets/vtkContinuousValueWidgetRepresentation.h b/Interaction/Widgets/vtkContinuousValueWidgetRepresentation.h
index d64491347a..4e4b89ae3a 100644
--- a/Interaction/Widgets/vtkContinuousValueWidgetRepresentation.h
+++ b/Interaction/Widgets/vtkContinuousValueWidgetRepresentation.h
@@ -43,7 +43,7 @@ public:
    */
   vtkTypeMacro(vtkContinuousValueWidgetRepresentation,
                        vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -52,10 +52,10 @@ public:
    * assumes that the parameter bounds[6] specifies the location in display
    * space where the widget should be placed.
    */
-  virtual void PlaceWidget(double bounds[6]);
-  virtual void BuildRepresentation() {}
-  virtual void StartWidgetInteraction(double eventPos[2]) = 0;
-  virtual void WidgetInteraction(double eventPos[2]) = 0;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE {}
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE = 0;
+  void WidgetInteraction(double eventPos[2]) VTK_OVERRIDE = 0;
 //  virtual void Highlight(int);
   //@}
 
@@ -73,7 +73,7 @@ public:
 
 protected:
   vtkContinuousValueWidgetRepresentation();
-  ~vtkContinuousValueWidgetRepresentation();
+  ~vtkContinuousValueWidgetRepresentation() VTK_OVERRIDE;
 
   double Value;
 
diff --git a/Interaction/Widgets/vtkContourLineInterpolator.h b/Interaction/Widgets/vtkContourLineInterpolator.h
index e1070854e0..8b9062a049 100644
--- a/Interaction/Widgets/vtkContourLineInterpolator.h
+++ b/Interaction/Widgets/vtkContourLineInterpolator.h
@@ -47,7 +47,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkContourLineInterpolator,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -90,7 +90,7 @@ public:
 
  protected:
   vtkContourLineInterpolator();
-  ~vtkContourLineInterpolator();
+  ~vtkContourLineInterpolator() VTK_OVERRIDE;
 
 private:
   vtkContourLineInterpolator(const vtkContourLineInterpolator&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkContourRepresentation.h b/Interaction/Widgets/vtkContourRepresentation.h
index f9a66bef80..75db6a19cf 100644
--- a/Interaction/Widgets/vtkContourRepresentation.h
+++ b/Interaction/Widgets/vtkContourRepresentation.h
@@ -123,7 +123,7 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkContourRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -412,21 +412,21 @@ public:
   /**
    * These are methods that satisfy vtkWidgetRepresentation's API.
    */
-  virtual void BuildRepresentation()=0;
-  virtual int ComputeInteractionState(int X, int Y, int modified=0)=0;
-  virtual void StartWidgetInteraction(double e[2])=0;
-  virtual void WidgetInteraction(double e[2])=0;
+  void BuildRepresentation() VTK_OVERRIDE =0;
+  int ComputeInteractionState(int X, int Y, int modified=0) VTK_OVERRIDE =0;
+  void StartWidgetInteraction(double e[2]) VTK_OVERRIDE =0;
+  void WidgetInteraction(double e[2]) VTK_OVERRIDE =0;
   //@}
 
   //@{
   /**
    * Methods required by vtkProp superclass.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *w)=0;
-  virtual int RenderOverlay(vtkViewport *viewport)=0;
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport)=0;
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport)=0;
-  virtual int HasTranslucentPolygonalGeometry()=0;
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE =0;
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE =0;
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE =0;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE =0;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE =0;
   //@}
 
   //@{
@@ -464,7 +464,7 @@ public:
 
 protected:
   vtkContourRepresentation();
-  ~vtkContourRepresentation();
+  ~vtkContourRepresentation() VTK_OVERRIDE;
 
   // Selection tolerance for the handles
   int    PixelTolerance;
diff --git a/Interaction/Widgets/vtkContourWidget.h b/Interaction/Widgets/vtkContourWidget.h
index bc212004ca..866104f05e 100644
--- a/Interaction/Widgets/vtkContourWidget.h
+++ b/Interaction/Widgets/vtkContourWidget.h
@@ -143,7 +143,7 @@ public:
    * Standard methods for a VTK class.
    */
   vtkTypeMacro(vtkContourWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -151,7 +151,7 @@ public:
    * must be overridden because it is a composite widget and does more than
    * its superclasses' vtkAbstractWidget::SetEnabled() method.
    */
-  virtual void SetEnabled(int);
+  void SetEnabled(int) VTK_OVERRIDE;
 
   /**
    * Specify an instance of vtkWidgetRepresentation used to represent this
@@ -170,7 +170,7 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
   /**
    * Convenient method to close the contour loop.
@@ -248,7 +248,7 @@ public:
 
 protected:
   vtkContourWidget();
-  ~vtkContourWidget();
+  ~vtkContourWidget() VTK_OVERRIDE;
 
   int WidgetState;
   int CurrentHandle;
diff --git a/Interaction/Widgets/vtkCurveRepresentation.h b/Interaction/Widgets/vtkCurveRepresentation.h
index 23a0fb95b4..46da8286f4 100644
--- a/Interaction/Widgets/vtkCurveRepresentation.h
+++ b/Interaction/Widgets/vtkCurveRepresentation.h
@@ -50,7 +50,7 @@ class VTKINTERACTIONWIDGETS_EXPORT vtkCurveRepresentation : public vtkWidgetRepr
 {
 public:
   vtkTypeMacro(vtkCurveRepresentation, vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   // Used to manage the InteractionState of the widget
   enum _InteractionState {
@@ -201,23 +201,23 @@ public:
    * API. Note that a version of place widget is available where the
    * center and handle position are specified.
    */
-  virtual void BuildRepresentation() = 0;
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void StartWidgetInteraction(double e[2]);
-  virtual void WidgetInteraction(double e[2]);
-  virtual void EndWidgetInteraction(double e[2]);
-  virtual double *GetBounds();
+  void BuildRepresentation() VTK_OVERRIDE = 0;
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void StartWidgetInteraction(double e[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double e[2]) VTK_OVERRIDE;
+  void EndWidgetInteraction(double e[2]) VTK_OVERRIDE;
+  double *GetBounds() VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods supporting, and required by, the rendering process.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int RenderOverlay(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
   /**
@@ -228,7 +228,7 @@ public:
 
 protected:
   vtkCurveRepresentation();
-  ~vtkCurveRepresentation();
+  ~vtkCurveRepresentation() VTK_OVERRIDE;
 
   double LastEventPosition[3];
   double Bounds[6];
@@ -268,7 +268,7 @@ protected:
   int CurrentHandleIndex;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Methods to manipulate the curve.
   void MovePoint(double *p1, double *p2);
diff --git a/Interaction/Widgets/vtkDijkstraImageContourLineInterpolator.h b/Interaction/Widgets/vtkDijkstraImageContourLineInterpolator.h
index 10b04019a0..27dc27f4cd 100644
--- a/Interaction/Widgets/vtkDijkstraImageContourLineInterpolator.h
+++ b/Interaction/Widgets/vtkDijkstraImageContourLineInterpolator.h
@@ -54,7 +54,7 @@ public:
    */
   vtkTypeMacro(vtkDijkstraImageContourLineInterpolator,
                               vtkContourLineInterpolator);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   static vtkDijkstraImageContourLineInterpolator *New();
@@ -64,9 +64,9 @@ public:
    * For instance vtkBezierContourLineInterpolator adds nodes between idx1
    * and idx2, that allow the contour to adhere to a bezier curve.
    */
-  virtual int InterpolateLine( vtkRenderer *ren,
+  int InterpolateLine( vtkRenderer *ren,
                                vtkContourRepresentation *rep,
-                               int idx1, int idx2 );
+                               int idx1, int idx2 ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -87,7 +87,7 @@ public:
 
 protected:
   vtkDijkstraImageContourLineInterpolator();
-  ~vtkDijkstraImageContourLineInterpolator();
+  ~vtkDijkstraImageContourLineInterpolator() VTK_OVERRIDE;
 
   vtkImageData *CostImage;
   vtkDijkstraImageGeodesicPath *DijkstraImageGeodesicPath;
diff --git a/Interaction/Widgets/vtkDistanceRepresentation.h b/Interaction/Widgets/vtkDistanceRepresentation.h
index 15060cd2c7..5d8d15d981 100644
--- a/Interaction/Widgets/vtkDistanceRepresentation.h
+++ b/Interaction/Widgets/vtkDistanceRepresentation.h
@@ -41,7 +41,7 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkDistanceRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -165,15 +165,15 @@ public:
   /**
    * These are methods that satisfy vtkWidgetRepresentation's API.
    */
-  virtual void BuildRepresentation();
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void StartWidgetInteraction(double e[2]);
-  virtual void WidgetInteraction(double e[2]);
+  void BuildRepresentation() VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void StartWidgetInteraction(double e[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double e[2]) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkDistanceRepresentation();
-  ~vtkDistanceRepresentation();
+  ~vtkDistanceRepresentation() VTK_OVERRIDE;
 
   // The handle and the rep used to close the handles
   vtkHandleRepresentation *HandleRepresentation;
diff --git a/Interaction/Widgets/vtkDistanceRepresentation2D.h b/Interaction/Widgets/vtkDistanceRepresentation2D.h
index cb43e5a6d7..ef687c8726 100644
--- a/Interaction/Widgets/vtkDistanceRepresentation2D.h
+++ b/Interaction/Widgets/vtkDistanceRepresentation2D.h
@@ -51,13 +51,13 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkDistanceRepresentation2D,vtkDistanceRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Satisfy the superclasses API.
    */
-  virtual double GetDistance()
+  double GetDistance() VTK_OVERRIDE
     {return this->Distance;}
 
   //@{
@@ -66,18 +66,18 @@ public:
    * this representation. Note that methods are available for both
    * display and world coordinates.
    */
-  double* GetPoint1WorldPosition();
-  double* GetPoint2WorldPosition();
-  void GetPoint1WorldPosition(double pos[3]);
-  void GetPoint2WorldPosition(double pos[3]);
-  void SetPoint1WorldPosition(double pos[3]);
-  void SetPoint2WorldPosition(double pos[3]);
+  double* GetPoint1WorldPosition() VTK_OVERRIDE;
+  double* GetPoint2WorldPosition() VTK_OVERRIDE;
+  void GetPoint1WorldPosition(double pos[3]) VTK_OVERRIDE;
+  void GetPoint2WorldPosition(double pos[3]) VTK_OVERRIDE;
+  void SetPoint1WorldPosition(double pos[3]) VTK_OVERRIDE;
+  void SetPoint2WorldPosition(double pos[3]) VTK_OVERRIDE;
   //@}
 
-  void SetPoint1DisplayPosition(double pos[3]);
-  void SetPoint2DisplayPosition(double pos[3]);
-  void GetPoint1DisplayPosition(double pos[3]);
-  void GetPoint2DisplayPosition(double pos[3]);
+  void SetPoint1DisplayPosition(double pos[3]) VTK_OVERRIDE;
+  void SetPoint2DisplayPosition(double pos[3]) VTK_OVERRIDE;
+  void GetPoint1DisplayPosition(double pos[3]) VTK_OVERRIDE;
+  void GetPoint2DisplayPosition(double pos[3]) VTK_OVERRIDE;
 
   //@{
   /**
@@ -92,20 +92,20 @@ public:
   /**
    * Method to satisfy superclasses' API.
    */
-  virtual void BuildRepresentation();
+  void BuildRepresentation() VTK_OVERRIDE;
 
   //@{
   /**
    * Methods required by vtkProp superclass.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
-  virtual int RenderOverlay(vtkViewport *viewport);
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkDistanceRepresentation2D();
-  ~vtkDistanceRepresentation2D();
+  ~vtkDistanceRepresentation2D() VTK_OVERRIDE;
 
   // Add a line to the mix
   vtkAxisActor2D *AxisActor;
diff --git a/Interaction/Widgets/vtkDistanceRepresentation3D.h b/Interaction/Widgets/vtkDistanceRepresentation3D.h
index 965fc4521d..fcf37a0a47 100644
--- a/Interaction/Widgets/vtkDistanceRepresentation3D.h
+++ b/Interaction/Widgets/vtkDistanceRepresentation3D.h
@@ -59,13 +59,13 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkDistanceRepresentation3D,vtkDistanceRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Satisfy the superclasses API.
    */
-  virtual double GetDistance()
+  double GetDistance() VTK_OVERRIDE
     {return this->Distance;}
 
   //@{
@@ -121,34 +121,34 @@ public:
    * this representation. Note that methods are available for both
    * display and world coordinates.
    */
-  double* GetPoint1WorldPosition();
-  double* GetPoint2WorldPosition();
-  void GetPoint1WorldPosition(double pos[3]);
-  void GetPoint2WorldPosition(double pos[3]);
-  void SetPoint1WorldPosition(double pos[3]);
-  void SetPoint2WorldPosition(double pos[3]);
+  double* GetPoint1WorldPosition() VTK_OVERRIDE;
+  double* GetPoint2WorldPosition() VTK_OVERRIDE;
+  void GetPoint1WorldPosition(double pos[3]) VTK_OVERRIDE;
+  void GetPoint2WorldPosition(double pos[3]) VTK_OVERRIDE;
+  void SetPoint1WorldPosition(double pos[3]) VTK_OVERRIDE;
+  void SetPoint2WorldPosition(double pos[3]) VTK_OVERRIDE;
   //@}
 
-  void SetPoint1DisplayPosition(double pos[3]);
-  void SetPoint2DisplayPosition(double pos[3]);
-  void GetPoint1DisplayPosition(double pos[3]);
-  void GetPoint2DisplayPosition(double pos[3]);
+  void SetPoint1DisplayPosition(double pos[3]) VTK_OVERRIDE;
+  void SetPoint2DisplayPosition(double pos[3]) VTK_OVERRIDE;
+  void GetPoint1DisplayPosition(double pos[3]) VTK_OVERRIDE;
+  void GetPoint2DisplayPosition(double pos[3]) VTK_OVERRIDE;
 
   //@{
   /**
    * Method to satisfy superclasses' API.
    */
-  virtual void BuildRepresentation();
-  virtual double *GetBounds();
+  void BuildRepresentation() VTK_OVERRIDE;
+  double *GetBounds() VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods required by vtkProp superclass.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -175,7 +175,7 @@ public:
 
 protected:
   vtkDistanceRepresentation3D();
-  ~vtkDistanceRepresentation3D();
+  ~vtkDistanceRepresentation3D() VTK_OVERRIDE;
 
   // The line
   vtkPoints         *LinePoints;
diff --git a/Interaction/Widgets/vtkDistanceWidget.h b/Interaction/Widgets/vtkDistanceWidget.h
index 7a1b52383c..1d5bcd32db 100644
--- a/Interaction/Widgets/vtkDistanceWidget.h
+++ b/Interaction/Widgets/vtkDistanceWidget.h
@@ -90,7 +90,7 @@ public:
    * Standard methods for a VTK class.
    */
   vtkTypeMacro(vtkDistanceWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -98,7 +98,7 @@ public:
    * must be overridden because it is a composite widget and does more than
    * its superclasses' vtkAbstractWidget::SetEnabled() method.
    */
-  virtual void SetEnabled(int);
+  void SetEnabled(int) VTK_OVERRIDE;
 
   /**
    * Specify an instance of vtkWidgetRepresentation used to represent this
@@ -118,13 +118,13 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
   /**
    * Methods to change the whether the widget responds to interaction.
    * Overridden to pass the state to component widgets.
    */
-  virtual void SetProcessEvents(int);
+  void SetProcessEvents(int) VTK_OVERRIDE;
 
   /**
    * Description:
@@ -158,7 +158,7 @@ public:
 
 protected:
   vtkDistanceWidget();
-  ~vtkDistanceWidget();
+  ~vtkDistanceWidget() VTK_OVERRIDE;
 
   // The state of the widget
   int WidgetState;
diff --git a/Interaction/Widgets/vtkEllipsoidTensorProbeRepresentation.h b/Interaction/Widgets/vtkEllipsoidTensorProbeRepresentation.h
index de1f1ac990..e1e4fa9d78 100644
--- a/Interaction/Widgets/vtkEllipsoidTensorProbeRepresentation.h
+++ b/Interaction/Widgets/vtkEllipsoidTensorProbeRepresentation.h
@@ -47,34 +47,34 @@ public:
    */
   vtkTypeMacro(vtkEllipsoidTensorProbeRepresentation,
                                 vtkTensorProbeRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
-  virtual void BuildRepresentation();
-  virtual int RenderOpaqueGeometry(vtkViewport *);
+  void BuildRepresentation() VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *) VTK_OVERRIDE;
 
   /**
    * Can we pick the tensor glyph at the current cursor pos
    */
-  virtual int SelectProbe( int pos[2] );
+  int SelectProbe( int pos[2] ) VTK_OVERRIDE;
 
   //@{
   /**
    * See vtkProp for details.
    */
-  virtual void GetActors(vtkPropCollection *);
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void GetActors(vtkPropCollection *) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkEllipsoidTensorProbeRepresentation();
-  ~vtkEllipsoidTensorProbeRepresentation();
+  ~vtkEllipsoidTensorProbeRepresentation() VTK_OVERRIDE;
 
   // Get the interpolated tensor at the current position
   void EvaluateTensor( double t[9] );
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   vtkActor           * EllipsoidActor;
   vtkPolyDataMapper  * EllipsoidMapper;
diff --git a/Interaction/Widgets/vtkEvent.h b/Interaction/Widgets/vtkEvent.h
index eae96d6c7e..716d497114 100644
--- a/Interaction/Widgets/vtkEvent.h
+++ b/Interaction/Widgets/vtkEvent.h
@@ -41,7 +41,7 @@ public:
    * Standard macros.
    */
   vtkTypeMacro(vtkEvent,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -110,7 +110,7 @@ public:
 
 protected:
   vtkEvent();
-  virtual ~vtkEvent();
+  ~vtkEvent() VTK_OVERRIDE;
 
   unsigned long EventId;
   int           Modifier;
diff --git a/Interaction/Widgets/vtkFinitePlaneRepresentation.h b/Interaction/Widgets/vtkFinitePlaneRepresentation.h
index 0f69b6855c..2434f40dc9 100644
--- a/Interaction/Widgets/vtkFinitePlaneRepresentation.h
+++ b/Interaction/Widgets/vtkFinitePlaneRepresentation.h
@@ -60,7 +60,7 @@ public:
    * Standard vtkObject methods
    */
   vtkTypeMacro(vtkFinitePlaneRepresentation, vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -126,22 +126,22 @@ public:
   /**
    * These are methods that satisfy vtkWidgetRepresentation's API.
    */
-  virtual void PlaceWidget(double bounds[6]);
-  virtual void BuildRepresentation();
-  virtual int  ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void StartWidgetInteraction(double e[2]);
-  virtual void WidgetInteraction(double e[2]);
-  virtual double *GetBounds();
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  int  ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void StartWidgetInteraction(double e[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double e[2]) VTK_OVERRIDE;
+  double *GetBounds() VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods supporting, and required by, the rendering process.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int  RenderOpaqueGeometry(vtkViewport*);
-  virtual int  RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int  HasTranslucentPolygonalGeometry();
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int  RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int  RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int  HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
   vtkSetClampMacro(InteractionState, int, Outside, Pushing);
@@ -219,7 +219,7 @@ public:
 
 protected:
   vtkFinitePlaneRepresentation();
-  ~vtkFinitePlaneRepresentation();
+  ~vtkFinitePlaneRepresentation() VTK_OVERRIDE;
 
   virtual void CreateDefaultProperties();
 
@@ -227,7 +227,7 @@ protected:
   virtual void SizeHandles();
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   void SetHighlightNormal(int highlight);
   void SetHighlightPlane(int highlight);
diff --git a/Interaction/Widgets/vtkFinitePlaneWidget.h b/Interaction/Widgets/vtkFinitePlaneWidget.h
index 0a5ca15fe7..3cb015b6af 100644
--- a/Interaction/Widgets/vtkFinitePlaneWidget.h
+++ b/Interaction/Widgets/vtkFinitePlaneWidget.h
@@ -88,7 +88,7 @@ public:
    * Standard vtkObject methods
    */
   vtkTypeMacro(vtkFinitePlaneWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -102,11 +102,11 @@ public:
    * Create the default widget representation if one is not set. By default,
    * this is an instance of the vtkFinitePlaneRepresentation class.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkFinitePlaneWidget();
-  ~vtkFinitePlaneWidget();
+  ~vtkFinitePlaneWidget() VTK_OVERRIDE;
 
   int WidgetState;
   enum _WidgetState {Start = 0, Active};
diff --git a/Interaction/Widgets/vtkFixedSizeHandleRepresentation3D.h b/Interaction/Widgets/vtkFixedSizeHandleRepresentation3D.h
index f00bc8e47f..bce91d83ee 100644
--- a/Interaction/Widgets/vtkFixedSizeHandleRepresentation3D.h
+++ b/Interaction/Widgets/vtkFixedSizeHandleRepresentation3D.h
@@ -56,7 +56,7 @@ public:
    */
   vtkTypeMacro(vtkFixedSizeHandleRepresentation3D,
                vtkPolygonalHandleRepresentation3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -89,12 +89,12 @@ public:
 
 protected:
   vtkFixedSizeHandleRepresentation3D();
-  ~vtkFixedSizeHandleRepresentation3D();
+  ~vtkFixedSizeHandleRepresentation3D() VTK_OVERRIDE;
 
   /**
    * Recomputes the handle world size based on the set display size.
    */
-  virtual void BuildRepresentation();
+  void BuildRepresentation() VTK_OVERRIDE;
 
   /**
    * Convenience method to convert from world to display
diff --git a/Interaction/Widgets/vtkFocalPlaneContourRepresentation.h b/Interaction/Widgets/vtkFocalPlaneContourRepresentation.h
index aa644e776e..8d2d28eacd 100644
--- a/Interaction/Widgets/vtkFocalPlaneContourRepresentation.h
+++ b/Interaction/Widgets/vtkFocalPlaneContourRepresentation.h
@@ -46,7 +46,7 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkFocalPlaneContourRepresentation,vtkContourRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -55,8 +55,8 @@ public:
    * n is the last node and the loop is closed). Returns
    * 1 on success or 0 if n or idx are out of range.
    */
-  virtual int GetIntermediatePointWorldPosition( int n,
-                                                 int idx, double point[3] );
+  int GetIntermediatePointWorldPosition( int n,
+                                                 int idx, double point[3] ) VTK_OVERRIDE;
 
   /**
    * Get the world position of the intermediate point at
@@ -72,14 +72,14 @@ public:
    * 1 on success, or 0 if there are not at least
    * (n+1) nodes (0 based counting).
    */
-  virtual int GetNthNodeDisplayPosition( int n, double pos[2] );
+  int GetNthNodeDisplayPosition( int n, double pos[2] ) VTK_OVERRIDE;
 
   /**
    * Get the nth node's world position. Will return
    * 1 on success, or 0 if there are not at least
    * (n+1) nodes (0 based counting).
    */
-  virtual int GetNthNodeWorldPosition( int n, double pos[3] );
+  int GetNthNodeWorldPosition( int n, double pos[3] ) VTK_OVERRIDE;
 
   /**
    * The class maintains its true contour locations based on display co-ords
@@ -91,13 +91,13 @@ public:
    * The method must be called whenever the contour needs to be updated, usually
    * from RenderOpaqueGeometry()
    */
-  virtual int UpdateContour();
+  int UpdateContour() VTK_OVERRIDE;
 
-  virtual void UpdateLines( int index );
+  void UpdateLines( int index ) VTK_OVERRIDE;
 
 protected:
   vtkFocalPlaneContourRepresentation();
-  ~vtkFocalPlaneContourRepresentation();
+  ~vtkFocalPlaneContourRepresentation() VTK_OVERRIDE;
 
 private:
   vtkFocalPlaneContourRepresentation(const vtkFocalPlaneContourRepresentation&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkFocalPlanePointPlacer.h b/Interaction/Widgets/vtkFocalPlanePointPlacer.h
index 6c988c20f6..45582eaa72 100644
--- a/Interaction/Widgets/vtkFocalPlanePointPlacer.h
+++ b/Interaction/Widgets/vtkFocalPlanePointPlacer.h
@@ -38,7 +38,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkFocalPlanePointPlacer,vtkPointPlacer);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   // Descirption:
@@ -52,7 +52,7 @@ public:
   int ComputeWorldPosition( vtkRenderer *ren,
                             double displayPos[2],
                             double worldPos[3],
-                            double worldOrient[9] );
+                            double worldOrient[9] ) VTK_OVERRIDE;
 
   /**
    * Given a renderer, a display position, and a reference
@@ -68,16 +68,16 @@ public:
                             double displayPos[2],
                             double refWorldPos[3],
                             double worldPos[3],
-                            double worldOrient[9] );
+                            double worldOrient[9] ) VTK_OVERRIDE;
 
   //@{
   /**
    * Validate a world position. All world positions
    * are valid so these methods always return 1.
    */
-  int ValidateWorldPosition( double worldPos[3] );
+  int ValidateWorldPosition( double worldPos[3] ) VTK_OVERRIDE;
   int ValidateWorldPosition( double worldPos[3],
-                             double worldOrient[9]);
+                             double worldOrient[9]) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -101,7 +101,7 @@ public:
 
 protected:
   vtkFocalPlanePointPlacer();
-  ~vtkFocalPlanePointPlacer();
+  ~vtkFocalPlanePointPlacer() VTK_OVERRIDE;
 
   void GetCurrentOrientation( double worldOrient[9] );
 
diff --git a/Interaction/Widgets/vtkHandleRepresentation.h b/Interaction/Widgets/vtkHandleRepresentation.h
index 039c3c603e..37e1b35d0e 100644
--- a/Interaction/Widgets/vtkHandleRepresentation.h
+++ b/Interaction/Widgets/vtkHandleRepresentation.h
@@ -60,7 +60,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkHandleRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -144,16 +144,16 @@ public:
   /**
    * Methods to make this class properly act like a vtkWidgetRepresentation.
    */
-  virtual void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
   virtual void DeepCopy(vtkProp *prop);
-  virtual void SetRenderer(vtkRenderer *ren);
+  void SetRenderer(vtkRenderer *ren) VTK_OVERRIDE;
   //@}
 
   /**
    * Overload the superclasses' GetMTime() because the internal vtkCoordinates
    * are used to keep the state of the representation.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -170,7 +170,7 @@ public:
 
 protected:
   vtkHandleRepresentation();
-  ~vtkHandleRepresentation();
+  ~vtkHandleRepresentation() VTK_OVERRIDE;
 
   int Tolerance;
   int ActiveRepresentation;
diff --git a/Interaction/Widgets/vtkHandleWidget.h b/Interaction/Widgets/vtkHandleWidget.h
index 6d33b1fc5f..44a7cc71a4 100644
--- a/Interaction/Widgets/vtkHandleWidget.h
+++ b/Interaction/Widgets/vtkHandleWidget.h
@@ -83,7 +83,7 @@ public:
    * Standard VTK class macros.
    */
   vtkTypeMacro(vtkHandleWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -104,7 +104,7 @@ public:
    * Create the default widget representation if one is not set. By default
    * an instance of vtkPointHandleRepresenation3D is created.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
   //@{
   /**
@@ -139,7 +139,7 @@ public:
 
 protected:
   vtkHandleWidget();
-  ~vtkHandleWidget();
+  ~vtkHandleWidget() VTK_OVERRIDE;
 
   // These are the callbacks for this widget
   static void GenericAction(vtkHandleWidget*);
@@ -150,7 +150,7 @@ protected:
   static void MoveAction(vtkAbstractWidget*);
 
   // helper methods for cursor management
-  void SetCursor(int state);
+  void SetCursor(int state) VTK_OVERRIDE;
 
   int WidgetState;
   int EnableAxisConstraint;
diff --git a/Interaction/Widgets/vtkHoverWidget.h b/Interaction/Widgets/vtkHoverWidget.h
index 06316f9c59..75e986054a 100644
--- a/Interaction/Widgets/vtkHoverWidget.h
+++ b/Interaction/Widgets/vtkHoverWidget.h
@@ -87,7 +87,7 @@ public:
    * Standard methods for a VTK class.
    */
   vtkTypeMacro(vtkHoverWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -104,19 +104,19 @@ public:
    * The method for activating and deactivating this widget. This method
    * must be overridden because it performs special timer-related operations.
    */
-  virtual void SetEnabled(int);
+  void SetEnabled(int) VTK_OVERRIDE;
 
   /**
    * A default representation, of which there is none, is created. Note
    * that the superclasses vtkAbstractWidget::GetRepresentation()
    * method returns NULL.
    */
-  void CreateDefaultRepresentation()
+  void CreateDefaultRepresentation() VTK_OVERRIDE
     {this->WidgetRep = NULL;}
 
 protected:
   vtkHoverWidget();
-  ~vtkHoverWidget();
+  ~vtkHoverWidget() VTK_OVERRIDE;
 
   // The state of the widget
 
diff --git a/Interaction/Widgets/vtkImageActorPointPlacer.h b/Interaction/Widgets/vtkImageActorPointPlacer.h
index 21c39e9002..1f795297d4 100644
--- a/Interaction/Widgets/vtkImageActorPointPlacer.h
+++ b/Interaction/Widgets/vtkImageActorPointPlacer.h
@@ -46,7 +46,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkImageActorPointPlacer,vtkPointPlacer);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -60,7 +60,7 @@ public:
   int ComputeWorldPosition( vtkRenderer *ren,
                             double displayPos[2],
                             double worldPos[3],
-                            double worldOrient[9] );
+                            double worldOrient[9] ) VTK_OVERRIDE;
 
   /**
    * This method is identical to the one above since the
@@ -71,7 +71,7 @@ public:
                             double displayPos[2],
                             double refWorldPos[2],
                             double worldPos[3],
-                            double worldOrient[9] );
+                            double worldOrient[9] ) VTK_OVERRIDE;
 
   /**
    * This method validates a world position by checking to see
@@ -79,14 +79,14 @@ public:
    * of the internal placer (essentially - is this world position
    * on the image?)
    */
-  int ValidateWorldPosition( double worldPos[3] );
+  int ValidateWorldPosition( double worldPos[3] ) VTK_OVERRIDE;
 
   /**
    * This method is identical to the one above since the bounded
    * plane point placer ignores orientation
    */
   int ValidateWorldPosition( double worldPos[3],
-                             double worldOrient[9]);
+                             double worldOrient[9]) VTK_OVERRIDE;
 
 
   /**
@@ -97,7 +97,7 @@ public:
    */
   int UpdateWorldPosition( vtkRenderer *ren,
                            double worldPos[3],
-                           double worldOrient[9]);
+                           double worldOrient[9]) VTK_OVERRIDE;
 
   /**
    * A method for configuring the internal placer according
@@ -107,7 +107,7 @@ public:
    * which would then cause the representation to update
    * all of its points
    */
-  int UpdateInternalState();
+  int UpdateInternalState() VTK_OVERRIDE;
 
   //@{
   /**
@@ -135,11 +135,11 @@ public:
    * Set the world tolerance. This propagates it to the internal
    * BoundedPlanePointPlacer.
    */
-  virtual void SetWorldTolerance( double s );
+  void SetWorldTolerance( double s ) VTK_OVERRIDE;
 
 protected:
   vtkImageActorPointPlacer();
-  ~vtkImageActorPointPlacer();
+  ~vtkImageActorPointPlacer() VTK_OVERRIDE;
 
 
   // The reference image actor. Must be configured before this placer
diff --git a/Interaction/Widgets/vtkImageCroppingRegionsWidget.h b/Interaction/Widgets/vtkImageCroppingRegionsWidget.h
index 0281358841..42982753c5 100644
--- a/Interaction/Widgets/vtkImageCroppingRegionsWidget.h
+++ b/Interaction/Widgets/vtkImageCroppingRegionsWidget.h
@@ -49,7 +49,7 @@ public:
    */
   static vtkImageCroppingRegionsWidget *New();
   vtkTypeMacro(vtkImageCroppingRegionsWidget, vtk3DWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -57,13 +57,13 @@ public:
    * Place/Adjust widget within bounds
    */
   using vtk3DWidget::PlaceWidget;
-  virtual void PlaceWidget(double bounds[6]);
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
   //@}
 
   /**
    * Enable/disable the widget
    */
-  virtual void SetEnabled(int enabling);
+  void SetEnabled(int enabling) VTK_OVERRIDE;
 
   //@{
   /**
@@ -193,7 +193,7 @@ public:
 protected:
 
   vtkImageCroppingRegionsWidget();
-  ~vtkImageCroppingRegionsWidget();
+  ~vtkImageCroppingRegionsWidget() VTK_OVERRIDE;
 
   vtkVolumeMapper *VolumeMapper;
 
diff --git a/Interaction/Widgets/vtkImageOrthoPlanes.h b/Interaction/Widgets/vtkImageOrthoPlanes.h
index afd1e8f366..7dcc5591e2 100644
--- a/Interaction/Widgets/vtkImageOrthoPlanes.h
+++ b/Interaction/Widgets/vtkImageOrthoPlanes.h
@@ -40,7 +40,7 @@ class VTKINTERACTIONWIDGETS_EXPORT vtkImageOrthoPlanes : public vtkObject
 public:
   static vtkImageOrthoPlanes *New();
   vtkTypeMacro(vtkImageOrthoPlanes,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -67,7 +67,7 @@ public:
 
 protected:
   vtkImageOrthoPlanes();
-  ~vtkImageOrthoPlanes();
+  ~vtkImageOrthoPlanes() VTK_OVERRIDE;
 
   void HandlePlaneRotation(vtkImagePlaneWidget *imagePlaneWidget,
                            int indexOfModifiedPlane);
diff --git a/Interaction/Widgets/vtkImagePlaneWidget.h b/Interaction/Widgets/vtkImagePlaneWidget.h
index 1a8a18e9ec..c453e50f35 100644
--- a/Interaction/Widgets/vtkImagePlaneWidget.h
+++ b/Interaction/Widgets/vtkImagePlaneWidget.h
@@ -133,25 +133,25 @@ public:
   static vtkImagePlaneWidget *New();
 
   vtkTypeMacro(vtkImagePlaneWidget,vtkPolyDataSourceWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Methods that satisfy the superclass' API.
    */
-  virtual void SetEnabled(int);
-  virtual void PlaceWidget(double bounds[6]);
-  void PlaceWidget()
+  void SetEnabled(int) VTK_OVERRIDE;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void PlaceWidget() VTK_OVERRIDE
     {this->Superclass::PlaceWidget();}
   void PlaceWidget(double xmin, double xmax, double ymin, double ymax,
-                   double zmin, double zmax)
+                   double zmin, double zmax) VTK_OVERRIDE
     {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
   //@}
 
   /**
    * Set the vtkImageData* input for the vtkImageReslice.
    */
-  void SetInputConnection(vtkAlgorithmOutput* aout);
+  void SetInputConnection(vtkAlgorithmOutput* aout) VTK_OVERRIDE;
 
   //@{
   /**
@@ -307,13 +307,13 @@ public:
    * to have the initial placement follow suit.  Or, make changes after the
    * widget has been initialised and call UpdatePlacement() to realise.
    */
-  vtkPolyDataAlgorithm* GetPolyDataAlgorithm();
+  vtkPolyDataAlgorithm* GetPolyDataAlgorithm() VTK_OVERRIDE;
 
   /**
    * Satisfies superclass API.  This will change the state of the widget to
    * match changes that have been made to the underlying vtkPolyDataSource
    */
-  void UpdatePlacement(void);
+  void UpdatePlacement(void) VTK_OVERRIDE;
 
   /**
    * Convenience method to get the texture used by this widget.  This can be
@@ -547,7 +547,7 @@ public:
 
 protected:
   vtkImagePlaneWidget();
-  ~vtkImagePlaneWidget();
+  ~vtkImagePlaneWidget() VTK_OVERRIDE;
 
   int TextureVisibility;
 
@@ -602,7 +602,7 @@ protected:
   virtual void OnMiddleButtonUp();
   virtual void OnRightButtonDown();
   virtual void OnRightButtonUp();
-  virtual void OnChar();
+  void OnChar() VTK_OVERRIDE;
 
   virtual void StartCursor();
   virtual void StopCursor();
@@ -642,7 +642,7 @@ protected:
   vtkAbstractPropPicker *PlanePicker;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // for negative window values.
   void InvertTable();
diff --git a/Interaction/Widgets/vtkImageTracerWidget.h b/Interaction/Widgets/vtkImageTracerWidget.h
index 3bf468e4dc..b46e819e01 100644
--- a/Interaction/Widgets/vtkImageTracerWidget.h
+++ b/Interaction/Widgets/vtkImageTracerWidget.h
@@ -86,18 +86,18 @@ public:
   static vtkImageTracerWidget *New();
 
   vtkTypeMacro(vtkImageTracerWidget,vtk3DWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Methods that satisfy the superclass' API.
    */
-  virtual void SetEnabled(int);
-  virtual void PlaceWidget(double bounds[6]);
-  void PlaceWidget()
+  void SetEnabled(int) VTK_OVERRIDE;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void PlaceWidget() VTK_OVERRIDE
     {this->Superclass::PlaceWidget();}
   void PlaceWidget(double xmin, double xmax, double ymin, double ymax,
-                   double zmin, double zmax)
+                   double zmin, double zmax) VTK_OVERRIDE
     {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
   //@}
 
@@ -284,7 +284,7 @@ public:
 
 protected:
   vtkImageTracerWidget();
-  ~vtkImageTracerWidget();
+  ~vtkImageTracerWidget() VTK_OVERRIDE;
 
   // Manage the state of the widget
   int State;
@@ -352,7 +352,7 @@ protected:
   void AdjustHandlePosition(const int& , double*);
   int  HighlightHandle(vtkProp* ); // returns handle index or -1 on fail
   void EraseHandle(const int& );
-  virtual void SizeHandles();
+  void SizeHandles() VTK_OVERRIDE;
   void InsertHandleOnLine(double* );
 
   int NumberOfHandles;
@@ -381,7 +381,7 @@ protected:
   vtkAbstractPropPicker* CurrentPicker;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Properties used to control the appearance of selected objects and
   // the manipulator in general.
diff --git a/Interaction/Widgets/vtkImplicitCylinderRepresentation.h b/Interaction/Widgets/vtkImplicitCylinderRepresentation.h
index febbb1d9e2..fc25fb163d 100644
--- a/Interaction/Widgets/vtkImplicitCylinderRepresentation.h
+++ b/Interaction/Widgets/vtkImplicitCylinderRepresentation.h
@@ -75,7 +75,7 @@ public:
    * Standard methods for the class.
    */
   vtkTypeMacro(vtkImplicitCylinderRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -295,24 +295,24 @@ public:
   /**
    * Methods to interface with the vtkImplicitCylinderWidget.
    */
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void PlaceWidget(double bounds[6]);
-  virtual void BuildRepresentation();
-  virtual void StartWidgetInteraction(double eventPos[2]);
-  virtual void WidgetInteraction(double newEventPos[2]);
-  virtual void EndWidgetInteraction(double newEventPos[2]);
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double newEventPos[2]) VTK_OVERRIDE;
+  void EndWidgetInteraction(double newEventPos[2]) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods supporting the rendering process.
    */
-  virtual double *GetBounds();
-  virtual void GetActors(vtkPropCollection *pc);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  double *GetBounds() VTK_OVERRIDE;
+  void GetActors(vtkPropCollection *pc) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
   //@{
@@ -379,7 +379,7 @@ public:
 
 protected:
   vtkImplicitCylinderRepresentation();
-  ~vtkImplicitCylinderRepresentation();
+  ~vtkImplicitCylinderRepresentation() VTK_OVERRIDE;
 
   int RepresentationState;
 
@@ -461,7 +461,7 @@ protected:
   vtkCellPicker *CylPicker;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Transform the normal (used for rotation)
   vtkTransform *Transform;
diff --git a/Interaction/Widgets/vtkImplicitCylinderWidget.h b/Interaction/Widgets/vtkImplicitCylinderWidget.h
index 9ee002e38c..4e2a7cf36c 100644
--- a/Interaction/Widgets/vtkImplicitCylinderWidget.h
+++ b/Interaction/Widgets/vtkImplicitCylinderWidget.h
@@ -106,7 +106,7 @@ public:
    * Standard vtkObject methods
    */
   vtkTypeMacro(vtkImplicitCylinderWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -119,7 +119,7 @@ public:
   // Descritpion:
   // Disable/Enable the widget if needed.
   // Unobserved the camera if the widget is disabled.
-  void SetEnabled(int enabling);
+  void SetEnabled(int enabling) VTK_OVERRIDE;
 
   /**
    * Return the representation as a vtkImplicitCylinderRepresentation.
@@ -130,11 +130,11 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkImplicitCylinderWidget();
-  ~vtkImplicitCylinderWidget();
+  ~vtkImplicitCylinderWidget() VTK_OVERRIDE;
 
   // Manage the state of the widget
   int WidgetState;
diff --git a/Interaction/Widgets/vtkImplicitPlaneRepresentation.h b/Interaction/Widgets/vtkImplicitPlaneRepresentation.h
index 30a077f964..b827a9d6d0 100644
--- a/Interaction/Widgets/vtkImplicitPlaneRepresentation.h
+++ b/Interaction/Widgets/vtkImplicitPlaneRepresentation.h
@@ -73,7 +73,7 @@ public:
    * Standard methods for the class.
    */
   vtkTypeMacro(vtkImplicitPlaneRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -309,23 +309,23 @@ public:
   /**
    * Methods to interface with the vtkSliderWidget.
    */
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void PlaceWidget(double bounds[6]);
-  virtual void BuildRepresentation();
-  virtual void StartWidgetInteraction(double eventPos[2]);
-  virtual void WidgetInteraction(double newEventPos[2]);
-  virtual void EndWidgetInteraction(double newEventPos[2]);
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double newEventPos[2]) VTK_OVERRIDE;
+  void EndWidgetInteraction(double newEventPos[2]) VTK_OVERRIDE;
   //@}
   //@{
   /**
    * Methods supporting the rendering process.
    */
-  virtual double *GetBounds();
-  virtual void GetActors(vtkPropCollection *pc);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  double *GetBounds() VTK_OVERRIDE;
+  void GetActors(vtkPropCollection *pc) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
   // Manage the state of the widget
@@ -364,7 +364,7 @@ public:
 
 protected:
   vtkImplicitPlaneRepresentation();
-  ~vtkImplicitPlaneRepresentation();
+  ~vtkImplicitPlaneRepresentation() VTK_OVERRIDE;
 
   int RepresentationState;
 
@@ -441,7 +441,7 @@ protected:
   vtkCellPicker *Picker;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Transform the normal (used for rotation)
   vtkTransform *Transform;
diff --git a/Interaction/Widgets/vtkImplicitPlaneWidget.h b/Interaction/Widgets/vtkImplicitPlaneWidget.h
index a61933496d..056e1b8c08 100644
--- a/Interaction/Widgets/vtkImplicitPlaneWidget.h
+++ b/Interaction/Widgets/vtkImplicitPlaneWidget.h
@@ -92,18 +92,18 @@ public:
   static vtkImplicitPlaneWidget *New();
 
   vtkTypeMacro(vtkImplicitPlaneWidget,vtkPolyDataSourceWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Methods that satisfy the superclass' API.
    */
-  virtual void SetEnabled(int);
-  virtual void PlaceWidget(double bounds[6]);
-  void PlaceWidget()
+  void SetEnabled(int) VTK_OVERRIDE;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void PlaceWidget() VTK_OVERRIDE
     {this->Superclass::PlaceWidget();}
   void PlaceWidget(double xmin, double xmax, double ymin, double ymax,
-                   double zmin, double zmax)
+                   double zmin, double zmax) VTK_OVERRIDE
     {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
   //@}
 
@@ -225,7 +225,7 @@ public:
    * Satisfies superclass API.  This returns a pointer to the underlying
    * PolyData (which represents the plane).
    */
-  vtkPolyDataAlgorithm* GetPolyDataAlgorithm();
+  vtkPolyDataAlgorithm* GetPolyDataAlgorithm() VTK_OVERRIDE;
 
   /**
    * Get the implicit function for the plane. The user must provide the
@@ -239,12 +239,12 @@ public:
    * Satisfies the superclass API.  This will change the state of the widget
    * to match changes that have been made to the underlying PolyDataSource
    */
-  void UpdatePlacement();
+  void UpdatePlacement() VTK_OVERRIDE;
 
   /**
    * Control widget appearance
    */
-  virtual void SizeHandles();
+  void SizeHandles() VTK_OVERRIDE;
 
   //@{
   /**
@@ -281,7 +281,7 @@ public:
 
 protected:
   vtkImplicitPlaneWidget();
-  ~vtkImplicitPlaneWidget();
+  ~vtkImplicitPlaneWidget() VTK_OVERRIDE;
 
   // Manage the state of the widget
   int State;
@@ -377,7 +377,7 @@ protected:
   vtkCellPicker *Picker;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Transform the normal (used for rotation)
   vtkTransform *Transform;
diff --git a/Interaction/Widgets/vtkImplicitPlaneWidget2.h b/Interaction/Widgets/vtkImplicitPlaneWidget2.h
index da2176a738..f8dfb3606d 100644
--- a/Interaction/Widgets/vtkImplicitPlaneWidget2.h
+++ b/Interaction/Widgets/vtkImplicitPlaneWidget2.h
@@ -113,7 +113,7 @@ public:
    * Standard vtkObject methods
    */
   vtkTypeMacro(vtkImplicitPlaneWidget2,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -126,7 +126,7 @@ public:
   // Descritpion:
   // Disable/Enable the widget if needed.
   // Unobserved the camera if the widget is disabled.
-  void SetEnabled(int enabling);
+  void SetEnabled(int enabling) VTK_OVERRIDE;
 
   /**
    * Observe/Unobserve the camera if the widget is locked/unlocked to update the
@@ -143,11 +143,11 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkImplicitPlaneWidget2();
-  ~vtkImplicitPlaneWidget2();
+  ~vtkImplicitPlaneWidget2() VTK_OVERRIDE;
 
   // Manage the state of the widget
   int WidgetState;
diff --git a/Interaction/Widgets/vtkLineRepresentation.h b/Interaction/Widgets/vtkLineRepresentation.h
index 2e0de6aea5..b0e6d60662 100644
--- a/Interaction/Widgets/vtkLineRepresentation.h
+++ b/Interaction/Widgets/vtkLineRepresentation.h
@@ -68,7 +68,7 @@ public:
    * Standard methods for the class.
    */
   vtkTypeMacro(vtkLineRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -176,23 +176,23 @@ public:
   /**
    * These are methods that satisfy vtkWidgetRepresentation's API.
    */
-  virtual void PlaceWidget(double bounds[6]);
-  virtual void BuildRepresentation();
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void StartWidgetInteraction(double e[2]);
-  virtual void WidgetInteraction(double e[2]);
-  virtual double *GetBounds();
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void StartWidgetInteraction(double e[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double e[2]) VTK_OVERRIDE;
+  double *GetBounds() VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods supporting the rendering process.
    */
-  virtual void GetActors(vtkPropCollection *pc);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  void GetActors(vtkPropCollection *pc) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
   // Manage the state of the widget
@@ -234,12 +234,12 @@ public:
    * Overload the superclasses' GetMTime() because internal classes
    * are used to keep the state of the representation.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Overridden to set the rendererer on the internal representations.
    */
-  virtual void SetRenderer(vtkRenderer *ren);
+  void SetRenderer(vtkRenderer *ren) VTK_OVERRIDE;
 
   //@{
   /**
@@ -310,7 +310,7 @@ public:
 
 protected:
   vtkLineRepresentation();
-  ~vtkLineRepresentation();
+  ~vtkLineRepresentation() VTK_OVERRIDE;
 
   // The handle and the rep used to close the handles
   vtkPointHandleRepresentation3D *HandleRepresentation;
diff --git a/Interaction/Widgets/vtkLineWidget.h b/Interaction/Widgets/vtkLineWidget.h
index f0db0f223d..7ceb28c3b8 100644
--- a/Interaction/Widgets/vtkLineWidget.h
+++ b/Interaction/Widgets/vtkLineWidget.h
@@ -93,18 +93,18 @@ public:
   static vtkLineWidget *New();
 
   vtkTypeMacro(vtkLineWidget,vtk3DWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Methods that satisfy the superclass' API.
    */
-  virtual void SetEnabled(int);
-  virtual void PlaceWidget(double bounds[6]);
-  void PlaceWidget()
+  void SetEnabled(int) VTK_OVERRIDE;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void PlaceWidget() VTK_OVERRIDE
     {this->Superclass::PlaceWidget();}
   void PlaceWidget(double xmin, double xmax, double ymin, double ymax,
-                   double zmin, double zmax)
+                   double zmin, double zmax) VTK_OVERRIDE
     {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
   //@}
 
@@ -195,7 +195,7 @@ public:
 
 protected:
   vtkLineWidget();
-  ~vtkLineWidget();
+  ~vtkLineWidget() VTK_OVERRIDE;
 
   // Manage the state of the widget
   friend class vtkPWCallback;
@@ -247,7 +247,7 @@ protected:
   vtkSphereSource   **HandleGeometry;
 
   void BuildRepresentation();
-  virtual void SizeHandles();
+  void SizeHandles() VTK_OVERRIDE;
   void HandlesOn(double length);
   void HandlesOff();
   int HighlightHandle(vtkProp *prop); //returns cell id
@@ -261,7 +261,7 @@ protected:
   void  SetLinePosition(double x[3]);
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Methods to manipulate the hexahedron.
   void Scale(double *p1, double *p2, int X, int Y);
diff --git a/Interaction/Widgets/vtkLineWidget2.h b/Interaction/Widgets/vtkLineWidget2.h
index bbe470d1a8..1acc16570b 100644
--- a/Interaction/Widgets/vtkLineWidget2.h
+++ b/Interaction/Widgets/vtkLineWidget2.h
@@ -102,14 +102,14 @@ public:
    * Standard vtkObject methods
    */
   vtkTypeMacro(vtkLineWidget2,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Override superclasses' SetEnabled() method because the line
    * widget must enable its internal handle widgets.
    */
-  virtual void SetEnabled(int enabling);
+  void SetEnabled(int enabling) VTK_OVERRIDE;
 
   /**
    * Specify an instance of vtkWidgetRepresentation used to represent this
@@ -128,17 +128,17 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
   /**
    * Methods to change the whether the widget responds to interaction.
    * Overridden to pass the state to component widgets.
    */
-  virtual void SetProcessEvents(int);
+  void SetProcessEvents(int) VTK_OVERRIDE;
 
 protected:
   vtkLineWidget2();
-  ~vtkLineWidget2();
+  ~vtkLineWidget2() VTK_OVERRIDE;
 
   // Manage the state of the widget
   int WidgetState;
diff --git a/Interaction/Widgets/vtkLinearContourLineInterpolator.h b/Interaction/Widgets/vtkLinearContourLineInterpolator.h
index e61c0dd573..d57d34640d 100644
--- a/Interaction/Widgets/vtkLinearContourLineInterpolator.h
+++ b/Interaction/Widgets/vtkLinearContourLineInterpolator.h
@@ -45,16 +45,16 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkLinearContourLineInterpolator,vtkContourLineInterpolator);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
-  virtual int InterpolateLine( vtkRenderer *ren,
+  int InterpolateLine( vtkRenderer *ren,
                                vtkContourRepresentation *rep,
-                               int idx1, int idx2 );
+                               int idx1, int idx2 ) VTK_OVERRIDE;
 
 protected:
   vtkLinearContourLineInterpolator();
-  ~vtkLinearContourLineInterpolator();
+  ~vtkLinearContourLineInterpolator() VTK_OVERRIDE;
 
 private:
   vtkLinearContourLineInterpolator(const vtkLinearContourLineInterpolator&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkLogoRepresentation.h b/Interaction/Widgets/vtkLogoRepresentation.h
index 6e99a02848..a7fb3a8933 100644
--- a/Interaction/Widgets/vtkLogoRepresentation.h
+++ b/Interaction/Widgets/vtkLogoRepresentation.h
@@ -55,7 +55,7 @@ public:
    * Standard VTK class methods.
    */
   vtkTypeMacro(vtkLogoRepresentation,vtkBorderRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -77,21 +77,21 @@ public:
   /**
    * Satisfy the superclasses' API.
    */
-  virtual void BuildRepresentation();
+  void BuildRepresentation() VTK_OVERRIDE;
 
   //@{
   /**
    * These methods are necessary to make this representation behave as
    * a vtkProp.
    */
-  virtual void GetActors2D(vtkPropCollection *pc);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOverlay(vtkViewport*);
+  void GetActors2D(vtkPropCollection *pc) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkLogoRepresentation();
-  ~vtkLogoRepresentation();
+  ~vtkLogoRepresentation() VTK_OVERRIDE;
 
   // data members
   vtkImageData  *Image;
diff --git a/Interaction/Widgets/vtkLogoWidget.h b/Interaction/Widgets/vtkLogoWidget.h
index c056011a8b..68592b8aef 100644
--- a/Interaction/Widgets/vtkLogoWidget.h
+++ b/Interaction/Widgets/vtkLogoWidget.h
@@ -48,7 +48,7 @@ public:
    * Standar VTK class methods.
    */
   vtkTypeMacro(vtkLogoWidget,vtkBorderWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -62,11 +62,11 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkLogoWidget();
-  ~vtkLogoWidget();
+  ~vtkLogoWidget() VTK_OVERRIDE;
 
 private:
   vtkLogoWidget(const vtkLogoWidget&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkOrientationMarkerWidget.h b/Interaction/Widgets/vtkOrientationMarkerWidget.h
index e746ac1e8e..f9e6dd0938 100644
--- a/Interaction/Widgets/vtkOrientationMarkerWidget.h
+++ b/Interaction/Widgets/vtkOrientationMarkerWidget.h
@@ -83,7 +83,7 @@ class VTKINTERACTIONWIDGETS_EXPORT vtkOrientationMarkerWidget : public vtkIntera
 public:
   static vtkOrientationMarkerWidget* New();
   vtkTypeMacro(vtkOrientationMarkerWidget, vtkInteractorObserver);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -96,7 +96,7 @@ public:
   /**
    * Enable/disable the widget. Default is 0 (disabled).
    */
-  virtual void SetEnabled(int);
+  void SetEnabled(int) VTK_OVERRIDE;
 
   /**
    * Callback to keep the camera for the orientation marker up to date with the
@@ -155,12 +155,12 @@ public:
   /**
    * Need to reimplement this->Modified() because of the vtkSetVector4Macro/vtkGetVector4Macro use
    */
-  void Modified();
+  void Modified() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkOrientationMarkerWidget();
-  ~vtkOrientationMarkerWidget();
+  ~vtkOrientationMarkerWidget() VTK_OVERRIDE;
 
   vtkRenderer *Renderer;
   vtkProp     *OrientationMarker;
diff --git a/Interaction/Widgets/vtkOrientedGlyphContourRepresentation.h b/Interaction/Widgets/vtkOrientedGlyphContourRepresentation.h
index f913cef610..d0420746be 100644
--- a/Interaction/Widgets/vtkOrientedGlyphContourRepresentation.h
+++ b/Interaction/Widgets/vtkOrientedGlyphContourRepresentation.h
@@ -51,7 +51,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkOrientedGlyphContourRepresentation,vtkContourRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -103,29 +103,29 @@ public:
    * are the methods that the widget and its representation use to
    * communicate with each other.
    */
-  virtual void SetRenderer(vtkRenderer *ren);
-  virtual void BuildRepresentation();
-  virtual void StartWidgetInteraction(double eventPos[2]);
-  virtual void WidgetInteraction(double eventPos[2]);
-  virtual int ComputeInteractionState(int X, int Y, int modified=0);
+  void SetRenderer(vtkRenderer *ren) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modified=0) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods to make this class behave as a vtkProp.
    */
-  virtual void GetActors(vtkPropCollection *);
-  virtual void ReleaseGraphicsResources(vtkWindow *);
-  virtual int RenderOverlay(vtkViewport *viewport);
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
-  virtual int HasTranslucentPolygonalGeometry();
+  void GetActors(vtkPropCollection *) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
   /**
    * Get the points in this contour as a vtkPolyData.
    */
-  virtual vtkPolyData * GetContourRepresentationAsPolyData();
+  vtkPolyData * GetContourRepresentationAsPolyData() VTK_OVERRIDE;
 
   //@{
   /**
@@ -149,16 +149,16 @@ public:
    * A flag to indicate whether to show the Selected nodes
    * Default is to set it to false.
    */
-  virtual void SetShowSelectedNodes(int);
+  void SetShowSelectedNodes(int) VTK_OVERRIDE;
 
   /**
    * Return the bounds of the representation
    */
-  virtual double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
 
 protected:
   vtkOrientedGlyphContourRepresentation();
-  ~vtkOrientedGlyphContourRepresentation();
+  ~vtkOrientedGlyphContourRepresentation() VTK_OVERRIDE;
 
   // Render the cursor
   vtkActor             *Actor;
@@ -212,7 +212,7 @@ protected:
 
   int AlwaysOnTop;
 
-  virtual void BuildLines();
+  void BuildLines() VTK_OVERRIDE;
 
 private:
   vtkOrientedGlyphContourRepresentation(const vtkOrientedGlyphContourRepresentation&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkOrientedGlyphFocalPlaneContourRepresentation.h b/Interaction/Widgets/vtkOrientedGlyphFocalPlaneContourRepresentation.h
index 8fe92e74fa..5e89340caf 100644
--- a/Interaction/Widgets/vtkOrientedGlyphFocalPlaneContourRepresentation.h
+++ b/Interaction/Widgets/vtkOrientedGlyphFocalPlaneContourRepresentation.h
@@ -57,7 +57,7 @@ public:
    */
   vtkTypeMacro(vtkOrientedGlyphFocalPlaneContourRepresentation,
                                     vtkFocalPlaneContourRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -109,29 +109,29 @@ public:
    * are the methods that the widget and its representation use to
    * communicate with each other.
    */
-  virtual void SetRenderer(vtkRenderer *ren);
-  virtual void BuildRepresentation();
-  virtual void StartWidgetInteraction(double eventPos[2]);
-  virtual void WidgetInteraction(double eventPos[2]);
-  virtual int ComputeInteractionState(int X, int Y, int modified=0);
+  void SetRenderer(vtkRenderer *ren) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modified=0) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods to make this class behave as a vtkProp.
    */
-  virtual void GetActors2D(vtkPropCollection *);
-  virtual void ReleaseGraphicsResources(vtkWindow *);
-  virtual int RenderOverlay(vtkViewport *viewport);
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
-  virtual int HasTranslucentPolygonalGeometry();
+  void GetActors2D(vtkPropCollection *) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
   /**
    * Get the points in this contour as a vtkPolyData.
    */
-  virtual vtkPolyData * GetContourRepresentationAsPolyData();
+  vtkPolyData * GetContourRepresentationAsPolyData() VTK_OVERRIDE;
 
   /**
    * Direction cosines of the plane on which the contour lies
@@ -144,7 +144,7 @@ public:
 
 protected:
   vtkOrientedGlyphFocalPlaneContourRepresentation();
-  ~vtkOrientedGlyphFocalPlaneContourRepresentation();
+  ~vtkOrientedGlyphFocalPlaneContourRepresentation() VTK_OVERRIDE;
 
   // Render the cursor
   vtkActor2D           *Actor;
@@ -197,7 +197,7 @@ protected:
   // widget is focused - maintain this distance during interaction.
   double InteractionOffset[2];
 
-  void BuildLines();
+  void BuildLines() VTK_OVERRIDE;
 
 private:
   vtkOrientedGlyphFocalPlaneContourRepresentation(const vtkOrientedGlyphFocalPlaneContourRepresentation&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkOrientedPolygonalHandleRepresentation3D.h b/Interaction/Widgets/vtkOrientedPolygonalHandleRepresentation3D.h
index d6af4a6c00..4020ac0dfb 100644
--- a/Interaction/Widgets/vtkOrientedPolygonalHandleRepresentation3D.h
+++ b/Interaction/Widgets/vtkOrientedPolygonalHandleRepresentation3D.h
@@ -49,17 +49,17 @@ public:
    */
   vtkTypeMacro(vtkOrientedPolygonalHandleRepresentation3D,
                        vtkAbstractPolygonalHandleRepresentation3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkOrientedPolygonalHandleRepresentation3D();
-  ~vtkOrientedPolygonalHandleRepresentation3D();
+  ~vtkOrientedPolygonalHandleRepresentation3D() VTK_OVERRIDE;
 
   /**
    * Override the superclass method.
    */
-  virtual void UpdateHandle();
+  void UpdateHandle() VTK_OVERRIDE;
 
 private:
   vtkOrientedPolygonalHandleRepresentation3D(const vtkOrientedPolygonalHandleRepresentation3D&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkParallelopipedRepresentation.h b/Interaction/Widgets/vtkParallelopipedRepresentation.h
index 8f0e1faff6..ddb2d42088 100644
--- a/Interaction/Widgets/vtkParallelopipedRepresentation.h
+++ b/Interaction/Widgets/vtkParallelopipedRepresentation.h
@@ -61,13 +61,13 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkParallelopipedRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Methods to satisfy the superclass.
    */
-  virtual void GetActors(vtkPropCollection *pc);
+  void GetActors(vtkPropCollection *pc) VTK_OVERRIDE;
 
   //@{
   /**
@@ -85,7 +85,7 @@ public:
    * Corner 3 - 7 - 4 - 0 - 3  forms a face
    */
   virtual void PlaceWidget(double corners[8][3]);
-  virtual void PlaceWidget(double bounds[6]);
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -113,7 +113,7 @@ public:
   /**
    * The parallelopiped polydata.
    */
-  virtual double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
 
   //@{
   /**
@@ -161,22 +161,22 @@ public:
    * This actually constructs the geometry of the widget from the various
    * data parameters.
    */
-  virtual void BuildRepresentation();
+  void BuildRepresentation() VTK_OVERRIDE;
 
   //@{
   /**
    * Methods required by vtkProp superclass.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
-  virtual int  RenderOverlay(vtkViewport *viewport);
-  virtual int  RenderOpaqueGeometry(vtkViewport *viewport);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
+  int  RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
+  int  RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
   /**
    * Given and x-y display coordinate, compute the interaction state of
    * the widget.
    */
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
 
   // Manage the state of the widget
   enum _InteractionState
@@ -221,7 +221,7 @@ public:
 
 protected:
   vtkParallelopipedRepresentation();
-  ~vtkParallelopipedRepresentation();
+  ~vtkParallelopipedRepresentation() VTK_OVERRIDE;
 
   /**
    * Translate the nth PtId (0 <= n <= 15) by the specified amount.
diff --git a/Interaction/Widgets/vtkParallelopipedWidget.h b/Interaction/Widgets/vtkParallelopipedWidget.h
index 86e62a8d77..93d3e31e76 100644
--- a/Interaction/Widgets/vtkParallelopipedWidget.h
+++ b/Interaction/Widgets/vtkParallelopipedWidget.h
@@ -60,14 +60,14 @@ public:
   static vtkParallelopipedWidget *New();
 
   vtkTypeMacro(vtkParallelopipedWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Override the superclass method. This is a composite widget, (it internally
    * consists of handle widgets). We will override the superclass method, so
    * that we can pass the enabled state to the internal widgets as well.
    */
-  virtual void SetEnabled(int);
+  void SetEnabled(int) VTK_OVERRIDE;
 
   /**
    * Specify an instance of vtkWidgetRepresentation used to represent this
@@ -99,17 +99,17 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
   /**
    * Methods to change the whether the widget responds to interaction.
    * Overridden to pass the state to component widgets.
    */
-  virtual void SetProcessEvents(int);
+  void SetProcessEvents(int) VTK_OVERRIDE;
 
 protected:
   vtkParallelopipedWidget();
-  ~vtkParallelopipedWidget();
+  ~vtkParallelopipedWidget() VTK_OVERRIDE;
 
   static void RequestResizeCallback             (vtkAbstractWidget* );
   static void RequestResizeAlongAnAxisCallback  (vtkAbstractWidget* );
@@ -127,7 +127,7 @@ protected:
   //@}
 
   // helper methods for cursor management
-  void SetCursor(int state);
+  void SetCursor(int state) VTK_OVERRIDE;
 
   // To break reference count loops
   void ReportReferences(vtkGarbageCollector* collector) VTK_OVERRIDE;
diff --git a/Interaction/Widgets/vtkPlaneWidget.h b/Interaction/Widgets/vtkPlaneWidget.h
index f59e27b4df..56b54f0ab5 100644
--- a/Interaction/Widgets/vtkPlaneWidget.h
+++ b/Interaction/Widgets/vtkPlaneWidget.h
@@ -106,18 +106,18 @@ public:
   static vtkPlaneWidget *New();
 
   vtkTypeMacro(vtkPlaneWidget,vtkPolyDataSourceWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Methods that satisfy the superclass' API.
    */
-  virtual void SetEnabled(int);
-  virtual void PlaceWidget(double bounds[6]);
-  void PlaceWidget()
+  void SetEnabled(int) VTK_OVERRIDE;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void PlaceWidget() VTK_OVERRIDE
     {this->Superclass::PlaceWidget();}
   void PlaceWidget(double xmin, double xmax, double ymin, double ymax,
-                   double zmin, double zmax)
+                   double zmin, double zmax) VTK_OVERRIDE
     {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
   //@}
 
@@ -243,13 +243,13 @@ public:
    * to have the initial placement follow suit.  Or, make changes after the
    * widget has been initialised and call UpdatePlacement() to realise.
    */
-  vtkPolyDataAlgorithm* GetPolyDataAlgorithm();
+  vtkPolyDataAlgorithm* GetPolyDataAlgorithm() VTK_OVERRIDE;
 
   /**
    * Satisfies superclass API.  This will change the state of the widget to
    * match changes that have been made to the underlying PolyDataSource
    */
-  void UpdatePlacement(void);
+  void UpdatePlacement(void) VTK_OVERRIDE;
 
   //@{
   /**
@@ -273,7 +273,7 @@ public:
 
 protected:
   vtkPlaneWidget();
-  ~vtkPlaneWidget();
+  ~vtkPlaneWidget() VTK_OVERRIDE;
 
   // Manage the state of the widget
   int State;
@@ -329,7 +329,7 @@ protected:
   void HandlesOn(double length);
   void HandlesOff();
   int HighlightHandle(vtkProp *prop); //returns cell id
-  virtual void SizeHandles();
+  void SizeHandles() VTK_OVERRIDE;
 
   // the normal cone
   vtkActor          *ConeActor;
@@ -358,7 +358,7 @@ protected:
   vtkActor *CurrentHandle;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Methods to manipulate the hexahedron.
   void MoveOrigin(double *p1, double *p2);
diff --git a/Interaction/Widgets/vtkPlaybackRepresentation.h b/Interaction/Widgets/vtkPlaybackRepresentation.h
index 91464e5e4c..b7a6e72b71 100644
--- a/Interaction/Widgets/vtkPlaybackRepresentation.h
+++ b/Interaction/Widgets/vtkPlaybackRepresentation.h
@@ -52,7 +52,7 @@ public:
    * Standard VTK class methods.
    */
   vtkTypeMacro(vtkPlaybackRepresentation,vtkBorderRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -76,8 +76,8 @@ public:
   /**
    * Satisfy the superclasses' API.
    */
-  virtual void BuildRepresentation();
-  virtual void GetSize(double size[2])
+  void BuildRepresentation() VTK_OVERRIDE;
+  void GetSize(double size[2]) VTK_OVERRIDE
     {size[0]=12.0; size[1]=2.0;}
 
   //@{
@@ -85,17 +85,17 @@ public:
    * These methods are necessary to make this representation behave as
    * a vtkProp.
    */
-  virtual void GetActors2D(vtkPropCollection*);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOverlay(vtkViewport*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  void GetActors2D(vtkPropCollection*) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkPlaybackRepresentation();
-  ~vtkPlaybackRepresentation();
+  ~vtkPlaybackRepresentation() VTK_OVERRIDE;
 
   // representation geometry
   vtkPoints                  *Points;
diff --git a/Interaction/Widgets/vtkPlaybackWidget.h b/Interaction/Widgets/vtkPlaybackWidget.h
index d728546cc1..e1de4ef8a8 100644
--- a/Interaction/Widgets/vtkPlaybackWidget.h
+++ b/Interaction/Widgets/vtkPlaybackWidget.h
@@ -47,7 +47,7 @@ public:
    * Standar VTK class methods.
    */
   vtkTypeMacro(vtkPlaybackWidget,vtkBorderWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -61,17 +61,17 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkPlaybackWidget();
-  ~vtkPlaybackWidget();
+  ~vtkPlaybackWidget() VTK_OVERRIDE;
 
   /**
    * When selecting the interior of this widget, special operations occur
    * (i.e., operating the playback controls).
    */
-  virtual void SelectRegion(double eventPos[2]);
+  void SelectRegion(double eventPos[2]) VTK_OVERRIDE;
 
 private:
   vtkPlaybackWidget(const vtkPlaybackWidget&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkPointHandleRepresentation2D.h b/Interaction/Widgets/vtkPointHandleRepresentation2D.h
index c65d0746e6..af1b3b5aa2 100644
--- a/Interaction/Widgets/vtkPointHandleRepresentation2D.h
+++ b/Interaction/Widgets/vtkPointHandleRepresentation2D.h
@@ -53,7 +53,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkPointHandleRepresentation2D,vtkHandleRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -71,7 +71,7 @@ public:
    * the superclasses SetDisplayPosition in order to set the focal point
    * of the cursor.
    */
-  virtual void SetDisplayPosition(double xyz[3]);
+  void SetDisplayPosition(double xyz[3]) VTK_OVERRIDE;
 
   //@{
   /**
@@ -89,25 +89,25 @@ public:
    * methods. These are the methods that the widget and its representation
    * use to communicate with each other.
    */
-  virtual double *GetBounds();
-  virtual void BuildRepresentation();
-  virtual void StartWidgetInteraction(double eventPos[2]);
-  virtual void WidgetInteraction(double eventPos[2]);
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
+  double *GetBounds() VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods to make this class behave as a vtkProp.
    */
-  virtual void ShallowCopy(vtkProp *prop);
-  virtual void DeepCopy(vtkProp *prop);
-  virtual void GetActors2D(vtkPropCollection *);
-  virtual void ReleaseGraphicsResources(vtkWindow *);
-  virtual int RenderOverlay(vtkViewport *viewport);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
+  void DeepCopy(vtkProp *prop) VTK_OVERRIDE;
+  void GetActors2D(vtkPropCollection *) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
-  void Highlight(int highlight);
+  void Highlight(int highlight) VTK_OVERRIDE;
 
   /**
    * Override the superclass implementation. This class does not use a
@@ -115,11 +115,11 @@ public:
    * space. Since this class constrains points to lie in an overlay
    * plane anyway, we don't care. Just returns.
    */
-  virtual void SetPointPlacer ( vtkPointPlacer * );
+  void SetPointPlacer ( vtkPointPlacer * ) VTK_OVERRIDE;
 
 protected:
   vtkPointHandleRepresentation2D();
-  ~vtkPointHandleRepresentation2D();
+  ~vtkPointHandleRepresentation2D() VTK_OVERRIDE;
 
   // Render the cursor
   vtkActor2D           *Actor;
diff --git a/Interaction/Widgets/vtkPointHandleRepresentation3D.h b/Interaction/Widgets/vtkPointHandleRepresentation3D.h
index 1c81c77b68..1d5fd12a81 100644
--- a/Interaction/Widgets/vtkPointHandleRepresentation3D.h
+++ b/Interaction/Widgets/vtkPointHandleRepresentation3D.h
@@ -50,7 +50,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkPointHandleRepresentation3D,vtkHandleRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -61,8 +61,8 @@ public:
    * the superclasses' SetWorldPosition() and SetDisplayPosition() in
    * order to set the focal point of the cursor properly.
    */
-  virtual void SetWorldPosition(double p[3]);
-  virtual void SetDisplayPosition(double p[3]);
+  void SetWorldPosition(double p[3]) VTK_OVERRIDE;
+  void SetDisplayPosition(double p[3]) VTK_OVERRIDE;
   //@}
 
   /**
@@ -174,34 +174,34 @@ public:
   /**
    * Overload the superclasses SetHandleSize() method to update internal variables.
    */
-  virtual void SetHandleSize(double size);
+  void SetHandleSize(double size) VTK_OVERRIDE;
 
   //@{
   /**
    * Methods to make this class properly act like a vtkWidgetRepresentation.
    */
-  virtual double *GetBounds();
-  virtual void BuildRepresentation();
-  virtual void StartWidgetInteraction(double eventPos[2]);
-  virtual void WidgetInteraction(double eventPos[2]);
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void PlaceWidget(double bounds[6]);
+  double *GetBounds() VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods to make this class behave as a vtkProp.
    */
-  virtual void ShallowCopy(vtkProp *prop);
-  virtual void DeepCopy(vtkProp *prop);
-  virtual void GetActors(vtkPropCollection *);
-  virtual void ReleaseGraphicsResources(vtkWindow *);
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
-  virtual int HasTranslucentPolygonalGeometry();
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
+  void DeepCopy(vtkProp *prop) VTK_OVERRIDE;
+  void GetActors(vtkPropCollection *) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
-  void Highlight(int highlight);
+  void Highlight(int highlight) VTK_OVERRIDE;
 
   //@{
   /**
@@ -222,7 +222,7 @@ public:
 
 protected:
   vtkPointHandleRepresentation3D();
-  ~vtkPointHandleRepresentation3D();
+  ~vtkPointHandleRepresentation3D() VTK_OVERRIDE;
 
   // the cursor3D
   vtkActor          *Actor;
@@ -236,7 +236,7 @@ protected:
   double LastEventPosition[2];
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Methods to manipulate the cursor
   int  ConstraintAxis;
diff --git a/Interaction/Widgets/vtkPointPlacer.h b/Interaction/Widgets/vtkPointPlacer.h
index b8ae89753a..ebd089a128 100644
--- a/Interaction/Widgets/vtkPointPlacer.h
+++ b/Interaction/Widgets/vtkPointPlacer.h
@@ -59,7 +59,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkPointPlacer,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -157,7 +157,7 @@ public:
 
 protected:
   vtkPointPlacer();
-  ~vtkPointPlacer();
+  ~vtkPointPlacer() VTK_OVERRIDE;
 
   int          PixelTolerance;
   double       WorldTolerance;
diff --git a/Interaction/Widgets/vtkPointWidget.h b/Interaction/Widgets/vtkPointWidget.h
index 695c962244..7503c76b33 100644
--- a/Interaction/Widgets/vtkPointWidget.h
+++ b/Interaction/Widgets/vtkPointWidget.h
@@ -83,18 +83,18 @@ public:
   static vtkPointWidget *New();
 
   vtkTypeMacro(vtkPointWidget,vtk3DWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Methods that satisfy the superclass' API.
    */
-  virtual void SetEnabled(int);
-  virtual void PlaceWidget(double bounds[6]);
-  void PlaceWidget()
+  void SetEnabled(int) VTK_OVERRIDE;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void PlaceWidget() VTK_OVERRIDE
     {this->Superclass::PlaceWidget();}
   void PlaceWidget(double xmin, double xmax, double ymin, double ymax,
-                   double zmin, double zmax)
+                   double zmin, double zmax) VTK_OVERRIDE
     {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
   //@}
 
@@ -223,7 +223,7 @@ public:
 
 protected:
   vtkPointWidget();
-  ~vtkPointWidget();
+  ~vtkPointWidget() VTK_OVERRIDE;
 
   // Manage the state of the widget
   friend class vtkLineWidget;
@@ -263,7 +263,7 @@ protected:
   vtkCellPicker *CursorPicker;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Methods to manipulate the cursor
   int ConstraintAxis;
diff --git a/Interaction/Widgets/vtkPolyDataContourLineInterpolator.h b/Interaction/Widgets/vtkPolyDataContourLineInterpolator.h
index 10398f5c17..079b9ed556 100644
--- a/Interaction/Widgets/vtkPolyDataContourLineInterpolator.h
+++ b/Interaction/Widgets/vtkPolyDataContourLineInterpolator.h
@@ -41,7 +41,7 @@ public:
    */
   vtkTypeMacro(vtkPolyDataContourLineInterpolator,
                               vtkContourLineInterpolator);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -49,9 +49,9 @@ public:
    * For instance vtkBezierContourLineInterpolator adds nodes between idx1
    * and idx2, that allow the contour to adhere to a bezier curve.
    */
-  virtual int InterpolateLine( vtkRenderer *ren,
+  int InterpolateLine( vtkRenderer *ren,
                                vtkContourRepresentation *rep,
-                               int idx1, int idx2 ) = 0;
+                               int idx1, int idx2 ) VTK_OVERRIDE = 0;
 
   /**
    * The interpolator is given a chance to update the node.
@@ -60,9 +60,9 @@ public:
    * constructs the contour.
    * Returns 0 if the node (world position) is unchanged.
    */
-  virtual int UpdateNode( vtkRenderer *,
+  int UpdateNode( vtkRenderer *,
                           vtkContourRepresentation *,
-                          double * vtkNotUsed(node), int vtkNotUsed(idx) ) = 0;
+                          double * vtkNotUsed(node), int vtkNotUsed(idx) ) VTK_OVERRIDE = 0;
 
   //@{
   /**
@@ -74,7 +74,7 @@ public:
 
 protected:
   vtkPolyDataContourLineInterpolator();
-  ~vtkPolyDataContourLineInterpolator();
+  ~vtkPolyDataContourLineInterpolator() VTK_OVERRIDE;
 
   vtkPolyDataCollection *Polys;
 
diff --git a/Interaction/Widgets/vtkPolyDataPointPlacer.h b/Interaction/Widgets/vtkPolyDataPointPlacer.h
index 443259124f..4615bd4172 100644
--- a/Interaction/Widgets/vtkPolyDataPointPlacer.h
+++ b/Interaction/Widgets/vtkPolyDataPointPlacer.h
@@ -55,7 +55,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkPolyDataPointPlacer,vtkPointPlacer);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   // Descuription:
@@ -75,10 +75,10 @@ public:
    * For the Terrain point placer this computes world points that
    * lie at the specified height above the terrain.
    */
-  virtual int ComputeWorldPosition( vtkRenderer *ren,
+  int ComputeWorldPosition( vtkRenderer *ren,
                                     double displayPos[2],
                                     double worldPos[3],
-                                    double worldOrient[9] );
+                                    double worldOrient[9] ) VTK_OVERRIDE;
 
   /**
    * Given a renderer, a display position, and a reference world
@@ -86,29 +86,29 @@ public:
    * of this point. This method is typically used by the
    * representation to move the point.
    */
-  virtual int ComputeWorldPosition( vtkRenderer *ren,
+  int ComputeWorldPosition( vtkRenderer *ren,
                                     double displayPos[2],
                                     double refWorldPos[3],
                                     double worldPos[3],
-                                    double worldOrient[9] );
+                                    double worldOrient[9] ) VTK_OVERRIDE;
 
   /**
    * Given a world position check the validity of this
    * position according to the constraints of the placer
    */
-  virtual int ValidateWorldPosition( double worldPos[3] );
+  int ValidateWorldPosition( double worldPos[3] ) VTK_OVERRIDE;
 
   /**
    * Given a display position, check the validity of this position.
    */
-  virtual int ValidateDisplayPosition( vtkRenderer *, double displayPos[2] );
+  int ValidateDisplayPosition( vtkRenderer *, double displayPos[2] ) VTK_OVERRIDE;
 
   /**
    * Given a world position and a world orientation,
    * validate it according to the constraints of the placer.
    */
-  virtual int ValidateWorldPosition( double worldPos[3],
-                                     double worldOrient[9] );
+  int ValidateWorldPosition( double worldPos[3],
+                                     double worldOrient[9] ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -119,7 +119,7 @@ public:
 
 protected:
   vtkPolyDataPointPlacer();
-  ~vtkPolyDataPointPlacer();
+  ~vtkPolyDataPointPlacer() VTK_OVERRIDE;
 
   // The props that represents the terrain data (one or more) in a rendered
   // scene
diff --git a/Interaction/Widgets/vtkPolyDataSourceWidget.h b/Interaction/Widgets/vtkPolyDataSourceWidget.h
index bd049d720e..5fd034c3f7 100644
--- a/Interaction/Widgets/vtkPolyDataSourceWidget.h
+++ b/Interaction/Widgets/vtkPolyDataSourceWidget.h
@@ -46,13 +46,13 @@ class VTKINTERACTIONWIDGETS_EXPORT vtkPolyDataSourceWidget : public vtk3DWidget
 {
  public:
   vtkTypeMacro(vtkPolyDataSourceWidget, vtk3DWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Overrides vtk3DWidget PlaceWidget() so that it doesn't complain if
    * there's no Input and no Prop3D.
    */
-  virtual void PlaceWidget();
+  void PlaceWidget() VTK_OVERRIDE;
 
   /**
    * We have to redeclare this abstract, PlaceWidget() requires it.  You HAVE
@@ -60,13 +60,13 @@ class VTKINTERACTIONWIDGETS_EXPORT vtkPolyDataSourceWidget : public vtk3DWidget
    * and no Input, your PlaceWidget must make use of the underlying
    * PolyDataSource to do its work.
    */
-  virtual void PlaceWidget(double bounds[6]) = 0;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE = 0;
 
   /**
    * Convenience method brought over from vtkPlaneWidget.
    */
   void PlaceWidget(double xmin, double xmax, double ymin, double ymax,
-                   double zmin, double zmax)
+                   double zmin, double zmax) VTK_OVERRIDE
     {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
 
   /**
diff --git a/Interaction/Widgets/vtkPolyLineRepresentation.h b/Interaction/Widgets/vtkPolyLineRepresentation.h
index 079e97886b..afab2b98f6 100644
--- a/Interaction/Widgets/vtkPolyLineRepresentation.h
+++ b/Interaction/Widgets/vtkPolyLineRepresentation.h
@@ -41,7 +41,7 @@ class VTKINTERACTIONWIDGETS_EXPORT vtkPolyLineRepresentation : public vtkCurveRe
 public:
   static vtkPolyLineRepresentation* New();
   vtkTypeMacro(vtkPolyLineRepresentation, vtkCurveRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Grab the polydata (including points) that defines the poly line.
@@ -51,23 +51,23 @@ public:
    * provides the vtkPolyData and the points and polyline are added to
    * it.
    */
-  void GetPolyData(vtkPolyData *pd);
+  void GetPolyData(vtkPolyData *pd) VTK_OVERRIDE;
 
   /**
    * Set the number of handles for this widget.
    */
-  virtual void SetNumberOfHandles(int npts);
+  void SetNumberOfHandles(int npts) VTK_OVERRIDE;
 
   /**
    * Get the positions of the handles.
    */
-  virtual vtkDoubleArray* GetHandlePositions();
+  vtkDoubleArray* GetHandlePositions() VTK_OVERRIDE;
 
   /**
    * Get the true length of the poly line. Calculated as the summed
    * lengths of the individual straight line segments.
    */
-  double GetSummedLength();
+  double GetSummedLength() VTK_OVERRIDE;
 
   /**
    * Convenience method to allocate and set the handles from a
@@ -75,22 +75,22 @@ public:
    * the poly line sets Closed to on and disregards the last point,
    * otherwise Closed remains unchanged.
    */
-  virtual void InitializeHandles(vtkPoints* points);
+  void InitializeHandles(vtkPoints* points) VTK_OVERRIDE;
 
   /**
    * Build the representation for the poly line.
    */
-  virtual void BuildRepresentation();
+  void BuildRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkPolyLineRepresentation();
-  ~vtkPolyLineRepresentation();
+  ~vtkPolyLineRepresentation() VTK_OVERRIDE;
 
   // The poly line source
   vtkPolyLineSource *PolyLineSource;
 
   // Specialized method to insert a handle on the poly line.
-  virtual void InsertHandleOnLine(double* pos);
+  void InsertHandleOnLine(double* pos) VTK_OVERRIDE;
 
 private:
   vtkPolyLineRepresentation(const vtkPolyLineRepresentation&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkPolyLineWidget.h b/Interaction/Widgets/vtkPolyLineWidget.h
index 3fb2e63744..66d3ae9062 100644
--- a/Interaction/Widgets/vtkPolyLineWidget.h
+++ b/Interaction/Widgets/vtkPolyLineWidget.h
@@ -36,7 +36,7 @@ class VTKINTERACTIONWIDGETS_EXPORT vtkPolyLineWidget : public vtkAbstractWidget
 public:
   static vtkPolyLineWidget* New();
   vtkTypeMacro(vtkPolyLineWidget, vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Specify an instance of vtkWidgetRepresentation used to represent this
@@ -53,11 +53,11 @@ public:
    * Create the default widget representation if one is not set. By default,
    * this is an instance of the vtkPolyLineRepresentation class.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkPolyLineWidget();
-  ~vtkPolyLineWidget();
+  ~vtkPolyLineWidget() VTK_OVERRIDE;
 
   int WidgetState;
   enum _WidgetState {Start=0,Active};
diff --git a/Interaction/Widgets/vtkPolygonalHandleRepresentation3D.h b/Interaction/Widgets/vtkPolygonalHandleRepresentation3D.h
index 397b92ea27..bf4577c245 100644
--- a/Interaction/Widgets/vtkPolygonalHandleRepresentation3D.h
+++ b/Interaction/Widgets/vtkPolygonalHandleRepresentation3D.h
@@ -46,13 +46,13 @@ public:
    */
   vtkTypeMacro(vtkPolygonalHandleRepresentation3D,
                        vtkAbstractPolygonalHandleRepresentation3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Set the position of the point in world and display coordinates.
    */
-  virtual void SetWorldPosition(double p[3]);
+  void SetWorldPosition(double p[3]) VTK_OVERRIDE;
 
   //@{
   /**
@@ -65,7 +65,7 @@ public:
 
 protected:
   vtkPolygonalHandleRepresentation3D();
-  ~vtkPolygonalHandleRepresentation3D() {}
+  ~vtkPolygonalHandleRepresentation3D() VTK_OVERRIDE {}
 
   double Offset[3];
 
diff --git a/Interaction/Widgets/vtkPolygonalSurfaceContourLineInterpolator.h b/Interaction/Widgets/vtkPolygonalSurfaceContourLineInterpolator.h
index e44eb9e677..360b20fd6c 100644
--- a/Interaction/Widgets/vtkPolygonalSurfaceContourLineInterpolator.h
+++ b/Interaction/Widgets/vtkPolygonalSurfaceContourLineInterpolator.h
@@ -54,7 +54,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkPolygonalSurfaceContourLineInterpolator, vtkPolyDataContourLineInterpolator);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   static vtkPolygonalSurfaceContourLineInterpolator *New();
@@ -64,9 +64,9 @@ public:
    * For instance vtkBezierContourLineInterpolator adds nodes between idx1
    * and idx2, that allow the contour to adhere to a bezier curve.
    */
-  virtual int InterpolateLine( vtkRenderer *ren,
+  int InterpolateLine( vtkRenderer *ren,
                                vtkContourRepresentation *rep,
-                               int idx1, int idx2 );
+                               int idx1, int idx2 ) VTK_OVERRIDE;
 
   /**
    * The interpolator is given a chance to update the node.
@@ -75,9 +75,9 @@ public:
    * constructs the contour.
    * Returns 0 if the node (world position) is unchanged.
    */
-  virtual int UpdateNode( vtkRenderer *,
+  int UpdateNode( vtkRenderer *,
                           vtkContourRepresentation *,
-                          double * vtkNotUsed(node), int vtkNotUsed(idx) );
+                          double * vtkNotUsed(node), int vtkNotUsed(idx) ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -98,7 +98,7 @@ public:
 
 protected:
   vtkPolygonalSurfaceContourLineInterpolator();
-  ~vtkPolygonalSurfaceContourLineInterpolator();
+  ~vtkPolygonalSurfaceContourLineInterpolator() VTK_OVERRIDE;
 
   /**
    * Draw the polyline at a certain height (in the direction of the vertex
diff --git a/Interaction/Widgets/vtkPolygonalSurfacePointPlacer.h b/Interaction/Widgets/vtkPolygonalSurfacePointPlacer.h
index 002301e7e6..726d997829 100644
--- a/Interaction/Widgets/vtkPolygonalSurfacePointPlacer.h
+++ b/Interaction/Widgets/vtkPolygonalSurfacePointPlacer.h
@@ -67,14 +67,14 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkPolygonalSurfacePointPlacer,vtkPolyDataPointPlacer);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   // Descuription:
   // Add /remove a prop, to place points on
-  virtual void AddProp( vtkProp * );
-  virtual void RemoveViewProp(vtkProp *prop);
-  virtual void RemoveAllProps();
+  void AddProp( vtkProp * ) VTK_OVERRIDE;
+  void RemoveViewProp(vtkProp *prop) VTK_OVERRIDE;
+  void RemoveAllProps() VTK_OVERRIDE;
 
   /**
    * Given a renderer and a display position in pixel coordinates,
@@ -84,10 +84,10 @@ public:
    * For the Terrain point placer this computes world points that
    * lie at the specified height above the terrain.
    */
-  virtual int ComputeWorldPosition( vtkRenderer *ren,
+  int ComputeWorldPosition( vtkRenderer *ren,
                                     double displayPos[2],
                                     double worldPos[3],
-                                    double worldOrient[9] );
+                                    double worldOrient[9] ) VTK_OVERRIDE;
 
   /**
    * Given a renderer, a display position, and a reference world
@@ -95,35 +95,35 @@ public:
    * of this point. This method is typically used by the
    * representation to move the point.
    */
-  virtual int ComputeWorldPosition( vtkRenderer *ren,
+  int ComputeWorldPosition( vtkRenderer *ren,
                                     double displayPos[2],
                                     double refWorldPos[3],
                                     double worldPos[3],
-                                    double worldOrient[9] );
+                                    double worldOrient[9] ) VTK_OVERRIDE;
 
   /**
    * Given a world position check the validity of this
    * position according to the constraints of the placer
    */
-  virtual int ValidateWorldPosition( double worldPos[3] );
+  int ValidateWorldPosition( double worldPos[3] ) VTK_OVERRIDE;
 
   /**
    * Give the node a chance to update its auxiliary point id.
    */
-  virtual int UpdateNodeWorldPosition( double worldPos[3],
-                                       vtkIdType nodePointId );
+  int UpdateNodeWorldPosition( double worldPos[3],
+                                       vtkIdType nodePointId ) VTK_OVERRIDE;
 
   /**
    * Given a display position, check the validity of this position.
    */
-  virtual int ValidateDisplayPosition( vtkRenderer *, double displayPos[2] );
+  int ValidateDisplayPosition( vtkRenderer *, double displayPos[2] ) VTK_OVERRIDE;
 
   /**
    * Given a world position and a world orientation,
    * validate it according to the constraints of the placer.
    */
-  virtual int ValidateWorldPosition( double worldPos[3],
-                                     double worldOrient[9] );
+  int ValidateWorldPosition( double worldPos[3],
+                                     double worldOrient[9] ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -172,7 +172,7 @@ public:
 
 protected:
   vtkPolygonalSurfacePointPlacer();
-  ~vtkPolygonalSurfacePointPlacer();
+  ~vtkPolygonalSurfacePointPlacer() VTK_OVERRIDE;
 
   // The props that represents the terrain data (one or more) in a rendered
   // scene
diff --git a/Interaction/Widgets/vtkProgressBarRepresentation.h b/Interaction/Widgets/vtkProgressBarRepresentation.h
index 30ef58adb8..a1cdc56cb8 100644
--- a/Interaction/Widgets/vtkProgressBarRepresentation.h
+++ b/Interaction/Widgets/vtkProgressBarRepresentation.h
@@ -47,7 +47,7 @@ public:
    * Standard VTK class methods.
    */
   vtkTypeMacro(vtkProgressBarRepresentation, vtkBorderRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -99,8 +99,8 @@ public:
   /**
    * Satisfy the superclasses' API.
    */
-  virtual void BuildRepresentation();
-  virtual void GetSize(double size[2]);
+  void BuildRepresentation() VTK_OVERRIDE;
+  void GetSize(double size[2]) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -108,17 +108,17 @@ public:
    * These methods are necessary to make this representation behave as
    * a vtkProp.
    */
-  virtual void GetActors2D(vtkPropCollection*);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOverlay(vtkViewport*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  void GetActors2D(vtkPropCollection*) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkProgressBarRepresentation();
-  ~vtkProgressBarRepresentation();
+  ~vtkProgressBarRepresentation() VTK_OVERRIDE;
 
   double ProgressRate;
   double ProgressBarColor[3];
diff --git a/Interaction/Widgets/vtkProgressBarWidget.h b/Interaction/Widgets/vtkProgressBarWidget.h
index e1881b9beb..df773a8785 100644
--- a/Interaction/Widgets/vtkProgressBarWidget.h
+++ b/Interaction/Widgets/vtkProgressBarWidget.h
@@ -48,7 +48,7 @@ public:
    * Standard VTK class methods.
    */
   vtkTypeMacro(vtkProgressBarWidget, vtkBorderWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -62,11 +62,11 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkProgressBarWidget();
-  ~vtkProgressBarWidget();
+  ~vtkProgressBarWidget() VTK_OVERRIDE;
 
 private:
   vtkProgressBarWidget(const vtkProgressBarWidget&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkProp3DButtonRepresentation.h b/Interaction/Widgets/vtkProp3DButtonRepresentation.h
index 582bc30c7f..248fabe5e5 100644
--- a/Interaction/Widgets/vtkProp3DButtonRepresentation.h
+++ b/Interaction/Widgets/vtkProp3DButtonRepresentation.h
@@ -61,7 +61,7 @@ public:
    * Standard methods for instances of the class.
    */
   vtkTypeMacro(vtkProp3DButtonRepresentation,vtkButtonRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -86,39 +86,39 @@ public:
   /**
    * Extend the vtkButtonRepresentation::SetState() method.
    */
-  virtual void SetState(int state);
+  void SetState(int state) VTK_OVERRIDE;
 
   //@{
   /**
    * Provide the necessary methods to satisfy the vtkWidgetRepresentation API.
    */
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void BuildRepresentation();
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
   //@}
 
   /**
    * This method positions (translates and scales the props) into the
    * bounding box specified. Note all the button props are scaled.
    */
-  virtual void PlaceWidget(double bounds[6]);
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
 
   //@{
   /**
    * Provide the necessary methods to satisfy the rendering API.
    */
-  virtual void ShallowCopy(vtkProp *prop);
-  virtual double *GetBounds();
-  virtual void GetActors(vtkPropCollection *pc);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderVolumetricGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
+  double *GetBounds() VTK_OVERRIDE;
+  void GetActors(vtkPropCollection *pc) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderVolumetricGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkProp3DButtonRepresentation();
-  ~vtkProp3DButtonRepresentation();
+  ~vtkProp3DButtonRepresentation() VTK_OVERRIDE;
 
   // The current vtkProp3D used to represent the button
   vtkProp3D *CurrentProp;
@@ -135,7 +135,7 @@ protected:
   vtkPropPicker *Picker;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
 private:
   vtkProp3DButtonRepresentation(const vtkProp3DButtonRepresentation&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkRectilinearWipeRepresentation.h b/Interaction/Widgets/vtkRectilinearWipeRepresentation.h
index 7b4ee387bd..41dcbc37ab 100644
--- a/Interaction/Widgets/vtkRectilinearWipeRepresentation.h
+++ b/Interaction/Widgets/vtkRectilinearWipeRepresentation.h
@@ -65,7 +65,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkRectilinearWipeRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -108,10 +108,10 @@ public:
    * are the methods that the widget and its representation use to
    * communicate with each other.
    */
-  virtual void BuildRepresentation();
-  virtual void StartWidgetInteraction(double eventPos[2]);
-  virtual void WidgetInteraction(double eventPos[2]);
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
+  void BuildRepresentation() VTK_OVERRIDE;
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
   //@}
 
   // Enums define the state of the prop relative to the mouse pointer
@@ -129,17 +129,17 @@ public:
   /**
    * Methods to make this class behave as a vtkProp.
    */
-  virtual void GetActors2D(vtkPropCollection *);
-  virtual void ReleaseGraphicsResources(vtkWindow *);
-  virtual int RenderOverlay(vtkViewport *viewport);
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
-  virtual int HasTranslucentPolygonalGeometry();
+  void GetActors2D(vtkPropCollection *) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkRectilinearWipeRepresentation();
-  ~vtkRectilinearWipeRepresentation();
+  ~vtkRectilinearWipeRepresentation() VTK_OVERRIDE;
 
   // Instances that this class manipulates
   vtkImageRectilinearWipe *RectilinearWipe;
diff --git a/Interaction/Widgets/vtkRectilinearWipeWidget.h b/Interaction/Widgets/vtkRectilinearWipeWidget.h
index 74e89ef44e..88709e246b 100644
--- a/Interaction/Widgets/vtkRectilinearWipeWidget.h
+++ b/Interaction/Widgets/vtkRectilinearWipeWidget.h
@@ -96,7 +96,7 @@ public:
    * Standard macros.
    */
   vtkTypeMacro(vtkRectilinearWipeWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -116,11 +116,11 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  virtual void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkRectilinearWipeWidget();
-  ~vtkRectilinearWipeWidget();
+  ~vtkRectilinearWipeWidget() VTK_OVERRIDE;
 
   // These methods handle events
   static void SelectAction(vtkAbstractWidget*);
@@ -128,7 +128,7 @@ protected:
   static void EndSelectAction(vtkAbstractWidget*);
 
   // helper methods for cursor management
-  void SetCursor(int state);
+  void SetCursor(int state) VTK_OVERRIDE;
 
   // Manage the state of the widget
   int WidgetState;
diff --git a/Interaction/Widgets/vtkResliceCursor.h b/Interaction/Widgets/vtkResliceCursor.h
index 3568c36a95..7f770ba87b 100644
--- a/Interaction/Widgets/vtkResliceCursor.h
+++ b/Interaction/Widgets/vtkResliceCursor.h
@@ -150,7 +150,7 @@ public:
   /**
    * Get the MTime. Check the MTime of the internal planes as well.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Reset the cursor to the default position, ie with the axes, normal
@@ -161,7 +161,7 @@ public:
 
 protected:
   vtkResliceCursor();
-  ~vtkResliceCursor();
+  ~vtkResliceCursor() VTK_OVERRIDE;
 
   virtual void BuildCursorGeometry();
   virtual void BuildPolyData();
diff --git a/Interaction/Widgets/vtkResliceCursorActor.h b/Interaction/Widgets/vtkResliceCursorActor.h
index bde77d9970..8c44c9a6e2 100644
--- a/Interaction/Widgets/vtkResliceCursorActor.h
+++ b/Interaction/Widgets/vtkResliceCursorActor.h
@@ -48,7 +48,7 @@ public:
    */
   static vtkResliceCursorActor *New();
   vtkTypeMacro(vtkResliceCursorActor,vtkProp3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -61,29 +61,29 @@ public:
   /**
    * Support the standard render methods.
    */
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
 
   /**
    * Does this prop have some translucent polygonal geometry? No.
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Get the bounds for this Actor as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
    */
-  double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
 
   /**
    * Get the actors mtime plus consider its algorithm.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -105,7 +105,7 @@ public:
 
 protected:
   vtkResliceCursorActor();
-  ~vtkResliceCursorActor();
+  ~vtkResliceCursorActor() VTK_OVERRIDE;
 
   void UpdateViewProps( vtkViewport * v = NULL );
   void UpdateHoleSize( vtkViewport * v );
diff --git a/Interaction/Widgets/vtkResliceCursorLineRepresentation.h b/Interaction/Widgets/vtkResliceCursorLineRepresentation.h
index 858831c0e4..5fa14b1a78 100644
--- a/Interaction/Widgets/vtkResliceCursorLineRepresentation.h
+++ b/Interaction/Widgets/vtkResliceCursorLineRepresentation.h
@@ -55,36 +55,36 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkResliceCursorLineRepresentation,vtkResliceCursorRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * These are methods that satisfy vtkWidgetRepresentation's API.
    */
-  virtual void BuildRepresentation();
-  virtual int  ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void StartWidgetInteraction(double startEventPos[2]);
-  virtual void WidgetInteraction(double e[2]);
-  virtual void Highlight(int highlightOn);
+  void BuildRepresentation() VTK_OVERRIDE;
+  int  ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void StartWidgetInteraction(double startEventPos[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double e[2]) VTK_OVERRIDE;
+  void Highlight(int highlightOn) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods required by vtkProp superclass.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
-  virtual int RenderOverlay(vtkViewport *viewport);
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
-  virtual int HasTranslucentPolygonalGeometry();
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
   /**
    * Get the bounds of this prop. This simply returns the bounds of the
    * reslice cursor object.
    */
-  virtual double * GetBounds();
+  double * GetBounds() VTK_OVERRIDE;
 
   //@{
   /**
@@ -97,7 +97,7 @@ public:
   /**
    * Get the reslice cursor.
    */
-  virtual vtkResliceCursor * GetResliceCursor();
+  vtkResliceCursor * GetResliceCursor() VTK_OVERRIDE;
 
   /**
    * Set the user matrix on all the internal actors.
@@ -106,9 +106,9 @@ public:
 
 protected:
   vtkResliceCursorLineRepresentation();
-  ~vtkResliceCursorLineRepresentation();
+  ~vtkResliceCursorLineRepresentation() VTK_OVERRIDE;
 
-  virtual vtkResliceCursorPolyDataAlgorithm * GetCursorAlgorithm();
+  vtkResliceCursorPolyDataAlgorithm * GetCursorAlgorithm() VTK_OVERRIDE;
 
   double RotateAxis( double evenPos[2], int axis );
 
diff --git a/Interaction/Widgets/vtkResliceCursorPicker.h b/Interaction/Widgets/vtkResliceCursorPicker.h
index 7feb493bd3..c63e95552b 100644
--- a/Interaction/Widgets/vtkResliceCursorPicker.h
+++ b/Interaction/Widgets/vtkResliceCursorPicker.h
@@ -44,7 +44,7 @@ class VTKINTERACTIONWIDGETS_EXPORT vtkResliceCursorPicker : public vtkPicker
 public:
   static vtkResliceCursorPicker *New();
   vtkTypeMacro(vtkResliceCursorPicker, vtkPicker);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform pick operation with selection point provided. Normally the
@@ -52,8 +52,8 @@ public:
    * the third value is z=0. The return value will be non-zero if
    * something was successfully picked.
    */
-  virtual int Pick(double selectionX, double selectionY, double selectionZ,
-                   vtkRenderer *renderer);
+  int Pick(double selectionX, double selectionY, double selectionZ,
+                   vtkRenderer *renderer) VTK_OVERRIDE;
 
   //@{
   /**
@@ -85,7 +85,7 @@ public:
 
 protected:
   vtkResliceCursorPicker();
-  ~vtkResliceCursorPicker();
+  ~vtkResliceCursorPicker() VTK_OVERRIDE;
 
   virtual int IntersectPolyDataWithLine(
       double p1[3], double p2[3], vtkPolyData *, double tol );
diff --git a/Interaction/Widgets/vtkResliceCursorPolyDataAlgorithm.h b/Interaction/Widgets/vtkResliceCursorPolyDataAlgorithm.h
index 33a929ce84..7e8acef5e0 100644
--- a/Interaction/Widgets/vtkResliceCursorPolyDataAlgorithm.h
+++ b/Interaction/Widgets/vtkResliceCursorPolyDataAlgorithm.h
@@ -46,7 +46,7 @@ class VTKINTERACTIONWIDGETS_EXPORT vtkResliceCursorPolyDataAlgorithm : public vt
 {
 public:
   vtkTypeMacro(vtkResliceCursorPolyDataAlgorithm,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkResliceCursorPolyDataAlgorithm *New();
 
@@ -119,15 +119,15 @@ public:
    * Get the MTime. Check the MTime of the internal ResliceCursor as well, if
    * one has been set
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkResliceCursorPolyDataAlgorithm();
-  ~vtkResliceCursorPolyDataAlgorithm();
+  ~vtkResliceCursorPolyDataAlgorithm() VTK_OVERRIDE;
 
   int RequestData(vtkInformation*,
                   vtkInformationVector**,
-                  vtkInformationVector*);
+                  vtkInformationVector*) VTK_OVERRIDE;
 
   void GetSlabPolyData( int axis, int planeAxis, vtkPolyData *pd );
 
diff --git a/Interaction/Widgets/vtkResliceCursorRepresentation.h b/Interaction/Widgets/vtkResliceCursorRepresentation.h
index b829cb7bb4..427834b19c 100644
--- a/Interaction/Widgets/vtkResliceCursorRepresentation.h
+++ b/Interaction/Widgets/vtkResliceCursorRepresentation.h
@@ -56,7 +56,7 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkResliceCursorRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -121,7 +121,7 @@ public:
   /**
    * These are methods that satisfy vtkWidgetRepresentation's API.
    */
-  virtual void BuildRepresentation();
+  void BuildRepresentation() VTK_OVERRIDE;
 
   //@{
   /**
@@ -247,7 +247,7 @@ public:
 
 protected:
   vtkResliceCursorRepresentation();
-  ~vtkResliceCursorRepresentation();
+  ~vtkResliceCursorRepresentation() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Interaction/Widgets/vtkResliceCursorThickLineRepresentation.h b/Interaction/Widgets/vtkResliceCursorThickLineRepresentation.h
index 9a4fabed7e..6cf91eb503 100644
--- a/Interaction/Widgets/vtkResliceCursorThickLineRepresentation.h
+++ b/Interaction/Widgets/vtkResliceCursorThickLineRepresentation.h
@@ -45,7 +45,7 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkResliceCursorThickLineRepresentation,vtkResliceCursorLineRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -54,20 +54,20 @@ public:
    * implementation and creates a vtkImageSlabReslice instead of a
    * vtkImageReslice.
    */
-  virtual void CreateDefaultResliceAlgorithm();
+  void CreateDefaultResliceAlgorithm() VTK_OVERRIDE;
 
   /**
    * INTERNAL - Do not use
    * Reslice parameters which are set from vtkResliceCursorWidget based on
    * user interactions.
    */
-  virtual void SetResliceParameters(
+  void SetResliceParameters(
       double outputSpacingX, double outputSpacingY,
-      int extentX, int extentY );
+      int extentX, int extentY ) VTK_OVERRIDE;
 
 protected:
   vtkResliceCursorThickLineRepresentation();
-  ~vtkResliceCursorThickLineRepresentation();
+  ~vtkResliceCursorThickLineRepresentation() VTK_OVERRIDE;
 
 private:
   vtkResliceCursorThickLineRepresentation(const vtkResliceCursorThickLineRepresentation&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkResliceCursorWidget.h b/Interaction/Widgets/vtkResliceCursorWidget.h
index bb2ab66359..16eeee04e4 100644
--- a/Interaction/Widgets/vtkResliceCursorWidget.h
+++ b/Interaction/Widgets/vtkResliceCursorWidget.h
@@ -55,7 +55,7 @@ public:
    * Standard VTK class macros.
    */
   vtkTypeMacro(vtkResliceCursorWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -76,14 +76,14 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
   /**
    * Methods for activiating this widget. This implementation extends the
    * superclasses' in order to resize the widget handles due to a render
    * start event.
    */
-  virtual void SetEnabled(int);
+  void SetEnabled(int) VTK_OVERRIDE;
 
   //@{
   /**
@@ -112,7 +112,7 @@ public:
 
 protected:
   vtkResliceCursorWidget();
-  ~vtkResliceCursorWidget();
+  ~vtkResliceCursorWidget() VTK_OVERRIDE;
 
   // These are the callbacks for this widget
   static void SelectAction(vtkAbstractWidget*);
@@ -124,7 +124,7 @@ protected:
   static void ResetResliceCursorAction(vtkAbstractWidget*);
 
   // helper methods for cursor management
-  void SetCursor(int state);
+  void SetCursor(int state) VTK_OVERRIDE;
 
   // Start Window Level
   void StartWindowLevel();
diff --git a/Interaction/Widgets/vtkScalarBarRepresentation.h b/Interaction/Widgets/vtkScalarBarRepresentation.h
index 711ed338a2..de160f4ad9 100644
--- a/Interaction/Widgets/vtkScalarBarRepresentation.h
+++ b/Interaction/Widgets/vtkScalarBarRepresentation.h
@@ -52,7 +52,7 @@ class VTKINTERACTIONWIDGETS_EXPORT vtkScalarBarRepresentation : public vtkBorder
 {
 public:
   vtkTypeMacro(vtkScalarBarRepresentation, vtkBorderRepresentation);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
   static vtkScalarBarRepresentation *New();
 
   //@{
@@ -67,9 +67,9 @@ public:
   /**
    * Satisfy the superclass' API.
    */
-  virtual void BuildRepresentation();
-  virtual void WidgetInteraction(double eventPos[2]);
-  virtual void GetSize(double size[2])
+  void BuildRepresentation() VTK_OVERRIDE;
+  void WidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void GetSize(double size[2]) VTK_OVERRIDE
     {size[0]=2.0; size[1]=2.0;}
   //@}
 
@@ -78,14 +78,14 @@ public:
    * These methods are necessary to make this representation behave as
    * a vtkProp.
    */
-  virtual int GetVisibility();
-  virtual void SetVisibility(int);
-  virtual void GetActors2D(vtkPropCollection *collection);
-  virtual void ReleaseGraphicsResources(vtkWindow *window);
-  virtual int RenderOverlay(vtkViewport*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  int GetVisibility() VTK_OVERRIDE;
+  void SetVisibility(int) VTK_OVERRIDE;
+  void GetActors2D(vtkPropCollection *collection) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *window) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
   //@{
@@ -107,7 +107,7 @@ public:
 
 protected:
   vtkScalarBarRepresentation();
-  ~vtkScalarBarRepresentation();
+  ~vtkScalarBarRepresentation() VTK_OVERRIDE;
 
   /**
    * Change horizontal <--> vertical orientation, rotate the corners of the
diff --git a/Interaction/Widgets/vtkScalarBarWidget.h b/Interaction/Widgets/vtkScalarBarWidget.h
index 126c698ba9..8fdb5409b5 100644
--- a/Interaction/Widgets/vtkScalarBarWidget.h
+++ b/Interaction/Widgets/vtkScalarBarWidget.h
@@ -46,7 +46,7 @@ class VTKINTERACTIONWIDGETS_EXPORT vtkScalarBarWidget : public vtkBorderWidget
 public:
   static vtkScalarBarWidget *New();
   vtkTypeMacro(vtkScalarBarWidget, vtkBorderWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Specify an instance of vtkWidgetRepresentation used to represent this
@@ -84,11 +84,11 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  virtual void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkScalarBarWidget();
-  ~vtkScalarBarWidget();
+  ~vtkScalarBarWidget() VTK_OVERRIDE;
 
   int Repositionable;
 
@@ -96,7 +96,7 @@ protected:
   static void MoveAction(vtkAbstractWidget*);
 
   // set the cursor to the correct shape based on State argument
-  virtual void SetCursor(int State);
+  void SetCursor(int State) VTK_OVERRIDE;
 
 private:
   vtkScalarBarWidget(const vtkScalarBarWidget&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkSeedRepresentation.h b/Interaction/Widgets/vtkSeedRepresentation.h
index 23c927df55..1b5c430c46 100644
--- a/Interaction/Widgets/vtkSeedRepresentation.h
+++ b/Interaction/Widgets/vtkSeedRepresentation.h
@@ -48,7 +48,7 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkSeedRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -135,13 +135,13 @@ public:
   /**
    * These are methods that satisfy vtkWidgetRepresentation's API.
    */
-  virtual void BuildRepresentation();
-  virtual int ComputeInteractionState( int X, int Y, int modify = 0 );
+  void BuildRepresentation() VTK_OVERRIDE;
+  int ComputeInteractionState( int X, int Y, int modify = 0 ) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkSeedRepresentation();
-  ~vtkSeedRepresentation();
+  ~vtkSeedRepresentation() VTK_OVERRIDE;
 
   // The handle and the rep used to close the handles
   vtkHandleRepresentation  *HandleRepresentation;
diff --git a/Interaction/Widgets/vtkSeedWidget.h b/Interaction/Widgets/vtkSeedWidget.h
index f6bb2e5c72..f09bad3d90 100644
--- a/Interaction/Widgets/vtkSeedWidget.h
+++ b/Interaction/Widgets/vtkSeedWidget.h
@@ -90,7 +90,7 @@ public:
    * Standard methods for a VTK class.
    */
   vtkTypeMacro(vtkSeedWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -98,19 +98,19 @@ public:
    * must be overridden because it is a composite widget and does more than
    * its superclasses' vtkAbstractWidget::SetEnabled() method.
    */
-  virtual void SetEnabled(int);
+  void SetEnabled(int) VTK_OVERRIDE;
 
   /**
    * Set the current renderer. This method also propagates to all the child
    * handle widgets, if any exist
    */
-  virtual void SetCurrentRenderer( vtkRenderer * );
+  void SetCurrentRenderer( vtkRenderer * ) VTK_OVERRIDE;
 
   /**
    * Set the interactor. This method also propagates to all the child
    * handle widgets, if any exist
    */
-  virtual void SetInteractor( vtkRenderWindowInteractor * );
+  void SetInteractor( vtkRenderWindowInteractor * ) VTK_OVERRIDE;
 
   /**
    * Specify an instance of vtkWidgetRepresentation used to represent this
@@ -132,13 +132,13 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
   /**
    * Methods to change the whether the widget responds to interaction.
    * Overridden to pass the state to component widgets.
    */
-  virtual void SetProcessEvents(int);
+  void SetProcessEvents(int) VTK_OVERRIDE;
 
   /**
    * Method to be called when the seed widget should stop responding to
@@ -195,7 +195,7 @@ public:
 
 protected:
   vtkSeedWidget();
-  ~vtkSeedWidget();
+  ~vtkSeedWidget() VTK_OVERRIDE;
 
 
   int WidgetState;
diff --git a/Interaction/Widgets/vtkSliderRepresentation.h b/Interaction/Widgets/vtkSliderRepresentation.h
index a1dc1cb9cd..ea832a6c3d 100644
--- a/Interaction/Widgets/vtkSliderRepresentation.h
+++ b/Interaction/Widgets/vtkSliderRepresentation.h
@@ -41,7 +41,7 @@ public:
    * Standard methods for the class.
    */
   vtkTypeMacro(vtkSliderRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -184,7 +184,7 @@ public:
 
 protected:
   vtkSliderRepresentation();
-  ~vtkSliderRepresentation();
+  ~vtkSliderRepresentation() VTK_OVERRIDE;
 
   // Values
   double Value;
diff --git a/Interaction/Widgets/vtkSliderRepresentation2D.h b/Interaction/Widgets/vtkSliderRepresentation2D.h
index b55c423a49..e902ce4754 100644
--- a/Interaction/Widgets/vtkSliderRepresentation2D.h
+++ b/Interaction/Widgets/vtkSliderRepresentation2D.h
@@ -63,7 +63,7 @@ public:
    * Standard methods for the class.
    */
   vtkTypeMacro(vtkSliderRepresentation2D,vtkSliderRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -91,8 +91,8 @@ public:
    * Specify the label text for this widget. If the value is not set, or set
    * to the empty string "", then the label text is not displayed.
    */
-  virtual void SetTitleText(const char*);
-  virtual const char* GetTitleText();
+  void SetTitleText(const char*) VTK_OVERRIDE;
+  const char* GetTitleText() VTK_OVERRIDE;
   //@}
 
   //@{
@@ -133,26 +133,26 @@ public:
    * assumes that the parameter bounds[6] specifies the location in display space
    * where the widget should be placed.
    */
-  virtual void PlaceWidget(double bounds[6]);
-  virtual void BuildRepresentation();
-  virtual void StartWidgetInteraction(double eventPos[2]);
-  virtual void WidgetInteraction(double newEventPos[2]);
-  virtual void Highlight(int);
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double newEventPos[2]) VTK_OVERRIDE;
+  void Highlight(int) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods supporting the rendering process.
    */
-  virtual void GetActors2D(vtkPropCollection*);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOverlay(vtkViewport*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
+  void GetActors2D(vtkPropCollection*) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkSliderRepresentation2D();
-  ~vtkSliderRepresentation2D();
+  ~vtkSliderRepresentation2D() VTK_OVERRIDE;
 
   // Positioning the widget
   vtkCoordinate *Point1Coordinate;
diff --git a/Interaction/Widgets/vtkSliderRepresentation3D.h b/Interaction/Widgets/vtkSliderRepresentation3D.h
index 624ecd58e1..bec642bf18 100644
--- a/Interaction/Widgets/vtkSliderRepresentation3D.h
+++ b/Interaction/Widgets/vtkSliderRepresentation3D.h
@@ -59,7 +59,7 @@ public:
    * Standard methods for the class.
    */
   vtkTypeMacro(vtkSliderRepresentation3D,vtkSliderRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -93,8 +93,8 @@ public:
    * Specify the title text for this widget. If the value is not set, or set
    * to the empty string "", then the title text is not displayed.
    */
-  virtual void SetTitleText(const char*);
-  virtual const char* GetTitleText();
+  void SetTitleText(const char*) VTK_OVERRIDE;
+  const char* GetTitleText() VTK_OVERRIDE;
   //@}
 
   //@{
@@ -146,33 +146,33 @@ public:
   /**
    * Methods to interface with the vtkSliderWidget.
    */
-  virtual void PlaceWidget(double bounds[6]);
-  virtual void BuildRepresentation();
-  virtual void StartWidgetInteraction(double eventPos[2]);
-  virtual void WidgetInteraction(double newEventPos[2]);
-  virtual void Highlight(int);
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double newEventPos[2]) VTK_OVERRIDE;
+  void Highlight(int) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods supporting the rendering process.
    */
-  virtual double *GetBounds();
-  virtual void GetActors(vtkPropCollection*);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  double *GetBounds() VTK_OVERRIDE;
+  void GetActors(vtkPropCollection*) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
   /**
    * Override GetMTime to include point coordinates
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkSliderRepresentation3D();
-  ~vtkSliderRepresentation3D();
+  ~vtkSliderRepresentation3D() VTK_OVERRIDE;
 
   // Positioning the widget
   vtkCoordinate *Point1Coordinate;
@@ -192,7 +192,7 @@ protected:
   vtkCellPicker *Picker;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Determine the parameter t along the slider
   virtual double ComputePickPosition(double eventPos[2]);
diff --git a/Interaction/Widgets/vtkSliderWidget.h b/Interaction/Widgets/vtkSliderWidget.h
index 5dbf4ba8dc..2f37069c40 100644
--- a/Interaction/Widgets/vtkSliderWidget.h
+++ b/Interaction/Widgets/vtkSliderWidget.h
@@ -85,7 +85,7 @@ public:
    * Standard macros.
    */
   vtkTypeMacro(vtkSliderWidget,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -129,11 +129,11 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkSliderWidget();
-  ~vtkSliderWidget() {}
+  ~vtkSliderWidget() VTK_OVERRIDE {}
 
   // These are the events that are handled
   static void SelectAction(vtkAbstractWidget*);
diff --git a/Interaction/Widgets/vtkSphereHandleRepresentation.h b/Interaction/Widgets/vtkSphereHandleRepresentation.h
index 5dd9856725..ff93ad8794 100644
--- a/Interaction/Widgets/vtkSphereHandleRepresentation.h
+++ b/Interaction/Widgets/vtkSphereHandleRepresentation.h
@@ -51,7 +51,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkSphereHandleRepresentation,vtkHandleRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -62,8 +62,8 @@ public:
    * the superclasses' SetWorldPosition() and SetDisplayPosition() in
    * order to set the focal point of the cursor properly.
    */
-  virtual void SetWorldPosition(double p[3]);
-  virtual void SetDisplayPosition(double p[3]);
+  void SetWorldPosition(double p[3]) VTK_OVERRIDE;
+  void SetDisplayPosition(double p[3]) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -108,37 +108,37 @@ public:
    * Overload the superclasses SetHandleSize() method to update internal
    * variables.
    */
-  virtual void SetHandleSize(double size);
+  void SetHandleSize(double size) VTK_OVERRIDE;
 
   //@{
   /**
    * Methods to make this class properly act like a vtkWidgetRepresentation.
    */
-  virtual double *GetBounds();
-  virtual void BuildRepresentation();
-  virtual void StartWidgetInteraction(double eventPos[2]);
-  virtual void WidgetInteraction(double eventPos[2]);
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void PlaceWidget(double bounds[6]);
+  double *GetBounds() VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  void StartWidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double eventPos[2]) VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods to make this class behave as a vtkProp.
    */
-  virtual void ShallowCopy(vtkProp *prop);
-  virtual void DeepCopy(vtkProp *prop);
-  virtual void GetActors(vtkPropCollection *);
-  virtual void ReleaseGraphicsResources(vtkWindow *);
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
-  virtual int HasTranslucentPolygonalGeometry();
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
+  void DeepCopy(vtkProp *prop) VTK_OVERRIDE;
+  void GetActors(vtkPropCollection *) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
-  void Highlight(int highlight);
+  void Highlight(int highlight) VTK_OVERRIDE;
 protected:
   vtkSphereHandleRepresentation();
-  ~vtkSphereHandleRepresentation();
+  ~vtkSphereHandleRepresentation() VTK_OVERRIDE;
 
   // the cursor3D
   vtkActor          *Actor;
@@ -152,7 +152,7 @@ protected:
   double LastEventPosition[2];
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Methods to manipulate the cursor
   int  ConstraintAxis;
diff --git a/Interaction/Widgets/vtkSphereRepresentation.h b/Interaction/Widgets/vtkSphereRepresentation.h
index 4aecc6c5ed..fa49e34597 100644
--- a/Interaction/Widgets/vtkSphereRepresentation.h
+++ b/Interaction/Widgets/vtkSphereRepresentation.h
@@ -85,7 +85,7 @@ public:
    * Standard methods for type information and to print out the contents of the class.
    */
   vtkTypeMacro(vtkSphereRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   // Used to manage the state of the widget
@@ -280,29 +280,29 @@ public:
    * version of place widget is available where the center and handle position
    * are specified.
    */
-  virtual void PlaceWidget(double bounds[6]);
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
   virtual void PlaceWidget(double center[3], double handlePosition[3]);
-  virtual void BuildRepresentation();
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void StartWidgetInteraction(double e[2]);
-  virtual void WidgetInteraction(double e[2]);
-  virtual double *GetBounds();
+  void BuildRepresentation() VTK_OVERRIDE;
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void StartWidgetInteraction(double e[2]) VTK_OVERRIDE;
+  void WidgetInteraction(double e[2]) VTK_OVERRIDE;
+  double *GetBounds() VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Methods supporting, and required by, the rendering process.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int RenderOverlay(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkSphereRepresentation();
-  ~vtkSphereRepresentation();
+  ~vtkSphereRepresentation() VTK_OVERRIDE;
 
   // Manage how the representation appears
   double LastEventPosition[3];
@@ -322,7 +322,7 @@ protected:
   double LastPickPosition[3];
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Methods to manipulate the sphere widget
   void Translate(double *p1, double *p2);
diff --git a/Interaction/Widgets/vtkSphereWidget.h b/Interaction/Widgets/vtkSphereWidget.h
index 775e228348..6545c2ebac 100644
--- a/Interaction/Widgets/vtkSphereWidget.h
+++ b/Interaction/Widgets/vtkSphereWidget.h
@@ -79,18 +79,18 @@ public:
   static vtkSphereWidget *New();
 
   vtkTypeMacro(vtkSphereWidget,vtk3DWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Methods that satisfy the superclass' API.
    */
-  virtual void SetEnabled(int);
-  virtual void PlaceWidget(double bounds[6]);
-  void PlaceWidget()
+  void SetEnabled(int) VTK_OVERRIDE;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void PlaceWidget() VTK_OVERRIDE
     {this->Superclass::PlaceWidget();}
   void PlaceWidget(double xmin, double xmax, double ymin, double ymax,
-                   double zmin, double zmax)
+                   double zmin, double zmax) VTK_OVERRIDE
     {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
   //@}
 
@@ -242,7 +242,7 @@ public:
 
 protected:
   vtkSphereWidget();
-  ~vtkSphereWidget();
+  ~vtkSphereWidget() VTK_OVERRIDE;
 
   // Manage the state of the widget
   int State;
@@ -282,7 +282,7 @@ protected:
   vtkCellPicker *Picker;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Methods to manipulate the sphere widget
   int Translation;
@@ -308,7 +308,7 @@ protected:
   int HandleVisibility;
   double HandleDirection[3];
   double HandlePosition[3];
-  virtual void SizeHandles();
+  void SizeHandles() VTK_OVERRIDE;
 
 private:
   vtkSphereWidget(const vtkSphereWidget&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkSphereWidget2.h b/Interaction/Widgets/vtkSphereWidget2.h
index c1389949db..43a91db544 100644
--- a/Interaction/Widgets/vtkSphereWidget2.h
+++ b/Interaction/Widgets/vtkSphereWidget2.h
@@ -107,7 +107,7 @@ public:
    * Standard class methods for type information and printing.
    */
   vtkTypeMacro(vtkSphereWidget2,vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -135,11 +135,11 @@ public:
    * Create the default widget representation if one is not set. By default,
    * this is an instance of the vtkSphereRepresentation class.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkSphereWidget2();
-  ~vtkSphereWidget2();
+  ~vtkSphereWidget2() VTK_OVERRIDE;
 
   // Manage the state of the widget
   int WidgetState;
diff --git a/Interaction/Widgets/vtkSplineRepresentation.h b/Interaction/Widgets/vtkSplineRepresentation.h
index 13190180a7..60d5ddae9c 100644
--- a/Interaction/Widgets/vtkSplineRepresentation.h
+++ b/Interaction/Widgets/vtkSplineRepresentation.h
@@ -49,7 +49,7 @@ class VTKINTERACTIONWIDGETS_EXPORT vtkSplineRepresentation : public vtkCurveRepr
 public:
   static vtkSplineRepresentation* New();
   vtkTypeMacro(vtkSplineRepresentation, vtkCurveRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Grab the polydata (including points) that defines the spline.  The
@@ -58,12 +58,12 @@ public:
    * either the InteractionEvent or  EndInteraction events are invoked. The
    * user provides the vtkPolyData and the points and polyline are added to it.
    */
-  void GetPolyData(vtkPolyData *pd);
+  void GetPolyData(vtkPolyData *pd) VTK_OVERRIDE;
 
   /**
    * Set the number of handles for this widget.
    */
-  virtual void SetNumberOfHandles(int npts);
+  void SetNumberOfHandles(int npts) VTK_OVERRIDE;
 
   //@{
   /**
@@ -90,14 +90,14 @@ public:
   /**
    * Get the position of the spline handles.
    */
-  vtkDoubleArray* GetHandlePositions();
+  vtkDoubleArray* GetHandlePositions() VTK_OVERRIDE;
 
   /**
    * Get the approximate vs. the true arc length of the spline. Calculated as
    * the summed lengths of the individual straight line segments. Use
    * SetResolution to control the accuracy.
    */
-  double GetSummedLength();
+  double GetSummedLength() VTK_OVERRIDE;
 
   /**
    * Convenience method to allocate and set the handles from a vtkPoints
@@ -105,18 +105,18 @@ public:
    * Closed to the on InteractionState and disregards the last point, otherwise Closed
    * remains unchanged.
    */
-  void InitializeHandles(vtkPoints* points);
+  void InitializeHandles(vtkPoints* points) VTK_OVERRIDE;
 
  /**
   * These are methods that satisfy vtkWidgetRepresentation's API. Note that a
   * version of place widget is available where the center and handle position
   * are specified.
   */
-  virtual void BuildRepresentation();
+  void BuildRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkSplineRepresentation();
-  ~vtkSplineRepresentation();
+  ~vtkSplineRepresentation() VTK_OVERRIDE;
 
   // The spline
   vtkParametricSpline *ParametricSpline;
@@ -126,7 +126,7 @@ protected:
   int Resolution;
 
   // Specialized method to insert a handle on the poly line.
-  virtual void InsertHandleOnLine(double* pos);
+  void InsertHandleOnLine(double* pos) VTK_OVERRIDE;
 
 private:
   vtkSplineRepresentation(const vtkSplineRepresentation&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkSplineWidget.h b/Interaction/Widgets/vtkSplineWidget.h
index ac7f9ce80f..215ee542e5 100644
--- a/Interaction/Widgets/vtkSplineWidget.h
+++ b/Interaction/Widgets/vtkSplineWidget.h
@@ -110,18 +110,18 @@ public:
   static vtkSplineWidget *New();
 
   vtkTypeMacro(vtkSplineWidget,vtk3DWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Methods that satisfy the superclass' API.
    */
-  virtual void SetEnabled(int);
-  virtual void PlaceWidget(double bounds[6]);
-  void PlaceWidget()
+  void SetEnabled(int) VTK_OVERRIDE;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void PlaceWidget() VTK_OVERRIDE
     {this->Superclass::PlaceWidget();}
   void PlaceWidget(double xmin, double xmax, double ymin, double ymax,
-                   double zmin, double zmax)
+                   double zmin, double zmax) VTK_OVERRIDE
     {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
   //@}
 
@@ -287,7 +287,7 @@ public:
 
 protected:
   vtkSplineWidget();
-  ~vtkSplineWidget();
+  ~vtkSplineWidget() VTK_OVERRIDE;
 
   // Manage the state of the widget
   int State;
@@ -345,7 +345,7 @@ protected:
   vtkSphereSource   **HandleGeometry;
   void Initialize();
   int  HighlightHandle(vtkProp *prop); //returns handle index or -1 on fail
-  virtual void SizeHandles();
+  void SizeHandles() VTK_OVERRIDE;
   void InsertHandleOnLine(double* pos);
   void EraseHandle(const int&);
 
@@ -356,7 +356,7 @@ protected:
   int CurrentHandleIndex;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
   // Methods to manipulate the spline.
   void MovePoint(double *p1, double *p2);
diff --git a/Interaction/Widgets/vtkSplineWidget2.h b/Interaction/Widgets/vtkSplineWidget2.h
index 09d7531f17..3d8aa9e38e 100644
--- a/Interaction/Widgets/vtkSplineWidget2.h
+++ b/Interaction/Widgets/vtkSplineWidget2.h
@@ -36,7 +36,7 @@ class VTKINTERACTIONWIDGETS_EXPORT vtkSplineWidget2 : public vtkAbstractWidget
 public:
   static vtkSplineWidget2* New();
   vtkTypeMacro(vtkSplineWidget2, vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Specify an instance of vtkWidgetRepresentation used to represent this
@@ -53,11 +53,11 @@ public:
    * Create the default widget representation if one is not set. By default,
    * this is an instance of the vtkSplineRepresentation class.
    */
-  void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkSplineWidget2();
-  ~vtkSplineWidget2();
+  ~vtkSplineWidget2() VTK_OVERRIDE;
 
   int WidgetState;
   enum _WidgetState {Start=0,Active};
diff --git a/Interaction/Widgets/vtkTensorProbeRepresentation.h b/Interaction/Widgets/vtkTensorProbeRepresentation.h
index 540a5dbfea..518a7b9b21 100644
--- a/Interaction/Widgets/vtkTensorProbeRepresentation.h
+++ b/Interaction/Widgets/vtkTensorProbeRepresentation.h
@@ -45,15 +45,15 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkTensorProbeRepresentation,vtkWidgetRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * See vtkWidgetRepresentation for details.
    */
-  virtual void BuildRepresentation();
-  virtual int RenderOpaqueGeometry(vtkViewport *);
+  void BuildRepresentation() VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -93,13 +93,13 @@ public:
   /**
    * See vtkProp for details.
    */
-  virtual void GetActors(vtkPropCollection *);
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void GetActors(vtkPropCollection *) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkTensorProbeRepresentation();
-  ~vtkTensorProbeRepresentation();
+  ~vtkTensorProbeRepresentation() VTK_OVERRIDE;
 
   void FindClosestPointOnPolyline(
     double displayPos[2], double closestWorldPos[3], vtkIdType &cellId,
diff --git a/Interaction/Widgets/vtkTensorProbeWidget.h b/Interaction/Widgets/vtkTensorProbeWidget.h
index 3e492f7254..c04fd43fc2 100644
--- a/Interaction/Widgets/vtkTensorProbeWidget.h
+++ b/Interaction/Widgets/vtkTensorProbeWidget.h
@@ -50,7 +50,7 @@ public:
    * Standard VTK class macros.
    */
   vtkTypeMacro(vtkTensorProbeWidget, vtkAbstractWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -73,11 +73,11 @@ public:
   /**
    * See vtkWidgetRepresentation for details.
    */
-  virtual void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkTensorProbeWidget();
-  ~vtkTensorProbeWidget();
+  ~vtkTensorProbeWidget() VTK_OVERRIDE;
 
   // 1 when the probe has been selected, for instance when dragging it around
   int           Selected;
diff --git a/Interaction/Widgets/vtkTerrainContourLineInterpolator.h b/Interaction/Widgets/vtkTerrainContourLineInterpolator.h
index 4dcf91ce3a..783b632dc1 100644
--- a/Interaction/Widgets/vtkTerrainContourLineInterpolator.h
+++ b/Interaction/Widgets/vtkTerrainContourLineInterpolator.h
@@ -62,7 +62,7 @@ public:
    */
   vtkTypeMacro(vtkTerrainContourLineInterpolator,
                               vtkContourLineInterpolator);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -72,18 +72,18 @@ public:
    * a non-occluded interpolation.
    * Used internally by vtkContourRepresentation.
    */
-  virtual int InterpolateLine( vtkRenderer *ren,
+  int InterpolateLine( vtkRenderer *ren,
                                vtkContourRepresentation *rep,
-                               int idx1, int idx2 );
+                               int idx1, int idx2 ) VTK_OVERRIDE;
 
   /**
    * The interpolator is given a chance to update the node.
    * Used internally by vtkContourRepresentation
    * Returns 0 if the node (world position) is unchanged.
    */
-  virtual int UpdateNode( vtkRenderer *,
+  int UpdateNode( vtkRenderer *,
                           vtkContourRepresentation *,
-                          double * vtkNotUsed(node), int vtkNotUsed(idx) );
+                          double * vtkNotUsed(node), int vtkNotUsed(idx) ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -106,7 +106,7 @@ public:
 
 protected:
   vtkTerrainContourLineInterpolator();
-  ~vtkTerrainContourLineInterpolator();
+  ~vtkTerrainContourLineInterpolator() VTK_OVERRIDE;
 
   vtkImageData              *ImageData; // height field data
   vtkProjectedTerrainPath   *Projector;
diff --git a/Interaction/Widgets/vtkTerrainDataPointPlacer.h b/Interaction/Widgets/vtkTerrainDataPointPlacer.h
index bf12dd9fb1..f1f4157afa 100644
--- a/Interaction/Widgets/vtkTerrainDataPointPlacer.h
+++ b/Interaction/Widgets/vtkTerrainDataPointPlacer.h
@@ -57,7 +57,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkTerrainDataPointPlacer,vtkPointPlacer);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   // Descuription:
@@ -85,10 +85,10 @@ public:
    * For the Terrain point placer this computes world points that
    * lie at the specified height above the terrain.
    */
-  virtual int ComputeWorldPosition( vtkRenderer *ren,
+  int ComputeWorldPosition( vtkRenderer *ren,
                                     double displayPos[2],
                                     double worldPos[3],
-                                    double worldOrient[9] );
+                                    double worldOrient[9] ) VTK_OVERRIDE;
 
   /**
    * Given a renderer, a display position, and a reference world
@@ -96,29 +96,29 @@ public:
    * of this point. This method is typically used by the
    * representation to move the point.
    */
-  virtual int ComputeWorldPosition( vtkRenderer *ren,
+  int ComputeWorldPosition( vtkRenderer *ren,
                                     double displayPos[2],
                                     double refWorldPos[3],
                                     double worldPos[3],
-                                    double worldOrient[9] );
+                                    double worldOrient[9] ) VTK_OVERRIDE;
 
   /**
    * Given a world position check the validity of this
    * position according to the constraints of the placer
    */
-  virtual int ValidateWorldPosition( double worldPos[3] );
+  int ValidateWorldPosition( double worldPos[3] ) VTK_OVERRIDE;
 
   /**
    * Given a display position, check the validity of this position.
    */
-  virtual int ValidateDisplayPosition( vtkRenderer *, double displayPos[2] );
+  int ValidateDisplayPosition( vtkRenderer *, double displayPos[2] ) VTK_OVERRIDE;
 
   /**
    * Given a world position and a world orientation,
    * validate it according to the constraints of the placer.
    */
-  virtual int ValidateWorldPosition( double worldPos[3],
-                                     double worldOrient[9] );
+  int ValidateWorldPosition( double worldPos[3],
+                                     double worldOrient[9] ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -129,7 +129,7 @@ public:
 
 protected:
   vtkTerrainDataPointPlacer();
-  ~vtkTerrainDataPointPlacer();
+  ~vtkTerrainDataPointPlacer() VTK_OVERRIDE;
 
   // The props that represents the terrain data (one or more) in a rendered
   // scene
diff --git a/Interaction/Widgets/vtkTextRepresentation.h b/Interaction/Widgets/vtkTextRepresentation.h
index c96edd903c..e58c88d741 100644
--- a/Interaction/Widgets/vtkTextRepresentation.h
+++ b/Interaction/Widgets/vtkTextRepresentation.h
@@ -48,7 +48,7 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkTextRepresentation,vtkBorderRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -71,8 +71,8 @@ public:
   /**
    * Satisfy the superclasses API.
    */
-  virtual void BuildRepresentation();
-  virtual void GetSize(double size[2])
+  void BuildRepresentation() VTK_OVERRIDE;
+  void GetSize(double size[2]) VTK_OVERRIDE
     {size[0]=2.0; size[1]=2.0;}
 
   //@{
@@ -80,12 +80,12 @@ public:
    * These methods are necessary to make this representation behave as
    * a vtkProp.
    */
-  virtual void GetActors2D(vtkPropCollection*);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOverlay(vtkViewport*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  void GetActors2D(vtkPropCollection*) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
   enum
@@ -120,8 +120,8 @@ public:
    * Set the text position, by overiding the same function of
    * vtkBorderRepresentation so that the Modified() will be called.
    */
-  virtual void SetPosition(double x, double y);
-  virtual void SetPosition(double pos[2])
+  void SetPosition(double x, double y) VTK_OVERRIDE;
+  void SetPosition(double pos[2]) VTK_OVERRIDE
     { this->SetPosition(pos[0], pos[1]);};
   //@}
 
@@ -135,7 +135,7 @@ public:
 
 protected:
   vtkTextRepresentation();
-  ~vtkTextRepresentation();
+  ~vtkTextRepresentation() VTK_OVERRIDE;
 
   // Initialize text actor
   virtual void InitializeTextActor();
diff --git a/Interaction/Widgets/vtkTextWidget.h b/Interaction/Widgets/vtkTextWidget.h
index 76d7f97649..8105cdf647 100644
--- a/Interaction/Widgets/vtkTextWidget.h
+++ b/Interaction/Widgets/vtkTextWidget.h
@@ -50,7 +50,7 @@ public:
    * Standard VTK methods.
    */
   vtkTypeMacro(vtkTextWidget,vtkBorderWidget);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -76,11 +76,11 @@ public:
   /**
    * Create the default widget representation if one is not set.
    */
-  virtual void CreateDefaultRepresentation();
+  void CreateDefaultRepresentation() VTK_OVERRIDE;
 
 protected:
   vtkTextWidget();
-  ~vtkTextWidget();
+  ~vtkTextWidget() VTK_OVERRIDE;
 
 private:
   vtkTextWidget(const vtkTextWidget&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkTexturedButtonRepresentation.h b/Interaction/Widgets/vtkTexturedButtonRepresentation.h
index 18e04ecd70..bc1a172865 100644
--- a/Interaction/Widgets/vtkTexturedButtonRepresentation.h
+++ b/Interaction/Widgets/vtkTexturedButtonRepresentation.h
@@ -74,7 +74,7 @@ public:
    * Standard methods for instances of the class.
    */
   vtkTypeMacro(vtkTexturedButtonRepresentation,vtkButtonRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -144,28 +144,28 @@ public:
   /**
    * Provide the necessary methods to satisfy the vtkWidgetRepresentation API.
    */
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void PlaceWidget(double bounds[6]);
-  virtual void BuildRepresentation();
-  virtual void Highlight(int state);
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  void Highlight(int state) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Provide the necessary methods to satisfy the rendering API.
    */
-  virtual void ShallowCopy(vtkProp *prop);
-  virtual double *GetBounds();
-  virtual void GetActors(vtkPropCollection *pc);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
+  double *GetBounds() VTK_OVERRIDE;
+  void GetActors(vtkPropCollection *pc) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkTexturedButtonRepresentation();
-  ~vtkTexturedButtonRepresentation();
+  ~vtkTexturedButtonRepresentation() VTK_OVERRIDE;
 
   // Representing the button
   vtkActor          *Actor;
@@ -190,7 +190,7 @@ protected:
   vtkCellPicker *Picker;
 
   // Register internal Pickers within PickingManager
-  virtual void RegisterPickers();
+  void RegisterPickers() VTK_OVERRIDE;
 
 private:
   vtkTexturedButtonRepresentation(const vtkTexturedButtonRepresentation&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkTexturedButtonRepresentation2D.h b/Interaction/Widgets/vtkTexturedButtonRepresentation2D.h
index f131b4745c..06e47cad2a 100644
--- a/Interaction/Widgets/vtkTexturedButtonRepresentation2D.h
+++ b/Interaction/Widgets/vtkTexturedButtonRepresentation2D.h
@@ -69,7 +69,7 @@ public:
    * Standard methods for the class.
    */
   vtkTypeMacro(vtkTexturedButtonRepresentation2D,vtkButtonRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -116,9 +116,9 @@ public:
   /**
    * Provide the necessary methods to satisfy the vtkWidgetRepresentation API.
    */
-  virtual int ComputeInteractionState(int X, int Y, int modify=0);
-  virtual void BuildRepresentation();
-  virtual void Highlight(int state);
+  int ComputeInteractionState(int X, int Y, int modify=0) VTK_OVERRIDE;
+  void BuildRepresentation() VTK_OVERRIDE;
+  void Highlight(int state) VTK_OVERRIDE;
   //@}
 
   /**
@@ -128,7 +128,7 @@ public:
    * set to zero. Note that PlaceWidget() is typically called at the end of configuring
    * the button representation.
    */
-  virtual void PlaceWidget(double bounds[6]);
+  void PlaceWidget(double bounds[6]) VTK_OVERRIDE;
 
   /**
    * This alternative PlaceWidget() method can be used to anchor the button
@@ -146,17 +146,17 @@ public:
   /**
    * Provide the necessary methods to satisfy the rendering API.
    */
-  virtual void ShallowCopy(vtkProp *prop);
-  virtual double *GetBounds();
-  virtual void GetActors(vtkPropCollection *pc);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOverlay(vtkViewport*);
-  virtual int HasTranslucentPolygonalGeometry();
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
+  double *GetBounds() VTK_OVERRIDE;
+  void GetActors(vtkPropCollection *pc) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkTexturedButtonRepresentation2D();
-  ~vtkTexturedButtonRepresentation2D();
+  ~vtkTexturedButtonRepresentation2D() VTK_OVERRIDE;
 
   // Representing the button
   vtkBalloonRepresentation *Balloon;
diff --git a/Interaction/Widgets/vtkWidgetCallbackMapper.h b/Interaction/Widgets/vtkWidgetCallbackMapper.h
index 997e918858..220994cbaa 100644
--- a/Interaction/Widgets/vtkWidgetCallbackMapper.h
+++ b/Interaction/Widgets/vtkWidgetCallbackMapper.h
@@ -51,7 +51,7 @@ public:
    * Standard macros.
    */
   vtkTypeMacro(vtkWidgetCallbackMapper,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -96,7 +96,7 @@ public:
 
 protected:
   vtkWidgetCallbackMapper();
-  ~vtkWidgetCallbackMapper();
+  ~vtkWidgetCallbackMapper() VTK_OVERRIDE;
 
   // Translates VTK events into widget events
   vtkWidgetEventTranslator *EventTranslator;
diff --git a/Interaction/Widgets/vtkWidgetEvent.h b/Interaction/Widgets/vtkWidgetEvent.h
index c99419bc1d..c904d99325 100644
--- a/Interaction/Widgets/vtkWidgetEvent.h
+++ b/Interaction/Widgets/vtkWidgetEvent.h
@@ -39,7 +39,7 @@ public:
    * Standard macros.
    */
   vtkTypeMacro(vtkWidgetEvent,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -82,7 +82,7 @@ public:
 
 protected:
   vtkWidgetEvent() {}
-  virtual ~vtkWidgetEvent() {}
+  ~vtkWidgetEvent() VTK_OVERRIDE {}
 
 private:
   vtkWidgetEvent(const vtkWidgetEvent&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkWidgetEventTranslator.h b/Interaction/Widgets/vtkWidgetEventTranslator.h
index c6b663a5be..3cc1dbae25 100644
--- a/Interaction/Widgets/vtkWidgetEventTranslator.h
+++ b/Interaction/Widgets/vtkWidgetEventTranslator.h
@@ -58,7 +58,7 @@ public:
    * Standard macros.
    */
   vtkTypeMacro(vtkWidgetEventTranslator,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -117,7 +117,7 @@ public:
 protected:
   // Constructors/destructors made public for widgets to use
   vtkWidgetEventTranslator();
-  ~vtkWidgetEventTranslator();
+  ~vtkWidgetEventTranslator() VTK_OVERRIDE;
 
   // Map VTK events to widget events
   vtkEventMap *EventMap;
diff --git a/Interaction/Widgets/vtkWidgetRepresentation.h b/Interaction/Widgets/vtkWidgetRepresentation.h
index 107ba897b5..6684b309e2 100644
--- a/Interaction/Widgets/vtkWidgetRepresentation.h
+++ b/Interaction/Widgets/vtkWidgetRepresentation.h
@@ -59,7 +59,7 @@ public:
    * Standard methods for instances of this class.
    */
   vtkTypeMacro(vtkWidgetRepresentation,vtkProp);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -178,21 +178,21 @@ public:
    * (i.e., not implementing the Render() methods properly) or leaking graphics resources
    * (i.e., not implementing ReleaseGraphicsResources() properly).
    */
-  virtual double *GetBounds() {return NULL;}
-  virtual void ShallowCopy(vtkProp *prop);
-  virtual void GetActors(vtkPropCollection *) {}
-  virtual void GetActors2D(vtkPropCollection *) {}
-  virtual void GetVolumes(vtkPropCollection *) {}
-  virtual void ReleaseGraphicsResources(vtkWindow *) {}
-  virtual int RenderOverlay(vtkViewport *vtkNotUsed(viewport)) {return 0;}
-  virtual int RenderOpaqueGeometry(vtkViewport *vtkNotUsed(viewport)) {return 0;}
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *vtkNotUsed(viewport)) {return 0;}
-  virtual int RenderVolumetricGeometry(vtkViewport *vtkNotUsed(viewport)) {return 0;}
-  virtual int HasTranslucentPolygonalGeometry() { return 0; }
+  double *GetBounds() VTK_OVERRIDE {return NULL;}
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
+  void GetActors(vtkPropCollection *) VTK_OVERRIDE {}
+  void GetActors2D(vtkPropCollection *) VTK_OVERRIDE {}
+  void GetVolumes(vtkPropCollection *) VTK_OVERRIDE {}
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE {}
+  int RenderOverlay(vtkViewport *vtkNotUsed(viewport)) VTK_OVERRIDE {return 0;}
+  int RenderOpaqueGeometry(vtkViewport *vtkNotUsed(viewport)) VTK_OVERRIDE {return 0;}
+  int RenderTranslucentPolygonalGeometry(vtkViewport *vtkNotUsed(viewport)) VTK_OVERRIDE {return 0;}
+  int RenderVolumetricGeometry(vtkViewport *vtkNotUsed(viewport)) VTK_OVERRIDE {return 0;}
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE { return 0; }
 
 protected:
   vtkWidgetRepresentation();
-  ~vtkWidgetRepresentation();
+  ~vtkWidgetRepresentation() VTK_OVERRIDE;
 
   // The renderer in which this widget is placed
   vtkWeakPointer<vtkRenderer> Renderer;
diff --git a/Interaction/Widgets/vtkWidgetSet.h b/Interaction/Widgets/vtkWidgetSet.h
index 99e6778023..f275a1c7b0 100644
--- a/Interaction/Widgets/vtkWidgetSet.h
+++ b/Interaction/Widgets/vtkWidgetSet.h
@@ -121,7 +121,7 @@ public:
    * Standard methods for a VTK class.
    */
   vtkTypeMacro(vtkWidgetSet,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -192,7 +192,7 @@ public:
 
 protected:
   vtkWidgetSet();
-  ~vtkWidgetSet();
+  ~vtkWidgetSet() VTK_OVERRIDE;
 
 private:
   vtkWidgetSet(const vtkWidgetSet&) VTK_DELETE_FUNCTION;
diff --git a/Interaction/Widgets/vtkXYPlotWidget.h b/Interaction/Widgets/vtkXYPlotWidget.h
index bf5e2eee02..fcb5a93301 100644
--- a/Interaction/Widgets/vtkXYPlotWidget.h
+++ b/Interaction/Widgets/vtkXYPlotWidget.h
@@ -42,7 +42,7 @@ class VTKINTERACTIONWIDGETS_EXPORT vtkXYPlotWidget : public vtkInteractorObserve
 public:
   static vtkXYPlotWidget *New();
   vtkTypeMacro(vtkXYPlotWidget,vtkInteractorObserver);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -55,11 +55,11 @@ public:
   /**
    * Methods for turning the interactor observer on and off.
    */
-  virtual void SetEnabled(int);
+  void SetEnabled(int) VTK_OVERRIDE;
 
 protected:
   vtkXYPlotWidget();
-  ~vtkXYPlotWidget();
+  ~vtkXYPlotWidget() VTK_OVERRIDE;
 
   // the actor that is used
   vtkXYPlotActor *XYPlotActor;
diff --git a/Parallel/Core/vtkCommunicator.h b/Parallel/Core/vtkCommunicator.h
index c196330bd4..7df1b47530 100644
--- a/Parallel/Core/vtkCommunicator.h
+++ b/Parallel/Core/vtkCommunicator.h
@@ -53,7 +53,7 @@ class VTKPARALLELCORE_EXPORT vtkCommunicator : public vtkObject
 public:
 
   vtkTypeMacro(vtkCommunicator, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -1301,7 +1301,7 @@ protected:
   int ReadDataArray(vtkDataArray *object);
 
   vtkCommunicator();
-  ~vtkCommunicator();
+  ~vtkCommunicator() VTK_OVERRIDE;
 
   // Internal methods called by Send/Receive(vtkDataObject *... ) above.
   int SendElementalDataObject(vtkDataObject* data, int remoteHandle, int tag);
diff --git a/Parallel/Core/vtkDummyCommunicator.h b/Parallel/Core/vtkDummyCommunicator.h
index 1800bc1356..ec74a9b20f 100644
--- a/Parallel/Core/vtkDummyCommunicator.h
+++ b/Parallel/Core/vtkDummyCommunicator.h
@@ -36,18 +36,18 @@ class VTKPARALLELCORE_EXPORT vtkDummyCommunicator : public vtkCommunicator
 public:
   vtkTypeMacro(vtkDummyCommunicator, vtkCommunicator);
   static vtkDummyCommunicator *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Since there is no one to communicate with, these methods just report an
    * error.
    */
-  virtual int SendVoidArray(const void *, vtkIdType, int, int, int) {
+  int SendVoidArray(const void *, vtkIdType, int, int, int) VTK_OVERRIDE {
     vtkWarningMacro("There is no one to send to.");
     return 0;
   }
-  virtual int ReceiveVoidArray(void *, vtkIdType, int, int, int) {
+  int ReceiveVoidArray(void *, vtkIdType, int, int, int) VTK_OVERRIDE {
     vtkWarningMacro("There is no one to receive from.");
     return 0;
   }
@@ -55,7 +55,7 @@ public:
 
 protected:
   vtkDummyCommunicator();
-  virtual ~vtkDummyCommunicator();
+  ~vtkDummyCommunicator() VTK_OVERRIDE;
 
 private:
   vtkDummyCommunicator(const vtkDummyCommunicator &) VTK_DELETE_FUNCTION;
diff --git a/Parallel/Core/vtkDummyController.h b/Parallel/Core/vtkDummyController.h
index e8107d3481..74bafafa50 100644
--- a/Parallel/Core/vtkDummyController.h
+++ b/Parallel/Core/vtkDummyController.h
@@ -34,15 +34,15 @@ class VTKPARALLELCORE_EXPORT vtkDummyController : public vtkMultiProcessControll
 public:
   static vtkDummyController *New();
   vtkTypeMacro(vtkDummyController,vtkMultiProcessController);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * This method is for setting up the processes.
    */
-  virtual void Initialize(int*, char***, int) {}
-  virtual void Initialize(int*, char***) {}
-  virtual void Finalize() {}
-  virtual void Finalize(int) {}
+  void Initialize(int*, char***, int) VTK_OVERRIDE {}
+  void Initialize(int*, char***) VTK_OVERRIDE {}
+  void Finalize() VTK_OVERRIDE {}
+  void Finalize(int) VTK_OVERRIDE {}
 
   /**
    * This method always returns 0.
@@ -52,24 +52,23 @@ public:
   /**
    * Directly calls the single method.
    */
-  virtual void SingleMethodExecute();
+  void SingleMethodExecute() VTK_OVERRIDE;
 
   /**
    * Directly calls multiple method 0.
    */
-  virtual void MultipleMethodExecute();
+  void MultipleMethodExecute() VTK_OVERRIDE;
 
   /**
    * Does nothing.
    */
-  virtual void CreateOutputWindow() {}
+  void CreateOutputWindow() VTK_OVERRIDE {}
 
   //@{
   /**
    * If you don't need any special functionality from the controller, you
    * can swap out the dummy communicator for another one.
    */
-  vtkGetObjectMacro(Communicator, vtkCommunicator);
   vtkGetObjectMacro(RMICommunicator, vtkCommunicator);
   virtual void SetCommunicator(vtkCommunicator *);
   virtual void SetRMICommunicator(vtkCommunicator *);
@@ -77,7 +76,7 @@ public:
 
 protected:
   vtkDummyController();
-  ~vtkDummyController();
+  ~vtkDummyController() VTK_OVERRIDE;
 
 private:
   vtkDummyController(const vtkDummyController&) VTK_DELETE_FUNCTION;
diff --git a/Parallel/Core/vtkFieldDataSerializer.h b/Parallel/Core/vtkFieldDataSerializer.h
index 6f28df21b5..bfb905900b 100644
--- a/Parallel/Core/vtkFieldDataSerializer.h
+++ b/Parallel/Core/vtkFieldDataSerializer.h
@@ -44,7 +44,7 @@ class VTKPARALLELCORE_EXPORT vtkFieldDataSerializer : public vtkObject
   public:
     static vtkFieldDataSerializer* New();
     vtkTypeMacro(vtkFieldDataSerializer,vtkObject);
-    void PrintSelf(ostream& os, vtkIndent indent);
+    void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
     /**
      * Serializes the metadata of the given field data instance, i.e., the
@@ -111,7 +111,7 @@ class VTKPARALLELCORE_EXPORT vtkFieldDataSerializer : public vtkObject
 
   protected:
     vtkFieldDataSerializer();
-    virtual ~vtkFieldDataSerializer();
+    ~vtkFieldDataSerializer() VTK_OVERRIDE;
 
     /**
      * Given an input data array and list of tuples, it extracts the selected
diff --git a/Parallel/Core/vtkMultiProcessController.h b/Parallel/Core/vtkMultiProcessController.h
index 520a56d513..a0f7be42d5 100644
--- a/Parallel/Core/vtkMultiProcessController.h
+++ b/Parallel/Core/vtkMultiProcessController.h
@@ -77,7 +77,7 @@ class VTKPARALLELCORE_EXPORT vtkMultiProcessController : public vtkObject
 {
 public:
   vtkTypeMacro(vtkMultiProcessController,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * This method is for setting up the processes.
@@ -1423,7 +1423,7 @@ public:
 
 protected:
   vtkMultiProcessController();
-  ~vtkMultiProcessController();
+  ~vtkMultiProcessController() VTK_OVERRIDE;
 
   /**
    * Implementation for TriggerRMI() provides subclasses an opportunity to
diff --git a/Parallel/Core/vtkPDirectory.h b/Parallel/Core/vtkPDirectory.h
index 5ecb5ca07f..31642a5060 100644
--- a/Parallel/Core/vtkPDirectory.h
+++ b/Parallel/Core/vtkPDirectory.h
@@ -36,7 +36,7 @@ class VTKPARALLELCORE_EXPORT vtkPDirectory : public vtkObject
  public:
   static vtkPDirectory *New();
   vtkTypeMacro(vtkPDirectory,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -88,7 +88,7 @@ class VTKPARALLELCORE_EXPORT vtkPDirectory : public vtkObject
 
  protected:
   vtkPDirectory();
-  ~vtkPDirectory();
+  ~vtkPDirectory() VTK_OVERRIDE;
 
  private:
   // Array of Files
diff --git a/Parallel/Core/vtkPSystemTools.h b/Parallel/Core/vtkPSystemTools.h
index 83250656f4..663e45298e 100644
--- a/Parallel/Core/vtkPSystemTools.h
+++ b/Parallel/Core/vtkPSystemTools.h
@@ -35,7 +35,7 @@ class VTKPARALLELCORE_EXPORT vtkPSystemTools : public vtkObject
  public:
   static vtkPSystemTools *New();
   vtkTypeMacro(vtkPSystemTools,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Given a string on process proc, broadcast that string to
@@ -109,7 +109,7 @@ class VTKPARALLELCORE_EXPORT vtkPSystemTools : public vtkObject
 
 protected:
   vtkPSystemTools() {}
-  ~vtkPSystemTools() {}
+  ~vtkPSystemTools() VTK_OVERRIDE {}
 
 private:
   vtkPSystemTools(const vtkPSystemTools&) VTK_DELETE_FUNCTION;
diff --git a/Parallel/Core/vtkProcess.h b/Parallel/Core/vtkProcess.h
index 7b6d83f5bc..084c8ec5ef 100644
--- a/Parallel/Core/vtkProcess.h
+++ b/Parallel/Core/vtkProcess.h
@@ -47,7 +47,7 @@ class VTKPARALLELCORE_EXPORT vtkProcess : public vtkObject
 {
 public:
   vtkTypeMacro(vtkProcess,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Entry point of the process.
diff --git a/Parallel/Core/vtkProcessGroup.h b/Parallel/Core/vtkProcessGroup.h
index a2a00db6e6..5463a136cd 100644
--- a/Parallel/Core/vtkProcessGroup.h
+++ b/Parallel/Core/vtkProcessGroup.h
@@ -56,7 +56,7 @@ class VTKPARALLELCORE_EXPORT vtkProcessGroup : public vtkObject
 public:
   vtkTypeMacro(vtkProcessGroup, vtkObject);
   static vtkProcessGroup *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -139,7 +139,7 @@ public:
 
 protected:
   vtkProcessGroup();
-  virtual ~vtkProcessGroup();
+  ~vtkProcessGroup() VTK_OVERRIDE;
 
   int *ProcessIds;
   int NumberOfProcessIds;
diff --git a/Parallel/Core/vtkSocketCommunicator.h b/Parallel/Core/vtkSocketCommunicator.h
index bdbea02729..dc77e5d154 100644
--- a/Parallel/Core/vtkSocketCommunicator.h
+++ b/Parallel/Core/vtkSocketCommunicator.h
@@ -59,7 +59,7 @@ class VTKPARALLELCORE_EXPORT vtkSocketCommunicator : public vtkCommunicator
 public:
   static vtkSocketCommunicator *New();
   vtkTypeMacro(vtkSocketCommunicator,vtkCommunicator);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -96,7 +96,7 @@ public:
   /**
    * Set the number of processes you will be using.
    */
-  virtual void SetNumberOfProcesses(int num);
+  void SetNumberOfProcesses(int num) VTK_OVERRIDE;
 
   //------------------ Communication --------------------
 
@@ -105,17 +105,17 @@ public:
    * Performs the actual communication.  You will usually use the convenience
    * Send functions defined in the superclass.
    */
-  virtual int SendVoidArray(const void *data, vtkIdType length, int type,
-                            int remoteHandle, int tag);
-  virtual int ReceiveVoidArray(void *data, vtkIdType length, int type,
-                               int remoteHandle, int tag);
+  int SendVoidArray(const void *data, vtkIdType length, int type,
+                            int remoteHandle, int tag) VTK_OVERRIDE;
+  int ReceiveVoidArray(void *data, vtkIdType length, int type,
+                               int remoteHandle, int tag) VTK_OVERRIDE;
   //@}
 
   /**
    * This class foolishly breaks the conventions of the superclass, so this
    * overload fixes the method.
    */
-  virtual void Barrier();
+  void Barrier() VTK_OVERRIDE;
 
   //@{
   /**
@@ -123,36 +123,36 @@ public:
    * default implementations of these methods do not work.  These just give
    * errors instead.
    */
-  virtual int BroadcastVoidArray(void *data, vtkIdType length, int type,
-                                 int srcProcessId);
-  virtual int GatherVoidArray(const void *sendBuffer, void *recvBuffer,
-                              vtkIdType length, int type, int destProcessId);
-  virtual int GatherVVoidArray(const void *sendBuffer, void *recvBuffer,
+  int BroadcastVoidArray(void *data, vtkIdType length, int type,
+                                 int srcProcessId) VTK_OVERRIDE;
+  int GatherVoidArray(const void *sendBuffer, void *recvBuffer,
+                              vtkIdType length, int type, int destProcessId) VTK_OVERRIDE;
+  int GatherVVoidArray(const void *sendBuffer, void *recvBuffer,
                                vtkIdType sendLength, vtkIdType *recvLengths,
-                               vtkIdType *offsets, int type, int destProcessId);
-  virtual int ScatterVoidArray(const void *sendBuffer, void *recvBuffer,
-                               vtkIdType length, int type, int srcProcessId);
-  virtual int ScatterVVoidArray(const void *sendBuffer, void *recvBuffer,
+                               vtkIdType *offsets, int type, int destProcessId) VTK_OVERRIDE;
+  int ScatterVoidArray(const void *sendBuffer, void *recvBuffer,
+                               vtkIdType length, int type, int srcProcessId) VTK_OVERRIDE;
+  int ScatterVVoidArray(const void *sendBuffer, void *recvBuffer,
                                 vtkIdType *sendLengths, vtkIdType *offsets,
                                 vtkIdType recvLength, int type,
-                                int srcProcessId);
-  virtual int AllGatherVoidArray(const void *sendBuffer, void *recvBuffer,
-                                 vtkIdType length, int type);
-  virtual int AllGatherVVoidArray(const void *sendBuffer, void *recvBuffer,
+                                int srcProcessId) VTK_OVERRIDE;
+  int AllGatherVoidArray(const void *sendBuffer, void *recvBuffer,
+                                 vtkIdType length, int type) VTK_OVERRIDE;
+  int AllGatherVVoidArray(const void *sendBuffer, void *recvBuffer,
                                   vtkIdType sendLength, vtkIdType *recvLengths,
-                                  vtkIdType *offsets, int type);
-  virtual int ReduceVoidArray(const void *sendBuffer, void *recvBuffer,
+                                  vtkIdType *offsets, int type) VTK_OVERRIDE;
+  int ReduceVoidArray(const void *sendBuffer, void *recvBuffer,
                               vtkIdType length, int type,
-                              int operation, int destProcessId);
-  virtual int ReduceVoidArray(const void *sendBuffer, void *recvBuffer,
+                              int operation, int destProcessId) VTK_OVERRIDE;
+  int ReduceVoidArray(const void *sendBuffer, void *recvBuffer,
                               vtkIdType length, int type,
-                              Operation *operation, int destProcessId);
-  virtual int AllReduceVoidArray(const void *sendBuffer, void *recvBuffer,
+                              Operation *operation, int destProcessId) VTK_OVERRIDE;
+  int AllReduceVoidArray(const void *sendBuffer, void *recvBuffer,
                                  vtkIdType length, int type,
-                                 int operation);
-  virtual int AllReduceVoidArray(const void *sendBuffer, void *recvBuffer,
+                                 int operation) VTK_OVERRIDE;
+  int AllReduceVoidArray(const void *sendBuffer, void *recvBuffer,
                                  vtkIdType length, int type,
-                                 Operation *operation);
+                                 Operation *operation) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -266,7 +266,7 @@ protected:
   ostream* LogStream;
 
   vtkSocketCommunicator();
-  ~vtkSocketCommunicator();
+  ~vtkSocketCommunicator() VTK_OVERRIDE;
 
   // Wrappers around send/recv calls to implement loops.  Return 1 for
   // success, and 0 for failure.
diff --git a/Parallel/Core/vtkSocketController.h b/Parallel/Core/vtkSocketController.h
index 631dacbe0c..266eea6bd8 100644
--- a/Parallel/Core/vtkSocketController.h
+++ b/Parallel/Core/vtkSocketController.h
@@ -51,38 +51,38 @@ class VTKPARALLELCORE_EXPORT vtkSocketController : public vtkMultiProcessControl
 public:
   static vtkSocketController *New();
   vtkTypeMacro(vtkSocketController,vtkMultiProcessController);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * This method is for initialiazing sockets.
    * One of these is REQUIRED for Windows.
    */
-  virtual void Initialize(int* argc, char*** argv, int)
+  void Initialize(int* argc, char*** argv, int) VTK_OVERRIDE
     { this->Initialize(argc,argv); }
-  virtual void Initialize(int* argc, char*** argv);
+  void Initialize(int* argc, char*** argv) VTK_OVERRIDE;
   virtual void Initialize()
     { this->Initialize(0,0); }
 
   /**
    * Does not apply to sockets. Does nothing.
    */
-  void Finalize() {}
-  void Finalize(int) {}
+  void Finalize() VTK_OVERRIDE {}
+  void Finalize(int) VTK_OVERRIDE {}
 
   /**
    * Does not apply to sockets. Does nothing.
    */
-  void SingleMethodExecute() {}
+  void SingleMethodExecute() VTK_OVERRIDE {}
 
   /**
    * Does not apply to sockets.  Does nothing.
    */
-  void MultipleMethodExecute() {}
+  void MultipleMethodExecute() VTK_OVERRIDE {}
 
   /**
    * Does not apply to sockets. Does nothing.
    */
-  void CreateOutputWindow() {}
+  void CreateOutputWindow() VTK_OVERRIDE {}
 
   /**
    * Wait for connection on a given port, forwarded
@@ -130,7 +130,7 @@ public:
 protected:
 
   vtkSocketController();
-  ~vtkSocketController();
+  ~vtkSocketController() VTK_OVERRIDE;
 
   // Initialize only once, finialize on destruction.
   static int Initialized;
diff --git a/Parallel/Core/vtkSubCommunicator.h b/Parallel/Core/vtkSubCommunicator.h
index 535732b68c..831017bc9f 100644
--- a/Parallel/Core/vtkSubCommunicator.h
+++ b/Parallel/Core/vtkSubCommunicator.h
@@ -56,7 +56,7 @@ class VTKPARALLELCORE_EXPORT vtkSubCommunicator : public vtkCommunicator
 public:
   vtkTypeMacro(vtkSubCommunicator, vtkCommunicator);
   static vtkSubCommunicator *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -70,15 +70,15 @@ public:
   /**
    * Implementation for abstract supercalss.
    */
-  virtual int SendVoidArray(const void *data, vtkIdType length, int type,
-                            int remoteHandle, int tag);
-  virtual int ReceiveVoidArray(void *data, vtkIdType length, int type,
-                               int remoteHandle, int tag);
+  int SendVoidArray(const void *data, vtkIdType length, int type,
+                            int remoteHandle, int tag) VTK_OVERRIDE;
+  int ReceiveVoidArray(void *data, vtkIdType length, int type,
+                               int remoteHandle, int tag) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkSubCommunicator();
-  virtual ~vtkSubCommunicator();
+  ~vtkSubCommunicator() VTK_OVERRIDE;
 
   vtkProcessGroup *Group;
 
diff --git a/Parallel/Core/vtkSubGroup.h b/Parallel/Core/vtkSubGroup.h
index 64ec6ef3f7..6c9ee6d351 100644
--- a/Parallel/Core/vtkSubGroup.h
+++ b/Parallel/Core/vtkSubGroup.h
@@ -52,7 +52,7 @@ class VTKPARALLELCORE_EXPORT vtkSubGroup : public vtkObject
 {
 public:
   vtkTypeMacro(vtkSubGroup, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
   static vtkSubGroup *New();
 
   // The wrapper gets confused here and falls down.
@@ -106,7 +106,7 @@ public:
 
 protected:
   vtkSubGroup();
-  ~vtkSubGroup();
+  ~vtkSubGroup() VTK_OVERRIDE;
 
 private:
   int computeFanInTargets();
diff --git a/Rendering/Annotation/vtkAnnotatedCubeActor.h b/Rendering/Annotation/vtkAnnotatedCubeActor.h
index 176091f843..168d3b4302 100644
--- a/Rendering/Annotation/vtkAnnotatedCubeActor.h
+++ b/Rendering/Annotation/vtkAnnotatedCubeActor.h
@@ -59,39 +59,39 @@ class VTKRENDERINGANNOTATION_EXPORT vtkAnnotatedCubeActor : public vtkProp3D
 public:
   static vtkAnnotatedCubeActor *New();
   vtkTypeMacro(vtkAnnotatedCubeActor,vtkProp3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * For some exporters and other other operations we must be
    * able to collect all the actors or volumes. These methods
    * are used in that process.
    */
-  virtual void GetActors(vtkPropCollection *);
+  void GetActors(vtkPropCollection *) VTK_OVERRIDE;
 
   //@{
   /**
    * Support the standard render methods.
    */
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Shallow copy of an axes actor. Overloads the virtual vtkProp method.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   //@{
   /**
@@ -99,13 +99,13 @@ public:
    * method GetBounds(double bounds[6]) is available from the superclass.)
    */
   void GetBounds(double bounds[6]);
-  double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
   //@}
 
   /**
    * Get the actors mtime plus consider its properties and texture if set.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -199,7 +199,7 @@ public:
 
 protected:
   vtkAnnotatedCubeActor();
-  ~vtkAnnotatedCubeActor();
+  ~vtkAnnotatedCubeActor() VTK_OVERRIDE;
 
   vtkCubeSource      *CubeSource;
   vtkActor           *CubeActor;
diff --git a/Rendering/Annotation/vtkArcPlotter.h b/Rendering/Annotation/vtkArcPlotter.h
index 26cc0884d1..48b6a2b8ef 100644
--- a/Rendering/Annotation/vtkArcPlotter.h
+++ b/Rendering/Annotation/vtkArcPlotter.h
@@ -66,7 +66,7 @@ public:
   static vtkArcPlotter *New();
 
   vtkTypeMacro(vtkArcPlotter,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -162,13 +162,13 @@ public:
   /**
    * New GetMTime because of camera dependency.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkArcPlotter();
-  ~vtkArcPlotter();
+  ~vtkArcPlotter() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   int  OffsetPoint(vtkIdType ptId, vtkPoints *inPts, double n[3],
                    vtkPoints *newPts, double offset,
                    double *range, double val);
diff --git a/Rendering/Annotation/vtkAxesActor.h b/Rendering/Annotation/vtkAxesActor.h
index 274f533d71..35ce5af00c 100644
--- a/Rendering/Annotation/vtkAxesActor.h
+++ b/Rendering/Annotation/vtkAxesActor.h
@@ -67,40 +67,40 @@ class VTKRENDERINGANNOTATION_EXPORT vtkAxesActor : public vtkProp3D
 public:
   static vtkAxesActor *New();
   vtkTypeMacro(vtkAxesActor,vtkProp3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * For some exporters and other other operations we must be
    * able to collect all the actors or volumes. These methods
    * are used in that process.
    */
-  virtual void GetActors(vtkPropCollection *);
+  void GetActors(vtkPropCollection *) VTK_OVERRIDE;
 
   //@{
   /**
    * Support the standard render methods.
    */
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
-  virtual int RenderOverlay(vtkViewport *viewport);
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Shallow copy of an axes actor. Overloads the virtual vtkProp method.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   //@{
   /**
@@ -108,13 +108,13 @@ public:
    * method GetBounds(double bounds[6]) is available from the superclass.)
    */
   void GetBounds(double bounds[6]);
-  double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
   //@}
 
   /**
    * Get the actors mtime plus consider its properties and texture if set.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Return the mtime of anything that would cause the rendered image to
@@ -122,7 +122,7 @@ public:
    * prop plus anything else it depends on such as properties, textures
    * etc.
    */
-  virtual vtkMTimeType GetRedrawMTime();
+  vtkMTimeType GetRedrawMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -300,7 +300,7 @@ public:
 
 protected:
   vtkAxesActor();
-  ~vtkAxesActor();
+  ~vtkAxesActor() VTK_OVERRIDE;
 
   vtkCylinderSource *CylinderSource;
   vtkLineSource     *LineSource;
diff --git a/Rendering/Annotation/vtkAxisActor.h b/Rendering/Annotation/vtkAxisActor.h
index 2eed1567b2..6cca4b32dc 100644
--- a/Rendering/Annotation/vtkAxisActor.h
+++ b/Rendering/Annotation/vtkAxisActor.h
@@ -72,7 +72,7 @@ class VTKRENDERINGANNOTATION_EXPORT vtkAxisActor : public vtkActor
 {
 public:
   vtkTypeMacro(vtkAxisActor, vtkActor);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate object.
@@ -114,7 +114,7 @@ public:
    */
   void SetBounds(const double bounds[6]);
   void SetBounds(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
-  double* GetBounds(void);
+  double* GetBounds(void) VTK_OVERRIDE;
   void GetBounds(double bounds[6]);
   //@}
 
@@ -470,11 +470,11 @@ public:
   /**
    * Draw the axis.
    */
-  virtual int RenderOpaqueGeometry(vtkViewport* viewport);
+  int RenderOpaqueGeometry(vtkViewport* viewport) VTK_OVERRIDE;
   virtual int RenderTranslucentGeometry(vtkViewport* viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport* viewport);
-  virtual int RenderOverlay(vtkViewport* viewport);
-  int HasTranslucentPolygonalGeometry();
+  int RenderTranslucentPolygonalGeometry(vtkViewport* viewport) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport* viewport) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
   /**
@@ -482,7 +482,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow*);
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
 
   double ComputeMaxLabelLength(const double[3]);
   double ComputeTitleLength(const double[3]);
@@ -680,7 +680,7 @@ public:
 
 protected:
   vtkAxisActor();
-  ~vtkAxisActor();
+  ~vtkAxisActor() VTK_OVERRIDE;
 
   char* Title;
   char* Exponent;
diff --git a/Rendering/Annotation/vtkAxisActor2D.h b/Rendering/Annotation/vtkAxisActor2D.h
index 2419985655..a4a4c5c8f0 100644
--- a/Rendering/Annotation/vtkAxisActor2D.h
+++ b/Rendering/Annotation/vtkAxisActor2D.h
@@ -70,7 +70,7 @@ class VTKRENDERINGANNOTATION_EXPORT vtkAxisActor2D : public vtkActor2D
 {
 public:
   vtkTypeMacro(vtkAxisActor2D,vtkActor2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate object.
@@ -319,22 +319,22 @@ public:
   /**
    * Draw the axis.
    */
-  int RenderOverlay(vtkViewport* viewport);
-  int RenderOpaqueGeometry(vtkViewport* viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *) {return 0;}
+  int RenderOverlay(vtkViewport* viewport) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport* viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *) VTK_OVERRIDE {return 0;}
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * This method computes the range of the axis given an input range.
@@ -380,11 +380,11 @@ public:
   /**
    * Shallow copy of an axis actor. Overloads the virtual vtkProp method.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
 protected:
   vtkAxisActor2D();
-  ~vtkAxisActor2D();
+  ~vtkAxisActor2D() VTK_OVERRIDE;
 
   vtkTextProperty *TitleTextProperty;
   vtkTextProperty *LabelTextProperty;
diff --git a/Rendering/Annotation/vtkAxisFollower.h b/Rendering/Annotation/vtkAxisFollower.h
index e2b4c2d7f5..9076c1baf3 100644
--- a/Rendering/Annotation/vtkAxisFollower.h
+++ b/Rendering/Annotation/vtkAxisFollower.h
@@ -132,9 +132,9 @@ public:
   * property, texture map and then mapper. If a property hasn't been
   * assigned, then the actor will create one automatically.
   */
- virtual int RenderOpaqueGeometry(vtkViewport *viewport);
- virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
- virtual void Render(vtkRenderer *ren);
+ int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+ int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+ void Render(vtkRenderer *ren) VTK_OVERRIDE;
  //@}
 
  /**
@@ -146,7 +146,7 @@ public:
  /**
   * Shallow copy of a follower. Overloads the virtual vtkProp method.
   */
- void ShallowCopy(vtkProp *prop);
+ void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
  /**
   * Calculate scale factor to maintain same size of a object
@@ -157,7 +157,7 @@ public:
 
 protected:
  vtkAxisFollower();
- ~vtkAxisFollower();
+ ~vtkAxisFollower() VTK_OVERRIDE;
 
  void CalculateOrthogonalVectors(double Rx[3], double Ry[3], double Rz[3],
                                  vtkAxisActor *axis1, double *dop,
@@ -197,7 +197,7 @@ private:
  void operator =(const vtkAxisFollower&) VTK_DELETE_FUNCTION;
 
  // hide the two parameter Render() method from the user and the compiler.
- virtual void Render(vtkRenderer *, vtkMapper *) {}
+ void Render(vtkRenderer *, vtkMapper *) VTK_OVERRIDE {}
 
  //Internal matrices to avoid New/Delete for performance reasons
  vtkMatrix4x4 *InternalMatrix;
diff --git a/Rendering/Annotation/vtkBarChartActor.h b/Rendering/Annotation/vtkBarChartActor.h
index d524bd6998..cc9b83f901 100644
--- a/Rendering/Annotation/vtkBarChartActor.h
+++ b/Rendering/Annotation/vtkBarChartActor.h
@@ -55,7 +55,7 @@ public:
    * Standard methods for type information and printing.
    */
   vtkTypeMacro(vtkBarChartActor,vtkActor2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -170,26 +170,26 @@ public:
   /**
    * Draw the bar plot.
    */
-  int RenderOverlay(vtkViewport*);
-  int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport* ) {return 0;}
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport* ) VTK_OVERRIDE {return 0;}
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
 protected:
   vtkBarChartActor();
-  ~vtkBarChartActor();
+  ~vtkBarChartActor() VTK_OVERRIDE;
 
 private:
   vtkDataObject *Input;        // List of data sets to plot
diff --git a/Rendering/Annotation/vtkCaptionActor2D.h b/Rendering/Annotation/vtkCaptionActor2D.h
index 13a8dd0c38..ed8efba155 100644
--- a/Rendering/Annotation/vtkCaptionActor2D.h
+++ b/Rendering/Annotation/vtkCaptionActor2D.h
@@ -75,7 +75,7 @@ class VTKRENDERINGANNOTATION_EXPORT vtkCaptionActor2D : public vtkActor2D
 {
 public:
   vtkTypeMacro(vtkCaptionActor2D,vtkActor2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkCaptionActor2D *New();
 
@@ -190,7 +190,7 @@ public:
    * Shallow copy of this scaled text actor. Overloads the virtual
    * vtkProp method.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
   //@{
   /**
@@ -209,7 +209,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   //@{
   /**
@@ -217,19 +217,19 @@ public:
    * DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS.
    * Draw the legend box to the screen.
    */
-  int RenderOpaqueGeometry(vtkViewport* viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport* ) {return 0;}
-  int RenderOverlay(vtkViewport* viewport);
+  int RenderOpaqueGeometry(vtkViewport* viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport* ) VTK_OVERRIDE {return 0;}
+  int RenderOverlay(vtkViewport* viewport) VTK_OVERRIDE;
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
 protected:
   vtkCaptionActor2D();
-  ~vtkCaptionActor2D();
+  ~vtkCaptionActor2D() VTK_OVERRIDE;
 
   vtkCoordinate *AttachmentPointCoordinate;
 
diff --git a/Rendering/Annotation/vtkConvexHull2D.h b/Rendering/Annotation/vtkConvexHull2D.h
index ceda03fadf..d8263b6c0b 100644
--- a/Rendering/Annotation/vtkConvexHull2D.h
+++ b/Rendering/Annotation/vtkConvexHull2D.h
@@ -65,7 +65,7 @@ class VTKRENDERINGANNOTATION_EXPORT vtkConvexHull2D: public vtkPolyDataAlgorithm
 public:
   static vtkConvexHull2D *New();
   vtkTypeMacro(vtkConvexHull2D, vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -127,7 +127,7 @@ public:
   /**
    * The modified time of this filter.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -141,13 +141,13 @@ public:
 
 protected:
   vtkConvexHull2D();
-  ~vtkConvexHull2D();
+  ~vtkConvexHull2D() VTK_OVERRIDE;
 
   /**
    * This is called by the superclass. This is the method you should override.
    */
   int RequestData(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
 
 private:
   vtkConvexHull2D(const vtkConvexHull2D&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Annotation/vtkCornerAnnotation.h b/Rendering/Annotation/vtkCornerAnnotation.h
index 88d53d3dea..60622e0d75 100644
--- a/Rendering/Annotation/vtkCornerAnnotation.h
+++ b/Rendering/Annotation/vtkCornerAnnotation.h
@@ -48,7 +48,7 @@ class VTKRENDERINGANNOTATION_EXPORT vtkCornerAnnotation : public vtkActor2D
 {
 public:
   vtkTypeMacro(vtkCornerAnnotation,vtkActor2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate object with a rectangle in normaled view coordinates
@@ -60,15 +60,15 @@ public:
   /**
    * Draw the scalar bar and annotation text to the screen.
    */
-  int RenderOpaqueGeometry(vtkViewport* viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport* ) {return 0;};
-  int RenderOverlay(vtkViewport* viewport);
+  int RenderOpaqueGeometry(vtkViewport* viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport* ) VTK_OVERRIDE {return 0;};
+  int RenderOverlay(vtkViewport* viewport) VTK_OVERRIDE;
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   //@{
   /**
@@ -112,7 +112,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   //@{
   /**
@@ -196,7 +196,7 @@ public:
 
 protected:
   vtkCornerAnnotation();
-  ~vtkCornerAnnotation();
+  ~vtkCornerAnnotation() VTK_OVERRIDE;
 
   double MaximumLineHeight;
 
diff --git a/Rendering/Annotation/vtkCubeAxesActor.h b/Rendering/Annotation/vtkCubeAxesActor.h
index 5b728cd301..ce38bb4aba 100644
--- a/Rendering/Annotation/vtkCubeAxesActor.h
+++ b/Rendering/Annotation/vtkCubeAxesActor.h
@@ -68,7 +68,7 @@ class VTKRENDERINGANNOTATION_EXPORT vtkCubeAxesActor : public vtkActor
 {
 public:
   vtkTypeMacro(vtkCubeAxesActor,vtkActor);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate object with label format "6.3g" and the number of labels
@@ -80,11 +80,11 @@ public:
   /**
    * Draw the axes as per the vtkProp superclass' API.
    */
-  virtual int RenderOpaqueGeometry(vtkViewport*);
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
   virtual int RenderTranslucentGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*);
-  virtual int RenderOverlay(vtkViewport*);
-  int HasTranslucentPolygonalGeometry();
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
   //@}
 
   //@{
@@ -264,7 +264,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   //@{
   /**
@@ -604,7 +604,7 @@ public:
 
 protected:
   vtkCubeAxesActor();
-  ~vtkCubeAxesActor();
+  ~vtkCubeAxesActor() VTK_OVERRIDE;
 
   /**
    * Computes a bounding sphere used to determine the sticky bounding box.
diff --git a/Rendering/Annotation/vtkCubeAxesActor2D.h b/Rendering/Annotation/vtkCubeAxesActor2D.h
index 437fc6795e..1d8ad54200 100644
--- a/Rendering/Annotation/vtkCubeAxesActor2D.h
+++ b/Rendering/Annotation/vtkCubeAxesActor2D.h
@@ -60,7 +60,7 @@ class VTKRENDERINGANNOTATION_EXPORT vtkCubeAxesActor2D : public vtkActor2D
 {
 public:
   vtkTypeMacro(vtkCubeAxesActor2D,vtkActor2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate object with bold, italic, and shadow enabled; font family
@@ -73,15 +73,15 @@ public:
   /**
    * Draw the axes as per the vtkProp superclass' API.
    */
-  int RenderOverlay(vtkViewport*);
-  int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *) {return 0;}
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *) VTK_OVERRIDE {return 0;}
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   //@{
   /**
@@ -112,7 +112,7 @@ public:
    * sure that the min's are less than the max's.
    */
   vtkSetVector6Macro(Bounds,double);
-  double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
   void GetBounds(double& xmin, double& xmax, double& ymin, double& ymax,
                  double& zmin, double& zmax);
   void GetBounds(double bounds[6]);
@@ -305,7 +305,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   //@{
   /**
@@ -329,7 +329,7 @@ public:
 
 protected:
   vtkCubeAxesActor2D();
-  ~vtkCubeAxesActor2D();
+  ~vtkCubeAxesActor2D() VTK_OVERRIDE;
 
   vtkCubeAxesActor2DConnection* ConnectionHolder;
 
@@ -391,7 +391,7 @@ protected:
 
 private:
   // hide the superclass' ShallowCopy() from the user and the compiler.
-  void ShallowCopy(vtkProp *prop) { this->vtkProp::ShallowCopy( prop ); };
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE { this->vtkProp::ShallowCopy( prop ); };
 private:
   vtkCubeAxesActor2D(const vtkCubeAxesActor2D&) VTK_DELETE_FUNCTION;
   void operator=(const vtkCubeAxesActor2D&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Annotation/vtkGraphAnnotationLayersFilter.h b/Rendering/Annotation/vtkGraphAnnotationLayersFilter.h
index 0c58249a7f..b8984761fd 100644
--- a/Rendering/Annotation/vtkGraphAnnotationLayersFilter.h
+++ b/Rendering/Annotation/vtkGraphAnnotationLayersFilter.h
@@ -63,7 +63,7 @@ class VTKRENDERINGANNOTATION_EXPORT vtkGraphAnnotationLayersFilter: public vtkPo
 public:
   static vtkGraphAnnotationLayersFilter *New();
   vtkTypeMacro(vtkGraphAnnotationLayersFilter, vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -109,22 +109,22 @@ public:
   /**
    * The modified time of this filter.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkGraphAnnotationLayersFilter();
-  ~vtkGraphAnnotationLayersFilter();
+  ~vtkGraphAnnotationLayersFilter() VTK_OVERRIDE;
 
   /**
    * This is called by the superclass. This is the method you should override.
    */
   int RequestData(vtkInformation *, vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Set the input to vtkGraph and vtkAnnotationLayers.
    */
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkGraphAnnotationLayersFilter(const vtkGraphAnnotationLayersFilter&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Annotation/vtkLeaderActor2D.h b/Rendering/Annotation/vtkLeaderActor2D.h
index 0353a3ca5d..4aaba716cf 100644
--- a/Rendering/Annotation/vtkLeaderActor2D.h
+++ b/Rendering/Annotation/vtkLeaderActor2D.h
@@ -57,7 +57,7 @@ class VTKRENDERINGANNOTATION_EXPORT vtkLeaderActor2D : public vtkActor2D
 {
 public:
   vtkTypeMacro(vtkLeaderActor2D,vtkActor2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate object.
@@ -195,22 +195,22 @@ public:
   /**
    * Methods required by vtkProp and vtkActor2D superclasses.
    */
-  int RenderOverlay(vtkViewport* viewport);
-  int RenderOpaqueGeometry(vtkViewport* viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *) {return 0;}
+  int RenderOverlay(vtkViewport* viewport) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport* viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *) VTK_OVERRIDE {return 0;}
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
-  void ReleaseGraphicsResources(vtkWindow *);
-  void ShallowCopy(vtkProp *prop);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
 protected:
   vtkLeaderActor2D();
-  ~vtkLeaderActor2D();
+  ~vtkLeaderActor2D() VTK_OVERRIDE;
 
   // Internal helper methods
   virtual void BuildLeader(vtkViewport *viewport);
diff --git a/Rendering/Annotation/vtkLegendBoxActor.h b/Rendering/Annotation/vtkLegendBoxActor.h
index 733e612633..309211ecfd 100644
--- a/Rendering/Annotation/vtkLegendBoxActor.h
+++ b/Rendering/Annotation/vtkLegendBoxActor.h
@@ -59,7 +59,7 @@ class VTKRENDERINGANNOTATION_EXPORT vtkLegendBoxActor : public vtkActor2D
 {
 public:
   vtkTypeMacro(vtkLegendBoxActor,vtkActor2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate object with a rectangle in normaled view coordinates
@@ -200,7 +200,7 @@ public:
    * Shallow copy of this scaled text actor. Overloads the virtual
    * vtkProp method.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
   /**
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
@@ -209,7 +209,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   //@{
   /**
@@ -217,19 +217,19 @@ public:
    * DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS.
    * Draw the legend box to the screen.
    */
-  int RenderOpaqueGeometry(vtkViewport* viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport* ) {return 0;};
-  int RenderOverlay(vtkViewport* viewport);
+  int RenderOpaqueGeometry(vtkViewport* viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport* ) VTK_OVERRIDE {return 0;};
+  int RenderOverlay(vtkViewport* viewport) VTK_OVERRIDE;
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
 protected:
   vtkLegendBoxActor();
-  ~vtkLegendBoxActor();
+  ~vtkLegendBoxActor() VTK_OVERRIDE;
 
   void InitializeEntries();
 
diff --git a/Rendering/Annotation/vtkLegendScaleActor.h b/Rendering/Annotation/vtkLegendScaleActor.h
index 454366358e..583caea7db 100644
--- a/Rendering/Annotation/vtkLegendScaleActor.h
+++ b/Rendering/Annotation/vtkLegendScaleActor.h
@@ -63,7 +63,7 @@ public:
    * Standard methods for the class.
    */
   vtkTypeMacro(vtkLegendScaleActor,vtkProp);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   enum AttributeLocation
@@ -204,15 +204,15 @@ public:
    * Standard methods supporting the rendering process.
    */
   virtual void BuildRepresentation(vtkViewport *viewport);
-  virtual void GetActors2D(vtkPropCollection*);
-  virtual void ReleaseGraphicsResources(vtkWindow*);
-  virtual int RenderOverlay(vtkViewport*);
-  virtual int RenderOpaqueGeometry(vtkViewport*);
+  void GetActors2D(vtkPropCollection*) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkLegendScaleActor();
-  ~vtkLegendScaleActor();
+  ~vtkLegendScaleActor() VTK_OVERRIDE;
 
   int    LabelMode;
   int    RightBorderOffset;
diff --git a/Rendering/Annotation/vtkParallelCoordinatesActor.h b/Rendering/Annotation/vtkParallelCoordinatesActor.h
index 958c78c018..d7aea62dad 100644
--- a/Rendering/Annotation/vtkParallelCoordinatesActor.h
+++ b/Rendering/Annotation/vtkParallelCoordinatesActor.h
@@ -79,7 +79,7 @@ class VTKRENDERINGANNOTATION_EXPORT vtkParallelCoordinatesActor : public vtkActo
 {
 public:
   vtkTypeMacro(vtkParallelCoordinatesActor,vtkActor2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate object with autorange computation;
@@ -149,15 +149,15 @@ public:
   /**
    * Draw the parallel coordinates plot.
    */
-  int RenderOpaqueGeometry(vtkViewport*);
-  int RenderOverlay(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *) {return 0;}
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *) VTK_OVERRIDE {return 0;}
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Set the input to the parallel coordinates actor. Creates
@@ -181,11 +181,11 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
 protected:
   vtkParallelCoordinatesActor();
-  ~vtkParallelCoordinatesActor();
+  ~vtkParallelCoordinatesActor() VTK_OVERRIDE;
 
 private:
 
diff --git a/Rendering/Annotation/vtkPieChartActor.h b/Rendering/Annotation/vtkPieChartActor.h
index 64982bc38d..d6f83ec41e 100644
--- a/Rendering/Annotation/vtkPieChartActor.h
+++ b/Rendering/Annotation/vtkPieChartActor.h
@@ -57,7 +57,7 @@ public:
    * Standard methods for type information and printing.
    */
   vtkTypeMacro(vtkPieChartActor,vtkActor2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -167,26 +167,26 @@ public:
   /**
    * Draw the pie plot.
    */
-  int RenderOverlay(vtkViewport*);
-  int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport* ) {return 0;}
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport* ) VTK_OVERRIDE {return 0;}
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
 protected:
   vtkPieChartActor();
-  ~vtkPieChartActor();
+  ~vtkPieChartActor() VTK_OVERRIDE;
 
 private:
 
diff --git a/Rendering/Annotation/vtkPolarAxesActor.h b/Rendering/Annotation/vtkPolarAxesActor.h
index 6f61be1578..2f292c28a5 100644
--- a/Rendering/Annotation/vtkPolarAxesActor.h
+++ b/Rendering/Annotation/vtkPolarAxesActor.h
@@ -55,7 +55,7 @@ class VTKRENDERINGANNOTATION_EXPORT vtkPolarAxesActor : public vtkActor
 {
 public:
   vtkTypeMacro(vtkPolarAxesActor, vtkActor);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate object with label format "6.3g" and the number of labels
@@ -67,9 +67,9 @@ public:
   /**
    * Draw the polar axes
    */
-  virtual int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderOverlay(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*) { return 0; };
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE { return 0; };
   //@}
 
   //@{
@@ -253,7 +253,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow*);
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
 
   //@{
   /**
@@ -678,7 +678,7 @@ public:
    * sure that the min's are less than the max's.
    */
   vtkSetVector6Macro(Bounds, double);
-  double* GetBounds();
+  double* GetBounds() VTK_OVERRIDE;
   void GetBounds(
     double& xmin, double& xmax, double& ymin, double& ymax, double& zmin, double& zmax);
   void GetBounds(double bounds[6]);
@@ -694,7 +694,7 @@ public:
 
 protected:
   vtkPolarAxesActor();
-  ~vtkPolarAxesActor();
+  ~vtkPolarAxesActor() VTK_OVERRIDE;
 
   /**
    * Check consistency of vtkPolarAxesActor members.
diff --git a/Rendering/Annotation/vtkProp3DAxisFollower.h b/Rendering/Annotation/vtkProp3DAxisFollower.h
index 9fef45aca2..0e34f7ccad 100644
--- a/Rendering/Annotation/vtkProp3DAxisFollower.h
+++ b/Rendering/Annotation/vtkProp3DAxisFollower.h
@@ -50,7 +50,7 @@ class VTKRENDERINGANNOTATION_EXPORT vtkProp3DAxisFollower
    * Standard VTK methods for type and printing.
    */
   vtkTypeMacro(vtkProp3DAxisFollower,vtkProp3DFollower);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
  //@{
@@ -133,12 +133,12 @@ class VTKRENDERINGANNOTATION_EXPORT vtkProp3DAxisFollower
    * Generate the matrix based on ivars. This method overloads its superclasses
    * ComputeMatrix() method due to the special vtkProp3DAxisFollower matrix operations.
    */
-  virtual void ComputeMatrix();
+  void ComputeMatrix() VTK_OVERRIDE;
 
   /**
    * Shallow copy of a follower. Overloads the virtual vtkProp method.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
  /**
   * Calculate scale factor to maintain same size of a object
@@ -153,9 +153,9 @@ class VTKRENDERINGANNOTATION_EXPORT vtkProp3DAxisFollower
    * property, texture map and then mapper. If a property hasn't been
    * assigned, then the actor will create one automatically.
    */
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
-  virtual int RenderVolumetricGeometry(vtkViewport *viewport);
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderVolumetricGeometry(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
   virtual void SetViewport(vtkViewport* viewport);
@@ -163,7 +163,7 @@ class VTKRENDERINGANNOTATION_EXPORT vtkProp3DAxisFollower
 
 protected:
   vtkProp3DAxisFollower();
-  ~vtkProp3DAxisFollower();
+  ~vtkProp3DAxisFollower() VTK_OVERRIDE;
 
  void CalculateOrthogonalVectors(double Rx[3], double Ry[3], double Rz[3],
                                  vtkAxisActor *axis1, double *dop,
diff --git a/Rendering/Annotation/vtkScalarBarActor.h b/Rendering/Annotation/vtkScalarBarActor.h
index c8fc859e5a..83f920a0ad 100644
--- a/Rendering/Annotation/vtkScalarBarActor.h
+++ b/Rendering/Annotation/vtkScalarBarActor.h
@@ -92,21 +92,21 @@ public:
    * Draw the scalar bar and annotation text to the screen.
    */
   int RenderOpaqueGeometry(vtkViewport* viewport) VTK_OVERRIDE;
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE { return 0; };
+  int RenderTranslucentPolygonalGeometry(vtkViewport*) VTK_OVERRIDE { return 0; };
   int RenderOverlay(vtkViewport* viewport) VTK_OVERRIDE;
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
 
   /**
    * Fills rect with the dimensions of the scalar bar in viewport coordinates.
@@ -482,7 +482,7 @@ public:
 
 protected:
   vtkScalarBarActor();
-  ~vtkScalarBarActor();
+  ~vtkScalarBarActor() VTK_OVERRIDE;
 
   /**
    * Called from within \a RenderOpaqueGeometry when the internal state
diff --git a/Rendering/Annotation/vtkSpiderPlotActor.h b/Rendering/Annotation/vtkSpiderPlotActor.h
index c29a9d01fe..9914735578 100644
--- a/Rendering/Annotation/vtkSpiderPlotActor.h
+++ b/Rendering/Annotation/vtkSpiderPlotActor.h
@@ -77,7 +77,7 @@ public:
    * Standard methods for type information and printing.
    */
   vtkTypeMacro(vtkSpiderPlotActor,vtkActor2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -218,26 +218,26 @@ public:
   /**
    * Draw the spider plot.
    */
-  int RenderOverlay(vtkViewport*);
-  int RenderOpaqueGeometry(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport* ) {return 0;}
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport* ) VTK_OVERRIDE {return 0;}
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
 protected:
   vtkSpiderPlotActor();
-  ~vtkSpiderPlotActor();
+  ~vtkSpiderPlotActor() VTK_OVERRIDE;
 
 private:
 
diff --git a/Rendering/Annotation/vtkXYPlotActor.h b/Rendering/Annotation/vtkXYPlotActor.h
index 69dee69bac..36262955fc 100644
--- a/Rendering/Annotation/vtkXYPlotActor.h
+++ b/Rendering/Annotation/vtkXYPlotActor.h
@@ -128,7 +128,7 @@ class VTKRENDERINGANNOTATION_EXPORT vtkXYPlotActor : public vtkActor2D
 {
 public:
   vtkTypeMacro(vtkXYPlotActor,vtkActor2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate object with autorange computation; bold, italic, and shadows
@@ -718,7 +718,7 @@ enum Alignment {
   /**
    * Take into account the modified time of internal helper classes.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Write the XY Ploat Actor as a CSV (comma separated value) representation.
@@ -731,22 +731,22 @@ enum Alignment {
    * DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS.
    * Draw the x-y plot.
    */
-  int RenderOpaqueGeometry(vtkViewport*);
-  int RenderOverlay(vtkViewport*);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *) {return 0;}
+  int RenderOpaqueGeometry(vtkViewport*) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport*) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *) VTK_OVERRIDE {return 0;}
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   //@{
   /**
@@ -848,7 +848,7 @@ enum Alignment {
 
 protected:
   vtkXYPlotActor();
-  ~vtkXYPlotActor();
+  ~vtkXYPlotActor() VTK_OVERRIDE;
 
   vtkXYPlotActorConnections* InputConnectionHolder;
   char** SelectedInputScalars; // list of data set arrays to plot
diff --git a/Rendering/Context2D/vtkAbstractContextBufferId.h b/Rendering/Context2D/vtkAbstractContextBufferId.h
index 329649e3fa..a7194fc4a3 100644
--- a/Rendering/Context2D/vtkAbstractContextBufferId.h
+++ b/Rendering/Context2D/vtkAbstractContextBufferId.h
@@ -47,7 +47,7 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkAbstractContextBufferId : public vtkObject
 {
 public:
   vtkTypeMacro(vtkAbstractContextBufferId, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkAbstractContextBufferId * New();
 
@@ -131,7 +131,7 @@ public:
 
 protected:
   vtkAbstractContextBufferId();
-  virtual ~vtkAbstractContextBufferId();
+  ~vtkAbstractContextBufferId() VTK_OVERRIDE;
 
   int Width;
   int Height;
diff --git a/Rendering/Context2D/vtkAbstractContextItem.h b/Rendering/Context2D/vtkAbstractContextItem.h
index c18f5effaf..7a769d2aed 100644
--- a/Rendering/Context2D/vtkAbstractContextItem.h
+++ b/Rendering/Context2D/vtkAbstractContextItem.h
@@ -41,7 +41,7 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkAbstractContextItem : public vtkObject
 {
 public:
   vtkTypeMacro(vtkAbstractContextItem, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform any updates to the item that may be necessary before rendering.
@@ -290,7 +290,7 @@ public:
 
 protected:
   vtkAbstractContextItem();
-  ~vtkAbstractContextItem();
+  ~vtkAbstractContextItem() VTK_OVERRIDE;
 
   /**
    * Point to the scene the item is on - can be null.
diff --git a/Rendering/Context2D/vtkBlockItem.h b/Rendering/Context2D/vtkBlockItem.h
index 6756285d0f..0b7345366b 100644
--- a/Rendering/Context2D/vtkBlockItem.h
+++ b/Rendering/Context2D/vtkBlockItem.h
@@ -35,44 +35,44 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkBlockItem : public vtkContextItem
 {
 public:
   vtkTypeMacro(vtkBlockItem, vtkContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkBlockItem *New();
 
   /**
    * Paint event for the item.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Returns true if the supplied x, y coordinate is inside the item.
    */
-  virtual bool Hit(const vtkContextMouseEvent &mouse);
+  bool Hit(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse enter event.
    */
-  virtual bool MouseEnterEvent(const vtkContextMouseEvent &mouse);
+  bool MouseEnterEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse move event.
    */
-  virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse);
+  bool MouseMoveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse leave event.
    */
-  virtual bool MouseLeaveEvent(const vtkContextMouseEvent &mouse);
+  bool MouseLeaveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse button down event.
    */
-  virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse button release event.
    */
-  virtual bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Set the block label.
@@ -108,7 +108,7 @@ public:
 
 protected:
   vtkBlockItem();
-  ~vtkBlockItem();
+  ~vtkBlockItem() VTK_OVERRIDE;
 
   float Dimensions[4];
 
diff --git a/Rendering/Context2D/vtkBrush.h b/Rendering/Context2D/vtkBrush.h
index 44e6bedfd8..1218a844f8 100644
--- a/Rendering/Context2D/vtkBrush.h
+++ b/Rendering/Context2D/vtkBrush.h
@@ -38,7 +38,7 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkBrush : public vtkObject
 {
 public:
   vtkTypeMacro(vtkBrush, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkBrush *New();
 
@@ -174,7 +174,7 @@ public:
 
 protected:
   vtkBrush();
-  ~vtkBrush();
+  ~vtkBrush() VTK_OVERRIDE;
 
   // Storage of the color in RGBA format (0-255 per channel).
   unsigned char* Color;
diff --git a/Rendering/Context2D/vtkContext2D.h b/Rendering/Context2D/vtkContext2D.h
index 249462feb0..b0ef3c7255 100644
--- a/Rendering/Context2D/vtkContext2D.h
+++ b/Rendering/Context2D/vtkContext2D.h
@@ -52,7 +52,7 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkContext2D : public vtkObject
 {
 public:
   vtkTypeMacro(vtkContext2D, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 2D Painter object.
@@ -521,7 +521,7 @@ public:
 
 protected:
   vtkContext2D();
-  ~vtkContext2D();
+  ~vtkContext2D() VTK_OVERRIDE;
 
   vtkContextDevice2D *Device; // The underlying device
   vtkTransform2D *Transform;  // Current transform
diff --git a/Rendering/Context2D/vtkContext3D.h b/Rendering/Context2D/vtkContext3D.h
index 4e7c997a45..c405b5641c 100644
--- a/Rendering/Context2D/vtkContext3D.h
+++ b/Rendering/Context2D/vtkContext3D.h
@@ -41,7 +41,7 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkContext3D : public vtkObject
 {
 public:
   vtkTypeMacro(vtkContext3D, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 3D context object.
@@ -158,7 +158,7 @@ public:
 
 protected:
   vtkContext3D();
-  ~vtkContext3D();
+  ~vtkContext3D() VTK_OVERRIDE;
 
   vtkSmartPointer<vtkContextDevice3D> Device; // The underlying device
   vtkSmartPointer<vtkTransform> Transform;    // Current transform
diff --git a/Rendering/Context2D/vtkContextActor.h b/Rendering/Context2D/vtkContextActor.h
index 0b99037d6e..a037cba0d4 100644
--- a/Rendering/Context2D/vtkContextActor.h
+++ b/Rendering/Context2D/vtkContextActor.h
@@ -36,7 +36,7 @@ class vtkContextScene;
 class VTKRENDERINGCONTEXT2D_EXPORT vtkContextActor : public vtkProp
 {
 public:
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   vtkTypeMacro(vtkContextActor,vtkProp);
 
   static vtkContextActor* New();
@@ -44,7 +44,7 @@ public:
   /**
    * We only render in the overlay for the context scene.
    */
-  virtual int RenderOverlay(vtkViewport *viewport);
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
 
   //@{
   /**
@@ -68,11 +68,11 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *window);
+  void ReleaseGraphicsResources(vtkWindow *window) VTK_OVERRIDE;
 
 protected:
   vtkContextActor();
-  ~vtkContextActor();
+  ~vtkContextActor() VTK_OVERRIDE;
 
   /**
    * Initialize the actor - right now we just decide which device to initialize.
diff --git a/Rendering/Context2D/vtkContextClip.h b/Rendering/Context2D/vtkContextClip.h
index 0259e7e71d..bc31661f4b 100644
--- a/Rendering/Context2D/vtkContextClip.h
+++ b/Rendering/Context2D/vtkContextClip.h
@@ -34,7 +34,7 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkContextClip : public vtkAbstractContextIte
 {
 public:
   vtkTypeMacro(vtkContextClip, vtkAbstractContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a vtkContextClip object.
@@ -46,12 +46,12 @@ public:
    * The scene should take care of calling this on all items before their
    * Paint function is invoked.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the item, called whenever the item needs to be drawn.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Set the origin, width and height of the clipping rectangle. These are in
@@ -70,7 +70,7 @@ public:
 
 protected:
   vtkContextClip();
-  ~vtkContextClip();
+  ~vtkContextClip() VTK_OVERRIDE;
 
   float Dims[4];
 
diff --git a/Rendering/Context2D/vtkContextDevice2D.h b/Rendering/Context2D/vtkContextDevice2D.h
index 488cfa5582..7e5b5b7232 100644
--- a/Rendering/Context2D/vtkContextDevice2D.h
+++ b/Rendering/Context2D/vtkContextDevice2D.h
@@ -49,7 +49,7 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkContextDevice2D : public vtkObject
 {
 public:
   vtkTypeMacro(vtkContextDevice2D, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkContextDevice2D * New();
 
@@ -379,7 +379,7 @@ public:
 
 protected:
   vtkContextDevice2D();
-  ~vtkContextDevice2D();
+  ~vtkContextDevice2D() VTK_OVERRIDE;
 
   /**
    * Store the width and height of the device in pixels.
diff --git a/Rendering/Context2D/vtkContextDevice3D.h b/Rendering/Context2D/vtkContextDevice3D.h
index 82fd773641..ac75224aac 100644
--- a/Rendering/Context2D/vtkContextDevice3D.h
+++ b/Rendering/Context2D/vtkContextDevice3D.h
@@ -42,7 +42,7 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkContextDevice3D : public vtkObject
 {
 public:
   vtkTypeMacro(vtkContextDevice3D, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkContextDevice3D * New();
 
@@ -138,7 +138,7 @@ public:
 
 protected:
   vtkContextDevice3D();
-  ~vtkContextDevice3D();
+  ~vtkContextDevice3D() VTK_OVERRIDE;
 
 private:
   vtkContextDevice3D(const vtkContextDevice3D &) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Context2D/vtkContextItem.h b/Rendering/Context2D/vtkContextItem.h
index 25c40eab8a..4992716aea 100644
--- a/Rendering/Context2D/vtkContextItem.h
+++ b/Rendering/Context2D/vtkContextItem.h
@@ -32,7 +32,7 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkContextItem : public vtkAbstractContextIte
 {
 public:
   vtkTypeMacro(vtkContextItem, vtkAbstractContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -51,7 +51,7 @@ public:
 
 protected:
   vtkContextItem();
-  ~vtkContextItem();
+  ~vtkContextItem() VTK_OVERRIDE;
 
   double Opacity;
 
diff --git a/Rendering/Context2D/vtkContextMapper2D.h b/Rendering/Context2D/vtkContextMapper2D.h
index 6ed953785d..6bdcd0dbea 100644
--- a/Rendering/Context2D/vtkContextMapper2D.h
+++ b/Rendering/Context2D/vtkContextMapper2D.h
@@ -38,7 +38,7 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkContextMapper2D : public vtkAlgorithm
 {
 public:
   vtkTypeMacro(vtkContextMapper2D, vtkAlgorithm);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
   static vtkContextMapper2D *New();
 
   //@{
@@ -66,12 +66,12 @@ public:
 
 protected:
   vtkContextMapper2D();
-  ~vtkContextMapper2D();
+  ~vtkContextMapper2D() VTK_OVERRIDE;
 
   /**
    * Specify the types of input we can handle.
    */
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkContextMapper2D(const vtkContextMapper2D &) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Context2D/vtkContextScene.h b/Rendering/Context2D/vtkContextScene.h
index ecd770a9c6..511f65b10e 100644
--- a/Rendering/Context2D/vtkContextScene.h
+++ b/Rendering/Context2D/vtkContextScene.h
@@ -48,7 +48,7 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkContextScene : public vtkObject
 {
 public:
   vtkTypeMacro(vtkContextScene, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 2D Painter object.
@@ -241,7 +241,7 @@ public:
 
 protected:
   vtkContextScene();
-  ~vtkContextScene();
+  ~vtkContextScene() VTK_OVERRIDE;
 
   /**
    * Process a rubber band selection event.
diff --git a/Rendering/Context2D/vtkContextTransform.h b/Rendering/Context2D/vtkContextTransform.h
index a861f05384..4000c0814b 100644
--- a/Rendering/Context2D/vtkContextTransform.h
+++ b/Rendering/Context2D/vtkContextTransform.h
@@ -37,7 +37,7 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkContextTransform : public vtkAbstractConte
 {
 public:
   vtkTypeMacro(vtkContextTransform, vtkAbstractContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a vtkContextTransform object.
@@ -49,12 +49,12 @@ public:
    * The scene should take care of calling this on all items before their
    * Paint function is invoked.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the item, called whenever the item needs to be drawn.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Reset the transform to the identity transformation.
@@ -86,12 +86,12 @@ public:
   /**
    * Transforms a point to the parent coordinate system.
    */
-  virtual vtkVector2f MapToParent(const vtkVector2f& point);
+  vtkVector2f MapToParent(const vtkVector2f& point) VTK_OVERRIDE;
 
   /**
    * Transforms a point from the parent coordinate system.
    */
-  virtual vtkVector2f MapFromParent(const vtkVector2f& point);
+  vtkVector2f MapFromParent(const vtkVector2f& point) VTK_OVERRIDE;
 
   //@{
   /**
@@ -186,26 +186,26 @@ public:
   /**
    * Returns true if the transform is interactive, false otherwise.
    */
-  virtual bool Hit(const vtkContextMouseEvent &mouse);
+  bool Hit(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse press event. Keep track of zoom anchor position.
    */
-  virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse);
+  bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse move event. Perform pan or zoom as specified by the mouse bindings.
    */
-  virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse);
+  bool MouseMoveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Mouse wheel event. Perform pan or zoom as specified by mouse bindings.
    */
-  virtual bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta);
+  bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta) VTK_OVERRIDE;
 
 protected:
   vtkContextTransform();
-  ~vtkContextTransform();
+  ~vtkContextTransform() VTK_OVERRIDE;
 
   vtkSmartPointer<vtkTransform2D> Transform;
 
diff --git a/Rendering/Context2D/vtkImageItem.h b/Rendering/Context2D/vtkImageItem.h
index ee54ba00b7..7e4edd0124 100644
--- a/Rendering/Context2D/vtkImageItem.h
+++ b/Rendering/Context2D/vtkImageItem.h
@@ -35,14 +35,14 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkImageItem : public vtkContextItem
 {
 public:
   vtkTypeMacro(vtkImageItem, vtkContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkImageItem *New();
 
   /**
    * Paint event for the item.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Set the image of the item.
@@ -72,7 +72,7 @@ public:
 
 protected:
   vtkImageItem();
-  ~vtkImageItem();
+  ~vtkImageItem() VTK_OVERRIDE;
 
   float Position[2];
 
diff --git a/Rendering/Context2D/vtkMarkerUtilities.h b/Rendering/Context2D/vtkMarkerUtilities.h
index 1f7a30346e..c80f89de77 100644
--- a/Rendering/Context2D/vtkMarkerUtilities.h
+++ b/Rendering/Context2D/vtkMarkerUtilities.h
@@ -38,7 +38,7 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkMarkerUtilities : public vtkObject
 {
 public:
   vtkTypeMacro(vtkMarkerUtilities, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Enum containing various marker styles that can be used in a plot.
@@ -59,7 +59,7 @@ public:
 
 protected:
   vtkMarkerUtilities();
-  ~vtkMarkerUtilities();
+  ~vtkMarkerUtilities() VTK_OVERRIDE;
 
 private:
   vtkMarkerUtilities(const vtkMarkerUtilities &) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Context2D/vtkPen.h b/Rendering/Context2D/vtkPen.h
index 2e87cfbc49..ff3b450ceb 100644
--- a/Rendering/Context2D/vtkPen.h
+++ b/Rendering/Context2D/vtkPen.h
@@ -37,7 +37,7 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkPen : public vtkObject
 {
 public:
   vtkTypeMacro(vtkPen, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkPen *New();
 
@@ -155,7 +155,7 @@ public:
 
 protected:
   vtkPen();
-  ~vtkPen();
+  ~vtkPen() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Rendering/Context2D/vtkPropItem.h b/Rendering/Context2D/vtkPropItem.h
index 1ec371d970..95a3fdd82c 100644
--- a/Rendering/Context2D/vtkPropItem.h
+++ b/Rendering/Context2D/vtkPropItem.h
@@ -36,10 +36,10 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkPropItem: public vtkAbstractContextItem
 public:
   static vtkPropItem *New();
   vtkTypeMacro(vtkPropItem, vtkAbstractContextItem)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual bool Paint(vtkContext2D *painter);
-  virtual void ReleaseGraphicsResources();
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
+  void ReleaseGraphicsResources() VTK_OVERRIDE;
 
   /**
    * The actor to render.
@@ -49,7 +49,7 @@ public:
 
 protected:
   vtkPropItem();
-  ~vtkPropItem();
+  ~vtkPropItem() VTK_OVERRIDE;
 
   // Sync the active vtkCamera with the GL state set by the painter.
   virtual void UpdateTransforms();
diff --git a/Rendering/Context2D/vtkTooltipItem.h b/Rendering/Context2D/vtkTooltipItem.h
index b6ae7d48a3..70a578ec61 100644
--- a/Rendering/Context2D/vtkTooltipItem.h
+++ b/Rendering/Context2D/vtkTooltipItem.h
@@ -40,7 +40,7 @@ class VTKRENDERINGCONTEXT2D_EXPORT vtkTooltipItem : public vtkContextItem
 {
 public:
   vtkTypeMacro(vtkTooltipItem, vtkContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 2D Chart object.
@@ -96,16 +96,16 @@ public:
   /**
    * Update the geometry of the tooltip.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Paint event for the tooltip.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
 protected:
   vtkTooltipItem();
-  ~vtkTooltipItem();
+  ~vtkTooltipItem() VTK_OVERRIDE;
 
   vtkVector2f PositionVector;
   float* Position;
diff --git a/Rendering/ContextOpenGL/vtkOpenGL2ContextDevice2D.h b/Rendering/ContextOpenGL/vtkOpenGL2ContextDevice2D.h
index 524d4febb6..2fdb0f34d1 100644
--- a/Rendering/ContextOpenGL/vtkOpenGL2ContextDevice2D.h
+++ b/Rendering/ContextOpenGL/vtkOpenGL2ContextDevice2D.h
@@ -41,7 +41,7 @@ class VTKRENDERINGCONTEXTOPENGL_EXPORT vtkOpenGL2ContextDevice2D :
 {
 public:
   vtkTypeMacro(vtkOpenGL2ContextDevice2D, vtkOpenGLContextDevice2D);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 2D Painter object.
@@ -59,37 +59,37 @@ public:
    * drawn and the size is set using SetPointSize. Points are colored by colors array
    * which has nc_comps components
    */
-  virtual void DrawPointSprites(vtkImageData *sprite, float *points, int n,
-                                unsigned char* colors = 0, int nc_comps = 0);
+  void DrawPointSprites(vtkImageData *sprite, float *points, int n,
+                                unsigned char* colors = 0, int nc_comps = 0) VTK_OVERRIDE;
 
   /**
    * Draw the supplied image at the given x, y (p[0], p[1]) (bottom corner),
    * scaled by scale (1.0 would match the image).
    */
-  virtual void DrawImage(float p[2], float scale, vtkImageData *image);
+  void DrawImage(float p[2], float scale, vtkImageData *image) VTK_OVERRIDE;
 
   /**
    * Draw the supplied image at the given position. The origin, width, and
    * height are specified by the supplied vtkRectf variable pos. The image
    * will be drawn scaled to that size.
    */
-  void DrawImage(const vtkRectf& pos, vtkImageData *image);
+  void DrawImage(const vtkRectf& pos, vtkImageData *image) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this device.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *window);
+  void ReleaseGraphicsResources(vtkWindow *window) VTK_OVERRIDE;
 
 protected:
   vtkOpenGL2ContextDevice2D();
-  virtual ~vtkOpenGL2ContextDevice2D();
+  ~vtkOpenGL2ContextDevice2D() VTK_OVERRIDE;
 
   /**
    * Load the OpenGL extensions we need.
    */
-  virtual bool LoadExtensions(vtkOpenGLExtensionManager *m);
+  bool LoadExtensions(vtkOpenGLExtensionManager *m) VTK_OVERRIDE;
 
 private:
   vtkOpenGL2ContextDevice2D(const vtkOpenGL2ContextDevice2D &) VTK_DELETE_FUNCTION;
diff --git a/Rendering/ContextOpenGL/vtkOpenGLContextActor.h b/Rendering/ContextOpenGL/vtkOpenGLContextActor.h
index 59370c6613..8532c3bcb9 100644
--- a/Rendering/ContextOpenGL/vtkOpenGLContextActor.h
+++ b/Rendering/ContextOpenGL/vtkOpenGLContextActor.h
@@ -30,7 +30,7 @@
 class VTKRENDERINGCONTEXTOPENGL_EXPORT vtkOpenGLContextActor : public vtkContextActor
 {
 public:
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   vtkTypeMacro(vtkOpenGLContextActor, vtkContextActor);
 
   static vtkOpenGLContextActor* New();
@@ -40,16 +40,16 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *window);
+  void ReleaseGraphicsResources(vtkWindow *window) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLContextActor();
-  ~vtkOpenGLContextActor();
+  ~vtkOpenGLContextActor() VTK_OVERRIDE;
 
   /**
    * Initialize the actor - right now we just decide which device to initialize.
    */
-  void Initialize(vtkViewport* viewport);
+  void Initialize(vtkViewport* viewport) VTK_OVERRIDE;
 
 private:
   vtkOpenGLContextActor(const vtkOpenGLContextActor&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/ContextOpenGL/vtkOpenGLContextBufferId.h b/Rendering/ContextOpenGL/vtkOpenGLContextBufferId.h
index 73b571e110..3bc3ce4976 100644
--- a/Rendering/ContextOpenGL/vtkOpenGLContextBufferId.h
+++ b/Rendering/ContextOpenGL/vtkOpenGLContextBufferId.h
@@ -35,7 +35,7 @@ class VTKRENDERINGCONTEXTOPENGL_EXPORT vtkOpenGLContextBufferId : public vtkAbst
 {
 public:
   vtkTypeMacro(vtkOpenGLContextBufferId, vtkAbstractContextBufferId);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 2D Painter object.
@@ -45,21 +45,21 @@ public:
   /**
    * Release any graphics resources that are being consumed by this object.
    */
-  virtual void ReleaseGraphicsResources();
+  void ReleaseGraphicsResources() VTK_OVERRIDE;
 
   //@{
   /**
    * Set/Get the OpenGL context owning the texture object resource.
    */
-  virtual void SetContext(vtkRenderWindow *context);
-  virtual vtkRenderWindow *GetContext();
+  void SetContext(vtkRenderWindow *context) VTK_OVERRIDE;
+  vtkRenderWindow *GetContext() VTK_OVERRIDE;
   //@}
 
   /**
    * Returns if the context supports the required extensions.
    * \pre context_is_set: this->GetContext()!=0
    */
-  virtual bool IsSupported();
+  bool IsSupported() VTK_OVERRIDE;
 
   /**
    * Allocate the memory for at least Width*Height elements.
@@ -67,20 +67,20 @@ public:
    * \pre positive_height: GetHeight()>0
    * \pre context_is_set: this->GetContext()!=0
    */
-  virtual void Allocate();
+  void Allocate() VTK_OVERRIDE;
 
   /**
    * Tell if the buffer has been allocated.
    */
-  virtual bool IsAllocated() const;
+  bool IsAllocated() const VTK_OVERRIDE;
 
   /**
    * Copy the contents of the current read buffer to the internal texture
    * starting at lower left corner of the framebuffer (srcXmin,srcYmin).
    * \pre is_allocated: this->IsAllocated()
    */
-  virtual void SetValues(int srcXmin,
-                         int srcYmin);
+  void SetValues(int srcXmin,
+                         int srcYmin) VTK_OVERRIDE;
 
   /**
    * Return item under abscissa x and ordinate y.
@@ -90,11 +90,11 @@ public:
    * \pre is_allocated: IsAllocated()
    * \post valid_result: result>=-1
    */
-  virtual vtkIdType GetPickedItem(int x, int y);
+  vtkIdType GetPickedItem(int x, int y) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLContextBufferId();
-  virtual ~vtkOpenGLContextBufferId();
+  ~vtkOpenGLContextBufferId() VTK_OVERRIDE;
 
   vtkOpenGLRenderWindow *Context;
   vtkTextureObject *Texture;
diff --git a/Rendering/ContextOpenGL/vtkOpenGLContextDevice2D.h b/Rendering/ContextOpenGL/vtkOpenGLContextDevice2D.h
index 442e5167c6..983474b439 100644
--- a/Rendering/ContextOpenGL/vtkOpenGLContextDevice2D.h
+++ b/Rendering/ContextOpenGL/vtkOpenGLContextDevice2D.h
@@ -46,7 +46,7 @@ class VTKRENDERINGCONTEXTOPENGL_EXPORT vtkOpenGLContextDevice2D : public vtkCont
 {
 public:
   vtkTypeMacro(vtkOpenGLContextDevice2D, vtkContextDevice2D);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 2D Painter object.
@@ -59,8 +59,8 @@ public:
    * which has nc_comps components.
    * \sa DrawLines()
    */
-  virtual void DrawPoly(float *f, int n, unsigned char *colors = 0,
-                        int nc_comps = 0);
+  void DrawPoly(float *f, int n, unsigned char *colors = 0,
+                        int nc_comps = 0) VTK_OVERRIDE;
 
   /**
    * Draw lines using the points - memory layout is as follows:
@@ -68,16 +68,16 @@ public:
    * which has nc_comps components.
    * \sa DrawPoly()
    */
-  virtual void DrawLines(float *f, int n, unsigned char *colors = 0,
-                         int nc_comps = 0);
+  void DrawLines(float *f, int n, unsigned char *colors = 0,
+                         int nc_comps = 0) VTK_OVERRIDE;
 
   /**
    * Draw a series of points - fastest code path due to memory
    * layout of the coordinates. Points are colored by colors array
    * which has nc_comps components.
    */
-  virtual void DrawPoints(float *points, int n, unsigned char* colors = 0,
-                          int nc_comps = 0);
+  void DrawPoints(float *points, int n, unsigned char* colors = 0,
+                          int nc_comps = 0) VTK_OVERRIDE;
 
   /**
    * Draw a series of point sprites, images centred at the points supplied.
@@ -85,8 +85,8 @@ public:
    * drawn and the size is set using SetPointSize. Points are colored by colors
    * array which has nc_comps components - this part is optional.
    */
-  virtual void DrawPointSprites(vtkImageData *sprite, float *points, int n,
-                                unsigned char* colors = 0, int nc_comps = 0);
+  void DrawPointSprites(vtkImageData *sprite, float *points, int n,
+                                unsigned char* colors = 0, int nc_comps = 0) VTK_OVERRIDE;
 
   /**
    * Draw a series of markers centered at the points supplied. The \a shape
@@ -99,8 +99,8 @@ public:
    * \param colors is an optional array of colors.
    * \param nc_comps is the number of components for the color.
    */
-  virtual void DrawMarkers(int shape, bool highlight, float *points, int n,
-                           unsigned char *colors = 0, int nc_comps = 0);
+  void DrawMarkers(int shape, bool highlight, float *points, int n,
+                           unsigned char *colors = 0, int nc_comps = 0) VTK_OVERRIDE;
 
   //@{
   /**
@@ -115,17 +115,17 @@ public:
   /**
    * Draws a rectangle
    */
-  virtual void DrawQuad(float *points, int n);
+  void DrawQuad(float *points, int n) VTK_OVERRIDE;
 
   /**
    * Draws a rectangle
    */
-  virtual void DrawQuadStrip(float *points, int n);
+  void DrawQuadStrip(float *points, int n) VTK_OVERRIDE;
 
   /**
    * Draw a polygon using the specified number of points.
    */
-  virtual void DrawPolygon(float *, int);
+  void DrawPolygon(float *, int) VTK_OVERRIDE;
 
   /**
    * Draw an elliptic wedge with center at x, y, outer radii outRx, outRy,
@@ -138,9 +138,9 @@ public:
    * \pre ordered_rx: inRx<=outRx
    * \pre ordered_ry: inRy<=outRy
    */
-  virtual void DrawEllipseWedge(float x, float y, float outRx, float outRy,
+  void DrawEllipseWedge(float x, float y, float outRx, float outRy,
                                 float inRx, float inRy, float startAngle,
-                                float stopAngle);
+                                float stopAngle) VTK_OVERRIDE;
 
   /**
    * Draw an elliptic arc with center at x,y with radii rX and rY between
@@ -148,14 +148,14 @@ public:
    * \pre positive_rX: rX>=0
    * \pre positive_rY: rY>=0
    */
-  virtual void DrawEllipticArc(float x, float y, float rX, float rY,
-                               float startAngle, float stopAngle);
+  void DrawEllipticArc(float x, float y, float rX, float rY,
+                               float startAngle, float stopAngle) VTK_OVERRIDE;
 
 
   /**
    * Draw some text to the screen!
    */
-  virtual void DrawString(float *point, const vtkStdString &string);
+  void DrawString(float *point, const vtkStdString &string) VTK_OVERRIDE;
 
   /**
    * Compute the bounds of the supplied string. The bounds will be copied to the
@@ -165,13 +165,13 @@ public:
    * empty string or string with only characters that cannot be rendered.
    * NOTE: This function does not take account of the text rotation.
    */
-  virtual void ComputeStringBounds(const vtkStdString &string,
-                                   float bounds[4]);
+  void ComputeStringBounds(const vtkStdString &string,
+                                   float bounds[4]) VTK_OVERRIDE;
 
   /**
    * Draw some text to the screen.
    */
-  virtual void DrawString(float *point, const vtkUnicodeString &string);
+  void DrawString(float *point, const vtkUnicodeString &string) VTK_OVERRIDE;
 
   /**
    * Compute the bounds of the supplied string. The bounds will be copied to the
@@ -181,39 +181,39 @@ public:
    * empty string or string with only characters that cannot be rendered.
    * NOTE: This function does not take account of the text rotation.
    */
-  virtual void ComputeStringBounds(const vtkUnicodeString &string,
-                                   float bounds[4]);
+  void ComputeStringBounds(const vtkUnicodeString &string,
+                                   float bounds[4]) VTK_OVERRIDE;
 
   /**
    * Compute the bounds of the supplied string while taking into account the
    * justification of the currently applied text property. Simple rotations
    * (0, 90, 180, 270 degrees) are also propertly taken into account.
    */
-  virtual void ComputeJustifiedStringBounds(const char* string, float bounds[4]);
+  void ComputeJustifiedStringBounds(const char* string, float bounds[4]) VTK_OVERRIDE;
 
   /**
    * Draw text using MathText markup for mathematical equations. See
    * http://matplotlib.sourceforge.net/users/mathtext.html for more information.
    */
-  virtual void DrawMathTextString(float point[2], const vtkStdString &string);
+  void DrawMathTextString(float point[2], const vtkStdString &string) VTK_OVERRIDE;
 
   /**
    * Draw the supplied image at the given x, y (p[0], p[1]) (bottom corner),
    * scaled by scale (1.0 would match the image).
    */
-  virtual void DrawImage(float p[2], float scale, vtkImageData *image);
+  void DrawImage(float p[2], float scale, vtkImageData *image) VTK_OVERRIDE;
 
   /**
    * Draw the supplied image at the given position. The origin, width, and
    * height are specified by the supplied vtkRectf variable pos. The image
    * will be drawn scaled to that size.
    */
-  void DrawImage(const vtkRectf& pos, vtkImageData *image);
+  void DrawImage(const vtkRectf& pos, vtkImageData *image) VTK_OVERRIDE;
 
   /**
    * Set the color for the device using unsigned char of length 4, RGBA.
    */
-  virtual void SetColor4(unsigned char color[4]);
+  void SetColor4(unsigned char color[4]) VTK_OVERRIDE;
 
   /**
    * Set the color for the device using unsigned char of length 3, RGB.
@@ -223,68 +223,68 @@ public:
   /**
    * Set the texture for the device, it is used to fill the polygons
    */
-  virtual void SetTexture(vtkImageData* image, int properties = 0);
+  void SetTexture(vtkImageData* image, int properties = 0) VTK_OVERRIDE;
 
   /**
    * Set the point size for glyphs/sprites.
    */
-  virtual void SetPointSize(float size);
+  void SetPointSize(float size) VTK_OVERRIDE;
 
   /**
    * Set the line width for glyphs/sprites.
    */
-  virtual void SetLineWidth(float width);
+  void SetLineWidth(float width) VTK_OVERRIDE;
 
   /**
    * Set the line type type (using anonymous enum in vtkPen).
    */
-  virtual void SetLineType(int type);
+  void SetLineType(int type) VTK_OVERRIDE;
 
   /**
    * Multiply the current model view matrix by the supplied one.
    */
-  virtual void MultiplyMatrix(vtkMatrix3x3 *m);
+  void MultiplyMatrix(vtkMatrix3x3 *m) VTK_OVERRIDE;
 
   /**
    * Set the model view matrix for the display
    */
-  virtual void SetMatrix(vtkMatrix3x3 *m);
+  void SetMatrix(vtkMatrix3x3 *m) VTK_OVERRIDE;
 
   /**
    * Set the model view matrix for the display
    */
-  virtual void GetMatrix(vtkMatrix3x3 *m);
+  void GetMatrix(vtkMatrix3x3 *m) VTK_OVERRIDE;
 
   /**
    * Push the current matrix onto the stack.
    */
-  virtual void PushMatrix();
+  void PushMatrix() VTK_OVERRIDE;
 
   /**
    * Pop the current matrix off of the stack.
    */
-  virtual void PopMatrix();
+  void PopMatrix() VTK_OVERRIDE;
 
   /**
    * Supply an int array of length 4 with x1, y1, width, height specifying
    * clipping for the display.
    */
-  virtual void SetClipping(int *x);
+  void SetClipping(int *x) VTK_OVERRIDE;
 
   /**
    * Disable clipping of the display.
    */
-  virtual void EnableClipping(bool enable);
+  void EnableClipping(bool enable) VTK_OVERRIDE;
 
   /**
    * Begin drawing, pass in the viewport to set up the view.
    */
-  virtual void Begin(vtkViewport* viewport);
+  void Begin(vtkViewport* viewport) VTK_OVERRIDE;
 
   /**
    * End drawing, clean up the view.
    */
-  virtual void End();
+  void End() VTK_OVERRIDE;
 
   /**
    * Start BufferId creation Mode.
@@ -293,7 +293,7 @@ public:
    * \pre bufferId_exists: bufferId!=0
    * \post started: GetBufferIdMode()
    */
-  virtual void BufferIdModeBegin(vtkAbstractContextBufferId *bufferId);
+  void BufferIdModeBegin(vtkAbstractContextBufferId *bufferId) VTK_OVERRIDE;
 
   /**
    * Finalize BufferId creation Mode. It makes sure that the content of the
@@ -302,7 +302,7 @@ public:
    * \pre started: GetBufferIdMode()
    * \post done: !GetBufferIdMode()
    */
-  virtual void BufferIdModeEnd();
+  void BufferIdModeEnd() VTK_OVERRIDE;
 
   /**
    * Force the use of the freetype based render strategy. If Qt is available
@@ -338,7 +338,7 @@ public:
 
 protected:
   vtkOpenGLContextDevice2D();
-  virtual ~vtkOpenGLContextDevice2D();
+  ~vtkOpenGLContextDevice2D() VTK_OVERRIDE;
 
   /**
    * Factorized code called by DrawEllipseWedge() and DrawEllipticArc()
diff --git a/Rendering/ContextOpenGL/vtkOpenGLContextDevice3D.h b/Rendering/ContextOpenGL/vtkOpenGLContextDevice3D.h
index a72cd3e08c..49caa2e90f 100644
--- a/Rendering/ContextOpenGL/vtkOpenGLContextDevice3D.h
+++ b/Rendering/ContextOpenGL/vtkOpenGLContextDevice3D.h
@@ -36,7 +36,7 @@ class VTKRENDERINGCONTEXTOPENGL_EXPORT vtkOpenGLContextDevice3D : public vtkCont
 {
 public:
   vtkTypeMacro(vtkOpenGLContextDevice3D, vtkContextDevice3D);
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkOpenGLContextDevice3D * New();
 
@@ -44,75 +44,75 @@ public:
    * Draw a polyline between the specified points.
    * \sa DrawLines()
    */
-  void DrawPoly(const float *verts, int n, const unsigned char *colors, int nc);
+  void DrawPoly(const float *verts, int n, const unsigned char *colors, int nc) VTK_OVERRIDE;
 
   /**
    * Draw lines defined by specified pair of points.
    * \sa DrawPoly()
    */
-  void DrawLines(const float *verts, int n, const unsigned char *colors, int nc);
+  void DrawLines(const float *verts, int n, const unsigned char *colors, int nc) VTK_OVERRIDE;
 
   /**
    * Draw points at the vertex positions specified.
    */
   void DrawPoints(const float *verts, int n,
-                  const unsigned char *colors, int nc);
+                  const unsigned char *colors, int nc) VTK_OVERRIDE;
 
   /**
    * Draw triangles to generate the specified mesh.
    */
   void DrawTriangleMesh(const float *mesh, int n,
-                        const unsigned char *colors, int nc);
+                        const unsigned char *colors, int nc) VTK_OVERRIDE;
 
   /**
    * Apply the supplied pen which controls the outlines of shapes, as well as
    * lines, points and related primitives. This makes a deep copy of the vtkPen
    * object in the vtkContext2D, it does not hold a pointer to the supplied object.
    */
-  void ApplyPen(vtkPen *pen);
+  void ApplyPen(vtkPen *pen) VTK_OVERRIDE;
 
   /**
    * Apply the supplied brush which controls the outlines of shapes, as well as
    * lines, points and related primitives. This makes a deep copy of the vtkBrush
    * object in the vtkContext2D, it does not hold a pointer to the supplied object.
    */
-  void ApplyBrush(vtkBrush *brush);
+  void ApplyBrush(vtkBrush *brush) VTK_OVERRIDE;
 
   /**
    * Set the model view matrix for the display
    */
-  void SetMatrix(vtkMatrix4x4 *m);
+  void SetMatrix(vtkMatrix4x4 *m) VTK_OVERRIDE;
 
   /**
    * Set the model view matrix for the display
    */
-  void GetMatrix(vtkMatrix4x4 *m);
+  void GetMatrix(vtkMatrix4x4 *m) VTK_OVERRIDE;
 
   /**
    * Multiply the current model view matrix by the supplied one
    */
-  void MultiplyMatrix(vtkMatrix4x4 *m);
+  void MultiplyMatrix(vtkMatrix4x4 *m) VTK_OVERRIDE;
 
   /**
    * Push the current matrix onto the stack.
    */
-  void PushMatrix();
+  void PushMatrix() VTK_OVERRIDE;
 
   /**
    * Pop the current matrix off of the stack.
    */
-  void PopMatrix();
+  void PopMatrix() VTK_OVERRIDE;
 
   /**
    * Supply a float array of length 4 with x1, y1, width, height specifying
    * clipping region for the device in pixels.
    */
-  void SetClipping(const vtkRecti &rect);
+  void SetClipping(const vtkRecti &rect) VTK_OVERRIDE;
 
   /**
    * Enable or disable the clipping of the scene.
    */
-  void EnableClipping(bool enable);
+  void EnableClipping(bool enable) VTK_OVERRIDE;
 
   //@{
   /**
@@ -122,13 +122,13 @@ public:
    * clipping plane: Ax + By + Cz + D = 0.  This is the equation format
    * expected by glClipPlane.
    */
-  void EnableClippingPlane(int i, double *planeEquation);
-  void DisableClippingPlane(int i);
+  void EnableClippingPlane(int i, double *planeEquation) VTK_OVERRIDE;
+  void DisableClippingPlane(int i) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkOpenGLContextDevice3D();
-  ~vtkOpenGLContextDevice3D();
+  ~vtkOpenGLContextDevice3D() VTK_OVERRIDE;
 
   /**
    * Begin drawing, turn on the depth buffer.
diff --git a/Rendering/ContextOpenGL/vtkOpenGLPropItem.h b/Rendering/ContextOpenGL/vtkOpenGLPropItem.h
index 6bdfa813b7..50a90eb361 100644
--- a/Rendering/ContextOpenGL/vtkOpenGLPropItem.h
+++ b/Rendering/ContextOpenGL/vtkOpenGLPropItem.h
@@ -41,13 +41,13 @@ public:
 
 protected:
   vtkOpenGLPropItem();
-  ~vtkOpenGLPropItem();
+  ~vtkOpenGLPropItem() VTK_OVERRIDE;
 
   // Sync the active vtkCamera with the GL state set by the painter.
-  virtual void UpdateTransforms();
+  void UpdateTransforms() VTK_OVERRIDE;
 
   // Restore the vtkCamera state.
-  virtual void ResetTransforms();
+  void ResetTransforms() VTK_OVERRIDE;
 
 private:
   vtkNew<vtkCamera> CameraCache;
diff --git a/Rendering/ContextOpenGL2/vtkOpenGLContextActor.h b/Rendering/ContextOpenGL2/vtkOpenGLContextActor.h
index 9ca15be09c..a666df9e4e 100644
--- a/Rendering/ContextOpenGL2/vtkOpenGLContextActor.h
+++ b/Rendering/ContextOpenGL2/vtkOpenGLContextActor.h
@@ -30,7 +30,7 @@
 class VTKRENDERINGCONTEXTOPENGL2_EXPORT vtkOpenGLContextActor : public vtkContextActor
 {
 public:
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   vtkTypeMacro(vtkOpenGLContextActor, vtkContextActor);
 
   static vtkOpenGLContextActor* New();
@@ -40,21 +40,21 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *window);
+  void ReleaseGraphicsResources(vtkWindow *window) VTK_OVERRIDE;
 
   /**
    * We only render in the overlay for the context scene.
    */
-  virtual int RenderOverlay(vtkViewport *viewport);
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLContextActor();
-  ~vtkOpenGLContextActor();
+  ~vtkOpenGLContextActor() VTK_OVERRIDE;
 
   /**
    * Initialize the actor - right now we just decide which device to initialize.
    */
-  void Initialize(vtkViewport* viewport);
+  void Initialize(vtkViewport* viewport) VTK_OVERRIDE;
 
 private:
   vtkOpenGLContextActor(const vtkOpenGLContextActor&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/ContextOpenGL2/vtkOpenGLContextBufferId.h b/Rendering/ContextOpenGL2/vtkOpenGLContextBufferId.h
index 48bc161664..1e5dc30bac 100644
--- a/Rendering/ContextOpenGL2/vtkOpenGLContextBufferId.h
+++ b/Rendering/ContextOpenGL2/vtkOpenGLContextBufferId.h
@@ -35,7 +35,7 @@ class VTKRENDERINGCONTEXTOPENGL2_EXPORT vtkOpenGLContextBufferId : public vtkAbs
 {
 public:
   vtkTypeMacro(vtkOpenGLContextBufferId, vtkAbstractContextBufferId);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 2D Painter object.
@@ -45,21 +45,21 @@ public:
   /**
    * Release any graphics resources that are being consumed by this object.
    */
-  virtual void ReleaseGraphicsResources();
+  void ReleaseGraphicsResources() VTK_OVERRIDE;
 
   //@{
   /**
    * Set/Get the OpenGL context owning the texture object resource.
    */
-  virtual void SetContext(vtkRenderWindow *context);
-  virtual vtkRenderWindow *GetContext();
+  void SetContext(vtkRenderWindow *context) VTK_OVERRIDE;
+  vtkRenderWindow *GetContext() VTK_OVERRIDE;
   //@}
 
   /**
    * Returns if the context supports the required extensions.
    * \pre context_is_set: this->GetContext()!=0
    */
-  virtual bool IsSupported();
+  bool IsSupported() VTK_OVERRIDE;
 
   /**
    * Allocate the memory for at least Width*Height elements.
@@ -67,20 +67,20 @@ public:
    * \pre positive_height: GetHeight()>0
    * \pre context_is_set: this->GetContext()!=0
    */
-  virtual void Allocate();
+  void Allocate() VTK_OVERRIDE;
 
   /**
    * Tell if the buffer has been allocated.
    */
-  virtual bool IsAllocated() const;
+  bool IsAllocated() const VTK_OVERRIDE;
 
   /**
    * Copy the contents of the current read buffer to the internal texture
    * starting at lower left corner of the framebuffer (srcXmin,srcYmin).
    * \pre is_allocated: this->IsAllocated()
    */
-  virtual void SetValues(int srcXmin,
-                         int srcYmin);
+  void SetValues(int srcXmin,
+                         int srcYmin) VTK_OVERRIDE;
 
   /**
    * Return item under abscissa x and ordinate y.
@@ -90,11 +90,11 @@ public:
    * \pre is_allocated: IsAllocated()
    * \post valid_result: result>=-1
    */
-  virtual vtkIdType GetPickedItem(int x, int y);
+  vtkIdType GetPickedItem(int x, int y) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLContextBufferId();
-  virtual ~vtkOpenGLContextBufferId();
+  ~vtkOpenGLContextBufferId() VTK_OVERRIDE;
 
   vtkOpenGLRenderWindow *Context;
   vtkTextureObject *Texture;
diff --git a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.h b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.h
index 36b93d08fe..e4c5961ee5 100644
--- a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.h
+++ b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.h
@@ -52,7 +52,7 @@ class VTKRENDERINGCONTEXTOPENGL2_EXPORT vtkOpenGLContextDevice2D : public vtkCon
 {
 public:
   vtkTypeMacro(vtkOpenGLContextDevice2D, vtkContextDevice2D);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a 2D Painter object.
@@ -64,8 +64,8 @@ public:
    * layout of the coordinates. The line will be colored by colors array
    * which has nc_comps components
    */
-  virtual void DrawPoly(float *f, int n, unsigned char *colors = 0,
-                        int nc_comps = 0);
+  void DrawPoly(float *f, int n, unsigned char *colors = 0,
+                        int nc_comps = 0) VTK_OVERRIDE;
 
   /**
    * Draw lines using the points - memory layout is as follows:
@@ -73,16 +73,16 @@ public:
    * which has nc_comps components.
    * \sa DrawPoly()
    */
-  virtual void DrawLines(float *f, int n, unsigned char *colors = 0,
-                         int nc_comps = 0);
+  void DrawLines(float *f, int n, unsigned char *colors = 0,
+                         int nc_comps = 0) VTK_OVERRIDE;
 
   /**
    * Draw a series of points - fastest code path due to memory
    * layout of the coordinates. Points are colored by colors array
    * which has nc_comps components
    */
-  virtual void DrawPoints(float *points, int n, unsigned char* colors = 0,
-                          int nc_comps = 0);
+  void DrawPoints(float *points, int n, unsigned char* colors = 0,
+                          int nc_comps = 0) VTK_OVERRIDE;
 
   /**
    * Draw a series of point sprites, images centred at the points supplied.
@@ -90,8 +90,8 @@ public:
    * drawn and the size is set using SetPointSize. Points are colored by colors
    * array which has nc_comps components - this part is optional.
    */
-  virtual void DrawPointSprites(vtkImageData *sprite, float *points, int n,
-                                unsigned char* colors = 0, int nc_comps = 0);
+  void DrawPointSprites(vtkImageData *sprite, float *points, int n,
+                                unsigned char* colors = 0, int nc_comps = 0) VTK_OVERRIDE;
 
   /**
    * Draw a series of markers centered at the points supplied. The \a shape
@@ -104,8 +104,8 @@ public:
    * \param colors is an optional array of colors.
    * \param nc_comps is the number of components for the color.
    */
-  virtual void DrawMarkers(int shape, bool highlight, float *points, int n,
-                           unsigned char *colors = 0, int nc_comps = 0);
+  void DrawMarkers(int shape, bool highlight, float *points, int n,
+                           unsigned char *colors = 0, int nc_comps = 0) VTK_OVERRIDE;
 
   //@{
   /**
@@ -120,17 +120,17 @@ public:
   /**
    * Draws a rectangle
    */
-  virtual void DrawQuad(float *points, int n);
+  void DrawQuad(float *points, int n) VTK_OVERRIDE;
 
   /**
    * Draws a rectangle
    */
-  virtual void DrawQuadStrip(float *points, int n);
+  void DrawQuadStrip(float *points, int n) VTK_OVERRIDE;
 
   /**
    * Draw a polygon using the specified number of points.
    */
-  virtual void DrawPolygon(float *, int);
+  void DrawPolygon(float *, int) VTK_OVERRIDE;
 
   /**
    * Draw an elliptic wedge with center at x, y, outer radii outRx, outRy,
@@ -143,9 +143,9 @@ public:
    * \pre ordered_rx: inRx<=outRx
    * \pre ordered_ry: inRy<=outRy
    */
-  virtual void DrawEllipseWedge(float x, float y, float outRx, float outRy,
+  void DrawEllipseWedge(float x, float y, float outRx, float outRy,
                                 float inRx, float inRy, float startAngle,
-                                float stopAngle);
+                                float stopAngle) VTK_OVERRIDE;
 
   /**
    * Draw an elliptic arc with center at x,y with radii rX and rY between
@@ -153,14 +153,14 @@ public:
    * \pre positive_rX: rX>=0
    * \pre positive_rY: rY>=0
    */
-  virtual void DrawEllipticArc(float x, float y, float rX, float rY,
-                               float startAngle, float stopAngle);
+  void DrawEllipticArc(float x, float y, float rX, float rY,
+                               float startAngle, float stopAngle) VTK_OVERRIDE;
 
 
   /**
    * Draw some text to the screen!
    */
-  virtual void DrawString(float *point, const vtkStdString &string);
+  void DrawString(float *point, const vtkStdString &string) VTK_OVERRIDE;
 
   /**
    * Compute the bounds of the supplied string. The bounds will be copied to the
@@ -170,13 +170,13 @@ public:
    * empty string or string with only characters that cannot be rendered.
    * NOTE: This function does not take account of the text rotation.
    */
-  virtual void ComputeStringBounds(const vtkStdString &string,
-                                   float bounds[4]);
+  void ComputeStringBounds(const vtkStdString &string,
+                                   float bounds[4]) VTK_OVERRIDE;
 
   /**
    * Draw some text to the screen.
    */
-  virtual void DrawString(float *point, const vtkUnicodeString &string);
+  void DrawString(float *point, const vtkUnicodeString &string) VTK_OVERRIDE;
 
   /**
    * Compute the bounds of the supplied string. The bounds will be copied to the
@@ -186,39 +186,39 @@ public:
    * empty string or string with only characters that cannot be rendered.
    * NOTE: This function does not take account of the text rotation.
    */
-  virtual void ComputeStringBounds(const vtkUnicodeString &string,
-                                   float bounds[4]);
+  void ComputeStringBounds(const vtkUnicodeString &string,
+                                   float bounds[4]) VTK_OVERRIDE;
 
   /**
    * Compute the bounds of the supplied string while taking into account the
    * justification of the currently applied text property. Simple rotations
    * (0, 90, 180, 270 degrees) are also propertly taken into account.
    */
-  virtual void ComputeJustifiedStringBounds(const char* string, float bounds[4]);
+  void ComputeJustifiedStringBounds(const char* string, float bounds[4]) VTK_OVERRIDE;
 
   /**
    * Draw text using MathText markup for mathematical equations. See
    * http://matplotlib.sourceforge.net/users/mathtext.html for more information.
    */
-  virtual void DrawMathTextString(float point[2], const vtkStdString &string);
+  void DrawMathTextString(float point[2], const vtkStdString &string) VTK_OVERRIDE;
 
   /**
    * Draw the supplied image at the given x, y (p[0], p[1]) (bottom corner),
    * scaled by scale (1.0 would match the image).
    */
-  virtual void DrawImage(float p[2], float scale, vtkImageData *image);
+  void DrawImage(float p[2], float scale, vtkImageData *image) VTK_OVERRIDE;
 
   /**
    * Draw the supplied image at the given position. The origin, width, and
    * height are specified by the supplied vtkRectf variable pos. The image
    * will be drawn scaled to that size.
    */
-  void DrawImage(const vtkRectf& pos, vtkImageData *image);
+  void DrawImage(const vtkRectf& pos, vtkImageData *image) VTK_OVERRIDE;
 
   /**
    * Set the color for the device using unsigned char of length 4, RGBA.
    */
-  virtual void SetColor4(unsigned char color[4]);
+  void SetColor4(unsigned char color[4]) VTK_OVERRIDE;
 
   /**
    * Set the color for the device using unsigned char of length 3, RGB.
@@ -228,68 +228,68 @@ public:
   /**
    * Set the texture for the device, it is used to fill the polygons
    */
-  virtual void SetTexture(vtkImageData* image, int properties = 0);
+  void SetTexture(vtkImageData* image, int properties = 0) VTK_OVERRIDE;
 
   /**
    * Set the point size for glyphs/sprites.
    */
-  virtual void SetPointSize(float size);
+  void SetPointSize(float size) VTK_OVERRIDE;
 
   /**
    * Set the line width for glyphs/sprites.
    */
-  virtual void SetLineWidth(float width);
+  void SetLineWidth(float width) VTK_OVERRIDE;
 
   /**
    * Set the line type type (using anonymous enum in vtkPen).
    */
-  virtual void SetLineType(int type);
+  void SetLineType(int type) VTK_OVERRIDE;
 
   /**
    * Multiply the current model view matrix by the supplied one.
    */
-  virtual void MultiplyMatrix(vtkMatrix3x3 *m);
+  void MultiplyMatrix(vtkMatrix3x3 *m) VTK_OVERRIDE;
 
   /**
    * Set the model view matrix for the display
    */
-  virtual void SetMatrix(vtkMatrix3x3 *m);
+  void SetMatrix(vtkMatrix3x3 *m) VTK_OVERRIDE;
 
   /**
    * Set the model view matrix for the display
    */
-  virtual void GetMatrix(vtkMatrix3x3 *m);
+  void GetMatrix(vtkMatrix3x3 *m) VTK_OVERRIDE;
 
   /**
    * Push the current matrix onto the stack.
    */
-  virtual void PushMatrix();
+  void PushMatrix() VTK_OVERRIDE;
 
   /**
    * Pop the current matrix off of the stack.
    */
-  virtual void PopMatrix();
+  void PopMatrix() VTK_OVERRIDE;
 
   /**
    * Supply an int array of length 4 with x1, y1, x2, y2 specifying clipping
    * for the display.
    */
-  virtual void SetClipping(int *x);
+  void SetClipping(int *x) VTK_OVERRIDE;
 
   /**
    * Disable clipping of the display.
    */
-  virtual void EnableClipping(bool enable);
+  void EnableClipping(bool enable) VTK_OVERRIDE;
 
   /**
    * Begin drawing, pass in the viewport to set up the view.
    */
-  virtual void Begin(vtkViewport* viewport);
+  void Begin(vtkViewport* viewport) VTK_OVERRIDE;
 
   /**
    * End drawing, clean up the view.
    */
-  virtual void End();
+  void End() VTK_OVERRIDE;
 
   /**
    * Start BufferId creation Mode.
@@ -298,7 +298,7 @@ public:
    * \pre bufferId_exists: bufferId!=0
    * \post started: GetBufferIdMode()
    */
-  virtual void BufferIdModeBegin(vtkAbstractContextBufferId *bufferId);
+  void BufferIdModeBegin(vtkAbstractContextBufferId *bufferId) VTK_OVERRIDE;
 
   /**
    * Finalize BufferId creation Mode. It makes sure that the content of the
@@ -307,7 +307,7 @@ public:
    * \pre started: GetBufferIdMode()
    * \post done: !GetBufferIdMode()
    */
-  virtual void BufferIdModeEnd();
+  void BufferIdModeEnd() VTK_OVERRIDE;
 
   /**
    * Force the use of the freetype based render strategy. If Qt is available
@@ -351,7 +351,7 @@ public:
 
 protected:
   vtkOpenGLContextDevice2D();
-  virtual ~vtkOpenGLContextDevice2D();
+  ~vtkOpenGLContextDevice2D() VTK_OVERRIDE;
 
   /**
    * Factorized code called by DrawEllipseWedge() and DrawEllipticArc()
diff --git a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice3D.h b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice3D.h
index ac6ccfcef5..7374c34475 100644
--- a/Rendering/ContextOpenGL2/vtkOpenGLContextDevice3D.h
+++ b/Rendering/ContextOpenGL2/vtkOpenGLContextDevice3D.h
@@ -43,82 +43,82 @@ class VTKRENDERINGCONTEXTOPENGL2_EXPORT vtkOpenGLContextDevice3D : public vtkCon
 {
 public:
   vtkTypeMacro(vtkOpenGLContextDevice3D, vtkContextDevice3D);
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkOpenGLContextDevice3D * New();
 
   /**
    * Draw a polyline between the specified points.
    */
-  void DrawPoly(const float *verts, int n, const unsigned char *colors, int nc);
+  void DrawPoly(const float *verts, int n, const unsigned char *colors, int nc) VTK_OVERRIDE;
 
   /**
    * Draw lines defined by specified pair of points.
    * \sa DrawPoly()
    */
-  void DrawLines(const float *verts, int n, const unsigned char *colors, int nc);
+  void DrawLines(const float *verts, int n, const unsigned char *colors, int nc) VTK_OVERRIDE;
 
   /**
    * Draw points at the vertex positions specified.
    */
   void DrawPoints(const float *verts, int n,
-                  const unsigned char *colors, int nc);
+                  const unsigned char *colors, int nc) VTK_OVERRIDE;
 
   /**
    * Draw triangles to generate the specified mesh.
    */
   void DrawTriangleMesh(const float *mesh, int n,
-                        const unsigned char *colors, int nc);
+                        const unsigned char *colors, int nc) VTK_OVERRIDE;
 
   /**
    * Apply the supplied pen which controls the outlines of shapes, as well as
    * lines, points and related primitives. This makes a deep copy of the vtkPen
    * object in the vtkContext2D, it does not hold a pointer to the supplied object.
    */
-  void ApplyPen(vtkPen *pen);
+  void ApplyPen(vtkPen *pen) VTK_OVERRIDE;
 
   /**
    * Apply the supplied brush which controls the outlines of shapes, as well as
    * lines, points and related primitives. This makes a deep copy of the vtkBrush
    * object in the vtkContext2D, it does not hold a pointer to the supplied object.
    */
-  void ApplyBrush(vtkBrush *brush);
+  void ApplyBrush(vtkBrush *brush) VTK_OVERRIDE;
 
   /**
    * Set the model view matrix for the display
    */
-  void SetMatrix(vtkMatrix4x4 *m);
+  void SetMatrix(vtkMatrix4x4 *m) VTK_OVERRIDE;
 
   /**
    * Set the model view matrix for the display
    */
-  void GetMatrix(vtkMatrix4x4 *m);
+  void GetMatrix(vtkMatrix4x4 *m) VTK_OVERRIDE;
 
   /**
    * Multiply the current model view matrix by the supplied one
    */
-  void MultiplyMatrix(vtkMatrix4x4 *m);
+  void MultiplyMatrix(vtkMatrix4x4 *m) VTK_OVERRIDE;
 
   /**
    * Push the current matrix onto the stack.
    */
-  void PushMatrix();
+  void PushMatrix() VTK_OVERRIDE;
 
   /**
    * Pop the current matrix off of the stack.
    */
-  void PopMatrix();
+  void PopMatrix() VTK_OVERRIDE;
 
   /**
    * Supply a float array of length 4 with x1, y1, width, height specifying
    * clipping region for the device in pixels.
    */
-  void SetClipping(const vtkRecti &rect);
+  void SetClipping(const vtkRecti &rect) VTK_OVERRIDE;
 
   /**
    * Enable or disable the clipping of the scene.
    */
-  void EnableClipping(bool enable);
+  void EnableClipping(bool enable) VTK_OVERRIDE;
 
   //@{
   /**
@@ -128,8 +128,8 @@ public:
    * clipping plane: Ax + By + Cz + D = 0.  This is the equation format
    * expected by glClipPlane.
    */
-  void EnableClippingPlane(int i, double *planeEquation);
-  void DisableClippingPlane(int i);
+  void EnableClippingPlane(int i, double *planeEquation) VTK_OVERRIDE;
+  void DisableClippingPlane(int i) VTK_OVERRIDE;
   //@}
 
   /**
@@ -144,7 +144,7 @@ public:
 
 protected:
   vtkOpenGLContextDevice3D();
-  ~vtkOpenGLContextDevice3D();
+  ~vtkOpenGLContextDevice3D() VTK_OVERRIDE;
 
   /**
    * Begin drawing, turn on the depth buffer.
diff --git a/Rendering/ContextOpenGL2/vtkOpenGLPropItem.h b/Rendering/ContextOpenGL2/vtkOpenGLPropItem.h
index b297cd6e2f..6f742ed84c 100644
--- a/Rendering/ContextOpenGL2/vtkOpenGLPropItem.h
+++ b/Rendering/ContextOpenGL2/vtkOpenGLPropItem.h
@@ -39,17 +39,17 @@ public:
   static vtkOpenGLPropItem *New();
   vtkTypeMacro(vtkOpenGLPropItem, vtkPropItem)
 
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLPropItem();
-  ~vtkOpenGLPropItem();
+  ~vtkOpenGLPropItem() VTK_OVERRIDE;
 
   // Sync the active vtkCamera with the GL state set by the painter.
-  virtual void UpdateTransforms();
+  void UpdateTransforms() VTK_OVERRIDE;
 
   // Restore the vtkCamera state.
-  virtual void ResetTransforms();
+  void ResetTransforms() VTK_OVERRIDE;
 
 private:
   vtkNew<vtkCamera> CameraCache;
diff --git a/Rendering/Core/vtkAbstractInteractionDevice.h b/Rendering/Core/vtkAbstractInteractionDevice.h
index 0367ddb977..b0905dcc45 100644
--- a/Rendering/Core/vtkAbstractInteractionDevice.h
+++ b/Rendering/Core/vtkAbstractInteractionDevice.h
@@ -24,7 +24,7 @@ class VTKRENDERINGCORE_EXPORT vtkAbstractInteractionDevice : public vtkObject
 {
 public:
   vtkTypeMacro(vtkAbstractInteractionDevice, vtkObject)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * @brief Make a new device, this class is abstract and one of its derived
@@ -56,7 +56,7 @@ public:
 
 protected:
   vtkAbstractInteractionDevice();
-  ~vtkAbstractInteractionDevice();
+  ~vtkAbstractInteractionDevice() VTK_OVERRIDE;
 
   bool Initialized;
   vtkRenderWidget *RenderWidget;
diff --git a/Rendering/Core/vtkAbstractMapper.h b/Rendering/Core/vtkAbstractMapper.h
index e015958dcf..5171d83a0d 100644
--- a/Rendering/Core/vtkAbstractMapper.h
+++ b/Rendering/Core/vtkAbstractMapper.h
@@ -53,12 +53,12 @@ class VTKRENDERINGCORE_EXPORT vtkAbstractMapper : public vtkAlgorithm
 {
 public:
   vtkTypeMacro(vtkAbstractMapper, vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Override Modifiedtime as we have added Clipping planes
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this mapper.
@@ -131,7 +131,7 @@ public:
 
 protected:
   vtkAbstractMapper();
-  ~vtkAbstractMapper();
+  ~vtkAbstractMapper() VTK_OVERRIDE;
 
   vtkTimerLog *Timer;
   double TimeToDraw;
diff --git a/Rendering/Core/vtkAbstractMapper3D.h b/Rendering/Core/vtkAbstractMapper3D.h
index 2dbeeb50cb..757de7457e 100644
--- a/Rendering/Core/vtkAbstractMapper3D.h
+++ b/Rendering/Core/vtkAbstractMapper3D.h
@@ -43,7 +43,7 @@ class VTKRENDERINGCORE_EXPORT vtkAbstractMapper3D : public vtkAbstractMapper
 {
 public:
   vtkTypeMacro(vtkAbstractMapper3D, vtkAbstractMapper);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Return bounding box (array of six doubles) of data expressed as
@@ -102,7 +102,7 @@ public:
 
 protected:
    vtkAbstractMapper3D();
-   ~vtkAbstractMapper3D() {}
+   ~vtkAbstractMapper3D() VTK_OVERRIDE {}
 
   double Bounds[6];
   double Center[3];
diff --git a/Rendering/Core/vtkAbstractPicker.h b/Rendering/Core/vtkAbstractPicker.h
index 29f2608199..64a1dc8507 100644
--- a/Rendering/Core/vtkAbstractPicker.h
+++ b/Rendering/Core/vtkAbstractPicker.h
@@ -69,7 +69,7 @@ class VTKRENDERINGCORE_EXPORT vtkAbstractPicker : public vtkObject
 {
 public:
   vtkTypeMacro(vtkAbstractPicker,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -143,7 +143,7 @@ public:
 
 protected:
   vtkAbstractPicker();
-  ~vtkAbstractPicker();
+  ~vtkAbstractPicker() VTK_OVERRIDE;
 
   virtual void Initialize();
 
diff --git a/Rendering/Core/vtkAbstractPropPicker.h b/Rendering/Core/vtkAbstractPropPicker.h
index 212fbcfd91..1f76e94421 100644
--- a/Rendering/Core/vtkAbstractPropPicker.h
+++ b/Rendering/Core/vtkAbstractPropPicker.h
@@ -80,7 +80,7 @@ class VTKRENDERINGCORE_EXPORT vtkAbstractPropPicker : public vtkAbstractPicker
 {
 public:
   vtkTypeMacro(vtkAbstractPropPicker,vtkAbstractPicker);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -146,9 +146,9 @@ public:
 
 protected:
   vtkAbstractPropPicker();
-  ~vtkAbstractPropPicker();
+  ~vtkAbstractPropPicker() VTK_OVERRIDE;
 
-  void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   vtkAssemblyPath *Path; //this is what is picked, and includes the prop
 private:
diff --git a/Rendering/Core/vtkAbstractRenderDevice.h b/Rendering/Core/vtkAbstractRenderDevice.h
index 92d54f4577..f241c6a9f7 100644
--- a/Rendering/Core/vtkAbstractRenderDevice.h
+++ b/Rendering/Core/vtkAbstractRenderDevice.h
@@ -24,7 +24,7 @@ class VTKRENDERINGCORE_EXPORT vtkAbstractRenderDevice : public vtkObject
 {
 public:
   vtkTypeMacro(vtkAbstractRenderDevice, vtkObject)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * @brief Make a new device, this class is abstract and one of its derived
@@ -58,7 +58,7 @@ public:
 
 protected:
   vtkAbstractRenderDevice();
-  ~vtkAbstractRenderDevice();
+  ~vtkAbstractRenderDevice() VTK_OVERRIDE;
 
   int GLMajor;
   int GLMinor;
diff --git a/Rendering/Core/vtkAbstractVolumeMapper.h b/Rendering/Core/vtkAbstractVolumeMapper.h
index 20b6857f53..2a86cf1180 100644
--- a/Rendering/Core/vtkAbstractVolumeMapper.h
+++ b/Rendering/Core/vtkAbstractVolumeMapper.h
@@ -39,7 +39,7 @@ class VTKRENDERINGCORE_EXPORT vtkAbstractVolumeMapper : public vtkAbstractMapper
 {
 public:
   vtkTypeMacro(vtkAbstractVolumeMapper,vtkAbstractMapper3D);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -54,8 +54,8 @@ public:
    * Return bounding box (array of six doubles) of data expressed as
    * (xmin,xmax, ymin,ymax, zmin,zmax).
    */
-  virtual double *GetBounds();
-  virtual void GetBounds(double bounds[6])
+  double *GetBounds() VTK_OVERRIDE;
+  void GetBounds(double bounds[6]) VTK_OVERRIDE
     { this->vtkAbstractMapper3D::GetBounds(bounds); };
   //@}
 
@@ -132,14 +132,14 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *) {}
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE {}
 
 protected:
   vtkAbstractVolumeMapper();
-  ~vtkAbstractVolumeMapper();
+  ~vtkAbstractVolumeMapper() VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   int         ScalarMode;
   char       *ArrayName;
diff --git a/Rendering/Core/vtkActor.h b/Rendering/Core/vtkActor.h
index 267e740bdf..c8c20d264d 100644
--- a/Rendering/Core/vtkActor.h
+++ b/Rendering/Core/vtkActor.h
@@ -46,7 +46,7 @@ class VTKRENDERINGCORE_EXPORT vtkActor : public vtkProp3D
 {
 public:
   vtkTypeMacro(vtkActor, vtkProp3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates an actor with the following defaults: origin(0,0,0)
@@ -60,20 +60,20 @@ public:
    * able to collect all the actors or volumes. These methods
    * are used in that process.
    */
-  virtual void GetActors(vtkPropCollection *);
+  void GetActors(vtkPropCollection *) VTK_OVERRIDE;
 
   //@{
   /**
    * Support the standard render methods.
    */
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * This causes the actor to be rendered. It in turn will render the actor's
@@ -86,14 +86,14 @@ public:
   /**
    * Shallow copy of an actor. Overloads the virtual vtkProp method.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   //@{
   /**
@@ -155,7 +155,7 @@ public:
    * method GetBounds(double bounds[6]) is available from the superclass.)
    */
   void GetBounds(double bounds[6]) {this->vtkProp3D::GetBounds( bounds );}
-  double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
 
   /**
    * Apply the current properties to all parts that compose this actor.
@@ -170,7 +170,7 @@ public:
   /**
    * Get the actors mtime plus consider its properties and texture if set.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Return the mtime of anything that would cause the rendered image to
@@ -178,7 +178,7 @@ public:
    * prop plus anything else it depends on such as properties, textures,
    * etc.
    */
-  virtual vtkMTimeType GetRedrawMTime();
+  vtkMTimeType GetRedrawMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -198,11 +198,11 @@ public:
    * Used by vtkHardwareSelector to determine if the prop supports hardware
    * selection.
    */
-  virtual bool GetSupportsSelection();
+  bool GetSupportsSelection() VTK_OVERRIDE;
 
 protected:
   vtkActor();
-  ~vtkActor();
+  ~vtkActor() VTK_OVERRIDE;
 
   // is this actor opaque
   int GetIsOpaque();
diff --git a/Rendering/Core/vtkActor2D.h b/Rendering/Core/vtkActor2D.h
index 72d81abd6b..48c2c3d441 100644
--- a/Rendering/Core/vtkActor2D.h
+++ b/Rendering/Core/vtkActor2D.h
@@ -53,15 +53,15 @@ public:
   /**
    * Support the standard render methods.
    */
-  virtual int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   //@{
   /**
@@ -129,26 +129,26 @@ public:
   /**
    * Return this objects MTime.
    */
-  virtual vtkMTimeType GetMTime() VTK_OVERRIDE;
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * For some exporters and other other operations we must be
    * able to collect all the actors or volumes. These methods
    * are used in that process.
    */
-  virtual void GetActors2D(vtkPropCollection *pc) VTK_OVERRIDE;
+  void GetActors2D(vtkPropCollection *pc) VTK_OVERRIDE;
 
   /**
    * Shallow copy of this vtkActor2D. Overloads the virtual vtkProp method.
    */
-  virtual void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Return the actual vtkCoordinate reference that the mapper should use
@@ -168,7 +168,7 @@ public:
 
 protected:
   vtkActor2D();
-  ~vtkActor2D();
+  ~vtkActor2D() VTK_OVERRIDE;
 
   vtkMapper2D *Mapper;
   int LayerNumber;
diff --git a/Rendering/Core/vtkActor2DCollection.h b/Rendering/Core/vtkActor2DCollection.h
index bd9036afcf..7d447df4a9 100644
--- a/Rendering/Core/vtkActor2DCollection.h
+++ b/Rendering/Core/vtkActor2DCollection.h
@@ -92,9 +92,9 @@ class VTKRENDERINGCORE_EXPORT vtkActor2DCollection : public vtkPropCollection
 
 protected:
   vtkActor2DCollection() {}
-  ~vtkActor2DCollection();
+  ~vtkActor2DCollection() VTK_OVERRIDE;
 
-  virtual void DeleteElement(vtkCollectionElement *);
+  void DeleteElement(vtkCollectionElement *) VTK_OVERRIDE;
 
 private:
   // hide the standard AddItem from the user and the compiler.
diff --git a/Rendering/Core/vtkActorCollection.h b/Rendering/Core/vtkActorCollection.h
index 653edd7e4b..37704f364f 100644
--- a/Rendering/Core/vtkActorCollection.h
+++ b/Rendering/Core/vtkActorCollection.h
@@ -79,7 +79,7 @@ public:
 
 protected:
   vtkActorCollection() {}
-  ~vtkActorCollection() {}
+  ~vtkActorCollection() VTK_OVERRIDE {}
 
 
 private:
diff --git a/Rendering/Core/vtkAreaPicker.h b/Rendering/Core/vtkAreaPicker.h
index 908be21bef..e5a1ad7c60 100644
--- a/Rendering/Core/vtkAreaPicker.h
+++ b/Rendering/Core/vtkAreaPicker.h
@@ -61,7 +61,7 @@ class VTKRENDERINGCORE_EXPORT vtkAreaPicker : public vtkAbstractPropPicker
 public:
   static vtkAreaPicker *New();
   vtkTypeMacro(vtkAreaPicker, vtkAbstractPropPicker);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set the default screen rectangle to pick in.
@@ -90,7 +90,7 @@ public:
    * This makes a thin frustum around the selected pixel.
    * Note: this ignores Z in order to pick everying in a volume from z=0 to z=1.
    */
-  virtual int Pick(double x0, double y0, double vtkNotUsed(z0), vtkRenderer *renderer = NULL)
+  int Pick(double x0, double y0, double vtkNotUsed(z0), vtkRenderer *renderer = NULL) VTK_OVERRIDE
     { return this->AreaPick(x0, y0, x0+1.0, y0+1.0, renderer); }
 
   //@{
@@ -133,9 +133,9 @@ public:
 
 protected:
   vtkAreaPicker();
-  ~vtkAreaPicker();
+  ~vtkAreaPicker() VTK_OVERRIDE;
 
-  virtual void Initialize();
+  void Initialize() VTK_OVERRIDE;
   void DefineFrustum(double x0, double y0, double x1, double y1, vtkRenderer *);
   virtual int PickProps(vtkRenderer *renderer);
   int TypeDecipher(vtkProp *, vtkAbstractMapper3D **);
diff --git a/Rendering/Core/vtkAssembly.h b/Rendering/Core/vtkAssembly.h
index 30d3ba7bf3..f0c49fa226 100644
--- a/Rendering/Core/vtkAssembly.h
+++ b/Rendering/Core/vtkAssembly.h
@@ -110,14 +110,14 @@ public:
    * its parts.
    */
   int RenderOpaqueGeometry(vtkViewport *ren) VTK_OVERRIDE;
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *ren) VTK_OVERRIDE;
-  virtual int RenderVolumetricGeometry(vtkViewport *ren) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *ren) VTK_OVERRIDE;
+  int RenderVolumetricGeometry(vtkViewport *ren) VTK_OVERRIDE;
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
@@ -172,7 +172,7 @@ public:
 
 protected:
   vtkAssembly();
-  ~vtkAssembly();
+  ~vtkAssembly() VTK_OVERRIDE;
 
   // Keep a list of direct descendants of the assembly hierarchy
   vtkProp3DCollection *Parts;
diff --git a/Rendering/Core/vtkAssemblyNode.h b/Rendering/Core/vtkAssemblyNode.h
index e6608f35d1..1875ba7e55 100644
--- a/Rendering/Core/vtkAssemblyNode.h
+++ b/Rendering/Core/vtkAssemblyNode.h
@@ -61,7 +61,7 @@ public:
   static vtkAssemblyNode *New();
 
   vtkTypeMacro(vtkAssemblyNode, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -87,11 +87,11 @@ public:
    * Override the standard GetMTime() to check for the modified times
    * of the prop and matrix.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkAssemblyNode();
-  ~vtkAssemblyNode();
+  ~vtkAssemblyNode() VTK_OVERRIDE;
 
 private:
   vtkProp *ViewProp; //reference to vtkProp
diff --git a/Rendering/Core/vtkAssemblyPath.h b/Rendering/Core/vtkAssemblyPath.h
index 364b902179..1220054e28 100644
--- a/Rendering/Core/vtkAssemblyPath.h
+++ b/Rendering/Core/vtkAssemblyPath.h
@@ -42,7 +42,7 @@ class VTKRENDERINGCORE_EXPORT vtkAssemblyPath : public vtkCollection
 {
 public:
   vtkTypeMacro(vtkAssemblyPath, vtkCollection);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate empty path with identify matrix.
@@ -96,7 +96,7 @@ public:
    * Override the standard GetMTime() to check for the modified times
    * of the nodes in this path.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Reentrant safe way to get an object in a collection. Just pass the
@@ -107,7 +107,7 @@ public:
 
 protected:
   vtkAssemblyPath();
-  ~vtkAssemblyPath();
+  ~vtkAssemblyPath() VTK_OVERRIDE;
 
   void AddNode(vtkAssemblyNode *n); //Internal method adds assembly node
   vtkTransform *Transform; //Used to perform matrix concatentation
diff --git a/Rendering/Core/vtkAssemblyPaths.h b/Rendering/Core/vtkAssemblyPaths.h
index f2b89323ce..bdd763a7e9 100644
--- a/Rendering/Core/vtkAssemblyPaths.h
+++ b/Rendering/Core/vtkAssemblyPaths.h
@@ -65,7 +65,7 @@ public:
    * Override the standard GetMTime() to check for the modified times
    * of the paths.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Reentrant safe way to get an object in a collection. Just pass the
@@ -76,7 +76,7 @@ public:
 
 protected:
   vtkAssemblyPaths() {}
-  ~vtkAssemblyPaths() {}
+  ~vtkAssemblyPaths() VTK_OVERRIDE {}
 
 private:
   // hide the standard AddItem from the user and the compiler.
diff --git a/Rendering/Core/vtkBackgroundColorMonitor.h b/Rendering/Core/vtkBackgroundColorMonitor.h
index 2e19a6785b..de75be7d90 100644
--- a/Rendering/Core/vtkBackgroundColorMonitor.h
+++ b/Rendering/Core/vtkBackgroundColorMonitor.h
@@ -42,7 +42,7 @@ class VTKRENDERINGCORE_EXPORT vtkBackgroundColorMonitor : public vtkObject
 public:
   static vtkBackgroundColorMonitor* New();
   vtkTypeMacro(vtkBackgroundColorMonitor, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Fetches the current background color state and
@@ -61,7 +61,7 @@ public:
 
 protected:
   vtkBackgroundColorMonitor();
-  ~vtkBackgroundColorMonitor(){}
+  ~vtkBackgroundColorMonitor() VTK_OVERRIDE{}
 
 private:
   unsigned int UpTime;
diff --git a/Rendering/Core/vtkBillboardTextActor3D.h b/Rendering/Core/vtkBillboardTextActor3D.h
index d371eb17ed..6f3a73a1cf 100644
--- a/Rendering/Core/vtkBillboardTextActor3D.h
+++ b/Rendering/Core/vtkBillboardTextActor3D.h
@@ -107,7 +107,7 @@ public:
 
 protected:
   vtkBillboardTextActor3D();
-  ~vtkBillboardTextActor3D();
+  ~vtkBillboardTextActor3D() VTK_OVERRIDE;
 
   bool InputIsValid();
 
diff --git a/Rendering/Core/vtkCamera.h b/Rendering/Core/vtkCamera.h
index b0391ff5b2..645d589a41 100644
--- a/Rendering/Core/vtkCamera.h
+++ b/Rendering/Core/vtkCamera.h
@@ -45,7 +45,7 @@ class VTKRENDERINGCORE_EXPORT vtkCamera : public vtkObject
 {
 public:
   vtkTypeMacro(vtkCamera, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct camera instance with its focal point at the origin,
@@ -683,7 +683,7 @@ public:
 
 protected:
   vtkCamera();
-  ~vtkCamera();
+  ~vtkCamera() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Rendering/Core/vtkCameraActor.h b/Rendering/Core/vtkCameraActor.h
index e777265ae5..11f231d89a 100644
--- a/Rendering/Core/vtkCameraActor.h
+++ b/Rendering/Core/vtkCameraActor.h
@@ -40,7 +40,7 @@ class VTKRENDERINGCORE_EXPORT vtkCameraActor : public vtkProp3D
 public:
   static vtkCameraActor *New();
   vtkTypeMacro(vtkCameraActor, vtkProp3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -62,29 +62,29 @@ public:
   /**
    * Support the standard render methods.
    */
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
 
   /**
    * Does this prop have some translucent polygonal geometry? No.
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Get the bounds for this Actor as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
    */
-  double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
 
   /**
    * Get the actors mtime plus consider its properties and texture if set.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Get property of the internal actor.
@@ -98,7 +98,7 @@ public:
 
 protected:
   vtkCameraActor();
-  ~vtkCameraActor();
+  ~vtkCameraActor() VTK_OVERRIDE;
 
   void UpdateViewProps();
 
diff --git a/Rendering/Core/vtkCameraInterpolator.h b/Rendering/Core/vtkCameraInterpolator.h
index e2e14f03ec..8eafa7b765 100644
--- a/Rendering/Core/vtkCameraInterpolator.h
+++ b/Rendering/Core/vtkCameraInterpolator.h
@@ -62,7 +62,7 @@ class VTKRENDERINGCORE_EXPORT vtkCameraInterpolator : public vtkObject
 {
 public:
   vtkTypeMacro(vtkCameraInterpolator, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate the class.
@@ -209,11 +209,11 @@ public:
    * Override GetMTime() because we depend on the interpolators which may be
    * modified outside of this class.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkCameraInterpolator();
-  virtual ~vtkCameraInterpolator();
+  ~vtkCameraInterpolator() VTK_OVERRIDE;
 
   // Control the interpolation type
   int InterpolationType;
diff --git a/Rendering/Core/vtkCellCenterDepthSort.h b/Rendering/Core/vtkCellCenterDepthSort.h
index 5d50565282..e099d7fea1 100644
--- a/Rendering/Core/vtkCellCenterDepthSort.h
+++ b/Rendering/Core/vtkCellCenterDepthSort.h
@@ -50,15 +50,15 @@ class VTKRENDERINGCORE_EXPORT vtkCellCenterDepthSort : public vtkVisibilitySort
 {
 public:
   vtkTypeMacro(vtkCellCenterDepthSort, vtkVisibilitySort);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
   static vtkCellCenterDepthSort *New();
 
-  virtual void InitTraversal();
-  virtual vtkIdTypeArray *GetNextCells();
+  void InitTraversal() VTK_OVERRIDE;
+  vtkIdTypeArray *GetNextCells() VTK_OVERRIDE;
 
 protected:
   vtkCellCenterDepthSort();
-  virtual ~vtkCellCenterDepthSort();
+  ~vtkCellCenterDepthSort() VTK_OVERRIDE;
 
   vtkIdTypeArray *SortedCells;
   vtkIdTypeArray *SortedCellPartition;
diff --git a/Rendering/Core/vtkCellPicker.h b/Rendering/Core/vtkCellPicker.h
index 368c2d7485..5808bb30d3 100644
--- a/Rendering/Core/vtkCellPicker.h
+++ b/Rendering/Core/vtkCellPicker.h
@@ -65,7 +65,7 @@ class VTKRENDERINGCORE_EXPORT vtkCellPicker : public vtkPicker
 public:
   static vtkCellPicker *New();
   vtkTypeMacro(vtkCellPicker, vtkPicker);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform pick operation with selection point provided. Normally the
@@ -73,8 +73,8 @@ public:
    * the third value is z=0. The return value will be non-zero if
    * something was successfully picked.
    */
-  virtual int Pick(double selectionX, double selectionY, double selectionZ,
-                   vtkRenderer *renderer);
+  int Pick(double selectionX, double selectionY, double selectionZ,
+                   vtkRenderer *renderer) VTK_OVERRIDE;
 
   /**
    * Add a locator for one of the data sets that will be included in the
@@ -244,15 +244,15 @@ public:
 
 protected:
   vtkCellPicker();
-  ~vtkCellPicker();
+  ~vtkCellPicker() VTK_OVERRIDE;
 
-  void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   virtual void ResetPickInfo();
 
-  virtual double IntersectWithLine(double p1[3], double p2[3], double tol,
+  double IntersectWithLine(double p1[3], double p2[3], double tol,
                                   vtkAssemblyPath *path, vtkProp3D *p,
-                                  vtkAbstractMapper3D *m);
+                                  vtkAbstractMapper3D *m) VTK_OVERRIDE;
 
   virtual double IntersectActorWithLine(const double p1[3], const double p2[3],
                                         double t1, double t2, double tol,
diff --git a/Rendering/Core/vtkColorTransferFunction.h b/Rendering/Core/vtkColorTransferFunction.h
index 59f5bb95df..1285c68e5a 100644
--- a/Rendering/Core/vtkColorTransferFunction.h
+++ b/Rendering/Core/vtkColorTransferFunction.h
@@ -54,13 +54,13 @@ class VTKRENDERINGCORE_EXPORT vtkColorTransferFunction : public vtkScalarsToColo
 public:
   static vtkColorTransferFunction *New();
   vtkTypeMacro(vtkColorTransferFunction,vtkScalarsToColors);
-  void DeepCopy( vtkScalarsToColors *f );
+  void DeepCopy( vtkScalarsToColors *f ) VTK_OVERRIDE;
   void ShallowCopy( vtkColorTransferFunction *f );
 
   /**
    * Print method for vtkColorTransferFunction
    */
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * How many nodes define this function?
@@ -104,7 +104,7 @@ public:
    */
   double *GetColor(double x) {
     return vtkScalarsToColors::GetColor(x); }
-  void GetColor(double x, double rgb[3]);
+  void GetColor(double x, double rgb[3]) VTK_OVERRIDE;
 
   //@{
   /**
@@ -128,7 +128,7 @@ public:
   /**
    * Map one value through the lookup table.
    */
-  virtual unsigned char *MapValue(double v);
+  unsigned char *MapValue(double v) VTK_OVERRIDE;
 
   //@{
   /**
@@ -279,9 +279,9 @@ public:
   /**
    * Map a set of scalars through the lookup table.
    */
-  virtual void MapScalarsThroughTable2(void *input, unsigned char *output,
+  void MapScalarsThroughTable2(void *input, unsigned char *output,
                                        int inputDataType, int numberOfValues,
-                                       int inputIncrement, int outputIncrement);
+                                       int inputIncrement, int outputIncrement) VTK_OVERRIDE;
 
   //@{
   /**
@@ -296,7 +296,7 @@ public:
   /**
    * Get the number of available colors for mapping to.
    */
-  virtual vtkIdType GetNumberOfAvailableColors();
+  vtkIdType GetNumberOfAvailableColors() VTK_OVERRIDE;
 
   /**
    * Return a color given an integer index.
@@ -304,7 +304,7 @@ public:
    * This is used to assign colors to annotations (given an offset into the list of annotations).
    * If there are no control points or \a idx < 0, then NanColor is returned.
    */
-  virtual void GetIndexedColor(vtkIdType idx, double rgba[4]);
+  void GetIndexedColor(vtkIdType idx, double rgba[4]) VTK_OVERRIDE;
 
   /**
    * Estimates the minimum size of a table such that it would correctly sample this function.
@@ -314,7 +314,7 @@ public:
 
 protected:
   vtkColorTransferFunction();
-  ~vtkColorTransferFunction();
+  ~vtkColorTransferFunction() VTK_OVERRIDE;
 
   vtkColorTransferFunctionInternals *Internal;
 
@@ -399,7 +399,7 @@ protected:
    * Set the range of scalars being mapped. This method has no functionality
    * in this subclass of vtkScalarsToColors.
    */
-  virtual void SetRange(double, double) {}
+  void SetRange(double, double) VTK_OVERRIDE {}
   void SetRange(double rng[2]) {this->SetRange(rng[0],rng[1]);};
 
   /**
diff --git a/Rendering/Core/vtkCompositeDataDisplayAttributes.h b/Rendering/Core/vtkCompositeDataDisplayAttributes.h
index 11eb28e2d2..f4557de2dd 100644
--- a/Rendering/Core/vtkCompositeDataDisplayAttributes.h
+++ b/Rendering/Core/vtkCompositeDataDisplayAttributes.h
@@ -38,7 +38,7 @@ class VTKRENDERINGCORE_EXPORT vtkCompositeDataDisplayAttributes : public vtkObje
 public:
   static vtkCompositeDataDisplayAttributes* New();
   vtkTypeMacro(vtkCompositeDataDisplayAttributes, vtkObject)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Returns true if any block has any block visibility is set.
@@ -138,7 +138,7 @@ public:
 
 protected:
   vtkCompositeDataDisplayAttributes();
-  ~vtkCompositeDataDisplayAttributes();
+  ~vtkCompositeDataDisplayAttributes() VTK_OVERRIDE;
 
 private:
   vtkCompositeDataDisplayAttributes(const vtkCompositeDataDisplayAttributes&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Core/vtkCompositePolyDataMapper.h b/Rendering/Core/vtkCompositePolyDataMapper.h
index e44fa1c26e..99a8a39987 100644
--- a/Rendering/Core/vtkCompositePolyDataMapper.h
+++ b/Rendering/Core/vtkCompositePolyDataMapper.h
@@ -49,36 +49,36 @@ public:
    * Standard method for rendering a mapper. This method will be
    * called by the actor.
    */
-  void Render(vtkRenderer *ren, vtkActor *a);
+  void Render(vtkRenderer *ren, vtkActor *a) VTK_OVERRIDE;
 
   //@{
   /**
    * Standard vtkProp method to get 3D bounds of a 3D prop
    */
-  double *GetBounds();
-  void GetBounds(double bounds[6]) { this->Superclass::GetBounds( bounds ); };
+  double *GetBounds() VTK_OVERRIDE;
+  void GetBounds(double bounds[6]) VTK_OVERRIDE { this->Superclass::GetBounds( bounds ); };
   //@}
 
   /**
    * Release the underlying resources associated with this mapper
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
 protected:
   vtkCompositePolyDataMapper();
-  ~vtkCompositePolyDataMapper();
+  ~vtkCompositePolyDataMapper() VTK_OVERRIDE;
 
   /**
    * We need to override this method because the standard streaming
    * demand driven pipeline is not what we want - we are expecting
    * hierarchical data as input
    */
-  vtkExecutive* CreateDefaultExecutive();
+  vtkExecutive* CreateDefaultExecutive() VTK_OVERRIDE;
 
   /**
    * Need to define the type of data handled by this mapper.
    */
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   /**
    * This is the build method for creating the internal polydata
diff --git a/Rendering/Core/vtkCoordinate.h b/Rendering/Core/vtkCoordinate.h
index 1782fc9889..17ec2a1b24 100644
--- a/Rendering/Core/vtkCoordinate.h
+++ b/Rendering/Core/vtkCoordinate.h
@@ -171,7 +171,7 @@ public:
 
 protected:
   vtkCoordinate();
-  ~vtkCoordinate();
+  ~vtkCoordinate() VTK_OVERRIDE;
 
   double Value[3];
   int CoordinateSystem;
diff --git a/Rendering/Core/vtkCuller.h b/Rendering/Core/vtkCuller.h
index 4454f33e9e..f6e2267087 100644
--- a/Rendering/Core/vtkCuller.h
+++ b/Rendering/Core/vtkCuller.h
@@ -48,7 +48,7 @@ public:
 
 protected:
   vtkCuller();
-  ~vtkCuller();
+  ~vtkCuller() VTK_OVERRIDE;
 
 private:
   vtkCuller(const vtkCuller&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Core/vtkCullerCollection.h b/Rendering/Core/vtkCullerCollection.h
index d59783d958..6639a353ef 100644
--- a/Rendering/Core/vtkCullerCollection.h
+++ b/Rendering/Core/vtkCullerCollection.h
@@ -70,7 +70,7 @@ class VTKRENDERINGCORE_EXPORT vtkCullerCollection : public vtkCollection
 
 protected:
   vtkCullerCollection() {}
-  ~vtkCullerCollection() {}
+  ~vtkCullerCollection() VTK_OVERRIDE {}
 
 private:
   // hide the standard AddItem from the user and the compiler.
diff --git a/Rendering/Core/vtkDataSetMapper.h b/Rendering/Core/vtkDataSetMapper.h
index eab2f50dc3..c7de001bb1 100644
--- a/Rendering/Core/vtkDataSetMapper.h
+++ b/Rendering/Core/vtkDataSetMapper.h
@@ -38,8 +38,8 @@ class VTKRENDERINGCORE_EXPORT vtkDataSetMapper : public vtkMapper
 public:
   static vtkDataSetMapper *New();
   vtkTypeMacro(vtkDataSetMapper, vtkMapper);
-  void PrintSelf(ostream& os, vtkIndent indent);
-  void Render(vtkRenderer *ren, vtkActor *act);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
+  void Render(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   //@{
   /**
@@ -53,12 +53,12 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Get the mtime also considering the lookup table.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -70,7 +70,7 @@ public:
 
 protected:
   vtkDataSetMapper();
-  ~vtkDataSetMapper();
+  ~vtkDataSetMapper() VTK_OVERRIDE;
 
   vtkDataSetSurfaceFilter *GeometryExtractor;
   vtkPolyDataMapper *PolyDataMapper;
@@ -78,7 +78,7 @@ protected:
   void ReportReferences(vtkGarbageCollector*) VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkDataSetMapper(const vtkDataSetMapper&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Core/vtkDiscretizableColorTransferFunction.h b/Rendering/Core/vtkDiscretizableColorTransferFunction.h
index ca9acefcc7..c3d5f33026 100644
--- a/Rendering/Core/vtkDiscretizableColorTransferFunction.h
+++ b/Rendering/Core/vtkDiscretizableColorTransferFunction.h
@@ -55,12 +55,12 @@ class VTKRENDERINGCORE_EXPORT vtkDiscretizableColorTransferFunction : public vtk
 public:
   static vtkDiscretizableColorTransferFunction* New();
   vtkTypeMacro(vtkDiscretizableColorTransferFunction, vtkColorTransferFunction);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Returns the negation of \a EnableOpacityMapping.
    */
-  int IsOpaque();
+  int IsOpaque() VTK_OVERRIDE;
 
   /**
    * Add colors to use when \a IndexedLookup is true.
@@ -85,7 +85,7 @@ public:
    * Note that implementations *must* set the opacity (alpha) component of the color, even if they
    * do not provide opacity values in their colormaps. In that case, alpha = 1 should be used.
    */
-  virtual void GetIndexedColor(vtkIdType i, double rgba[4]);
+  void GetIndexedColor(vtkIdType i, double rgba[4]) VTK_OVERRIDE;
 
   //@{
   /**
@@ -103,7 +103,7 @@ public:
    * otherwise the discretized version will be inconsistent with the
    * non-discretized one.
    */
-  virtual void Build();
+  void Build() VTK_OVERRIDE;
 
   //@{
   /**
@@ -140,18 +140,18 @@ public:
    * Map one value through the lookup table and return a color defined
    * as a RGBA unsigned char tuple (4 bytes).
    */
-  virtual unsigned char *MapValue(double v);
+  unsigned char *MapValue(double v) VTK_OVERRIDE;
 
   /**
    * Map one value through the lookup table and return the color as
    * an RGB array of doubles between 0 and 1.
    */
-  virtual void GetColor(double v, double rgb[3]);
+  void GetColor(double v, double rgb[3]) VTK_OVERRIDE;
 
   /**
    * Return the opacity of a given scalar.
    */
-  virtual double GetOpacity(double v);
+  double GetOpacity(double v) VTK_OVERRIDE;
 
   //@{
   /**
@@ -169,10 +169,10 @@ public:
    * the scalar opacity function is not used regardless of
    * \a EnableOpacityMapping.
    */
-  virtual vtkUnsignedCharArray *MapScalars(vtkDataArray *scalars, int colorMode,
-                                           int component);
-  virtual vtkUnsignedCharArray *MapScalars(vtkAbstractArray *scalars, int colorMode,
-                                           int component);
+  vtkUnsignedCharArray *MapScalars(vtkDataArray *scalars, int colorMode,
+                                           int component) VTK_OVERRIDE;
+  vtkUnsignedCharArray *MapScalars(vtkAbstractArray *scalars, int colorMode,
+                                           int component) VTK_OVERRIDE;
   //@}
 
   /**
@@ -190,7 +190,7 @@ public:
    * blend its opacity.
    * Overridden to pass the alpha to the internal vtkLookupTable.
    */
-  virtual void SetAlpha(double alpha);
+  void SetAlpha(double alpha) VTK_OVERRIDE;
 
   //@{
   /**
@@ -198,8 +198,8 @@ public:
    * RGB 3-tuple color of doubles in the range [0, 1].
    * Overridden to pass the NanColor to the internal vtkLookupTable.
    */
-  virtual void SetNanColor(double r, double g, double b);
-  virtual void SetNanColor(double rgb[3]) {
+  void SetNanColor(double r, double g, double b) VTK_OVERRIDE;
+  void SetNanColor(double rgb[3]) VTK_OVERRIDE {
     this->SetNanColor(rgb[0], rgb[1], rgb[2]);
   }
   //@}
@@ -208,13 +208,13 @@ public:
    * This should return 1 if the subclass is using log scale for
    * mapping scalars to colors.
    */
-  virtual int UsingLogScale()
+  int UsingLogScale() VTK_OVERRIDE
     { return this->UseLogScale; }
 
   /**
    * Get the number of available colors for mapping to.
    */
-  virtual vtkIdType GetNumberOfAvailableColors();
+  vtkIdType GetNumberOfAvailableColors() VTK_OVERRIDE;
 
   //@{
   /**
@@ -236,11 +236,11 @@ public:
   /**
    * Overridden to include the ScalarOpacityFunction's MTime.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkDiscretizableColorTransferFunction();
-  ~vtkDiscretizableColorTransferFunction();
+  ~vtkDiscretizableColorTransferFunction() VTK_OVERRIDE;
 
   /**
    * Flag indicating whether transfer function is discretized.
diff --git a/Rendering/Core/vtkDistanceToCamera.h b/Rendering/Core/vtkDistanceToCamera.h
index fbfd202e68..94d418c799 100644
--- a/Rendering/Core/vtkDistanceToCamera.h
+++ b/Rendering/Core/vtkDistanceToCamera.h
@@ -42,7 +42,7 @@ class VTKRENDERINGCORE_EXPORT vtkDistanceToCamera : public vtkPolyDataAlgorithm
 public:
   static vtkDistanceToCamera *New();
   vtkTypeMacro(vtkDistanceToCamera,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -73,16 +73,16 @@ public:
   /**
    * The modified time of this filter.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkDistanceToCamera();
-  ~vtkDistanceToCamera();
+  ~vtkDistanceToCamera() VTK_OVERRIDE;
 
   int RequestData(
     vtkInformation *,
     vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
 
   vtkRenderer* Renderer;
   double ScreenSize;
diff --git a/Rendering/Core/vtkFXAAOptions.h b/Rendering/Core/vtkFXAAOptions.h
index 76175c73f6..ca1c59189d 100644
--- a/Rendering/Core/vtkFXAAOptions.h
+++ b/Rendering/Core/vtkFXAAOptions.h
@@ -48,7 +48,7 @@ public:
 
   static vtkFXAAOptions* New();
   vtkTypeMacro(vtkFXAAOptions, vtkObject)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -179,7 +179,7 @@ public:
 
 protected:
   vtkFXAAOptions();
-  ~vtkFXAAOptions();
+  ~vtkFXAAOptions() VTK_OVERRIDE;
 
   float RelativeContrastThreshold;
   float HardContrastThreshold;
diff --git a/Rendering/Core/vtkFollower.h b/Rendering/Core/vtkFollower.h
index db29e13771..ece3ffd077 100644
--- a/Rendering/Core/vtkFollower.h
+++ b/Rendering/Core/vtkFollower.h
@@ -41,7 +41,7 @@ class VTKRENDERINGCORE_EXPORT vtkFollower : public vtkActor
 {
  public:
   vtkTypeMacro(vtkFollower,vtkActor);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a follower with no camera set
@@ -63,35 +63,35 @@ class VTKRENDERINGCORE_EXPORT vtkFollower : public vtkActor
    * property, texture map and then mapper. If a property hasn't been
    * assigned, then the actor will create one automatically.
    */
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
   virtual void Render(vtkRenderer *ren);
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Release any graphics resources associated with this vtkProp3DFollower.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow*);
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
 
   /**
    * Generate the matrix based on ivars. This method overloads its superclasses
    * ComputeMatrix() method due to the special vtkFollower matrix operations.
    */
-  virtual void ComputeMatrix();
+  void ComputeMatrix() VTK_OVERRIDE;
 
   /**
    * Shallow copy of a follower. Overloads the virtual vtkProp method.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
 protected:
   vtkFollower();
-  ~vtkFollower();
+  ~vtkFollower() VTK_OVERRIDE;
 
   vtkCamera *Camera;
   vtkActor  *Device;
@@ -101,7 +101,7 @@ private:
   void operator=(const vtkFollower&) VTK_DELETE_FUNCTION;
 
   // hide the two parameter Render() method from the user and the compiler.
-  virtual void Render(vtkRenderer *, vtkMapper *) {}
+  void Render(vtkRenderer *, vtkMapper *) VTK_OVERRIDE {}
 
   //Internal matrices to avoid New/Delete for performance reasons
   vtkMatrix4x4 *InternalMatrix;
diff --git a/Rendering/Core/vtkFrameBufferObjectBase.h b/Rendering/Core/vtkFrameBufferObjectBase.h
index e85b438b9c..5a0bd1dd0c 100644
--- a/Rendering/Core/vtkFrameBufferObjectBase.h
+++ b/Rendering/Core/vtkFrameBufferObjectBase.h
@@ -33,7 +33,7 @@ class VTKRENDERINGCORE_EXPORT vtkFrameBufferObjectBase : public vtkObject
 {
  public:
   vtkTypeMacro(vtkFrameBufferObjectBase, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -46,7 +46,7 @@ class VTKRENDERINGCORE_EXPORT vtkFrameBufferObjectBase : public vtkObject
 
 protected:
   vtkFrameBufferObjectBase(); // no default constructor.
-  ~vtkFrameBufferObjectBase();
+  ~vtkFrameBufferObjectBase() VTK_OVERRIDE;
 
 private:
   vtkFrameBufferObjectBase(const vtkFrameBufferObjectBase &) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Core/vtkFrustumCoverageCuller.h b/Rendering/Core/vtkFrustumCoverageCuller.h
index f4934ece28..7e709554c9 100644
--- a/Rendering/Core/vtkFrustumCoverageCuller.h
+++ b/Rendering/Core/vtkFrustumCoverageCuller.h
@@ -50,7 +50,7 @@ class VTKRENDERINGCORE_EXPORT vtkFrustumCoverageCuller : public vtkCuller
 public:
   static vtkFrustumCoverageCuller *New();
   vtkTypeMacro(vtkFrustumCoverageCuller,vtkCuller);
-  void PrintSelf(ostream& os,vtkIndent indent);
+  void PrintSelf(ostream& os,vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -95,11 +95,11 @@ public:
    * the render process
    */
   double Cull( vtkRenderer *ren, vtkProp **propList,
-              int& listLength, int& initialized );
+              int& listLength, int& initialized ) VTK_OVERRIDE;
 
 protected:
   vtkFrustumCoverageCuller();
-  ~vtkFrustumCoverageCuller() {}
+  ~vtkFrustumCoverageCuller() VTK_OVERRIDE {}
 
   double       MinimumCoverage;
   double       MaximumCoverage;
diff --git a/Rendering/Core/vtkGPUInfo.h b/Rendering/Core/vtkGPUInfo.h
index f3ff703fe5..801e1e0394 100644
--- a/Rendering/Core/vtkGPUInfo.h
+++ b/Rendering/Core/vtkGPUInfo.h
@@ -34,7 +34,7 @@ class VTKRENDERINGCORE_EXPORT vtkGPUInfo : public vtkObject
 public:
   static vtkGPUInfo* New();
   vtkTypeMacro(vtkGPUInfo, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -70,7 +70,7 @@ public:
 
 protected:
   vtkGPUInfo();
-  ~vtkGPUInfo();
+  ~vtkGPUInfo() VTK_OVERRIDE;
 
   vtkTypeUInt64 DedicatedVideoMemory;
   vtkTypeUInt64 DedicatedSystemMemory;
diff --git a/Rendering/Core/vtkGPUInfoList.h b/Rendering/Core/vtkGPUInfoList.h
index d7882d06bb..9069a0590b 100644
--- a/Rendering/Core/vtkGPUInfoList.h
+++ b/Rendering/Core/vtkGPUInfoList.h
@@ -38,7 +38,7 @@ class VTKRENDERINGCORE_EXPORT vtkGPUInfoList : public vtkObject
 public:
   static vtkGPUInfoList *New();
   vtkTypeMacro(vtkGPUInfoList, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Build the list of vtkInfoGPU if not done yet.
@@ -73,7 +73,7 @@ protected:
    * Default constructor. Set Probed to false. Set Array to NULL.
    */
   vtkGPUInfoList();
-  virtual ~vtkGPUInfoList();
+  ~vtkGPUInfoList() VTK_OVERRIDE;
   //@}
 
   bool Probed;
diff --git a/Rendering/Core/vtkGenericRenderWindowInteractor.h b/Rendering/Core/vtkGenericRenderWindowInteractor.h
index 691ac52a2b..3c232d06f0 100644
--- a/Rendering/Core/vtkGenericRenderWindowInteractor.h
+++ b/Rendering/Core/vtkGenericRenderWindowInteractor.h
@@ -34,7 +34,7 @@ class VTKRENDERINGCORE_EXPORT vtkGenericRenderWindowInteractor : public vtkRende
 public:
   static vtkGenericRenderWindowInteractor *New();
   vtkTypeMacro(vtkGenericRenderWindowInteractor,vtkRenderWindowInteractor);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Fire TimerEvent. SetEventInformation should be called just prior
@@ -63,15 +63,15 @@ public:
 
 protected:
   vtkGenericRenderWindowInteractor();
-  ~vtkGenericRenderWindowInteractor();
+  ~vtkGenericRenderWindowInteractor() VTK_OVERRIDE;
 
   //@{
   /**
    * Generic internal timer methods. See the superclass for detailed
    * documentation.
    */
-  virtual int InternalCreateTimer(int timerId, int timerType, unsigned long duration);
-  virtual int InternalDestroyTimer(int platformTimerId);
+  int InternalCreateTimer(int timerId, int timerType, unsigned long duration) VTK_OVERRIDE;
+  int InternalDestroyTimer(int platformTimerId) VTK_OVERRIDE;
   //@}
 
   int TimerEventResetsTimer;
diff --git a/Rendering/Core/vtkGenericVertexAttributeMapping.h b/Rendering/Core/vtkGenericVertexAttributeMapping.h
index 1bbf5380a1..081190fe6f 100644
--- a/Rendering/Core/vtkGenericVertexAttributeMapping.h
+++ b/Rendering/Core/vtkGenericVertexAttributeMapping.h
@@ -36,7 +36,7 @@ class VTKRENDERINGCORE_EXPORT vtkGenericVertexAttributeMapping : public vtkObjec
 public:
   static vtkGenericVertexAttributeMapping* New();
   vtkTypeMacro(vtkGenericVertexAttributeMapping, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Select a data array from the point/cell data
@@ -98,7 +98,7 @@ public:
 
 protected:
   vtkGenericVertexAttributeMapping();
-  ~vtkGenericVertexAttributeMapping();
+  ~vtkGenericVertexAttributeMapping() VTK_OVERRIDE;
 
 private:
   vtkGenericVertexAttributeMapping(const vtkGenericVertexAttributeMapping&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Core/vtkGlyph3DMapper.h b/Rendering/Core/vtkGlyph3DMapper.h
index 3de9488e90..632a041e4e 100644
--- a/Rendering/Core/vtkGlyph3DMapper.h
+++ b/Rendering/Core/vtkGlyph3DMapper.h
@@ -38,7 +38,7 @@ class VTKRENDERINGCORE_EXPORT vtkGlyph3DMapper : public vtkMapper
 public:
   static vtkGlyph3DMapper* New();
   vtkTypeMacro(vtkGlyph3DMapper, vtkMapper);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum ArrayIndexes
   {
@@ -203,17 +203,17 @@ public:
   /**
    * Redefined to take into account the bounds of the scaled glyphs.
    */
-  virtual double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
 
   /**
    * Same as superclass. Appear again to stop warnings about hidden method.
    */
-  virtual void GetBounds(double bounds[6]);
+  void GetBounds(double bounds[6]) VTK_OVERRIDE;
 
   /**
    * All the work is done is derived classes.
    */
-  virtual void Render(vtkRenderer *ren, vtkActor *act);
+  void Render(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   //@{
   /**
@@ -380,18 +380,18 @@ public:
    * Used by vtkHardwareSelector to determine if the prop supports hardware
    * selection.
    */
-  virtual bool GetSupportsSelection()
+  bool GetSupportsSelection() VTK_OVERRIDE
     { return true; }
 
 protected:
   vtkGlyph3DMapper();
-  ~vtkGlyph3DMapper();
+  ~vtkGlyph3DMapper() VTK_OVERRIDE;
 
   virtual int RequestUpdateExtent(vtkInformation *request,
     vtkInformationVector **inInfo,
     vtkInformationVector *outInfo);
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   vtkPolyData *GetSource(int idx, vtkInformationVector *sourceInfo);
 
diff --git a/Rendering/Core/vtkGraphMapper.h b/Rendering/Core/vtkGraphMapper.h
index 299e68d29b..3655bded4a 100644
--- a/Rendering/Core/vtkGraphMapper.h
+++ b/Rendering/Core/vtkGraphMapper.h
@@ -58,8 +58,8 @@ class VTKRENDERINGCORE_EXPORT vtkGraphMapper : public vtkMapper
 public:
   static vtkGraphMapper *New();
   vtkTypeMacro(vtkGraphMapper, vtkMapper);
-  void PrintSelf(ostream& os, vtkIndent indent);
-  void Render(vtkRenderer *ren, vtkActor *act);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
+  void Render(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   //@{
   /**
@@ -232,12 +232,12 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Get the mtime also considering the lookup table.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -251,8 +251,8 @@ public:
    * Return bounding box (array of six doubles) of data expressed as
    * (xmin,xmax, ymin,ymax, zmin,zmax).
    */
-  virtual double *GetBounds();
-  virtual void GetBounds(double* bounds)
+  double *GetBounds() VTK_OVERRIDE;
+  void GetBounds(double* bounds) VTK_OVERRIDE
     { Superclass::GetBounds(bounds); }
 
   //@{
@@ -265,7 +265,7 @@ public:
 
 protected:
   vtkGraphMapper();
-  ~vtkGraphMapper();
+  ~vtkGraphMapper() VTK_OVERRIDE;
 
   //@{
   /**
@@ -314,7 +314,7 @@ protected:
   void ReportReferences(vtkGarbageCollector*) VTK_OVERRIDE;
 
   // see algorithm for more info
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkGraphMapper(const vtkGraphMapper&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Core/vtkGraphToGlyphs.h b/Rendering/Core/vtkGraphToGlyphs.h
index a71057cf95..82344e7218 100644
--- a/Rendering/Core/vtkGraphToGlyphs.h
+++ b/Rendering/Core/vtkGraphToGlyphs.h
@@ -49,7 +49,7 @@ class VTKRENDERINGCORE_EXPORT vtkGraphToGlyphs : public vtkPolyDataAlgorithm
 public:
   static vtkGraphToGlyphs *New();
   vtkTypeMacro(vtkGraphToGlyphs, vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum
   {
@@ -114,21 +114,21 @@ public:
   /**
    * The modified time of this filter.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkGraphToGlyphs();
-  ~vtkGraphToGlyphs();
+  ~vtkGraphToGlyphs() VTK_OVERRIDE;
 
   /**
    * Convert the vtkGraph into vtkPolyData.
    */
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Set the input type of the algorithm to vtkGraph.
    */
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   vtkSmartPointer<vtkGraphToPoints> GraphToPoints;
   vtkSmartPointer<vtkGlyphSource2D> GlyphSource;
diff --git a/Rendering/Core/vtkHardwareSelector.h b/Rendering/Core/vtkHardwareSelector.h
index 6c2fbcf1b1..df14493653 100644
--- a/Rendering/Core/vtkHardwareSelector.h
+++ b/Rendering/Core/vtkHardwareSelector.h
@@ -99,7 +99,7 @@ public:
 public:
   static vtkHardwareSelector* New();
   vtkTypeMacro(vtkHardwareSelector, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -286,7 +286,7 @@ public:
 
 protected:
   vtkHardwareSelector();
-  ~vtkHardwareSelector();
+  ~vtkHardwareSelector() VTK_OVERRIDE;
 
   // Used to notify subclasses when a capture pass is occuring.
   virtual void PreCapturePass(int pass) { (void)pass; }
diff --git a/Rendering/Core/vtkHierarchicalPolyDataMapper.h b/Rendering/Core/vtkHierarchicalPolyDataMapper.h
index 1531d5c331..2f6c505297 100644
--- a/Rendering/Core/vtkHierarchicalPolyDataMapper.h
+++ b/Rendering/Core/vtkHierarchicalPolyDataMapper.h
@@ -38,7 +38,7 @@ public:
 
 protected:
   vtkHierarchicalPolyDataMapper();
-  ~vtkHierarchicalPolyDataMapper();
+  ~vtkHierarchicalPolyDataMapper() VTK_OVERRIDE;
 
 private:
   vtkHierarchicalPolyDataMapper(const vtkHierarchicalPolyDataMapper&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Core/vtkImageActor.h b/Rendering/Core/vtkImageActor.h
index 1abeb6e4d1..2958702dd3 100644
--- a/Rendering/Core/vtkImageActor.h
+++ b/Rendering/Core/vtkImageActor.h
@@ -44,7 +44,7 @@ class VTKRENDERINGCORE_EXPORT vtkImageActor : public vtkImageSlice
 {
 public:
   vtkTypeMacro(vtkImageActor,vtkImageSlice);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate the image actor.
@@ -101,7 +101,7 @@ public:
    * In either case the boudns is expressed as a 6-vector
    * (xmin,xmax, ymin,ymax, zmin,zmax).
    */
-  double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
   void GetBounds(double bounds[6]) { this->Superclass::GetBounds(bounds); };
   //@}
 
@@ -152,7 +152,7 @@ public:
    * ForceOpaqueOn(), which forces this method to return false, or
    * ForceTranslucentOn(), which forces this method to return true.
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   //@{
   /**
@@ -166,7 +166,7 @@ public:
 
 protected:
   vtkImageActor();
-  ~vtkImageActor();
+  ~vtkImageActor() VTK_OVERRIDE;
 
   /**
    * Guess the orientation from the extent.  The orientation will be Z
diff --git a/Rendering/Core/vtkImageMapper.h b/Rendering/Core/vtkImageMapper.h
index 885f334222..834a8aeef1 100644
--- a/Rendering/Core/vtkImageMapper.h
+++ b/Rendering/Core/vtkImageMapper.h
@@ -43,12 +43,12 @@ class VTKRENDERINGCORE_EXPORT vtkImageMapper : public vtkMapper2D
 public:
   vtkTypeMacro(vtkImageMapper, vtkMapper2D);
   static vtkImageMapper *New();
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Override Modifiedtime as we have added a lookuptable
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -147,7 +147,7 @@ public:
 
 protected:
   vtkImageMapper();
-  ~vtkImageMapper();
+  ~vtkImageMapper() VTK_OVERRIDE;
 
   double ColorWindow;
   double ColorLevel;
@@ -158,7 +158,7 @@ protected:
   int CustomDisplayExtents[4];
   int RenderToRectangle;
 
-  virtual int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 private:
   vtkImageMapper(const vtkImageMapper&) VTK_DELETE_FUNCTION;
   void operator=(const vtkImageMapper&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Core/vtkImageMapper3D.h b/Rendering/Core/vtkImageMapper3D.h
index 15eb103d84..ec6e3d4495 100644
--- a/Rendering/Core/vtkImageMapper3D.h
+++ b/Rendering/Core/vtkImageMapper3D.h
@@ -48,7 +48,7 @@ class VTKRENDERINGCORE_EXPORT vtkImageMapper3D : public vtkAbstractMapper3D
 {
 public:
   vtkTypeMacro(vtkImageMapper3D, vtkAbstractMapper3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * This should only be called by the renderer.
@@ -60,7 +60,7 @@ public:
    * this mapper.  The parameter window is used to determine
    * which graphic resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *) = 0;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE = 0;
 
   //@{
   /**
@@ -162,22 +162,22 @@ public:
 
 protected:
   vtkImageMapper3D();
-  ~vtkImageMapper3D();
+  ~vtkImageMapper3D() VTK_OVERRIDE;
 
   //@{
   /**
    * See algorithm for more info
    */
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
   //@}
 
   /**
    * Handle requests from the pipeline executive.
    */
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inInfo,
-                             vtkInformationVector* outInfo);
+                             vtkInformationVector* outInfo) VTK_OVERRIDE;
 
   /**
    * Checkerboard the alpha component of an RGBA image.  The origin and
diff --git a/Rendering/Core/vtkImageProperty.h b/Rendering/Core/vtkImageProperty.h
index 6a21eb5321..95740e46fe 100644
--- a/Rendering/Core/vtkImageProperty.h
+++ b/Rendering/Core/vtkImageProperty.h
@@ -37,7 +37,7 @@ class VTKRENDERINGCORE_EXPORT vtkImageProperty : public vtkObject
 {
 public:
   vtkTypeMacro(vtkImageProperty,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct a property with no lookup table.
@@ -189,11 +189,11 @@ public:
    * Get the MTime for this property.  If the lookup table is set,
    * the mtime will include the mtime of the lookup table.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkImageProperty();
-  ~vtkImageProperty();
+  ~vtkImageProperty() VTK_OVERRIDE;
 
   vtkScalarsToColors *LookupTable;
   double ColorWindow;
diff --git a/Rendering/Core/vtkImageSlice.h b/Rendering/Core/vtkImageSlice.h
index fcc7795226..d78968fe48 100644
--- a/Rendering/Core/vtkImageSlice.h
+++ b/Rendering/Core/vtkImageSlice.h
@@ -47,7 +47,7 @@ class VTKRENDERINGCORE_EXPORT vtkImageSlice : public vtkProp3D
 {
 public:
   vtkTypeMacro(vtkImageSlice,vtkProp3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates an Image with the following defaults: origin(0,0,0)
@@ -82,7 +82,7 @@ public:
    * Get the bounds - either all six at once
    * (xmin, xmax, ymin, ymax, zmin, zmax) or one at a time.
    */
-  double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
   void GetBounds(double bounds[6]) { this->vtkProp3D::GetBounds( bounds ); };
   double GetMinXBound();
   double GetMaxXBound();
@@ -95,7 +95,7 @@ public:
   /**
    * Return the MTime also considering the property etc.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Return the mtime of anything that would cause the rendered image to
@@ -103,7 +103,7 @@ public:
    * prop plus anything else it depends on such as properties, mappers,
    * etc.
    */
-  vtkMTimeType GetRedrawMTime();
+  vtkMTimeType GetRedrawMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -117,7 +117,7 @@ public:
   /**
    * Shallow copy of this vtkImageSlice. Overloads the virtual vtkProp method.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
   /**
    * For some exporters and other other operations we must be
@@ -130,16 +130,16 @@ public:
   /**
    * Support the standard render methods.
    */
-  virtual int RenderOverlay(vtkViewport *viewport);
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
   /**
    * Internal method, should only be used by rendering.
    * This method will always return 0 unless ForceTranslucent is On.
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * This causes the image and its mapper to be rendered. Note that a side
@@ -150,7 +150,7 @@ public:
   /**
    * Release any resources held by this prop.
    */
-  void ReleaseGraphicsResources(vtkWindow *win);
+  void ReleaseGraphicsResources(vtkWindow *win) VTK_OVERRIDE;
 
   /**
    * For stacked image rendering, set the pass.  The first pass
@@ -162,7 +162,7 @@ public:
 
 protected:
   vtkImageSlice();
-  ~vtkImageSlice();
+  ~vtkImageSlice() VTK_OVERRIDE;
 
   vtkImageMapper3D *Mapper;
   vtkImageProperty *Property;
diff --git a/Rendering/Core/vtkImageSliceMapper.h b/Rendering/Core/vtkImageSliceMapper.h
index c27882cabc..4916ae5b4a 100644
--- a/Rendering/Core/vtkImageSliceMapper.h
+++ b/Rendering/Core/vtkImageSliceMapper.h
@@ -41,7 +41,7 @@ class VTKRENDERINGCORE_EXPORT vtkImageSliceMapper : public vtkImageMapper3D
 public:
   static vtkImageSliceMapper *New();
   vtkTypeMacro(vtkImageSliceMapper,vtkImageMapper3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -95,27 +95,27 @@ public:
   /**
    * This should only be called by the renderer.
    */
-  virtual void Render(vtkRenderer *renderer, vtkImageSlice *prop);
+  void Render(vtkRenderer *renderer, vtkImageSlice *prop) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by
    * this mapper.  The parameter window is used to determine
    * which graphic resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Get the mtime for the mapper.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
    * The bounding box (array of six doubles) of data expressed as
    * (xmin,xmax, ymin,ymax, zmin,zmax).
    */
-  double *GetBounds();
-  void GetBounds(double bounds[6]) {
+  double *GetBounds() VTK_OVERRIDE;
+  void GetBounds(double bounds[6]) VTK_OVERRIDE {
     this->vtkAbstractMapper3D::GetBounds(bounds); };
   //@}
 
@@ -124,19 +124,19 @@ public:
    * equation coefficients.  It is computed from the Orientation
    * and SliceNumber, the propMatrix is unused and can be zero.
    */
-  virtual void GetSlicePlaneInDataCoords(vtkMatrix4x4 *propMatrix,
-                                         double plane[4]);
+  void GetSlicePlaneInDataCoords(vtkMatrix4x4 *propMatrix,
+                                         double plane[4]) VTK_OVERRIDE;
 
   /**
    * Handle requests from the pipeline executive.
    */
-  virtual int ProcessRequest(vtkInformation* request,
+  int ProcessRequest(vtkInformation* request,
                              vtkInformationVector** inInfo,
-                             vtkInformationVector* outInfo);
+                             vtkInformationVector* outInfo) VTK_OVERRIDE;
 
 protected:
   vtkImageSliceMapper();
-  ~vtkImageSliceMapper();
+  ~vtkImageSliceMapper() VTK_OVERRIDE;
 
   /**
    * Set points that describe a polygon on which the slice will
diff --git a/Rendering/Core/vtkInteractorEventRecorder.h b/Rendering/Core/vtkInteractorEventRecorder.h
index 55fb98efed..980bbc293c 100644
--- a/Rendering/Core/vtkInteractorEventRecorder.h
+++ b/Rendering/Core/vtkInteractorEventRecorder.h
@@ -43,11 +43,11 @@ class VTKRENDERINGCORE_EXPORT vtkInteractorEventRecorder : public vtkInteractorO
 public:
   static vtkInteractorEventRecorder *New();
   vtkTypeMacro(vtkInteractorEventRecorder,vtkInteractorObserver);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   // Satisfy the superclass API. Enable/disable listening for events.
-  virtual void SetEnabled(int);
-  virtual void SetInteractor(vtkRenderWindowInteractor* iren);
+  void SetEnabled(int) VTK_OVERRIDE;
+  void SetInteractor(vtkRenderWindowInteractor* iren) VTK_OVERRIDE;
 
   //@{
   /**
@@ -99,7 +99,7 @@ public:
 
 protected:
   vtkInteractorEventRecorder();
-  ~vtkInteractorEventRecorder();
+  ~vtkInteractorEventRecorder() VTK_OVERRIDE;
 
   // file to read/write from
   char *FileName;
diff --git a/Rendering/Core/vtkInteractorObserver.h b/Rendering/Core/vtkInteractorObserver.h
index 38b224a060..5aabff0a3e 100644
--- a/Rendering/Core/vtkInteractorObserver.h
+++ b/Rendering/Core/vtkInteractorObserver.h
@@ -60,7 +60,7 @@ class VTKRENDERINGCORE_EXPORT vtkInteractorObserver : public vtkObject
 {
 public:
   vtkTypeMacro(vtkInteractorObserver,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Methods for turning the interactor observer on and off, and determining
@@ -201,7 +201,7 @@ public:
 
 protected:
   vtkInteractorObserver();
-  ~vtkInteractorObserver();
+  ~vtkInteractorObserver() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Rendering/Core/vtkInteractorStyle.h b/Rendering/Core/vtkInteractorStyle.h
index a00248f676..012476975f 100644
--- a/Rendering/Core/vtkInteractorStyle.h
+++ b/Rendering/Core/vtkInteractorStyle.h
@@ -135,13 +135,13 @@ public:
   static vtkInteractorStyle *New();
 
   vtkTypeMacro(vtkInteractorStyle,vtkInteractorObserver);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set/Get the Interactor wrapper being controlled by this object.
    * (Satisfy superclass API.)
    */
-  virtual void SetInteractor(vtkRenderWindowInteractor *interactor);
+  void SetInteractor(vtkRenderWindowInteractor *interactor) VTK_OVERRIDE;
 
   /**
    * Turn on/off this interactor. Interactor styles operate a little
@@ -150,7 +150,7 @@ public:
    * themselves. This is a legacy requirement, and convenient for the
    * user.
    */
-  virtual void SetEnabled(int);
+  void SetEnabled(int) VTK_OVERRIDE;
 
   //@{
   /**
@@ -226,7 +226,7 @@ public:
    * OnChar is triggered when an ASCII key is pressed. Some basic key presses
    * are handled here ('q' for Quit, 'p' for Pick, etc)
    */
-  virtual void OnChar();
+  void OnChar() VTK_OVERRIDE;
 
   // OnKeyDown is triggered by pressing any key (identical to OnKeyPress()).
   // An empty implementation is provided. The behavior of this function should
@@ -365,7 +365,7 @@ public:
 
 protected:
   vtkInteractorStyle();
-  ~vtkInteractorStyle();
+  ~vtkInteractorStyle() VTK_OVERRIDE;
 
   /**
    * Main process event method
diff --git a/Rendering/Core/vtkInteractorStyle3D.h b/Rendering/Core/vtkInteractorStyle3D.h
index c699d0f4de..2a0d7570f5 100644
--- a/Rendering/Core/vtkInteractorStyle3D.h
+++ b/Rendering/Core/vtkInteractorStyle3D.h
@@ -65,39 +65,39 @@ class VTKRENDERINGCORE_EXPORT vtkInteractorStyle3D : public vtkInteractorStyle
 public:
   static vtkInteractorStyle3D *New();
   vtkTypeMacro(vtkInteractorStyle3D,vtkInteractorStyle);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Event bindings controlling the effects of pressing mouse buttons
    * or moving the mouse.
    */
-  virtual void OnMouseMove();
-  virtual void OnLeftButtonDown();
-  virtual void OnLeftButtonUp();
-  virtual void OnRightButtonDown();
-  virtual void OnRightButtonUp();
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnLeftButtonDown() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
+  void OnRightButtonDown() VTK_OVERRIDE;
+  void OnRightButtonUp() VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Event bindings for gestures
    */
-  virtual void OnPinch();
-  virtual void OnPan();
+  void OnPinch() VTK_OVERRIDE;
+  void OnPan() VTK_OVERRIDE;
   //@}
 
   // This method handles updating the prop based on changes in the devices
   // pose. We use rotate as the state to mean adjusting-the-actor-pose
-  virtual void Rotate();
+  void Rotate() VTK_OVERRIDE;
 
   // This method handles updating the camera based on changes in the devices
   // pose. We use Dolly as the state to mean moving the camera forward
-  virtual void Dolly();
+  void Dolly() VTK_OVERRIDE;
 
 protected:
   vtkInteractorStyle3D();
-  ~vtkInteractorStyle3D();
+  ~vtkInteractorStyle3D() VTK_OVERRIDE;
 
   void FindPickedActor(double x, double y, double z);
 
diff --git a/Rendering/Core/vtkInteractorStyleSwitchBase.h b/Rendering/Core/vtkInteractorStyleSwitchBase.h
index dd93f01f6f..c943a6dac9 100644
--- a/Rendering/Core/vtkInteractorStyleSwitchBase.h
+++ b/Rendering/Core/vtkInteractorStyleSwitchBase.h
@@ -37,13 +37,13 @@ class VTKRENDERINGCORE_EXPORT vtkInteractorStyleSwitchBase
 public:
   static vtkInteractorStyleSwitchBase *New();
   vtkTypeMacro(vtkInteractorStyleSwitchBase, vtkInteractorStyle);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
-  vtkRenderWindowInteractor* GetInteractor();
+  vtkRenderWindowInteractor* GetInteractor() VTK_OVERRIDE;
 
 protected:
   vtkInteractorStyleSwitchBase();
-  ~vtkInteractorStyleSwitchBase();
+  ~vtkInteractorStyleSwitchBase() VTK_OVERRIDE;
 
 private:
   vtkInteractorStyleSwitchBase(const vtkInteractorStyleSwitchBase&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Core/vtkLODProp3D.h b/Rendering/Core/vtkLODProp3D.h
index 1a4f930cb0..c3abef03c9 100644
--- a/Rendering/Core/vtkLODProp3D.h
+++ b/Rendering/Core/vtkLODProp3D.h
@@ -63,12 +63,12 @@ public:
   static vtkLODProp3D *New();
 
   vtkTypeMacro(vtkLODProp3D, vtkProp3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Standard vtkProp method to get 3D bounds of a 3D prop
    */
-  double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
   void GetBounds(double bounds[6])
     { this->vtkProp3D::GetBounds( bounds ); }
 
@@ -243,8 +243,8 @@ public:
    * able to collect all the actors or volumes. These methods
    * are used in that process.
    */
-  virtual void GetActors(vtkPropCollection *);
-  virtual void GetVolumes(vtkPropCollection *);
+  void GetActors(vtkPropCollection *) VTK_OVERRIDE;
+  void GetVolumes(vtkPropCollection *) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -270,35 +270,35 @@ public:
   /**
    * Shallow copy of this vtkLODProp3D.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
   //@{
   /**
    * Support the standard render methods.
    */
-  int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry( vtkViewport *ren);
-  virtual int RenderVolumetricGeometry( vtkViewport *ren);
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry( vtkViewport *ren) VTK_OVERRIDE;
+  int RenderVolumetricGeometry( vtkViewport *ren) VTK_OVERRIDE;
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Used by the culler / renderer to set the allocated render time for this
    * prop. This is based on the desired update rate, and possibly some other
    * properties such as potential screen coverage of this prop.
    */
-  void SetAllocatedRenderTime( double t, vtkViewport *vp );
+  void SetAllocatedRenderTime( double t, vtkViewport *vp ) VTK_OVERRIDE;
 
   /**
    * Used when the render process is aborted to restore the previous
@@ -306,17 +306,17 @@ public:
    * particular LOD to be restored - otherwise the time for the last rendered
    * LOD will be copied into the currently selected LOD.
    */
-  void RestoreEstimatedRenderTime( );
+  void RestoreEstimatedRenderTime( ) VTK_OVERRIDE;
 
   /**
    * Override method from vtkProp in order to push this call down to the
    * selected LOD as well.
    */
-  virtual void AddEstimatedRenderTime( double t, vtkViewport *vp );
+  void AddEstimatedRenderTime( double t, vtkViewport *vp ) VTK_OVERRIDE;
 
 protected:
   vtkLODProp3D();
-  ~vtkLODProp3D();
+  ~vtkLODProp3D() VTK_OVERRIDE;
 
   int GetAutomaticPickPropIndex(void);
 
diff --git a/Rendering/Core/vtkLabeledContourMapper.h b/Rendering/Core/vtkLabeledContourMapper.h
index 50fd004834..09264b2e29 100644
--- a/Rendering/Core/vtkLabeledContourMapper.h
+++ b/Rendering/Core/vtkLabeledContourMapper.h
@@ -47,9 +47,9 @@ class VTKRENDERINGCORE_EXPORT vtkLabeledContourMapper : public vtkMapper
 public:
   static vtkLabeledContourMapper *New();
   vtkTypeMacro(vtkLabeledContourMapper, vtkMapper)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual void Render(vtkRenderer *ren, vtkActor *act);
+  void Render(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   //@{
   /**
@@ -64,8 +64,8 @@ public:
    * Return bounding box (array of six doubles) of data expressed as
    * (xmin,xmax, ymin,ymax, zmin,zmax).
    */
-  virtual double *GetBounds();
-  virtual void GetBounds(double bounds[6]);
+  double *GetBounds() VTK_OVERRIDE;
+  void GetBounds(double bounds[6]) VTK_OVERRIDE;
   //@}
 
   /**
@@ -137,15 +137,15 @@ public:
   vtkGetNewMacro(PolyDataMapper, vtkPolyDataMapper)
   //@}
 
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
 protected:
   vtkLabeledContourMapper();
-  ~vtkLabeledContourMapper();
+  ~vtkLabeledContourMapper() VTK_OVERRIDE;
 
   virtual void ComputeBounds();
 
-  virtual int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   void Reset();
 
diff --git a/Rendering/Core/vtkLight.h b/Rendering/Core/vtkLight.h
index d389fdcdbf..0bdd8b2996 100644
--- a/Rendering/Core/vtkLight.h
+++ b/Rendering/Core/vtkLight.h
@@ -56,7 +56,7 @@ class VTKRENDERINGCORE_EXPORT vtkLight : public vtkObject
 {
 public:
   vtkTypeMacro(vtkLight,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Create a light with the focal point at the origin and its position
@@ -286,7 +286,7 @@ public:
 
 protected:
   vtkLight();
-  ~vtkLight();
+  ~vtkLight() VTK_OVERRIDE;
 
   double FocalPoint[3];
   double Position[3];
diff --git a/Rendering/Core/vtkLightActor.h b/Rendering/Core/vtkLightActor.h
index 5c00b43f5e..c0a877c264 100644
--- a/Rendering/Core/vtkLightActor.h
+++ b/Rendering/Core/vtkLightActor.h
@@ -53,7 +53,7 @@ class VTKRENDERINGCORE_EXPORT vtkLightActor : public vtkProp3D
 public:
   static vtkLightActor *New();
   vtkTypeMacro(vtkLightActor, vtkProp3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -77,33 +77,33 @@ public:
   /**
    * Support the standard render methods.
    */
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
 
   /**
    * Does this prop have some translucent polygonal geometry? No.
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Get the bounds for this Actor as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
    */
-  double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
 
   /**
    * Get the actors mtime plus consider its properties and texture if set.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkLightActor();
-  ~vtkLightActor();
+  ~vtkLightActor() VTK_OVERRIDE;
 
   void UpdateViewProps();
 
diff --git a/Rendering/Core/vtkLightCollection.h b/Rendering/Core/vtkLightCollection.h
index a0d41b4bb8..dcdcce0f3d 100644
--- a/Rendering/Core/vtkLightCollection.h
+++ b/Rendering/Core/vtkLightCollection.h
@@ -58,7 +58,7 @@ class VTKRENDERINGCORE_EXPORT vtkLightCollection : public vtkCollection
 
 protected:
   vtkLightCollection() {}
-  ~vtkLightCollection() {}
+  ~vtkLightCollection() VTK_OVERRIDE {}
 
 private:
   // hide the standard AddItem from the user and the compiler.
diff --git a/Rendering/Core/vtkLightKit.h b/Rendering/Core/vtkLightKit.h
index 30eb793934..012323e093 100644
--- a/Rendering/Core/vtkLightKit.h
+++ b/Rendering/Core/vtkLightKit.h
@@ -104,7 +104,7 @@ class VTKRENDERINGCORE_EXPORT vtkLightKit : public vtkObject
 public:
   static vtkLightKit *New();
   vtkTypeMacro(vtkLightKit, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum LightKitType {
     TKeyLight,
@@ -299,7 +299,7 @@ public:
 
   void DeepCopy(vtkLightKit *kit);
 
-  void Modified();
+  void Modified() VTK_OVERRIDE;
   void Update();
 
   /**
@@ -327,7 +327,7 @@ public:
 
 protected:
   vtkLightKit();
-  ~vtkLightKit();
+  ~vtkLightKit() VTK_OVERRIDE;
 
   void WarmthToRGBI(double w, double rgb[3], double& i);
   void WarmthToRGB(double w, double rgb[3]);
diff --git a/Rendering/Core/vtkLogLookupTable.h b/Rendering/Core/vtkLogLookupTable.h
index d8143cb01f..c1dd266a7b 100644
--- a/Rendering/Core/vtkLogLookupTable.h
+++ b/Rendering/Core/vtkLogLookupTable.h
@@ -35,11 +35,11 @@ public:
   static vtkLogLookupTable *New();
 
   vtkTypeMacro(vtkLogLookupTable, vtkLookupTable);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkLogLookupTable(int sze = 256, int ext = 256);
-  ~vtkLogLookupTable() {}
+  ~vtkLogLookupTable() VTK_OVERRIDE {}
 private:
   vtkLogLookupTable(const vtkLogLookupTable&) VTK_DELETE_FUNCTION;
   void operator=(const vtkLogLookupTable&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Core/vtkLookupTableWithEnabling.h b/Rendering/Core/vtkLookupTableWithEnabling.h
index 76e194b0ac..55cb9ca78b 100644
--- a/Rendering/Core/vtkLookupTableWithEnabling.h
+++ b/Rendering/Core/vtkLookupTableWithEnabling.h
@@ -44,7 +44,7 @@ public:
   static vtkLookupTableWithEnabling *New();
 
   vtkTypeMacro(vtkLookupTableWithEnabling,vtkLookupTable);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -62,7 +62,7 @@ public:
    */
   void MapScalarsThroughTable2(void *input, unsigned char *output,
                                int inputDataType, int numberOfValues,
-                               int inputIncrement, int outputIncrement);
+                               int inputIncrement, int outputIncrement) VTK_OVERRIDE;
 
   /**
    * A convenience method for taking a color and desaturating it.
@@ -72,7 +72,7 @@ public:
 
 protected:
   vtkLookupTableWithEnabling(int sze=256, int ext=256);
-  ~vtkLookupTableWithEnabling();
+  ~vtkLookupTableWithEnabling() VTK_OVERRIDE;
 
   vtkDataArray *EnabledArray;
 
diff --git a/Rendering/Core/vtkMapArrayValues.h b/Rendering/Core/vtkMapArrayValues.h
index 6a9e8749d8..f3de03b916 100644
--- a/Rendering/Core/vtkMapArrayValues.h
+++ b/Rendering/Core/vtkMapArrayValues.h
@@ -49,7 +49,7 @@ class VTKRENDERINGCORE_EXPORT vtkMapArrayValues : public vtkPassInputTypeAlgorit
 {
 public:
   vtkTypeMacro(vtkMapArrayValues,vtkPassInputTypeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkMapArrayValues *New();
 
@@ -145,10 +145,10 @@ public:
 protected:
 
   vtkMapArrayValues();
-  virtual ~vtkMapArrayValues();
+  ~vtkMapArrayValues() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  int FillInputPortInformation(int, vtkInformation *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int, vtkInformation *) VTK_OVERRIDE;
 
   char* InputArrayName;
   char* OutputArrayName;
diff --git a/Rendering/Core/vtkMapper.h b/Rendering/Core/vtkMapper.h
index 8e74c5d439..aef519ccde 100644
--- a/Rendering/Core/vtkMapper.h
+++ b/Rendering/Core/vtkMapper.h
@@ -86,7 +86,7 @@ class VTKRENDERINGCORE_EXPORT vtkMapper : public vtkAbstractMapper3D
 {
 public:
   vtkTypeMacro(vtkMapper, vtkAbstractMapper3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Make a shallow copy of this mapper.
@@ -97,7 +97,7 @@ public:
    * Overload standard modified time function. If lookup table is modified,
    * then this object is modified as well.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Method initiates the mapping process. Generally sent by the actor
@@ -110,7 +110,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *) {}
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE {}
 
   //@{
   /**
@@ -471,8 +471,8 @@ public:
    * Return bounding box (array of six doubles) of data expressed as
    * (xmin,xmax, ymin,ymax, zmin,zmax).
    */
-  virtual double *GetBounds();
-  virtual void GetBounds(double bounds[6])
+  double *GetBounds() VTK_OVERRIDE;
+  void GetBounds(double bounds[6]) VTK_OVERRIDE
     { this->vtkAbstractMapper3D::GetBounds(bounds); }
 
   /**
@@ -589,7 +589,7 @@ public:
 
 protected:
   vtkMapper();
-  ~vtkMapper();
+  ~vtkMapper() VTK_OVERRIDE;
 
   // color mapped colors
   vtkUnsignedCharArray *Colors;
diff --git a/Rendering/Core/vtkMapper2D.h b/Rendering/Core/vtkMapper2D.h
index db7ff73e8c..5ad504bb38 100644
--- a/Rendering/Core/vtkMapper2D.h
+++ b/Rendering/Core/vtkMapper2D.h
@@ -36,7 +36,7 @@ class VTKRENDERINGCORE_EXPORT vtkMapper2D : public vtkAbstractMapper
 {
 public:
   vtkTypeMacro(vtkMapper2D, vtkAbstractMapper);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   virtual void RenderOverlay(vtkViewport*, vtkActor2D*) {}
   virtual void RenderOpaqueGeometry(vtkViewport*, vtkActor2D*) {}
@@ -45,7 +45,7 @@ public:
 
 protected:
   vtkMapper2D() {}
-  ~vtkMapper2D() {}
+  ~vtkMapper2D() VTK_OVERRIDE {}
 
 private:
   vtkMapper2D(const vtkMapper2D&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Core/vtkMapperCollection.h b/Rendering/Core/vtkMapperCollection.h
index 11e517fdff..f517c2a91c 100644
--- a/Rendering/Core/vtkMapperCollection.h
+++ b/Rendering/Core/vtkMapperCollection.h
@@ -66,7 +66,7 @@ class VTKRENDERINGCORE_EXPORT vtkMapperCollection : public vtkCollection
 
 protected:
   vtkMapperCollection() {}
-  ~vtkMapperCollection() {}
+  ~vtkMapperCollection() VTK_OVERRIDE {}
 
 private:
   // hide the standard AddItem from the user and the compiler.
diff --git a/Rendering/Core/vtkObserverMediator.h b/Rendering/Core/vtkObserverMediator.h
index 0d10578b3f..171ea7f1b5 100644
--- a/Rendering/Core/vtkObserverMediator.h
+++ b/Rendering/Core/vtkObserverMediator.h
@@ -52,7 +52,7 @@ public:
    * Standard macros.
    */
   vtkTypeMacro(vtkObserverMediator,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -78,7 +78,7 @@ public:
 
 protected:
   vtkObserverMediator();
-  ~vtkObserverMediator();
+  ~vtkObserverMediator() VTK_OVERRIDE;
 
   // The render window whose cursor we are controlling
   vtkRenderWindowInteractor *Interactor;
diff --git a/Rendering/Core/vtkPainterDeviceAdapter.h b/Rendering/Core/vtkPainterDeviceAdapter.h
index 616f36b503..7494f3cafb 100644
--- a/Rendering/Core/vtkPainterDeviceAdapter.h
+++ b/Rendering/Core/vtkPainterDeviceAdapter.h
@@ -57,7 +57,7 @@ class VTKRENDERINGCORE_EXPORT vtkPainterDeviceAdapter : public vtkObject
 public:
   static vtkPainterDeviceAdapter* New();
   vtkTypeMacro(vtkPainterDeviceAdapter, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Signals the start of sending a primitive to the graphics card.  The
@@ -190,7 +190,7 @@ public:
 
 protected:
   vtkPainterDeviceAdapter();
-  ~vtkPainterDeviceAdapter();
+  ~vtkPainterDeviceAdapter() VTK_OVERRIDE;
 
 private:
   vtkPainterDeviceAdapter(const vtkPainterDeviceAdapter &) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Core/vtkPicker.h b/Rendering/Core/vtkPicker.h
index c415a8cc55..73f1ba8d1d 100644
--- a/Rendering/Core/vtkPicker.h
+++ b/Rendering/Core/vtkPicker.h
@@ -56,7 +56,7 @@ class VTKRENDERINGCORE_EXPORT vtkPicker : public vtkAbstractPropPicker
 public:
   static vtkPicker *New();
   vtkTypeMacro(vtkPicker, vtkAbstractPropPicker);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -119,8 +119,8 @@ public:
    * the third value is =0. Return non-zero if something was successfully
    * picked.
    */
-  virtual int Pick(double selectionX, double selectionY, double selectionZ,
-                   vtkRenderer *renderer);
+  int Pick(double selectionX, double selectionY, double selectionZ,
+                   vtkRenderer *renderer) VTK_OVERRIDE;
 
   /**
    * Perform pick operation with selection point provided. Normally the first
@@ -132,14 +132,14 @@ public:
 
 protected:
   vtkPicker();
-  ~vtkPicker();
+  ~vtkPicker() VTK_OVERRIDE;
 
   void MarkPicked(vtkAssemblyPath *path, vtkProp3D *p, vtkAbstractMapper3D *m,
                   double tMin, double mapperPos[3]);
   virtual double IntersectWithLine(double p1[3], double p2[3], double tol,
                                   vtkAssemblyPath *path, vtkProp3D *p,
                                   vtkAbstractMapper3D *m);
-  virtual void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   double Tolerance;  //tolerance for computation (% of window)
   double MapperPosition[3]; //selection point in untransformed coordinates
diff --git a/Rendering/Core/vtkPickingManager.h b/Rendering/Core/vtkPickingManager.h
index 0f6739e5bc..862a29166d 100644
--- a/Rendering/Core/vtkPickingManager.h
+++ b/Rendering/Core/vtkPickingManager.h
@@ -84,7 +84,7 @@ class VTKRENDERINGCORE_EXPORT vtkPickingManager : public vtkObject
 public:
   static vtkPickingManager *New();
   vtkTypeMacro(vtkPickingManager,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -190,7 +190,7 @@ public:
 
 protected:
   vtkPickingManager();
-  ~vtkPickingManager();
+  ~vtkPickingManager() VTK_OVERRIDE;
 
   // Used to associate the manager with the interactor
   vtkRenderWindowInteractor* Interactor;
diff --git a/Rendering/Core/vtkPointGaussianMapper.h b/Rendering/Core/vtkPointGaussianMapper.h
index 40ee28d555..b19190b231 100644
--- a/Rendering/Core/vtkPointGaussianMapper.h
+++ b/Rendering/Core/vtkPointGaussianMapper.h
@@ -36,7 +36,7 @@ class VTKRENDERINGCORE_EXPORT vtkPointGaussianMapper : public vtkPolyDataMapper
 public:
   static vtkPointGaussianMapper* New();
   vtkTypeMacro(vtkPointGaussianMapper, vtkPolyDataMapper)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -147,7 +147,7 @@ public:
 
 protected:
   vtkPointGaussianMapper();
-  ~vtkPointGaussianMapper();
+  ~vtkPointGaussianMapper() VTK_OVERRIDE;
 
   char *ScaleArray;
   char *OpacityArray;
diff --git a/Rendering/Core/vtkPointPicker.h b/Rendering/Core/vtkPointPicker.h
index b82f7f5572..a7a46c0e74 100644
--- a/Rendering/Core/vtkPointPicker.h
+++ b/Rendering/Core/vtkPointPicker.h
@@ -41,7 +41,7 @@ class VTKRENDERINGCORE_EXPORT vtkPointPicker : public vtkPicker
 public:
   static vtkPointPicker *New();
   vtkTypeMacro(vtkPointPicker,vtkPicker);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -62,15 +62,15 @@ public:
 
 protected:
   vtkPointPicker();
-  ~vtkPointPicker() {}
+  ~vtkPointPicker() VTK_OVERRIDE {}
 
   vtkIdType PointId; //picked point
   int UseCells;  // Use cell points vs. points directly
 
   double IntersectWithLine(double p1[3], double p2[3], double tol,
                           vtkAssemblyPath *path, vtkProp3D *p,
-                          vtkAbstractMapper3D *m);
-  void Initialize();
+                          vtkAbstractMapper3D *m) VTK_OVERRIDE;
+  void Initialize() VTK_OVERRIDE;
 
 private:
   vtkPointPicker(const vtkPointPicker&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Core/vtkPolyDataMapper.h b/Rendering/Core/vtkPolyDataMapper.h
index 4a8b118cd8..75ad34df20 100644
--- a/Rendering/Core/vtkPolyDataMapper.h
+++ b/Rendering/Core/vtkPolyDataMapper.h
@@ -38,7 +38,7 @@ class VTKRENDERINGCORE_EXPORT vtkPolyDataMapper : public vtkMapper
 public:
   static vtkPolyDataMapper *New();
   vtkTypeMacro(vtkPolyDataMapper, vtkMapper);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Implemented by sub classes. Actual rendering is done here.
@@ -48,7 +48,7 @@ public:
   /**
    * This calls RenderPiece (in a for loop if streaming is necessary).
    */
-  virtual void Render(vtkRenderer *ren, vtkActor *act);
+  void Render(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   //@{
   /**
@@ -62,10 +62,10 @@ public:
   /**
    * Bring this algorithm's outputs up-to-date.
    */
-  virtual void Update(int port);
-  virtual void Update();
-  virtual int Update(int port, vtkInformationVector* requests);
-  virtual int Update(vtkInformation* requests);
+  void Update(int port) VTK_OVERRIDE;
+  void Update() VTK_OVERRIDE;
+  int Update(int port, vtkInformationVector* requests) VTK_OVERRIDE;
+  int Update(vtkInformation* requests) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -92,8 +92,8 @@ public:
    * Return bounding box (array of six doubles) of data expressed as
    * (xmin,xmax, ymin,ymax, zmin,zmax).
    */
-  virtual double *GetBounds();
-  virtual void GetBounds(double bounds[6])
+  double *GetBounds() VTK_OVERRIDE;
+  void GetBounds(double bounds[6]) VTK_OVERRIDE
     { this->Superclass::GetBounds(bounds); }
 
   /**
@@ -133,13 +133,13 @@ public:
   /**
    * see vtkAlgorithm for details
    */
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   vtkPolyDataMapper();
-  ~vtkPolyDataMapper() {}
+  ~vtkPolyDataMapper() VTK_OVERRIDE {}
 
   /**
    * Called in GetBounds(). When this method is called, the consider the input
@@ -153,7 +153,7 @@ protected:
   int NumberOfSubPieces;
   int GhostLevel;
 
-  virtual int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
 private:
   vtkPolyDataMapper(const vtkPolyDataMapper&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Core/vtkPolyDataMapper2D.h b/Rendering/Core/vtkPolyDataMapper2D.h
index e2843fad54..164c6a8bbf 100644
--- a/Rendering/Core/vtkPolyDataMapper2D.h
+++ b/Rendering/Core/vtkPolyDataMapper2D.h
@@ -47,7 +47,7 @@ class VTKRENDERINGCORE_EXPORT vtkPolyDataMapper2D : public vtkMapper2D
 public:
   vtkTypeMacro(vtkPolyDataMapper2D,vtkMapper2D);
   static vtkPolyDataMapper2D *New();
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -177,7 +177,7 @@ public:
    * Overload standard modified time function. If lookup table is modified,
    * then this object is modified as well.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -216,9 +216,9 @@ public:
 
 protected:
   vtkPolyDataMapper2D();
-  ~vtkPolyDataMapper2D();
+  ~vtkPolyDataMapper2D() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   vtkUnsignedCharArray *Colors;
 
diff --git a/Rendering/Core/vtkProp.h b/Rendering/Core/vtkProp.h
index c7a9fc9c7e..b22e0aa10f 100644
--- a/Rendering/Core/vtkProp.h
+++ b/Rendering/Core/vtkProp.h
@@ -45,7 +45,7 @@ class VTKRENDERINGCORE_EXPORT vtkProp : public vtkObject
 {
 public:
   vtkTypeMacro(vtkProp, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * For some exporters and other other operations we must be
@@ -424,7 +424,7 @@ public:
 
 protected:
   vtkProp();
-  ~vtkProp();
+  ~vtkProp() VTK_OVERRIDE;
 
   int Visibility;
   int Pickable;
diff --git a/Rendering/Core/vtkProp3D.h b/Rendering/Core/vtkProp3D.h
index 6c1b5c6d6e..d6864be303 100644
--- a/Rendering/Core/vtkProp3D.h
+++ b/Rendering/Core/vtkProp3D.h
@@ -44,12 +44,12 @@ class VTKRENDERINGCORE_EXPORT vtkProp3D : public vtkProp
 {
 public:
   vtkTypeMacro(vtkProp3D,vtkProp);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Shallow copy of this vtkProp3D.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
   //@{
   /**
@@ -181,7 +181,7 @@ public:
    * Get the bounds for this Prop3D as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
    */
   void GetBounds(double bounds[6]);
-  virtual double *GetBounds() = 0;
+  double *GetBounds() VTK_OVERRIDE = 0;
   //@}
 
   /**
@@ -300,18 +300,18 @@ public:
    * vtkProp3D will be restored. This method is used to support
    * picking and assembly structures.
    */
-  void PokeMatrix(vtkMatrix4x4 *matrix);
+  void PokeMatrix(vtkMatrix4x4 *matrix) VTK_OVERRIDE;
 
   /**
    * Overload vtkProp's method for setting up assembly paths. See
    * the documentation for vtkProp.
    */
-  void InitPathTraversal();
+  void InitPathTraversal() VTK_OVERRIDE;
 
   /**
    * Get the vtkProp3D's mtime
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Get the modified time of the user matrix or user transform.
@@ -327,7 +327,7 @@ public:
   /**
    * Get a pointer to an internal vtkMatrix4x4. that represents
    */
-  vtkMatrix4x4 *GetMatrix()
+  vtkMatrix4x4 *GetMatrix() VTK_OVERRIDE
   {
     this->ComputeMatrix();
     return this->Matrix;
@@ -343,7 +343,7 @@ public:
 
 protected:
   vtkProp3D();
-  ~vtkProp3D();
+  ~vtkProp3D() VTK_OVERRIDE;
 
   vtkLinearTransform *UserTransform;
   vtkMatrix4x4 *UserMatrix;
diff --git a/Rendering/Core/vtkProp3DCollection.h b/Rendering/Core/vtkProp3DCollection.h
index eee624c882..5b034e0c6d 100644
--- a/Rendering/Core/vtkProp3DCollection.h
+++ b/Rendering/Core/vtkProp3DCollection.h
@@ -64,7 +64,7 @@ public:
 
 protected:
   vtkProp3DCollection() {}
-  ~vtkProp3DCollection() {}
+  ~vtkProp3DCollection() VTK_OVERRIDE {}
 
 
 private:
diff --git a/Rendering/Core/vtkProp3DFollower.h b/Rendering/Core/vtkProp3DFollower.h
index 2dc672e2de..d7fb64a640 100644
--- a/Rendering/Core/vtkProp3DFollower.h
+++ b/Rendering/Core/vtkProp3DFollower.h
@@ -54,7 +54,7 @@ class VTKRENDERINGCORE_EXPORT vtkProp3DFollower : public vtkProp3D
    * Standard VTK methods for type and printing.
    */
   vtkTypeMacro(vtkProp3DFollower,vtkProp3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -80,49 +80,49 @@ class VTKRENDERINGCORE_EXPORT vtkProp3DFollower : public vtkProp3D
    * property, texture map and then mapper. If a property hasn't been
    * assigned, then the actor will create one automatically.
    */
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
-  virtual int RenderVolumetricGeometry(vtkViewport *viewport);
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderVolumetricGeometry(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Release any graphics resources associated with this vtkProp3DFollower.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow*);
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
 
   /**
    * Generate the matrix based on ivars. This method overloads its superclasses
    * ComputeMatrix() method due to the special vtkProp3DFollower matrix operations.
    */
-  virtual void ComputeMatrix();
+  void ComputeMatrix() VTK_OVERRIDE;
 
   /**
    * Shallow copy of a follower. Overloads the virtual vtkProp method.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
   /**
    * Return the bounds of this vtkProp3D.
    */
-  virtual double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
 
   //@{
   /**
    * Overload vtkProp's method for setting up assembly paths. See
    * the documentation for vtkProp.
    */
-  void InitPathTraversal();
-  virtual vtkAssemblyPath *GetNextPath();
+  void InitPathTraversal() VTK_OVERRIDE;
+  vtkAssemblyPath *GetNextPath() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkProp3DFollower();
-  ~vtkProp3DFollower();
+  ~vtkProp3DFollower() VTK_OVERRIDE;
 
   vtkCamera *Camera;
   vtkProp3D  *Device;
diff --git a/Rendering/Core/vtkPropAssembly.h b/Rendering/Core/vtkPropAssembly.h
index 71e688fcc7..c19f9921a5 100644
--- a/Rendering/Core/vtkPropAssembly.h
+++ b/Rendering/Core/vtkPropAssembly.h
@@ -51,7 +51,7 @@ class VTKRENDERINGCORE_EXPORT vtkPropAssembly : public vtkProp
 {
 public:
   vtkTypeMacro(vtkPropAssembly,vtkProp);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Create with an empty parts list.
@@ -79,40 +79,40 @@ public:
    * recursive. The parts of each assembly are rendered only if the
    * visibility for the prop is turned on.
    */
-  int RenderOpaqueGeometry(vtkViewport *ren);
-  virtual int RenderTranslucentPolygonalGeometry( vtkViewport *ren);
-  virtual int RenderVolumetricGeometry( vtkViewport *ren);
-  int RenderOverlay(vtkViewport *ren);
+  int RenderOpaqueGeometry(vtkViewport *ren) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry( vtkViewport *ren) VTK_OVERRIDE;
+  int RenderVolumetricGeometry( vtkViewport *ren) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport *ren) VTK_OVERRIDE;
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Get the bounds for this prop assembly as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
    * May return NULL in some cases (meaning the bounds is undefined).
    */
-  double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
 
   /**
    * Shallow copy of this vtkPropAssembly.
    */
-  void ShallowCopy(vtkProp *Prop);
+  void ShallowCopy(vtkProp *Prop) VTK_OVERRIDE;
 
   /**
    * Override default GetMTime method to also consider all of the
    * prop assembly's parts.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -125,9 +125,9 @@ public:
    * when the list is exhausted. (See the superclass vtkProp for more
    * information about paths.)
    */
-  void InitPathTraversal();
-  vtkAssemblyPath *GetNextPath();
-  int GetNumberOfPaths();
+  void InitPathTraversal() VTK_OVERRIDE;
+  vtkAssemblyPath *GetNextPath() VTK_OVERRIDE;
+  int GetNumberOfPaths() VTK_OVERRIDE;
   //@}
 
   /**
@@ -135,11 +135,11 @@ public:
    * DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS
    * Overload the superclass' vtkProp BuildPaths() method.
    */
-  void BuildPaths(vtkAssemblyPaths *paths, vtkAssemblyPath *path);
+  void BuildPaths(vtkAssemblyPaths *paths, vtkAssemblyPath *path) VTK_OVERRIDE;
 
 protected:
   vtkPropAssembly();
-  ~vtkPropAssembly();
+  ~vtkPropAssembly() VTK_OVERRIDE;
 
   vtkPropCollection *Parts;
   double Bounds[6];
diff --git a/Rendering/Core/vtkPropCollection.h b/Rendering/Core/vtkPropCollection.h
index ffb32ee687..6339525438 100644
--- a/Rendering/Core/vtkPropCollection.h
+++ b/Rendering/Core/vtkPropCollection.h
@@ -70,7 +70,7 @@ class VTKRENDERINGCORE_EXPORT vtkPropCollection : public vtkCollection
 
 protected:
   vtkPropCollection() {}
-  ~vtkPropCollection() {}
+  ~vtkPropCollection() VTK_OVERRIDE {}
 
 
 private:
diff --git a/Rendering/Core/vtkPropPicker.h b/Rendering/Core/vtkPropPicker.h
index 6d1b2461a5..25a3ddfb97 100644
--- a/Rendering/Core/vtkPropPicker.h
+++ b/Rendering/Core/vtkPropPicker.h
@@ -42,7 +42,7 @@ public:
   static vtkPropPicker *New();
 
   vtkTypeMacro(vtkPropPicker, vtkAbstractPropPicker);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform the pick and set the PickedProp ivar. If something is picked, a
@@ -63,16 +63,16 @@ public:
    * Overide superclasses' Pick() method.
    */
   int Pick(double selectionX, double selectionY, double selectionZ,
-           vtkRenderer *renderer);
+           vtkRenderer *renderer) VTK_OVERRIDE;
   int Pick(double selectionPt[3], vtkRenderer *renderer)
     { return this->Pick( selectionPt[0],
                          selectionPt[1], selectionPt[2], renderer); }
 
 protected:
   vtkPropPicker();
-  ~vtkPropPicker();
+  ~vtkPropPicker() VTK_OVERRIDE;
 
-  void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   vtkPropCollection* PickFromProps;
 
diff --git a/Rendering/Core/vtkPropPicker3D.h b/Rendering/Core/vtkPropPicker3D.h
index 8482fb438c..7e3cf0a155 100644
--- a/Rendering/Core/vtkPropPicker3D.h
+++ b/Rendering/Core/vtkPropPicker3D.h
@@ -42,7 +42,7 @@ public:
   static vtkPropPicker3D *New();
 
   vtkTypeMacro(vtkPropPicker3D, vtkAbstractPropPicker);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform the pick and set the PickedProp ivar. If something is picked, a
@@ -65,16 +65,16 @@ public:
    * Overide superclasses' Pick() method.
    */
   int Pick(double selectionX, double selectionY, double selectionZ,
-           vtkRenderer *renderer);
+           vtkRenderer *renderer) VTK_OVERRIDE;
   int Pick(double selectionPt[3], vtkRenderer *renderer)
     { return this->Pick( selectionPt[0],
                          selectionPt[1], selectionPt[2], renderer); }
 
 protected:
   vtkPropPicker3D();
-  ~vtkPropPicker3D();
+  ~vtkPropPicker3D() VTK_OVERRIDE;
 
-  void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   vtkPropCollection* PickFromProps;
 
diff --git a/Rendering/Core/vtkProperty.h b/Rendering/Core/vtkProperty.h
index ed24a04427..b5b61c7af7 100644
--- a/Rendering/Core/vtkProperty.h
+++ b/Rendering/Core/vtkProperty.h
@@ -59,7 +59,7 @@ class VTKRENDERINGCORE_EXPORT vtkProperty : public vtkObject
 {
 public:
   vtkTypeMacro(vtkProperty,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct object with object color, ambient color, diffuse color,
@@ -484,7 +484,7 @@ public:
 
 protected:
   vtkProperty();
-  ~vtkProperty();
+  ~vtkProperty() VTK_OVERRIDE;
 
   /**
    * Computes composite color. Used by GetColor().
diff --git a/Rendering/Core/vtkProperty2D.h b/Rendering/Core/vtkProperty2D.h
index 8e4b02dbdb..79187dcd61 100644
--- a/Rendering/Core/vtkProperty2D.h
+++ b/Rendering/Core/vtkProperty2D.h
@@ -38,7 +38,7 @@ class VTKRENDERINGCORE_EXPORT vtkProperty2D : public vtkObject
 {
 public:
   vtkTypeMacro(vtkProperty2D,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a vtkProperty2D with the following default values:
@@ -131,7 +131,7 @@ public:
 
 protected:
   vtkProperty2D();
-  ~vtkProperty2D();
+  ~vtkProperty2D() VTK_OVERRIDE;
 
   double Color[3];
   double Opacity;
diff --git a/Rendering/Core/vtkRenderPass.h b/Rendering/Core/vtkRenderPass.h
index 31af5c3c7e..dffcd12dc0 100644
--- a/Rendering/Core/vtkRenderPass.h
+++ b/Rendering/Core/vtkRenderPass.h
@@ -56,7 +56,7 @@ class VTKRENDERINGCORE_EXPORT vtkRenderPass : public vtkObject
 {
  public:
   vtkTypeMacro(vtkRenderPass,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
@@ -88,7 +88,7 @@ class VTKRENDERINGCORE_EXPORT vtkRenderPass : public vtkObject
   /**
    * Destructor. Do nothing.
    */
-  virtual ~vtkRenderPass();
+  ~vtkRenderPass() VTK_OVERRIDE;
 
   /**
    * Call UpdateCamera() on Renderer. This ugly mechanism gives access to
diff --git a/Rendering/Core/vtkRenderWidget.h b/Rendering/Core/vtkRenderWidget.h
index f4a0d32bb8..44c953686d 100644
--- a/Rendering/Core/vtkRenderWidget.h
+++ b/Rendering/Core/vtkRenderWidget.h
@@ -27,7 +27,7 @@ class VTKRENDERINGCORE_EXPORT vtkRenderWidget : public vtkObject
 {
 public:
   vtkTypeMacro(vtkRenderWidget ,vtkObject)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkRenderWidget* New();
 
   /**
@@ -84,7 +84,7 @@ public:
 
 protected:
   vtkRenderWidget();
-  ~vtkRenderWidget();
+  ~vtkRenderWidget() VTK_OVERRIDE;
 
   vtkVector2i Position; // Position of the widget in screen coordinates.
   vtkVector2i Size; // Position of the widget in screen coordinates.
diff --git a/Rendering/Core/vtkRenderWindow.h b/Rendering/Core/vtkRenderWindow.h
index 6c841007fd..4a3faa6c4a 100644
--- a/Rendering/Core/vtkRenderWindow.h
+++ b/Rendering/Core/vtkRenderWindow.h
@@ -81,7 +81,7 @@ class VTKRENDERINGCORE_EXPORT vtkRenderWindow : public vtkWindow
 {
 public:
   vtkTypeMacro(vtkRenderWindow,vtkWindow);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Construct an instance of  vtkRenderWindow with its screen size
@@ -140,7 +140,7 @@ public:
    * Ask each renderer owned by this RenderWindow to render its image and
    * synchronize this process.
    */
-  virtual void Render();
+  void Render() VTK_OVERRIDE;
 
   /**
    * Initialize the rendering process.
@@ -581,24 +581,24 @@ public:
    * This Method detects loops of RenderWindow<->Interactor,
    * so objects are freed properly.
    */
-  virtual void UnRegister(vtkObjectBase *o);
+  void UnRegister(vtkObjectBase *o) VTK_OVERRIDE;
 
   //@{
   /**
    * Dummy stubs for vtkWindow API.
    */
-  virtual void SetDisplayId(void *) = 0;
-  virtual void SetWindowId(void *)  = 0;
+  void SetDisplayId(void *) VTK_OVERRIDE = 0;
+  void SetWindowId(void *)  VTK_OVERRIDE = 0;
   virtual void SetNextWindowId(void *) = 0;
-  virtual void SetParentId(void *)  = 0;
-  virtual void *GetGenericDisplayId() = 0;
-  virtual void *GetGenericWindowId() = 0;
-  virtual void *GetGenericParentId() = 0;
-  virtual void *GetGenericContext() = 0;
-  virtual void *GetGenericDrawable() = 0;
-  virtual void SetWindowInfo(char *) = 0;
+  void SetParentId(void *)  VTK_OVERRIDE = 0;
+  void *GetGenericDisplayId() VTK_OVERRIDE = 0;
+  void *GetGenericWindowId() VTK_OVERRIDE = 0;
+  void *GetGenericParentId() VTK_OVERRIDE = 0;
+  void *GetGenericContext() VTK_OVERRIDE = 0;
+  void *GetGenericDrawable() VTK_OVERRIDE = 0;
+  void SetWindowInfo(char *) VTK_OVERRIDE = 0;
   virtual void SetNextWindowInfo(char *) = 0;
-  virtual void SetParentInfo(char *) = 0;
+  void SetParentInfo(char *) VTK_OVERRIDE = 0;
   //@}
 
   /**
@@ -611,7 +611,7 @@ public:
    * Attempt to make this window the current graphics context for the calling
    * thread.
    */
-  virtual void MakeCurrent() = 0;
+  void MakeCurrent() VTK_OVERRIDE = 0;
 
   /**
    * Tells if this window is the current graphics context for the calling
@@ -719,7 +719,7 @@ public:
 
 protected:
   vtkRenderWindow();
-  ~vtkRenderWindow();
+  ~vtkRenderWindow() VTK_OVERRIDE;
 
   virtual void DoStereoRender();
   virtual void DoFDRender();
diff --git a/Rendering/Core/vtkRenderWindowCollection.h b/Rendering/Core/vtkRenderWindowCollection.h
index 43b5c5276c..b137c34d78 100644
--- a/Rendering/Core/vtkRenderWindowCollection.h
+++ b/Rendering/Core/vtkRenderWindowCollection.h
@@ -66,7 +66,7 @@ class VTKRENDERINGCORE_EXPORT vtkRenderWindowCollection : public vtkCollection
 
 protected:
   vtkRenderWindowCollection() {}
-  ~vtkRenderWindowCollection() {}
+  ~vtkRenderWindowCollection() VTK_OVERRIDE {}
 
 private:
   // hide the standard AddItem from the user and the compiler.
diff --git a/Rendering/Core/vtkRenderWindowInteractor.h b/Rendering/Core/vtkRenderWindowInteractor.h
index 22e5f1fdb4..93ef3e90b4 100644
--- a/Rendering/Core/vtkRenderWindowInteractor.h
+++ b/Rendering/Core/vtkRenderWindowInteractor.h
@@ -77,7 +77,7 @@ class VTKRENDERINGCORE_EXPORT vtkRenderWindowInteractor : public vtkObject
 public:
   static vtkRenderWindowInteractor *New();
   vtkTypeMacro(vtkRenderWindowInteractor,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -96,7 +96,7 @@ public:
    * This Method detects loops of RenderWindow-Interactor,
    * so objects are freed properly.
    */
-  virtual void UnRegister(vtkObjectBase *o);
+  void UnRegister(vtkObjectBase *o) VTK_OVERRIDE;
 
   /**
    * Start the event loop. This is provided so that you do not have to
@@ -783,7 +783,7 @@ public:
 
 protected:
   vtkRenderWindowInteractor();
-  ~vtkRenderWindowInteractor();
+  ~vtkRenderWindowInteractor() VTK_OVERRIDE;
 
   vtkRenderWindow       *RenderWindow;
   vtkInteractorObserver *InteractorStyle;
diff --git a/Rendering/Core/vtkRenderWindowInteractor3D.h b/Rendering/Core/vtkRenderWindowInteractor3D.h
index f860ad6926..8e9f33fa88 100644
--- a/Rendering/Core/vtkRenderWindowInteractor3D.h
+++ b/Rendering/Core/vtkRenderWindowInteractor3D.h
@@ -43,7 +43,7 @@ public:
   static vtkRenderWindowInteractor3D *New();
 
   vtkTypeMacro(vtkRenderWindowInteractor3D,vtkRenderWindowInteractor);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -55,8 +55,8 @@ public:
    * and all other interactors associated with the widget are disabled
    * when their data is not displayed.
    */
-  virtual void Enable();
-  virtual void Disable();
+  void Enable() VTK_OVERRIDE;
+  void Disable() VTK_OVERRIDE;
   //@}
 
   /**
@@ -64,13 +64,13 @@ public:
    * calls PostQuitMessage(0) to terminate the application. An application can Specify
    * ExitMethod for alternative behavior (i.e. suppression of keyboard exit)
    */
-  void TerminateApp(void);
+  void TerminateApp(void) VTK_OVERRIDE;
 
   /**
    * Create default picker. Used to create one when none is specified.
    * Default is an instance of vtkPropPicker.
    */
-  virtual vtkAbstractPropPicker *CreateDefaultPicker();
+  vtkAbstractPropPicker *CreateDefaultPicker() VTK_OVERRIDE;
 
   //@{
   /**
@@ -219,8 +219,8 @@ public:
   /**
    * Override to set pointers down
    */
-  virtual void RightButtonPressEvent();
-  virtual void RightButtonReleaseEvent();
+  void RightButtonPressEvent() VTK_OVERRIDE;
+  void RightButtonReleaseEvent() VTK_OVERRIDE;
   //@}
 
   //@{
@@ -251,7 +251,7 @@ public:
 
 protected:
   vtkRenderWindowInteractor3D();
-  ~vtkRenderWindowInteractor3D();
+  ~vtkRenderWindowInteractor3D() VTK_OVERRIDE;
 
   int     MouseInWindow;
   int     StartedMessageLoop;
@@ -268,7 +268,7 @@ protected:
   double   StartingPhysicalEventPositions[VTKI_MAX_POINTERS][3];
   double   WorldEventOrientations[VTKI_MAX_POINTERS][4];
   double   LastWorldEventOrientations[VTKI_MAX_POINTERS][4];
-  virtual void RecognizeGesture(vtkCommand::EventIds);
+  void RecognizeGesture(vtkCommand::EventIds) VTK_OVERRIDE;
 
 private:
   vtkRenderWindowInteractor3D(const vtkRenderWindowInteractor3D&) VTK_DELETE_FUNCTION;  // Not implemented.
diff --git a/Rendering/Core/vtkRenderedAreaPicker.h b/Rendering/Core/vtkRenderedAreaPicker.h
index eaf27c907a..4cbbb22620 100644
--- a/Rendering/Core/vtkRenderedAreaPicker.h
+++ b/Rendering/Core/vtkRenderedAreaPicker.h
@@ -42,18 +42,18 @@ class VTKRENDERINGCORE_EXPORT vtkRenderedAreaPicker : public vtkAreaPicker
 public:
   static vtkRenderedAreaPicker *New();
   vtkTypeMacro(vtkRenderedAreaPicker, vtkAreaPicker);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform pick operation in volume behind the given screen coordinates.
    * Props intersecting the selection frustum will be accessible via GetProp3D.
    * GetPlanes returns a vtkImplicitFunciton suitable for vtkExtractGeometry.
    */
-  virtual int AreaPick(double x0, double y0, double x1, double y1, vtkRenderer *);
+  int AreaPick(double x0, double y0, double x1, double y1, vtkRenderer *) VTK_OVERRIDE;
 
 protected:
   vtkRenderedAreaPicker();
-  ~vtkRenderedAreaPicker();
+  ~vtkRenderedAreaPicker() VTK_OVERRIDE;
 
 private:
   vtkRenderedAreaPicker(const vtkRenderedAreaPicker&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Core/vtkRenderer.h b/Rendering/Core/vtkRenderer.h
index 53625ffc80..d5775b8ef5 100644
--- a/Rendering/Core/vtkRenderer.h
+++ b/Rendering/Core/vtkRenderer.h
@@ -58,7 +58,7 @@ class VTKRENDERINGCORE_EXPORT vtkRenderer : public vtkViewport
 {
 public:
   vtkTypeMacro(vtkRenderer,vtkViewport);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Create a vtkRenderer with a black background, a white ambient light,
@@ -410,7 +410,7 @@ public:
    */
   void SetRenderWindow(vtkRenderWindow *);
   vtkRenderWindow *GetRenderWindow() {return this->RenderWindow;};
-  virtual vtkWindow *GetVTKWindow();
+  vtkWindow *GetVTKWindow() VTK_OVERRIDE;
   //@}
 
   //@{
@@ -487,20 +487,20 @@ public:
   /**
    * Convert world point coordinates to view coordinates.
    */
-  void WorldToView();
+  void WorldToView() VTK_OVERRIDE;
 
   //@{
   /**
    * Convert view point coordinates to world coordinates.
    */
-  void ViewToWorld();
-  virtual void ViewToWorld(double &wx, double &wy, double &wz);
+  void ViewToWorld() VTK_OVERRIDE;
+  void ViewToWorld(double &wx, double &wy, double &wz) VTK_OVERRIDE;
   //@}
 
   /**
    * Convert world point coordinates to view coordinates.
    */
-  virtual void WorldToView(double &wx, double &wy, double &wz);
+  void WorldToView(double &wx, double &wy, double &wz) VTK_OVERRIDE;
 
   /**
    * Given a pixel location, return the Z value. The z value is
@@ -511,7 +511,7 @@ public:
   /**
    * Return the MTime of the renderer also considering its ivars.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -538,12 +538,12 @@ public:
    * If nothing was picked then NULL is returned.  This method selects from
    * the renderers Prop list.
    */
-  vtkAssemblyPath* PickProp(double selectionX, double selectionY)
+  vtkAssemblyPath* PickProp(double selectionX, double selectionY) VTK_OVERRIDE
   {
     return this->PickProp(selectionX, selectionY, selectionX, selectionY);
   }
   vtkAssemblyPath* PickProp(double selectionX1, double selectionY1,
-                            double selectionX2, double selectionY2);
+                            double selectionX2, double selectionY2) VTK_OVERRIDE;
   //@}
 
   /**
@@ -713,7 +713,7 @@ public:
 
 protected:
   vtkRenderer();
-  ~vtkRenderer();
+  ~vtkRenderer() VTK_OVERRIDE;
 
   // internal method for doing a render for picking purposes
   virtual void PickRender(vtkPropCollection *props);
diff --git a/Rendering/Core/vtkRendererCollection.h b/Rendering/Core/vtkRendererCollection.h
index 379a32a9a4..22e101bf2e 100644
--- a/Rendering/Core/vtkRendererCollection.h
+++ b/Rendering/Core/vtkRendererCollection.h
@@ -72,7 +72,7 @@ public:
 
 protected:
   vtkRendererCollection() {}
-  ~vtkRendererCollection() {}
+  ~vtkRendererCollection() VTK_OVERRIDE {}
 
 private:
   // hide the standard AddItem from the user and the compiler.
diff --git a/Rendering/Core/vtkRendererDelegate.h b/Rendering/Core/vtkRendererDelegate.h
index 8daff9aef0..e5265e2656 100644
--- a/Rendering/Core/vtkRendererDelegate.h
+++ b/Rendering/Core/vtkRendererDelegate.h
@@ -38,7 +38,7 @@ class VTKRENDERINGCORE_EXPORT vtkRendererDelegate : public vtkObject
 {
 public:
   vtkTypeMacro(vtkRendererDelegate,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Render the props of vtkRenderer if Used is on.
@@ -57,7 +57,7 @@ public:
 
 protected:
   vtkRendererDelegate();
-  virtual ~vtkRendererDelegate();
+  ~vtkRendererDelegate() VTK_OVERRIDE;
 
   bool Used;
 
diff --git a/Rendering/Core/vtkRendererSource.h b/Rendering/Core/vtkRendererSource.h
index ab71489221..1a3d16a443 100644
--- a/Rendering/Core/vtkRendererSource.h
+++ b/Rendering/Core/vtkRendererSource.h
@@ -58,12 +58,12 @@ class VTKRENDERINGCORE_EXPORT vtkRendererSource : public vtkAlgorithm
 public:
   static vtkRendererSource *New();
   vtkTypeMacro(vtkRendererSource, vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Return the MTime also considering the Renderer.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Indicates what renderer to get the pixel data from.
@@ -141,13 +141,13 @@ public:
   /**
    * see vtkAlgorithm for details
    */
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   vtkRendererSource();
-  ~vtkRendererSource();
+  ~vtkRendererSource() VTK_OVERRIDE;
 
   void RequestData(vtkInformation* request,
                    vtkInformationVector** inputVector,
@@ -164,7 +164,7 @@ protected:
   int DepthValuesOnly;
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkRendererSource(const vtkRendererSource&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Core/vtkScenePicker.h b/Rendering/Core/vtkScenePicker.h
index 7a7a444dcb..abb7519ab5 100644
--- a/Rendering/Core/vtkScenePicker.h
+++ b/Rendering/Core/vtkScenePicker.h
@@ -61,7 +61,7 @@ class VTKRENDERINGCORE_EXPORT vtkScenePicker : public vtkObject
 public:
   static vtkScenePicker* New();
   vtkTypeMacro(vtkScenePicker, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -105,7 +105,7 @@ public:
 
 protected:
   vtkScenePicker();
-  ~vtkScenePicker();
+  ~vtkScenePicker() VTK_OVERRIDE;
 
   // Pick render entire viewport
   // Automatically invoked from vtkRenderer at the end of a still render.
diff --git a/Rendering/Core/vtkSelectVisiblePoints.h b/Rendering/Core/vtkSelectVisiblePoints.h
index 3ac4d757e8..163c317b1b 100644
--- a/Rendering/Core/vtkSelectVisiblePoints.h
+++ b/Rendering/Core/vtkSelectVisiblePoints.h
@@ -55,7 +55,7 @@ class VTKRENDERINGCORE_EXPORT vtkSelectVisiblePoints : public vtkPolyDataAlgorit
 {
 public:
   vtkTypeMacro(vtkSelectVisiblePoints, vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate object with no renderer; window selection turned off;
@@ -134,14 +134,14 @@ public:
   /**
    * Return MTime also considering the renderer.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkSelectVisiblePoints();
-  ~vtkSelectVisiblePoints();
+  ~vtkSelectVisiblePoints() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
   vtkRenderer *Renderer;
   vtkMatrix4x4 *CompositePerspectiveTransform;
diff --git a/Rendering/Core/vtkShaderDeviceAdapter2.h b/Rendering/Core/vtkShaderDeviceAdapter2.h
index e80f013b11..449859f170 100644
--- a/Rendering/Core/vtkShaderDeviceAdapter2.h
+++ b/Rendering/Core/vtkShaderDeviceAdapter2.h
@@ -35,7 +35,7 @@ class VTKRENDERINGCORE_EXPORT vtkShaderDeviceAdapter2 : public vtkObject
 {
 public:
   vtkTypeMacro(vtkShaderDeviceAdapter2, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Sends a single attribute to the graphics card.
@@ -70,7 +70,7 @@ public:
 
 protected:
   vtkShaderDeviceAdapter2();
-  ~vtkShaderDeviceAdapter2();
+  ~vtkShaderDeviceAdapter2() VTK_OVERRIDE;
 
   vtkShaderProgram2* ShaderProgram;
 
diff --git a/Rendering/Core/vtkStringToImage.h b/Rendering/Core/vtkStringToImage.h
index a4a350df93..846ff85f2a 100644
--- a/Rendering/Core/vtkStringToImage.h
+++ b/Rendering/Core/vtkStringToImage.h
@@ -38,7 +38,7 @@ class VTKRENDERINGCORE_EXPORT vtkStringToImage : public vtkObject
 {
 public:
   vtkTypeMacro(vtkStringToImage, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -87,7 +87,7 @@ public:
 
 protected:
   vtkStringToImage();
-  ~vtkStringToImage();
+  ~vtkStringToImage() VTK_OVERRIDE;
 
   bool Antialias;
   bool ScaleToPowerOfTwo;
diff --git a/Rendering/Core/vtkTDxInteractorStyle.h b/Rendering/Core/vtkTDxInteractorStyle.h
index 6f8227086d..1b9d449b48 100644
--- a/Rendering/Core/vtkTDxInteractorStyle.h
+++ b/Rendering/Core/vtkTDxInteractorStyle.h
@@ -43,7 +43,7 @@ class VTKRENDERINGCORE_EXPORT vtkTDxInteractorStyle : public vtkObject
 {
 public:
   vtkTypeMacro(vtkTDxInteractorStyle,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Action on motion event. Default implementation is empty.
@@ -85,7 +85,7 @@ public:
 
 protected:
   vtkTDxInteractorStyle();
-  virtual ~vtkTDxInteractorStyle();
+  ~vtkTDxInteractorStyle() VTK_OVERRIDE;
 
   vtkTDxInteractorStyleSettings *Settings;
 
diff --git a/Rendering/Core/vtkTDxInteractorStyleCamera.h b/Rendering/Core/vtkTDxInteractorStyleCamera.h
index 78d152a461..aece9c1912 100644
--- a/Rendering/Core/vtkTDxInteractorStyleCamera.h
+++ b/Rendering/Core/vtkTDxInteractorStyleCamera.h
@@ -38,17 +38,17 @@ class VTKRENDERINGCORE_EXPORT vtkTDxInteractorStyleCamera : public vtkTDxInterac
 public:
   static vtkTDxInteractorStyleCamera *New();
   vtkTypeMacro(vtkTDxInteractorStyleCamera,vtkTDxInteractorStyle);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Action on motion event.
    * \pre: motionInfo_exist: motionInfo!=0
    */
-  virtual void OnMotionEvent(vtkTDxMotionEventInfo *motionInfo);
+  void OnMotionEvent(vtkTDxMotionEventInfo *motionInfo) VTK_OVERRIDE;
 
 protected:
   vtkTDxInteractorStyleCamera();
-  virtual ~vtkTDxInteractorStyleCamera();
+  ~vtkTDxInteractorStyleCamera() VTK_OVERRIDE;
 
   vtkTransform *Transform; // Used for internal intermediate calculation.
 
diff --git a/Rendering/Core/vtkTDxInteractorStyleSettings.h b/Rendering/Core/vtkTDxInteractorStyleSettings.h
index 3a4dd4e3cd..8216040738 100644
--- a/Rendering/Core/vtkTDxInteractorStyleSettings.h
+++ b/Rendering/Core/vtkTDxInteractorStyleSettings.h
@@ -36,7 +36,7 @@ class VTKRENDERINGCORE_EXPORT vtkTDxInteractorStyleSettings : public vtkObject
 public:
   static vtkTDxInteractorStyleSettings *New();
   vtkTypeMacro(vtkTDxInteractorStyleSettings,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -118,7 +118,7 @@ public:
 
 protected:
   vtkTDxInteractorStyleSettings();
-  virtual ~vtkTDxInteractorStyleSettings();
+  ~vtkTDxInteractorStyleSettings() VTK_OVERRIDE;
 
   double AngleSensitivity;
   bool UseRotationX;
diff --git a/Rendering/Core/vtkTextActor.h b/Rendering/Core/vtkTextActor.h
index 91f0027ed4..fdfaa22534 100644
--- a/Rendering/Core/vtkTextActor.h
+++ b/Rendering/Core/vtkTextActor.h
@@ -262,7 +262,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   //@{
   /**
@@ -270,15 +270,15 @@ public:
    * DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS.
    * Draw the text actor to the screen.
    */
-  virtual int RenderOpaqueGeometry(vtkViewport* viewport) VTK_OVERRIDE;
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport* ) VTK_OVERRIDE {return 0;};
-  virtual int RenderOverlay(vtkViewport* viewport) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport* viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport* ) VTK_OVERRIDE {return 0;};
+  int RenderOverlay(vtkViewport* viewport) VTK_OVERRIDE;
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
 protected:
   /**
@@ -293,7 +293,7 @@ protected:
     vtkTextProperty *tprop, vtkViewport *viewport, int bbox[4]);
 
    vtkTextActor();
-  ~vtkTextActor();
+  ~vtkTextActor() VTK_OVERRIDE;
 
   int     MinimumSize[2];
   float   MaximumLineHeight;
diff --git a/Rendering/Core/vtkTextActor3D.h b/Rendering/Core/vtkTextActor3D.h
index 0eee7d1700..2c8d30676c 100644
--- a/Rendering/Core/vtkTextActor3D.h
+++ b/Rendering/Core/vtkTextActor3D.h
@@ -45,7 +45,7 @@ class VTKRENDERINGCORE_EXPORT vtkTextActor3D : public vtkProp3D
 public:
   static vtkTextActor3D *New();
   vtkTypeMacro(vtkTextActor3D,vtkProp3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -75,12 +75,12 @@ public:
    * Shallow copy of this text actor. Overloads the virtual
    * vtkProp method.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
   /**
    * Get the bounds for this Prop3D as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
    */
-  virtual double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
   void GetBounds(double bounds[6]) {this->vtkProp3D::GetBounds( bounds );}
 
   /**
@@ -97,7 +97,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Force the actor to render during the opaque or translucent pass.
@@ -119,19 +119,19 @@ public:
    * DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS.
    * Draw the text actor to the screen.
    */
-  int RenderOpaqueGeometry(vtkViewport* viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport* viewport);
-  int RenderOverlay(vtkViewport* viewport);
+  int RenderOpaqueGeometry(vtkViewport* viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport* viewport) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport* viewport) VTK_OVERRIDE;
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
 protected:
    vtkTextActor3D();
-  ~vtkTextActor3D();
+  ~vtkTextActor3D() VTK_OVERRIDE;
 
   char            *Input;
 
diff --git a/Rendering/Core/vtkTextMapper.h b/Rendering/Core/vtkTextMapper.h
index de5ff029aa..fd6b05da88 100644
--- a/Rendering/Core/vtkTextMapper.h
+++ b/Rendering/Core/vtkTextMapper.h
@@ -48,7 +48,7 @@ class VTKRENDERINGCORE_EXPORT vtkTextMapper : public vtkMapper2D
 {
 public:
   vtkTypeMacro(vtkTextMapper,vtkMapper2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a new text mapper.
@@ -123,13 +123,13 @@ public:
                                          int *stringSize, float sizeFactor);
   //@}
 
-  void RenderOverlay(vtkViewport *, vtkActor2D *);
-  void ReleaseGraphicsResources(vtkWindow *);
-  vtkMTimeType GetMTime();
+  void RenderOverlay(vtkViewport *, vtkActor2D *) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkTextMapper();
-  ~vtkTextMapper();
+  ~vtkTextMapper() VTK_OVERRIDE;
 
   char* Input;
   vtkTextProperty *TextProperty;
diff --git a/Rendering/Core/vtkTextProperty.h b/Rendering/Core/vtkTextProperty.h
index d1da9efd48..bebc990227 100644
--- a/Rendering/Core/vtkTextProperty.h
+++ b/Rendering/Core/vtkTextProperty.h
@@ -256,7 +256,7 @@ public:
 
 protected:
   vtkTextProperty();
-  ~vtkTextProperty();
+  ~vtkTextProperty() VTK_OVERRIDE;
 
   double Color[3];
   double Opacity;
diff --git a/Rendering/Core/vtkTextPropertyCollection.h b/Rendering/Core/vtkTextPropertyCollection.h
index 7cff17d44e..7229646a63 100644
--- a/Rendering/Core/vtkTextPropertyCollection.h
+++ b/Rendering/Core/vtkTextPropertyCollection.h
@@ -65,7 +65,7 @@ class VTKRENDERINGCORE_EXPORT vtkTextPropertyCollection : public vtkCollection
 
 protected:
   vtkTextPropertyCollection();
-  ~vtkTextPropertyCollection();
+  ~vtkTextPropertyCollection() VTK_OVERRIDE;
 
 private:
   // hide the standard AddItem from the user and the compiler.
diff --git a/Rendering/Core/vtkTextRenderer.h b/Rendering/Core/vtkTextRenderer.h
index d84f01e6c1..5da64062b3 100644
--- a/Rendering/Core/vtkTextRenderer.h
+++ b/Rendering/Core/vtkTextRenderer.h
@@ -103,7 +103,7 @@ public:
     //@}
 
   vtkTypeMacro(vtkTextRenderer, vtkObject)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * This is a singleton pattern New. There will be only ONE reference
@@ -285,7 +285,7 @@ public:
 
 protected:
   vtkTextRenderer();
-  ~vtkTextRenderer();
+  ~vtkTextRenderer() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Rendering/Core/vtkTexture.h b/Rendering/Core/vtkTexture.h
index 7ad190f823..8140320957 100644
--- a/Rendering/Core/vtkTexture.h
+++ b/Rendering/Core/vtkTexture.h
@@ -66,7 +66,7 @@ class VTKRENDERINGCORE_EXPORT vtkTexture : public vtkImageAlgorithm
 public:
   static vtkTexture* New();
   vtkTypeMacro(vtkTexture, vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Renders a texture map. It first checks the object's modified time
@@ -252,11 +252,11 @@ public:
 
 protected:
   vtkTexture();
-  ~vtkTexture();
+  ~vtkTexture() VTK_OVERRIDE;
 
   // A texture is a sink, so there is no need to do anything.
   // This definition avoids a warning when doing Update() on a vtkTexture object.
-  virtual void ExecuteData(vtkDataObject *)
+  void ExecuteData(vtkDataObject *) VTK_OVERRIDE
   {
   }
 
diff --git a/Rendering/Core/vtkTexturedActor2D.h b/Rendering/Core/vtkTexturedActor2D.h
index 7554f6d322..7b01a2818e 100644
--- a/Rendering/Core/vtkTexturedActor2D.h
+++ b/Rendering/Core/vtkTexturedActor2D.h
@@ -57,30 +57,30 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow* win) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow* win) VTK_OVERRIDE;
 
   //@{
   /**
    * Support the standard render methods.
    */
-  virtual int RenderOverlay(vtkViewport* viewport) VTK_OVERRIDE;
-  virtual int RenderOpaqueGeometry(vtkViewport* viewport) VTK_OVERRIDE;
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport* viewport) VTK_OVERRIDE;
+  int RenderOverlay(vtkViewport* viewport) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport* viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport* viewport) VTK_OVERRIDE;
   //@}
 
   /**
    * Return this object's modified time.
    */
-  virtual vtkMTimeType GetMTime() VTK_OVERRIDE;
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Shallow copy of this vtkTexturedActor2D. Overrides vtkActor2D method.
    */
-  virtual void ShallowCopy(vtkProp* prop) VTK_OVERRIDE;
+  void ShallowCopy(vtkProp* prop) VTK_OVERRIDE;
 
 protected:
   vtkTexturedActor2D();
-  ~vtkTexturedActor2D();
+  ~vtkTexturedActor2D() VTK_OVERRIDE;
 
   vtkTexture* Texture;
 
diff --git a/Rendering/Core/vtkTransformCoordinateSystems.h b/Rendering/Core/vtkTransformCoordinateSystems.h
index 4493601d7a..5b64396524 100644
--- a/Rendering/Core/vtkTransformCoordinateSystems.h
+++ b/Rendering/Core/vtkTransformCoordinateSystems.h
@@ -40,7 +40,7 @@ public:
    * Standard methods for type information and printing.
    */
   vtkTypeMacro(vtkTransformCoordinateSystems, vtkPointSetAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -84,7 +84,7 @@ public:
   /**
    * Return the MTime also considering the instance of vtkCoordinate.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -100,9 +100,9 @@ public:
 
 protected:
   vtkTransformCoordinateSystems();
-  ~vtkTransformCoordinateSystems();
+  ~vtkTransformCoordinateSystems() VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   int InputCoordinateSystem;
   int OutputCoordinateSystem;
diff --git a/Rendering/Core/vtkTransformInterpolator.h b/Rendering/Core/vtkTransformInterpolator.h
index 2bd980ec67..059ff52822 100644
--- a/Rendering/Core/vtkTransformInterpolator.h
+++ b/Rendering/Core/vtkTransformInterpolator.h
@@ -66,7 +66,7 @@ class VTKRENDERINGCORE_EXPORT vtkTransformInterpolator : public vtkObject
 {
 public:
   vtkTypeMacro(vtkTransformInterpolator, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate the class.
@@ -186,11 +186,11 @@ public:
    * Override GetMTime() because we depend on the interpolators which may be
    * modified outside of this class.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkTransformInterpolator();
-  virtual ~vtkTransformInterpolator();
+  ~vtkTransformInterpolator() VTK_OVERRIDE;
 
   // Control the interpolation type
   int InterpolationType;
diff --git a/Rendering/Core/vtkTupleInterpolator.h b/Rendering/Core/vtkTupleInterpolator.h
index 6af082e175..99ee53c802 100644
--- a/Rendering/Core/vtkTupleInterpolator.h
+++ b/Rendering/Core/vtkTupleInterpolator.h
@@ -55,7 +55,7 @@ class VTKRENDERINGCORE_EXPORT vtkTupleInterpolator : public vtkObject
 {
 public:
   vtkTypeMacro(vtkTupleInterpolator, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Instantiate the class.
@@ -156,7 +156,7 @@ public:
 
 protected:
   vtkTupleInterpolator();
-  virtual ~vtkTupleInterpolator();
+  ~vtkTupleInterpolator() VTK_OVERRIDE;
 
   // The number of components being interpolated
   int NumberOfComponents;
diff --git a/Rendering/Core/vtkViewDependentErrorMetric.h b/Rendering/Core/vtkViewDependentErrorMetric.h
index e5765f9c6c..d920c17a0b 100644
--- a/Rendering/Core/vtkViewDependentErrorMetric.h
+++ b/Rendering/Core/vtkViewDependentErrorMetric.h
@@ -49,7 +49,7 @@ public:
    * Standard VTK type and error macros.
    */
   vtkTypeMacro(vtkViewDependentErrorMetric,vtkGenericSubdivisionErrorMetric);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -104,7 +104,7 @@ public:
    * =GetAttributeCollection()->GetNumberOfPointCenteredComponents()+6
    */
   int RequiresEdgeSubdivision(double *leftPoint, double *midPoint, double *rightPoint,
-                              double alpha);
+                              double alpha) VTK_OVERRIDE;
 
   /**
    * Return the error at the mid-point. The type of error depends on the state
@@ -120,11 +120,11 @@ public:
    * \post positive_result: result>=0
    */
   double GetError(double *leftPoint, double *midPoint,
-                  double *rightPoint, double alpha);
+                  double *rightPoint, double alpha) VTK_OVERRIDE;
 
 protected:
   vtkViewDependentErrorMetric();
-  ~vtkViewDependentErrorMetric();
+  ~vtkViewDependentErrorMetric() VTK_OVERRIDE;
 
   /**
    * Square distance between a straight line (defined by points x and y)
diff --git a/Rendering/Core/vtkViewport.h b/Rendering/Core/vtkViewport.h
index 21023d8de0..59f769a6aa 100644
--- a/Rendering/Core/vtkViewport.h
+++ b/Rendering/Core/vtkViewport.h
@@ -45,7 +45,7 @@ class VTKRENDERINGCORE_EXPORT vtkViewport : public vtkObject
 {
 public:
   vtkTypeMacro(vtkViewport,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Add a prop to the list of props. Does nothing if the prop is
@@ -321,7 +321,7 @@ protected:
   // two-sided lighting turned on, a viewport of (0,0,1,1), and back face
   // culling turned off.
   vtkViewport();
-  ~vtkViewport();
+  ~vtkViewport() VTK_OVERRIDE;
 
   // Picking functions to be implemented by sub-classes
   // Perform the main picking loop
diff --git a/Rendering/Core/vtkVisibilitySort.h b/Rendering/Core/vtkVisibilitySort.h
index 7b76679967..1d15dbe590 100644
--- a/Rendering/Core/vtkVisibilitySort.h
+++ b/Rendering/Core/vtkVisibilitySort.h
@@ -58,7 +58,7 @@ class VTKRENDERINGCORE_EXPORT vtkVisibilitySort : public vtkObject
 {
 public:
   vtkTypeMacro(vtkVisibilitySort, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -136,7 +136,7 @@ public:
 
 protected:
   vtkVisibilitySort();
-  virtual ~vtkVisibilitySort();
+  ~vtkVisibilitySort() VTK_OVERRIDE;
 
   vtkTimeStamp LastSortTime;
 
diff --git a/Rendering/Core/vtkVolume.h b/Rendering/Core/vtkVolume.h
index 3a58fdedc6..e162056e94 100644
--- a/Rendering/Core/vtkVolume.h
+++ b/Rendering/Core/vtkVolume.h
@@ -45,7 +45,7 @@ class VTKRENDERINGCORE_EXPORT vtkVolume : public vtkProp3D
 {
 public:
   vtkTypeMacro(vtkVolume, vtkProp3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a Volume with the following defaults: origin(0,0,0)
@@ -75,7 +75,7 @@ public:
    * able to collect all the actors or volumes. This method
    * is used in that process.
    */
-  void GetVolumes(vtkPropCollection *vc);
+  void GetVolumes(vtkPropCollection *vc) VTK_OVERRIDE;
 
   /**
    * Update the volume rendering pipeline by updating the volume mapper
@@ -87,7 +87,7 @@ public:
    * Get the bounds - either all six at once
    * (xmin, xmax, ymin, ymax, zmin, zmax) or one at a time.
    */
-  double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
   void GetBounds(double bounds[6])
     { this->vtkProp3D::GetBounds(bounds); }
   double GetMinXBound();
@@ -101,7 +101,7 @@ public:
   /**
    * Return the MTime also considering the property etc.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Return the mtime of anything that would cause the rendered image to
@@ -109,12 +109,12 @@ public:
    * prop plus anything else it depends on such as properties, mappers,
    * etc.
    */
-  vtkMTimeType GetRedrawMTime();
+  vtkMTimeType GetRedrawMTime() VTK_OVERRIDE;
 
   /**
    * Shallow copy of this vtkVolume. Overloads the virtual vtkProp method.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
   /**
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
@@ -124,7 +124,7 @@ public:
    * this method (FRAMEBUFFER volume such as texture mapping will
    * be rendered this way)
    */
-  int RenderVolumetricGeometry(vtkViewport *viewport);
+  int RenderVolumetricGeometry(vtkViewport *viewport) VTK_OVERRIDE;
 
   /**
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
@@ -132,7 +132,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
@@ -206,12 +206,12 @@ public:
   /// selection.
   /// @warning INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
   /// DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS
-  virtual bool GetSupportsSelection()
+  bool GetSupportsSelection() VTK_OVERRIDE
    { return true; }
 
 protected:
   vtkVolume();
-  ~vtkVolume();
+  ~vtkVolume() VTK_OVERRIDE;
 
   vtkAbstractVolumeMapper *Mapper;
   vtkVolumeProperty *Property;
diff --git a/Rendering/Core/vtkVolumeCollection.h b/Rendering/Core/vtkVolumeCollection.h
index 7cf11e4fc7..cbf5724187 100644
--- a/Rendering/Core/vtkVolumeCollection.h
+++ b/Rendering/Core/vtkVolumeCollection.h
@@ -70,7 +70,7 @@ class VTKRENDERINGCORE_EXPORT vtkVolumeCollection : public vtkPropCollection
 
 protected:
   vtkVolumeCollection() {}
-  ~vtkVolumeCollection() {}
+  ~vtkVolumeCollection() VTK_OVERRIDE {}
 
 private:
   // hide the standard AddItem from the user and the compiler.
diff --git a/Rendering/Core/vtkVolumeProperty.h b/Rendering/Core/vtkVolumeProperty.h
index baf7dffacc..d52c909a6b 100644
--- a/Rendering/Core/vtkVolumeProperty.h
+++ b/Rendering/Core/vtkVolumeProperty.h
@@ -56,14 +56,14 @@ class VTKRENDERINGCORE_EXPORT vtkVolumeProperty : public vtkObject
 public:
   static vtkVolumeProperty *New();
   vtkTypeMacro(vtkVolumeProperty, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   void DeepCopy(vtkVolumeProperty *p);
 
   /**
    * Get the modified time for this object (or the properties registered
    * with this object).
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -377,7 +377,7 @@ public:
 
 protected:
   vtkVolumeProperty();
-  ~vtkVolumeProperty();
+  ~vtkVolumeProperty() VTK_OVERRIDE;
 
   int IndependentComponents;
   double ComponentWeight[VTK_MAX_VRCOMP];
diff --git a/Rendering/Core/vtkWindowLevelLookupTable.h b/Rendering/Core/vtkWindowLevelLookupTable.h
index c28a88193a..1af1bf9209 100644
--- a/Rendering/Core/vtkWindowLevelLookupTable.h
+++ b/Rendering/Core/vtkWindowLevelLookupTable.h
@@ -44,13 +44,13 @@ class VTKRENDERINGCORE_EXPORT vtkWindowLevelLookupTable : public vtkLookupTable
 public:
   static vtkWindowLevelLookupTable *New();
   vtkTypeMacro(vtkWindowLevelLookupTable,vtkLookupTable);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Generate lookup table as a linear ramp between MinimumTableValue
    * and MaximumTableValue.
    */
-  void Build();
+  void Build() VTK_OVERRIDE;
 
   //@{
   /**
@@ -109,7 +109,7 @@ public:
 
 protected:
   vtkWindowLevelLookupTable(int sze=256, int ext=256);
-  ~vtkWindowLevelLookupTable() {}
+  ~vtkWindowLevelLookupTable() VTK_OVERRIDE {}
 
   double Window;
   double Level;
diff --git a/Rendering/Core/vtkWindowToImageFilter.h b/Rendering/Core/vtkWindowToImageFilter.h
index 00053ff7d8..f68b609430 100644
--- a/Rendering/Core/vtkWindowToImageFilter.h
+++ b/Rendering/Core/vtkWindowToImageFilter.h
@@ -74,7 +74,7 @@ public:
   static vtkWindowToImageFilter *New();
 
   vtkTypeMacro(vtkWindowToImageFilter,vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Indicates what renderer to get the pixel data from. Initial value is 0.
@@ -161,13 +161,13 @@ public:
   /**
    * see vtkAlgorithm for details
    */
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   vtkWindowToImageFilter();
-  ~vtkWindowToImageFilter();
+  ~vtkWindowToImageFilter() VTK_OVERRIDE;
 
   // vtkWindow is not a vtkDataObject, so we need our own ivar.
   vtkWindow *Input;
@@ -186,7 +186,7 @@ protected:
                                   vtkInformationVector*);
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation(int port, vtkInformation* info);
+  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   // The following was extracted from vtkRenderLargeImage, and patch to handle viewports
   void Rescale2DActors();
diff --git a/Rendering/Core/vtkWorldPointPicker.h b/Rendering/Core/vtkWorldPointPicker.h
index 312d2541a7..cd608b3c59 100644
--- a/Rendering/Core/vtkWorldPointPicker.h
+++ b/Rendering/Core/vtkWorldPointPicker.h
@@ -40,21 +40,21 @@ class VTKRENDERINGCORE_EXPORT vtkWorldPointPicker : public vtkAbstractPicker
 public:
   static vtkWorldPointPicker *New();
   vtkTypeMacro(vtkWorldPointPicker,vtkAbstractPicker);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Perform the pick. (This method overload's the superclass.)
    */
   int Pick(double selectionX, double selectionY, double selectionZ,
-           vtkRenderer *renderer);
+           vtkRenderer *renderer) VTK_OVERRIDE;
   int Pick(double selectionPt[3], vtkRenderer *renderer)
     { return this->vtkAbstractPicker::Pick( selectionPt, renderer); };
   //@}
 
 protected:
   vtkWorldPointPicker ();
-  ~vtkWorldPointPicker() {}
+  ~vtkWorldPointPicker() VTK_OVERRIDE {}
 
 private:
   vtkWorldPointPicker(const vtkWorldPointPicker&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/FreeType/vtkFreeTypeStringToImage.h b/Rendering/FreeType/vtkFreeTypeStringToImage.h
index 70e8d5d40b..586beefe21 100644
--- a/Rendering/FreeType/vtkFreeTypeStringToImage.h
+++ b/Rendering/FreeType/vtkFreeTypeStringToImage.h
@@ -32,7 +32,7 @@ class VTKRENDERINGFREETYPE_EXPORT vtkFreeTypeStringToImage : public vtkStringToI
 {
 public:
   vtkTypeMacro(vtkFreeTypeStringToImage, vtkStringToImage);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkFreeTypeStringToImage *New();
 
@@ -50,10 +50,10 @@ public:
    * is valid (it may not if GetBoundingBox() failed or if the string
    * was empty).
    */
-  virtual vtkVector2i GetBounds(vtkTextProperty *property,
-                                const vtkUnicodeString& string, int dpi);
-  virtual vtkVector2i GetBounds(vtkTextProperty *property,
-                                const vtkStdString& string, int dpi);
+  vtkVector2i GetBounds(vtkTextProperty *property,
+                                const vtkUnicodeString& string, int dpi) VTK_OVERRIDE;
+  vtkVector2i GetBounds(vtkTextProperty *property,
+                                const vtkStdString& string, int dpi) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -64,21 +64,21 @@ public:
    * This is useful when ScaleToPowerOfTwo is true, and the image dimensions may
    * not match the dimensions of the rendered text.
    */
-  virtual int RenderString(vtkTextProperty *property,
+  int RenderString(vtkTextProperty *property,
                            const vtkUnicodeString& string, int dpi,
                            vtkImageData *data,
-                           int textDims[2] = NULL);
-  virtual int RenderString(vtkTextProperty *property,
+                           int textDims[2] = NULL) VTK_OVERRIDE;
+  int RenderString(vtkTextProperty *property,
                            const vtkStdString& string, int dpi,
                            vtkImageData *data,
-                           int textDims[2] = NULL);
+                           int textDims[2] = NULL) VTK_OVERRIDE;
   //@}
 
   /**
    * Should we produce images at powers of 2, makes rendering on old OpenGL
    * hardware easier. Default is false.
    */
-  virtual void SetScaleToPowerOfTwo(bool scale);
+  void SetScaleToPowerOfTwo(bool scale) VTK_OVERRIDE;
 
   /**
    * Make a deep copy of the supplied utility class.
@@ -87,7 +87,7 @@ public:
 
 protected:
   vtkFreeTypeStringToImage();
-  ~vtkFreeTypeStringToImage();
+  ~vtkFreeTypeStringToImage() VTK_OVERRIDE;
 
   class Internals;
   Internals* Implementation;
diff --git a/Rendering/FreeType/vtkFreeTypeTools.h b/Rendering/FreeType/vtkFreeTypeTools.h
index 1923b38ecf..b3fcf81a03 100644
--- a/Rendering/FreeType/vtkFreeTypeTools.h
+++ b/Rendering/FreeType/vtkFreeTypeTools.h
@@ -65,7 +65,7 @@ class VTKRENDERINGFREETYPE_EXPORT vtkFreeTypeTools : public vtkObject
 {
 public:
   vtkTypeMacro(vtkFreeTypeTools, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Return the singleton instance with no reference counting.
@@ -332,7 +332,7 @@ protected:
   bool ScaleToPowerTwo;
 
   vtkFreeTypeTools();
-  virtual ~vtkFreeTypeTools();
+  ~vtkFreeTypeTools() VTK_OVERRIDE;
 
   /**
    * Attempt to get the typeface of the specified font.
diff --git a/Rendering/FreeType/vtkMathTextFreeTypeTextRenderer.h b/Rendering/FreeType/vtkMathTextFreeTypeTextRenderer.h
index 803e0ff376..7d7fb3c0bb 100644
--- a/Rendering/FreeType/vtkMathTextFreeTypeTextRenderer.h
+++ b/Rendering/FreeType/vtkMathTextFreeTypeTextRenderer.h
@@ -42,7 +42,7 @@ class VTKRENDERINGFREETYPE_EXPORT vtkMathTextFreeTypeTextRenderer :
 {
 public:
   vtkTypeMacro(vtkMathTextFreeTypeTextRenderer, vtkTextRenderer)
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkMathTextFreeTypeTextRenderer *New();
 
@@ -50,46 +50,46 @@ public:
   /**
    * Test for availability of various backends
    */
-  virtual bool FreeTypeIsSupported();
-  virtual bool MathTextIsSupported();
+  bool FreeTypeIsSupported() VTK_OVERRIDE;
+  bool MathTextIsSupported() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkMathTextFreeTypeTextRenderer();
-  ~vtkMathTextFreeTypeTextRenderer();
+  ~vtkMathTextFreeTypeTextRenderer() VTK_OVERRIDE;
 
   //@{
   /**
    * Reimplemented from vtkTextRenderer.
    */
   bool GetBoundingBoxInternal(vtkTextProperty *tprop, const vtkStdString &str,
-                              int bbox[4], int dpi, int backend);
+                              int bbox[4], int dpi, int backend) VTK_OVERRIDE;
   bool GetBoundingBoxInternal(vtkTextProperty *tprop,
                               const vtkUnicodeString &str,
-                              int bbox[4], int dpi, int backend);
+                              int bbox[4], int dpi, int backend) VTK_OVERRIDE;
   bool GetMetricsInternal(vtkTextProperty *tprop, const vtkStdString &str,
-                          Metrics &metrics, int dpi, int backend);
+                          Metrics &metrics, int dpi, int backend) VTK_OVERRIDE;
   bool GetMetricsInternal(vtkTextProperty *tprop, const vtkUnicodeString &str,
-                          Metrics &metrics, int dpi, int backend);
+                          Metrics &metrics, int dpi, int backend) VTK_OVERRIDE;
   bool RenderStringInternal(vtkTextProperty *tprop, const vtkStdString &str,
                             vtkImageData *data, int textDims[2], int dpi,
-                            int backend);
+                            int backend) VTK_OVERRIDE;
   bool RenderStringInternal(vtkTextProperty *tprop, const vtkUnicodeString &str,
                             vtkImageData *data, int textDims[2], int dpi,
-                            int backend);
+                            int backend) VTK_OVERRIDE;
   int GetConstrainedFontSizeInternal(const vtkStdString &str,
                                      vtkTextProperty *tprop,
                                      int targetWidth, int targetHeight, int dpi,
-                                     int backend);
+                                     int backend) VTK_OVERRIDE;
   int GetConstrainedFontSizeInternal(const vtkUnicodeString &str,
                                      vtkTextProperty *tprop,
                                      int targetWidth, int targetHeight, int dpi,
-                                     int backend);
+                                     int backend) VTK_OVERRIDE;
   bool StringToPathInternal(vtkTextProperty *tprop, const vtkStdString &str,
-                            vtkPath *path, int dpi, int backend);
+                            vtkPath *path, int dpi, int backend) VTK_OVERRIDE;
   bool StringToPathInternal(vtkTextProperty *tprop, const vtkUnicodeString &str,
-                            vtkPath *path, int dpi, int backend);
-  void SetScaleToPowerOfTwoInternal(bool scale);
+                            vtkPath *path, int dpi, int backend) VTK_OVERRIDE;
+  void SetScaleToPowerOfTwoInternal(bool scale) VTK_OVERRIDE;
   //@}
 
 private:
diff --git a/Rendering/FreeType/vtkMathTextUtilities.h b/Rendering/FreeType/vtkMathTextUtilities.h
index 9cc2dfe7e7..7ad94469e3 100644
--- a/Rendering/FreeType/vtkMathTextUtilities.h
+++ b/Rendering/FreeType/vtkMathTextUtilities.h
@@ -52,7 +52,7 @@ class VTKRENDERINGFREETYPE_EXPORT vtkMathTextUtilities : public vtkObject
 {
 public:
   vtkTypeMacro(vtkMathTextUtilities, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Returns true if mathtext rendering is available.
@@ -134,7 +134,7 @@ public:
 
 protected:
   vtkMathTextUtilities();
-  virtual ~vtkMathTextUtilities();
+  ~vtkMathTextUtilities() VTK_OVERRIDE;
 
 private:
   vtkMathTextUtilities(const vtkMathTextUtilities&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/FreeType/vtkTextRendererStringToImage.h b/Rendering/FreeType/vtkTextRendererStringToImage.h
index 7644ecea6c..79571facde 100644
--- a/Rendering/FreeType/vtkTextRendererStringToImage.h
+++ b/Rendering/FreeType/vtkTextRendererStringToImage.h
@@ -30,7 +30,7 @@ class VTKRENDERINGFREETYPE_EXPORT vtkTextRendererStringToImage :
 {
 public:
   vtkTypeMacro(vtkTextRendererStringToImage, vtkStringToImage);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkTextRendererStringToImage *New();
 
@@ -48,12 +48,12 @@ public:
    * is valid (it may not if GetBoundingBox() failed or if the string
    * was empty).
    */
-  virtual vtkVector2i GetBounds(vtkTextProperty *property,
+  vtkVector2i GetBounds(vtkTextProperty *property,
                                 const vtkUnicodeString& string,
-                                int dpi);
-  virtual vtkVector2i GetBounds(vtkTextProperty *property,
+                                int dpi) VTK_OVERRIDE;
+  vtkVector2i GetBounds(vtkTextProperty *property,
                                 const vtkStdString& string,
-                                int dpi);
+                                int dpi) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -64,23 +64,23 @@ public:
    * This is useful when ScaleToPowerOfTwo is true, and the image dimensions may
    * not match the dimensions of the rendered text.
    */
-  virtual int RenderString(vtkTextProperty *property,
+  int RenderString(vtkTextProperty *property,
                            const vtkUnicodeString& string,
                            int dpi,
                            vtkImageData *data,
-                           int textDims[2] = NULL);
-  virtual int RenderString(vtkTextProperty *property,
+                           int textDims[2] = NULL) VTK_OVERRIDE;
+  int RenderString(vtkTextProperty *property,
                            const vtkStdString& string,
                            int dpi,
                            vtkImageData *data,
-                           int textDims[2] = NULL);
+                           int textDims[2] = NULL) VTK_OVERRIDE;
   //@}
 
   /**
    * Should we produce images at powers of 2, makes rendering on old OpenGL
    * hardware easier. Default is false.
    */
-  virtual void SetScaleToPowerOfTwo(bool scale);
+  void SetScaleToPowerOfTwo(bool scale) VTK_OVERRIDE;
 
   /**
    * Make a deep copy of the supplied utility class.
@@ -89,7 +89,7 @@ public:
 
 protected:
   vtkTextRendererStringToImage();
-  ~vtkTextRendererStringToImage();
+  ~vtkTextRendererStringToImage() VTK_OVERRIDE;
 
   class Internals;
   Internals* Implementation;
diff --git a/Rendering/FreeType/vtkVectorText.h b/Rendering/FreeType/vtkVectorText.h
index fdbe001c38..a7df4d9336 100644
--- a/Rendering/FreeType/vtkVectorText.h
+++ b/Rendering/FreeType/vtkVectorText.h
@@ -43,7 +43,7 @@ class VTKRENDERINGFREETYPE_EXPORT vtkVectorText : public vtkPolyDataAlgorithm
 public:
   static vtkVectorText *New();
   vtkTypeMacro(vtkVectorText,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -55,9 +55,9 @@ public:
 
 protected:
   vtkVectorText();
-  ~vtkVectorText();
+  ~vtkVectorText() VTK_OVERRIDE;
 
-  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
   char *Text;
 
 private:
diff --git a/Rendering/GL2PS/vtkGL2PSContextDevice2D.h b/Rendering/GL2PS/vtkGL2PSContextDevice2D.h
index bf4980bcf9..bad36da73f 100644
--- a/Rendering/GL2PS/vtkGL2PSContextDevice2D.h
+++ b/Rendering/GL2PS/vtkGL2PSContextDevice2D.h
@@ -39,7 +39,7 @@ class VTKRENDERINGGL2PS_EXPORT vtkGL2PSContextDevice2D
 {
 public:
   vtkTypeMacro(vtkGL2PSContextDevice2D, vtkOpenGLContextDevice2D);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkGL2PSContextDevice2D *New();
 
@@ -51,15 +51,15 @@ public:
    * If colors is not set and the current Pen's alpha channel is zero, no
    * OpenGL calls are emitted.
    */
-  virtual void DrawPoly(float *f, int n, unsigned char *colors = 0,
-                        int nc_comps = 0);
+  void DrawPoly(float *f, int n, unsigned char *colors = 0,
+                        int nc_comps = 0) VTK_OVERRIDE;
 
   /**
    * Draw a series of points - fastest code path due to memory layout of the
    * coordinates. The colors and nc_comps are optional - color array.
    */
-  virtual void DrawPoints(float *points, int n, unsigned char* colors = 0,
-                          int nc_comps = 0);
+  void DrawPoints(float *points, int n, unsigned char* colors = 0,
+                          int nc_comps = 0) VTK_OVERRIDE;
 
   /**
    * Draw a series of point sprites, images centred at the points supplied.
@@ -68,18 +68,18 @@ public:
    * \param colors is an optional array of colors.
    * \param nc_comps is the number of components for the color.
    */
-  virtual void DrawPointSprites(vtkImageData *sprite, float *points, int n,
-                                unsigned char *colors = 0, int nc_comps = 0);
+  void DrawPointSprites(vtkImageData *sprite, float *points, int n,
+                                unsigned char *colors = 0, int nc_comps = 0) VTK_OVERRIDE;
 
   /**
    * Draw a quad using the specified number of points.
    */
-  virtual void DrawQuadStrip(float *, int);
+  void DrawQuadStrip(float *, int) VTK_OVERRIDE;
 
   /**
    * Draw a polygon using the specified number of points.
    */
-  virtual void DrawPolygon(float *, int);
+  void DrawPolygon(float *, int) VTK_OVERRIDE;
 
   /**
    * Draw an elliptic wedge with center at x, y, outer radii outRx, outRy,
@@ -92,9 +92,9 @@ public:
    * \pre ordered_rx: inRx<=outRx
    * \pre ordered_ry: inRy<=outRy
    */
-  virtual void DrawEllipseWedge(float x, float y, float outRx, float outRy,
+  void DrawEllipseWedge(float x, float y, float outRx, float outRy,
                                 float inRx, float inRy, float startAngle,
-                                float stopAngle);
+                                float stopAngle) VTK_OVERRIDE;
 
   /**
    * Draw an elliptic arc with center at x,y with radii rX and rY between
@@ -102,8 +102,8 @@ public:
    * \pre positive_rX: rX>=0
    * \pre positive_rY: rY>=0
    */
-  virtual void DrawEllipticArc(float x, float y, float rX, float rY,
-                               float startAngle, float stopAngle);
+  void DrawEllipticArc(float x, float y, float rX, float rY,
+                               float startAngle, float stopAngle) VTK_OVERRIDE;
 
   /**
    * Draw a series of markers centered at the points supplied. The \a shape
@@ -116,55 +116,55 @@ public:
    * \param colors is an optional array of colors.
    * \param nc_comps is the number of components for the color.
    */
-  virtual void DrawMarkers(int shape, bool highlight, float *points, int n,
-                           unsigned char *colors = 0, int nc_comps = 0);
+  void DrawMarkers(int shape, bool highlight, float *points, int n,
+                           unsigned char *colors = 0, int nc_comps = 0) VTK_OVERRIDE;
 
   /**
    * Draws a rectangle
    */
-  virtual void DrawQuad(float *points, int n);
+  void DrawQuad(float *points, int n) VTK_OVERRIDE;
 
   /**
    * Draw some text to the screen!
    */
-  virtual void DrawString(float *point, const vtkStdString &string);
+  void DrawString(float *point, const vtkStdString &string) VTK_OVERRIDE;
 
   /**
    * Draw some text to the screen.
    */
-  virtual void DrawString(float *point, const vtkUnicodeString &string);
+  void DrawString(float *point, const vtkUnicodeString &string) VTK_OVERRIDE;
 
   /**
    * Draw text using MathText markup for mathematical equations. See
    * http://matplotlib.sourceforge.net/users/mathtext.html for more information.
    */
-  virtual void DrawMathTextString(float point[2], const vtkStdString &string);
+  void DrawMathTextString(float point[2], const vtkStdString &string) VTK_OVERRIDE;
 
   /**
    * Apply the supplied pen which controls the outlines of shapes, as well as
    * lines, points and related primitives. This makes a deep copy of the vtkPen
    * object in the vtkContext2D, it does not hold a pointer to the supplied object.
    */
-  void ApplyPen(vtkPen *pen);
+  void ApplyPen(vtkPen *pen) VTK_OVERRIDE;
 
   /**
    * Set the point size for glyphs/sprites.
    */
-  virtual void SetPointSize(float size);
+  void SetPointSize(float size) VTK_OVERRIDE;
 
   /**
    * Set the line width for glyphs/sprites.
    */
-  virtual void SetLineWidth(float width);
+  void SetLineWidth(float width) VTK_OVERRIDE;
 
   /**
    * Set the line type type (using anonymous enum in vtkPen).
    */
-  virtual void SetLineType(int type);
+  void SetLineType(int type) VTK_OVERRIDE;
 
 protected:
   vtkGL2PSContextDevice2D();
-  virtual ~vtkGL2PSContextDevice2D();
+  ~vtkGL2PSContextDevice2D() VTK_OVERRIDE;
 
 private:
   vtkGL2PSContextDevice2D(const vtkGL2PSContextDevice2D &) VTK_DELETE_FUNCTION;
diff --git a/Rendering/GL2PS/vtkGL2PSUtilities.h b/Rendering/GL2PS/vtkGL2PSUtilities.h
index f0a6df86c6..d61a5386db 100644
--- a/Rendering/GL2PS/vtkGL2PSUtilities.h
+++ b/Rendering/GL2PS/vtkGL2PSUtilities.h
@@ -39,7 +39,7 @@ class VTKRENDERINGGL2PS_EXPORT vtkGL2PSUtilities : public vtkObject
 public:
   static vtkGL2PSUtilities *New();
   vtkTypeMacro(vtkGL2PSUtilities, vtkObject)
-  void PrintSelf(ostream& os, vtkIndent indent)
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE
   {
     this->Superclass::PrintSelf(os, indent);
   }
@@ -146,7 +146,7 @@ protected:
                           float strokeWidth = -1, const char *label = NULL);
 
   vtkGL2PSUtilities() {}
-  ~vtkGL2PSUtilities() {}
+  ~vtkGL2PSUtilities() VTK_OVERRIDE {}
 
 private:
   vtkGL2PSUtilities(const vtkGL2PSUtilities &) VTK_DELETE_FUNCTION;
diff --git a/Rendering/GL2PSOpenGL2/vtkOpenGLGL2PSHelperImpl.h b/Rendering/GL2PSOpenGL2/vtkOpenGLGL2PSHelperImpl.h
index 2e6fb04882..510b7d18fa 100644
--- a/Rendering/GL2PSOpenGL2/vtkOpenGLGL2PSHelperImpl.h
+++ b/Rendering/GL2PSOpenGL2/vtkOpenGLGL2PSHelperImpl.h
@@ -34,35 +34,35 @@ class VTKRENDERINGGL2PSOPENGL2_EXPORT vtkOpenGLGL2PSHelperImpl
 public:
   static vtkOpenGLGL2PSHelperImpl *New();
   vtkTypeMacro(vtkOpenGLGL2PSHelperImpl, vtkOpenGLGL2PSHelper)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual void ProcessTransformFeedback(vtkTransformFeedback *tfc,
-                                        vtkRenderer *ren, vtkActor *act);
-  virtual void ProcessTransformFeedback(vtkTransformFeedback *tfc,
+  void ProcessTransformFeedback(vtkTransformFeedback *tfc,
+                                        vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
+  void ProcessTransformFeedback(vtkTransformFeedback *tfc,
                                         vtkRenderer *ren,
-                                        unsigned char col[4]);
-  virtual void ProcessTransformFeedback(vtkTransformFeedback *tfc,
+                                        unsigned char col[4]) VTK_OVERRIDE;
+  void ProcessTransformFeedback(vtkTransformFeedback *tfc,
                                         vtkRenderer *ren,
-                                        float col[4]);
+                                        float col[4]) VTK_OVERRIDE;
 
-  virtual void DrawString(const std::string &str, vtkTextProperty *tprop,
+  void DrawString(const std::string &str, vtkTextProperty *tprop,
                           double pos[3], double backgroundDepth,
-                          vtkRenderer *ren);
+                          vtkRenderer *ren) VTK_OVERRIDE;
 
-  virtual void DrawPath(vtkPath *path, double rasterPos[3], double windowPos[2],
+  void DrawPath(vtkPath *path, double rasterPos[3], double windowPos[2],
                         unsigned char rgba[4], double scale[2] = NULL,
                         double rotateAngle = 0.0, float strokeWidth = -1,
-                        const char *label = NULL);
+                        const char *label = NULL) VTK_OVERRIDE;
 
-  virtual void Draw3DPath(vtkPath *path, vtkMatrix4x4 *actorMatrix,
+  void Draw3DPath(vtkPath *path, vtkMatrix4x4 *actorMatrix,
                           double rasterPos[3], unsigned char actorColor[4],
-                          vtkRenderer *ren, const char *label = NULL);
+                          vtkRenderer *ren, const char *label = NULL) VTK_OVERRIDE;
 
-  virtual void DrawImage(vtkImageData *image, double pos[3]);
+  void DrawImage(vtkImageData *image, double pos[3]) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLGL2PSHelperImpl();
-  ~vtkOpenGLGL2PSHelperImpl();
+  ~vtkOpenGLGL2PSHelperImpl() VTK_OVERRIDE;
 
   /**
    * Translate the tprop's fontname into a Postscript font name.
diff --git a/Rendering/Image/vtkDepthImageToPointCloud.h b/Rendering/Image/vtkDepthImageToPointCloud.h
index 85bb52667b..ad7d64df22 100644
--- a/Rendering/Image/vtkDepthImageToPointCloud.h
+++ b/Rendering/Image/vtkDepthImageToPointCloud.h
@@ -83,13 +83,13 @@ public:
    */
   static vtkDepthImageToPointCloud *New();
   vtkTypeMacro(vtkDepthImageToPointCloud, vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
    * Return the MTime also considering the camera.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Indicates what camera was used to generate the depth image. The camera
@@ -163,7 +163,7 @@ public:
 
 protected:
   vtkDepthImageToPointCloud();
-  ~vtkDepthImageToPointCloud();
+  ~vtkDepthImageToPointCloud() VTK_OVERRIDE;
 
   vtkCamera *Camera;
   bool CullNearPoints;
@@ -172,20 +172,20 @@ protected:
   bool ProduceVertexCellArray;
   int OutputPointsPrecision;
 
-  virtual int RequestInformation(vtkInformation*,
+  int RequestInformation(vtkInformation*,
                                  vtkInformationVector**,
-                                 vtkInformationVector*);
+                                 vtkInformationVector*) VTK_OVERRIDE;
 
-  virtual int RequestUpdateExtent(vtkInformation *request,
+  int RequestUpdateExtent(vtkInformation *request,
                                   vtkInformationVector **inInfo,
-                                  vtkInformationVector *outInfo);
+                                  vtkInformationVector *outInfo) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation* request,
+  int RequestData(vtkInformation* request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation *info);
-  virtual int FillOutputPortInformation(int port, vtkInformation *info);
+  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
+  int FillOutputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
 
 private:
   vtkDepthImageToPointCloud(const vtkDepthImageToPointCloud&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Image/vtkImageResliceMapper.h b/Rendering/Image/vtkImageResliceMapper.h
index dcc28dd273..8db6f6d5a3 100644
--- a/Rendering/Image/vtkImageResliceMapper.h
+++ b/Rendering/Image/vtkImageResliceMapper.h
@@ -48,7 +48,7 @@ class VTKRENDERINGIMAGE_EXPORT vtkImageResliceMapper : public vtkImageMapper3D
 public:
   static vtkImageResliceMapper *New();
   vtkTypeMacro(vtkImageResliceMapper,vtkImageMapper3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set the slice that will be used to cut through the image.
@@ -168,27 +168,27 @@ public:
   /**
    * This should only be called by the renderer.
    */
-  virtual void Render(vtkRenderer *renderer, vtkImageSlice *prop);
+  void Render(vtkRenderer *renderer, vtkImageSlice *prop) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by
    * this mapper.  The parameter window is used to determine
    * which graphic resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Get the mtime for the mapper.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
    * The bounding box (array of six doubles) of the data expressed as
    * (xmin,xmax, ymin,ymax, zmin,zmax).
    */
-  double *GetBounds();
-  void GetBounds(double bounds[6])
+  double *GetBounds() VTK_OVERRIDE;
+  void GetBounds(double bounds[6]) VTK_OVERRIDE
     { this->vtkAbstractMapper3D::GetBounds(bounds); };
   //@}
 
@@ -197,11 +197,11 @@ public:
    */
   int ProcessRequest(vtkInformation* request,
                      vtkInformationVector** inInfo,
-                     vtkInformationVector* outInfo);
+                     vtkInformationVector* outInfo) VTK_OVERRIDE;
 
 protected:
   vtkImageResliceMapper();
-  ~vtkImageResliceMapper();
+  ~vtkImageResliceMapper() VTK_OVERRIDE;
 
   /**
    * Do a checkerboard pattern to the alpha of an RGBA image
@@ -250,10 +250,10 @@ protected:
   /**
    * Override Update to handle some tricky details.
    */
-  virtual void Update(int port);
-  virtual void Update();
-  virtual int Update(int port, vtkInformationVector* requests);
-  virtual int Update(vtkInformation* requests);
+  void Update(int port) VTK_OVERRIDE;
+  void Update() VTK_OVERRIDE;
+  int Update(int port, vtkInformationVector* requests) VTK_OVERRIDE;
+  int Update(vtkInformation* requests) VTK_OVERRIDE;
   //@}
 
   /**
diff --git a/Rendering/Image/vtkImageSliceCollection.h b/Rendering/Image/vtkImageSliceCollection.h
index c7b53467dd..665dcc1bb2 100644
--- a/Rendering/Image/vtkImageSliceCollection.h
+++ b/Rendering/Image/vtkImageSliceCollection.h
@@ -71,9 +71,9 @@ class VTKRENDERINGIMAGE_EXPORT vtkImageSliceCollection : public vtkPropCollectio
 
 protected:
   vtkImageSliceCollection() {}
-  ~vtkImageSliceCollection();
+  ~vtkImageSliceCollection() VTK_OVERRIDE;
 
-  virtual void DeleteElement(vtkCollectionElement *);
+  void DeleteElement(vtkCollectionElement *) VTK_OVERRIDE;
 
 private:
   // hide the standard AddItem from the user and the compiler.
diff --git a/Rendering/Image/vtkImageStack.h b/Rendering/Image/vtkImageStack.h
index b6e6519197..19e6d8b53b 100644
--- a/Rendering/Image/vtkImageStack.h
+++ b/Rendering/Image/vtkImageStack.h
@@ -44,7 +44,7 @@ class VTKRENDERINGIMAGE_EXPORT vtkImageStack : public vtkImageSlice
 {
 public:
   vtkTypeMacro(vtkImageStack,vtkImageSlice);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   static vtkImageStack *New();
 
   /**
@@ -88,25 +88,25 @@ public:
   /**
    * Get the mapper for the currently active image.
    */
-  vtkImageMapper3D *GetMapper();
+  vtkImageMapper3D *GetMapper() VTK_OVERRIDE;
 
   /**
    * Get the property for the currently active image.
    */
-  vtkImageProperty *GetProperty();
+  vtkImageProperty *GetProperty() VTK_OVERRIDE;
 
   //@{
   /**
    * Get the combined bounds of all of the images.
    */
-  double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
   void GetBounds(double bounds[6]) { this->vtkProp3D::GetBounds( bounds ); };
   //@}
 
   /**
    * Return the max MTime of all the images.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Return the mtime of anything that would cause the rendered image to
@@ -114,12 +114,12 @@ public:
    * prop plus anything else it depends on such as properties, mappers,
    * etc.
    */
-  vtkMTimeType GetRedrawMTime();
+  vtkMTimeType GetRedrawMTime() VTK_OVERRIDE;
 
   /**
    * Shallow copy of this prop. Overloads the virtual vtkProp method.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
   /**
    * For some exporters and other other operations we must be
@@ -132,29 +132,29 @@ public:
   /**
    * Support the standard render methods.
    */
-  virtual int RenderOverlay(vtkViewport *viewport);
-  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
+  int RenderOverlay(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
+  int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) VTK_OVERRIDE;
   //@}
 
   /**
    * Does this prop have some translucent polygonal geometry?
    */
-  virtual int HasTranslucentPolygonalGeometry();
+  int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Release any resources held by this prop.
    */
-  void ReleaseGraphicsResources(vtkWindow *win);
+  void ReleaseGraphicsResources(vtkWindow *win) VTK_OVERRIDE;
 
   //@{
   /**
    * Methods for traversing the stack as if it was an assembly.
    * The traversal only gives the view prop for the active layer.
    */
-  void InitPathTraversal();
-  vtkAssemblyPath *GetNextPath();
-  int GetNumberOfPaths();
+  void InitPathTraversal() VTK_OVERRIDE;
+  vtkAssemblyPath *GetNextPath() VTK_OVERRIDE;
+  int GetNumberOfPaths() VTK_OVERRIDE;
   //@}
 
   /**
@@ -162,11 +162,11 @@ public:
    * DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS
    * Used to construct assembly paths and perform part traversal.
    */
-  void BuildPaths(vtkAssemblyPaths *paths, vtkAssemblyPath *path);
+  void BuildPaths(vtkAssemblyPaths *paths, vtkAssemblyPath *path) VTK_OVERRIDE;
 
 protected:
   vtkImageStack();
-  ~vtkImageStack();
+  ~vtkImageStack() VTK_OVERRIDE;
 
   void SetMapper(vtkImageMapper3D *mapper);
   void SetProperty(vtkImageProperty *property);
diff --git a/Rendering/LIC/vtkImageDataLIC2D.h b/Rendering/LIC/vtkImageDataLIC2D.h
index e6a7da0e71..fa08f87b61 100644
--- a/Rendering/LIC/vtkImageDataLIC2D.h
+++ b/Rendering/LIC/vtkImageDataLIC2D.h
@@ -49,7 +49,7 @@ class VTKRENDERINGLIC_EXPORT vtkImageDataLIC2D : public vtkImageAlgorithm
 public:
   static vtkImageDataLIC2D* New();
   vtkTypeMacro(vtkImageDataLIC2D, vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -111,10 +111,10 @@ public:
 
 protected:
   vtkImageDataLIC2D();
-  ~vtkImageDataLIC2D();
+  ~vtkImageDataLIC2D() VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation *,
-    vtkInformationVector **, vtkInformationVector *);
+  int RequestInformation(vtkInformation *,
+    vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Fill the input port information objects for this algorithm.  This
@@ -122,20 +122,20 @@ protected:
    * port so subclasses can specify what they can handle.
    * Redefined from the superclass.
    */
-  virtual int FillInputPortInformation(int port,
-                                       vtkInformation *info);
+  int FillInputPortInformation(int port,
+                                       vtkInformation *info) VTK_OVERRIDE;
 
   int RequestUpdateExtent (vtkInformation * vtkNotUsed(request),
                            vtkInformationVector **inputVector,
-                           vtkInformationVector *vtkNotUsed( outputVector ));
+                           vtkInformationVector *vtkNotUsed( outputVector )) VTK_OVERRIDE;
 
   /**
    * This is called by the superclass.
    * This is the method you should override.
    */
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   vtkWeakPointer<vtkRenderWindow> Context;
   bool OwnWindow;
diff --git a/Rendering/LIC/vtkLineIntegralConvolution2D.h b/Rendering/LIC/vtkLineIntegralConvolution2D.h
index 14fe08f84e..4de253bc93 100644
--- a/Rendering/LIC/vtkLineIntegralConvolution2D.h
+++ b/Rendering/LIC/vtkLineIntegralConvolution2D.h
@@ -109,7 +109,7 @@ class VTKRENDERINGLIC_EXPORT vtkLineIntegralConvolution2D : public vtkObject
 public:
   static vtkLineIntegralConvolution2D *New();
   vtkTypeMacro(vtkLineIntegralConvolution2D, vtkObject);
-  void PrintSelf(ostream & os, vtkIndent indent);
+  void PrintSelf(ostream & os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Returns if the context supports the required extensions.
@@ -369,7 +369,7 @@ public:
 
 protected:
   vtkLineIntegralConvolution2D();
-  virtual ~vtkLineIntegralConvolution2D();
+  ~vtkLineIntegralConvolution2D() VTK_OVERRIDE;
 
   void SetVTShader(vtkShaderProgram2 *prog);
   void SetLIC0Shader(vtkShaderProgram2 *prog);
diff --git a/Rendering/LIC/vtkStructuredGridLIC2D.h b/Rendering/LIC/vtkStructuredGridLIC2D.h
index 615611dd8e..c8ef6b4b68 100644
--- a/Rendering/LIC/vtkStructuredGridLIC2D.h
+++ b/Rendering/LIC/vtkStructuredGridLIC2D.h
@@ -55,7 +55,7 @@ class VTKRENDERINGLIC_EXPORT vtkStructuredGridLIC2D
 public:
   static vtkStructuredGridLIC2D* New();
   vtkTypeMacro(vtkStructuredGridLIC2D, vtkStructuredGridAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -123,7 +123,7 @@ public:
 
 protected:
   vtkStructuredGridLIC2D();
-  ~vtkStructuredGridLIC2D();
+  ~vtkStructuredGridLIC2D() VTK_OVERRIDE;
 
   /**
    * Fill the input port information objects for this algorithm.  This
@@ -131,8 +131,8 @@ protected:
    * port so subclasses can specify what they can handle.
    * Redefined from the superclass.
    */
-  virtual int FillInputPortInformation(int port,
-                                       vtkInformation *info);
+  int FillInputPortInformation(int port,
+                                       vtkInformation *info) VTK_OVERRIDE;
 
   /**
    * Fill the output port information objects for this algorithm.
@@ -140,16 +140,16 @@ protected:
    * each port so subclasses can specify what they can handle.
    * Redefined from the superclass.
    */
-  virtual int FillOutputPortInformation(int port,
-                                        vtkInformation *info);
+  int FillOutputPortInformation(int port,
+                                        vtkInformation *info) VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation *request,
+  int RequestInformation(vtkInformation *request,
          vtkInformationVector **inputVector,
-         vtkInformationVector *outputVector);
+         vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   int RequestUpdateExtent (vtkInformation *request,
                            vtkInformationVector **inputVector,
-                           vtkInformationVector *outputVector);
+                           vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   /**
    * Stolen from vtkImageAlgorithm. Should be in vtkStructuredGridAlgorithm.
@@ -166,9 +166,9 @@ protected:
    * This is called by the superclass.
    * This is the method you should override.
    */
-  virtual int RequestData(vtkInformation *request,
+  int RequestData(vtkInformation *request,
                           vtkInformationVector **inputVector,
-                          vtkInformationVector *outputVector);
+                          vtkInformationVector *outputVector) VTK_OVERRIDE;
 
   int    Steps;
   double StepSize;
diff --git a/Rendering/LIC/vtkSurfaceLICComposite.h b/Rendering/LIC/vtkSurfaceLICComposite.h
index 397c36a056..4d808ae6e1 100644
--- a/Rendering/LIC/vtkSurfaceLICComposite.h
+++ b/Rendering/LIC/vtkSurfaceLICComposite.h
@@ -41,7 +41,7 @@ class VTKRENDERINGLIC_EXPORT vtkSurfaceLICComposite : public vtkObject
 public:
   static vtkSurfaceLICComposite *New();
   vtkTypeMacro(vtkSurfaceLICComposite, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Initialize the object based on the following description of the
@@ -206,7 +206,7 @@ public:
 
 protected:
   vtkSurfaceLICComposite();
-  ~vtkSurfaceLICComposite();
+  ~vtkSurfaceLICComposite() VTK_OVERRIDE;
 
   /**
    * For serial run. Make a decomposition disjoint. Sorts extents and
diff --git a/Rendering/LIC/vtkSurfaceLICDefaultPainter.h b/Rendering/LIC/vtkSurfaceLICDefaultPainter.h
index a897da3a33..d42ec668dc 100644
--- a/Rendering/LIC/vtkSurfaceLICDefaultPainter.h
+++ b/Rendering/LIC/vtkSurfaceLICDefaultPainter.h
@@ -41,7 +41,7 @@ class VTKRENDERINGLIC_EXPORT vtkSurfaceLICDefaultPainter
 public:
   static vtkSurfaceLICDefaultPainter* New();
   vtkTypeMacro(vtkSurfaceLICDefaultPainter, vtkDefaultPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -53,12 +53,12 @@ public:
 
 protected:
   vtkSurfaceLICDefaultPainter();
-  ~vtkSurfaceLICDefaultPainter();
+  ~vtkSurfaceLICDefaultPainter() VTK_OVERRIDE;
 
   /**
    * Setup the the painter chain.
    */
-  virtual void BuildPainterChain();
+  void BuildPainterChain() VTK_OVERRIDE;
 
   /**
    * Take part in garbage collection.
@@ -68,7 +68,7 @@ protected:
   /**
    * Override.
    */
-  virtual void UpdateBounds(double bounds[6]);
+  void UpdateBounds(double bounds[6]) VTK_OVERRIDE;
 
 protected:
   vtkSurfaceLICPainter* SurfaceLICPainter;
diff --git a/Rendering/LIC/vtkSurfaceLICPainter.h b/Rendering/LIC/vtkSurfaceLICPainter.h
index fa9d871606..a53a78a7a6 100644
--- a/Rendering/LIC/vtkSurfaceLICPainter.h
+++ b/Rendering/LIC/vtkSurfaceLICPainter.h
@@ -72,14 +72,14 @@ class VTKRENDERINGLIC_EXPORT vtkSurfaceLICPainter : public vtkPainter
 public:
   static vtkSurfaceLICPainter* New();
   vtkTypeMacro(vtkSurfaceLICPainter, vtkPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this mapper.
    * The parameter window could be used to determine which graphic
    * resources to release. In this case, releases the display lists.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow * win);
+  void ReleaseGraphicsResources(vtkWindow * win) VTK_OVERRIDE;
 
   /**
    * Get the output data object from this painter.
@@ -87,7 +87,7 @@ public:
    * the deletage painters. This is required by the internal GLSL shader
    * programs used for generating LIC.
    */
-  virtual vtkDataObject* GetOutput();
+  vtkDataObject* GetOutput() VTK_OVERRIDE;
 
   //@{
   /**
@@ -483,14 +483,14 @@ public:
 
 protected:
   vtkSurfaceLICPainter();
-  ~vtkSurfaceLICPainter();
+  ~vtkSurfaceLICPainter() VTK_OVERRIDE;
 
   /**
    * Called before RenderInternal() if the Information has been changed
    * since the last time this method was called. We use this to detect
    * when LUT has changed.
    */
-  virtual void ProcessInformation(vtkInformation* info);
+  void ProcessInformation(vtkInformation* info) VTK_OVERRIDE;
 
   /**
    * Get the min/max across all ranks. min/max are in/out.
@@ -544,11 +544,11 @@ protected:
    * DelegatePainter is in sync with this painter i.e. UpdateDelegatePainter()
    * has been called.
    */
-  virtual void RenderInternal(
+  void RenderInternal(
         vtkRenderer* renderer,
         vtkActor* actor,
         unsigned long typeflags,
-        bool forceCompileOnly);
+        bool forceCompileOnly) VTK_OVERRIDE;
 
 
   /**
diff --git a/Rendering/LOD/vtkLODActor.h b/Rendering/LOD/vtkLODActor.h
index efd6f6522b..83e3be8f05 100644
--- a/Rendering/LOD/vtkLODActor.h
+++ b/Rendering/LOD/vtkLODActor.h
@@ -71,7 +71,7 @@ class VTKRENDERINGLOD_EXPORT vtkLODActor : public vtkActor
 {
 public:
   vtkTypeMacro(vtkLODActor, vtkActor);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Creates a vtkLODActor with the following defaults: origin(0,0,0)
@@ -84,20 +84,20 @@ public:
    * This causes the actor to be rendered.
    * It, in turn, will render the actor's property and then mapper.
    */
-  virtual void Render(vtkRenderer *, vtkMapper *);
+  void Render(vtkRenderer *, vtkMapper *) VTK_OVERRIDE;
 
   /**
    * This method is used internally by the rendering process. We overide
    * the superclass method to properly set the estimated render time.
    */
-  int RenderOpaqueGeometry(vtkViewport* viewport);
+  int RenderOpaqueGeometry(vtkViewport* viewport) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow*);
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
 
   /**
    * Add another level of detail.
@@ -136,16 +136,16 @@ public:
   /**
    * When this objects gets modified, this method also modifies the object.
    */
-  void Modified();
+  void Modified() VTK_OVERRIDE;
 
   /**
    * Shallow copy of an LOD actor. Overloads the virtual vtkProp method.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
 protected:
   vtkLODActor();
-  ~vtkLODActor();
+  ~vtkLODActor() VTK_OVERRIDE;
 
   vtkActor* Device;
   vtkMapperCollection* LODMappers;
diff --git a/Rendering/LOD/vtkQuadricLODActor.h b/Rendering/LOD/vtkQuadricLODActor.h
index 0f490c0470..9a27cf071f 100644
--- a/Rendering/LOD/vtkQuadricLODActor.h
+++ b/Rendering/LOD/vtkQuadricLODActor.h
@@ -71,7 +71,7 @@ public:
    * Standard class methods.
    */
   vtkTypeMacro(vtkQuadricLODActor, vtkActor);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -208,29 +208,29 @@ public:
    * it will use either a full resolution render or an interactive render (i.e.,
    * it will use the decimated geometry).
    */
-  virtual void Render(vtkRenderer *, vtkMapper *);
+  void Render(vtkRenderer *, vtkMapper *) VTK_OVERRIDE;
 
   /**
    * This method is used internally by the rendering process. We overide
    * the superclass method to properly set the estimated render time.
    */
-  int RenderOpaqueGeometry(vtkViewport *viewport);
+  int RenderOpaqueGeometry(vtkViewport *viewport) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Shallow copy of an LOD actor. Overloads the virtual vtkProp method.
    */
-  void ShallowCopy(vtkProp *prop);
+  void ShallowCopy(vtkProp *prop) VTK_OVERRIDE;
 
 protected:
   vtkQuadricLODActor();
-  ~vtkQuadricLODActor();
+  ~vtkQuadricLODActor() VTK_OVERRIDE;
 
   // Renders the LOD
   vtkActor *LODActor;
diff --git a/Rendering/Label/vtkDynamic2DLabelMapper.h b/Rendering/Label/vtkDynamic2DLabelMapper.h
index ebf05530ae..88acf48470 100644
--- a/Rendering/Label/vtkDynamic2DLabelMapper.h
+++ b/Rendering/Label/vtkDynamic2DLabelMapper.h
@@ -66,7 +66,7 @@ public:
    */
   static vtkDynamic2DLabelMapper *New();
   vtkTypeMacro(vtkDynamic2DLabelMapper, vtkLabeledDataMapper);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
   /**
@@ -109,13 +109,13 @@ public:
   /**
    * Draw non-overlapping labels to the screen.
    */
-  void RenderOpaqueGeometry(vtkViewport* viewport, vtkActor2D* actor);
-  void RenderOverlay(vtkViewport *viewport, vtkActor2D *actor);
+  void RenderOpaqueGeometry(vtkViewport* viewport, vtkActor2D* actor) VTK_OVERRIDE;
+  void RenderOverlay(vtkViewport *viewport, vtkActor2D *actor) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkDynamic2DLabelMapper();
-  ~vtkDynamic2DLabelMapper();
+  ~vtkDynamic2DLabelMapper() VTK_OVERRIDE;
 
   /**
    * Calculate the current zoom scale of the viewport.
diff --git a/Rendering/Label/vtkFreeTypeLabelRenderStrategy.h b/Rendering/Label/vtkFreeTypeLabelRenderStrategy.h
index 9da63e17b7..be9b2053b5 100644
--- a/Rendering/Label/vtkFreeTypeLabelRenderStrategy.h
+++ b/Rendering/Label/vtkFreeTypeLabelRenderStrategy.h
@@ -34,39 +34,39 @@ class vtkTextMapper;
 class VTKRENDERINGLABEL_EXPORT vtkFreeTypeLabelRenderStrategy : public vtkLabelRenderStrategy
 {
  public:
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   vtkTypeMacro(vtkFreeTypeLabelRenderStrategy, vtkLabelRenderStrategy);
   static vtkFreeTypeLabelRenderStrategy* New();
 
   /**
    * The free type render strategy currently does not support rotation.
    */
-  virtual bool SupportsRotation()
+  bool SupportsRotation() VTK_OVERRIDE
     { return false; }
 
   /**
    * The free type render strategy currently does not support bounded size labels.
    */
-  virtual bool SupportsBoundedSize()
+  bool SupportsBoundedSize() VTK_OVERRIDE
     { return false; }
 
   /**
    * Compute the bounds of a label. Must be performed after the renderer is set.
    */
-  virtual void ComputeLabelBounds(vtkTextProperty* tprop, vtkStdString label, double bds[4])
+  void ComputeLabelBounds(vtkTextProperty* tprop, vtkStdString label, double bds[4]) VTK_OVERRIDE
     { this->Superclass::ComputeLabelBounds(tprop, label, bds); }
-  virtual void ComputeLabelBounds(vtkTextProperty* tprop, vtkUnicodeString label, double bds[4]);
+  void ComputeLabelBounds(vtkTextProperty* tprop, vtkUnicodeString label, double bds[4]) VTK_OVERRIDE;
 
   /**
    * Render a label at a location in world coordinates.
    * Must be performed between StartFrame() and EndFrame() calls.
    */
-  virtual void RenderLabel(int x[2], vtkTextProperty* tprop, vtkStdString label)
+  void RenderLabel(int x[2], vtkTextProperty* tprop, vtkStdString label) VTK_OVERRIDE
     { this->Superclass::RenderLabel(x, tprop, label); }
-  virtual void RenderLabel(int x[2], vtkTextProperty* tprop, vtkStdString label, int width)
+  void RenderLabel(int x[2], vtkTextProperty* tprop, vtkStdString label, int width) VTK_OVERRIDE
     { this->Superclass::RenderLabel(x, tprop, label, width); }
-  virtual void RenderLabel(int x[2], vtkTextProperty* tprop, vtkUnicodeString label);
-  virtual void RenderLabel(int x[2], vtkTextProperty* tprop, vtkUnicodeString label, int width)
+  void RenderLabel(int x[2], vtkTextProperty* tprop, vtkUnicodeString label) VTK_OVERRIDE;
+  void RenderLabel(int x[2], vtkTextProperty* tprop, vtkUnicodeString label, int width) VTK_OVERRIDE
     { this->Superclass::RenderLabel(x, tprop, label, width); }
 
   /**
@@ -74,11 +74,11 @@ class VTKRENDERINGLABEL_EXPORT vtkFreeTypeLabelRenderStrategy : public vtkLabelR
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *window);
+  void ReleaseGraphicsResources(vtkWindow *window) VTK_OVERRIDE;
 
 protected:
   vtkFreeTypeLabelRenderStrategy();
-  ~vtkFreeTypeLabelRenderStrategy();
+  ~vtkFreeTypeLabelRenderStrategy() VTK_OVERRIDE;
 
   vtkTextRenderer *TextRenderer;
   vtkTextMapper* Mapper;
diff --git a/Rendering/Label/vtkLabelHierarchy.h b/Rendering/Label/vtkLabelHierarchy.h
index 71d690a726..297f8fcff7 100644
--- a/Rendering/Label/vtkLabelHierarchy.h
+++ b/Rendering/Label/vtkLabelHierarchy.h
@@ -80,12 +80,12 @@ class VTKRENDERINGLABEL_EXPORT vtkLabelHierarchy : public vtkPointSet
 public:
   static vtkLabelHierarchy* New();
   vtkTypeMacro(vtkLabelHierarchy,vtkPointSet);
-  virtual void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   /**
    * Override SetPoints so we can reset the hierarchy when the points change.
    */
-  virtual void SetPoints( vtkPoints* );
+  void SetPoints( vtkPoints* ) VTK_OVERRIDE;
 
   /**
    * Fill the hierarchy with the input labels.
@@ -217,15 +217,15 @@ public:
   /**
    * Inherited members (from vtkDataSet)
    */
-  virtual vtkIdType GetNumberOfCells();
-  virtual vtkCell* GetCell(vtkIdType);
-  virtual void GetCell(vtkIdType, vtkGenericCell*);
-  virtual int GetCellType(vtkIdType);
-  virtual void GetCellPoints(vtkIdType, vtkIdList*);
-  virtual void GetPointCells(vtkIdType, vtkIdList*);
-  virtual vtkIdType FindCell(double*, vtkCell*, vtkIdType, double, int&, double*, double*);
-  virtual vtkIdType FindCell(double*, vtkCell*, vtkGenericCell*, vtkIdType, double, int&, double*, double*);
-  virtual int GetMaxCellSize();
+  vtkIdType GetNumberOfCells() VTK_OVERRIDE;
+  vtkCell* GetCell(vtkIdType) VTK_OVERRIDE;
+  void GetCell(vtkIdType, vtkGenericCell*) VTK_OVERRIDE;
+  int GetCellType(vtkIdType) VTK_OVERRIDE;
+  void GetCellPoints(vtkIdType, vtkIdList*) VTK_OVERRIDE;
+  void GetPointCells(vtkIdType, vtkIdList*) VTK_OVERRIDE;
+  vtkIdType FindCell(double*, vtkCell*, vtkIdType, double, int&, double*, double*) VTK_OVERRIDE;
+  vtkIdType FindCell(double*, vtkCell*, vtkGenericCell*, vtkIdType, double, int&, double*, double*) VTK_OVERRIDE;
+  int GetMaxCellSize() VTK_OVERRIDE;
   //@}
 
   class Implementation;
@@ -249,7 +249,7 @@ public:
 
 protected:
   vtkLabelHierarchy();
-  virtual ~vtkLabelHierarchy();
+  ~vtkLabelHierarchy() VTK_OVERRIDE;
 
   int TargetLabelCount;
   int MaximumDepth;
diff --git a/Rendering/Label/vtkLabelHierarchyAlgorithm.h b/Rendering/Label/vtkLabelHierarchyAlgorithm.h
index b2c007fa60..7cb91690fe 100644
--- a/Rendering/Label/vtkLabelHierarchyAlgorithm.h
+++ b/Rendering/Label/vtkLabelHierarchyAlgorithm.h
@@ -45,7 +45,7 @@ class VTKRENDERINGLABEL_EXPORT vtkLabelHierarchyAlgorithm : public vtkAlgorithm
 public:
   static vtkLabelHierarchyAlgorithm *New();
   vtkTypeMacro(vtkLabelHierarchyAlgorithm,vtkAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -59,9 +59,9 @@ public:
   /**
    * see vtkAlgorithm for details
    */
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
   // this method is not recommended for use, but lots of old style filters use it
   vtkDataObject* GetInput();
@@ -90,7 +90,7 @@ public:
 
 protected:
   vtkLabelHierarchyAlgorithm();
-  ~vtkLabelHierarchyAlgorithm();
+  ~vtkLabelHierarchyAlgorithm() VTK_OVERRIDE;
 
   /**
    * This is called by the superclass.
@@ -126,8 +126,8 @@ protected:
     vtkInformationVector* );
 
   // see algorithm for more info
-  virtual int FillOutputPortInformation( int port, vtkInformation* info );
-  virtual int FillInputPortInformation( int port, vtkInformation* info );
+  int FillOutputPortInformation( int port, vtkInformation* info ) VTK_OVERRIDE;
+  int FillInputPortInformation( int port, vtkInformation* info ) VTK_OVERRIDE;
 
 private:
   vtkLabelHierarchyAlgorithm( const vtkLabelHierarchyAlgorithm& ) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Label/vtkLabelHierarchyCompositeIterator.h b/Rendering/Label/vtkLabelHierarchyCompositeIterator.h
index 6e22bbabf2..18ad54632a 100644
--- a/Rendering/Label/vtkLabelHierarchyCompositeIterator.h
+++ b/Rendering/Label/vtkLabelHierarchyCompositeIterator.h
@@ -72,27 +72,27 @@ public:
    * This could include labels placed during a previous rendering or
    * a label located under the mouse pointer. You may pass a null pointer.
    */
-  virtual void Begin( vtkIdTypeArray* );
+  void Begin( vtkIdTypeArray* ) VTK_OVERRIDE;
 
   /**
    * Advance the iterator.
    */
-  virtual void Next();
+  void Next() VTK_OVERRIDE;
 
   /**
    * Returns true if the iterator is at the end.
    */
-  virtual bool IsAtEnd();
+  bool IsAtEnd() VTK_OVERRIDE;
 
   /**
    * Retrieves the current label id.
    */
-  virtual vtkIdType GetLabelId();
+  vtkIdType GetLabelId() VTK_OVERRIDE;
 
   /**
    * Retrieve the current label hierarchy.
    */
-  virtual vtkLabelHierarchy* GetHierarchy();
+  vtkLabelHierarchy* GetHierarchy() VTK_OVERRIDE;
 
   /**
    * Retrieve the coordinates of the center of the current hierarchy node
@@ -100,21 +100,21 @@ public:
    * Nodes are n-cubes, so the size is the length of any edge of the cube.
    * This is used by BoxNode().
    */
-  virtual void GetNodeGeometry( double ctr[3], double& size );
+  void GetNodeGeometry( double ctr[3], double& size ) VTK_OVERRIDE;
 
   /**
    * Not implemented.
    */
-  virtual void BoxNode() { }
+  void BoxNode() VTK_OVERRIDE { }
 
   /**
    * Not implemented.
    */
-  virtual void BoxAllNodes( vtkPolyData* ) { }
+  void BoxAllNodes( vtkPolyData* ) VTK_OVERRIDE { }
 
 protected:
   vtkLabelHierarchyCompositeIterator();
-  virtual ~vtkLabelHierarchyCompositeIterator();
+  ~vtkLabelHierarchyCompositeIterator() VTK_OVERRIDE;
 
   class Internal;
   Internal* Implementation;
diff --git a/Rendering/Label/vtkLabelHierarchyIterator.h b/Rendering/Label/vtkLabelHierarchyIterator.h
index cf7e4e47de..1e2211ef5b 100644
--- a/Rendering/Label/vtkLabelHierarchyIterator.h
+++ b/Rendering/Label/vtkLabelHierarchyIterator.h
@@ -41,7 +41,7 @@ class VTKRENDERINGLABEL_EXPORT vtkLabelHierarchyIterator : public vtkObject
 {
 public:
   vtkTypeMacro(vtkLabelHierarchyIterator,vtkObject);
-  virtual void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   /**
    * Initializes the iterator. lastLabels is an array holding labels
@@ -149,7 +149,7 @@ public:
 
 protected:
   vtkLabelHierarchyIterator();
-  virtual ~vtkLabelHierarchyIterator();
+  ~vtkLabelHierarchyIterator() VTK_OVERRIDE;
 
   void BoxNodeInternal3( const double* ctr, double sz );
   void BoxNodeInternal2( const double* ctr, double sz );
diff --git a/Rendering/Label/vtkLabelPlacementMapper.h b/Rendering/Label/vtkLabelPlacementMapper.h
index f33bebe526..43d127bfa8 100644
--- a/Rendering/Label/vtkLabelPlacementMapper.h
+++ b/Rendering/Label/vtkLabelPlacementMapper.h
@@ -47,12 +47,12 @@ class VTKRENDERINGLABEL_EXPORT vtkLabelPlacementMapper : public vtkMapper2D
 public:
   static vtkLabelPlacementMapper *New();
   vtkTypeMacro(vtkLabelPlacementMapper, vtkMapper2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Draw non-overlapping labels to the screen.
    */
-  void RenderOverlay(vtkViewport *viewport, vtkActor2D *actor);
+  void RenderOverlay(vtkViewport *viewport, vtkActor2D *actor) VTK_OVERRIDE;
 
   //@{
   /**
@@ -217,15 +217,15 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
 protected:
   vtkLabelPlacementMapper();
-  ~vtkLabelPlacementMapper();
+  ~vtkLabelPlacementMapper() VTK_OVERRIDE;
 
   virtual void SetAnchorTransform( vtkCoordinate* );
 
-  virtual int FillInputPortInformation( int port, vtkInformation* info );
+  int FillInputPortInformation( int port, vtkInformation* info ) VTK_OVERRIDE;
 
   class Internal;
   Internal* Buckets;
diff --git a/Rendering/Label/vtkLabelPlacer.h b/Rendering/Label/vtkLabelPlacer.h
index 54d1d873c3..0f1dbfe88d 100644
--- a/Rendering/Label/vtkLabelPlacer.h
+++ b/Rendering/Label/vtkLabelPlacer.h
@@ -54,7 +54,7 @@ class VTKRENDERINGLABEL_EXPORT vtkLabelPlacer : public vtkPolyDataAlgorithm
 public:
   static vtkLabelPlacer* New();
   vtkTypeMacro(vtkLabelPlacer,vtkPolyDataAlgorithm);
-  virtual void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   vtkGetObjectMacro(Renderer,vtkRenderer);
   virtual void SetRenderer( vtkRenderer* );
@@ -133,7 +133,7 @@ public:
   vtkBooleanMacro(UseUnicodeStrings,bool);
   //@}
 
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -188,13 +188,13 @@ public:
 
 protected:
   vtkLabelPlacer();
-  virtual ~vtkLabelPlacer();
+  ~vtkLabelPlacer() VTK_OVERRIDE;
 
   virtual void SetAnchorTransform( vtkCoordinate* );
 
-  int FillInputPortInformation( int port, vtkInformation* info );
-  virtual int RequestData( vtkInformation* request,
-    vtkInformationVector** inputVector, vtkInformationVector* outputVector );
+  int FillInputPortInformation( int port, vtkInformation* info ) VTK_OVERRIDE;
+  int RequestData( vtkInformation* request,
+    vtkInformationVector** inputVector, vtkInformationVector* outputVector ) VTK_OVERRIDE;
 
   class Internal;
   Internal* Buckets;
diff --git a/Rendering/Label/vtkLabelRenderStrategy.h b/Rendering/Label/vtkLabelRenderStrategy.h
index 10c46d5489..0c0f8a5e2e 100644
--- a/Rendering/Label/vtkLabelRenderStrategy.h
+++ b/Rendering/Label/vtkLabelRenderStrategy.h
@@ -36,7 +36,7 @@ class vtkTextProperty;
 class VTKRENDERINGLABEL_EXPORT vtkLabelRenderStrategy : public vtkObject
 {
  public:
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   vtkTypeMacro(vtkLabelRenderStrategy, vtkObject);
 
   /**
@@ -123,7 +123,7 @@ class VTKRENDERINGLABEL_EXPORT vtkLabelRenderStrategy : public vtkObject
 
 protected:
   vtkLabelRenderStrategy();
-  ~vtkLabelRenderStrategy();
+  ~vtkLabelRenderStrategy() VTK_OVERRIDE;
 
   vtkRenderer* Renderer;
   vtkTextProperty* DefaultTextProperty;
diff --git a/Rendering/Label/vtkLabelSizeCalculator.h b/Rendering/Label/vtkLabelSizeCalculator.h
index 7ec696107c..ffd33f4fb6 100644
--- a/Rendering/Label/vtkLabelSizeCalculator.h
+++ b/Rendering/Label/vtkLabelSizeCalculator.h
@@ -49,7 +49,7 @@ class VTKRENDERINGLABEL_EXPORT vtkLabelSizeCalculator : public vtkPassInputTypeA
 {
 public:
   static vtkLabelSizeCalculator* New();
-  virtual void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
   vtkTypeMacro(vtkLabelSizeCalculator,vtkPassInputTypeAlgorithm);
 
   //@{
@@ -83,13 +83,13 @@ public:
 
 protected:
   vtkLabelSizeCalculator();
-  virtual ~vtkLabelSizeCalculator();
+  ~vtkLabelSizeCalculator() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation( int port, vtkInformation* info );
-  virtual int RequestData(
+  int FillInputPortInformation( int port, vtkInformation* info ) VTK_OVERRIDE;
+  int RequestData(
     vtkInformation* request,
     vtkInformationVector** inInfo,
-    vtkInformationVector* outInfo );
+    vtkInformationVector* outInfo ) VTK_OVERRIDE;
 
   virtual vtkIntArray* LabelSizesForArray( vtkAbstractArray* labels, vtkIntArray* types );
 
diff --git a/Rendering/Label/vtkLabeledDataMapper.h b/Rendering/Label/vtkLabeledDataMapper.h
index 4bf9f54f1d..8357ea444c 100644
--- a/Rendering/Label/vtkLabeledDataMapper.h
+++ b/Rendering/Label/vtkLabeledDataMapper.h
@@ -75,7 +75,7 @@ public:
   static vtkLabeledDataMapper *New();
 
   vtkTypeMacro(vtkLabeledDataMapper,vtkMapper2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -175,14 +175,14 @@ public:
   /**
    * Draw the text to the screen at each input point.
    */
-  void RenderOpaqueGeometry(vtkViewport* viewport, vtkActor2D* actor);
-  void RenderOverlay(vtkViewport* viewport, vtkActor2D* actor);
+  void RenderOpaqueGeometry(vtkViewport* viewport, vtkActor2D* actor) VTK_OVERRIDE;
+  void RenderOverlay(vtkViewport* viewport, vtkActor2D* actor) VTK_OVERRIDE;
   //@}
 
   /**
    * Release any graphics resources that are being consumed by this actor.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   //@{
   /**
@@ -213,7 +213,7 @@ public:
   /**
    * Return the modified time for this object.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   //@{
   /**
@@ -242,7 +242,7 @@ public:
 
 protected:
   vtkLabeledDataMapper();
-  ~vtkLabeledDataMapper();
+  ~vtkLabeledDataMapper() VTK_OVERRIDE;
 
   vtkDataSet *Input;
 
@@ -261,7 +261,7 @@ protected:
   double* LabelPositions;
   vtkTransform *Transform;
 
-  virtual int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
   void AllocateLabels(int numLabels);
   void BuildLabels();
diff --git a/Rendering/Label/vtkLabeledTreeMapDataMapper.h b/Rendering/Label/vtkLabeledTreeMapDataMapper.h
index 0e6abf1c21..fdaf178482 100644
--- a/Rendering/Label/vtkLabeledTreeMapDataMapper.h
+++ b/Rendering/Label/vtkLabeledTreeMapDataMapper.h
@@ -59,14 +59,14 @@ class VTKRENDERINGLABEL_EXPORT vtkLabeledTreeMapDataMapper : public vtkLabeledDa
 public:
   static vtkLabeledTreeMapDataMapper *New();
   vtkTypeMacro(vtkLabeledTreeMapDataMapper,vtkLabeledDataMapper);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Draw the text to the screen at each input point.
    */
-  virtual void RenderOpaqueGeometry(vtkViewport* viewport, vtkActor2D* actor);
-  virtual void RenderOverlay(vtkViewport *viewport, vtkActor2D *actor);
+  void RenderOpaqueGeometry(vtkViewport* viewport, vtkActor2D* actor) VTK_OVERRIDE;
+  void RenderOverlay(vtkViewport *viewport, vtkActor2D *actor) VTK_OVERRIDE;
   //@}
 
   /**
@@ -108,7 +108,7 @@ public:
   /**
    * Release any graphics resources that are being consumed by this actor.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   //@{
   /**
@@ -130,7 +130,7 @@ public:
 
 protected:
   vtkLabeledTreeMapDataMapper();
-  ~vtkLabeledTreeMapDataMapper();
+  ~vtkLabeledTreeMapDataMapper() VTK_OVERRIDE;
   void LabelTree(vtkTree *tree, vtkFloatArray *boxInfo,
                  vtkDataArray *numericData, vtkStringArray *stringData,
                  int activeComp, int numComps);
diff --git a/Rendering/Label/vtkPointSetToLabelHierarchy.h b/Rendering/Label/vtkPointSetToLabelHierarchy.h
index 7182443cdb..af41deb876 100644
--- a/Rendering/Label/vtkPointSetToLabelHierarchy.h
+++ b/Rendering/Label/vtkPointSetToLabelHierarchy.h
@@ -43,7 +43,7 @@ class VTKRENDERINGLABEL_EXPORT vtkPointSetToLabelHierarchy : public vtkLabelHier
 public:
   static vtkPointSetToLabelHierarchy* New();
   vtkTypeMacro(vtkPointSetToLabelHierarchy,vtkLabelHierarchyAlgorithm);
-  virtual void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -128,14 +128,14 @@ public:
 
 protected:
   vtkPointSetToLabelHierarchy();
-  virtual ~vtkPointSetToLabelHierarchy();
+  ~vtkPointSetToLabelHierarchy() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation( int port, vtkInformation* info );
+  int FillInputPortInformation( int port, vtkInformation* info ) VTK_OVERRIDE;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation* request,
     vtkInformationVector** inputVector,
-    vtkInformationVector* outputVector );
+    vtkInformationVector* outputVector ) VTK_OVERRIDE;
 
   int TargetLabelCount;
   int MaximumDepth;
diff --git a/Rendering/OpenGL/Testing/Cxx/TestValuePasses.cxx b/Rendering/OpenGL/Testing/Cxx/TestValuePasses.cxx
index 6b925df3c1..0957965574 100644
--- a/Rendering/OpenGL/Testing/Cxx/TestValuePasses.cxx
+++ b/Rendering/OpenGL/Testing/Cxx/TestValuePasses.cxx
@@ -126,7 +126,7 @@ class KeyPressInteractorStyle : public vtkInteractorStyleTrackballCamera
       this->Alg = p;
     }
 
-    virtual void OnKeyPress()
+    void OnKeyPress() VTK_OVERRIDE
     {
       if (this->GLRenderer == NULL)
       {
diff --git a/Rendering/OpenGL/vtkCameraPass.h b/Rendering/OpenGL/vtkCameraPass.h
index 56bc3d2904..8d7587d87f 100644
--- a/Rendering/OpenGL/vtkCameraPass.h
+++ b/Rendering/OpenGL/vtkCameraPass.h
@@ -40,20 +40,20 @@ class VTKRENDERINGOPENGL_EXPORT vtkCameraPass : public vtkRenderPass
 public:
   static vtkCameraPass *New();
   vtkTypeMacro(vtkCameraPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   //@{
   /**
@@ -85,7 +85,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkCameraPass();
+  ~vtkCameraPass() VTK_OVERRIDE;
   virtual void GetTiledSizeAndOrigin(
     const vtkRenderState* render_state,
     int* width, int* height, int *originX,
diff --git a/Rendering/OpenGL/vtkChooserPainter.h b/Rendering/OpenGL/vtkChooserPainter.h
index f14e986ea4..a296b588ae 100644
--- a/Rendering/OpenGL/vtkChooserPainter.h
+++ b/Rendering/OpenGL/vtkChooserPainter.h
@@ -36,7 +36,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkChooserPainter : public vtkPolyDataPainter
 public:
   static vtkChooserPainter *New();
   vtkTypeMacro(vtkChooserPainter, vtkPolyDataPainter);
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   void SetVertPainter(vtkPolyDataPainter*);
   void SetLinePainter(vtkPolyDataPainter*);
@@ -52,7 +52,7 @@ public:
 
 protected:
   vtkChooserPainter();
-  ~vtkChooserPainter();
+  ~vtkChooserPainter() VTK_OVERRIDE;
 
   vtkPolyDataPainter *VertPainter;
   vtkPolyDataPainter *LinePainter;
@@ -69,7 +69,7 @@ protected:
    * but before RenderInternal().
    * Overridden to setup the the painters if needed.
    */
-  virtual void PrepareForRendering(vtkRenderer*, vtkActor*);
+  void PrepareForRendering(vtkRenderer*, vtkActor*) VTK_OVERRIDE;
 
   /**
    * Called to pick which painters to used based on the current state of
@@ -104,8 +104,8 @@ protected:
    * DelegatePainter is in sync with this painter i.e. UpdatePainter()
    * has been called.
    */
-  virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
-                              unsigned long typeflags, bool forceCompileOnly);
+  void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
+                              unsigned long typeflags, bool forceCompileOnly) VTK_OVERRIDE;
 
   /**
    * Take part in garbage collection.
diff --git a/Rendering/OpenGL/vtkClearRGBPass.h b/Rendering/OpenGL/vtkClearRGBPass.h
index aa4373154a..7a02c55dcd 100644
--- a/Rendering/OpenGL/vtkClearRGBPass.h
+++ b/Rendering/OpenGL/vtkClearRGBPass.h
@@ -35,12 +35,12 @@ class VTKRENDERINGOPENGL_EXPORT vtkClearRGBPass : public vtkRenderPass
 public:
   static vtkClearRGBPass *New();
   vtkTypeMacro(vtkClearRGBPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state s.
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   //@{
   /**
@@ -60,7 +60,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkClearRGBPass();
+  ~vtkClearRGBPass() VTK_OVERRIDE;
 
   double Background[3];
 
diff --git a/Rendering/OpenGL/vtkClearZPass.h b/Rendering/OpenGL/vtkClearZPass.h
index cb77ea0fce..8f22690770 100644
--- a/Rendering/OpenGL/vtkClearZPass.h
+++ b/Rendering/OpenGL/vtkClearZPass.h
@@ -35,13 +35,13 @@ class VTKRENDERINGOPENGL_EXPORT vtkClearZPass : public vtkRenderPass
 public:
   static vtkClearZPass *New();
   vtkTypeMacro(vtkClearZPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   //@{
   /**
@@ -60,7 +60,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkClearZPass();
+  ~vtkClearZPass() VTK_OVERRIDE;
 
   double Depth;
 
diff --git a/Rendering/OpenGL/vtkClipPlanesPainter.h b/Rendering/OpenGL/vtkClipPlanesPainter.h
index 3fa76ab09d..4d2caa22b3 100644
--- a/Rendering/OpenGL/vtkClipPlanesPainter.h
+++ b/Rendering/OpenGL/vtkClipPlanesPainter.h
@@ -32,7 +32,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkClipPlanesPainter : public vtkPainter
 public:
   static vtkClipPlanesPainter* New();
   vtkTypeMacro(vtkClipPlanesPainter, vtkPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get/Set the vtkPlaneCollection which specifies the clipping planes.
@@ -41,13 +41,13 @@ public:
 
 protected:
   vtkClipPlanesPainter();
-  ~vtkClipPlanesPainter();
+  ~vtkClipPlanesPainter() VTK_OVERRIDE;
 
   /**
    * Called before RenderInternal() if the Information has been changed
    * since the last time this method was called.
    */
-  virtual void ProcessInformation(vtkInformation*);
+  void ProcessInformation(vtkInformation*) VTK_OVERRIDE;
 
   void SetClippingPlanes(vtkPlaneCollection*);
   vtkPlaneCollection* ClippingPlanes;
diff --git a/Rendering/OpenGL/vtkCocoaRenderWindow.h b/Rendering/OpenGL/vtkCocoaRenderWindow.h
index ef21bf6ec8..f01ed97ecf 100644
--- a/Rendering/OpenGL/vtkCocoaRenderWindow.h
+++ b/Rendering/OpenGL/vtkCocoaRenderWindow.h
@@ -51,17 +51,17 @@ class VTKRENDERINGOPENGL_EXPORT vtkCocoaRenderWindow : public vtkOpenGLRenderWin
 public:
   static vtkCocoaRenderWindow *New();
   vtkTypeMacro(vtkCocoaRenderWindow,vtkOpenGLRenderWindow);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Begin the rendering process.
    */
-  virtual void Start();
+  void Start() VTK_OVERRIDE;
 
   /**
    * Finish the rendering process.
    */
-  virtual void Frame();
+  void Frame() VTK_OVERRIDE;
 
   /**
    * Specify various window parameters.
@@ -84,12 +84,12 @@ public:
    * before the window has been created, and it might not work on all
    * versions of OS X.
    */
-  virtual void SetFullScreen(int);
+  void SetFullScreen(int) VTK_OVERRIDE;
 
   /**
    * Remap the window.  This is not implemented for the vtkCocoaRenderWindow.
    */
-  virtual void WindowRemap();
+  void WindowRemap() VTK_OVERRIDE;
 
   /**
    * Set the preferred window size to full screen.  This is not implemented
@@ -101,53 +101,53 @@ public:
   /**
    * Set the size of the window in pixels.
    */
-  virtual void SetSize(int a[2]);
-  virtual void SetSize(int,int);
+  void SetSize(int a[2]) VTK_OVERRIDE;
+  void SetSize(int,int) VTK_OVERRIDE;
   //@}
 
   /**
    * Get the current size of the window in pixels.
    */
-  virtual int *GetSize();
+  int *GetSize() VTK_OVERRIDE;
 
   //@{
   /**
    * Set the position of the window.
    */
-  virtual void SetPosition(int a[2]);
-  virtual void SetPosition(int,int);
+  void SetPosition(int a[2]) VTK_OVERRIDE;
+  void SetPosition(int,int) VTK_OVERRIDE;
   //@}
 
   /**
    * Get the current size of the screen in pixels.
    */
-  virtual int *GetScreenSize();
+  int *GetScreenSize() VTK_OVERRIDE;
 
   /**
    * Get the position in screen coordinates of the window.
    */
-  virtual int *GetPosition();
+  int *GetPosition() VTK_OVERRIDE;
 
   /**
    * Set the name of the window. This appears at the top of the window
    * normally.
    */
-  virtual void SetWindowName(const char *);
+  void SetWindowName(const char *) VTK_OVERRIDE;
 
-  void SetNextWindowInfo(char *)
+  void SetNextWindowInfo(char *) VTK_OVERRIDE
   {
       vtkWarningMacro("SetNextWindowInfo not implemented (WindowRemap not implemented).");
   }
-  virtual void* GetGenericDrawable()
+  void* GetGenericDrawable() VTK_OVERRIDE
   {
       vtkWarningMacro("Method not implemented.");
       return 0;
   }
-  virtual void SetDisplayId(void*)
+  void SetDisplayId(void*) VTK_OVERRIDE
   {
       vtkWarningMacro("Method not implemented.");
   }
-  virtual void *GetGenericDisplayId()
+  void *GetGenericDisplayId() VTK_OVERRIDE
   {
       vtkWarningMacro("Method not implemented.");
       return 0;
@@ -158,16 +158,16 @@ public:
    * The paramater is an ASCII string of a decimal number representing
    * a pointer to the window.
    */
-  virtual void SetWindowInfo(char*);
+  void SetWindowInfo(char*) VTK_OVERRIDE;
 
   /**
    * See the documenation for SetParentId().  This method allows the ParentId
    * to be set as an ASCII string of a decimal number that is the memory
    * address of the parent NSView.
    */
-  virtual void SetParentInfo(char*);
+  void SetParentInfo(char*) VTK_OVERRIDE;
 
-  void SetNextWindowId(void*)
+  void SetNextWindowId(void*) VTK_OVERRIDE
   {
       vtkWarningMacro("SetNextWindowId not implemented (WindowRemap not implemented).");
   }
@@ -176,12 +176,12 @@ public:
    * Initialize the render window from the information associated
    * with the currently activated OpenGL context.
    */
-  virtual bool InitializeFromCurrentContext();
+  bool InitializeFromCurrentContext() VTK_OVERRIDE;
 
   /**
    * Update system if needed due to stereo rendering.
    */
-  virtual void StereoUpdate();
+  void StereoUpdate() VTK_OVERRIDE;
 
   /**
    * Prescribe that the window be created in a stereo-capable mode. This
@@ -189,17 +189,17 @@ public:
    * overrrides the superclass method since this class can actually check
    * whether the window has been realized yet.
    */
-  virtual void SetStereoCapableWindow(int capable);
+  void SetStereoCapableWindow(int capable) VTK_OVERRIDE;
 
   /**
    * Make this windows OpenGL context the current context.
    */
-  virtual void MakeCurrent();
+  void MakeCurrent() VTK_OVERRIDE;
 
   /**
    * Tells if this window is the current OpenGL context for the calling thread.
    */
-  virtual bool IsCurrent();
+  bool IsCurrent() VTK_OVERRIDE;
 
   /**
    * Test if the window has a valid drawable. This is
@@ -207,7 +207,7 @@ public:
    * to an invalid drawable results in all OpenGL calls to fail
    * with "invalid framebuffer operation".
    */
-  virtual bool IsDrawable();
+  bool IsDrawable() VTK_OVERRIDE;
 
   /**
    * Update this window's OpenGL context, e.g. when the window is resized.
@@ -217,30 +217,30 @@ public:
   /**
    * Get report of capabilities for the render window
    */
-  const char *ReportCapabilities();
+  const char *ReportCapabilities() VTK_OVERRIDE;
 
   /**
    * Does this render window support OpenGL? 0-false, 1-true
    */
-  int SupportsOpenGL();
+  int SupportsOpenGL() VTK_OVERRIDE;
 
   /**
    * Is this render window using hardware acceleration? 0-false, 1-true
    */
-  int IsDirect();
+  int IsDirect() VTK_OVERRIDE;
 
   /**
    * If called, allow MakeCurrent() to skip cache-check when called.
    * MakeCurrent() reverts to original behavior of cache-checking
    * on the next render.
    */
-  virtual void SetForceMakeCurrent();
+  void SetForceMakeCurrent() VTK_OVERRIDE;
 
   /**
    * Check to see if an event is pending for this window.
    * This is a useful check to abort a long render.
    */
-  virtual  int GetEventPending();
+   int GetEventPending() VTK_OVERRIDE;
 
   //@{
   /**
@@ -254,12 +254,12 @@ public:
   /**
    * Clean up device contexts, rendering contexts, etc.
    */
-  void Finalize();
+  void Finalize() VTK_OVERRIDE;
 
   /**
    * Get the size of the depth buffer.
    */
-  int GetDepthBufferSize();
+  int GetDepthBufferSize() VTK_OVERRIDE;
 
   //@{
   /**
@@ -268,15 +268,15 @@ public:
    * Set cursor position in window (note that (0,0) is the lower left
    * corner).
    */
-  virtual void HideCursor();
-  virtual void ShowCursor();
-  virtual void SetCursorPosition(int x, int y);
+  void HideCursor() VTK_OVERRIDE;
+  void ShowCursor() VTK_OVERRIDE;
+  void SetCursorPosition(int x, int y) VTK_OVERRIDE;
   //@}
 
   /**
    * Change the shape of the cursor.
    */
-  virtual void SetCurrentCursor(int);
+  void SetCurrentCursor(int) VTK_OVERRIDE;
 
   /**
    * Get the ViewCreated flag. It is 1 if this object created an instance
@@ -296,7 +296,7 @@ public:
    */
   void SetContextId(void *);
   void *GetContextId();
-  virtual void *GetGenericContext()   {return this->GetContextId();}
+  void *GetGenericContext() VTK_OVERRIDE   {return this->GetContextId();}
   //@}
 
   /**
@@ -326,13 +326,13 @@ public:
    * and SetWindowId(), respectively, early on (before WindowInitialize()
    * is executed). In the case of Java, you should call only SetWindowId().
    */
-  virtual void SetWindowId(void *);
+  void SetWindowId(void *) VTK_OVERRIDE;
 
   /**
    * Returns the NSView* associated with this vtkRenderWindow.
    */
   virtual void *GetWindowId();
-  virtual void *GetGenericWindowId() {return this->GetWindowId();}
+  void *GetGenericWindowId() VTK_OVERRIDE {return this->GetWindowId();}
 
   /**
    * Set the NSView* for the vtkRenderWindow to be parented within.  The
@@ -340,7 +340,7 @@ public:
    * NSView that the vtkRenderWindow will create within this parent.
    * If you set the WindowId, then this ParentId will be ignored.
    */
-  virtual void SetParentId(void *nsview);
+  void SetParentId(void *nsview) VTK_OVERRIDE;
 
   /**
    * Get the parent NSView* for this vtkRenderWindow.  This method will
@@ -348,7 +348,7 @@ public:
    * SetParentInfo().
    */
   virtual void *GetParentId();
-  virtual void *GetGenericParentId() { return this->GetParentId(); }
+  void *GetGenericParentId() VTK_OVERRIDE { return this->GetParentId(); }
 
   //@{
   /**
@@ -360,12 +360,12 @@ public:
 
 protected:
   vtkCocoaRenderWindow();
-  ~vtkCocoaRenderWindow();
+  ~vtkCocoaRenderWindow() VTK_OVERRIDE;
 
   void CreateGLContext();
 
-  void CreateAWindow();
-  void DestroyWindow();
+  void CreateAWindow() VTK_OVERRIDE;
+  void DestroyWindow() VTK_OVERRIDE;
   void DestroyOffScreenWindow();
 
   int OffScreenInitialized;
diff --git a/Rendering/OpenGL/vtkCocoaRenderWindowInteractor.h b/Rendering/OpenGL/vtkCocoaRenderWindowInteractor.h
index 290f322c7e..34deb22df9 100644
--- a/Rendering/OpenGL/vtkCocoaRenderWindowInteractor.h
+++ b/Rendering/OpenGL/vtkCocoaRenderWindowInteractor.h
@@ -49,12 +49,12 @@ public:
   static vtkCocoaRenderWindowInteractor *New();
 
   vtkTypeMacro(vtkCocoaRenderWindowInteractor,vtkRenderWindowInteractor);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Initialize the even handler
    */
-  virtual void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   //@{
   /**
@@ -66,8 +66,8 @@ public:
    * and all other interactors associated with the widget are disabled
    * when their data is not displayed.
    */
-  virtual void Enable();
-  virtual void Disable();
+  void Enable() VTK_OVERRIDE;
+  void Disable() VTK_OVERRIDE;
   //@}
 
   /**
@@ -75,7 +75,7 @@ public:
    * calls PostQuitMessage(0) to terminate app. An application can Specify
    * ExitMethod for alternative behaviour (i.e. suppresion of keyboard exit)
    */
-  void TerminateApp();
+  void TerminateApp() VTK_OVERRIDE;
 
   //@{
   /**
@@ -92,14 +92,14 @@ public:
    * These methods correspond to the the Exit, User and Pick
    * callbacks. They allow for the Style to invoke them.
    */
-  virtual void ExitCallback();
+  void ExitCallback() VTK_OVERRIDE;
 
 //  int GetButtonDown();
 //  void SetButtonDown(int button);
 
 protected:
   vtkCocoaRenderWindowInteractor();
-  ~vtkCocoaRenderWindowInteractor();
+  ~vtkCocoaRenderWindowInteractor() VTK_OVERRIDE;
 
   /**
    * Accessors for the Cocoa member variables. These should be used at all time, even
@@ -124,8 +124,8 @@ protected:
    * Cocoa-specific internal timer methods. See the superclass for detailed
    * documentation.
    */
-  virtual int InternalCreateTimer(int timerId, int timerType, unsigned long duration);
-  virtual int InternalDestroyTimer(int platformTimerId);
+  int InternalCreateTimer(int timerId, int timerType, unsigned long duration) VTK_OVERRIDE;
+  int InternalDestroyTimer(int platformTimerId) VTK_OVERRIDE;
   //@}
 
   /**
@@ -133,7 +133,7 @@ protected:
    * call this method it will loop processing events until the
    * application is exited.
    */
-  virtual void StartEventLoop();
+  void StartEventLoop() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Rendering/OpenGL/vtkCoincidentTopologyResolutionPainter.h b/Rendering/OpenGL/vtkCoincidentTopologyResolutionPainter.h
index b831991e10..25852a5729 100644
--- a/Rendering/OpenGL/vtkCoincidentTopologyResolutionPainter.h
+++ b/Rendering/OpenGL/vtkCoincidentTopologyResolutionPainter.h
@@ -40,7 +40,7 @@ public:
   static vtkCoincidentTopologyResolutionPainter* New();
   vtkTypeMacro(vtkCoincidentTopologyResolutionPainter,
     vtkPolyDataPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set/Get a global flag that controls whether coincident topology (e.g., a
@@ -77,13 +77,13 @@ public:
 
 protected:
   vtkCoincidentTopologyResolutionPainter();
-  ~vtkCoincidentTopologyResolutionPainter();
+  ~vtkCoincidentTopologyResolutionPainter() VTK_OVERRIDE;
 
   /**
    * Called before RenderInternal() if the Information has been changed
    * since the last time this method was called.
    */
-  virtual void ProcessInformation(vtkInformation*);
+  void ProcessInformation(vtkInformation*) VTK_OVERRIDE;
 
   // These are method to set ivars. These are purpisefully protected.
   // The only means to affect these values is thru information object.
diff --git a/Rendering/OpenGL/vtkColorMaterialHelper.h b/Rendering/OpenGL/vtkColorMaterialHelper.h
index b8232b6529..ca9c4de2d4 100644
--- a/Rendering/OpenGL/vtkColorMaterialHelper.h
+++ b/Rendering/OpenGL/vtkColorMaterialHelper.h
@@ -39,7 +39,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkColorMaterialHelper : public vtkObject
 public:
   static vtkColorMaterialHelper* New();
   vtkTypeMacro(vtkColorMaterialHelper, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   void Initialize(vtkShaderProgram2*);
   vtkGetObjectMacro(Shader, vtkShaderProgram2);
@@ -66,7 +66,7 @@ public:
 
 protected:
   vtkColorMaterialHelper();
-  ~vtkColorMaterialHelper();
+  ~vtkColorMaterialHelper() VTK_OVERRIDE;
 
   void SetShader(vtkShaderProgram2*);
   vtkShaderProgram2 * Shader;
diff --git a/Rendering/OpenGL/vtkCompositePainter.h b/Rendering/OpenGL/vtkCompositePainter.h
index 1629caad95..9454158002 100644
--- a/Rendering/OpenGL/vtkCompositePainter.h
+++ b/Rendering/OpenGL/vtkCompositePainter.h
@@ -40,13 +40,13 @@ class VTKRENDERINGOPENGL_EXPORT vtkCompositePainter : public vtkPainter
 public:
   static vtkCompositePainter* New();
   vtkTypeMacro(vtkCompositePainter, vtkPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the output data object from this painter. The default implementation
    * simply forwards the input data object as the output.
    */
-  virtual vtkDataObject* GetOutput();
+  vtkDataObject* GetOutput() VTK_OVERRIDE;
 
   /**
    * Key used to pass a vtkCompositeDataDisplayAttributes instance doing the
@@ -64,7 +64,7 @@ public:
 
 protected:
   vtkCompositePainter();
-  ~vtkCompositePainter();
+  ~vtkCompositePainter() VTK_OVERRIDE;
 
   /**
    * Take part in garbage collection.
@@ -75,7 +75,7 @@ protected:
    * Called before RenderInternal() if the Information has been changed
    * since the last time this method was called.
    */
-  virtual void ProcessInformation(vtkInformation* information);
+  void ProcessInformation(vtkInformation* information) VTK_OVERRIDE;
 
   /**
    * Performs the actual rendering. Subclasses may override this method.
@@ -84,8 +84,8 @@ protected:
    * DelegatePainter is in sync with this painter i.e. UpdateDelegatePainter()
    * has been called.
    */
-  virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
-    unsigned long typeflags, bool forceCompileOnly);
+  void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
+    unsigned long typeflags, bool forceCompileOnly) VTK_OVERRIDE;
 
   class RenderBlockState
   {
diff --git a/Rendering/OpenGL/vtkCompositePolyDataMapper2.h b/Rendering/OpenGL/vtkCompositePolyDataMapper2.h
index 898f92414b..dad4422349 100644
--- a/Rendering/OpenGL/vtkCompositePolyDataMapper2.h
+++ b/Rendering/OpenGL/vtkCompositePolyDataMapper2.h
@@ -36,7 +36,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkCompositePolyDataMapper2 : public vtkPainterP
 public:
   static vtkCompositePolyDataMapper2* New();
   vtkTypeMacro(vtkCompositePolyDataMapper2, vtkPainterPolyDataMapper);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Returns if the mapper does not expect to have translucent geometry. This
@@ -48,7 +48,7 @@ public:
    * Overridden to use the actual data and ScalarMode to determine if we have
    * opaque geometry.
    */
-  virtual bool GetIsOpaque();
+  bool GetIsOpaque() VTK_OVERRIDE;
 
   //@{
   /**
@@ -95,30 +95,30 @@ public:
 
 protected:
   vtkCompositePolyDataMapper2();
-  ~vtkCompositePolyDataMapper2();
+  ~vtkCompositePolyDataMapper2() VTK_OVERRIDE;
 
   /**
    * We need to override this method because the standard streaming
    * demand driven pipeline is not what we want - we are expecting
    * hierarchical data as input
    */
-  vtkExecutive* CreateDefaultExecutive();
+  vtkExecutive* CreateDefaultExecutive() VTK_OVERRIDE;
 
   /**
    * Need to define the type of data handled by this mapper.
    */
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   /**
    * Need to loop over the hierarchy to compute bounds
    */
-  virtual void ComputeBounds();
+  void ComputeBounds() VTK_OVERRIDE;
 
   /**
    * Called when the PainterInformation becomes obsolete. Overridden to pass
    * CompositeDataDisplayAttributes to the painters.
    */
-  virtual void UpdatePainterInformation();
+  void UpdatePainterInformation() VTK_OVERRIDE;
 
   /**
    * Time stamp for computation of bounds.
diff --git a/Rendering/OpenGL/vtkCoreGraphicsGPUInfoList.h b/Rendering/OpenGL/vtkCoreGraphicsGPUInfoList.h
index d3a12084f5..04cf383e3f 100644
--- a/Rendering/OpenGL/vtkCoreGraphicsGPUInfoList.h
+++ b/Rendering/OpenGL/vtkCoreGraphicsGPUInfoList.h
@@ -33,13 +33,13 @@ class VTKRENDERINGOPENGL_EXPORT vtkCoreGraphicsGPUInfoList : public vtkGPUInfoLi
 public:
   static vtkCoreGraphicsGPUInfoList* New();
   vtkTypeMacro(vtkCoreGraphicsGPUInfoList, vtkGPUInfoList);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Build the list of vtkInfoGPU if not done yet.
    * \post probed: IsProbed()
    */
-  virtual void Probe();
+  void Probe() VTK_OVERRIDE;
 
 protected:
   //@{
@@ -47,7 +47,7 @@ protected:
    * Default constructor.
    */
   vtkCoreGraphicsGPUInfoList();
-  virtual ~vtkCoreGraphicsGPUInfoList();
+  ~vtkCoreGraphicsGPUInfoList() VTK_OVERRIDE;
   //@}
 
 private:
diff --git a/Rendering/OpenGL/vtkDataTransferHelper.h b/Rendering/OpenGL/vtkDataTransferHelper.h
index 330a278c79..c1024591be 100644
--- a/Rendering/OpenGL/vtkDataTransferHelper.h
+++ b/Rendering/OpenGL/vtkDataTransferHelper.h
@@ -47,7 +47,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkDataTransferHelper : public vtkObject
 public:
   static vtkDataTransferHelper* New();
   vtkTypeMacro(vtkDataTransferHelper, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -224,7 +224,7 @@ public:
 
 protected:
   vtkDataTransferHelper();
-  ~vtkDataTransferHelper();
+  ~vtkDataTransferHelper() VTK_OVERRIDE;
 
   /**
    * Load all necessary extensions.
diff --git a/Rendering/OpenGL/vtkDefaultPainter.h b/Rendering/OpenGL/vtkDefaultPainter.h
index ab0285b05f..0a9da8b32e 100644
--- a/Rendering/OpenGL/vtkDefaultPainter.h
+++ b/Rendering/OpenGL/vtkDefaultPainter.h
@@ -49,7 +49,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkDefaultPainter : public vtkPainter
 public:
   static vtkDefaultPainter *New();
   vtkTypeMacro(vtkDefaultPainter, vtkPainter);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -114,8 +114,8 @@ public:
    * These methods are overridden so that the delegate is set
    * to the end of the Painter Chain.
    */
-  virtual void SetDelegatePainter(vtkPainter*);
-  virtual vtkPainter* GetDelegatePainter() { return this->DefaultPainterDelegate; }
+  void SetDelegatePainter(vtkPainter*) VTK_OVERRIDE;
+  vtkPainter* GetDelegatePainter() VTK_OVERRIDE { return this->DefaultPainterDelegate; }
 
   /**
    * Overridden to setup the chain of painter depending on the
@@ -125,8 +125,8 @@ public:
    * Building of the chain does not depend on input polydata,
    * hence it does not check if the input has changed at all.
    */
-  virtual void Render(vtkRenderer* renderer, vtkActor* actor,
-                      unsigned long typeflags, bool forceCompileOnly);
+  void Render(vtkRenderer* renderer, vtkActor* actor,
+                      unsigned long typeflags, bool forceCompileOnly) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this painter.
@@ -134,18 +134,18 @@ public:
    * resources to release.
    * The call is propagated to the delegate painter, if any.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Expand or shrink the estimated bounds based on the geometric
    * transformations applied in the painter. The bounds are left unchanged
    * if the painter does not change the geometry.
    */
-  void UpdateBounds(double bounds[6]);
+  void UpdateBounds(double bounds[6]) VTK_OVERRIDE;
 
 protected:
   vtkDefaultPainter();
-  ~vtkDefaultPainter();
+  ~vtkDefaultPainter() VTK_OVERRIDE;
 
   /**
    * Setups the the painter chain.
diff --git a/Rendering/OpenGL/vtkDefaultPass.h b/Rendering/OpenGL/vtkDefaultPass.h
index 2a2641ff7e..59e1f7d09a 100644
--- a/Rendering/OpenGL/vtkDefaultPass.h
+++ b/Rendering/OpenGL/vtkDefaultPass.h
@@ -45,7 +45,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkDefaultPass : public vtkRenderPass
 public:
   static vtkDefaultPass *New();
   vtkTypeMacro(vtkDefaultPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
@@ -53,7 +53,7 @@ public:
    * RenderVolumetricGeometry(), RenderOverlay()
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
  protected:
   /**
@@ -64,7 +64,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkDefaultPass();
+  ~vtkDefaultPass() VTK_OVERRIDE;
 
   /**
    * Opaque pass without key checking.
diff --git a/Rendering/OpenGL/vtkDepthPeelingPass.h b/Rendering/OpenGL/vtkDepthPeelingPass.h
index 2ec0d8a5da..516388772e 100644
--- a/Rendering/OpenGL/vtkDepthPeelingPass.h
+++ b/Rendering/OpenGL/vtkDepthPeelingPass.h
@@ -52,20 +52,20 @@ class VTKRENDERINGOPENGL_EXPORT vtkDepthPeelingPass : public vtkRenderPass
 public:
   static vtkDepthPeelingPass *New();
   vtkTypeMacro(vtkDepthPeelingPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   //@{
   /**
@@ -127,7 +127,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkDepthPeelingPass();
+  ~vtkDepthPeelingPass() VTK_OVERRIDE;
 
   /**
    * Check if depth peeling is supported by the current OpenGL context.
diff --git a/Rendering/OpenGL/vtkDisplayListPainter.h b/Rendering/OpenGL/vtkDisplayListPainter.h
index 55e06d77fa..59bff38439 100644
--- a/Rendering/OpenGL/vtkDisplayListPainter.h
+++ b/Rendering/OpenGL/vtkDisplayListPainter.h
@@ -31,7 +31,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkDisplayListPainter : public vtkPainter
 public:
   static vtkDisplayListPainter* New();
   vtkTypeMacro(vtkDisplayListPainter, vtkPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Turn on/off flag to control whether data is rendered using
@@ -48,17 +48,17 @@ public:
    * Overridden to avoid adding of delegate rendering time
    * when Display Lists are used.
    */
-  virtual double GetTimeToDraw();
+  double GetTimeToDraw() VTK_OVERRIDE;
 
 protected:
   vtkDisplayListPainter();
-  ~vtkDisplayListPainter();
+  ~vtkDisplayListPainter() VTK_OVERRIDE;
 
   /**
    * Called before RenderInternal() if the Information has been changed
    * since the last time this method was called.
    */
-  virtual void ProcessInformation(vtkInformation*);
+  void ProcessInformation(vtkInformation*) VTK_OVERRIDE;
 
 
   // These methods set the ivars. These are purposefully protected.
diff --git a/Rendering/OpenGL/vtkFrameBufferObject.h b/Rendering/OpenGL/vtkFrameBufferObject.h
index 00abed0589..a4d966a339 100644
--- a/Rendering/OpenGL/vtkFrameBufferObject.h
+++ b/Rendering/OpenGL/vtkFrameBufferObject.h
@@ -48,7 +48,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkFrameBufferObject : public vtkFrameBufferObje
 public:
   static vtkFrameBufferObject* New();
   vtkTypeMacro(vtkFrameBufferObject, vtkFrameBufferObjectBase);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -183,7 +183,19 @@ public:
   /**
    * Dimensions in pixels of the framebuffer.
    */
-  vtkGetVector2Macro(LastSize,int);
+  int *GetLastSize() VTK_OVERRIDE
+  {
+    return this->LastSize;
+  }
+  void GetLastSize (int &_arg1, int &_arg2) VTK_OVERRIDE
+  {
+    _arg1 = this->LastSize[0];
+    _arg2 = this->LastSize[1];
+  }
+  void GetLastSize (int _arg[2]) VTK_OVERRIDE
+  {
+    this->GetLastSize(_arg[0], _arg[1]);
+  }
   //@}
 
   /**
@@ -259,7 +271,7 @@ protected:
   void DisplayBuffer(int value);
 
   vtkFrameBufferObject();
-  ~vtkFrameBufferObject();
+  ~vtkFrameBufferObject() VTK_OVERRIDE;
 
   vtkWeakPointer<vtkRenderWindow> Context;
 
diff --git a/Rendering/OpenGL/vtkFrameBufferObject2.h b/Rendering/OpenGL/vtkFrameBufferObject2.h
index c41f3a5c0d..81096781e6 100644
--- a/Rendering/OpenGL/vtkFrameBufferObject2.h
+++ b/Rendering/OpenGL/vtkFrameBufferObject2.h
@@ -88,7 +88,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkFrameBufferObject2 : public vtkObject
 public:
   static vtkFrameBufferObject2* New();
   vtkTypeMacro(vtkFrameBufferObject2, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -330,7 +330,7 @@ protected:
   int GetOpenGLType(int vtkType);
 
   vtkFrameBufferObject2();
-  ~vtkFrameBufferObject2();
+  ~vtkFrameBufferObject2() VTK_OVERRIDE;
 
   vtkWeakPointer<vtkRenderWindow> Context;
 
diff --git a/Rendering/OpenGL/vtkGLSLShaderDeviceAdapter2.h b/Rendering/OpenGL/vtkGLSLShaderDeviceAdapter2.h
index cfa7d061a6..2939324b39 100644
--- a/Rendering/OpenGL/vtkGLSLShaderDeviceAdapter2.h
+++ b/Rendering/OpenGL/vtkGLSLShaderDeviceAdapter2.h
@@ -34,13 +34,13 @@ class VTKRENDERINGOPENGL_EXPORT vtkGLSLShaderDeviceAdapter2
 public:
   vtkTypeMacro(vtkGLSLShaderDeviceAdapter2, vtkShaderDeviceAdapter2);
   static vtkGLSLShaderDeviceAdapter2 *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   // Descrition:
   // This method is called before rendering. This gives the shader device
   // adapter an opportunity to collect information, such as attribute indices
   // that it will need while rendering.
-  virtual void PrepareForRender();
+  void PrepareForRender() VTK_OVERRIDE;
 
   /**
    * Sends a single attribute to the graphics card.
@@ -57,15 +57,15 @@ public:
    * If attribute is NULL, the OpenGL ID for the attribute will simply be
    * cached.
    */
-  virtual void SendAttribute(const char* attrname,
+  void SendAttribute(const char* attrname,
                              int components,
                              int type,
                              const void *attribute,
-                             unsigned long offset=0);
+                             unsigned long offset=0) VTK_OVERRIDE;
 
 protected:
   vtkGLSLShaderDeviceAdapter2();
-  ~vtkGLSLShaderDeviceAdapter2();
+  ~vtkGLSLShaderDeviceAdapter2() VTK_OVERRIDE;
 
   int GetAttributeLocation(const char* attrName);
 
diff --git a/Rendering/OpenGL/vtkGaussianBlurPass.h b/Rendering/OpenGL/vtkGaussianBlurPass.h
index 8be61b7415..17d1346147 100644
--- a/Rendering/OpenGL/vtkGaussianBlurPass.h
+++ b/Rendering/OpenGL/vtkGaussianBlurPass.h
@@ -64,20 +64,20 @@ class VTKRENDERINGOPENGL_EXPORT vtkGaussianBlurPass : public vtkImageProcessingP
 public:
   static vtkGaussianBlurPass *New();
   vtkTypeMacro(vtkGaussianBlurPass,vtkImageProcessingPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
  protected:
   /**
@@ -88,7 +88,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkGaussianBlurPass();
+  ~vtkGaussianBlurPass() VTK_OVERRIDE;
 
   /**
    * Graphics resources.
diff --git a/Rendering/OpenGL/vtkGenericOpenGLRenderWindow.h b/Rendering/OpenGL/vtkGenericOpenGLRenderWindow.h
index e4e2c42e7d..93025aba4e 100644
--- a/Rendering/OpenGL/vtkGenericOpenGLRenderWindow.h
+++ b/Rendering/OpenGL/vtkGenericOpenGLRenderWindow.h
@@ -35,38 +35,38 @@ class VTKRENDERINGOPENGL_EXPORT vtkGenericOpenGLRenderWindow : public vtkOpenGLR
 public:
   static vtkGenericOpenGLRenderWindow* New();
   vtkTypeMacro(vtkGenericOpenGLRenderWindow, vtkOpenGLRenderWindow);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 protected:
   vtkGenericOpenGLRenderWindow();
-  ~vtkGenericOpenGLRenderWindow();
+  ~vtkGenericOpenGLRenderWindow() VTK_OVERRIDE;
 
 public:
 
   //! Cleans up graphics resources allocated in the context for this VTK scene.
-  void Finalize();
+  void Finalize() VTK_OVERRIDE;
 
   //! flush the pending drawing operations
   //! Class user may to watch for WindowFrameEvent and act on it
-  void Frame();
+  void Frame() VTK_OVERRIDE;
 
   //! Makes the context current.  It is the class user's
   //! responsibility to watch for WindowMakeCurrentEvent and set it current.
-  void MakeCurrent();
+  void MakeCurrent() VTK_OVERRIDE;
 
   //! Returns if the context is current.  It is the class user's
   //! responsibility to watch for WindowIsCurrentEvent and set the bool* flag
   //! passed through the call data parameter.
-  bool IsCurrent();
+  bool IsCurrent() VTK_OVERRIDE;
 
   //! Returns if OpenGL is supported.  It is the class user's
   //! responsibility to watch for WindowSupportsOpenGLEvent and set the int* flag
   //! passed through the call data parameter.
-  int SupportsOpenGL();
+  int SupportsOpenGL() VTK_OVERRIDE;
 
   //! Returns if the context is direct.  It is the class user's
   //! responsibility to watch for WindowIsDirectEvent and set the int* flag
   //! passed through the call data parameter.
-  int IsDirect();
+  int IsDirect() VTK_OVERRIDE;
 
   // {@
   //! set the drawing buffers to use
@@ -85,27 +85,27 @@ public:
 
   // {@
   //! does nothing
-  void SetWindowId(void*);
-  void* GetGenericWindowId();
-  void SetDisplayId(void*);
-  void SetParentId(void*);
-  void* GetGenericDisplayId();
-  void* GetGenericParentId();
-  void* GetGenericContext();
-  void* GetGenericDrawable();
-  void SetWindowInfo(char*);
-  void SetParentInfo(char*);
-  int* GetScreenSize();
-  void Start();
-  void HideCursor();
-  void ShowCursor();
-  void SetFullScreen(int);
-  void WindowRemap();
-  int  GetEventPending();
-  void SetNextWindowId(void*);
-  void SetNextWindowInfo(char*);
-  void CreateAWindow();
-  void DestroyWindow();
+  void SetWindowId(void*) VTK_OVERRIDE;
+  void* GetGenericWindowId() VTK_OVERRIDE;
+  void SetDisplayId(void*) VTK_OVERRIDE;
+  void SetParentId(void*) VTK_OVERRIDE;
+  void* GetGenericDisplayId() VTK_OVERRIDE;
+  void* GetGenericParentId() VTK_OVERRIDE;
+  void* GetGenericContext() VTK_OVERRIDE;
+  void* GetGenericDrawable() VTK_OVERRIDE;
+  void SetWindowInfo(char*) VTK_OVERRIDE;
+  void SetParentInfo(char*) VTK_OVERRIDE;
+  int* GetScreenSize() VTK_OVERRIDE;
+  void Start() VTK_OVERRIDE;
+  void HideCursor() VTK_OVERRIDE;
+  void ShowCursor() VTK_OVERRIDE;
+  void SetFullScreen(int) VTK_OVERRIDE;
+  void WindowRemap() VTK_OVERRIDE;
+  int  GetEventPending() VTK_OVERRIDE;
+  void SetNextWindowId(void*) VTK_OVERRIDE;
+  void SetNextWindowInfo(char*) VTK_OVERRIDE;
+  void CreateAWindow() VTK_OVERRIDE;
+  void DestroyWindow() VTK_OVERRIDE;
   // }@
 
   //@{
diff --git a/Rendering/OpenGL/vtkHardwareSelectionPolyDataPainter.h b/Rendering/OpenGL/vtkHardwareSelectionPolyDataPainter.h
index 6130871431..f462557715 100644
--- a/Rendering/OpenGL/vtkHardwareSelectionPolyDataPainter.h
+++ b/Rendering/OpenGL/vtkHardwareSelectionPolyDataPainter.h
@@ -35,7 +35,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkHardwareSelectionPolyDataPainter :
 public:
   static vtkHardwareSelectionPolyDataPainter* New();
   vtkTypeMacro(vtkHardwareSelectionPolyDataPainter, vtkStandardPolyDataPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -86,14 +86,14 @@ public:
 
 protected:
   vtkHardwareSelectionPolyDataPainter();
-  ~vtkHardwareSelectionPolyDataPainter();
+  ~vtkHardwareSelectionPolyDataPainter() VTK_OVERRIDE;
 
   /**
    * Generates rendering primitives of appropriate type(s). Multiple types
    * of primitives can be requested by or-ring the primitive flags.
    */
-  virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
-    unsigned long typeflags, bool forceCompileOnly);
+  void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
+    unsigned long typeflags, bool forceCompileOnly) VTK_OVERRIDE;
 
   void DrawCells(int mode, vtkCellArray *connectivity,
     vtkIdType startCellId, vtkRenderer *renderer);
diff --git a/Rendering/OpenGL/vtkHiddenLineRemovalPass.h b/Rendering/OpenGL/vtkHiddenLineRemovalPass.h
index 2d8e9388fa..3cc3232859 100644
--- a/Rendering/OpenGL/vtkHiddenLineRemovalPass.h
+++ b/Rendering/OpenGL/vtkHiddenLineRemovalPass.h
@@ -38,9 +38,9 @@ class VTKRENDERINGOPENGL_EXPORT vtkHiddenLineRemovalPass : public vtkRenderPass
 public:
   static vtkHiddenLineRemovalPass* New();
   vtkTypeMacro(vtkHiddenLineRemovalPass, vtkRenderPass)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Returns true if any of the nProps in propArray are rendered as wireframe.
@@ -49,7 +49,7 @@ public:
 
 protected:
   vtkHiddenLineRemovalPass();
-  ~vtkHiddenLineRemovalPass();
+  ~vtkHiddenLineRemovalPass() VTK_OVERRIDE;
 
   void SetRepresentation(std::vector<vtkProp*> &props, int repr);
   int RenderProps(std::vector<vtkProp*> &props, vtkViewport *vp);
diff --git a/Rendering/OpenGL/vtkImageProcessingPass.h b/Rendering/OpenGL/vtkImageProcessingPass.h
index b9467fa3cc..902a320fef 100644
--- a/Rendering/OpenGL/vtkImageProcessingPass.h
+++ b/Rendering/OpenGL/vtkImageProcessingPass.h
@@ -41,14 +41,14 @@ class VTKRENDERINGOPENGL_EXPORT vtkImageProcessingPass : public vtkRenderPass
 {
 public:
   vtkTypeMacro(vtkImageProcessingPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   //@{
   /**
@@ -70,7 +70,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkImageProcessingPass();
+  ~vtkImageProcessingPass() VTK_OVERRIDE;
 
   /**
    * Render delegate with a image of different dimensions than the
diff --git a/Rendering/OpenGL/vtkLightingHelper.h b/Rendering/OpenGL/vtkLightingHelper.h
index cbcbbb9a10..681b089c89 100644
--- a/Rendering/OpenGL/vtkLightingHelper.h
+++ b/Rendering/OpenGL/vtkLightingHelper.h
@@ -40,7 +40,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkLightingHelper : public vtkObject
 public:
   static vtkLightingHelper* New();
   vtkTypeMacro(vtkLightingHelper, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum {
     VTK_MAX_LIGHTS=8
@@ -65,7 +65,7 @@ public:
 
 protected:
   vtkLightingHelper();
-  ~vtkLightingHelper();
+  ~vtkLightingHelper() VTK_OVERRIDE;
 
   void SetShader(vtkShaderProgram2 *shader);
   vtkShaderProgram2 *Shader;
diff --git a/Rendering/OpenGL/vtkLightingPainter.h b/Rendering/OpenGL/vtkLightingPainter.h
index 1be71d5668..3e9fdeab21 100644
--- a/Rendering/OpenGL/vtkLightingPainter.h
+++ b/Rendering/OpenGL/vtkLightingPainter.h
@@ -29,11 +29,11 @@ class VTKRENDERINGOPENGL_EXPORT vtkLightingPainter : public vtkPolyDataPainter
 public:
   static vtkLightingPainter* New();
   vtkTypeMacro(vtkLightingPainter, vtkPolyDataPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkLightingPainter();
-  ~vtkLightingPainter();
+  ~vtkLightingPainter() VTK_OVERRIDE;
 
 private:
   vtkLightingPainter(const vtkLightingPainter&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkLightsPass.h b/Rendering/OpenGL/vtkLightsPass.h
index 20d9755c56..4d14f9c10b 100644
--- a/Rendering/OpenGL/vtkLightsPass.h
+++ b/Rendering/OpenGL/vtkLightsPass.h
@@ -39,13 +39,13 @@ class VTKRENDERINGOPENGL_EXPORT vtkLightsPass : public vtkRenderPass
 public:
   static vtkLightsPass *New();
   vtkTypeMacro(vtkLightsPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
  protected:
   /**
@@ -56,7 +56,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkLightsPass();
+  ~vtkLightsPass() VTK_OVERRIDE;
 
  private:
   vtkLightsPass(const vtkLightsPass&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkLinesPainter.h b/Rendering/OpenGL/vtkLinesPainter.h
index 275abf72c3..824bb5317d 100644
--- a/Rendering/OpenGL/vtkLinesPainter.h
+++ b/Rendering/OpenGL/vtkLinesPainter.h
@@ -36,11 +36,11 @@ class VTKRENDERINGOPENGL_EXPORT vtkLinesPainter : public vtkPrimitivePainter
 public:
   static vtkLinesPainter* New();
   vtkTypeMacro(vtkLinesPainter, vtkPrimitivePainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkLinesPainter();
-  ~vtkLinesPainter();
+  ~vtkLinesPainter() VTK_OVERRIDE;
 
   int RenderPolys; // Flag indicating if the line loops are to be closed.
 
@@ -48,15 +48,15 @@ protected:
    * Overriden to set RenderPolys flag. When set, polys are rendered
    * as line loops.
    */
-  virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
-                              unsigned long typeflags, bool forceCompileOnly);
+  void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
+                              unsigned long typeflags, bool forceCompileOnly) VTK_OVERRIDE;
 
   /**
    * The actual rendering happens here. This method is called only when
    * SupportedPrimitive is present in typeflags when Render() is invoked.
    */
-  virtual int RenderPrimitive(unsigned long flags, vtkDataArray* n,
-    vtkUnsignedCharArray* c, vtkDataArray* t, vtkRenderer* ren);
+  int RenderPrimitive(unsigned long flags, vtkDataArray* n,
+    vtkUnsignedCharArray* c, vtkDataArray* t, vtkRenderer* ren) VTK_OVERRIDE;
 
 private:
   vtkLinesPainter(const vtkLinesPainter&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkOpaquePass.h b/Rendering/OpenGL/vtkOpaquePass.h
index 221faa08a5..b7e0918969 100644
--- a/Rendering/OpenGL/vtkOpaquePass.h
+++ b/Rendering/OpenGL/vtkOpaquePass.h
@@ -39,13 +39,13 @@ class VTKRENDERINGOPENGL_EXPORT vtkOpaquePass : public vtkDefaultPass
 public:
   static vtkOpaquePass *New();
   vtkTypeMacro(vtkOpaquePass,vtkDefaultPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
  protected:
   /**
@@ -56,7 +56,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkOpaquePass();
+  ~vtkOpaquePass() VTK_OVERRIDE;
 
  private:
   vtkOpaquePass(const vtkOpaquePass&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkOpenGLActor.h b/Rendering/OpenGL/vtkOpenGLActor.h
index 13c933cea7..40b4064fa9 100644
--- a/Rendering/OpenGL/vtkOpenGLActor.h
+++ b/Rendering/OpenGL/vtkOpenGLActor.h
@@ -38,11 +38,11 @@ public:
   /**
    * Actual actor render method.
    */
-  void Render(vtkRenderer *ren, vtkMapper *mapper);
+  void Render(vtkRenderer *ren, vtkMapper *mapper) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLActor() {}
-  ~vtkOpenGLActor() {}
+  ~vtkOpenGLActor() VTK_OVERRIDE {}
 
 private:
   vtkOpenGLActor(const vtkOpenGLActor&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkOpenGLCamera.h b/Rendering/OpenGL/vtkOpenGLCamera.h
index 636e8f2263..eabf0e4a85 100644
--- a/Rendering/OpenGL/vtkOpenGLCamera.h
+++ b/Rendering/OpenGL/vtkOpenGLCamera.h
@@ -38,13 +38,13 @@ public:
   /**
    * Implement base class method.
    */
-  void Render(vtkRenderer *ren);
+  void Render(vtkRenderer *ren) VTK_OVERRIDE;
 
-  void UpdateViewport(vtkRenderer *ren);
+  void UpdateViewport(vtkRenderer *ren) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLCamera() {}
-  ~vtkOpenGLCamera() {}
+  ~vtkOpenGLCamera() VTK_OVERRIDE {}
 private:
   vtkOpenGLCamera(const vtkOpenGLCamera&) VTK_DELETE_FUNCTION;
   void operator=(const vtkOpenGLCamera&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkOpenGLClipPlanesPainter.h b/Rendering/OpenGL/vtkOpenGLClipPlanesPainter.h
index 253afd47e8..c699e95f2b 100644
--- a/Rendering/OpenGL/vtkOpenGLClipPlanesPainter.h
+++ b/Rendering/OpenGL/vtkOpenGLClipPlanesPainter.h
@@ -34,19 +34,19 @@ class VTKRENDERINGOPENGL_EXPORT vtkOpenGLClipPlanesPainter : public vtkClipPlane
 public:
   static vtkOpenGLClipPlanesPainter* New();
   vtkTypeMacro(vtkOpenGLClipPlanesPainter, vtkClipPlanesPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLClipPlanesPainter();
-  ~vtkOpenGLClipPlanesPainter();
+  ~vtkOpenGLClipPlanesPainter() VTK_OVERRIDE;
 
   /**
    * Generates rendering primitives of appropriate type(s).
    * Uses the clipping planes to set up clipping regions.
    * typeflags are ignored by this painter.
    */
-  virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
-                              unsigned long typeflags, bool forceCompileOnly);
+  void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
+                              unsigned long typeflags, bool forceCompileOnly) VTK_OVERRIDE;
 
 private:
   vtkOpenGLClipPlanesPainter(const vtkOpenGLClipPlanesPainter&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkOpenGLCoincidentTopologyResolutionPainter.h b/Rendering/OpenGL/vtkOpenGLCoincidentTopologyResolutionPainter.h
index c1929eb881..dca8f2fe81 100644
--- a/Rendering/OpenGL/vtkOpenGLCoincidentTopologyResolutionPainter.h
+++ b/Rendering/OpenGL/vtkOpenGLCoincidentTopologyResolutionPainter.h
@@ -31,11 +31,11 @@ public:
   static vtkOpenGLCoincidentTopologyResolutionPainter* New();
   vtkTypeMacro(vtkOpenGLCoincidentTopologyResolutionPainter,
     vtkCoincidentTopologyResolutionPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLCoincidentTopologyResolutionPainter();
-  ~vtkOpenGLCoincidentTopologyResolutionPainter();
+  ~vtkOpenGLCoincidentTopologyResolutionPainter() VTK_OVERRIDE;
 
   /**
    * Performs the actual rendering. Subclasses may override this method.
@@ -44,8 +44,8 @@ protected:
    * DelegatePainter is in sync with this painter i.e. UpdatePainter()
    * has been called.
    */
-  virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
-                              unsigned long typeflags, bool forceCompileOnly);
+  void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
+                              unsigned long typeflags, bool forceCompileOnly) VTK_OVERRIDE;
 
   void RenderPolygonOffset(vtkRenderer *renderer, vtkActor *actor,
     unsigned long typeflags, bool forceCompileOnly);
diff --git a/Rendering/OpenGL/vtkOpenGLCompositePainter.h b/Rendering/OpenGL/vtkOpenGLCompositePainter.h
index e6c85c5aa0..3ae961e77f 100644
--- a/Rendering/OpenGL/vtkOpenGLCompositePainter.h
+++ b/Rendering/OpenGL/vtkOpenGLCompositePainter.h
@@ -29,17 +29,17 @@ class VTKRENDERINGOPENGL_EXPORT vtkOpenGLCompositePainter : public vtkCompositeP
 public:
   static vtkOpenGLCompositePainter* New();
   vtkTypeMacro(vtkOpenGLCompositePainter, vtkCompositePainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLCompositePainter();
-  ~vtkOpenGLCompositePainter();
+  ~vtkOpenGLCompositePainter() VTK_OVERRIDE;
 
   /**
    * Overridden in vtkOpenGLCompositePainter to pass attributes to OpenGL.
    */
-  virtual void UpdateRenderingState(
-    vtkRenderWindow* window, vtkProperty* property, RenderBlockState& state);
+  void UpdateRenderingState(
+    vtkRenderWindow* window, vtkProperty* property, RenderBlockState& state) VTK_OVERRIDE;
 
 private:
   vtkOpenGLCompositePainter(const vtkOpenGLCompositePainter&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkOpenGLDisplayListPainter.h b/Rendering/OpenGL/vtkOpenGLDisplayListPainter.h
index a81f6127a8..f6be303cd1 100644
--- a/Rendering/OpenGL/vtkOpenGLDisplayListPainter.h
+++ b/Rendering/OpenGL/vtkOpenGLDisplayListPainter.h
@@ -33,27 +33,27 @@ class VTKRENDERINGOPENGL_EXPORT vtkOpenGLDisplayListPainter : public vtkDisplayL
 public:
   static vtkOpenGLDisplayListPainter* New();
   vtkTypeMacro(vtkOpenGLDisplayListPainter, vtkDisplayListPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this mapper.
    * The parameter window could be used to determine which graphic
    * resources to release. In this case, releases the display lists.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
 protected:
 
   vtkOpenGLDisplayListPainter();
-  ~vtkOpenGLDisplayListPainter();
+  ~vtkOpenGLDisplayListPainter() VTK_OVERRIDE;
 
   /**
    * If not using ImmediateModeRendering, this will build a display list,
    * if outdated and use the display list.
    */
-  virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
+  void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
                               unsigned long typeflags,
-                              bool forceCompileOnly);
+                              bool forceCompileOnly) VTK_OVERRIDE;
 
 private:
   vtkOpenGLDisplayListPainter(const vtkOpenGLDisplayListPainter&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkOpenGLExtensionManager.h b/Rendering/OpenGL/vtkOpenGLExtensionManager.h
index 7ba74e35f0..06348ed918 100644
--- a/Rendering/OpenGL/vtkOpenGLExtensionManager.h
+++ b/Rendering/OpenGL/vtkOpenGLExtensionManager.h
@@ -146,7 +146,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkOpenGLExtensionManager : public vtkObject
 public:
   vtkTypeMacro(vtkOpenGLExtensionManager, vtkObject);
   static vtkOpenGLExtensionManager *New();
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -379,7 +379,7 @@ public:
 
 protected:
   vtkOpenGLExtensionManager();
-  virtual ~vtkOpenGLExtensionManager();
+  ~vtkOpenGLExtensionManager() VTK_OVERRIDE;
 
   int OwnRenderWindow;
   char *ExtensionsString;
diff --git a/Rendering/OpenGL/vtkOpenGLGlyph3DMapper.h b/Rendering/OpenGL/vtkOpenGLGlyph3DMapper.h
index b2697398c9..092610c690 100644
--- a/Rendering/OpenGL/vtkOpenGLGlyph3DMapper.h
+++ b/Rendering/OpenGL/vtkOpenGLGlyph3DMapper.h
@@ -42,26 +42,26 @@ class VTKRENDERINGOPENGL_EXPORT vtkOpenGLGlyph3DMapper : public vtkGlyph3DMapper
 public:
   static vtkOpenGLGlyph3DMapper* New();
   vtkTypeMacro(vtkOpenGLGlyph3DMapper, vtkGlyph3DMapper);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
    /**
     * Method initiates the mapping process. Generally sent by the actor
     * as each frame is rendered.
     * Its behavior depends on the value of SelectMode.
     */
-  virtual void Render(vtkRenderer *ren, vtkActor *a);
+  void Render(vtkRenderer *ren, vtkActor *a) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this mapper.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *window);
+  void ReleaseGraphicsResources(vtkWindow *window) VTK_OVERRIDE;
 
 protected:
 
   vtkOpenGLGlyph3DMapper();
-  ~vtkOpenGLGlyph3DMapper();
+  ~vtkOpenGLGlyph3DMapper() VTK_OVERRIDE;
 
   /**
    * Take part in garbage collection.
diff --git a/Rendering/OpenGL/vtkOpenGLHardwareSelector.h b/Rendering/OpenGL/vtkOpenGLHardwareSelector.h
index fe6a544108..1cff21a3d5 100644
--- a/Rendering/OpenGL/vtkOpenGLHardwareSelector.h
+++ b/Rendering/OpenGL/vtkOpenGLHardwareSelector.h
@@ -35,26 +35,26 @@ class VTKRENDERINGOPENGL_EXPORT vtkOpenGLHardwareSelector : public vtkHardwareSe
 public:
   static vtkOpenGLHardwareSelector* New();
   vtkTypeMacro(vtkOpenGLHardwareSelector, vtkHardwareSelector);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Called by the mapper (vtkHardwareSelectionPolyDataPainter) before and after
    * rendering each prop.
    */
-  virtual void BeginRenderProp()
+  void BeginRenderProp() VTK_OVERRIDE
     { this->vtkHardwareSelector::BeginRenderProp(); }
 
-  virtual void EndRenderProp()
+  void EndRenderProp() VTK_OVERRIDE
     { this->vtkHardwareSelector::EndRenderProp(); }
 
 protected:
   vtkOpenGLHardwareSelector();
-  virtual ~vtkOpenGLHardwareSelector();
+  ~vtkOpenGLHardwareSelector() VTK_OVERRIDE;
 
   // Called internally before and after each prop is rendered
   // for device specific configuration/preparation etc.
-  virtual void BeginRenderProp(vtkRenderWindow *);
-  virtual void EndRenderProp(vtkRenderWindow *);
+  void BeginRenderProp(vtkRenderWindow *) VTK_OVERRIDE;
+  void EndRenderProp(vtkRenderWindow *) VTK_OVERRIDE;
 
   // for internal state
   class vtkInternals;
diff --git a/Rendering/OpenGL/vtkOpenGLHardwareSupport.h b/Rendering/OpenGL/vtkOpenGLHardwareSupport.h
index 6e85c728e9..eb622677db 100644
--- a/Rendering/OpenGL/vtkOpenGLHardwareSupport.h
+++ b/Rendering/OpenGL/vtkOpenGLHardwareSupport.h
@@ -36,7 +36,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkOpenGLHardwareSupport :
 {
 public:
   vtkTypeMacro(vtkOpenGLHardwareSupport, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkOpenGLHardwareSupport *New();
 
@@ -67,7 +67,7 @@ public:
 
 protected:
   vtkOpenGLHardwareSupport();
-  ~vtkOpenGLHardwareSupport();
+  ~vtkOpenGLHardwareSupport() VTK_OVERRIDE;
 
 private:
   vtkOpenGLHardwareSupport(const vtkOpenGLHardwareSupport&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkOpenGLImageMapper.h b/Rendering/OpenGL/vtkOpenGLImageMapper.h
index a18cfe0317..83c7defd37 100644
--- a/Rendering/OpenGL/vtkOpenGLImageMapper.h
+++ b/Rendering/OpenGL/vtkOpenGLImageMapper.h
@@ -45,7 +45,7 @@ public:
   /**
    * Handle the render method.
    */
-  void RenderOverlay(vtkViewport* viewport, vtkActor2D* actor)
+  void RenderOverlay(vtkViewport* viewport, vtkActor2D* actor) VTK_OVERRIDE
     { this->RenderStart(viewport, actor); }
 
   /**
@@ -53,11 +53,11 @@ public:
    * the image to the screen.
    */
   void RenderData(vtkViewport* viewport, vtkImageData* data,
-                  vtkActor2D* actor);
+                  vtkActor2D* actor) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLImageMapper();
-  ~vtkOpenGLImageMapper();
+  ~vtkOpenGLImageMapper() VTK_OVERRIDE;
 
 private:
   vtkOpenGLImageMapper(const vtkOpenGLImageMapper&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkOpenGLImageSliceMapper.h b/Rendering/OpenGL/vtkOpenGLImageSliceMapper.h
index 494d3fad49..38bfb00982 100644
--- a/Rendering/OpenGL/vtkOpenGLImageSliceMapper.h
+++ b/Rendering/OpenGL/vtkOpenGLImageSliceMapper.h
@@ -48,18 +48,18 @@ public:
   /**
    * Implement base class method.  Perform the render.
    */
-  void Render(vtkRenderer *ren, vtkImageSlice *prop);
+  void Render(vtkRenderer *ren, vtkImageSlice *prop) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this
    * mapper, the image texture in particular. Using the same texture
    * in multiple render windows is NOT currently supported.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLImageSliceMapper();
-  ~vtkOpenGLImageSliceMapper();
+  ~vtkOpenGLImageSliceMapper() VTK_OVERRIDE;
 
   /**
    * Call the OpenGL code that does color and lighting.
@@ -117,7 +117,7 @@ protected:
    */
   void ComputeTextureSize(
     const int extent[6], int &xdim, int &ydim,
-    int imageSize[2], int textureSize[2]);
+    int imageSize[2], int textureSize[2]) VTK_OVERRIDE;
 
   /**
    * Test whether a given texture size is supported.  This includes a
diff --git a/Rendering/OpenGL/vtkOpenGLLabeledContourMapper.h b/Rendering/OpenGL/vtkOpenGLLabeledContourMapper.h
index b23a28eba2..e9592cd012 100644
--- a/Rendering/OpenGL/vtkOpenGLLabeledContourMapper.h
+++ b/Rendering/OpenGL/vtkOpenGLLabeledContourMapper.h
@@ -34,10 +34,10 @@ public:
 
 protected:
   vtkOpenGLLabeledContourMapper();
-  ~vtkOpenGLLabeledContourMapper();
+  ~vtkOpenGLLabeledContourMapper() VTK_OVERRIDE;
 
-  bool ApplyStencil(vtkRenderer *ren, vtkActor *act);
-  bool RemoveStencil();
+  bool ApplyStencil(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
+  bool RemoveStencil() VTK_OVERRIDE;
 
 private:
   vtkOpenGLLabeledContourMapper(const vtkOpenGLLabeledContourMapper&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkOpenGLLight.h b/Rendering/OpenGL/vtkOpenGLLight.h
index 4e0639acf6..b92d828edc 100644
--- a/Rendering/OpenGL/vtkOpenGLLight.h
+++ b/Rendering/OpenGL/vtkOpenGLLight.h
@@ -38,11 +38,11 @@ public:
   /**
    * Implement base class method.
    */
-  void Render(vtkRenderer *ren, int light_index);
+  void Render(vtkRenderer *ren, int light_index) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLLight() {}
-  ~vtkOpenGLLight() {}
+  ~vtkOpenGLLight() VTK_OVERRIDE {}
 
 private:
   vtkOpenGLLight(const vtkOpenGLLight&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkOpenGLLightMonitor.h b/Rendering/OpenGL/vtkOpenGLLightMonitor.h
index 8cec921f9d..05a4f45b60 100644
--- a/Rendering/OpenGL/vtkOpenGLLightMonitor.h
+++ b/Rendering/OpenGL/vtkOpenGLLightMonitor.h
@@ -39,7 +39,7 @@ public:
   static vtkOpenGLLightMonitor* New();
   static vtkOpenGLLightMonitor *New(int lightId);
   vtkTypeMacro(vtkOpenGLLightMonitor, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -87,7 +87,7 @@ private:
   vtkOpenGLLightMonitor() : LightId(0), UpTime(0)
   { this->Initialize(); }
 
-  ~vtkOpenGLLightMonitor(){}
+  ~vtkOpenGLLightMonitor() VTK_OVERRIDE{}
 
   void Initialize();
 
diff --git a/Rendering/OpenGL/vtkOpenGLLightingPainter.h b/Rendering/OpenGL/vtkOpenGLLightingPainter.h
index 592ff21a45..ae081820e2 100644
--- a/Rendering/OpenGL/vtkOpenGLLightingPainter.h
+++ b/Rendering/OpenGL/vtkOpenGLLightingPainter.h
@@ -35,7 +35,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkOpenGLLightingPainter : public vtkLightingPai
 public:
   static vtkOpenGLLightingPainter* New();
   vtkTypeMacro(vtkOpenGLLightingPainter, vtkLightingPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * This painter overrides GetTimeToDraw() to never pass the request to the
@@ -44,21 +44,21 @@ public:
    * responsibility is borne by the painter causing the multiple rendering
    * requests i.e. this painter itself.
    */
-  virtual double GetTimeToDraw()
+  double GetTimeToDraw() VTK_OVERRIDE
     { return this->TimeToDraw; }
 
 protected:
   vtkOpenGLLightingPainter();
-  ~vtkOpenGLLightingPainter();
+  ~vtkOpenGLLightingPainter() VTK_OVERRIDE;
 
   /**
    * Setups lighting state before calling render on delegate
    * painter.
    */
-  virtual void RenderInternal(vtkRenderer *renderer,
+  void RenderInternal(vtkRenderer *renderer,
                               vtkActor *actor,
                               unsigned long typeflags,
-                              bool forceCompileOnly);
+                              bool forceCompileOnly) VTK_OVERRIDE;
 
 private:
   vtkOpenGLLightingPainter(const vtkOpenGLLightingPainter&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkOpenGLModelViewProjectionMonitor.h b/Rendering/OpenGL/vtkOpenGLModelViewProjectionMonitor.h
index 5aab96dd53..b39dc10a66 100644
--- a/Rendering/OpenGL/vtkOpenGLModelViewProjectionMonitor.h
+++ b/Rendering/OpenGL/vtkOpenGLModelViewProjectionMonitor.h
@@ -38,7 +38,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkOpenGLModelViewProjectionMonitor : public vtk
 public:
   static vtkOpenGLModelViewProjectionMonitor* New();
   vtkTypeMacro(vtkOpenGLModelViewProjectionMonitor, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Fetches the current GL state and updates the
@@ -67,7 +67,7 @@ protected:
   vtkOpenGLModelViewProjectionMonitor() : UpTime(0)
   { this->Initialize(); }
 
-  ~vtkOpenGLModelViewProjectionMonitor(){}
+  ~vtkOpenGLModelViewProjectionMonitor() VTK_OVERRIDE{}
 
   void Initialize();
 
diff --git a/Rendering/OpenGL/vtkOpenGLPainterDeviceAdapter.h b/Rendering/OpenGL/vtkOpenGLPainterDeviceAdapter.h
index e0c295e376..60772235ad 100644
--- a/Rendering/OpenGL/vtkOpenGLPainterDeviceAdapter.h
+++ b/Rendering/OpenGL/vtkOpenGLPainterDeviceAdapter.h
@@ -59,85 +59,85 @@ class VTKRENDERINGOPENGL_EXPORT vtkOpenGLPainterDeviceAdapter :
 public:
   vtkTypeMacro(vtkOpenGLPainterDeviceAdapter, vtkPainterDeviceAdapter);
   static vtkOpenGLPainterDeviceAdapter *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Converts mode from VTK_* to GL_* and calls glBegin.
    */
-  virtual void BeginPrimitive(int mode);
+  void BeginPrimitive(int mode) VTK_OVERRIDE;
 
   /**
    * Calls glEnd.
    */
-  virtual void EndPrimitive();
+  void EndPrimitive() VTK_OVERRIDE;
 
   /**
    * Returns if the given attribute type is supported by the device.
    * Returns 1 is supported, 0 otherwise.
    */
-  virtual int IsAttributesSupported(int attribute);
+  int IsAttributesSupported(int attribute) VTK_OVERRIDE;
 
   /**
    * Calls one of glVertex*, glNormal*, glColor*, or glTexCoord*.
    */
-  virtual void SendAttribute(int index, int components, int type,
-                             const void *attribute, vtkIdType offset=0);
+  void SendAttribute(int index, int components, int type,
+                             const void *attribute, vtkIdType offset=0) VTK_OVERRIDE;
 
   /**
    * Calls glMultiTex
    */
-  virtual void SendMultiTextureCoords(int numcomp, int type, const void *attribute,
-                                      int idx, vtkIdType offset);
+  void SendMultiTextureCoords(int numcomp, int type, const void *attribute,
+                                      int idx, vtkIdType offset) VTK_OVERRIDE;
 
   /**
    * Calls one of glVertexPointer, glNormalPointer, glColorPointer, or
    * glTexCoordPointer.
    */
-  virtual void SetAttributePointer(int index, int numcomponents, int type,
-                                   int stride, const void *pointer);
+  void SetAttributePointer(int index, int numcomponents, int type,
+                                   int stride, const void *pointer) VTK_OVERRIDE;
 
   //@{
   /**
    * Calls glEnableClientState or glDisableClientState.
    */
-  virtual void EnableAttributeArray(int index);
-  virtual void DisableAttributeArray(int index);
+  void EnableAttributeArray(int index) VTK_OVERRIDE;
+  void DisableAttributeArray(int index) VTK_OVERRIDE;
   //@}
 
   /**
    * Calls glDrawArrays.  Mode is converted from VTK_* to GL_*.
    */
-  virtual void DrawArrays(int mode, vtkIdType first, vtkIdType count);
+  void DrawArrays(int mode, vtkIdType first, vtkIdType count) VTK_OVERRIDE;
 
   /**
    * Calls glDrawElements.  Mode and type are converted from VTK_* to GL_*.
    */
-  virtual void DrawElements(int mode, vtkIdType count, int type, void *indices);
+  void DrawElements(int mode, vtkIdType count, int type, void *indices) VTK_OVERRIDE;
 
   /**
    * Returns true if renderer is a vtkOpenGLRenderer.
    */
-  virtual int Compatible(vtkRenderer *renderer);
+  int Compatible(vtkRenderer *renderer) VTK_OVERRIDE;
 
   /**
    * Turns emphasis of vertices on or off for vertex selection.
    * When emphasized verts are drawn nearer to the camera and are drawn
    * larger than normal to make selection of them more reliable.
    */
-  virtual void MakeVertexEmphasis(bool mode);
+  void MakeVertexEmphasis(bool mode) VTK_OVERRIDE;
 
   //@{
   /**
    * Control use of the stencil buffer (for vertex selection).
    */
-  virtual void Stencil(int on);
-  virtual void WriteStencil(vtkIdType value);
-  virtual void TestStencil(vtkIdType value);
+  void Stencil(int on) VTK_OVERRIDE;
+  void WriteStencil(vtkIdType value) VTK_OVERRIDE;
+  void TestStencil(vtkIdType value) VTK_OVERRIDE;
   //@}
 
 protected:
   vtkOpenGLPainterDeviceAdapter();
-  ~vtkOpenGLPainterDeviceAdapter();
+  ~vtkOpenGLPainterDeviceAdapter() VTK_OVERRIDE;
 
   double PointSize;
   double RangeNear;
diff --git a/Rendering/OpenGL/vtkOpenGLPolyDataMapper.h b/Rendering/OpenGL/vtkOpenGLPolyDataMapper.h
index e0e153b6fd..62a331fa2e 100644
--- a/Rendering/OpenGL/vtkOpenGLPolyDataMapper.h
+++ b/Rendering/OpenGL/vtkOpenGLPolyDataMapper.h
@@ -47,14 +47,14 @@ public:
   /**
    * Implement superclass render method.
    */
-  virtual void RenderPiece(vtkRenderer *ren, vtkActor *a);
+  void RenderPiece(vtkRenderer *ren, vtkActor *a) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this mapper.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Draw method for OpenGL.
@@ -63,7 +63,7 @@ public:
 
 protected:
   vtkOpenGLPolyDataMapper();
-  ~vtkOpenGLPolyDataMapper();
+  ~vtkOpenGLPolyDataMapper() VTK_OVERRIDE;
 
   void DrawPoints(int idx,
                   vtkPoints *p,
diff --git a/Rendering/OpenGL/vtkOpenGLPolyDataMapper2D.h b/Rendering/OpenGL/vtkOpenGLPolyDataMapper2D.h
index 0d1916fd4b..a66a58efe1 100644
--- a/Rendering/OpenGL/vtkOpenGLPolyDataMapper2D.h
+++ b/Rendering/OpenGL/vtkOpenGLPolyDataMapper2D.h
@@ -40,11 +40,11 @@ public:
   /**
    * Actually draw the poly data.
    */
-  void RenderOverlay(vtkViewport* viewport, vtkActor2D* actor);
+  void RenderOverlay(vtkViewport* viewport, vtkActor2D* actor) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLPolyDataMapper2D() {}
-  ~vtkOpenGLPolyDataMapper2D() {}
+  ~vtkOpenGLPolyDataMapper2D() VTK_OVERRIDE {}
 
 private:
   vtkOpenGLPolyDataMapper2D(const vtkOpenGLPolyDataMapper2D&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkOpenGLProperty.h b/Rendering/OpenGL/vtkOpenGLProperty.h
index 5f3657b9a6..2d3956d457 100644
--- a/Rendering/OpenGL/vtkOpenGLProperty.h
+++ b/Rendering/OpenGL/vtkOpenGLProperty.h
@@ -44,27 +44,27 @@ public:
   /**
    * Implement base class method.
    */
-  void Render(vtkActor *a, vtkRenderer *ren);
+  void Render(vtkActor *a, vtkRenderer *ren) VTK_OVERRIDE;
 
   /**
    * Implement base class method.
    */
-  void BackfaceRender(vtkActor *a, vtkRenderer *ren);
+  void BackfaceRender(vtkActor *a, vtkRenderer *ren) VTK_OVERRIDE;
 
   /**
    * This method is called after the actor has been rendered.
    * Don't call this directly. This method cleans up
    * any shaders allocated.
    */
-  virtual void PostRender(vtkActor *a,
-                          vtkRenderer *r);
+  void PostRender(vtkActor *a,
+                          vtkRenderer *r) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this
    * property. The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *win);
+  void ReleaseGraphicsResources(vtkWindow *win) VTK_OVERRIDE;
 
   //@{
   /**
@@ -78,7 +78,7 @@ public:
   /**
    * Get the object that can pass vertex attribute to a vtkShaderProgram2.
    */
-  virtual vtkShaderDeviceAdapter2* GetShaderDeviceAdapter2();
+  vtkShaderDeviceAdapter2* GetShaderDeviceAdapter2() VTK_OVERRIDE;
 
   //@{
   /**
@@ -96,9 +96,9 @@ public:
    * - \p numVars - number of variables being set
    * - \p x - values
    */
-  virtual void AddShaderVariable(const char *name, int numVars, int *x);
-  virtual void AddShaderVariable(const char *name, int numVars, float *x);
-  virtual void AddShaderVariable(const char *name, int numVars, double *x);
+  void AddShaderVariable(const char *name, int numVars, int *x) VTK_OVERRIDE;
+  void AddShaderVariable(const char *name, int numVars, float *x) VTK_OVERRIDE;
+  void AddShaderVariable(const char *name, int numVars, double *x) VTK_OVERRIDE;
   //@}
 
   /**
@@ -112,7 +112,7 @@ public:
 
 protected:
   vtkOpenGLProperty();
-  ~vtkOpenGLProperty();
+  ~vtkOpenGLProperty() VTK_OVERRIDE;
 
   /**
    * Method called in vtkOpenGLProperty::Render() to render shaders and/or
diff --git a/Rendering/OpenGL/vtkOpenGLRenderWindow.h b/Rendering/OpenGL/vtkOpenGLRenderWindow.h
index 73e4db91ad..329a6b7713 100644
--- a/Rendering/OpenGL/vtkOpenGLRenderWindow.h
+++ b/Rendering/OpenGL/vtkOpenGLRenderWindow.h
@@ -39,7 +39,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkOpenGLRenderWindow : public vtkRenderWindow
 {
 public:
   vtkTypeMacro(vtkOpenGLRenderWindow, vtkRenderWindow);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -52,61 +52,61 @@ public:
   /**
    * What rendering backend has the user requested
    */
-  virtual const char *GetRenderingBackend();
+  const char *GetRenderingBackend() VTK_OVERRIDE;
 
   /**
    * Update system if needed due to stereo rendering.
    */
-  virtual void StereoUpdate();
+  void StereoUpdate() VTK_OVERRIDE;
 
   //@{
   /**
    * Set/Get the pixel data of an image, transmitted as RGBRGB...
    */
-  virtual unsigned char *GetPixelData(int x,int y,int x2,int y2,int front);
-  virtual int GetPixelData(int x,int y,int x2,int y2, int front,
-                           vtkUnsignedCharArray *data);
-  virtual int SetPixelData(int x,int y,int x2,int y2,unsigned char *data,
-                           int front);
-  virtual int SetPixelData(int x,int y,int x2,int y2,
-                           vtkUnsignedCharArray *data, int front);
+  unsigned char *GetPixelData(int x,int y,int x2,int y2,int front) VTK_OVERRIDE;
+  int GetPixelData(int x,int y,int x2,int y2, int front,
+                           vtkUnsignedCharArray *data) VTK_OVERRIDE;
+  int SetPixelData(int x,int y,int x2,int y2,unsigned char *data,
+                           int front) VTK_OVERRIDE;
+  int SetPixelData(int x,int y,int x2,int y2,
+                           vtkUnsignedCharArray *data, int front) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Set/Get the pixel data of an image, transmitted as RGBARGBA...
    */
-  virtual float *GetRGBAPixelData(int x,int y,int x2,int y2,int front);
-  virtual int GetRGBAPixelData(int x,int y,int x2,int y2, int front,
-                               vtkFloatArray* data);
-  virtual int SetRGBAPixelData(int x,int y,int x2,int y2, float *data,
-                               int front, int blend=0);
-  virtual int SetRGBAPixelData(int x,int y,int x2,int y2, vtkFloatArray *data,
-                               int front, int blend=0);
-  virtual void ReleaseRGBAPixelData(float *data);
-  virtual unsigned char *GetRGBACharPixelData(int x,int y,int x2,int y2,
-                                              int front);
-  virtual int GetRGBACharPixelData(int x,int y,int x2,int y2, int front,
-                                   vtkUnsignedCharArray *data);
-  virtual int SetRGBACharPixelData(int x, int y, int x2, int y2,
+  float *GetRGBAPixelData(int x,int y,int x2,int y2,int front) VTK_OVERRIDE;
+  int GetRGBAPixelData(int x,int y,int x2,int y2, int front,
+                               vtkFloatArray* data) VTK_OVERRIDE;
+  int SetRGBAPixelData(int x,int y,int x2,int y2, float *data,
+                               int front, int blend=0) VTK_OVERRIDE;
+  int SetRGBAPixelData(int x,int y,int x2,int y2, vtkFloatArray *data,
+                               int front, int blend=0) VTK_OVERRIDE;
+  void ReleaseRGBAPixelData(float *data) VTK_OVERRIDE;
+  unsigned char *GetRGBACharPixelData(int x,int y,int x2,int y2,
+                                              int front) VTK_OVERRIDE;
+  int GetRGBACharPixelData(int x,int y,int x2,int y2, int front,
+                                   vtkUnsignedCharArray *data) VTK_OVERRIDE;
+  int SetRGBACharPixelData(int x, int y, int x2, int y2,
                                    unsigned char *data, int front,
-                                   int blend=0);
-  virtual int SetRGBACharPixelData(int x,int y,int x2,int y2,
+                                   int blend=0) VTK_OVERRIDE;
+  int SetRGBACharPixelData(int x,int y,int x2,int y2,
                                    vtkUnsignedCharArray *data, int front,
-                                   int blend=0);
+                                   int blend=0) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Set/Get the zbuffer data from an image
    */
-  virtual float *GetZbufferData( int x1, int y1, int x2, int y2 );
-  virtual int GetZbufferData( int x1, int y1, int x2, int y2, float* z );
-  virtual int GetZbufferData( int x1, int y1, int x2, int y2,
-                              vtkFloatArray* z );
-  virtual int SetZbufferData( int x1, int y1, int x2, int y2, float *buffer );
-  virtual int SetZbufferData( int x1, int y1, int x2, int y2,
-                              vtkFloatArray *buffer );
+  float *GetZbufferData( int x1, int y1, int x2, int y2 ) VTK_OVERRIDE;
+  int GetZbufferData( int x1, int y1, int x2, int y2, float* z ) VTK_OVERRIDE;
+  int GetZbufferData( int x1, int y1, int x2, int y2,
+                              vtkFloatArray* z ) VTK_OVERRIDE;
+  int SetZbufferData( int x1, int y1, int x2, int y2, float *buffer ) VTK_OVERRIDE;
+  int SetZbufferData( int x1, int y1, int x2, int y2,
+                              vtkFloatArray *buffer ) VTK_OVERRIDE;
   //@}
 
   /**
@@ -117,20 +117,20 @@ public:
   /**
    * Get the size of the depth buffer.
    */
-  int GetDepthBufferSize();
+  int GetDepthBufferSize() VTK_OVERRIDE;
 
   /**
    * Get the size of the color buffer.
    * Returns 0 if not able to determine otherwise sets R G B and A into buffer.
    */
-  int GetColorBufferSizes(int *rgba);
+  int GetColorBufferSizes(int *rgba) VTK_OVERRIDE;
 
   //@{
   /**
    * Set the size of the window in screen coordinates in pixels.
    */
-  virtual void SetSize(int a[2]);
-  virtual void SetSize(int,int);
+  void SetSize(int a[2]) VTK_OVERRIDE;
+  void SetSize(int,int) VTK_OVERRIDE;
   //@}
 
   /**
@@ -225,7 +225,7 @@ public:
    * Block the thread until the actual rendering is finished().
    * Useful for measurement only.
    */
-  virtual void WaitForCompletion();
+  void WaitForCompletion() VTK_OVERRIDE;
 
   //@{
   /**
@@ -236,13 +236,13 @@ public:
    * Note: This function requires that the device supports OpenGL framebuffer extension.
    * The function has no effect if OffScreenRendering is ON.
    */
-  virtual int SetUseOffScreenBuffers(bool offScreen);
-  virtual bool GetUseOffScreenBuffers();
+  int SetUseOffScreenBuffers(bool offScreen) VTK_OVERRIDE;
+  bool GetUseOffScreenBuffers() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkOpenGLRenderWindow();
-  ~vtkOpenGLRenderWindow();
+  ~vtkOpenGLRenderWindow() VTK_OVERRIDE;
 
   long OldMonitorSetting;
   vtkIdList *TextureResourceIds;
diff --git a/Rendering/OpenGL/vtkOpenGLRenderer.h b/Rendering/OpenGL/vtkOpenGLRenderer.h
index 7069811c10..392a311a16 100644
--- a/Rendering/OpenGL/vtkOpenGLRenderer.h
+++ b/Rendering/OpenGL/vtkOpenGLRenderer.h
@@ -35,17 +35,17 @@ class VTKRENDERINGOPENGL_EXPORT vtkOpenGLRenderer : public vtkRenderer
 public:
   static vtkOpenGLRenderer *New();
   vtkTypeMacro(vtkOpenGLRenderer, vtkRenderer);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Concrete open gl render method.
    */
-  void DeviceRender(void);
+  void DeviceRender(void) VTK_OVERRIDE;
 
   /**
    * Overridden to support hidden line removal.
    */
-  virtual void DeviceRenderOpaqueGeometry();
+  void DeviceRenderOpaqueGeometry() VTK_OVERRIDE;
 
   /**
    * Render translucent polygonal geometry. Default implementation just call
@@ -53,20 +53,20 @@ public:
    * Subclasses of vtkRenderer that can deal with depth peeling must
    * override this method.
    */
-  virtual void DeviceRenderTranslucentPolygonalGeometry();
+  void DeviceRenderTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
   /**
    * Internal method temporarily removes lights before reloading them
    * into graphics pipeline.
    */
-  virtual void ClearLights(void);
+  void ClearLights(void) VTK_OVERRIDE;
 
-  virtual void Clear(void);
+  void Clear(void) VTK_OVERRIDE;
 
   /**
    * Ask lights to load themselves into graphics pipeline.
    */
-  int UpdateLights(void);
+  int UpdateLights(void) VTK_OVERRIDE;
 
   /**
    * Is rendering at translucent geometry stage using depth peeling and
@@ -86,7 +86,7 @@ public:
 
 protected:
   vtkOpenGLRenderer();
-  ~vtkOpenGLRenderer();
+  ~vtkOpenGLRenderer() VTK_OVERRIDE;
 
   /**
    * Check the compilation status of some fragment shader source.
@@ -94,17 +94,17 @@ protected:
   void CheckCompilation(unsigned int fragmentShader);
 
   // Internal method to release graphics resources in any derived renderers.
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   // Picking functions to be implemented by sub-classes
-  virtual void DevicePickRender();
-  virtual void StartPick(unsigned int pickFromSize);
-  virtual void UpdatePickId();
-  virtual void DonePick();
-  virtual unsigned int GetPickedId();
-  virtual unsigned int GetNumPickedIds();
-  virtual int GetPickedIds(unsigned int atMost, unsigned int *callerBuffer);
-  virtual double GetPickedZ();
+  void DevicePickRender() VTK_OVERRIDE;
+  void StartPick(unsigned int pickFromSize) VTK_OVERRIDE;
+  void UpdatePickId() VTK_OVERRIDE;
+  void DonePick() VTK_OVERRIDE;
+  unsigned int GetPickedId() VTK_OVERRIDE;
+  unsigned int GetNumPickedIds() VTK_OVERRIDE;
+  int GetPickedIds(unsigned int atMost, unsigned int *callerBuffer) VTK_OVERRIDE;
+  double GetPickedZ() VTK_OVERRIDE;
 
   // Ivars used in picking
   class vtkGLPickInfo* PickInfo;
diff --git a/Rendering/OpenGL/vtkOpenGLRepresentationPainter.h b/Rendering/OpenGL/vtkOpenGLRepresentationPainter.h
index fd971260f7..723abfc56c 100644
--- a/Rendering/OpenGL/vtkOpenGLRepresentationPainter.h
+++ b/Rendering/OpenGL/vtkOpenGLRepresentationPainter.h
@@ -34,7 +34,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkOpenGLRepresentationPainter :
 public:
   static vtkOpenGLRepresentationPainter* New();
   vtkTypeMacro(vtkOpenGLRepresentationPainter, vtkRepresentationPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * This painter overrides GetTimeToDraw() to never pass the request to the
@@ -43,20 +43,20 @@ public:
    * responsibility is borne by the painter causing the multiple rendering
    * requests i.e. this painter itself.
    */
-  virtual double GetTimeToDraw()
+  double GetTimeToDraw() VTK_OVERRIDE
   {
     return this->TimeToDraw;
   }
 
 protected:
   vtkOpenGLRepresentationPainter();
-  ~vtkOpenGLRepresentationPainter();
+  ~vtkOpenGLRepresentationPainter() VTK_OVERRIDE;
 
   /**
    * Changes the polygon mode according to the representation.
    */
   void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
-                      unsigned long typeflags,bool forceCompileOnly);
+                      unsigned long typeflags,bool forceCompileOnly) VTK_OVERRIDE;
 
 private:
   vtkOpenGLRepresentationPainter(const vtkOpenGLRepresentationPainter&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkOpenGLScalarsToColorsPainter.h b/Rendering/OpenGL/vtkOpenGLScalarsToColorsPainter.h
index 50e1580f93..506107b378 100644
--- a/Rendering/OpenGL/vtkOpenGLScalarsToColorsPainter.h
+++ b/Rendering/OpenGL/vtkOpenGLScalarsToColorsPainter.h
@@ -36,25 +36,25 @@ public:
   static vtkOpenGLScalarsToColorsPainter* New();
   vtkTypeMacro(vtkOpenGLScalarsToColorsPainter,
     vtkScalarsToColorsPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this mapper.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
-  virtual int GetPremultiplyColorsWithAlpha(vtkActor* actor);
+  int GetPremultiplyColorsWithAlpha(vtkActor* actor) VTK_OVERRIDE;
 
   /**
    * Return the texture size limit, i.e. GL_MAX_TEXTURE_SIZE.
    */
-  virtual vtkIdType GetTextureSizeLimit();
+  vtkIdType GetTextureSizeLimit() VTK_OVERRIDE;
 
 protected:
   vtkOpenGLScalarsToColorsPainter();
-  ~vtkOpenGLScalarsToColorsPainter();
+  ~vtkOpenGLScalarsToColorsPainter() VTK_OVERRIDE;
 
   vtkOpenGLTexture* InternalColorTexture;
   int AlphaBitPlanes;
@@ -67,8 +67,8 @@ protected:
    * Subclasses may override this method. Default implementation propagates
    * the call to Deletegate Painter, in any.
    */
-  virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
-                              unsigned long typeflags, bool forceCompileOnly);
+  void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
+                              unsigned long typeflags, bool forceCompileOnly) VTK_OVERRIDE;
 
 private:
   vtkOpenGLScalarsToColorsPainter(const vtkOpenGLScalarsToColorsPainter&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkOpenGLTexture.h b/Rendering/OpenGL/vtkOpenGLTexture.h
index a69bbe83e8..a928c4010e 100644
--- a/Rendering/OpenGL/vtkOpenGLTexture.h
+++ b/Rendering/OpenGL/vtkOpenGLTexture.h
@@ -43,11 +43,11 @@ public:
   /**
    * Implement base class method.
    */
-  void Load(vtkRenderer*);
+  void Load(vtkRenderer*) VTK_OVERRIDE;
 
   // Descsription:
   // Clean up after the rendering is complete.
-  virtual void PostRender(vtkRenderer*);
+  void PostRender(vtkRenderer*) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this texture.
@@ -55,7 +55,7 @@ public:
    * resources to release. Using the same texture object in multiple
    * render windows is NOT currently supported.
    */
-  void ReleaseGraphicsResources(vtkWindow*);
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
 
   //@{
   /**
@@ -68,7 +68,7 @@ public:
 protected:
 
   vtkOpenGLTexture();
-  ~vtkOpenGLTexture();
+  ~vtkOpenGLTexture() VTK_OVERRIDE;
 
   unsigned char *ResampleToPowerOfTwo(int &xsize, int &ysize,
                                       unsigned char *dptr, int bpp);
diff --git a/Rendering/OpenGL/vtkOverlayPass.h b/Rendering/OpenGL/vtkOverlayPass.h
index 3e45a8c9aa..65f2763991 100644
--- a/Rendering/OpenGL/vtkOverlayPass.h
+++ b/Rendering/OpenGL/vtkOverlayPass.h
@@ -39,13 +39,13 @@ class VTKRENDERINGOPENGL_EXPORT vtkOverlayPass : public vtkDefaultPass
 public:
   static vtkOverlayPass *New();
   vtkTypeMacro(vtkOverlayPass,vtkDefaultPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
  protected:
   /**
@@ -56,7 +56,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkOverlayPass();
+  ~vtkOverlayPass() VTK_OVERRIDE;
 
  private:
   vtkOverlayPass(const vtkOverlayPass&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkPainter.cxx b/Rendering/OpenGL/vtkPainter.cxx
index 83f760b69d..a359cf0e14 100644
--- a/Rendering/OpenGL/vtkPainter.cxx
+++ b/Rendering/OpenGL/vtkPainter.cxx
@@ -49,8 +49,8 @@ public:
   static vtkPainterObserver* New()
     { return new vtkPainterObserver; }
 
-  virtual void Execute(vtkObject *caller,
-    unsigned long event, void* vtkNotUsed(v))
+  void Execute(vtkObject *caller,
+    unsigned long event, void* vtkNotUsed(v)) VTK_OVERRIDE
   {
     vtkPainter* delegate = vtkPainter::SafeDownCast(caller);
     if (delegate && event == vtkCommand::ProgressEvent && this->Self)
diff --git a/Rendering/OpenGL/vtkPainter.h b/Rendering/OpenGL/vtkPainter.h
index 32cf1ecfd7..671d301e27 100644
--- a/Rendering/OpenGL/vtkPainter.h
+++ b/Rendering/OpenGL/vtkPainter.h
@@ -62,7 +62,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkPainter : public vtkObject
 {
 public:
   vtkTypeMacro(vtkPainter, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Keys used to specify control the behaviour of the painter.
@@ -176,7 +176,7 @@ public:
 
 protected:
   vtkPainter();
-  ~vtkPainter();
+  ~vtkPainter() VTK_OVERRIDE;
 
   /**
    * Take part in garbage collection.
diff --git a/Rendering/OpenGL/vtkPainterPolyDataMapper.cxx b/Rendering/OpenGL/vtkPainterPolyDataMapper.cxx
index dd9bcfa2bf..e0057162e3 100644
--- a/Rendering/OpenGL/vtkPainterPolyDataMapper.cxx
+++ b/Rendering/OpenGL/vtkPainterPolyDataMapper.cxx
@@ -45,7 +45,7 @@ public:
   static vtkPainterPolyDataMapperObserver* New()
     { return new vtkPainterPolyDataMapperObserver; }
 
-  virtual void Execute(vtkObject* caller, unsigned long event, void*)
+  void Execute(vtkObject* caller, unsigned long event, void*) VTK_OVERRIDE
   {
     vtkPainter* p = vtkPainter::SafeDownCast(caller);
     if (this->Target && p && event == vtkCommand::ProgressEvent)
diff --git a/Rendering/OpenGL/vtkPainterPolyDataMapper.h b/Rendering/OpenGL/vtkPainterPolyDataMapper.h
index 3608235ef4..b32e62ddd4 100644
--- a/Rendering/OpenGL/vtkPainterPolyDataMapper.h
+++ b/Rendering/OpenGL/vtkPainterPolyDataMapper.h
@@ -36,12 +36,12 @@ class VTKRENDERINGOPENGL_EXPORT vtkPainterPolyDataMapper : public vtkPolyDataMap
 public:
   static vtkPainterPolyDataMapper* New();
   vtkTypeMacro(vtkPainterPolyDataMapper, vtkPolyDataMapper);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Implemented by sub classes. Actual rendering is done here.
    */
-  virtual void RenderPiece(vtkRenderer *ren, vtkActor *act);
+  void RenderPiece(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   //@{
   /**
@@ -59,7 +59,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release. Merely propagates the call to the painter.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Select a data array from the point/cell data
@@ -72,23 +72,23 @@ public:
    * componentno indicates which component from the data array must be passed as
    * the attribute. If -1, then all components are passed.
    */
-  virtual void MapDataArrayToVertexAttribute(
+  void MapDataArrayToVertexAttribute(
     const char* vertexAttributeName,
-    const char* dataArrayName, int fieldAssociation, int componentno=-1);
+    const char* dataArrayName, int fieldAssociation, int componentno=-1) VTK_OVERRIDE;
 
-  virtual void MapDataArrayToMultiTextureAttribute(
+  void MapDataArrayToMultiTextureAttribute(
     int unit,
-    const char* dataArrayName, int fieldAssociation, int componentno=-1);
+    const char* dataArrayName, int fieldAssociation, int componentno=-1) VTK_OVERRIDE;
 
   /**
    * Remove a vertex attribute mapping.
    */
-  virtual void RemoveVertexAttributeMapping(const char* vertexAttributeName);
+  void RemoveVertexAttributeMapping(const char* vertexAttributeName) VTK_OVERRIDE;
 
   /**
    * Remove all vertex attributes.
    */
-  virtual void RemoveAllVertexAttributeMappings();
+  void RemoveAllVertexAttributeMappings() VTK_OVERRIDE;
 
   //@{
   /**
@@ -104,7 +104,7 @@ public:
    * Used by vtkHardwareSelector to determine if the prop supports hardware
    * selection.
    */
-  virtual bool GetSupportsSelection()
+  bool GetSupportsSelection() VTK_OVERRIDE
     { return (this->SelectionPainter != 0); }
 
   /**
@@ -117,18 +117,18 @@ public:
    * Overridden to use the actual data and ScalarMode to determine if we have
    * opaque geometry.
    */
-  virtual bool GetIsOpaque();
+  bool GetIsOpaque() VTK_OVERRIDE;
 
 protected:
   vtkPainterPolyDataMapper();
-  ~vtkPainterPolyDataMapper();
+  ~vtkPainterPolyDataMapper() VTK_OVERRIDE;
 
   /**
    * Called in GetBounds(). When this method is called, the consider the input
    * to be updated depending on whether this->Static is set or not. This method
    * simply obtains the bounds from the data-object and returns it.
    */
-  virtual void ComputeBounds();
+  void ComputeBounds() VTK_OVERRIDE;
 
   /**
    * Called when the PainterInformation becomes obsolete.
diff --git a/Rendering/OpenGL/vtkPixelBufferObject.h b/Rendering/OpenGL/vtkPixelBufferObject.h
index 0254742043..255116257a 100644
--- a/Rendering/OpenGL/vtkPixelBufferObject.h
+++ b/Rendering/OpenGL/vtkPixelBufferObject.h
@@ -61,7 +61,7 @@ public:
 
   static vtkPixelBufferObject* New();
   vtkTypeMacro(vtkPixelBufferObject, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -355,7 +355,7 @@ public:
 
 protected:
   vtkPixelBufferObject();
-  ~vtkPixelBufferObject();
+  ~vtkPixelBufferObject() VTK_OVERRIDE;
 
   /**
    * Loads all required OpenGL extensions. Must be called every time a new
diff --git a/Rendering/OpenGL/vtkPointsPainter.h b/Rendering/OpenGL/vtkPointsPainter.h
index 8ddab47b34..fd6e16146a 100644
--- a/Rendering/OpenGL/vtkPointsPainter.h
+++ b/Rendering/OpenGL/vtkPointsPainter.h
@@ -35,18 +35,18 @@ class VTKRENDERINGOPENGL_EXPORT vtkPointsPainter : public vtkPrimitivePainter
 public:
   static vtkPointsPainter* New();
   vtkTypeMacro(vtkPointsPainter, vtkPrimitivePainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkPointsPainter();
-  ~vtkPointsPainter();
+  ~vtkPointsPainter() VTK_OVERRIDE;
 
   /**
    * The actual rendering happens here. This method is called only when
    * SupportedPrimitive is present in typeflags when Render() is invoked.
    */
-  virtual int RenderPrimitive(unsigned long flags, vtkDataArray* n,
-    vtkUnsignedCharArray* c, vtkDataArray* t, vtkRenderer* ren);
+  int RenderPrimitive(unsigned long flags, vtkDataArray* n,
+    vtkUnsignedCharArray* c, vtkDataArray* t, vtkRenderer* ren) VTK_OVERRIDE;
 
 private:
   vtkPointsPainter(const vtkPointsPainter&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkPolyDataPainter.h b/Rendering/OpenGL/vtkPolyDataPainter.h
index 6def98a234..8806ab9f4f 100644
--- a/Rendering/OpenGL/vtkPolyDataPainter.h
+++ b/Rendering/OpenGL/vtkPolyDataPainter.h
@@ -55,7 +55,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkPolyDataPainter : public vtkPainter
 {
 public:
   vtkTypeMacro(vtkPolyDataPainter, vtkPainter);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get/set the poly data to render.
@@ -93,12 +93,12 @@ public:
    * Overridden to stop the render call if input polydata is not set,
    * since PolyDataPainter cannot paint without any polydata input.
    */
-  virtual void Render(vtkRenderer* renderer, vtkActor* actor,
-                      unsigned long typeflags, bool forceCompileOnly);
+  void Render(vtkRenderer* renderer, vtkActor* actor,
+                      unsigned long typeflags, bool forceCompileOnly) VTK_OVERRIDE;
 
 protected:
   vtkPolyDataPainter();
-  ~vtkPolyDataPainter();
+  ~vtkPolyDataPainter() VTK_OVERRIDE;
 
   int BuildNormals; // ivar synchornized with this->Information before
     // RenderInternal() is called. The ivar are purposefully protected,
@@ -110,7 +110,7 @@ protected:
    * Called before RenderInternal() if the Information has been changed
    * since the last time this method was called.
    */
-  virtual void ProcessInformation(vtkInformation*);
+  void ProcessInformation(vtkInformation*) VTK_OVERRIDE;
 
 private:
   vtkPolyDataPainter(const vtkPolyDataPainter &) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkPolygonsPainter.h b/Rendering/OpenGL/vtkPolygonsPainter.h
index 6845893cb9..eb7573dd3a 100644
--- a/Rendering/OpenGL/vtkPolygonsPainter.h
+++ b/Rendering/OpenGL/vtkPolygonsPainter.h
@@ -31,18 +31,18 @@ class VTKRENDERINGOPENGL_EXPORT vtkPolygonsPainter : public vtkPrimitivePainter
 public:
   static vtkPolygonsPainter* New();
   vtkTypeMacro(vtkPolygonsPainter, vtkPrimitivePainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkPolygonsPainter();
-  ~vtkPolygonsPainter();
+  ~vtkPolygonsPainter() VTK_OVERRIDE;
 
   /**
    * The actual rendering happens here. This method is called only when
    * SupportedPrimitive is present in typeflags when Render() is invoked.
    */
-  virtual int RenderPrimitive(unsigned long flags, vtkDataArray* n,
-    vtkUnsignedCharArray* c, vtkDataArray* t, vtkRenderer* ren);
+  int RenderPrimitive(unsigned long flags, vtkDataArray* n,
+    vtkUnsignedCharArray* c, vtkDataArray* t, vtkRenderer* ren) VTK_OVERRIDE;
 
 private:
   vtkPolygonsPainter(const vtkPolygonsPainter&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkPrimitivePainter.h b/Rendering/OpenGL/vtkPrimitivePainter.h
index 6adc041537..c7558b1cf7 100644
--- a/Rendering/OpenGL/vtkPrimitivePainter.h
+++ b/Rendering/OpenGL/vtkPrimitivePainter.h
@@ -40,7 +40,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkPrimitivePainter : public vtkPolyDataPainter
 {
 public:
   vtkTypeMacro(vtkPrimitivePainter, vtkPolyDataPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -52,7 +52,7 @@ public:
 
 protected:
   vtkPrimitivePainter();
-  ~vtkPrimitivePainter();
+  ~vtkPrimitivePainter() VTK_OVERRIDE;
 
   enum {
     VTK_PDM_NORMALS = 0x001,
@@ -75,18 +75,18 @@ protected:
    * This method is overridden to update the output data
    * as per the input.
    */
-  virtual void PrepareForRendering(vtkRenderer*, vtkActor*);
+  void PrepareForRendering(vtkRenderer*, vtkActor*) VTK_OVERRIDE;
 
   /**
    * Called before RenderInternal() if the Information has been changed
    * since the last time this method was called.
    */
-  virtual void ProcessInformation(vtkInformation*);
+  void ProcessInformation(vtkInformation*) VTK_OVERRIDE;
 
   /**
    * Subclasses need to override this to return the output of the pipeline.
    */
-  virtual vtkDataObject* GetOutput();
+  vtkDataObject* GetOutput() VTK_OVERRIDE;
 
   /**
    * The actual rendering happens here. This method is called only when
@@ -109,9 +109,9 @@ protected:
    * is with typeflags = (typeflags & ~this->SupportedPrimitive) i.e.
    * the request is to render everything other than what the subclass rendered.
    */
-  virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
+  void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
                               unsigned long typeflags,
-                              bool forceCompileOnly);
+                              bool forceCompileOnly) VTK_OVERRIDE;
 
   /**
    * Take part in garbage collection.
diff --git a/Rendering/OpenGL/vtkRenderPassCollection.h b/Rendering/OpenGL/vtkRenderPassCollection.h
index 521a4b49bc..eff10e287e 100644
--- a/Rendering/OpenGL/vtkRenderPassCollection.h
+++ b/Rendering/OpenGL/vtkRenderPassCollection.h
@@ -37,7 +37,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkRenderPassCollection : public vtkCollection
  public:
   static vtkRenderPassCollection *New();
   vtkTypeMacro(vtkRenderPassCollection,vtkCollection);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Add an RenderPass to the list.
@@ -62,7 +62,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkRenderPassCollection : public vtkCollection
 
 protected:
   vtkRenderPassCollection();
-  ~vtkRenderPassCollection();
+  ~vtkRenderPassCollection() VTK_OVERRIDE;
 
 private:
   // hide the standard AddItem from the user and the compiler.
diff --git a/Rendering/OpenGL/vtkRenderStepsPass.h b/Rendering/OpenGL/vtkRenderStepsPass.h
index f39e29efad..e328da98e4 100644
--- a/Rendering/OpenGL/vtkRenderStepsPass.h
+++ b/Rendering/OpenGL/vtkRenderStepsPass.h
@@ -44,20 +44,20 @@ class VTKRENDERINGOPENGL_EXPORT vtkRenderStepsPass : public vtkRenderPass
 public:
   static vtkRenderStepsPass *New();
   vtkTypeMacro(vtkRenderStepsPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   //@{
   /**
@@ -117,7 +117,7 @@ public:
 
 protected:
   vtkRenderStepsPass();
-  virtual ~vtkRenderStepsPass();
+  ~vtkRenderStepsPass() VTK_OVERRIDE;
 
   vtkCameraPass *CameraPass;
   vtkRenderPass *LightsPass;
diff --git a/Rendering/OpenGL/vtkRenderbuffer.h b/Rendering/OpenGL/vtkRenderbuffer.h
index f046ab86e7..3362fe3fbb 100644
--- a/Rendering/OpenGL/vtkRenderbuffer.h
+++ b/Rendering/OpenGL/vtkRenderbuffer.h
@@ -34,7 +34,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkRenderbuffer : public vtkObject
 public:
   static vtkRenderbuffer* New();
   vtkTypeMacro(vtkRenderbuffer, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Returns if the context supports the required extensions.
@@ -88,7 +88,7 @@ public:
 
 protected:
   vtkRenderbuffer();
-  ~vtkRenderbuffer();
+  ~vtkRenderbuffer() VTK_OVERRIDE;
 
   bool LoadRequiredExtensions(vtkRenderWindow *renWin);
   void Alloc();
diff --git a/Rendering/OpenGL/vtkRepresentationPainter.h b/Rendering/OpenGL/vtkRepresentationPainter.h
index 12a44918b9..0f216e9805 100644
--- a/Rendering/OpenGL/vtkRepresentationPainter.h
+++ b/Rendering/OpenGL/vtkRepresentationPainter.h
@@ -32,11 +32,11 @@ class VTKRENDERINGOPENGL_EXPORT vtkRepresentationPainter : public vtkPolyDataPai
 public:
   static vtkRepresentationPainter* New();
   vtkTypeMacro(vtkRepresentationPainter, vtkPolyDataPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkRepresentationPainter();
-  ~vtkRepresentationPainter();
+  ~vtkRepresentationPainter() VTK_OVERRIDE;
 
 private:
   vtkRepresentationPainter(const vtkRepresentationPainter&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkScalarsToColorsPainter.h b/Rendering/OpenGL/vtkScalarsToColorsPainter.h
index a2f22400cf..7158e65374 100644
--- a/Rendering/OpenGL/vtkScalarsToColorsPainter.h
+++ b/Rendering/OpenGL/vtkScalarsToColorsPainter.h
@@ -42,7 +42,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkScalarsToColorsPainter : public vtkPainter
 public:
   static vtkScalarsToColorsPainter* New();
   vtkTypeMacro(vtkScalarsToColorsPainter, vtkPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Control whether the mapper sets the lookuptable range based on its
@@ -137,7 +137,7 @@ public:
   /**
    * Subclasses need to override this to return the output of the pipeline.
    */
-  virtual vtkDataObject *GetOutput();
+  vtkDataObject *GetOutput() VTK_OVERRIDE;
 
   /**
    * Return the texture size limit. Subclasses need to override this
@@ -148,7 +148,7 @@ public:
 
 protected:
   vtkScalarsToColorsPainter();
-  virtual ~vtkScalarsToColorsPainter();
+  ~vtkScalarsToColorsPainter() VTK_OVERRIDE;
 
   /**
    * Create a new shallow-copied clone for data with no scalars.
@@ -166,7 +166,7 @@ protected:
   /**
    * Called just before RenderInternal(). We build the Color array here.
    */
-  virtual void PrepareForRendering(vtkRenderer* renderer, vtkActor* actor);
+  void PrepareForRendering(vtkRenderer* renderer, vtkActor* actor) VTK_OVERRIDE;
 
   /**
    * Generates the colors, if needed.
@@ -181,7 +181,7 @@ protected:
    * Called before RenderInternal() if the Information has been changed
    * since the last time this method was called.
    */
-  virtual void ProcessInformation(vtkInformation*);
+  void ProcessInformation(vtkInformation*) VTK_OVERRIDE;
 
   /**
    * Take part in garbage collection.
diff --git a/Rendering/OpenGL/vtkSequencePass.h b/Rendering/OpenGL/vtkSequencePass.h
index 71ff9a8610..1d906e4c45 100644
--- a/Rendering/OpenGL/vtkSequencePass.h
+++ b/Rendering/OpenGL/vtkSequencePass.h
@@ -40,20 +40,20 @@ class VTKRENDERINGOPENGL_EXPORT vtkSequencePass : public vtkRenderPass
 public:
   static vtkSequencePass *New();
   vtkTypeMacro(vtkSequencePass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   //@{
   /**
@@ -70,7 +70,7 @@ protected:
   vtkRenderPassCollection *Passes;
 
   vtkSequencePass();
-  virtual ~vtkSequencePass();
+  ~vtkSequencePass() VTK_OVERRIDE;
 
 private:
   vtkSequencePass(const vtkSequencePass&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkShader2.h b/Rendering/OpenGL/vtkShader2.h
index de730156ce..9b5dcc7937 100644
--- a/Rendering/OpenGL/vtkShader2.h
+++ b/Rendering/OpenGL/vtkShader2.h
@@ -61,7 +61,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkShader2 : public vtkObject
 public:
   static vtkShader2 *New();
   vtkTypeMacro(vtkShader2,vtkObject);
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Returns if the context supports the required extensions.
@@ -170,7 +170,7 @@ protected:
   /**
    * Destructor. Delete SourceCode and LastCompileLog if any.
    */
-  virtual ~vtkShader2();
+  ~vtkShader2() VTK_OVERRIDE;
 
   /**
    * Load the required OpenGL extensions.
diff --git a/Rendering/OpenGL/vtkShader2Collection.h b/Rendering/OpenGL/vtkShader2Collection.h
index fd6f5743d4..3b5e493455 100644
--- a/Rendering/OpenGL/vtkShader2Collection.h
+++ b/Rendering/OpenGL/vtkShader2Collection.h
@@ -37,13 +37,13 @@ class VTKRENDERINGOPENGL_EXPORT vtkShader2Collection : public vtkCollection
  public:
   static vtkShader2Collection *New();
   vtkTypeMacro(vtkShader2Collection,vtkCollection);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Modified GetMTime because the collection time depends on the
    * content of the shaders.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Add a shader to the list.
@@ -120,7 +120,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkShader2Collection : public vtkCollection
 
 protected:
   vtkShader2Collection();
-  ~vtkShader2Collection();
+  ~vtkShader2Collection() VTK_OVERRIDE;
 
   bool HasShadersOfType(int);
 
diff --git a/Rendering/OpenGL/vtkShaderProgram2.h b/Rendering/OpenGL/vtkShaderProgram2.h
index 1784de7c9c..7eb0a22ef3 100644
--- a/Rendering/OpenGL/vtkShaderProgram2.h
+++ b/Rendering/OpenGL/vtkShaderProgram2.h
@@ -67,7 +67,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkShaderProgram2 : public vtkObject
 public:
   static vtkShaderProgram2* New();
   vtkTypeMacro(vtkShaderProgram2, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Returns if the context supports the required extensions.
@@ -419,7 +419,7 @@ public:
 
 protected:
   vtkShaderProgram2();
-  virtual ~vtkShaderProgram2();
+  ~vtkShaderProgram2() VTK_OVERRIDE;
 
   /**
    * Load the required OpenGL extentions.
diff --git a/Rendering/OpenGL/vtkShadowMapBakerPass.h b/Rendering/OpenGL/vtkShadowMapBakerPass.h
index 1b8030f129..c71685f221 100644
--- a/Rendering/OpenGL/vtkShadowMapBakerPass.h
+++ b/Rendering/OpenGL/vtkShadowMapBakerPass.h
@@ -59,7 +59,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkShadowMapBakerPass : public vtkRenderPass
 public:
   static vtkShadowMapBakerPass *New();
   vtkTypeMacro(vtkShadowMapBakerPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * If this key exists on the PropertyKeys of a prop, the prop is viewed as a
@@ -77,14 +77,14 @@ public:
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   //@{
   /**
@@ -213,7 +213,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkShadowMapBakerPass();
+  ~vtkShadowMapBakerPass() VTK_OVERRIDE;
 
   /**
    * Helper method to compute the mNearest point in a given direction.
diff --git a/Rendering/OpenGL/vtkShadowMapPass.h b/Rendering/OpenGL/vtkShadowMapPass.h
index 529804b4c7..d87cef05b8 100644
--- a/Rendering/OpenGL/vtkShadowMapPass.h
+++ b/Rendering/OpenGL/vtkShadowMapPass.h
@@ -63,20 +63,20 @@ class VTKRENDERINGOPENGL_EXPORT vtkShadowMapPass : public vtkRenderPass
 public:
   static vtkShadowMapPass *New();
   vtkTypeMacro(vtkShadowMapPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   //@{
   /**
@@ -112,7 +112,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkShadowMapPass();
+  ~vtkShadowMapPass() VTK_OVERRIDE;
 
   /**
    * Build the intensity map.
diff --git a/Rendering/OpenGL/vtkSobelGradientMagnitudePass.h b/Rendering/OpenGL/vtkSobelGradientMagnitudePass.h
index c8784507ae..4874c06533 100644
--- a/Rendering/OpenGL/vtkSobelGradientMagnitudePass.h
+++ b/Rendering/OpenGL/vtkSobelGradientMagnitudePass.h
@@ -75,20 +75,20 @@ class VTKRENDERINGOPENGL_EXPORT vtkSobelGradientMagnitudePass : public vtkImageP
 public:
   static vtkSobelGradientMagnitudePass *New();
   vtkTypeMacro(vtkSobelGradientMagnitudePass,vtkImageProcessingPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
  protected:
   /**
@@ -99,7 +99,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkSobelGradientMagnitudePass();
+  ~vtkSobelGradientMagnitudePass() VTK_OVERRIDE;
 
   /**
    * Graphics resources.
diff --git a/Rendering/OpenGL/vtkStandardPolyDataPainter.h b/Rendering/OpenGL/vtkStandardPolyDataPainter.h
index af0930c3ae..e2feaebbfd 100644
--- a/Rendering/OpenGL/vtkStandardPolyDataPainter.h
+++ b/Rendering/OpenGL/vtkStandardPolyDataPainter.h
@@ -53,21 +53,21 @@ class VTKRENDERINGOPENGL_EXPORT vtkStandardPolyDataPainter : public vtkPolyDataP
 {
 public:
   vtkTypeMacro(vtkStandardPolyDataPainter, vtkPolyDataPainter);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
   static vtkStandardPolyDataPainter *New();
 
   void AddMultiTextureCoordsArray(vtkDataArray * array);
 
 protected:
   vtkStandardPolyDataPainter();
-  ~vtkStandardPolyDataPainter();
+  ~vtkStandardPolyDataPainter() VTK_OVERRIDE;
 
   /**
    * Generates rendering primitives of appropriate type(s). Multiple types
    * of preimitives can be requested by or-ring the primitive flags.
    */
-  virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
-                              unsigned long typeflags, bool forceCompileOnly);
+  void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
+                              unsigned long typeflags, bool forceCompileOnly) VTK_OVERRIDE;
 
   void DrawCells(int mode, vtkCellArray *connectivity,
                  vtkIdType startCellId,
@@ -79,7 +79,7 @@ protected:
    * Called before RenderInternal() if the Information has been changed
    * since the last time this method was called.
    */
-  virtual void ProcessInformation(vtkInformation*);
+  void ProcessInformation(vtkInformation*) VTK_OVERRIDE;
 
   void UpdateGenericAttributesCache(vtkShaderDeviceAdapter2 *shaderDevice2);
 
diff --git a/Rendering/OpenGL/vtkTStripsPainter.h b/Rendering/OpenGL/vtkTStripsPainter.h
index 585efe4950..b7867e3736 100644
--- a/Rendering/OpenGL/vtkTStripsPainter.h
+++ b/Rendering/OpenGL/vtkTStripsPainter.h
@@ -28,18 +28,18 @@ class VTKRENDERINGOPENGL_EXPORT vtkTStripsPainter : public vtkPrimitivePainter
 public:
   static vtkTStripsPainter* New();
   vtkTypeMacro(vtkTStripsPainter, vtkPrimitivePainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkTStripsPainter();
-  ~vtkTStripsPainter();
+  ~vtkTStripsPainter() VTK_OVERRIDE;
 
   /**
    * The actual rendering happens here. This method is called only when
    * SupportedPrimitive is present in typeflags when Render() is invoked.
    */
-  virtual int RenderPrimitive(unsigned long flags, vtkDataArray* n,
-    vtkUnsignedCharArray* c, vtkDataArray* t, vtkRenderer* ren);
+  int RenderPrimitive(unsigned long flags, vtkDataArray* n,
+    vtkUnsignedCharArray* c, vtkDataArray* t, vtkRenderer* ren) VTK_OVERRIDE;
 
 private:
   vtkTStripsPainter(const vtkTStripsPainter&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkTextureObject.h b/Rendering/OpenGL/vtkTextureObject.h
index 74d2a9bd57..5eac7937bf 100644
--- a/Rendering/OpenGL/vtkTextureObject.h
+++ b/Rendering/OpenGL/vtkTextureObject.h
@@ -100,7 +100,7 @@ public:
 
   static vtkTextureObject* New();
   vtkTypeMacro(vtkTextureObject, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -609,7 +609,7 @@ public:
 
 protected:
   vtkTextureObject();
-  ~vtkTextureObject();
+  ~vtkTextureObject() VTK_OVERRIDE;
 
   /**
    * Load all necessary extensions.
diff --git a/Rendering/OpenGL/vtkTextureUnitManager.h b/Rendering/OpenGL/vtkTextureUnitManager.h
index ebb7124846..8836a926d1 100644
--- a/Rendering/OpenGL/vtkTextureUnitManager.h
+++ b/Rendering/OpenGL/vtkTextureUnitManager.h
@@ -40,7 +40,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkTextureUnitManager : public vtkObject
 public:
   vtkTypeMacro(vtkTextureUnitManager,vtkObject);
 
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkTextureUnitManager *New();
 
@@ -91,7 +91,7 @@ protected:
   /**
    * Destructor.
    */
-  ~vtkTextureUnitManager();
+  ~vtkTextureUnitManager() VTK_OVERRIDE;
 
   /**
    * Delete the allocation table and check if it is not called before
diff --git a/Rendering/OpenGL/vtkTranslucentPass.h b/Rendering/OpenGL/vtkTranslucentPass.h
index 4a6f3e38e2..648d0b7d0d 100644
--- a/Rendering/OpenGL/vtkTranslucentPass.h
+++ b/Rendering/OpenGL/vtkTranslucentPass.h
@@ -39,13 +39,13 @@ class VTKRENDERINGOPENGL_EXPORT vtkTranslucentPass : public vtkDefaultPass
 public:
   static vtkTranslucentPass *New();
   vtkTypeMacro(vtkTranslucentPass,vtkDefaultPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
  protected:
   /**
@@ -56,7 +56,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkTranslucentPass();
+  ~vtkTranslucentPass() VTK_OVERRIDE;
 
  private:
   vtkTranslucentPass(const vtkTranslucentPass&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkUniformVariables.cxx b/Rendering/OpenGL/vtkUniformVariables.cxx
index b02fecc195..027c0cec32 100644
--- a/Rendering/OpenGL/vtkUniformVariables.cxx
+++ b/Rendering/OpenGL/vtkUniformVariables.cxx
@@ -119,7 +119,7 @@ public:
         ++i;
       }
   }
-  virtual ~vtkUniformVectorInt()
+  ~vtkUniformVectorInt() VTK_OVERRIDE
   {
       delete[] this->Values;
   }
@@ -144,7 +144,7 @@ public:
      return this->Values;
   }
 
-   virtual void Send(int location)
+   void Send(int location) VTK_OVERRIDE
    {
       switch(this->Size)
       {
@@ -166,7 +166,7 @@ public:
       vtkOpenGLStaticCheckErrorMacro("failed at glUniform*i");
    }
 
-  virtual void PrintSelf(ostream &os, vtkIndent indent)
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
   {
       os << indent << this->Name << " (uniform" << this->Size << "i): ";
       int i=0;
@@ -182,7 +182,7 @@ public:
       os << endl;
   }
 
-  virtual vtkUniform *Clone() const
+  vtkUniform *Clone() const VTK_OVERRIDE
   {
       vtkUniformVectorInt *result=new vtkUniformVectorInt(this->Size,
                                                           this->Values);
@@ -212,7 +212,7 @@ public:
       }
   }
 
-  virtual ~vtkUniformVectorFloat()
+  ~vtkUniformVectorFloat() VTK_OVERRIDE
   {
       delete[] this->Values;
   }
@@ -237,7 +237,7 @@ public:
       return this->Values;
   }
 
-  virtual void Send(int location)
+  void Send(int location) VTK_OVERRIDE
   {
       switch(this->Size)
       {
@@ -259,7 +259,7 @@ public:
       vtkOpenGLStaticCheckErrorMacro("failed at glUniform*f");
   }
 
-  virtual void PrintSelf(ostream &os, vtkIndent indent)
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
   {
       os << indent << this->Name << " (uniform" << this->Size << "f): ";
       int i=0;
@@ -275,7 +275,7 @@ public:
       os << endl;
   }
 
-  virtual vtkUniform *Clone() const
+  vtkUniform *Clone() const VTK_OVERRIDE
   {
       vtkUniformVectorFloat *result=new vtkUniformVectorFloat(this->Size,
                                                               this->Values);
@@ -325,7 +325,7 @@ public:
       }
   }
 
-  virtual ~vtkUniformArrayInt()
+  ~vtkUniformArrayInt() VTK_OVERRIDE
   {
       delete[] this->Values;
   }
@@ -355,7 +355,7 @@ public:
       return this->Values;
   }
 
-  virtual void Send(int location)
+  void Send(int location) VTK_OVERRIDE
   {
       switch(this->Size)
       {
@@ -375,7 +375,7 @@ public:
       vtkOpenGLStaticCheckErrorMacro("failed at glUniform*iv");
   }
 
-  virtual void PrintSelf(ostream &os, vtkIndent indent)
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
   {
       os << indent << this->Name << " (uniform" << this->Size << "iv[" << this->ArraySize << "]): ";
       int j=0;
@@ -397,7 +397,7 @@ public:
       }
   }
 
-  virtual vtkUniform *Clone() const
+  vtkUniform *Clone() const VTK_OVERRIDE
   {
       vtkUniformArrayInt *result=new vtkUniformArrayInt(this->Size,
                                                         this->ArraySize,
@@ -431,7 +431,7 @@ public:
       }
   }
 
-  virtual ~vtkUniformArrayFloat()
+  ~vtkUniformArrayFloat() VTK_OVERRIDE
   {
       delete[] this->Values;
   }
@@ -461,7 +461,7 @@ public:
       return this->Values;
   }
 
-  virtual void Send(int location)
+  void Send(int location) VTK_OVERRIDE
   {
       switch(this->Size)
       {
@@ -481,7 +481,7 @@ public:
       vtkOpenGLStaticCheckErrorMacro("failed at glUniform*fv");
   }
 
-  virtual void PrintSelf(ostream &os, vtkIndent indent)
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
   {
       os << indent << this->Name << " (uniform" << this->Size << "fv[" << this->ArraySize << "]): ";
       int j=0;
@@ -503,7 +503,7 @@ public:
       }
   }
 
-  virtual vtkUniform *Clone() const
+  vtkUniform *Clone() const VTK_OVERRIDE
   {
       vtkUniformArrayFloat *result=new vtkUniformArrayFloat(this->Size,
                                                             this->ArraySize,
@@ -544,7 +544,7 @@ public:
       }
   }
 
-  ~vtkUniformMatrix()
+  ~vtkUniformMatrix() VTK_OVERRIDE
   {
       delete[] this->Values;
   }
@@ -580,7 +580,7 @@ public:
       return this->Values;
   }
 
-  virtual void Send(int location)
+  void Send(int location) VTK_OVERRIDE
   {
       switch(this->Rows)
       {
@@ -630,7 +630,7 @@ public:
       vtkOpenGLStaticCheckErrorMacro("failed at glUniformMatrix*fv");
   }
 
-  virtual void PrintSelf(ostream &os, vtkIndent indent)
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
   {
       os << indent << this->Name << " (matrix " << this->Rows << "x"
          << this->Columns << "): ";
@@ -652,7 +652,7 @@ public:
       }
   }
 
-  virtual vtkUniform *Clone() const
+  vtkUniform *Clone() const VTK_OVERRIDE
   {
       vtkUniformMatrix *result=new vtkUniformMatrix(this->Rows,this->Columns,
                                                     this->Values);
diff --git a/Rendering/OpenGL/vtkUniformVariables.h b/Rendering/OpenGL/vtkUniformVariables.h
index 37312db443..6ff29b8fdb 100644
--- a/Rendering/OpenGL/vtkUniformVariables.h
+++ b/Rendering/OpenGL/vtkUniformVariables.h
@@ -37,7 +37,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkUniformVariables : public vtkObject
 public:
   static vtkUniformVariables *New();
   vtkTypeMacro(vtkUniformVariables,vtkObject);
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set an integer uniform variable.
@@ -177,7 +177,7 @@ public:
 
 protected:
   vtkUniformVariables();
-  virtual ~vtkUniformVariables();
+  ~vtkUniformVariables() VTK_OVERRIDE;
 
 private:
   vtkUniformVariables(const vtkUniformVariables&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkValuePainter.h b/Rendering/OpenGL/vtkValuePainter.h
index a912de4305..d291444486 100644
--- a/Rendering/OpenGL/vtkValuePainter.h
+++ b/Rendering/OpenGL/vtkValuePainter.h
@@ -41,7 +41,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkValuePainter :
 public:
   static vtkValuePainter* New();
   vtkTypeMacro(vtkValuePainter, vtkStandardPolyDataPainter);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -91,18 +91,18 @@ public:
 
 protected:
   vtkValuePainter();
-  ~vtkValuePainter();
+  ~vtkValuePainter() VTK_OVERRIDE;
 
   /**
    * overridden to look for informationkeys that specify what array to draw
    */
-  virtual void ProcessInformation(vtkInformation*);
+  void ProcessInformation(vtkInformation*) VTK_OVERRIDE;
 
   /**
    * overridden to draw the chosen array value directly as color
    */
-  virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
-    unsigned long typeflags, bool forceCompileOnly);
+  void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
+    unsigned long typeflags, bool forceCompileOnly) VTK_OVERRIDE;
 
   /**
    * overridden
diff --git a/Rendering/OpenGL/vtkValuePass.h b/Rendering/OpenGL/vtkValuePass.h
index cc63cfb388..c9807d521d 100644
--- a/Rendering/OpenGL/vtkValuePass.h
+++ b/Rendering/OpenGL/vtkValuePass.h
@@ -33,7 +33,7 @@ class VTKRENDERINGOPENGL_EXPORT vtkValuePass : public vtkOpaquePass
 public:
   static vtkValuePass *New();
   vtkTypeMacro(vtkValuePass,vtkOpaquePass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -48,7 +48,7 @@ public:
   /**
    * Render.
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
  protected:
   /**
@@ -59,7 +59,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkValuePass();
+  ~vtkValuePass() VTK_OVERRIDE;
 
  private:
   vtkValuePass(const vtkValuePass&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkValuePasses.h b/Rendering/OpenGL/vtkValuePasses.h
index 9a6bc4c158..b2c2532504 100644
--- a/Rendering/OpenGL/vtkValuePasses.h
+++ b/Rendering/OpenGL/vtkValuePasses.h
@@ -36,12 +36,12 @@ class VTKRENDERINGOPENGL_EXPORT vtkValuePasses : public vtkRenderPass
 public:
   static vtkValuePasses *New();
   vtkTypeMacro(vtkValuePasses,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * orchestrates inner helpers to perform overall rendering stateT
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   //@{
   /**
@@ -62,7 +62,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkValuePasses();
+  ~vtkValuePasses() VTK_OVERRIDE;
 
  private:
   vtkValuePasses(const vtkValuePasses&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL/vtkVolumetricPass.h b/Rendering/OpenGL/vtkVolumetricPass.h
index 5787f572e8..171d67754b 100644
--- a/Rendering/OpenGL/vtkVolumetricPass.h
+++ b/Rendering/OpenGL/vtkVolumetricPass.h
@@ -39,13 +39,13 @@ class VTKRENDERINGOPENGL_EXPORT vtkVolumetricPass : public vtkDefaultPass
 public:
   static vtkVolumetricPass *New();
   vtkTypeMacro(vtkVolumetricPass,vtkDefaultPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
  protected:
   /**
@@ -56,7 +56,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkVolumetricPass();
+  ~vtkVolumetricPass() VTK_OVERRIDE;
 
  private:
   vtkVolumetricPass(const vtkVolumetricPass&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL2/vtkCameraPass.h b/Rendering/OpenGL2/vtkCameraPass.h
index d4b5fec020..0a085f3c88 100644
--- a/Rendering/OpenGL2/vtkCameraPass.h
+++ b/Rendering/OpenGL2/vtkCameraPass.h
@@ -40,20 +40,20 @@ class VTKRENDERINGOPENGL2_EXPORT vtkCameraPass : public vtkRenderPass
 public:
   static vtkCameraPass *New();
   vtkTypeMacro(vtkCameraPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   //@{
   /**
@@ -85,7 +85,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkCameraPass();
+  ~vtkCameraPass() VTK_OVERRIDE;
   virtual void GetTiledSizeAndOrigin(
     const vtkRenderState* render_state,
     int* width, int* height, int *originX,
diff --git a/Rendering/OpenGL2/vtkClearRGBPass.h b/Rendering/OpenGL2/vtkClearRGBPass.h
index 0c99a35398..45c3987abd 100644
--- a/Rendering/OpenGL2/vtkClearRGBPass.h
+++ b/Rendering/OpenGL2/vtkClearRGBPass.h
@@ -35,12 +35,12 @@ class VTKRENDERINGOPENGL2_EXPORT vtkClearRGBPass : public vtkRenderPass
 public:
   static vtkClearRGBPass *New();
   vtkTypeMacro(vtkClearRGBPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state s.
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   //@{
   /**
@@ -60,7 +60,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkClearRGBPass();
+  ~vtkClearRGBPass() VTK_OVERRIDE;
 
   double Background[3];
 
diff --git a/Rendering/OpenGL2/vtkClearZPass.h b/Rendering/OpenGL2/vtkClearZPass.h
index af75d91012..a2cd9b7f2b 100644
--- a/Rendering/OpenGL2/vtkClearZPass.h
+++ b/Rendering/OpenGL2/vtkClearZPass.h
@@ -35,13 +35,13 @@ class VTKRENDERINGOPENGL2_EXPORT vtkClearZPass : public vtkRenderPass
 public:
   static vtkClearZPass *New();
   vtkTypeMacro(vtkClearZPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   //@{
   /**
@@ -60,7 +60,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkClearZPass();
+  ~vtkClearZPass() VTK_OVERRIDE;
 
   double Depth;
 
diff --git a/Rendering/OpenGL2/vtkCocoaRenderWindow.h b/Rendering/OpenGL2/vtkCocoaRenderWindow.h
index 42e3a0546b..781de57c91 100644
--- a/Rendering/OpenGL2/vtkCocoaRenderWindow.h
+++ b/Rendering/OpenGL2/vtkCocoaRenderWindow.h
@@ -52,17 +52,17 @@ class VTKRENDERINGOPENGL2_EXPORT vtkCocoaRenderWindow : public vtkOpenGLRenderWi
 public:
   static vtkCocoaRenderWindow *New();
   vtkTypeMacro(vtkCocoaRenderWindow,vtkOpenGLRenderWindow);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Begin the rendering process.
    */
-  virtual void Start();
+  void Start() VTK_OVERRIDE;
 
   /**
    * Finish the rendering process.
    */
-  virtual void Frame();
+  void Frame() VTK_OVERRIDE;
 
   /**
    * Specify various window parameters.
@@ -77,7 +77,7 @@ public:
   /**
    * Initialize the rendering window.
    */
-  virtual void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   /**
    * Change the window to fill the entire screen.  This is only partially
@@ -85,12 +85,12 @@ public:
    * before the window has been created, and it might not work on all
    * versions of OS X.
    */
-  virtual void SetFullScreen(int);
+  void SetFullScreen(int) VTK_OVERRIDE;
 
   /**
    * Remap the window.  This is not implemented for the vtkCocoaRenderWindow.
    */
-  virtual void WindowRemap();
+  void WindowRemap() VTK_OVERRIDE;
 
   /**
    * Set the preferred window size to full screen.  This is not implemented
@@ -102,53 +102,53 @@ public:
   /**
    * Set the size of the window in pixels.
    */
-  virtual void SetSize(int a[2]);
-  virtual void SetSize(int,int);
+  void SetSize(int a[2]) VTK_OVERRIDE;
+  void SetSize(int,int) VTK_OVERRIDE;
   //@}
 
   /**
    * Get the current size of the window in pixels.
    */
-  virtual int *GetSize();
+  int *GetSize() VTK_OVERRIDE;
 
   //@{
   /**
    * Set the position of the window.
    */
-  virtual void SetPosition(int a[2]);
-  virtual void SetPosition(int,int);
+  void SetPosition(int a[2]) VTK_OVERRIDE;
+  void SetPosition(int,int) VTK_OVERRIDE;
   //@}
 
   /**
    * Get the current size of the screen in pixels.
    */
-  virtual int *GetScreenSize();
+  int *GetScreenSize() VTK_OVERRIDE;
 
   /**
    * Get the position in screen coordinates of the window.
    */
-  virtual int *GetPosition();
+  int *GetPosition() VTK_OVERRIDE;
 
   /**
    * Set the name of the window. This appears at the top of the window
    * normally.
    */
-  virtual void SetWindowName(const char *);
+  void SetWindowName(const char *) VTK_OVERRIDE;
 
-  void SetNextWindowInfo(char *)
+  void SetNextWindowInfo(char *) VTK_OVERRIDE
   {
       vtkWarningMacro("SetNextWindowInfo not implemented (WindowRemap not implemented).");
   }
-  virtual void* GetGenericDrawable()
+  void* GetGenericDrawable() VTK_OVERRIDE
   {
       vtkWarningMacro("Method not implemented.");
       return 0;
   }
-  virtual void SetDisplayId(void*)
+  void SetDisplayId(void*) VTK_OVERRIDE
   {
       vtkWarningMacro("Method not implemented.");
   }
-  virtual void *GetGenericDisplayId()
+  void *GetGenericDisplayId() VTK_OVERRIDE
   {
       vtkWarningMacro("Method not implemented.");
       return 0;
@@ -159,16 +159,16 @@ public:
    * The paramater is an ASCII string of a decimal number representing
    * a pointer to the window.
    */
-  virtual void SetWindowInfo(char*);
+  void SetWindowInfo(char*) VTK_OVERRIDE;
 
   /**
    * See the documenation for SetParentId().  This method allows the ParentId
    * to be set as an ASCII string of a decimal number that is the memory
    * address of the parent NSView.
    */
-  virtual void SetParentInfo(char*);
+  void SetParentInfo(char*) VTK_OVERRIDE;
 
-  void SetNextWindowId(void*)
+  void SetNextWindowId(void*) VTK_OVERRIDE
   {
       vtkWarningMacro("SetNextWindowId not implemented (WindowRemap not implemented).");
   }
@@ -177,12 +177,12 @@ public:
    * Initialize the render window from the information associated
    * with the currently activated OpenGL context.
    */
-  virtual bool InitializeFromCurrentContext();
+  bool InitializeFromCurrentContext() VTK_OVERRIDE;
 
   /**
    * Update system if needed due to stereo rendering.
    */
-  virtual void StereoUpdate();
+  void StereoUpdate() VTK_OVERRIDE;
 
   /**
    * Prescribe that the window be created in a stereo-capable mode. This
@@ -190,17 +190,17 @@ public:
    * overrrides the superclass method since this class can actually check
    * whether the window has been realized yet.
    */
-  virtual void SetStereoCapableWindow(int capable);
+  void SetStereoCapableWindow(int capable) VTK_OVERRIDE;
 
   /**
    * Make this windows OpenGL context the current context.
    */
-  virtual void MakeCurrent();
+  void MakeCurrent() VTK_OVERRIDE;
 
   /**
    * Tells if this window is the current OpenGL context for the calling thread.
    */
-  virtual bool IsCurrent();
+  bool IsCurrent() VTK_OVERRIDE;
 
   /**
    * Test if the window has a valid drawable. This is
@@ -208,7 +208,7 @@ public:
    * to an invalid drawable results in all OpenGL calls to fail
    * with "invalid framebuffer operation".
    */
-  virtual bool IsDrawable();
+  bool IsDrawable() VTK_OVERRIDE;
 
   /**
    * Update this window's OpenGL context, e.g. when the window is resized.
@@ -218,25 +218,25 @@ public:
   /**
    * Get report of capabilities for the render window
    */
-  const char *ReportCapabilities();
+  const char *ReportCapabilities() VTK_OVERRIDE;
 
   /**
    * Is this render window using hardware acceleration? 0-false, 1-true
    */
-  int IsDirect();
+  int IsDirect() VTK_OVERRIDE;
 
   /**
    * If called, allow MakeCurrent() to skip cache-check when called.
    * MakeCurrent() reverts to original behavior of cache-checking
    * on the next render.
    */
-  virtual void SetForceMakeCurrent();
+  void SetForceMakeCurrent() VTK_OVERRIDE;
 
   /**
    * Check to see if an event is pending for this window.
    * This is a useful check to abort a long render.
    */
-  virtual  int GetEventPending();
+   int GetEventPending() VTK_OVERRIDE;
 
   //@{
   /**
@@ -250,7 +250,7 @@ public:
   /**
    * Clean up device contexts, rendering contexts, etc.
    */
-  void Finalize();
+  void Finalize() VTK_OVERRIDE;
 
   //@{
   /**
@@ -259,15 +259,15 @@ public:
    * Set cursor position in window (note that (0,0) is the lower left
    * corner).
    */
-  virtual void HideCursor();
-  virtual void ShowCursor();
-  virtual void SetCursorPosition(int x, int y);
+  void HideCursor() VTK_OVERRIDE;
+  void ShowCursor() VTK_OVERRIDE;
+  void SetCursorPosition(int x, int y) VTK_OVERRIDE;
   //@}
 
   /**
    * Change the shape of the cursor.
    */
-  virtual void SetCurrentCursor(int);
+  void SetCurrentCursor(int) VTK_OVERRIDE;
 
   /**
    * Get the ViewCreated flag. It is 1 if this object created an instance
@@ -287,7 +287,7 @@ public:
    */
   void SetContextId(void *);
   void *GetContextId();
-  virtual void *GetGenericContext()   {return this->GetContextId();}
+  void *GetGenericContext() VTK_OVERRIDE   {return this->GetContextId();}
   //@}
 
   /**
@@ -317,13 +317,13 @@ public:
    * and SetWindowId(), respectively, early on (before WindowInitialize()
    * is executed). In the case of Java, you should call only SetWindowId().
    */
-  virtual void SetWindowId(void *);
+  void SetWindowId(void *) VTK_OVERRIDE;
 
   /**
    * Returns the NSView* associated with this vtkRenderWindow.
    */
   virtual void *GetWindowId();
-  virtual void *GetGenericWindowId() {return this->GetWindowId();}
+  void *GetGenericWindowId() VTK_OVERRIDE {return this->GetWindowId();}
 
   /**
    * Set the NSView* for the vtkRenderWindow to be parented within.  The
@@ -331,7 +331,7 @@ public:
    * NSView that the vtkRenderWindow will create within this parent.
    * If you set the WindowId, then this ParentId will be ignored.
    */
-  virtual void SetParentId(void *nsview);
+  void SetParentId(void *nsview) VTK_OVERRIDE;
 
   /**
    * Get the parent NSView* for this vtkRenderWindow.  This method will
@@ -339,7 +339,7 @@ public:
    * SetParentInfo().
    */
   virtual void *GetParentId();
-  virtual void *GetGenericParentId() { return this->GetParentId(); }
+  void *GetGenericParentId() VTK_OVERRIDE { return this->GetParentId(); }
 
   //@{
   /**
@@ -357,20 +357,20 @@ public:
    * and when done releasing resources restore
    * the prior context
    */
-  virtual void PushContext();
-  virtual void PopContext();
+  void PushContext() VTK_OVERRIDE;
+  void PopContext() VTK_OVERRIDE;
   //@}
 
 protected:
   vtkCocoaRenderWindow();
-  ~vtkCocoaRenderWindow();
+  ~vtkCocoaRenderWindow() VTK_OVERRIDE;
 
   std::stack<void *> ContextStack;
 
   void CreateGLContext();
 
-  void CreateAWindow();
-  void DestroyWindow();
+  void CreateAWindow() VTK_OVERRIDE;
+  void DestroyWindow() VTK_OVERRIDE;
   void DestroyOffScreenWindow();
 
   int OffScreenInitialized;
diff --git a/Rendering/OpenGL2/vtkCocoaRenderWindowInteractor.h b/Rendering/OpenGL2/vtkCocoaRenderWindowInteractor.h
index 2cba7b90e0..7d1480e1c9 100644
--- a/Rendering/OpenGL2/vtkCocoaRenderWindowInteractor.h
+++ b/Rendering/OpenGL2/vtkCocoaRenderWindowInteractor.h
@@ -49,12 +49,12 @@ public:
   static vtkCocoaRenderWindowInteractor *New();
 
   vtkTypeMacro(vtkCocoaRenderWindowInteractor,vtkRenderWindowInteractor);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Initialize the even handler
    */
-  virtual void Initialize();
+  void Initialize() VTK_OVERRIDE;
 
   //@{
   /**
@@ -66,8 +66,8 @@ public:
    * and all other interactors associated with the widget are disabled
    * when their data is not displayed.
    */
-  virtual void Enable();
-  virtual void Disable();
+  void Enable() VTK_OVERRIDE;
+  void Disable() VTK_OVERRIDE;
   //@}
 
   /**
@@ -75,7 +75,7 @@ public:
    * calls PostQuitMessage(0) to terminate app. An application can Specify
    * ExitMethod for alternative behaviour (i.e. suppresion of keyboard exit)
    */
-  void TerminateApp();
+  void TerminateApp() VTK_OVERRIDE;
 
   //@{
   /**
@@ -92,14 +92,14 @@ public:
    * These methods correspond to the the Exit, User and Pick
    * callbacks. They allow for the Style to invoke them.
    */
-  virtual void ExitCallback();
+  void ExitCallback() VTK_OVERRIDE;
 
 //  int GetButtonDown();
 //  void SetButtonDown(int button);
 
 protected:
   vtkCocoaRenderWindowInteractor();
-  ~vtkCocoaRenderWindowInteractor();
+  ~vtkCocoaRenderWindowInteractor() VTK_OVERRIDE;
 
   /**
    * Accessors for the Cocoa member variables. These should be used at all time, even
@@ -124,8 +124,8 @@ protected:
    * Cocoa-specific internal timer methods. See the superclass for detailed
    * documentation.
    */
-  virtual int InternalCreateTimer(int timerId, int timerType, unsigned long duration);
-  virtual int InternalDestroyTimer(int platformTimerId);
+  int InternalCreateTimer(int timerId, int timerType, unsigned long duration) VTK_OVERRIDE;
+  int InternalDestroyTimer(int platformTimerId) VTK_OVERRIDE;
   //@}
 
   /**
@@ -133,7 +133,7 @@ protected:
    * call this method it will loop processing events until the
    * application is exited.
    */
-  virtual void StartEventLoop();
+  void StartEventLoop() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Rendering/OpenGL2/vtkCompositePolyDataMapper2.cxx b/Rendering/OpenGL2/vtkCompositePolyDataMapper2.cxx
index 9aeb3d05e6..981727eb75 100644
--- a/Rendering/OpenGL2/vtkCompositePolyDataMapper2.cxx
+++ b/Rendering/OpenGL2/vtkCompositePolyDataMapper2.cxx
@@ -106,7 +106,7 @@ public:
 
   // Description:
   // Implemented by sub classes. Actual rendering is done here.
-  virtual void RenderPiece(vtkRenderer *ren, vtkActor *act);
+  void RenderPiece(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   // keep track of what data is being used as the multiblock
   // can change
@@ -125,7 +125,7 @@ protected:
   {
     this->Parent = 0;
   };
-  ~vtkCompositeMapperHelper2();
+  ~vtkCompositeMapperHelper2() VTK_OVERRIDE;
 
   void DrawIBO(
     vtkRenderer* ren, vtkActor *actor,
@@ -148,11 +148,11 @@ protected:
 
   // Description:
   // Determine if the buffer objects need to be rebuilt
-  virtual bool GetNeedToRebuildBufferObjects(vtkRenderer *ren, vtkActor *act);
+  bool GetNeedToRebuildBufferObjects(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   // Description:
   // Build the VBO/IBO, called by UpdateBufferObjects
-  virtual void BuildBufferObjects(vtkRenderer *ren, vtkActor *act);
+  void BuildBufferObjects(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
   virtual void AppendOneBufferObject(vtkRenderer *ren,
     vtkActor *act, vtkCompositeMapperHelperData *hdata,
     unsigned int flat_index,
@@ -163,14 +163,14 @@ protected:
   // Returns if we can use texture maps for scalar coloring. Note this doesn't
   // say we "will" use scalar coloring. It says, if we do use scalar coloring,
   // we will use a texture. Always off for this mapper.
-  virtual int CanUseTextureMapForColoring(vtkDataObject*);
+  int CanUseTextureMapForColoring(vtkDataObject*) VTK_OVERRIDE;
 
   std::vector<unsigned int> VertexOffsets;
 
   // vert line poly strip edge stripedge
   std::vector<unsigned int> IndexArray[PrimitiveEnd];
 
-  virtual void RenderPieceDraw(vtkRenderer *ren, vtkActor *act);
+  void RenderPieceDraw(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   bool PrimIDUsed;
   bool OverideColorUsed;
diff --git a/Rendering/OpenGL2/vtkCompositePolyDataMapper2.h b/Rendering/OpenGL2/vtkCompositePolyDataMapper2.h
index 4cb7e777b4..beafd093e9 100644
--- a/Rendering/OpenGL2/vtkCompositePolyDataMapper2.h
+++ b/Rendering/OpenGL2/vtkCompositePolyDataMapper2.h
@@ -42,7 +42,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkCompositePolyDataMapper2 : public vtkOpenGLP
 public:
   static vtkCompositePolyDataMapper2* New();
   vtkTypeMacro(vtkCompositePolyDataMapper2, vtkOpenGLPolyDataMapper);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Returns if the mapper does not expect to have translucent geometry. This
@@ -54,7 +54,7 @@ public:
    * Overridden to use the actual data and ScalarMode to determine if we have
    * opaque geometry.
    */
-  virtual bool GetIsOpaque();
+  bool GetIsOpaque() VTK_OVERRIDE;
 
   //@{
   /**
@@ -115,33 +115,33 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * This calls RenderPiece (in a for loop if streaming is necessary).
    */
-  virtual void Render(vtkRenderer *ren, vtkActor *act);
+  void Render(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
 protected:
   vtkCompositePolyDataMapper2();
-  ~vtkCompositePolyDataMapper2();
+  ~vtkCompositePolyDataMapper2() VTK_OVERRIDE;
 
   /**
    * We need to override this method because the standard streaming
    * demand driven pipeline is not what we want - we are expecting
    * hierarchical data as input
    */
-  vtkExecutive* CreateDefaultExecutive();
+  vtkExecutive* CreateDefaultExecutive() VTK_OVERRIDE;
 
   /**
    * Need to define the type of data handled by this mapper.
    */
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   /**
    * Need to loop over the hierarchy to compute bounds
    */
-  virtual void ComputeBounds();
+  void ComputeBounds() VTK_OVERRIDE;
 
   /**
    * Time stamp for computation of bounds.
diff --git a/Rendering/OpenGL2/vtkDataTransferHelper.h b/Rendering/OpenGL2/vtkDataTransferHelper.h
index 5c3c584483..50f7ef753e 100644
--- a/Rendering/OpenGL2/vtkDataTransferHelper.h
+++ b/Rendering/OpenGL2/vtkDataTransferHelper.h
@@ -46,7 +46,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkDataTransferHelper : public vtkObject
 public:
   static vtkDataTransferHelper* New();
   vtkTypeMacro(vtkDataTransferHelper, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -223,7 +223,7 @@ public:
 
 protected:
   vtkDataTransferHelper();
-  ~vtkDataTransferHelper();
+  ~vtkDataTransferHelper() VTK_OVERRIDE;
 
   int CPUExtent[6];
   int GPUExtent[6];
diff --git a/Rendering/OpenGL2/vtkDefaultPass.h b/Rendering/OpenGL2/vtkDefaultPass.h
index 1f031b136c..cf1fc103c4 100644
--- a/Rendering/OpenGL2/vtkDefaultPass.h
+++ b/Rendering/OpenGL2/vtkDefaultPass.h
@@ -45,7 +45,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkDefaultPass : public vtkRenderPass
 public:
   static vtkDefaultPass *New();
   vtkTypeMacro(vtkDefaultPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
@@ -53,7 +53,7 @@ public:
    * RenderVolumetricGeometry(), RenderOverlay()
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
  protected:
   /**
@@ -64,7 +64,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkDefaultPass();
+  ~vtkDefaultPass() VTK_OVERRIDE;
 
   /**
    * Opaque pass without key checking.
diff --git a/Rendering/OpenGL2/vtkDepthImageProcessingPass.h b/Rendering/OpenGL2/vtkDepthImageProcessingPass.h
index 0c7e3e6aa4..ffb18f0195 100644
--- a/Rendering/OpenGL2/vtkDepthImageProcessingPass.h
+++ b/Rendering/OpenGL2/vtkDepthImageProcessingPass.h
@@ -63,7 +63,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkDepthImageProcessingPass : public vtkImagePr
 {
 public:
   vtkTypeMacro(vtkDepthImageProcessingPass, vtkImageProcessingPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
  protected:
   /**
@@ -74,7 +74,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkDepthImageProcessingPass();
+  ~vtkDepthImageProcessingPass() VTK_OVERRIDE;
 
   /**
    * Render delegate with a image of different dimensions than the
diff --git a/Rendering/OpenGL2/vtkDepthOfFieldPass.h b/Rendering/OpenGL2/vtkDepthOfFieldPass.h
index 1d6ec3eb5d..a400bbbd8a 100644
--- a/Rendering/OpenGL2/vtkDepthOfFieldPass.h
+++ b/Rendering/OpenGL2/vtkDepthOfFieldPass.h
@@ -51,7 +51,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkDepthOfFieldPass : public vtkDepthImageProce
 public:
   static vtkDepthOfFieldPass *New();
   vtkTypeMacro(vtkDepthOfFieldPass,vtkDepthImageProcessingPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -68,14 +68,14 @@ public:
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
  protected:
   /**
@@ -86,7 +86,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkDepthOfFieldPass();
+  ~vtkDepthOfFieldPass() VTK_OVERRIDE;
 
   /**
    * Graphics resources.
diff --git a/Rendering/OpenGL2/vtkDepthPeelingPass.h b/Rendering/OpenGL2/vtkDepthPeelingPass.h
index 738b414dde..ad4d3aad03 100644
--- a/Rendering/OpenGL2/vtkDepthPeelingPass.h
+++ b/Rendering/OpenGL2/vtkDepthPeelingPass.h
@@ -58,20 +58,20 @@ class VTKRENDERINGOPENGL2_EXPORT vtkDepthPeelingPass
 public:
   static vtkDepthPeelingPass *New();
   vtkTypeMacro(vtkDepthPeelingPass,vtkOpenGLRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   //@{
   /**
@@ -117,12 +117,12 @@ public:
    */
 
   // vtkOpenGLRenderPass virtuals:
-  virtual bool PostReplaceShaderValues(std::string &vertexShader,
+  bool PostReplaceShaderValues(std::string &vertexShader,
                                    std::string &geometryShader,
                                    std::string &fragmentShader,
                                    vtkAbstractMapper *mapper,
                                    vtkProp *prop) VTK_OVERRIDE;
-  virtual bool SetShaderParameters(vtkShaderProgram *program,
+  bool SetShaderParameters(vtkShaderProgram *program,
                            vtkAbstractMapper *mapper, vtkProp *prop,
                            vtkOpenGLVertexArrayObject* VAO = NULL) VTK_OVERRIDE;
 
@@ -135,7 +135,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkDepthPeelingPass();
+  ~vtkDepthPeelingPass() VTK_OVERRIDE;
 
   vtkRenderPass *TranslucentPass;
   vtkTimeStamp CheckTime;
diff --git a/Rendering/OpenGL2/vtkDualDepthPeelingPass.h b/Rendering/OpenGL2/vtkDualDepthPeelingPass.h
index 4e24fd58d9..1894638ba1 100644
--- a/Rendering/OpenGL2/vtkDualDepthPeelingPass.h
+++ b/Rendering/OpenGL2/vtkDualDepthPeelingPass.h
@@ -62,21 +62,21 @@ class VTKRENDERINGOPENGL2_EXPORT vtkDualDepthPeelingPass:
 public:
   static vtkDualDepthPeelingPass* New();
   vtkTypeMacro(vtkDualDepthPeelingPass, vtkDepthPeelingPass)
-  virtual void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual void Render(const vtkRenderState *s);
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   // vtkOpenGLRenderPass virtuals:
-  virtual bool PostReplaceShaderValues(std::string &vertexShader,
+  bool PostReplaceShaderValues(std::string &vertexShader,
                                    std::string &geometryShader,
                                    std::string &fragmentShader,
                                    vtkAbstractMapper *mapper,
                                    vtkProp *prop) VTK_OVERRIDE;
-  virtual bool SetShaderParameters(vtkShaderProgram *program,
+  bool SetShaderParameters(vtkShaderProgram *program,
                           vtkAbstractMapper *mapper, vtkProp *prop,
                           vtkOpenGLVertexArrayObject *VAO = NULL) VTK_OVERRIDE;
-  virtual vtkMTimeType GetShaderStageMTime() VTK_OVERRIDE;
+  vtkMTimeType GetShaderStageMTime() VTK_OVERRIDE;
 
 protected:
 
@@ -107,7 +107,7 @@ protected:
   };
 
   vtkDualDepthPeelingPass();
-  ~vtkDualDepthPeelingPass();
+  ~vtkDualDepthPeelingPass() VTK_OVERRIDE;
 
   void SetCurrentStage(ShaderStage stage);
 
diff --git a/Rendering/OpenGL2/vtkDummyGPUInfoList.h b/Rendering/OpenGL2/vtkDummyGPUInfoList.h
index e5ab7ecf30..d985a2dc41 100644
--- a/Rendering/OpenGL2/vtkDummyGPUInfoList.h
+++ b/Rendering/OpenGL2/vtkDummyGPUInfoList.h
@@ -34,13 +34,13 @@ class VTKRENDERINGOPENGL2_EXPORT vtkDummyGPUInfoList : public vtkGPUInfoList
 public:
   static vtkDummyGPUInfoList* New();
   vtkTypeMacro(vtkDummyGPUInfoList, vtkGPUInfoList);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Build the list of vtkInfoGPU if not done yet.
    * \post probed: IsProbed()
    */
-  virtual void Probe();
+  void Probe() VTK_OVERRIDE;
 
 protected:
   //@{
@@ -48,7 +48,7 @@ protected:
    * Default constructor.
    */
   vtkDummyGPUInfoList();
-  virtual ~vtkDummyGPUInfoList();
+  ~vtkDummyGPUInfoList() VTK_OVERRIDE;
   //@}
 
 private:
diff --git a/Rendering/OpenGL2/vtkEDLShading.h b/Rendering/OpenGL2/vtkEDLShading.h
index 26cbf28e45..d9a3a35cf7 100644
--- a/Rendering/OpenGL2/vtkEDLShading.h
+++ b/Rendering/OpenGL2/vtkEDLShading.h
@@ -73,20 +73,20 @@ class VTKRENDERINGOPENGL2_EXPORT vtkEDLShading : public vtkDepthImageProcessingP
 public:
   static vtkEDLShading *New();
   vtkTypeMacro(vtkEDLShading,vtkDepthImageProcessingPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
  protected:
   /**
@@ -97,7 +97,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkEDLShading();
+  ~vtkEDLShading() VTK_OVERRIDE;
 
   /**
    * Initialization of required framebuffer objects
diff --git a/Rendering/OpenGL2/vtkGaussianBlurPass.h b/Rendering/OpenGL2/vtkGaussianBlurPass.h
index af268f627e..fde651b7a8 100644
--- a/Rendering/OpenGL2/vtkGaussianBlurPass.h
+++ b/Rendering/OpenGL2/vtkGaussianBlurPass.h
@@ -63,20 +63,20 @@ class VTKRENDERINGOPENGL2_EXPORT vtkGaussianBlurPass : public vtkImageProcessing
 public:
   static vtkGaussianBlurPass *New();
   vtkTypeMacro(vtkGaussianBlurPass,vtkImageProcessingPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
  protected:
   /**
@@ -87,7 +87,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkGaussianBlurPass();
+  ~vtkGaussianBlurPass() VTK_OVERRIDE;
 
   /**
    * Graphics resources.
diff --git a/Rendering/OpenGL2/vtkGenericOpenGLRenderWindow.h b/Rendering/OpenGL2/vtkGenericOpenGLRenderWindow.h
index 370d95d51a..d376adef52 100644
--- a/Rendering/OpenGL2/vtkGenericOpenGLRenderWindow.h
+++ b/Rendering/OpenGL2/vtkGenericOpenGLRenderWindow.h
@@ -36,38 +36,38 @@ class VTKRENDERINGOPENGL2_EXPORT vtkGenericOpenGLRenderWindow :
 public:
   static vtkGenericOpenGLRenderWindow* New();
   vtkTypeMacro(vtkGenericOpenGLRenderWindow, vtkOpenGLRenderWindow);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 protected:
   vtkGenericOpenGLRenderWindow();
-  ~vtkGenericOpenGLRenderWindow();
+  ~vtkGenericOpenGLRenderWindow() VTK_OVERRIDE;
 
 public:
 
   //! Cleans up graphics resources allocated in the context for this VTK scene.
-  void Finalize();
+  void Finalize() VTK_OVERRIDE;
 
   //! flush the pending drawing operations
   //! Class user may to watch for WindowFrameEvent and act on it
-  void Frame();
+  void Frame() VTK_OVERRIDE;
 
   //! Makes the context current.  It is the class user's
   //! responsibility to watch for WindowMakeCurrentEvent and set it current.
-  void MakeCurrent();
+  void MakeCurrent() VTK_OVERRIDE;
 
   //! Returns if the context is current.  It is the class user's
   //! responsibility to watch for WindowIsCurrentEvent and set the bool* flag
   //! passed through the call data parameter.
-  bool IsCurrent();
+  bool IsCurrent() VTK_OVERRIDE;
 
   //! Returns if OpenGL is supported.  It is the class user's
   //! responsibility to watch for WindowSupportsOpenGLEvent and set the int* flag
   //! passed through the call data parameter.
-  int SupportsOpenGL();
+  int SupportsOpenGL() VTK_OVERRIDE;
 
   //! Returns if the context is direct.  It is the class user's
   //! responsibility to watch for WindowIsDirectEvent and set the int* flag
   //! passed through the call data parameter.
-  int IsDirect();
+  int IsDirect() VTK_OVERRIDE;
 
   // {@
   //! set the drawing buffers to use
@@ -86,27 +86,27 @@ public:
 
   // {@
   //! does nothing
-  void SetWindowId(void*);
-  void* GetGenericWindowId();
-  void SetDisplayId(void*);
-  void SetParentId(void*);
-  void* GetGenericDisplayId();
-  void* GetGenericParentId();
-  void* GetGenericContext();
-  void* GetGenericDrawable();
-  void SetWindowInfo(char*);
-  void SetParentInfo(char*);
-  int* GetScreenSize();
-  void Start();
-  void HideCursor();
-  void ShowCursor();
-  void SetFullScreen(int);
-  void WindowRemap();
-  int  GetEventPending();
-  void SetNextWindowId(void*);
-  void SetNextWindowInfo(char*);
-  void CreateAWindow();
-  void DestroyWindow();
+  void SetWindowId(void*) VTK_OVERRIDE;
+  void* GetGenericWindowId() VTK_OVERRIDE;
+  void SetDisplayId(void*) VTK_OVERRIDE;
+  void SetParentId(void*) VTK_OVERRIDE;
+  void* GetGenericDisplayId() VTK_OVERRIDE;
+  void* GetGenericParentId() VTK_OVERRIDE;
+  void* GetGenericContext() VTK_OVERRIDE;
+  void* GetGenericDrawable() VTK_OVERRIDE;
+  void SetWindowInfo(char*) VTK_OVERRIDE;
+  void SetParentInfo(char*) VTK_OVERRIDE;
+  int* GetScreenSize() VTK_OVERRIDE;
+  void Start() VTK_OVERRIDE;
+  void HideCursor() VTK_OVERRIDE;
+  void ShowCursor() VTK_OVERRIDE;
+  void SetFullScreen(int) VTK_OVERRIDE;
+  void WindowRemap() VTK_OVERRIDE;
+  int  GetEventPending() VTK_OVERRIDE;
+  void SetNextWindowId(void*) VTK_OVERRIDE;
+  void SetNextWindowInfo(char*) VTK_OVERRIDE;
+  void CreateAWindow() VTK_OVERRIDE;
+  void DestroyWindow() VTK_OVERRIDE;
   // }@
 
   //@{
@@ -126,7 +126,7 @@ public:
    * \sa vtkOpenGLRenderWindow::SaveGLState()
    * \sa vtkOpenGLRenderWindow::RestoreGLState()
    */
-  void Render();
+  void Render() VTK_OVERRIDE;
 
   /**
    * Overridden to pass explicitly specified MaximumHardwareLineWidth, if any.
diff --git a/Rendering/OpenGL2/vtkHiddenLineRemovalPass.h b/Rendering/OpenGL2/vtkHiddenLineRemovalPass.h
index 0ba06c005f..851372090c 100644
--- a/Rendering/OpenGL2/vtkHiddenLineRemovalPass.h
+++ b/Rendering/OpenGL2/vtkHiddenLineRemovalPass.h
@@ -39,9 +39,9 @@ class VTKRENDERINGOPENGL2_EXPORT vtkHiddenLineRemovalPass :
 public:
   static vtkHiddenLineRemovalPass* New();
   vtkTypeMacro(vtkHiddenLineRemovalPass, vtkOpenGLRenderPass)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Returns true if any of the nProps in propArray are rendered as wireframe.
@@ -50,7 +50,7 @@ public:
 
 protected:
   vtkHiddenLineRemovalPass();
-  ~vtkHiddenLineRemovalPass();
+  ~vtkHiddenLineRemovalPass() VTK_OVERRIDE;
 
   void SetRepresentation(std::vector<vtkProp*> &props, int repr);
   int RenderProps(std::vector<vtkProp*> &props, vtkViewport *vp);
diff --git a/Rendering/OpenGL2/vtkImageProcessingPass.h b/Rendering/OpenGL2/vtkImageProcessingPass.h
index dc3a14dd06..922d181e06 100644
--- a/Rendering/OpenGL2/vtkImageProcessingPass.h
+++ b/Rendering/OpenGL2/vtkImageProcessingPass.h
@@ -39,14 +39,14 @@ class VTKRENDERINGOPENGL2_EXPORT vtkImageProcessingPass : public vtkRenderPass
 {
 public:
   vtkTypeMacro(vtkImageProcessingPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   //@{
   /**
@@ -68,7 +68,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkImageProcessingPass();
+  ~vtkImageProcessingPass() VTK_OVERRIDE;
 
   /**
    * Render delegate with a image of different dimensions than the
diff --git a/Rendering/OpenGL2/vtkLightingMapPass.h b/Rendering/OpenGL2/vtkLightingMapPass.h
index e2d3a4d325..4fcbf090ed 100644
--- a/Rendering/OpenGL2/vtkLightingMapPass.h
+++ b/Rendering/OpenGL2/vtkLightingMapPass.h
@@ -41,7 +41,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkLightingMapPass : public vtkDefaultPass
 public:
   static vtkLightingMapPass *New();
   vtkTypeMacro(vtkLightingMapPass, vtkDefaultPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -70,7 +70,7 @@ public:
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
  protected:
   /**
@@ -81,13 +81,13 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkLightingMapPass();
+  ~vtkLightingMapPass() VTK_OVERRIDE;
 
   /**
    * Opaque pass with key checking.
    * \pre s_exists: s!=0
    */
-  virtual void RenderOpaqueGeometry(const vtkRenderState *s);
+  void RenderOpaqueGeometry(const vtkRenderState *s) VTK_OVERRIDE;
 
  private:
   vtkLightingMapPass(const vtkLightingMapPass&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL2/vtkLightsPass.h b/Rendering/OpenGL2/vtkLightsPass.h
index cd7b5265a5..0cea505ccb 100644
--- a/Rendering/OpenGL2/vtkLightsPass.h
+++ b/Rendering/OpenGL2/vtkLightsPass.h
@@ -39,13 +39,13 @@ class VTKRENDERINGOPENGL2_EXPORT vtkLightsPass : public vtkRenderPass
 public:
   static vtkLightsPass *New();
   vtkTypeMacro(vtkLightsPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
  protected:
   /**
@@ -56,7 +56,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkLightsPass();
+  ~vtkLightsPass() VTK_OVERRIDE;
 
  private:
   vtkLightsPass(const vtkLightsPass&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL2/vtkOpaquePass.h b/Rendering/OpenGL2/vtkOpaquePass.h
index ac6d6bd105..f453309e9d 100644
--- a/Rendering/OpenGL2/vtkOpaquePass.h
+++ b/Rendering/OpenGL2/vtkOpaquePass.h
@@ -39,13 +39,13 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpaquePass : public vtkDefaultPass
 public:
   static vtkOpaquePass *New();
   vtkTypeMacro(vtkOpaquePass,vtkDefaultPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
  protected:
   /**
@@ -56,7 +56,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkOpaquePass();
+  ~vtkOpaquePass() VTK_OVERRIDE;
 
  private:
   vtkOpaquePass(const vtkOpaquePass&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL2/vtkOpenGLActor.cxx b/Rendering/OpenGL2/vtkOpenGLActor.cxx
index 7a4bd20316..b836cdc491 100644
--- a/Rendering/OpenGL2/vtkOpenGLActor.cxx
+++ b/Rendering/OpenGL2/vtkOpenGLActor.cxx
@@ -75,8 +75,8 @@ void vtkOpenGLActor::Render(vtkRenderer *ren, vtkMapper *mapper)
       vtkInformation *info = this->GetPropertyKeys();
       if (info && info->Has(vtkOpenGLActor::GLDepthMaskOverride()))
       {
-        int override = info->Get(vtkOpenGLActor::GLDepthMaskOverride());
-        switch (override)
+        int maskoverride = info->Get(vtkOpenGLActor::GLDepthMaskOverride());
+        switch (maskoverride)
         {
           case 0:
             glDepthMask(GL_FALSE);
diff --git a/Rendering/OpenGL2/vtkOpenGLActor.h b/Rendering/OpenGL2/vtkOpenGLActor.h
index aad55242b1..a7ada4e7ce 100644
--- a/Rendering/OpenGL2/vtkOpenGLActor.h
+++ b/Rendering/OpenGL2/vtkOpenGLActor.h
@@ -41,7 +41,7 @@ public:
   /**
    * Actual actor render method.
    */
-  void Render(vtkRenderer *ren, vtkMapper *mapper);
+  void Render(vtkRenderer *ren, vtkMapper *mapper) VTK_OVERRIDE;
 
   void GetKeyMatrices(vtkMatrix4x4 *&WCVCMatrix, vtkMatrix3x3 *&normalMatrix);
 
@@ -63,7 +63,7 @@ public:
 
 protected:
   vtkOpenGLActor();
-  ~vtkOpenGLActor();
+  ~vtkOpenGLActor() VTK_OVERRIDE;
 
   vtkMatrix4x4 *MCWCMatrix;
   vtkMatrix3x3 *NormalMatrix;
diff --git a/Rendering/OpenGL2/vtkOpenGLBillboardTextActor3D.h b/Rendering/OpenGL2/vtkOpenGLBillboardTextActor3D.h
index 5c687997ad..be8dc1e503 100644
--- a/Rendering/OpenGL2/vtkOpenGLBillboardTextActor3D.h
+++ b/Rendering/OpenGL2/vtkOpenGLBillboardTextActor3D.h
@@ -33,11 +33,11 @@ public:
   vtkTypeMacro(vtkOpenGLBillboardTextActor3D, vtkBillboardTextActor3D)
   void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *vp);
+  int RenderTranslucentPolygonalGeometry(vtkViewport *vp) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLBillboardTextActor3D();
-  ~vtkOpenGLBillboardTextActor3D();
+  ~vtkOpenGLBillboardTextActor3D() VTK_OVERRIDE;
 
   int RenderGL2PS(vtkViewport *viewport, vtkOpenGLGL2PSHelper *gl2ps);
 
diff --git a/Rendering/OpenGL2/vtkOpenGLBufferObject.h b/Rendering/OpenGL2/vtkOpenGLBufferObject.h
index ad05cddf0d..a4a3e60842 100644
--- a/Rendering/OpenGL2/vtkOpenGLBufferObject.h
+++ b/Rendering/OpenGL2/vtkOpenGLBufferObject.h
@@ -34,7 +34,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLBufferObject : public vtkObject
 public:
   static vtkOpenGLBufferObject *New();
   vtkTypeMacro(vtkOpenGLBufferObject, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum ObjectType
   {
@@ -98,7 +98,7 @@ public:
 
 protected:
   vtkOpenGLBufferObject();
-  ~vtkOpenGLBufferObject();
+  ~vtkOpenGLBufferObject() VTK_OVERRIDE;
   bool  Dirty;
   std::string Error;
 
diff --git a/Rendering/OpenGL2/vtkOpenGLCamera.h b/Rendering/OpenGL2/vtkOpenGLCamera.h
index ac608530ba..fc8a2fcdf1 100644
--- a/Rendering/OpenGL2/vtkOpenGLCamera.h
+++ b/Rendering/OpenGL2/vtkOpenGLCamera.h
@@ -39,16 +39,16 @@ public:
   /**
    * Implement base class method.
    */
-  virtual void Render(vtkRenderer *ren);
+  void Render(vtkRenderer *ren) VTK_OVERRIDE;
 
-  virtual void UpdateViewport(vtkRenderer *ren);
+  void UpdateViewport(vtkRenderer *ren) VTK_OVERRIDE;
 
   virtual void GetKeyMatrices(vtkRenderer *ren, vtkMatrix4x4 *&WCVCMatrix,
     vtkMatrix3x3 *&normalMatrix, vtkMatrix4x4 *&VCDCMatrix, vtkMatrix4x4 *&WCDCMatrix);
 
 protected:
   vtkOpenGLCamera();
-  ~vtkOpenGLCamera();
+  ~vtkOpenGLCamera() VTK_OVERRIDE;
 
   vtkMatrix4x4 *WCDCMatrix;
   vtkMatrix4x4 *WCVCMatrix;
diff --git a/Rendering/OpenGL2/vtkOpenGLFXAAFilter.h b/Rendering/OpenGL2/vtkOpenGLFXAAFilter.h
index e6033f4f74..6d4b4db9cd 100644
--- a/Rendering/OpenGL2/vtkOpenGLFXAAFilter.h
+++ b/Rendering/OpenGL2/vtkOpenGLFXAAFilter.h
@@ -59,7 +59,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLFXAAFilter: public vtkObject
 public:
   static vtkOpenGLFXAAFilter* New();
   vtkTypeMacro(vtkOpenGLFXAAFilter, vtkObject)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform FXAA on the current render buffer in @a ren.
@@ -102,7 +102,7 @@ public:
 
 protected:
   vtkOpenGLFXAAFilter();
-  ~vtkOpenGLFXAAFilter();
+  ~vtkOpenGLFXAAFilter() VTK_OVERRIDE;
 
   void Prepare();
   void FreeGLObjects();
diff --git a/Rendering/OpenGL2/vtkOpenGLFramebufferObject.h b/Rendering/OpenGL2/vtkOpenGLFramebufferObject.h
index e8b499eea4..b05c4cb326 100644
--- a/Rendering/OpenGL2/vtkOpenGLFramebufferObject.h
+++ b/Rendering/OpenGL2/vtkOpenGLFramebufferObject.h
@@ -184,7 +184,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLFramebufferObject : public vtkFrameBuf
 public:
   static vtkOpenGLFramebufferObject* New();
   vtkTypeMacro(vtkOpenGLFramebufferObject, vtkFrameBufferObjectBase);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -371,7 +371,21 @@ public:
   /**
    * Dimensions in pixels of the framebuffer.
    */
-  vtkGetVector2Macro(LastSize,int);
+  int *GetLastSize() VTK_OVERRIDE
+  {
+    vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning LastSize pointer " << this->LastSize);
+    return this->LastSize;
+  }
+  void GetLastSize(int &_arg1, int &_arg2) VTK_OVERRIDE
+  {
+      _arg1 = this->LastSize[0];
+      _arg2 = this->LastSize[1];
+    vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning LastSize (" << _arg1 << "," << _arg2 << ")");
+  }
+  void GetLastSize (int _arg[2]) VTK_OVERRIDE
+  {
+    this->GetLastSize (_arg[0], _arg[1]);
+  }
   //@}
 
   /**
@@ -567,7 +581,7 @@ protected:
   int GetOpenGLType(int vtkType);
 
   vtkOpenGLFramebufferObject();
-  ~vtkOpenGLFramebufferObject();
+  ~vtkOpenGLFramebufferObject() VTK_OVERRIDE;
 
   vtkWeakPointer<vtkOpenGLRenderWindow> Context;
 
diff --git a/Rendering/OpenGL2/vtkOpenGLGL2PSHelper.h b/Rendering/OpenGL2/vtkOpenGLGL2PSHelper.h
index 6d456d586f..6cfec6f666 100644
--- a/Rendering/OpenGL2/vtkOpenGLGL2PSHelper.h
+++ b/Rendering/OpenGL2/vtkOpenGLGL2PSHelper.h
@@ -44,7 +44,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLGL2PSHelper: public vtkObject
 public:
   static vtkOpenGLGL2PSHelper* New();
   vtkAbstractTypeMacro(vtkOpenGLGL2PSHelper, vtkObject)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -170,7 +170,7 @@ protected:
   friend class vtkOpenGLGL2PSExporter;
 
   vtkOpenGLGL2PSHelper();
-  ~vtkOpenGLGL2PSHelper();
+  ~vtkOpenGLGL2PSHelper() VTK_OVERRIDE;
 
   vtkSetMacro(ActiveState, State)
   vtkSetMacro(TextAsPath, bool)
diff --git a/Rendering/OpenGL2/vtkOpenGLGlyph3DHelper.h b/Rendering/OpenGL2/vtkOpenGLGlyph3DHelper.h
index 3b87cb838f..6dc2b2100b 100644
--- a/Rendering/OpenGL2/vtkOpenGLGlyph3DHelper.h
+++ b/Rendering/OpenGL2/vtkOpenGLGlyph3DHelper.h
@@ -31,7 +31,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLGlyph3DHelper : public vtkOpenGLPolyDa
 public:
   static vtkOpenGLGlyph3DHelper* New();
   vtkTypeMacro(vtkOpenGLGlyph3DHelper, vtkOpenGLPolyDataMapper)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   void SetModelTransform(float *matrix)
   {
@@ -67,11 +67,11 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *window);
+  void ReleaseGraphicsResources(vtkWindow *window) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLGlyph3DHelper();
-  ~vtkOpenGLGlyph3DHelper();
+  ~vtkOpenGLGlyph3DHelper() VTK_OVERRIDE;
 
   // special opengl 32 version that uses instances
   void GlyphRenderInstances(vtkRenderer* ren, vtkActor* actor, vtkIdType numPts,
@@ -82,48 +82,48 @@ protected:
   /**
    * Create the basic shaders before replacement
    */
-  virtual void GetShaderTemplate(
+  void GetShaderTemplate(
     std::map<vtkShader::Type, vtkShader *> shaders,
-    vtkRenderer *ren, vtkActor *act);
+    vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   //@{
   /**
    * Perform string replacments on the shader templates
    */
-  virtual void ReplaceShaderPicking(
+  void ReplaceShaderPicking(
     std::map<vtkShader::Type, vtkShader *> shaders,
-    vtkRenderer *ren, vtkActor *act);
-  virtual void ReplaceShaderColor(
+    vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
+  void ReplaceShaderColor(
     std::map<vtkShader::Type, vtkShader *> shaders,
-    vtkRenderer *ren, vtkActor *act);
-  virtual void ReplaceShaderNormal(
+    vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
+  void ReplaceShaderNormal(
     std::map<vtkShader::Type, vtkShader *> shaders,
-    vtkRenderer *ren, vtkActor *act);
-  virtual void ReplaceShaderClip(
+    vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
+  void ReplaceShaderClip(
     std::map<vtkShader::Type, vtkShader *> shaders,
-    vtkRenderer *ren, vtkActor *act);
-  virtual void ReplaceShaderPositionVC(
+    vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
+  void ReplaceShaderPositionVC(
     std::map<vtkShader::Type, vtkShader *> shaders,
-    vtkRenderer *ren, vtkActor *act);
+    vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
   //@}
 
   /**
    * Set the shader parameteres related to the Camera
    */
-  virtual void SetCameraShaderParameters(
-    vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act);
+  void SetCameraShaderParameters(
+    vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   /**
    * Set the shader parameteres related to the property
    */
-  virtual void SetPropertyShaderParameters(
-    vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act);
+  void SetPropertyShaderParameters(
+    vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   /**
    * Set the shader parameteres related to the actor/mapper
    */
-  virtual void SetMapperShaderParameters(
-    vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act);
+  void SetMapperShaderParameters(
+    vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   bool UseFastPath;
   bool UsingInstancing;
diff --git a/Rendering/OpenGL2/vtkOpenGLGlyph3DMapper.h b/Rendering/OpenGL2/vtkOpenGLGlyph3DMapper.h
index 7e9be88ec0..593646e6e2 100644
--- a/Rendering/OpenGL2/vtkOpenGLGlyph3DMapper.h
+++ b/Rendering/OpenGL2/vtkOpenGLGlyph3DMapper.h
@@ -41,25 +41,25 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLGlyph3DMapper
 public:
   static vtkOpenGLGlyph3DMapper* New();
   vtkTypeMacro(vtkOpenGLGlyph3DMapper, vtkGlyph3DMapper);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Method initiates the mapping process. Generally sent by the actor
    * as each frame is rendered.
    * Its behavior depends on the value of SelectMode.
    */
-  virtual void Render(vtkRenderer *ren, vtkActor *a);
+  void Render(vtkRenderer *ren, vtkActor *a) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this mapper.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *window);
+  void ReleaseGraphicsResources(vtkWindow *window) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLGlyph3DMapper();
-  ~vtkOpenGLGlyph3DMapper();
+  ~vtkOpenGLGlyph3DMapper() VTK_OVERRIDE;
 
   /**
    * Render setup
diff --git a/Rendering/OpenGL2/vtkOpenGLHardwareSelector.h b/Rendering/OpenGL2/vtkOpenGLHardwareSelector.h
index 77657352ad..072ee966cf 100644
--- a/Rendering/OpenGL2/vtkOpenGLHardwareSelector.h
+++ b/Rendering/OpenGL2/vtkOpenGLHardwareSelector.h
@@ -35,49 +35,49 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLHardwareSelector : public vtkHardwareS
 public:
   static vtkOpenGLHardwareSelector* New();
   vtkTypeMacro(vtkOpenGLHardwareSelector, vtkHardwareSelector);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Called by the mapper before and after
    * rendering each prop.
    */
-  virtual void BeginRenderProp();
-  virtual void EndRenderProp()
+  void BeginRenderProp() VTK_OVERRIDE;
+  void EndRenderProp() VTK_OVERRIDE
     { this->vtkHardwareSelector::EndRenderProp(); }
 
   /**
    * Called by any vtkMapper or vtkProp subclass to render a composite-index.
    * Currently indices >= 0xffffff are not supported.
    */
-  virtual void RenderCompositeIndex(unsigned int index);
+  void RenderCompositeIndex(unsigned int index) VTK_OVERRIDE;
 
   /**
    * Called by any vtkMapper or vtkProp subclass to render an attribute's id.
    */
-  virtual void RenderAttributeId(vtkIdType attribid);
+  void RenderAttributeId(vtkIdType attribid) VTK_OVERRIDE;
 
   /**
    * Called by any vtkMapper or subclass to render process id. This has any
    * effect when this->UseProcessIdFromData is true.
    */
-  virtual void RenderProcessId(unsigned int processid);
+  void RenderProcessId(unsigned int processid) VTK_OVERRIDE;
 
   // we need to initialze the depth buffer
-  virtual void BeginSelection();
+  void BeginSelection() VTK_OVERRIDE;
 
 protected:
   vtkOpenGLHardwareSelector();
-  virtual ~vtkOpenGLHardwareSelector();
+  ~vtkOpenGLHardwareSelector() VTK_OVERRIDE;
 
   void PreCapturePass(int pass) VTK_OVERRIDE;
   void PostCapturePass(int pass) VTK_OVERRIDE;
 
   // Called internally before and after each prop is rendered
   // for device specific configuration/preparation etc.
-  virtual void BeginRenderProp(vtkRenderWindow *);
-  virtual void EndRenderProp(vtkRenderWindow *);
+  void BeginRenderProp(vtkRenderWindow *) VTK_OVERRIDE;
+  void EndRenderProp(vtkRenderWindow *) VTK_OVERRIDE;
 
-  virtual void SavePixelBuffer(int passNo);
+  void SavePixelBuffer(int passNo) VTK_OVERRIDE;
 
   // for internal state
   class vtkInternals;
diff --git a/Rendering/OpenGL2/vtkOpenGLImageAlgorithmHelper.h b/Rendering/OpenGL2/vtkOpenGLImageAlgorithmHelper.h
index de2fdd5abd..6d8a2db979 100644
--- a/Rendering/OpenGL2/vtkOpenGLImageAlgorithmHelper.h
+++ b/Rendering/OpenGL2/vtkOpenGLImageAlgorithmHelper.h
@@ -51,7 +51,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLImageAlgorithmHelper : public vtkObjec
 public:
   static vtkOpenGLImageAlgorithmHelper *New();
   vtkTypeMacro(vtkOpenGLImageAlgorithmHelper,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   void Execute(
     vtkOpenGLImageAlgorithmCallback *cb,
@@ -69,7 +69,7 @@ public:
 
  protected:
   vtkOpenGLImageAlgorithmHelper();
-  virtual ~vtkOpenGLImageAlgorithmHelper();
+  ~vtkOpenGLImageAlgorithmHelper() VTK_OVERRIDE;
 
   vtkSmartPointer<vtkOpenGLRenderWindow> RenderWindow;
   vtkOpenGLHelper Quad;
diff --git a/Rendering/OpenGL2/vtkOpenGLImageMapper.h b/Rendering/OpenGL2/vtkOpenGLImageMapper.h
index 57296913d6..a88c06c9f0 100644
--- a/Rendering/OpenGL2/vtkOpenGLImageMapper.h
+++ b/Rendering/OpenGL2/vtkOpenGLImageMapper.h
@@ -46,7 +46,7 @@ public:
   /**
    * Handle the render method.
    */
-  void RenderOverlay(vtkViewport* viewport, vtkActor2D* actor)
+  void RenderOverlay(vtkViewport* viewport, vtkActor2D* actor) VTK_OVERRIDE
     { this->RenderStart(viewport, actor); }
 
   /**
@@ -54,7 +54,7 @@ public:
    * the image to the screen.
    */
   void RenderData(vtkViewport* viewport, vtkImageData* data,
-                  vtkActor2D* actor);
+                  vtkActor2D* actor) VTK_OVERRIDE;
 
   /**
    * draw the data once it has been converted to uchar, windowed leveled
@@ -66,11 +66,11 @@ public:
    * Release any graphics resources that are being consumed by this
    * mapper, the image texture in particular.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLImageMapper();
-  ~vtkOpenGLImageMapper();
+  ~vtkOpenGLImageMapper() VTK_OVERRIDE;
 
   vtkTexturedActor2D *Actor;
 
diff --git a/Rendering/OpenGL2/vtkOpenGLImageSliceMapper.h b/Rendering/OpenGL2/vtkOpenGLImageSliceMapper.h
index b43bf19b6f..bd14771783 100644
--- a/Rendering/OpenGL2/vtkOpenGLImageSliceMapper.h
+++ b/Rendering/OpenGL2/vtkOpenGLImageSliceMapper.h
@@ -44,18 +44,18 @@ public:
   /**
    * Implement base class method.  Perform the render.
    */
-  void Render(vtkRenderer *ren, vtkImageSlice *prop);
+  void Render(vtkRenderer *ren, vtkImageSlice *prop) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this
    * mapper, the image texture in particular. Using the same texture
    * in multiple render windows is NOT currently supported.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLImageSliceMapper();
-  ~vtkOpenGLImageSliceMapper();
+  ~vtkOpenGLImageSliceMapper() VTK_OVERRIDE;
 
   /**
    * Recursive internal method, will call the non-recursive method
@@ -106,7 +106,7 @@ protected:
    */
   void ComputeTextureSize(
     const int extent[6], int &xdim, int &ydim,
-    int imageSize[2], int textureSize[2]);
+    int imageSize[2], int textureSize[2]) VTK_OVERRIDE;
 
   /**
    * Test whether a given texture size is supported.  This includes a
diff --git a/Rendering/OpenGL2/vtkOpenGLIndexBufferObject.h b/Rendering/OpenGL2/vtkOpenGLIndexBufferObject.h
index 2c96bf9817..7803a3c25b 100644
--- a/Rendering/OpenGL2/vtkOpenGLIndexBufferObject.h
+++ b/Rendering/OpenGL2/vtkOpenGLIndexBufferObject.h
@@ -31,7 +31,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLIndexBufferObject :
 public:
   static vtkOpenGLIndexBufferObject *New();
   vtkTypeMacro(vtkOpenGLIndexBufferObject, vtkOpenGLBufferObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   // Sizes/offsets are all in bytes as OpenGL API expects them.
   size_t IndexCount; // Number of indices in the VBO
@@ -129,7 +129,7 @@ public:
 
 protected:
   vtkOpenGLIndexBufferObject();
-  ~vtkOpenGLIndexBufferObject();
+  ~vtkOpenGLIndexBufferObject() VTK_OVERRIDE;
 
 private:
   vtkOpenGLIndexBufferObject(const vtkOpenGLIndexBufferObject&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL2/vtkOpenGLLabeledContourMapper.h b/Rendering/OpenGL2/vtkOpenGLLabeledContourMapper.h
index f7ab7904af..f952fdc91a 100644
--- a/Rendering/OpenGL2/vtkOpenGLLabeledContourMapper.h
+++ b/Rendering/OpenGL2/vtkOpenGLLabeledContourMapper.h
@@ -34,26 +34,26 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLLabeledContourMapper
 public:
   static vtkOpenGLLabeledContourMapper *New();
   vtkTypeMacro(vtkOpenGLLabeledContourMapper, vtkLabeledContourMapper)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Release graphics resources
    */
-  void ReleaseGraphicsResources(vtkWindow *win);
+  void ReleaseGraphicsResources(vtkWindow *win) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLLabeledContourMapper();
-  ~vtkOpenGLLabeledContourMapper();
+  ~vtkOpenGLLabeledContourMapper() VTK_OVERRIDE;
 
   // We override this for compatibilty with the OpenGL backend:
   // The old backend pushes actor matrices onto the matrix stack, so the text
   // actors already accounted for any transformations on this mapper's actor.
   // The new backend passes each actor's matrix to the shader individually, and
   // this mapper's actor matrix doesn't affect the label rendering.
-  bool CreateLabels(vtkActor *actor);
+  bool CreateLabels(vtkActor *actor) VTK_OVERRIDE;
 
-  bool ApplyStencil(vtkRenderer *ren, vtkActor *act);
-  bool RemoveStencil();
+  bool ApplyStencil(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
+  bool RemoveStencil() VTK_OVERRIDE;
 
   vtkOpenGLHelper *StencilBO;
   vtkMatrix4x4 *TempMatrix4;
diff --git a/Rendering/OpenGL2/vtkOpenGLLight.h b/Rendering/OpenGL2/vtkOpenGLLight.h
index 1a1447ad63..d37725604f 100644
--- a/Rendering/OpenGL2/vtkOpenGLLight.h
+++ b/Rendering/OpenGL2/vtkOpenGLLight.h
@@ -37,11 +37,11 @@ public:
   /**
    * Implement base class method.
    */
-  void Render(vtkRenderer *ren, int light_index);
+  void Render(vtkRenderer *ren, int light_index) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLLight() {}
-  ~vtkOpenGLLight() {}
+  ~vtkOpenGLLight() VTK_OVERRIDE {}
 
 private:
   vtkOpenGLLight(const vtkOpenGLLight&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL2/vtkOpenGLPointGaussianMapper.h b/Rendering/OpenGL2/vtkOpenGLPointGaussianMapper.h
index 379b0cf1ec..0fe770e611 100644
--- a/Rendering/OpenGL2/vtkOpenGLPointGaussianMapper.h
+++ b/Rendering/OpenGL2/vtkOpenGLPointGaussianMapper.h
@@ -32,25 +32,25 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLPointGaussianMapper : public vtkPointG
 public:
   static vtkOpenGLPointGaussianMapper* New();
   vtkTypeMacro(vtkOpenGLPointGaussianMapper, vtkPointGaussianMapper)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this mapper.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Is this mapper opqaue? currently always false.
    */
-  virtual bool GetIsOpaque();
+  bool GetIsOpaque() VTK_OVERRIDE;
 
 protected:
   vtkOpenGLPointGaussianMapper();
-  ~vtkOpenGLPointGaussianMapper();
+  ~vtkOpenGLPointGaussianMapper() VTK_OVERRIDE;
 
-  virtual void RenderPiece(vtkRenderer *ren, vtkActor *act);
+  void RenderPiece(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   vtkOpenGLPointGaussianMapperHelper *Helper;
   vtkTimeStamp HelperUpdateTime;
diff --git a/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.h b/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.h
index 4950a1abf2..491055ebb5 100644
--- a/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.h
+++ b/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.h
@@ -47,12 +47,12 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLPolyDataMapper : public vtkPolyDataMap
 public:
   static vtkOpenGLPolyDataMapper* New();
   vtkTypeMacro(vtkOpenGLPolyDataMapper, vtkPolyDataMapper)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Implemented by sub classes. Actual rendering is done here.
    */
-  virtual void RenderPiece(vtkRenderer *ren, vtkActor *act);
+  void RenderPiece(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   //@{
   /**
@@ -68,7 +68,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   vtkGetMacro(PopulateSelectionSettings,int);
   void SetPopulateSelectionSettings(int v) { this->PopulateSelectionSettings = v; };
@@ -79,7 +79,7 @@ public:
    * Used by vtkHardwareSelector to determine if the prop supports hardware
    * selection.
    */
-  virtual bool GetSupportsSelection() { return true; }
+  bool GetSupportsSelection() VTK_OVERRIDE { return true; }
 
   /**
    * Returns if the mapper does not expect to have translucent geometry. This
@@ -91,7 +91,7 @@ public:
    * Overridden to use the actual data and ScalarMode to determine if we have
    * opaque geometry.
    */
-  virtual bool GetIsOpaque();
+  bool GetIsOpaque() VTK_OVERRIDE;
 
   // used by RenderPiece and functions it calls to reduce
   // calls to get the input and allow for rendering of
@@ -227,7 +227,7 @@ public:
 
 protected:
   vtkOpenGLPolyDataMapper();
-  ~vtkOpenGLPolyDataMapper();
+  ~vtkOpenGLPolyDataMapper() VTK_OVERRIDE;
 
   vtkGenericOpenGLResourceFreeCallback *ResourceCallback;
 
@@ -251,7 +251,7 @@ protected:
    * to be updated depending on whether this->Static is set or not. This method
    * simply obtains the bounds from the data-object and returns it.
    */
-  virtual void ComputeBounds();
+  void ComputeBounds() VTK_OVERRIDE;
 
   /**
    * Make sure appropriate shaders are defined, compiled and bound.  This method
diff --git a/Rendering/OpenGL2/vtkOpenGLPolyDataMapper2D.h b/Rendering/OpenGL2/vtkOpenGLPolyDataMapper2D.h
index febbaf3e5e..900c9a6cbf 100644
--- a/Rendering/OpenGL2/vtkOpenGLPolyDataMapper2D.h
+++ b/Rendering/OpenGL2/vtkOpenGLPolyDataMapper2D.h
@@ -55,21 +55,21 @@ public:
   /**
    * Actually draw the poly data.
    */
-  void RenderOverlay(vtkViewport* viewport, vtkActor2D* actor);
+  void RenderOverlay(vtkViewport* viewport, vtkActor2D* actor) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this mapper.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /// Return the mapper's vertex buffer object.
   vtkGetObjectMacro(VBO,vtkOpenGLVertexBufferObject);
 
 protected:
   vtkOpenGLPolyDataMapper2D();
-  ~vtkOpenGLPolyDataMapper2D();
+  ~vtkOpenGLPolyDataMapper2D() VTK_OVERRIDE;
 
   vtkGenericOpenGLResourceFreeCallback *ResourceCallback;
 
diff --git a/Rendering/OpenGL2/vtkOpenGLProperty.h b/Rendering/OpenGL2/vtkOpenGLProperty.h
index d18a643522..651cf3ab33 100644
--- a/Rendering/OpenGL2/vtkOpenGLProperty.h
+++ b/Rendering/OpenGL2/vtkOpenGLProperty.h
@@ -36,31 +36,31 @@ public:
   /**
    * Implement base class method.
    */
-  void Render(vtkActor *a, vtkRenderer *ren);
+  void Render(vtkActor *a, vtkRenderer *ren) VTK_OVERRIDE;
 
   /**
    * Implement base class method.
    */
-  void BackfaceRender(vtkActor *a, vtkRenderer *ren);
+  void BackfaceRender(vtkActor *a, vtkRenderer *ren) VTK_OVERRIDE;
 
   /**
    * This method is called after the actor has been rendered.
    * Don't call this directly. This method cleans up
    * any shaders allocated.
    */
-  virtual void PostRender(vtkActor *a,
-                          vtkRenderer *r);
+  void PostRender(vtkActor *a,
+                          vtkRenderer *r) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this
    * property. The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *win);
+  void ReleaseGraphicsResources(vtkWindow *win) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLProperty();
-  ~vtkOpenGLProperty();
+  ~vtkOpenGLProperty() VTK_OVERRIDE;
 
   /**
    * Method called in vtkOpenGLProperty::Render() to render textures.
diff --git a/Rendering/OpenGL2/vtkOpenGLRenderPass.h b/Rendering/OpenGL2/vtkOpenGLRenderPass.h
index d2dae22497..751f5982e2 100644
--- a/Rendering/OpenGL2/vtkOpenGLRenderPass.h
+++ b/Rendering/OpenGL2/vtkOpenGLRenderPass.h
@@ -39,7 +39,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLRenderPass: public vtkRenderPass
 {
 public:
   vtkTypeMacro(vtkOpenGLRenderPass, vtkRenderPass)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Use vtkShaderProgram::Substitute to replace //VTK::XXX:YYY declarations in
@@ -87,7 +87,7 @@ public:
 
 protected:
   vtkOpenGLRenderPass();
-  ~vtkOpenGLRenderPass();
+  ~vtkOpenGLRenderPass() VTK_OVERRIDE;
 
   /**
    * Call before rendering to update the actors' information keys.
diff --git a/Rendering/OpenGL2/vtkOpenGLRenderUtilities.h b/Rendering/OpenGL2/vtkOpenGLRenderUtilities.h
index b545d8ac41..7ac25f2fac 100644
--- a/Rendering/OpenGL2/vtkOpenGLRenderUtilities.h
+++ b/Rendering/OpenGL2/vtkOpenGLRenderUtilities.h
@@ -36,7 +36,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLRenderUtilities : public vtkObject
 {
 public:
   vtkTypeMacro(vtkOpenGLRenderUtilities, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -112,7 +112,7 @@ public:
 
 protected:
   vtkOpenGLRenderUtilities();
-  ~vtkOpenGLRenderUtilities();
+  ~vtkOpenGLRenderUtilities() VTK_OVERRIDE;
 
 private:
   vtkOpenGLRenderUtilities(const vtkOpenGLRenderUtilities&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL2/vtkOpenGLRenderWindow.h b/Rendering/OpenGL2/vtkOpenGLRenderWindow.h
index 9187d31266..5e81f01f01 100644
--- a/Rendering/OpenGL2/vtkOpenGLRenderWindow.h
+++ b/Rendering/OpenGL2/vtkOpenGLRenderWindow.h
@@ -47,12 +47,12 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLRenderWindow : public vtkRenderWindow
 {
 public:
   vtkTypeMacro(vtkOpenGLRenderWindow, vtkRenderWindow);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * What rendering backend has the user requested
    */
-  virtual const char *GetRenderingBackend();
+  const char *GetRenderingBackend() VTK_OVERRIDE;
 
   //@{
   /**
@@ -65,56 +65,56 @@ public:
   /**
    * Update system if needed due to stereo rendering.
    */
-  virtual void StereoUpdate();
+  void StereoUpdate() VTK_OVERRIDE;
 
   //@{
   /**
    * Set/Get the pixel data of an image, transmitted as RGBRGB...
    */
-  virtual unsigned char *GetPixelData(int x,int y,int x2,int y2,int front);
-  virtual int GetPixelData(int x,int y,int x2,int y2, int front,
-                           vtkUnsignedCharArray *data);
-  virtual int SetPixelData(int x,int y,int x2,int y2,unsigned char *data,
-                           int front);
-  virtual int SetPixelData(int x,int y,int x2,int y2,
-                           vtkUnsignedCharArray *data, int front);
+  unsigned char *GetPixelData(int x,int y,int x2,int y2,int front) VTK_OVERRIDE;
+  int GetPixelData(int x,int y,int x2,int y2, int front,
+                           vtkUnsignedCharArray *data) VTK_OVERRIDE;
+  int SetPixelData(int x,int y,int x2,int y2,unsigned char *data,
+                           int front) VTK_OVERRIDE;
+  int SetPixelData(int x,int y,int x2,int y2,
+                           vtkUnsignedCharArray *data, int front) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Set/Get the pixel data of an image, transmitted as RGBARGBA...
    */
-  virtual float *GetRGBAPixelData(int x,int y,int x2,int y2,int front);
-  virtual int GetRGBAPixelData(int x,int y,int x2,int y2, int front,
-                               vtkFloatArray* data);
-  virtual int SetRGBAPixelData(int x,int y,int x2,int y2, float *data,
-                               int front, int blend=0);
-  virtual int SetRGBAPixelData(int x,int y,int x2,int y2, vtkFloatArray *data,
-                               int front, int blend=0);
-  virtual void ReleaseRGBAPixelData(float *data);
-  virtual unsigned char *GetRGBACharPixelData(int x,int y,int x2,int y2,
-                                              int front);
-  virtual int GetRGBACharPixelData(int x,int y,int x2,int y2, int front,
-                                   vtkUnsignedCharArray *data);
-  virtual int SetRGBACharPixelData(int x, int y, int x2, int y2,
+  float *GetRGBAPixelData(int x,int y,int x2,int y2,int front) VTK_OVERRIDE;
+  int GetRGBAPixelData(int x,int y,int x2,int y2, int front,
+                               vtkFloatArray* data) VTK_OVERRIDE;
+  int SetRGBAPixelData(int x,int y,int x2,int y2, float *data,
+                               int front, int blend=0) VTK_OVERRIDE;
+  int SetRGBAPixelData(int x,int y,int x2,int y2, vtkFloatArray *data,
+                               int front, int blend=0) VTK_OVERRIDE;
+  void ReleaseRGBAPixelData(float *data) VTK_OVERRIDE;
+  unsigned char *GetRGBACharPixelData(int x,int y,int x2,int y2,
+                                              int front) VTK_OVERRIDE;
+  int GetRGBACharPixelData(int x,int y,int x2,int y2, int front,
+                                   vtkUnsignedCharArray *data) VTK_OVERRIDE;
+  int SetRGBACharPixelData(int x, int y, int x2, int y2,
                                    unsigned char *data, int front,
-                                   int blend=0);
-  virtual int SetRGBACharPixelData(int x,int y,int x2,int y2,
+                                   int blend=0) VTK_OVERRIDE;
+  int SetRGBACharPixelData(int x,int y,int x2,int y2,
                                    vtkUnsignedCharArray *data, int front,
-                                   int blend=0);
+                                   int blend=0) VTK_OVERRIDE;
   //@}
 
   //@{
   /**
    * Set/Get the zbuffer data from an image
    */
-  virtual float *GetZbufferData( int x1, int y1, int x2, int y2 );
-  virtual int GetZbufferData( int x1, int y1, int x2, int y2, float* z );
-  virtual int GetZbufferData( int x1, int y1, int x2, int y2,
-                              vtkFloatArray* z );
-  virtual int SetZbufferData( int x1, int y1, int x2, int y2, float *buffer );
-  virtual int SetZbufferData( int x1, int y1, int x2, int y2,
-                              vtkFloatArray *buffer );
+  float *GetZbufferData( int x1, int y1, int x2, int y2 ) VTK_OVERRIDE;
+  int GetZbufferData( int x1, int y1, int x2, int y2, float* z ) VTK_OVERRIDE;
+  int GetZbufferData( int x1, int y1, int x2, int y2,
+                              vtkFloatArray* z ) VTK_OVERRIDE;
+  int SetZbufferData( int x1, int y1, int x2, int y2, float *buffer ) VTK_OVERRIDE;
+  int SetZbufferData( int x1, int y1, int x2, int y2,
+                              vtkFloatArray *buffer ) VTK_OVERRIDE;
   //@}
 
 
@@ -136,20 +136,20 @@ public:
   /**
    * Get the size of the depth buffer.
    */
-  int GetDepthBufferSize();
+  int GetDepthBufferSize() VTK_OVERRIDE;
 
   /**
    * Get the size of the color buffer.
    * Returns 0 if not able to determine otherwise sets R G B and A into buffer.
    */
-  int GetColorBufferSizes(int *rgba);
+  int GetColorBufferSizes(int *rgba) VTK_OVERRIDE;
 
   //@{
   /**
    * Set the size of the window in screen coordinates in pixels.
    */
-  virtual void SetSize(int a[2]);
-  virtual void SetSize(int,int);
+  void SetSize(int a[2]) VTK_OVERRIDE;
+  void SetSize(int,int) VTK_OVERRIDE;
   //@}
 
   /**
@@ -261,7 +261,7 @@ public:
    * Block the thread until the actual rendering is finished().
    * Useful for measurement only.
    */
-  virtual void WaitForCompletion();
+  void WaitForCompletion() VTK_OVERRIDE;
 
   /**
    * Replacement for the old glDrawPixels function
@@ -327,18 +327,18 @@ public:
   // Return if the creation was successful (1) or not (0).
   // Note: This function requires that the device supports OpenGL framebuffer extension.
   // The function has no effect if OffScreenRendering is ON.
-  virtual int SetUseOffScreenBuffers(bool offScreen);
-  virtual bool GetUseOffScreenBuffers();
+  int SetUseOffScreenBuffers(bool offScreen) VTK_OVERRIDE;
+  bool GetUseOffScreenBuffers() VTK_OVERRIDE;
 
   /**
    * Does this render window support OpenGL? 0-false, 1-true
    */
-  virtual int SupportsOpenGL();
+  int SupportsOpenGL() VTK_OVERRIDE;
 
   /**
    * Get report of capabilities for the render window
    */
-  const char *ReportCapabilities();
+  const char *ReportCapabilities() VTK_OVERRIDE;
 
   /**
    * Initialize the rendering window.  This will setup all system-specific
@@ -397,7 +397,7 @@ public:
 
 protected:
   vtkOpenGLRenderWindow();
-  ~vtkOpenGLRenderWindow();
+  ~vtkOpenGLRenderWindow() VTK_OVERRIDE;
 
   vtkOpenGLShaderCache *ShaderCache;
 
diff --git a/Rendering/OpenGL2/vtkOpenGLRenderer.h b/Rendering/OpenGL2/vtkOpenGLRenderer.h
index 8edd25dc3a..c8734213ea 100644
--- a/Rendering/OpenGL2/vtkOpenGLRenderer.h
+++ b/Rendering/OpenGL2/vtkOpenGLRenderer.h
@@ -39,17 +39,17 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLRenderer : public vtkRenderer
 public:
   static vtkOpenGLRenderer *New();
   vtkTypeMacro(vtkOpenGLRenderer, vtkRenderer);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Concrete open gl render method.
    */
-  void DeviceRender(void);
+  void DeviceRender(void) VTK_OVERRIDE;
 
   /**
    * Overridden to support hidden line removal.
    */
-  virtual void DeviceRenderOpaqueGeometry();
+  void DeviceRenderOpaqueGeometry() VTK_OVERRIDE;
 
   /**
    * Render translucent polygonal geometry. Default implementation just call
@@ -57,14 +57,14 @@ public:
    * Subclasses of vtkRenderer that can deal with depth peeling must
    * override this method.
    */
-  virtual void DeviceRenderTranslucentPolygonalGeometry();
+  void DeviceRenderTranslucentPolygonalGeometry() VTK_OVERRIDE;
 
-  void Clear(void);
+  void Clear(void) VTK_OVERRIDE;
 
   /**
    * Ask lights to load themselves into graphics pipeline.
    */
-  int UpdateLights(void);
+  int UpdateLights(void) VTK_OVERRIDE;
 
   /**
    * Is rendering at translucent geometry stage using depth peeling and
@@ -82,7 +82,7 @@ public:
 
 protected:
   vtkOpenGLRenderer();
-  ~vtkOpenGLRenderer();
+  ~vtkOpenGLRenderer() VTK_OVERRIDE;
 
   /**
    * Check the compilation status of some fragment shader source.
@@ -90,24 +90,24 @@ protected:
   void CheckCompilation(unsigned int fragmentShader);
 
   // Internal method to release graphics resources in any derived renderers.
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   /**
    * Ask all props to update and draw any opaque and translucent
    * geometry. This includes both vtkActors and vtkVolumes
    * Returns the number of props that rendered geometry.
    */
-  virtual int UpdateGeometry();
+  int UpdateGeometry() VTK_OVERRIDE;
 
   // Picking functions to be implemented by sub-classes
-  virtual void DevicePickRender();
-  virtual void StartPick(unsigned int pickFromSize);
-  virtual void UpdatePickId();
-  virtual void DonePick();
-  virtual unsigned int GetPickedId();
-  virtual unsigned int GetNumPickedIds();
-  virtual int GetPickedIds(unsigned int atMost, unsigned int *callerBuffer);
-  virtual double GetPickedZ();
+  void DevicePickRender() VTK_OVERRIDE;
+  void StartPick(unsigned int pickFromSize) VTK_OVERRIDE;
+  void UpdatePickId() VTK_OVERRIDE;
+  void DonePick() VTK_OVERRIDE;
+  unsigned int GetPickedId() VTK_OVERRIDE;
+  unsigned int GetNumPickedIds() VTK_OVERRIDE;
+  int GetPickedIds(unsigned int atMost, unsigned int *callerBuffer) VTK_OVERRIDE;
+  double GetPickedZ() VTK_OVERRIDE;
 
   // Ivars used in picking
   class vtkGLPickInfo* PickInfo;
diff --git a/Rendering/OpenGL2/vtkOpenGLResourceFreeCallback.h b/Rendering/OpenGL2/vtkOpenGLResourceFreeCallback.h
index 4cb1afd2a5..a6b2f0f47e 100644
--- a/Rendering/OpenGL2/vtkOpenGLResourceFreeCallback.h
+++ b/Rendering/OpenGL2/vtkOpenGLResourceFreeCallback.h
@@ -54,9 +54,9 @@ public:
     this->Method = method;
   }
 
-  virtual ~vtkOpenGLResourceFreeCallback() { }
+  ~vtkOpenGLResourceFreeCallback() VTK_OVERRIDE { }
 
-  virtual void RegisterGraphicsResources(vtkOpenGLRenderWindow *rw) {
+  void RegisterGraphicsResources(vtkOpenGLRenderWindow *rw) VTK_OVERRIDE {
     if (this->VTKWindow == rw)
     {
       return;
@@ -73,7 +73,7 @@ public:
   }
 
   // Called when the event is invoked
-  virtual void Release()
+  void Release() VTK_OVERRIDE
   {
     if (this->VTKWindow && this->Handler && !this->Releasing)
     {
diff --git a/Rendering/OpenGL2/vtkOpenGLShaderCache.h b/Rendering/OpenGL2/vtkOpenGLShaderCache.h
index 82f397faec..8723391ff6 100644
--- a/Rendering/OpenGL2/vtkOpenGLShaderCache.h
+++ b/Rendering/OpenGL2/vtkOpenGLShaderCache.h
@@ -77,7 +77,7 @@ public:
 
 protected:
   vtkOpenGLShaderCache();
-  ~vtkOpenGLShaderCache();
+  ~vtkOpenGLShaderCache() VTK_OVERRIDE;
 
   // perform System and Output replacments in place. Returns
   // the number of outputs
diff --git a/Rendering/OpenGL2/vtkOpenGLSphereMapper.h b/Rendering/OpenGL2/vtkOpenGLSphereMapper.h
index 2ff9c95300..37f2236b07 100644
--- a/Rendering/OpenGL2/vtkOpenGLSphereMapper.h
+++ b/Rendering/OpenGL2/vtkOpenGLSphereMapper.h
@@ -30,7 +30,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLSphereMapper : public vtkOpenGLPolyDat
 public:
   static vtkOpenGLSphereMapper* New();
   vtkTypeMacro(vtkOpenGLSphereMapper, vtkOpenGLPolyDataMapper)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -50,49 +50,49 @@ public:
   /**
    * This calls RenderPiece (twice when transparent)
    */
-  virtual void Render(vtkRenderer *ren, vtkActor *act);
+  void Render(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLSphereMapper();
-  ~vtkOpenGLSphereMapper();
+  ~vtkOpenGLSphereMapper() VTK_OVERRIDE;
 
   /**
    * Create the basic shaders before replacement
    */
-  virtual void GetShaderTemplate(
+  void GetShaderTemplate(
     std::map<vtkShader::Type, vtkShader *> shaders,
-    vtkRenderer *ren, vtkActor *act);
+    vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   /**
    * Perform string replacments on the shader templates
    */
-  virtual void ReplaceShaderValues(
+  void ReplaceShaderValues(
     std::map<vtkShader::Type, vtkShader *> shaders,
-    vtkRenderer *ren, vtkActor *act);
+    vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   /**
    * Set the shader parameters related to the Camera
    */
-  virtual void SetCameraShaderParameters(vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act);
+  void SetCameraShaderParameters(vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   /**
    * Set the shader parameters related to the actor/mapper
    */
-  virtual void SetMapperShaderParameters(vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act);
+  void SetMapperShaderParameters(vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   const char *ScaleArray;
 
   /**
    * Does the VBO/IBO need to be rebuilt
    */
-  virtual bool GetNeedToRebuildBufferObjects(vtkRenderer *ren, vtkActor *act);
+  bool GetNeedToRebuildBufferObjects(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   /**
    * Update the VBO to contain point based values
    */
-  virtual void BuildBufferObjects(vtkRenderer *ren, vtkActor *act);
+  void BuildBufferObjects(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
-  virtual void RenderPieceDraw(vtkRenderer *ren, vtkActor *act);
+  void RenderPieceDraw(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   // used for transparency
   bool Invert;
diff --git a/Rendering/OpenGL2/vtkOpenGLStickMapper.h b/Rendering/OpenGL2/vtkOpenGLStickMapper.h
index 09fab1a33f..42cc593623 100644
--- a/Rendering/OpenGL2/vtkOpenGLStickMapper.h
+++ b/Rendering/OpenGL2/vtkOpenGLStickMapper.h
@@ -30,7 +30,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLStickMapper : public vtkOpenGLPolyData
 public:
   static vtkOpenGLStickMapper* New();
   vtkTypeMacro(vtkOpenGLStickMapper, vtkOpenGLPolyDataMapper)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -55,31 +55,31 @@ public:
 
 protected:
   vtkOpenGLStickMapper();
-  ~vtkOpenGLStickMapper();
+  ~vtkOpenGLStickMapper() VTK_OVERRIDE;
 
   /**
    * Create the basic shaders before replacement
    */
-  virtual void GetShaderTemplate(
+  void GetShaderTemplate(
     std::map<vtkShader::Type, vtkShader *> shaders,
-    vtkRenderer *ren, vtkActor *act);
+    vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   /**
    * Perform string replacments on the shader templates
    */
-  virtual void ReplaceShaderValues(
+  void ReplaceShaderValues(
     std::map<vtkShader::Type, vtkShader *> shaders,
-    vtkRenderer *ren, vtkActor *act);
+    vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   /**
    * Set the shader parameters related to the Camera
    */
-  virtual void SetCameraShaderParameters(vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act);
+  void SetCameraShaderParameters(vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   /**
    * Set the shader parameters related to the actor/mapper
    */
-  virtual void SetMapperShaderParameters(vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act);
+  void SetMapperShaderParameters(vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   const char *ScaleArray;
   const char *OrientationArray;
@@ -88,14 +88,14 @@ protected:
   /**
    * Does the VBO/IBO need to be rebuilt
    */
-  virtual bool GetNeedToRebuildBufferObjects(vtkRenderer *ren, vtkActor *act);
+  bool GetNeedToRebuildBufferObjects(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
   /**
    * Update the VBO to contain point based values
    */
-  virtual void BuildBufferObjects(vtkRenderer *ren, vtkActor *act);
+  void BuildBufferObjects(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
-  virtual void RenderPieceDraw(vtkRenderer *ren, vtkActor *act);
+  void RenderPieceDraw(vtkRenderer *ren, vtkActor *act) VTK_OVERRIDE;
 
 private:
   vtkOpenGLStickMapper(const vtkOpenGLStickMapper&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL2/vtkOpenGLTextActor.h b/Rendering/OpenGL2/vtkOpenGLTextActor.h
index e6a395918b..44c0655264 100644
--- a/Rendering/OpenGL2/vtkOpenGLTextActor.h
+++ b/Rendering/OpenGL2/vtkOpenGLTextActor.h
@@ -31,13 +31,13 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLTextActor: public vtkTextActor
 public:
   static vtkOpenGLTextActor* New();
   vtkTypeMacro(vtkOpenGLTextActor, vtkTextActor)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual int RenderOverlay(vtkViewport* viewport);
+  int RenderOverlay(vtkViewport* viewport) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLTextActor();
-  ~vtkOpenGLTextActor();
+  ~vtkOpenGLTextActor() VTK_OVERRIDE;
 
   int RenderGL2PS(vtkViewport *viewport, vtkOpenGLGL2PSHelper *gl2ps);
 
diff --git a/Rendering/OpenGL2/vtkOpenGLTextActor3D.h b/Rendering/OpenGL2/vtkOpenGLTextActor3D.h
index 64336eda8e..1e6a842f81 100644
--- a/Rendering/OpenGL2/vtkOpenGLTextActor3D.h
+++ b/Rendering/OpenGL2/vtkOpenGLTextActor3D.h
@@ -31,13 +31,13 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLTextActor3D: public vtkTextActor3D
 public:
   static vtkOpenGLTextActor3D* New();
   vtkTypeMacro(vtkOpenGLTextActor3D, vtkTextActor3D)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual int RenderTranslucentPolygonalGeometry(vtkViewport* viewport);
+  int RenderTranslucentPolygonalGeometry(vtkViewport* viewport) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLTextActor3D();
-  ~vtkOpenGLTextActor3D();
+  ~vtkOpenGLTextActor3D() VTK_OVERRIDE;
 
   int RenderGL2PS(vtkViewport *vp, vtkOpenGLGL2PSHelper *gl2ps);
 
diff --git a/Rendering/OpenGL2/vtkOpenGLTextMapper.h b/Rendering/OpenGL2/vtkOpenGLTextMapper.h
index 0ddfd63cbb..ad693f2db7 100644
--- a/Rendering/OpenGL2/vtkOpenGLTextMapper.h
+++ b/Rendering/OpenGL2/vtkOpenGLTextMapper.h
@@ -31,13 +31,13 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLTextMapper: public vtkTextMapper
 public:
   static vtkOpenGLTextMapper* New();
   vtkTypeMacro(vtkOpenGLTextMapper, vtkTextMapper)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
-  void RenderOverlay(vtkViewport *vp, vtkActor2D *act);
+  void RenderOverlay(vtkViewport *vp, vtkActor2D *act) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLTextMapper();
-  ~vtkOpenGLTextMapper();
+  ~vtkOpenGLTextMapper() VTK_OVERRIDE;
 
   void RenderGL2PS(vtkViewport *vp, vtkActor2D *act,
                    vtkOpenGLGL2PSHelper *gl2ps);
diff --git a/Rendering/OpenGL2/vtkOpenGLTexture.h b/Rendering/OpenGL2/vtkOpenGLTexture.h
index c6c8506400..991e6524f3 100644
--- a/Rendering/OpenGL2/vtkOpenGLTexture.h
+++ b/Rendering/OpenGL2/vtkOpenGLTexture.h
@@ -42,16 +42,16 @@ public:
    * to make sure the texture maps Input is valid, then it invokes the
    * Load() method.
    */
-  virtual void Render(vtkRenderer* ren);
+  void Render(vtkRenderer* ren) VTK_OVERRIDE;
 
   /**
    * Implement base class method.
    */
-  void Load(vtkRenderer*);
+  void Load(vtkRenderer*) VTK_OVERRIDE;
 
   // Descsription:
   // Clean up after the rendering is complete.
-  virtual void PostRender(vtkRenderer*);
+  void PostRender(vtkRenderer*) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this texture.
@@ -59,7 +59,7 @@ public:
    * resources to release. Using the same texture object in multiple
    * render windows is NOT currently supported.
    */
-  void ReleaseGraphicsResources(vtkWindow*);
+  void ReleaseGraphicsResources(vtkWindow*) VTK_OVERRIDE;
 
   /**
    * copy the renderers read buffer into this texture
@@ -88,7 +88,7 @@ public:
   /**
    * Return the texture unit used for this texture
    */
-  virtual int GetTextureUnit();
+  int GetTextureUnit() VTK_OVERRIDE;
 
   /**
    * Is this Texture Translucent?
@@ -96,11 +96,11 @@ public:
    * only fully transparent pixels and fully opaque pixels and the
    * Interpolate flag is turn off.
    */
-  virtual int IsTranslucent();
+  int IsTranslucent() VTK_OVERRIDE;
 
 protected:
   vtkOpenGLTexture();
-  ~vtkOpenGLTexture();
+  ~vtkOpenGLTexture() VTK_OVERRIDE;
 
   vtkTimeStamp   LoadTime;
   vtkWeakPointer<vtkRenderWindow> RenderWindow;   // RenderWindow used for previous render
diff --git a/Rendering/OpenGL2/vtkOpenGLVertexArrayObject.h b/Rendering/OpenGL2/vtkOpenGLVertexArrayObject.h
index 4e3fba0b87..2f7bdea368 100644
--- a/Rendering/OpenGL2/vtkOpenGLVertexArrayObject.h
+++ b/Rendering/OpenGL2/vtkOpenGLVertexArrayObject.h
@@ -37,7 +37,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLVertexArrayObject : public vtkObject
 public:
   static vtkOpenGLVertexArrayObject* New();
   vtkTypeMacro(vtkOpenGLVertexArrayObject, vtkObject)
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   void Bind();
 
@@ -77,7 +77,7 @@ public:
 
 protected:
   vtkOpenGLVertexArrayObject();
-  ~vtkOpenGLVertexArrayObject();
+  ~vtkOpenGLVertexArrayObject() VTK_OVERRIDE;
 
 private:
   vtkOpenGLVertexArrayObject(
diff --git a/Rendering/OpenGL2/vtkOpenGLVertexBufferObject.h b/Rendering/OpenGL2/vtkOpenGLVertexBufferObject.h
index c35f740023..230f5d857b 100644
--- a/Rendering/OpenGL2/vtkOpenGLVertexBufferObject.h
+++ b/Rendering/OpenGL2/vtkOpenGLVertexBufferObject.h
@@ -39,7 +39,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLVertexBufferObject :
 public:
   static vtkOpenGLVertexBufferObject *New();
   vtkTypeMacro(vtkOpenGLVertexBufferObject, vtkOpenGLBufferObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   // Take the points, and pack them into this VBO. This currently
   // takes whatever the input type might be and packs them into a VBO using
@@ -132,7 +132,7 @@ public:
 
 protected:
   vtkOpenGLVertexBufferObject();
-  ~vtkOpenGLVertexBufferObject();
+  ~vtkOpenGLVertexBufferObject() VTK_OVERRIDE;
 
   double CoordShift[3];
   double CoordScale[3];
diff --git a/Rendering/OpenGL2/vtkOverlayPass.h b/Rendering/OpenGL2/vtkOverlayPass.h
index 08a51a3fe7..c4f267f9b1 100644
--- a/Rendering/OpenGL2/vtkOverlayPass.h
+++ b/Rendering/OpenGL2/vtkOverlayPass.h
@@ -39,13 +39,13 @@ class VTKRENDERINGOPENGL2_EXPORT vtkOverlayPass : public vtkDefaultPass
 public:
   static vtkOverlayPass *New();
   vtkTypeMacro(vtkOverlayPass,vtkDefaultPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
  protected:
   /**
@@ -56,7 +56,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkOverlayPass();
+  ~vtkOverlayPass() VTK_OVERRIDE;
 
  private:
   vtkOverlayPass(const vtkOverlayPass&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL2/vtkPixelBufferObject.h b/Rendering/OpenGL2/vtkPixelBufferObject.h
index 2c2fc3b085..4c1bfc43af 100644
--- a/Rendering/OpenGL2/vtkPixelBufferObject.h
+++ b/Rendering/OpenGL2/vtkPixelBufferObject.h
@@ -61,7 +61,7 @@ public:
 
   static vtkPixelBufferObject* New();
   vtkTypeMacro(vtkPixelBufferObject, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -355,7 +355,7 @@ public:
 
 protected:
   vtkPixelBufferObject();
-  ~vtkPixelBufferObject();
+  ~vtkPixelBufferObject() VTK_OVERRIDE;
 
   /**
    * Loads all required OpenGL extensions. Must be called every time a new
diff --git a/Rendering/OpenGL2/vtkPointFillPass.h b/Rendering/OpenGL2/vtkPointFillPass.h
index 5ab0e726a7..c2c7cc74ea 100644
--- a/Rendering/OpenGL2/vtkPointFillPass.h
+++ b/Rendering/OpenGL2/vtkPointFillPass.h
@@ -42,20 +42,20 @@ class VTKRENDERINGOPENGL2_EXPORT vtkPointFillPass : public vtkDepthImageProcessi
 public:
   static vtkPointFillPass *New();
   vtkTypeMacro(vtkPointFillPass,vtkDepthImageProcessingPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   //@{
   /**
@@ -88,7 +88,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkPointFillPass();
+  ~vtkPointFillPass() VTK_OVERRIDE;
 
   /**
    * Graphics resources.
diff --git a/Rendering/OpenGL2/vtkRenderPassCollection.h b/Rendering/OpenGL2/vtkRenderPassCollection.h
index 906e9f5e2b..294ae8fa44 100644
--- a/Rendering/OpenGL2/vtkRenderPassCollection.h
+++ b/Rendering/OpenGL2/vtkRenderPassCollection.h
@@ -37,7 +37,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkRenderPassCollection : public vtkCollection
  public:
   static vtkRenderPassCollection *New();
   vtkTypeMacro(vtkRenderPassCollection,vtkCollection);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Add an RenderPass to the list.
@@ -62,7 +62,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkRenderPassCollection : public vtkCollection
 
 protected:
   vtkRenderPassCollection();
-  ~vtkRenderPassCollection();
+  ~vtkRenderPassCollection() VTK_OVERRIDE;
 
 private:
   // hide the standard AddItem from the user and the compiler.
diff --git a/Rendering/OpenGL2/vtkRenderStepsPass.h b/Rendering/OpenGL2/vtkRenderStepsPass.h
index 285361cb25..4aebe1f68a 100644
--- a/Rendering/OpenGL2/vtkRenderStepsPass.h
+++ b/Rendering/OpenGL2/vtkRenderStepsPass.h
@@ -44,20 +44,20 @@ class VTKRENDERINGOPENGL2_EXPORT vtkRenderStepsPass : public vtkRenderPass
 public:
   static vtkRenderStepsPass *New();
   vtkTypeMacro(vtkRenderStepsPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   //@{
   /**
@@ -117,7 +117,7 @@ public:
 
 protected:
   vtkRenderStepsPass();
-  virtual ~vtkRenderStepsPass();
+  ~vtkRenderStepsPass() VTK_OVERRIDE;
 
   vtkCameraPass *CameraPass;
   vtkRenderPass *LightsPass;
diff --git a/Rendering/OpenGL2/vtkRenderbuffer.h b/Rendering/OpenGL2/vtkRenderbuffer.h
index e035580b32..2b865ff35e 100644
--- a/Rendering/OpenGL2/vtkRenderbuffer.h
+++ b/Rendering/OpenGL2/vtkRenderbuffer.h
@@ -34,7 +34,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkRenderbuffer : public vtkObject
 public:
   static vtkRenderbuffer* New();
   vtkTypeMacro(vtkRenderbuffer, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Returns if the context supports the required extensions.
@@ -108,7 +108,7 @@ public:
 
 protected:
   vtkRenderbuffer();
-  ~vtkRenderbuffer();
+  ~vtkRenderbuffer() VTK_OVERRIDE;
 
   bool LoadRequiredExtensions(vtkRenderWindow *renWin);
   void Alloc();
diff --git a/Rendering/OpenGL2/vtkSSAAPass.h b/Rendering/OpenGL2/vtkSSAAPass.h
index 32bee41fb5..fb22ed2bc5 100644
--- a/Rendering/OpenGL2/vtkSSAAPass.h
+++ b/Rendering/OpenGL2/vtkSSAAPass.h
@@ -49,20 +49,20 @@ class VTKRENDERINGOPENGL2_EXPORT vtkSSAAPass : public vtkRenderPass
 public:
   static vtkSSAAPass *New();
   vtkTypeMacro(vtkSSAAPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   //@{
   /**
@@ -84,7 +84,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkSSAAPass();
+  ~vtkSSAAPass() VTK_OVERRIDE;
 
   /**
    * Graphics resources.
diff --git a/Rendering/OpenGL2/vtkSequencePass.h b/Rendering/OpenGL2/vtkSequencePass.h
index 6d5732f812..263a0b1cf0 100644
--- a/Rendering/OpenGL2/vtkSequencePass.h
+++ b/Rendering/OpenGL2/vtkSequencePass.h
@@ -40,20 +40,20 @@ class VTKRENDERINGOPENGL2_EXPORT vtkSequencePass : public vtkRenderPass
 public:
   static vtkSequencePass *New();
   vtkTypeMacro(vtkSequencePass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   //@{
   /**
@@ -70,7 +70,7 @@ protected:
   vtkRenderPassCollection *Passes;
 
   vtkSequencePass();
-  virtual ~vtkSequencePass();
+  ~vtkSequencePass() VTK_OVERRIDE;
 
 private:
   vtkSequencePass(const vtkSequencePass&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL2/vtkShader.h b/Rendering/OpenGL2/vtkShader.h
index 8a266e6fc4..2cd6ef59e3 100644
--- a/Rendering/OpenGL2/vtkShader.h
+++ b/Rendering/OpenGL2/vtkShader.h
@@ -39,7 +39,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkShader : public vtkObject
 public:
   static vtkShader *New();
   vtkTypeMacro(vtkShader, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 
   /** Available shader types. */
@@ -81,7 +81,7 @@ public:
 
 protected:
   vtkShader();
-  ~vtkShader();
+  ~vtkShader() VTK_OVERRIDE;
 
   Type ShaderType;
   int  Handle;
diff --git a/Rendering/OpenGL2/vtkShaderProgram.h b/Rendering/OpenGL2/vtkShaderProgram.h
index 3137aeaa6c..c7478774ff 100644
--- a/Rendering/OpenGL2/vtkShaderProgram.h
+++ b/Rendering/OpenGL2/vtkShaderProgram.h
@@ -46,7 +46,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkShaderProgram : public vtkObject
 public:
   static vtkShaderProgram *New();
   vtkTypeMacro(vtkShaderProgram, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -269,7 +269,7 @@ public:
 
 protected:
   vtkShaderProgram();
-  ~vtkShaderProgram();
+  ~vtkShaderProgram() VTK_OVERRIDE;
 
   /***************************************************************
    * The following functions are only for use by the shader cache
diff --git a/Rendering/OpenGL2/vtkShadowMapBakerPass.h b/Rendering/OpenGL2/vtkShadowMapBakerPass.h
index bfd39dedf0..c976f688e3 100644
--- a/Rendering/OpenGL2/vtkShadowMapBakerPass.h
+++ b/Rendering/OpenGL2/vtkShadowMapBakerPass.h
@@ -58,20 +58,20 @@ class VTKRENDERINGOPENGL2_EXPORT vtkShadowMapBakerPass : public vtkRenderPass
 public:
   static vtkShadowMapBakerPass *New();
   vtkTypeMacro(vtkShadowMapBakerPass,vtkRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   //@{
   /**
@@ -167,7 +167,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkShadowMapBakerPass();
+  ~vtkShadowMapBakerPass() VTK_OVERRIDE;
 
   /**
    * Helper method to compute the mNearest point in a given direction.
diff --git a/Rendering/OpenGL2/vtkShadowMapPass.h b/Rendering/OpenGL2/vtkShadowMapPass.h
index a4409f1e61..f58bfe53a7 100644
--- a/Rendering/OpenGL2/vtkShadowMapPass.h
+++ b/Rendering/OpenGL2/vtkShadowMapPass.h
@@ -62,20 +62,20 @@ class VTKRENDERINGOPENGL2_EXPORT vtkShadowMapPass : public vtkOpenGLRenderPass
 public:
   static vtkShadowMapPass *New();
   vtkTypeMacro(vtkShadowMapPass,vtkOpenGLRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
   //@{
   /**
@@ -128,17 +128,17 @@ public:
     return this->FragmentImplementation; }
 
   // vtkOpenGLRenderPass virtuals:
-  virtual bool PreReplaceShaderValues(std::string &vertexShader,
+  bool PreReplaceShaderValues(std::string &vertexShader,
                                    std::string &geometryShader,
                                    std::string &fragmentShader,
                                    vtkAbstractMapper *mapper,
                                    vtkProp *prop) VTK_OVERRIDE;
-  virtual bool PostReplaceShaderValues(std::string &vertexShader,
+  bool PostReplaceShaderValues(std::string &vertexShader,
                                    std::string &geometryShader,
                                    std::string &fragmentShader,
                                    vtkAbstractMapper *mapper,
                                    vtkProp *prop) VTK_OVERRIDE;
-  virtual bool SetShaderParameters(vtkShaderProgram *program,
+  bool SetShaderParameters(vtkShaderProgram *program,
                           vtkAbstractMapper *mapper, vtkProp *prop,
                           vtkOpenGLVertexArrayObject* VAO = NULL) VTK_OVERRIDE;
 
@@ -151,7 +151,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkShadowMapPass();
+  ~vtkShadowMapPass() VTK_OVERRIDE;
 
   /**
    * Check if shadow mapping is supported by the current OpenGL context.
diff --git a/Rendering/OpenGL2/vtkSobelGradientMagnitudePass.h b/Rendering/OpenGL2/vtkSobelGradientMagnitudePass.h
index 40522d4cf5..0914769d45 100644
--- a/Rendering/OpenGL2/vtkSobelGradientMagnitudePass.h
+++ b/Rendering/OpenGL2/vtkSobelGradientMagnitudePass.h
@@ -75,20 +75,20 @@ class VTKRENDERINGOPENGL2_EXPORT vtkSobelGradientMagnitudePass : public vtkImage
 public:
   static vtkSobelGradientMagnitudePass *New();
   vtkTypeMacro(vtkSobelGradientMagnitudePass,vtkImageProcessingPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Release graphics resources and ask components to release their own
    * resources.
    * \pre w_exists: w!=0
    */
-  void ReleaseGraphicsResources(vtkWindow *w);
+  void ReleaseGraphicsResources(vtkWindow *w) VTK_OVERRIDE;
 
  protected:
   /**
@@ -99,7 +99,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkSobelGradientMagnitudePass();
+  ~vtkSobelGradientMagnitudePass() VTK_OVERRIDE;
 
   /**
    * Graphics resources.
diff --git a/Rendering/OpenGL2/vtkTextureObject.h b/Rendering/OpenGL2/vtkTextureObject.h
index 985092f971..e01aa9b2f1 100644
--- a/Rendering/OpenGL2/vtkTextureObject.h
+++ b/Rendering/OpenGL2/vtkTextureObject.h
@@ -122,7 +122,7 @@ public:
 
   static vtkTextureObject* New();
   vtkTypeMacro(vtkTextureObject, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -740,7 +740,7 @@ public:
 
 protected:
   vtkTextureObject();
-  ~vtkTextureObject();
+  ~vtkTextureObject() VTK_OVERRIDE;
 
   vtkGenericOpenGLResourceFreeCallback *ResourceCallback;
 
diff --git a/Rendering/OpenGL2/vtkTextureUnitManager.h b/Rendering/OpenGL2/vtkTextureUnitManager.h
index ab691c02bc..ce389d521d 100644
--- a/Rendering/OpenGL2/vtkTextureUnitManager.h
+++ b/Rendering/OpenGL2/vtkTextureUnitManager.h
@@ -40,7 +40,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkTextureUnitManager : public vtkObject
 public:
   vtkTypeMacro(vtkTextureUnitManager,vtkObject);
 
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkTextureUnitManager *New();
 
@@ -104,7 +104,7 @@ protected:
   /**
    * Destructor.
    */
-  ~vtkTextureUnitManager();
+  ~vtkTextureUnitManager() VTK_OVERRIDE;
 
   /**
    * Delete the allocation table and check if it is not called before
diff --git a/Rendering/OpenGL2/vtkTransformFeedback.h b/Rendering/OpenGL2/vtkTransformFeedback.h
index 98d64577e6..eb905a4424 100644
--- a/Rendering/OpenGL2/vtkTransformFeedback.h
+++ b/Rendering/OpenGL2/vtkTransformFeedback.h
@@ -41,7 +41,7 @@ class VTKRENDERINGOPENGL2_EXPORT vtkTransformFeedback : public vtkObject
 public:
   static vtkTransformFeedback *New();
   vtkTypeMacro(vtkTransformFeedback, vtkObject)
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * The role a captured varying fills. Useful for parsing later.
@@ -179,7 +179,7 @@ public:
 
 protected:
   vtkTransformFeedback();
-  ~vtkTransformFeedback();
+  ~vtkTransformFeedback() VTK_OVERRIDE;
 
 private:
   vtkTransformFeedback(const vtkTransformFeedback &) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL2/vtkTranslucentPass.h b/Rendering/OpenGL2/vtkTranslucentPass.h
index 2ad31f2cfa..585077199a 100644
--- a/Rendering/OpenGL2/vtkTranslucentPass.h
+++ b/Rendering/OpenGL2/vtkTranslucentPass.h
@@ -39,13 +39,13 @@ class VTKRENDERINGOPENGL2_EXPORT vtkTranslucentPass : public vtkDefaultPass
 public:
   static vtkTranslucentPass *New();
   vtkTypeMacro(vtkTranslucentPass,vtkDefaultPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
  protected:
   /**
@@ -56,7 +56,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkTranslucentPass();
+  ~vtkTranslucentPass() VTK_OVERRIDE;
 
  private:
   vtkTranslucentPass(const vtkTranslucentPass&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/OpenGL2/vtkValuePass.h b/Rendering/OpenGL2/vtkValuePass.h
index b508b80ff2..149a7ab13b 100644
--- a/Rendering/OpenGL2/vtkValuePass.h
+++ b/Rendering/OpenGL2/vtkValuePass.h
@@ -68,7 +68,7 @@ public:
 
   static vtkValuePass *New();
   vtkTypeMacro(vtkValuePass, vtkOpenGLRenderPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   vtkSetMacro(RenderingMode, int);
   vtkGetMacro(RenderingMode, int);
@@ -81,7 +81,7 @@ public:
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
   /**
    * Interface to get the rendered image in FLOATING_POINT mode.  Returns a
@@ -109,7 +109,7 @@ public:
    */
   bool IsFloatingPointModeSupported(vtkRenderWindow* renWin);
 
-  void ReleaseGraphicsResources(vtkWindow *win);
+  void ReleaseGraphicsResources(vtkWindow *win) VTK_OVERRIDE;
 
   /**
    * Convert an RGB triplet to a floating point value. This method is exposed
@@ -120,7 +120,7 @@ public:
 
  protected:
   vtkValuePass();
-  virtual ~vtkValuePass();
+  ~vtkValuePass() VTK_OVERRIDE;
 
   ///@{
   /**
@@ -132,7 +132,7 @@ public:
    * the shader sources. Gets called after other mapper shader replacements.
    * Return false on error.
    */
-  virtual bool PostReplaceShaderValues(std::string &vertexShader,
+  bool PostReplaceShaderValues(std::string &vertexShader,
                                    std::string &geometryShader,
                                    std::string &fragmentShader,
                                    vtkAbstractMapper *mapper,
@@ -141,7 +141,7 @@ public:
    * Update the uniforms of the shader program.
    * Return false on error.
    */
-  virtual bool SetShaderParameters(vtkShaderProgram* program,
+  bool SetShaderParameters(vtkShaderProgram* program,
                                    vtkAbstractMapper* mapper, vtkProp* prop,
                                    vtkOpenGLVertexArrayObject* VAO = NULL) VTK_OVERRIDE;
   /**
@@ -151,7 +151,7 @@ public:
    * return the last time that the shader stage changed, or 0 if the shader
    * is single-stage.
    */
-  virtual vtkMTimeType GetShaderStageMTime() VTK_OVERRIDE;
+  vtkMTimeType GetShaderStageMTime() VTK_OVERRIDE;
   ///@}
 
   /**
diff --git a/Rendering/OpenGL2/vtkVolumetricPass.h b/Rendering/OpenGL2/vtkVolumetricPass.h
index 65200bbb4e..13aadb2260 100644
--- a/Rendering/OpenGL2/vtkVolumetricPass.h
+++ b/Rendering/OpenGL2/vtkVolumetricPass.h
@@ -39,13 +39,13 @@ class VTKRENDERINGOPENGL2_EXPORT vtkVolumetricPass : public vtkDefaultPass
 public:
   static vtkVolumetricPass *New();
   vtkTypeMacro(vtkVolumetricPass,vtkDefaultPass);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Perform rendering according to a render state \p s.
    * \pre s_exists: s!=0
    */
-  virtual void Render(const vtkRenderState *s);
+  void Render(const vtkRenderState *s) VTK_OVERRIDE;
 
  protected:
   /**
@@ -56,7 +56,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~vtkVolumetricPass();
+  ~vtkVolumetricPass() VTK_OVERRIDE;
 
  private:
   vtkVolumetricPass(const vtkVolumetricPass&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Qt/vtkQImageToImageSource.h b/Rendering/Qt/vtkQImageToImageSource.h
index 5896edb43a..ea9e5bb01e 100644
--- a/Rendering/Qt/vtkQImageToImageSource.h
+++ b/Rendering/Qt/vtkQImageToImageSource.h
@@ -32,7 +32,7 @@ class VTKRENDERINGQT_EXPORT vtkQImageToImageSource : public vtkImageAlgorithm
 public:
   static vtkQImageToImageSource *New();
   vtkTypeMacro(vtkQImageToImageSource,vtkImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set/Get QImage surface to be used.
@@ -43,15 +43,15 @@ public:
 
 protected:
   vtkQImageToImageSource();
-  ~vtkQImageToImageSource() {}
+  ~vtkQImageToImageSource() VTK_OVERRIDE {}
 
   const QImage* QtImage;
   int DataExtent[6];
 
-  virtual int RequestData( vtkInformation*, vtkInformationVector**, vtkInformationVector*);
+  int RequestData( vtkInformation*, vtkInformationVector**, vtkInformationVector*) VTK_OVERRIDE;
   int RequestInformation ( vtkInformation * vtkNotUsed(request),
                            vtkInformationVector ** vtkNotUsed( inputVector ),
-                           vtkInformationVector *outputVector);
+                           vtkInformationVector *outputVector) VTK_OVERRIDE;
 private:
   vtkQImageToImageSource(const vtkQImageToImageSource&) VTK_DELETE_FUNCTION;
   void operator=(const vtkQImageToImageSource&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Qt/vtkQtInitialization.h b/Rendering/Qt/vtkQtInitialization.h
index eae47c080d..cc08717192 100644
--- a/Rendering/Qt/vtkQtInitialization.h
+++ b/Rendering/Qt/vtkQtInitialization.h
@@ -42,11 +42,11 @@ class VTKRENDERINGQT_EXPORT vtkQtInitialization : public vtkObject
 public:
   static vtkQtInitialization* New();
   vtkTypeMacro(vtkQtInitialization, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkQtInitialization();
-  ~vtkQtInitialization();
+  ~vtkQtInitialization() VTK_OVERRIDE;
 
 private:
   vtkQtInitialization(const vtkQtInitialization &) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Qt/vtkQtLabelRenderStrategy.h b/Rendering/Qt/vtkQtLabelRenderStrategy.h
index 7b2347d99f..969a70f334 100644
--- a/Rendering/Qt/vtkQtLabelRenderStrategy.h
+++ b/Rendering/Qt/vtkQtLabelRenderStrategy.h
@@ -40,55 +40,55 @@ class vtkTextureMapToPlane;
 class VTKRENDERINGQT_EXPORT vtkQtLabelRenderStrategy : public vtkLabelRenderStrategy
 {
  public:
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   vtkTypeMacro(vtkQtLabelRenderStrategy, vtkLabelRenderStrategy);
   static vtkQtLabelRenderStrategy* New();
 
   /**
    * Compute the bounds of a label. Must be performed after the renderer is set.
    */
-  virtual void ComputeLabelBounds(vtkTextProperty* tprop, vtkStdString label,
-                                  double bds[4])
+  void ComputeLabelBounds(vtkTextProperty* tprop, vtkStdString label,
+                                  double bds[4]) VTK_OVERRIDE
     { this->Superclass::ComputeLabelBounds(tprop, label, bds); }
-  virtual void ComputeLabelBounds(vtkTextProperty* tprop, vtkUnicodeString label,
-                                  double bds[4]);
+  void ComputeLabelBounds(vtkTextProperty* tprop, vtkUnicodeString label,
+                                  double bds[4]) VTK_OVERRIDE;
 
   //@{
   /**
    * Render a label at a location in world coordinates.
    * Must be performed between StartFrame() and EndFrame() calls.
    */
-  virtual void RenderLabel(int x[2], vtkTextProperty* tprop, vtkStdString label)
+  void RenderLabel(int x[2], vtkTextProperty* tprop, vtkStdString label) VTK_OVERRIDE
     { this->Superclass::RenderLabel(x, tprop, label); }
-  virtual void RenderLabel(int x[2], vtkTextProperty* tprop, vtkStdString label,
-                           int maxWidth)
+  void RenderLabel(int x[2], vtkTextProperty* tprop, vtkStdString label,
+                           int maxWidth) VTK_OVERRIDE
     { this->Superclass::RenderLabel(x, tprop, label, maxWidth); }
-  virtual void RenderLabel(int x[2], vtkTextProperty* tprop,
-                           vtkUnicodeString label);
-  virtual void RenderLabel(int x[2], vtkTextProperty* tprop,
-                           vtkUnicodeString label, int maxWidth);
+  void RenderLabel(int x[2], vtkTextProperty* tprop,
+                           vtkUnicodeString label) VTK_OVERRIDE;
+  void RenderLabel(int x[2], vtkTextProperty* tprop,
+                           vtkUnicodeString label, int maxWidth) VTK_OVERRIDE;
   //@}
 
   /**
    * Start a rendering frame. Renderer must be set.
    */
-  virtual void StartFrame();
+  void StartFrame() VTK_OVERRIDE;
 
   /**
    * End a rendering frame.
    */
-  virtual void EndFrame();
+  void EndFrame() VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this strategy.
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *window);
+  void ReleaseGraphicsResources(vtkWindow *window) VTK_OVERRIDE;
 
 protected:
   vtkQtLabelRenderStrategy();
-  ~vtkQtLabelRenderStrategy();
+  ~vtkQtLabelRenderStrategy() VTK_OVERRIDE;
 
   class Internals;
   Internals* Implementation;
diff --git a/Rendering/Qt/vtkQtStringToImage.h b/Rendering/Qt/vtkQtStringToImage.h
index 42df3edd0a..86fe937a6e 100644
--- a/Rendering/Qt/vtkQtStringToImage.h
+++ b/Rendering/Qt/vtkQtStringToImage.h
@@ -34,7 +34,7 @@ class VTKRENDERINGQT_EXPORT vtkQtStringToImage : public vtkStringToImage
 {
 public:
   vtkTypeMacro(vtkQtStringToImage, vtkStringToImage);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkQtStringToImage *New();
 
@@ -52,10 +52,10 @@ public:
    * is valid (it may not if GetBoundingBox() failed or if the string
    * was empty).
    */
-  virtual vtkVector2i GetBounds(vtkTextProperty *property,
-                                const vtkUnicodeString& string, int dpi);
-  virtual vtkVector2i GetBounds(vtkTextProperty *property,
-                                const vtkStdString& string, int dpi);
+  vtkVector2i GetBounds(vtkTextProperty *property,
+                                const vtkUnicodeString& string, int dpi) VTK_OVERRIDE;
+  vtkVector2i GetBounds(vtkTextProperty *property,
+                                const vtkStdString& string, int dpi) VTK_OVERRIDE;
   //@}
 
   //@{
@@ -64,14 +64,14 @@ public:
    * vtkImageData *data and renders it in a vtkImageData. textDims, if provided,
    * will be overwritten by the pixel width and height of the rendered string.
    */
-  virtual int RenderString(vtkTextProperty *property,
+  int RenderString(vtkTextProperty *property,
                            const vtkUnicodeString& string, int dpi,
                            vtkImageData *data,
-                           int textDims[2] = NULL);
-  virtual int RenderString(vtkTextProperty *property,
+                           int textDims[2] = NULL) VTK_OVERRIDE;
+  int RenderString(vtkTextProperty *property,
                            const vtkStdString& string, int dpi,
                            vtkImageData *data,
-                           int textDims[2] = NULL);
+                           int textDims[2] = NULL) VTK_OVERRIDE;
   //@}
 
   /**
@@ -81,7 +81,7 @@ public:
 
 protected:
   vtkQtStringToImage();
-  ~vtkQtStringToImage();
+  ~vtkQtStringToImage() VTK_OVERRIDE;
 
   class Internals;
   Internals* Implementation;
diff --git a/Rendering/Qt/vtkQtTreeRingLabelMapper.h b/Rendering/Qt/vtkQtTreeRingLabelMapper.h
index d083db75bd..9a52a83d04 100644
--- a/Rendering/Qt/vtkQtTreeRingLabelMapper.h
+++ b/Rendering/Qt/vtkQtTreeRingLabelMapper.h
@@ -66,14 +66,14 @@ class VTKRENDERINGQT_EXPORT vtkQtTreeRingLabelMapper : public vtkLabeledDataMapp
 public:
   static vtkQtTreeRingLabelMapper *New();
   vtkTypeMacro(vtkQtTreeRingLabelMapper,vtkLabeledDataMapper);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Draw the text to the screen at each input point.
    */
-  virtual void RenderOpaqueGeometry(vtkViewport* viewport, vtkActor2D* actor);
-  virtual void RenderOverlay(vtkViewport *viewport, vtkActor2D *actor);
+  void RenderOpaqueGeometry(vtkViewport* viewport, vtkActor2D* actor) VTK_OVERRIDE;
+  void RenderOverlay(vtkViewport *viewport, vtkActor2D *actor) VTK_OVERRIDE;
   //@}
 
   /**
@@ -92,11 +92,12 @@ public:
    * (set with a second integer parameter) are not currently supported,
    * but are provided to avoid compiler warnings.
    */
-  virtual void SetLabelTextProperty(vtkTextProperty *p);
-  vtkGetObjectMacro(LabelTextProperty,vtkTextProperty);
-  virtual void SetLabelTextProperty(vtkTextProperty *p, int type)
+  void SetLabelTextProperty(vtkTextProperty *p) VTK_OVERRIDE;
+  vtkTextProperty* GetLabelTextProperty() VTK_OVERRIDE
+    { return this->LabelTextProperty; }
+  void SetLabelTextProperty(vtkTextProperty *p, int type) VTK_OVERRIDE
     { this->Superclass::SetLabelTextProperty(p, type); }
-  virtual vtkTextProperty* GetLabelTextProperty(int type)
+  vtkTextProperty* GetLabelTextProperty(int type) VTK_OVERRIDE
     { return this->Superclass::GetLabelTextProperty(type); }
   //@}
 
@@ -112,7 +113,7 @@ public:
    * Return the object's MTime. This is overridden to include
    * the timestamp of its internal class.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   void SetRenderer(vtkRenderer* ren)
   {
@@ -126,7 +127,7 @@ public:
 
 protected:
   vtkQtTreeRingLabelMapper();
-  ~vtkQtTreeRingLabelMapper();
+  ~vtkQtTreeRingLabelMapper() VTK_OVERRIDE;
   void LabelTree(vtkTree *tree, vtkDataArray *sectorInfo,
                  vtkDataArray *numericData, vtkStringArray *stringData, vtkUnicodeStringArray *uStringData,
                  int activeComp, int numComps, vtkViewport* viewport);
diff --git a/Rendering/Volume/vtkDirectionEncoder.h b/Rendering/Volume/vtkDirectionEncoder.h
index 4ac91e03d6..841b224277 100644
--- a/Rendering/Volume/vtkDirectionEncoder.h
+++ b/Rendering/Volume/vtkDirectionEncoder.h
@@ -72,7 +72,7 @@ public:
 
 protected:
   vtkDirectionEncoder() {}
-  ~vtkDirectionEncoder() {}
+  ~vtkDirectionEncoder()VTK_OVERRIDE {}
 private:
   vtkDirectionEncoder(const vtkDirectionEncoder&) VTK_DELETE_FUNCTION;
   void operator=(const vtkDirectionEncoder&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Volume/vtkEncodedGradientEstimator.h b/Rendering/Volume/vtkEncodedGradientEstimator.h
index 2d93802289..f92b44102c 100644
--- a/Rendering/Volume/vtkEncodedGradientEstimator.h
+++ b/Rendering/Volume/vtkEncodedGradientEstimator.h
@@ -45,7 +45,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkEncodedGradientEstimator : public vtkObject
 {
 public:
   vtkTypeMacro(vtkEncodedGradientEstimator,vtkObject);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -212,7 +212,7 @@ public:
 
 protected:
   vtkEncodedGradientEstimator();
-  ~vtkEncodedGradientEstimator();
+  ~vtkEncodedGradientEstimator() VTK_OVERRIDE;
 
   void ReportReferences(vtkGarbageCollector*) VTK_OVERRIDE;
 
diff --git a/Rendering/Volume/vtkEncodedGradientShader.h b/Rendering/Volume/vtkEncodedGradientShader.h
index d2f594a2f1..1faebd5172 100644
--- a/Rendering/Volume/vtkEncodedGradientShader.h
+++ b/Rendering/Volume/vtkEncodedGradientShader.h
@@ -51,7 +51,7 @@ public:
   /**
    * Print the vtkEncodedGradientShader
    */
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -94,7 +94,7 @@ public:
 
 protected:
   vtkEncodedGradientShader();
-  ~vtkEncodedGradientShader();
+  ~vtkEncodedGradientShader() VTK_OVERRIDE;
 
   /**
    * Build a shading table for a light with the specified direction,
diff --git a/Rendering/Volume/vtkFiniteDifferenceGradientEstimator.h b/Rendering/Volume/vtkFiniteDifferenceGradientEstimator.h
index 52da322d1c..faeb5966ca 100644
--- a/Rendering/Volume/vtkFiniteDifferenceGradientEstimator.h
+++ b/Rendering/Volume/vtkFiniteDifferenceGradientEstimator.h
@@ -46,7 +46,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkFiniteDifferenceGradientEstimator : public vt
 {
 public:
   vtkTypeMacro(vtkFiniteDifferenceGradientEstimator,vtkEncodedGradientEstimator);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   /**
    * Construct a vtkFiniteDifferenceGradientEstimator with
@@ -68,12 +68,12 @@ public:
 
 protected:
   vtkFiniteDifferenceGradientEstimator();
-  ~vtkFiniteDifferenceGradientEstimator();
+  ~vtkFiniteDifferenceGradientEstimator() VTK_OVERRIDE;
 
   /**
    * Recompute the encoded normals and gradient magnitudes.
    */
-  void UpdateNormals( void );
+  void UpdateNormals( void ) VTK_OVERRIDE;
 
 private:
   vtkFiniteDifferenceGradientEstimator(const vtkFiniteDifferenceGradientEstimator&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Volume/vtkFixedPointRayCastImage.h b/Rendering/Volume/vtkFixedPointRayCastImage.h
index 7908132335..f8c62089c5 100644
--- a/Rendering/Volume/vtkFixedPointRayCastImage.h
+++ b/Rendering/Volume/vtkFixedPointRayCastImage.h
@@ -177,7 +177,7 @@ public:
 
 protected:
   vtkFixedPointRayCastImage();
-  ~vtkFixedPointRayCastImage();
+  ~vtkFixedPointRayCastImage() VTK_OVERRIDE;
 
   // This is how big the image would be if it covered the entire viewport
   int             ImageViewportSize[2];
diff --git a/Rendering/Volume/vtkFixedPointVolumeRayCastCompositeGOHelper.h b/Rendering/Volume/vtkFixedPointVolumeRayCastCompositeGOHelper.h
index 0707b40f92..c47f5cdd36 100644
--- a/Rendering/Volume/vtkFixedPointVolumeRayCastCompositeGOHelper.h
+++ b/Rendering/Volume/vtkFixedPointVolumeRayCastCompositeGOHelper.h
@@ -41,16 +41,16 @@ class VTKRENDERINGVOLUME_EXPORT vtkFixedPointVolumeRayCastCompositeGOHelper : pu
 public:
   static vtkFixedPointVolumeRayCastCompositeGOHelper *New();
   vtkTypeMacro(vtkFixedPointVolumeRayCastCompositeGOHelper,vtkFixedPointVolumeRayCastHelper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
-  virtual void  GenerateImage( int threadID,
+  void  GenerateImage( int threadID,
                                int threadCount,
                                vtkVolume *vol,
-                               vtkFixedPointVolumeRayCastMapper *mapper);
+                               vtkFixedPointVolumeRayCastMapper *mapper) VTK_OVERRIDE;
 
 protected:
   vtkFixedPointVolumeRayCastCompositeGOHelper();
-  ~vtkFixedPointVolumeRayCastCompositeGOHelper();
+  ~vtkFixedPointVolumeRayCastCompositeGOHelper() VTK_OVERRIDE;
 
 private:
   vtkFixedPointVolumeRayCastCompositeGOHelper(const vtkFixedPointVolumeRayCastCompositeGOHelper&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Volume/vtkFixedPointVolumeRayCastCompositeGOShadeHelper.h b/Rendering/Volume/vtkFixedPointVolumeRayCastCompositeGOShadeHelper.h
index 8f08dfac6b..7fbcf5381f 100644
--- a/Rendering/Volume/vtkFixedPointVolumeRayCastCompositeGOShadeHelper.h
+++ b/Rendering/Volume/vtkFixedPointVolumeRayCastCompositeGOShadeHelper.h
@@ -41,16 +41,16 @@ class VTKRENDERINGVOLUME_EXPORT vtkFixedPointVolumeRayCastCompositeGOShadeHelper
 public:
   static vtkFixedPointVolumeRayCastCompositeGOShadeHelper *New();
   vtkTypeMacro(vtkFixedPointVolumeRayCastCompositeGOShadeHelper,vtkFixedPointVolumeRayCastHelper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
-  virtual void  GenerateImage( int threadID,
+  void  GenerateImage( int threadID,
                                int threadCount,
                                vtkVolume *vol,
-                               vtkFixedPointVolumeRayCastMapper *mapper);
+                               vtkFixedPointVolumeRayCastMapper *mapper) VTK_OVERRIDE;
 
 protected:
   vtkFixedPointVolumeRayCastCompositeGOShadeHelper();
-  ~vtkFixedPointVolumeRayCastCompositeGOShadeHelper();
+  ~vtkFixedPointVolumeRayCastCompositeGOShadeHelper() VTK_OVERRIDE;
 
 private:
   vtkFixedPointVolumeRayCastCompositeGOShadeHelper(const vtkFixedPointVolumeRayCastCompositeGOShadeHelper&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Volume/vtkFixedPointVolumeRayCastCompositeHelper.h b/Rendering/Volume/vtkFixedPointVolumeRayCastCompositeHelper.h
index d38fb18b14..2d67815f33 100644
--- a/Rendering/Volume/vtkFixedPointVolumeRayCastCompositeHelper.h
+++ b/Rendering/Volume/vtkFixedPointVolumeRayCastCompositeHelper.h
@@ -41,16 +41,16 @@ class VTKRENDERINGVOLUME_EXPORT vtkFixedPointVolumeRayCastCompositeHelper : publ
 public:
   static vtkFixedPointVolumeRayCastCompositeHelper *New();
   vtkTypeMacro(vtkFixedPointVolumeRayCastCompositeHelper,vtkFixedPointVolumeRayCastHelper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
-  virtual void  GenerateImage( int threadID,
+  void  GenerateImage( int threadID,
                                int threadCount,
                                vtkVolume *vol,
-                               vtkFixedPointVolumeRayCastMapper *mapper);
+                               vtkFixedPointVolumeRayCastMapper *mapper) VTK_OVERRIDE;
 
 protected:
   vtkFixedPointVolumeRayCastCompositeHelper();
-  ~vtkFixedPointVolumeRayCastCompositeHelper();
+  ~vtkFixedPointVolumeRayCastCompositeHelper() VTK_OVERRIDE;
 
 private:
   vtkFixedPointVolumeRayCastCompositeHelper(const vtkFixedPointVolumeRayCastCompositeHelper&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Volume/vtkFixedPointVolumeRayCastCompositeShadeHelper.h b/Rendering/Volume/vtkFixedPointVolumeRayCastCompositeShadeHelper.h
index 9df77f8813..20518facba 100644
--- a/Rendering/Volume/vtkFixedPointVolumeRayCastCompositeShadeHelper.h
+++ b/Rendering/Volume/vtkFixedPointVolumeRayCastCompositeShadeHelper.h
@@ -41,16 +41,16 @@ class VTKRENDERINGVOLUME_EXPORT vtkFixedPointVolumeRayCastCompositeShadeHelper :
 public:
   static vtkFixedPointVolumeRayCastCompositeShadeHelper *New();
   vtkTypeMacro(vtkFixedPointVolumeRayCastCompositeShadeHelper,vtkFixedPointVolumeRayCastHelper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
-  virtual void  GenerateImage( int threadID,
+  void  GenerateImage( int threadID,
                                int threadCount,
                                vtkVolume *vol,
-                               vtkFixedPointVolumeRayCastMapper *mapper);
+                               vtkFixedPointVolumeRayCastMapper *mapper) VTK_OVERRIDE;
 
 protected:
   vtkFixedPointVolumeRayCastCompositeShadeHelper();
-  ~vtkFixedPointVolumeRayCastCompositeShadeHelper();
+  ~vtkFixedPointVolumeRayCastCompositeShadeHelper() VTK_OVERRIDE;
 
 private:
   vtkFixedPointVolumeRayCastCompositeShadeHelper(const vtkFixedPointVolumeRayCastCompositeShadeHelper&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Volume/vtkFixedPointVolumeRayCastHelper.h b/Rendering/Volume/vtkFixedPointVolumeRayCastHelper.h
index c872a26833..d236fdf6e2 100644
--- a/Rendering/Volume/vtkFixedPointVolumeRayCastHelper.h
+++ b/Rendering/Volume/vtkFixedPointVolumeRayCastHelper.h
@@ -1174,7 +1174,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkFixedPointVolumeRayCastHelper : public vtkObj
 public:
   static vtkFixedPointVolumeRayCastHelper *New();
   vtkTypeMacro(vtkFixedPointVolumeRayCastHelper,vtkObject);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   virtual void   GenerateImage( int,
                                 int,
@@ -1183,7 +1183,7 @@ public:
 
 protected:
   vtkFixedPointVolumeRayCastHelper();
-  ~vtkFixedPointVolumeRayCastHelper();
+  ~vtkFixedPointVolumeRayCastHelper() VTK_OVERRIDE;
 
 
 private:
diff --git a/Rendering/Volume/vtkFixedPointVolumeRayCastMIPHelper.h b/Rendering/Volume/vtkFixedPointVolumeRayCastMIPHelper.h
index 6a8458dd55..42a71f2d98 100644
--- a/Rendering/Volume/vtkFixedPointVolumeRayCastMIPHelper.h
+++ b/Rendering/Volume/vtkFixedPointVolumeRayCastMIPHelper.h
@@ -39,16 +39,16 @@ class VTKRENDERINGVOLUME_EXPORT vtkFixedPointVolumeRayCastMIPHelper : public vtk
 public:
   static vtkFixedPointVolumeRayCastMIPHelper *New();
   vtkTypeMacro(vtkFixedPointVolumeRayCastMIPHelper,vtkFixedPointVolumeRayCastHelper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
-  virtual void  GenerateImage( int threadID,
+  void  GenerateImage( int threadID,
                                int threadCount,
                                vtkVolume *vol,
-                               vtkFixedPointVolumeRayCastMapper *mapper);
+                               vtkFixedPointVolumeRayCastMapper *mapper) VTK_OVERRIDE;
 
 protected:
   vtkFixedPointVolumeRayCastMIPHelper();
-  ~vtkFixedPointVolumeRayCastMIPHelper();
+  ~vtkFixedPointVolumeRayCastMIPHelper() VTK_OVERRIDE;
 
 private:
   vtkFixedPointVolumeRayCastMIPHelper(const vtkFixedPointVolumeRayCastMIPHelper&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Volume/vtkFixedPointVolumeRayCastMapper.h b/Rendering/Volume/vtkFixedPointVolumeRayCastMapper.h
index 59a290cba9..196e955e32 100644
--- a/Rendering/Volume/vtkFixedPointVolumeRayCastMapper.h
+++ b/Rendering/Volume/vtkFixedPointVolumeRayCastMapper.h
@@ -101,7 +101,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkFixedPointVolumeRayCastMapper : public vtkVol
 public:
   static vtkFixedPointVolumeRayCastMapper *New();
   vtkTypeMacro(vtkFixedPointVolumeRayCastMapper,vtkVolumeMapper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -223,7 +223,7 @@ public:
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
    * Initialize rendering for this volume.
    */
-  void Render( vtkRenderer *, vtkVolume * );
+  void Render( vtkRenderer *, vtkVolume * ) VTK_OVERRIDE;
 
   unsigned int ToFixedPointPosition( float val );
   void ToFixedPointPosition( float in[3], unsigned int out[3] );
@@ -357,11 +357,11 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
 protected:
   vtkFixedPointVolumeRayCastMapper();
-  ~vtkFixedPointVolumeRayCastMapper();
+  ~vtkFixedPointVolumeRayCastMapper() VTK_OVERRIDE;
 
   // The helper class that displays the image
   vtkRayCastImageDisplayHelper *ImageDisplayHelper;
diff --git a/Rendering/Volume/vtkGPUVolumeRayCastMapper.h b/Rendering/Volume/vtkGPUVolumeRayCastMapper.h
index 7c5db8c7c9..e75a7c03de 100644
--- a/Rendering/Volume/vtkGPUVolumeRayCastMapper.h
+++ b/Rendering/Volume/vtkGPUVolumeRayCastMapper.h
@@ -39,7 +39,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkGPUVolumeRayCastMapper : public vtkVolumeMapp
 public:
   static vtkGPUVolumeRayCastMapper *New();
   vtkTypeMacro(vtkGPUVolumeRayCastMapper,vtkVolumeMapper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -332,7 +332,7 @@ public:
    * Initialize rendering for this volume.
    * \warning INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
    */
-  void Render( vtkRenderer *, vtkVolume * );
+  void Render( vtkRenderer *, vtkVolume * ) VTK_OVERRIDE;
 
   /**
    * Handled in the subclass - the actual render method
@@ -346,7 +346,7 @@ public:
    * resources to release.
    * \warning INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
    */
-  void ReleaseGraphicsResources(vtkWindow *) {}
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE {}
 
   /**
    * Return how much the dataset has to be reduced in each dimension to
@@ -364,7 +364,7 @@ public:
 
 protected:
   vtkGPUVolumeRayCastMapper();
-  ~vtkGPUVolumeRayCastMapper();
+  ~vtkGPUVolumeRayCastMapper() VTK_OVERRIDE;
 
   // Check to see that the render will be OK
   int ValidateRender( vtkRenderer *, vtkVolume * );
diff --git a/Rendering/Volume/vtkHAVSVolumeMapper.h b/Rendering/Volume/vtkHAVSVolumeMapper.h
index 760454c648..4a3d557fe4 100644
--- a/Rendering/Volume/vtkHAVSVolumeMapper.h
+++ b/Rendering/Volume/vtkHAVSVolumeMapper.h
@@ -206,7 +206,7 @@ public:
 
 protected:
   vtkHAVSVolumeMapper();
-  ~vtkHAVSVolumeMapper();
+  ~vtkHAVSVolumeMapper() VTK_OVERRIDE;
 
   virtual void Initialize(vtkRenderer *ren, vtkVolume *vol) = 0;
   void InitializePrimitives(vtkVolume *vol);
diff --git a/Rendering/Volume/vtkOSPRayVolumeInterface.h b/Rendering/Volume/vtkOSPRayVolumeInterface.h
index 7f72cd3784..ca1e2ab4d7 100644
--- a/Rendering/Volume/vtkOSPRayVolumeInterface.h
+++ b/Rendering/Volume/vtkOSPRayVolumeInterface.h
@@ -36,16 +36,16 @@ class VTKRENDERINGVOLUME_EXPORT vtkOSPRayVolumeInterface
 public:
   static vtkOSPRayVolumeInterface *New();
   vtkTypeMacro(vtkOSPRayVolumeInterface,vtkVolumeMapper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   /**
    * Overridden to warn about lack of OSPRay if not overridden.
    */
-  virtual void Render(vtkRenderer *, vtkVolume *);
+  void Render(vtkRenderer *, vtkVolume *) VTK_OVERRIDE;
 
 protected:
   vtkOSPRayVolumeInterface();
-  ~vtkOSPRayVolumeInterface();
+  ~vtkOSPRayVolumeInterface() VTK_OVERRIDE;
 
 private:
   vtkOSPRayVolumeInterface
diff --git a/Rendering/Volume/vtkProjectedAAHexahedraMapper.h b/Rendering/Volume/vtkProjectedAAHexahedraMapper.h
index b8b4c918f6..df62cc4b23 100644
--- a/Rendering/Volume/vtkProjectedAAHexahedraMapper.h
+++ b/Rendering/Volume/vtkProjectedAAHexahedraMapper.h
@@ -48,7 +48,7 @@ public:
   vtkTypeMacro(vtkProjectedAAHexahedraMapper,
                vtkUnstructuredGridVolumeMapper);
   static vtkProjectedAAHexahedraMapper *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -67,7 +67,7 @@ public:
 
 protected:
   vtkProjectedAAHexahedraMapper();
-  ~vtkProjectedAAHexahedraMapper();
+  ~vtkProjectedAAHexahedraMapper() VTK_OVERRIDE;
 
   /**
    * The visibility sort will probably make a reference loop by holding a
diff --git a/Rendering/Volume/vtkProjectedTetrahedraMapper.h b/Rendering/Volume/vtkProjectedTetrahedraMapper.h
index ac90732791..dc0b3bc030 100644
--- a/Rendering/Volume/vtkProjectedTetrahedraMapper.h
+++ b/Rendering/Volume/vtkProjectedTetrahedraMapper.h
@@ -58,7 +58,7 @@ public:
   vtkTypeMacro(vtkProjectedTetrahedraMapper,
                        vtkUnstructuredGridVolumeMapper);
   static vtkProjectedTetrahedraMapper *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   virtual void SetVisibilitySort(vtkVisibilitySort *sort);
   vtkGetObjectMacro(VisibilitySort, vtkVisibilitySort);
@@ -80,7 +80,7 @@ public:
 
 protected:
   vtkProjectedTetrahedraMapper();
-  ~vtkProjectedTetrahedraMapper();
+  ~vtkProjectedTetrahedraMapper() VTK_OVERRIDE;
 
   vtkVisibilitySort *VisibilitySort;
 
diff --git a/Rendering/Volume/vtkRayCastImageDisplayHelper.h b/Rendering/Volume/vtkRayCastImageDisplayHelper.h
index e790e3abe4..bf923b2dc4 100644
--- a/Rendering/Volume/vtkRayCastImageDisplayHelper.h
+++ b/Rendering/Volume/vtkRayCastImageDisplayHelper.h
@@ -86,7 +86,7 @@ public:
 
 protected:
   vtkRayCastImageDisplayHelper();
-  ~vtkRayCastImageDisplayHelper();
+  ~vtkRayCastImageDisplayHelper() VTK_OVERRIDE;
 
   /**
    * Have the colors already been multiplied by alpha?
diff --git a/Rendering/Volume/vtkRecursiveSphereDirectionEncoder.h b/Rendering/Volume/vtkRecursiveSphereDirectionEncoder.h
index 702455db34..bc40d2d050 100644
--- a/Rendering/Volume/vtkRecursiveSphereDirectionEncoder.h
+++ b/Rendering/Volume/vtkRecursiveSphereDirectionEncoder.h
@@ -36,7 +36,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkRecursiveSphereDirectionEncoder : public vtkD
 {
 public:
   vtkTypeMacro(vtkRecursiveSphereDirectionEncoder,vtkDirectionEncoder);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
 /**
  * Construct the object. Initialize the index table which will be
@@ -49,17 +49,17 @@ public:
   /**
    * Given a normal vector n, return the encoded direction
    */
-  int GetEncodedDirection( float n[3] );
+  int GetEncodedDirection( float n[3] ) VTK_OVERRIDE;
 
   /**
    * / Given an encoded value, return a pointer to the normal vector
    */
-  float *GetDecodedGradient( int value );
+  float *GetDecodedGradient( int value ) VTK_OVERRIDE;
 
   /**
    * Return the number of encoded directions
    */
-  int GetNumberOfEncodedDirections( void );
+  int GetNumberOfEncodedDirections( void ) VTK_OVERRIDE;
 
   /**
    * Get the decoded gradient table. There are
@@ -67,7 +67,7 @@ public:
    * containing a normal (direction) vector. This is a flat structure -
    * 3 times the number of directions floats in an array.
    */
-  float *GetDecodedGradientTable( void );
+  float *GetDecodedGradientTable( void ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -91,7 +91,7 @@ public:
 
 protected:
   vtkRecursiveSphereDirectionEncoder();
-  ~vtkRecursiveSphereDirectionEncoder();
+  ~vtkRecursiveSphereDirectionEncoder() VTK_OVERRIDE;
 
   // How far to recursively divide the sphere
   int                     RecursionDepth;
diff --git a/Rendering/Volume/vtkSphericalDirectionEncoder.h b/Rendering/Volume/vtkSphericalDirectionEncoder.h
index 6a9d0fda5e..8dd92be8c6 100644
--- a/Rendering/Volume/vtkSphericalDirectionEncoder.h
+++ b/Rendering/Volume/vtkSphericalDirectionEncoder.h
@@ -33,7 +33,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkSphericalDirectionEncoder : public vtkDirecti
 {
 public:
   vtkTypeMacro(vtkSphericalDirectionEncoder,vtkDirectionEncoder);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   /**
    * Construct the object. Initialize the index table which will be
@@ -46,17 +46,17 @@ public:
   /**
    * Given a normal vector n, return the encoded direction
    */
-  int GetEncodedDirection( float n[3] );
+  int GetEncodedDirection( float n[3] ) VTK_OVERRIDE;
 
   /**
    * / Given an encoded value, return a pointer to the normal vector
    */
-  float *GetDecodedGradient( int value );
+  float *GetDecodedGradient( int value ) VTK_OVERRIDE;
 
   /**
    * Return the number of encoded directions
    */
-  int GetNumberOfEncodedDirections( void ) { return 65536; }
+  int GetNumberOfEncodedDirections( void )VTK_OVERRIDE { return 65536; }
 
   /**
    * Get the decoded gradient table. There are
@@ -64,7 +64,7 @@ public:
    * containing a normal (direction) vector. This is a flat structure -
    * 3 times the number of directions floats in an array.
    */
-  float *GetDecodedGradientTable( void )
+  float *GetDecodedGradientTable( void ) VTK_OVERRIDE
   {
       return &(this->DecodedGradientTable[0]);
   }
@@ -72,7 +72,7 @@ public:
 
 protected:
   vtkSphericalDirectionEncoder();
-  ~vtkSphericalDirectionEncoder();
+  ~vtkSphericalDirectionEncoder() VTK_OVERRIDE;
 
   static float DecodedGradientTable[65536*3];
 
diff --git a/Rendering/Volume/vtkUnstructuredGridBunykRayCastFunction.h b/Rendering/Volume/vtkUnstructuredGridBunykRayCastFunction.h
index 13867d4ab0..91b6ce512d 100644
--- a/Rendering/Volume/vtkUnstructuredGridBunykRayCastFunction.h
+++ b/Rendering/Volume/vtkUnstructuredGridBunykRayCastFunction.h
@@ -90,15 +90,15 @@ public:
   /**
    * Called by the ray cast mapper at the start of rendering
    */
-  virtual void Initialize( vtkRenderer *ren, vtkVolume   *vol );
+  void Initialize( vtkRenderer *ren, vtkVolume   *vol ) VTK_OVERRIDE;
 
   /**
    * Called by the ray cast mapper at the end of rendering
    */
-  virtual void Finalize();
+  void Finalize() VTK_OVERRIDE;
 
   VTK_NEWINSTANCE
-  virtual vtkUnstructuredGridVolumeRayCastIterator *NewIterator();
+  vtkUnstructuredGridVolumeRayCastIterator *NewIterator() VTK_OVERRIDE;
 
   // Used to store each triangle - made public because of the
   // templated function
@@ -168,7 +168,7 @@ public:
 
 protected:
   vtkUnstructuredGridBunykRayCastFunction();
-  ~vtkUnstructuredGridBunykRayCastFunction();
+  ~vtkUnstructuredGridBunykRayCastFunction() VTK_OVERRIDE;
 
   // These are cached during the initialize method so that they do not
   // need to be passed into subsequent CastRay calls.
diff --git a/Rendering/Volume/vtkUnstructuredGridHomogeneousRayIntegrator.h b/Rendering/Volume/vtkUnstructuredGridHomogeneousRayIntegrator.h
index 8407355825..1eaff45385 100644
--- a/Rendering/Volume/vtkUnstructuredGridHomogeneousRayIntegrator.h
+++ b/Rendering/Volume/vtkUnstructuredGridHomogeneousRayIntegrator.h
@@ -48,14 +48,14 @@ public:
   vtkTypeMacro(vtkUnstructuredGridHomogeneousRayIntegrator,
                        vtkUnstructuredGridVolumeRayIntegrator);
   static vtkUnstructuredGridHomogeneousRayIntegrator *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual void Initialize(vtkVolume *volume, vtkDataArray *scalars);
+  void Initialize(vtkVolume *volume, vtkDataArray *scalars) VTK_OVERRIDE;
 
-  virtual void Integrate(vtkDoubleArray *intersectionLengths,
+  void Integrate(vtkDoubleArray *intersectionLengths,
                          vtkDataArray *nearIntersections,
                          vtkDataArray *farIntersections,
-                         float color[4]);
+                         float color[4]) VTK_OVERRIDE;
 
   //@{
   /**
@@ -69,7 +69,7 @@ public:
 
 protected:
   vtkUnstructuredGridHomogeneousRayIntegrator();
-  ~vtkUnstructuredGridHomogeneousRayIntegrator();
+  ~vtkUnstructuredGridHomogeneousRayIntegrator() VTK_OVERRIDE;
 
   vtkVolume *Volume;
   vtkVolumeProperty *Property;
diff --git a/Rendering/Volume/vtkUnstructuredGridLinearRayIntegrator.h b/Rendering/Volume/vtkUnstructuredGridLinearRayIntegrator.h
index 86f3429651..0bfa57a6bf 100644
--- a/Rendering/Volume/vtkUnstructuredGridLinearRayIntegrator.h
+++ b/Rendering/Volume/vtkUnstructuredGridLinearRayIntegrator.h
@@ -55,14 +55,14 @@ public:
   vtkTypeMacro(vtkUnstructuredGridLinearRayIntegrator,
                        vtkUnstructuredGridVolumeRayIntegrator);
   static vtkUnstructuredGridLinearRayIntegrator *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual void Initialize(vtkVolume *volume, vtkDataArray *scalars);
+  void Initialize(vtkVolume *volume, vtkDataArray *scalars) VTK_OVERRIDE;
 
-  virtual void Integrate(vtkDoubleArray *intersectionLengths,
+  void Integrate(vtkDoubleArray *intersectionLengths,
                          vtkDataArray *nearIntersections,
                          vtkDataArray *farIntersections,
-                         float color[4]);
+                         float color[4]) VTK_OVERRIDE;
 
   //@{
   /**
@@ -90,7 +90,7 @@ public:
 
 protected:
   vtkUnstructuredGridLinearRayIntegrator();
-  ~vtkUnstructuredGridLinearRayIntegrator();
+  ~vtkUnstructuredGridLinearRayIntegrator() VTK_OVERRIDE;
 
   vtkVolumeProperty *Property;
 
diff --git a/Rendering/Volume/vtkUnstructuredGridPartialPreIntegration.h b/Rendering/Volume/vtkUnstructuredGridPartialPreIntegration.h
index 5f443eca58..7dddc7dfad 100644
--- a/Rendering/Volume/vtkUnstructuredGridPartialPreIntegration.h
+++ b/Rendering/Volume/vtkUnstructuredGridPartialPreIntegration.h
@@ -55,14 +55,14 @@ public:
   vtkTypeMacro(vtkUnstructuredGridPartialPreIntegration,
                        vtkUnstructuredGridVolumeRayIntegrator);
   static vtkUnstructuredGridPartialPreIntegration *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual void Initialize(vtkVolume *volume, vtkDataArray *scalars);
+  void Initialize(vtkVolume *volume, vtkDataArray *scalars) VTK_OVERRIDE;
 
-  virtual void Integrate(vtkDoubleArray *intersectionLengths,
+  void Integrate(vtkDoubleArray *intersectionLengths,
                          vtkDataArray *nearIntersections,
                          vtkDataArray *farIntersections,
-                         float color[4]);
+                         float color[4]) VTK_OVERRIDE;
 
   //@{
   /**
@@ -95,7 +95,7 @@ public:
 
 protected:
   vtkUnstructuredGridPartialPreIntegration();
-  ~vtkUnstructuredGridPartialPreIntegration();
+  ~vtkUnstructuredGridPartialPreIntegration() VTK_OVERRIDE;
 
   vtkVolumeProperty *Property;
 
diff --git a/Rendering/Volume/vtkUnstructuredGridPreIntegration.h b/Rendering/Volume/vtkUnstructuredGridPreIntegration.h
index e9427dac3f..35bdc1627b 100644
--- a/Rendering/Volume/vtkUnstructuredGridPreIntegration.h
+++ b/Rendering/Volume/vtkUnstructuredGridPreIntegration.h
@@ -55,14 +55,14 @@ public:
   vtkTypeMacro(vtkUnstructuredGridPreIntegration,
                        vtkUnstructuredGridVolumeRayIntegrator);
   static vtkUnstructuredGridPreIntegration *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual void Initialize(vtkVolume *volume, vtkDataArray *scalars);
+  void Initialize(vtkVolume *volume, vtkDataArray *scalars) VTK_OVERRIDE;
 
-  virtual void Integrate(vtkDoubleArray *intersectionLengths,
+  void Integrate(vtkDoubleArray *intersectionLengths,
                          vtkDataArray *nearIntersections,
                          vtkDataArray *farIntersections,
-                         float color[4]);
+                         float color[4]) VTK_OVERRIDE;
 
   //@{
   /**
@@ -134,7 +134,7 @@ public:
 
 protected:
   vtkUnstructuredGridPreIntegration();
-  ~vtkUnstructuredGridPreIntegration();
+  ~vtkUnstructuredGridPreIntegration() VTK_OVERRIDE;
 
   vtkUnstructuredGridVolumeRayIntegrator *Integrator;
 
diff --git a/Rendering/Volume/vtkUnstructuredGridVolumeMapper.h b/Rendering/Volume/vtkUnstructuredGridVolumeMapper.h
index f1ca80a855..15d238b783 100644
--- a/Rendering/Volume/vtkUnstructuredGridVolumeMapper.h
+++ b/Rendering/Volume/vtkUnstructuredGridVolumeMapper.h
@@ -41,7 +41,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkUnstructuredGridVolumeMapper : public vtkAbst
 {
 public:
   vtkTypeMacro(vtkUnstructuredGridVolumeMapper,vtkAbstractVolumeMapper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -64,7 +64,7 @@ public:
    * DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS
    * Render the volume
    */
-  virtual void Render(vtkRenderer *ren, vtkVolume *vol)=0;
+  void Render(vtkRenderer *ren, vtkVolume *vol) VTK_OVERRIDE =0;
 
   /**
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
@@ -72,7 +72,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *) {}
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE {}
 
   enum
   {
@@ -82,11 +82,11 @@ public:
 
 protected:
   vtkUnstructuredGridVolumeMapper();
-  ~vtkUnstructuredGridVolumeMapper();
+  ~vtkUnstructuredGridVolumeMapper() VTK_OVERRIDE;
 
   int   BlendMode;
 
-  virtual int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
 private:
   vtkUnstructuredGridVolumeMapper(const vtkUnstructuredGridVolumeMapper&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Volume/vtkUnstructuredGridVolumeRayCastFunction.h b/Rendering/Volume/vtkUnstructuredGridVolumeRayCastFunction.h
index 247887092a..29e82ba79a 100644
--- a/Rendering/Volume/vtkUnstructuredGridVolumeRayCastFunction.h
+++ b/Rendering/Volume/vtkUnstructuredGridVolumeRayCastFunction.h
@@ -55,7 +55,7 @@ public:
 
 protected:
   vtkUnstructuredGridVolumeRayCastFunction() {}
-  ~vtkUnstructuredGridVolumeRayCastFunction() {}
+  ~vtkUnstructuredGridVolumeRayCastFunction()VTK_OVERRIDE {}
 
 private:
   vtkUnstructuredGridVolumeRayCastFunction(const vtkUnstructuredGridVolumeRayCastFunction&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Volume/vtkUnstructuredGridVolumeRayCastIterator.h b/Rendering/Volume/vtkUnstructuredGridVolumeRayCastIterator.h
index 38b7fccc11..a746eefaea 100644
--- a/Rendering/Volume/vtkUnstructuredGridVolumeRayCastIterator.h
+++ b/Rendering/Volume/vtkUnstructuredGridVolumeRayCastIterator.h
@@ -44,7 +44,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkUnstructuredGridVolumeRayCastIterator : publi
 {
 public:
   vtkTypeMacro(vtkUnstructuredGridVolumeRayCastIterator, vtkObject);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Initializes the iteration to the start of the ray at the given screen
@@ -86,7 +86,7 @@ public:
 
 protected:
   vtkUnstructuredGridVolumeRayCastIterator();
-  ~vtkUnstructuredGridVolumeRayCastIterator();
+  ~vtkUnstructuredGridVolumeRayCastIterator() VTK_OVERRIDE;
 
   double Bounds[2];
 
diff --git a/Rendering/Volume/vtkUnstructuredGridVolumeRayCastMapper.h b/Rendering/Volume/vtkUnstructuredGridVolumeRayCastMapper.h
index fe72317ebc..fdcdc48c53 100644
--- a/Rendering/Volume/vtkUnstructuredGridVolumeRayCastMapper.h
+++ b/Rendering/Volume/vtkUnstructuredGridVolumeRayCastMapper.h
@@ -45,7 +45,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkUnstructuredGridVolumeRayCastMapper : public
 public:
   static vtkUnstructuredGridVolumeRayCastMapper *New();
   vtkTypeMacro(vtkUnstructuredGridVolumeRayCastMapper,vtkUnstructuredGridVolumeMapper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -127,7 +127,7 @@ public:
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
    * Initialize rendering for this volume.
    */
-  void Render( vtkRenderer *, vtkVolume * );
+  void Render( vtkRenderer *, vtkVolume * ) VTK_OVERRIDE;
 
   /**
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
@@ -135,7 +135,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   vtkGetVectorMacro( ImageInUseSize, int, 2 );
   vtkGetVectorMacro( ImageOrigin, int, 2 );
@@ -145,7 +145,7 @@ public:
 
 protected:
   vtkUnstructuredGridVolumeRayCastMapper();
-  ~vtkUnstructuredGridVolumeRayCastMapper();
+  ~vtkUnstructuredGridVolumeRayCastMapper() VTK_OVERRIDE;
 
   float                        ImageSampleDistance;
   float                        MinimumImageSampleDistance;
diff --git a/Rendering/Volume/vtkUnstructuredGridVolumeRayIntegrator.h b/Rendering/Volume/vtkUnstructuredGridVolumeRayIntegrator.h
index 829e0f30ec..7b069eeac4 100644
--- a/Rendering/Volume/vtkUnstructuredGridVolumeRayIntegrator.h
+++ b/Rendering/Volume/vtkUnstructuredGridVolumeRayIntegrator.h
@@ -66,7 +66,7 @@ public:
 
 protected:
   vtkUnstructuredGridVolumeRayIntegrator();
-  ~vtkUnstructuredGridVolumeRayIntegrator();
+  ~vtkUnstructuredGridVolumeRayIntegrator() VTK_OVERRIDE;
 
 private:
   vtkUnstructuredGridVolumeRayIntegrator(const vtkUnstructuredGridVolumeRayIntegrator&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Volume/vtkUnstructuredGridVolumeZSweepMapper.h b/Rendering/Volume/vtkUnstructuredGridVolumeZSweepMapper.h
index ef88fb3e65..0ed9c5f0ed 100644
--- a/Rendering/Volume/vtkUnstructuredGridVolumeZSweepMapper.h
+++ b/Rendering/Volume/vtkUnstructuredGridVolumeZSweepMapper.h
@@ -70,7 +70,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkUnstructuredGridVolumeZSweepMapper : public v
 {
 public:
   vtkTypeMacro(vtkUnstructuredGridVolumeZSweepMapper,vtkUnstructuredGridVolumeMapper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   /**
    * Set MaxPixelListSize to 32.
@@ -157,7 +157,7 @@ public:
    * Render the volume
    */
   void Render(vtkRenderer *ren,
-              vtkVolume *vol);
+              vtkVolume *vol) VTK_OVERRIDE;
 
   vtkGetVectorMacro( ImageInUseSize, int, 2 );
   vtkGetVectorMacro( ImageOrigin, int, 2 );
@@ -165,7 +165,7 @@ public:
 
 protected:
   vtkUnstructuredGridVolumeZSweepMapper();
-  ~vtkUnstructuredGridVolumeZSweepMapper();
+  ~vtkUnstructuredGridVolumeZSweepMapper() VTK_OVERRIDE;
 
   /**
    * For each vertex, find the list of incident faces.
diff --git a/Rendering/Volume/vtkVolumeMapper.h b/Rendering/Volume/vtkVolumeMapper.h
index 3619308bb2..15d0e8ad2f 100644
--- a/Rendering/Volume/vtkVolumeMapper.h
+++ b/Rendering/Volume/vtkVolumeMapper.h
@@ -47,7 +47,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkVolumeMapper : public vtkAbstractVolumeMapper
 {
 public:
   vtkTypeMacro(vtkVolumeMapper,vtkAbstractVolumeMapper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -182,7 +182,7 @@ public:
    * DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS
    * Render the volume
    */
-  virtual void Render(vtkRenderer *ren, vtkVolume *vol)=0;
+  void Render(vtkRenderer *ren, vtkVolume *vol) VTK_OVERRIDE =0;
 
   /**
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
@@ -190,7 +190,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *) {}
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE {}
 
   /**
    * Blend modes.
@@ -236,7 +236,7 @@ public:
 
 protected:
   vtkVolumeMapper();
-  ~vtkVolumeMapper();
+  ~vtkVolumeMapper() VTK_OVERRIDE;
 
   /**
    * Compute a sample distance from the data spacing. When the number of
@@ -265,7 +265,7 @@ protected:
   void ConvertCroppingRegionPlanesToVoxels();
   //@}
 
-  virtual int FillInputPortInformation(int, vtkInformation*);
+  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
 
 private:
   vtkVolumeMapper(const vtkVolumeMapper&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Volume/vtkVolumeOutlineSource.h b/Rendering/Volume/vtkVolumeOutlineSource.h
index a408f049c4..5792e25ea7 100644
--- a/Rendering/Volume/vtkVolumeOutlineSource.h
+++ b/Rendering/Volume/vtkVolumeOutlineSource.h
@@ -40,7 +40,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkVolumeOutlineSource : public vtkPolyDataAlgor
 public:
   static vtkVolumeOutlineSource *New();
   vtkTypeMacro(vtkVolumeOutlineSource,vtkPolyDataAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -116,7 +116,7 @@ public:
 
 protected:
   vtkVolumeOutlineSource();
-  ~vtkVolumeOutlineSource();
+  ~vtkVolumeOutlineSource() VTK_OVERRIDE;
 
   vtkVolumeMapper *VolumeMapper;
   int GenerateScalars;
@@ -162,19 +162,19 @@ protected:
   static void CreateColorValues(unsigned char colors[2][3],
                                 double color1[3], double color2[3]);
 
-  virtual int ComputePipelineMTime(vtkInformation* request,
+  int ComputePipelineMTime(vtkInformation* request,
                                    vtkInformationVector** inputVector,
                                    vtkInformationVector* outputVector,
                                    int requestFromOutputPort,
-                                   vtkMTimeType* mtime);
+                                   vtkMTimeType* mtime) VTK_OVERRIDE;
 
-  virtual int RequestInformation(vtkInformation* request,
+  int RequestInformation(vtkInformation* request,
                                  vtkInformationVector** inputVector,
-                                 vtkInformationVector* outputVector);
+                                 vtkInformationVector* outputVector) VTK_OVERRIDE;
 
-  virtual int RequestData(vtkInformation* request,
+  int RequestData(vtkInformation* request,
                           vtkInformationVector** inputVector,
-                          vtkInformationVector* outputVector);
+                          vtkInformationVector* outputVector) VTK_OVERRIDE;
 
 private:
   vtkVolumeOutlineSource(const vtkVolumeOutlineSource&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Volume/vtkVolumePicker.h b/Rendering/Volume/vtkVolumePicker.h
index dba44a78bd..2ee9fb06dc 100644
--- a/Rendering/Volume/vtkVolumePicker.h
+++ b/Rendering/Volume/vtkVolumePicker.h
@@ -41,7 +41,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkVolumePicker : public vtkCellPicker
 public:
   static vtkVolumePicker *New();
   vtkTypeMacro(vtkVolumePicker, vtkCellPicker);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -69,15 +69,15 @@ public:
 
 protected:
   vtkVolumePicker();
-  ~vtkVolumePicker();
+  ~vtkVolumePicker() VTK_OVERRIDE;
 
-  virtual void ResetPickInfo();
+  void ResetPickInfo() VTK_OVERRIDE;
 
-  virtual double IntersectVolumeWithLine(const double p1[3],
+  double IntersectVolumeWithLine(const double p1[3],
                                          const double p2[3],
                                          double t1, double t2,
                                          vtkProp3D *prop,
-                                         vtkAbstractVolumeMapper *mapper);
+                                         vtkAbstractVolumeMapper *mapper) VTK_OVERRIDE;
 
   static int ClipLineWithCroppingRegion(const double bounds[6],
                                         const int extent[6], int flags,
diff --git a/Rendering/Volume/vtkVolumeRayCastCompositeFunction.h b/Rendering/Volume/vtkVolumeRayCastCompositeFunction.h
index 2bc64e064d..0237119030 100644
--- a/Rendering/Volume/vtkVolumeRayCastCompositeFunction.h
+++ b/Rendering/Volume/vtkVolumeRayCastCompositeFunction.h
@@ -42,7 +42,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkVolumeRayCastCompositeFunction : public vtkVo
 public:
   static vtkVolumeRayCastCompositeFunction *New();
   vtkTypeMacro(vtkVolumeRayCastCompositeFunction,vtkVolumeRayCastFunction);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -59,18 +59,18 @@ public:
   //@}
 
   void CastRay( vtkVolumeRayCastDynamicInfo *dynamicInfo,
-                vtkVolumeRayCastStaticInfo *staticInfo);
+                vtkVolumeRayCastStaticInfo *staticInfo) VTK_OVERRIDE;
 
-  float GetZeroOpacityThreshold( vtkVolume *vol );
+  float GetZeroOpacityThreshold( vtkVolume *vol ) VTK_OVERRIDE;
 
 protected:
   vtkVolumeRayCastCompositeFunction();
-  ~vtkVolumeRayCastCompositeFunction();
+  ~vtkVolumeRayCastCompositeFunction() VTK_OVERRIDE;
 
   void SpecificFunctionInitialize( vtkRenderer *ren,
                                    vtkVolume   *vol,
                                    vtkVolumeRayCastStaticInfo *staticInfo,
-                                   vtkVolumeRayCastMapper *mapper );
+                                   vtkVolumeRayCastMapper *mapper ) VTK_OVERRIDE;
 
   int           CompositeMethod;
 private:
diff --git a/Rendering/Volume/vtkVolumeRayCastFunction.h b/Rendering/Volume/vtkVolumeRayCastFunction.h
index 198673a75a..e63c6c95fe 100644
--- a/Rendering/Volume/vtkVolumeRayCastFunction.h
+++ b/Rendering/Volume/vtkVolumeRayCastFunction.h
@@ -164,7 +164,7 @@ protected:
   {
     VTK_LEGACY_BODY(vtkVolumeRayCastMapper::vtkVolumeRayCastMapper,"VTK 7.0");
   }
-  ~vtkVolumeRayCastFunction() {}
+  ~vtkVolumeRayCastFunction()VTK_OVERRIDE {}
 
   /**
    * This method gives the subclass a chance to do any special
diff --git a/Rendering/Volume/vtkVolumeRayCastIsosurfaceFunction.h b/Rendering/Volume/vtkVolumeRayCastIsosurfaceFunction.h
index b1e5707ccf..fb0e165c8d 100644
--- a/Rendering/Volume/vtkVolumeRayCastIsosurfaceFunction.h
+++ b/Rendering/Volume/vtkVolumeRayCastIsosurfaceFunction.h
@@ -42,7 +42,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkVolumeRayCastIsosurfaceFunction : public vtkV
 {
 public:
   vtkTypeMacro(vtkVolumeRayCastIsosurfaceFunction,vtkVolumeRayCastFunction);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   /**
    * Construct a new vtkVolumeRayCastIsosurfaceFunction
@@ -52,7 +52,7 @@ public:
   /**
    * Get the scalar value below which all scalar values have 0 opacity
    */
-  float GetZeroOpacityThreshold( vtkVolume *vol );
+  float GetZeroOpacityThreshold( vtkVolume *vol ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -74,16 +74,16 @@ public:
   float       Color[3];
 
   void CastRay( vtkVolumeRayCastDynamicInfo *dynamicInfo,
-                vtkVolumeRayCastStaticInfo *staticInfo);
+                vtkVolumeRayCastStaticInfo *staticInfo) VTK_OVERRIDE;
 
 protected:
   vtkVolumeRayCastIsosurfaceFunction();
-  ~vtkVolumeRayCastIsosurfaceFunction();
+  ~vtkVolumeRayCastIsosurfaceFunction() VTK_OVERRIDE;
 
   void SpecificFunctionInitialize( vtkRenderer *ren,
                                    vtkVolume   *vol,
                                    vtkVolumeRayCastStaticInfo *staticInfo,
-                                   vtkVolumeRayCastMapper *mapper );
+                                   vtkVolumeRayCastMapper *mapper ) VTK_OVERRIDE;
 
 private:
   vtkVolumeRayCastIsosurfaceFunction(const vtkVolumeRayCastIsosurfaceFunction&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Volume/vtkVolumeRayCastMIPFunction.h b/Rendering/Volume/vtkVolumeRayCastMIPFunction.h
index 6d7c2b18ec..36af61a80d 100644
--- a/Rendering/Volume/vtkVolumeRayCastMIPFunction.h
+++ b/Rendering/Volume/vtkVolumeRayCastMIPFunction.h
@@ -48,13 +48,13 @@ class VTKRENDERINGVOLUME_EXPORT vtkVolumeRayCastMIPFunction : public vtkVolumeRa
 public:
   static vtkVolumeRayCastMIPFunction *New();
   vtkTypeMacro(vtkVolumeRayCastMIPFunction,vtkVolumeRayCastFunction);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
 
   /**
    * Get the scalar value below which all scalar values have zero opacity.
    */
-  float GetZeroOpacityThreshold( vtkVolume *vol );
+  float GetZeroOpacityThreshold( vtkVolume *vol ) VTK_OVERRIDE;
 
 
   //@{
@@ -72,18 +72,18 @@ public:
   //@}
 
   void CastRay( vtkVolumeRayCastDynamicInfo *dynamicInfo,
-                vtkVolumeRayCastStaticInfo *staticInfo );
+                vtkVolumeRayCastStaticInfo *staticInfo ) VTK_OVERRIDE;
 
 protected:
   vtkVolumeRayCastMIPFunction();
-  ~vtkVolumeRayCastMIPFunction();
+  ~vtkVolumeRayCastMIPFunction() VTK_OVERRIDE;
 
   int MaximizeMethod;
 
   void SpecificFunctionInitialize( vtkRenderer *ren,
                                    vtkVolume   *vol,
                                    vtkVolumeRayCastStaticInfo *staticInfo,
-                                   vtkVolumeRayCastMapper *mapper );
+                                   vtkVolumeRayCastMapper *mapper ) VTK_OVERRIDE;
 
 private:
   vtkVolumeRayCastMIPFunction(const vtkVolumeRayCastMIPFunction&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/Volume/vtkVolumeRayCastMapper.h b/Rendering/Volume/vtkVolumeRayCastMapper.h
index 32066e2945..1bb7265a59 100644
--- a/Rendering/Volume/vtkVolumeRayCastMapper.h
+++ b/Rendering/Volume/vtkVolumeRayCastMapper.h
@@ -67,7 +67,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkVolumeRayCastMapper : public vtkVolumeMapper
 public:
   static vtkVolumeRayCastMapper *New();
   vtkTypeMacro(vtkVolumeRayCastMapper,vtkVolumeMapper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -167,7 +167,7 @@ public:
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
    * Initialize rendering for this volume.
    */
-  void Render( vtkRenderer *, vtkVolume * );
+  void Render( vtkRenderer *, vtkVolume * ) VTK_OVERRIDE;
 
   /**
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
@@ -175,7 +175,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
@@ -188,17 +188,17 @@ public:
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
    * Values needed by the volume
    */
-  virtual float GetGradientMagnitudeScale();
-  virtual float GetGradientMagnitudeBias();
-  virtual float GetGradientMagnitudeScale(int)
+  float GetGradientMagnitudeScale() VTK_OVERRIDE;
+  float GetGradientMagnitudeBias() VTK_OVERRIDE;
+  float GetGradientMagnitudeScale(int) VTK_OVERRIDE
     {return this->GetGradientMagnitudeScale();};
-  virtual float GetGradientMagnitudeBias(int)
+  float GetGradientMagnitudeBias(int) VTK_OVERRIDE
     {return this->GetGradientMagnitudeBias();};
   //@}
 
 protected:
   vtkVolumeRayCastMapper();
-  ~vtkVolumeRayCastMapper();
+  ~vtkVolumeRayCastMapper() VTK_OVERRIDE;
 
   vtkVolumeRayCastFunction     *VolumeRayCastFunction;
   vtkEncodedGradientEstimator  *GradientEstimator;
diff --git a/Rendering/Volume/vtkVolumeRayCastSpaceLeapingImageFilter.h b/Rendering/Volume/vtkVolumeRayCastSpaceLeapingImageFilter.h
index 9068fe4787..9d06f891b4 100644
--- a/Rendering/Volume/vtkVolumeRayCastSpaceLeapingImageFilter.h
+++ b/Rendering/Volume/vtkVolumeRayCastSpaceLeapingImageFilter.h
@@ -41,7 +41,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkVolumeRayCastSpaceLeapingImageFilter : public
 {
 public:
   vtkTypeMacro(vtkVolumeRayCastSpaceLeapingImageFilter,vtkThreadedImageAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkVolumeRayCastSpaceLeapingImageFilter *New();
 
@@ -195,7 +195,7 @@ public:
 
 protected:
   vtkVolumeRayCastSpaceLeapingImageFilter();
-  ~vtkVolumeRayCastSpaceLeapingImageFilter();
+  ~vtkVolumeRayCastSpaceLeapingImageFilter() VTK_OVERRIDE;
 
   int               IndependentComponents;
   vtkTimeStamp      LastMinMaxBuildTime;
@@ -221,21 +221,21 @@ protected:
   /**
    * See superclass for details
    */
-  virtual int RequestUpdateExtent(vtkInformation *,
+  int RequestUpdateExtent(vtkInformation *,
                                   vtkInformationVector **,
-                                  vtkInformationVector *);
+                                  vtkInformationVector *) VTK_OVERRIDE;
   void ThreadedRequestData(       vtkInformation *request,
                                   vtkInformationVector **inputVector,
                                   vtkInformationVector *outputVector,
                                   vtkImageData ***inData,
                                   vtkImageData **outData,
-                                  int outExt[6], int id);
-  virtual int RequestData(        vtkInformation* request,
+                                  int outExt[6], int id) VTK_OVERRIDE;
+  int RequestData(        vtkInformation* request,
                                   vtkInformationVector** inputVector,
-                                  vtkInformationVector* outputVector);
-  virtual int RequestInformation( vtkInformation *,
+                                  vtkInformationVector* outputVector) VTK_OVERRIDE;
+  int RequestInformation( vtkInformation *,
                                   vtkInformationVector**,
-                                  vtkInformationVector *);
+                                  vtkInformationVector *) VTK_OVERRIDE;
   //@}
 
   /**
@@ -266,11 +266,11 @@ protected:
    * the output we are going to generate, re-use the cache as we may not be
    * updating all data in the min-max structure.
    */
-  virtual void AllocateOutputData(vtkImageData *out,
+  void AllocateOutputData(vtkImageData *out,
                                   vtkInformation* outInfo,
-                                  int *uExtent);
-  virtual vtkImageData *AllocateOutputData(vtkDataObject *out,
-                                           vtkInformation *outInfo);
+                                  int *uExtent) VTK_OVERRIDE;
+  vtkImageData *AllocateOutputData(vtkDataObject *out,
+                                           vtkInformation *outInfo) VTK_OVERRIDE;
   //@}
 
 private:
diff --git a/Rendering/Volume/vtkVolumeTextureMapper.h b/Rendering/Volume/vtkVolumeTextureMapper.h
index 51c8a335eb..95ca6f52c9 100644
--- a/Rendering/Volume/vtkVolumeTextureMapper.h
+++ b/Rendering/Volume/vtkVolumeTextureMapper.h
@@ -40,7 +40,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkVolumeTextureMapper : public vtkVolumeMapper
 {
 public:
   vtkTypeMacro(vtkVolumeTextureMapper,vtkVolumeMapper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -83,31 +83,31 @@ public:
    * DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS
    * Render the volume
    */
-  virtual void Render(vtkRenderer *ren, vtkVolume *vol)=0;
+  void Render(vtkRenderer *ren, vtkVolume *vol) VTK_OVERRIDE =0;
 
   //@{
   /**
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
    * Values needed by the volume
    */
-  virtual float GetGradientMagnitudeScale();
-  virtual float GetGradientMagnitudeBias();
-  virtual float GetGradientMagnitudeScale(int)
+  float GetGradientMagnitudeScale() VTK_OVERRIDE;
+  float GetGradientMagnitudeBias() VTK_OVERRIDE;
+  float GetGradientMagnitudeScale(int) VTK_OVERRIDE
     { return this->GetGradientMagnitudeScale(); };
-  virtual float GetGradientMagnitudeBias(int)
+  float GetGradientMagnitudeBias(int) VTK_OVERRIDE
     { return this->GetGradientMagnitudeBias(); };
   //@}
 
   /**
    * see vtkAlgorithm for details
    */
-  virtual int ProcessRequest(vtkInformation*,
+  int ProcessRequest(vtkInformation*,
                              vtkInformationVector**,
-                             vtkInformationVector*);
+                             vtkInformationVector*) VTK_OVERRIDE;
 
 protected:
   vtkVolumeTextureMapper();
-  ~vtkVolumeTextureMapper();
+  ~vtkVolumeTextureMapper() VTK_OVERRIDE;
 
   void InitializeRender( vtkRenderer *ren, vtkVolume *vol );
 
diff --git a/Rendering/Volume/vtkVolumeTextureMapper2D.h b/Rendering/Volume/vtkVolumeTextureMapper2D.h
index 6ad96348d5..d4b7e7add8 100644
--- a/Rendering/Volume/vtkVolumeTextureMapper2D.h
+++ b/Rendering/Volume/vtkVolumeTextureMapper2D.h
@@ -35,7 +35,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkVolumeTextureMapper2D : public vtkVolumeTextu
 {
 public:
   vtkTypeMacro(vtkVolumeTextureMapper2D,vtkVolumeTextureMapper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkVolumeTextureMapper2D *New();
 
@@ -79,7 +79,7 @@ public:
    * DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS
    * Render the volume
    */
-  virtual void Render(vtkRenderer *, vtkVolume *) {}
+  void Render(vtkRenderer *, vtkVolume *) VTK_OVERRIDE {}
 
   virtual void RenderQuads( int vtkNotUsed(count),
                             float *vtkNotUsed(v), float *vtkNotUsed(t),
@@ -101,7 +101,7 @@ public:
 
 protected:
   vtkVolumeTextureMapper2D();
-  ~vtkVolumeTextureMapper2D();
+  ~vtkVolumeTextureMapper2D() VTK_OVERRIDE;
 
   void InitializeRender( vtkRenderer *ren, vtkVolume *vol )
     {this->InitializeRender( ren, vol, -1 );}
diff --git a/Rendering/Volume/vtkVolumeTextureMapper3D.h b/Rendering/Volume/vtkVolumeTextureMapper3D.h
index 0add7337f4..29ddb6fcd7 100644
--- a/Rendering/Volume/vtkVolumeTextureMapper3D.h
+++ b/Rendering/Volume/vtkVolumeTextureMapper3D.h
@@ -89,7 +89,7 @@ class VTKRENDERINGVOLUME_EXPORT vtkVolumeTextureMapper3D : public vtkVolumeMappe
 {
 public:
   vtkTypeMacro(vtkVolumeTextureMapper3D,vtkVolumeMapper);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkVolumeTextureMapper3D *New();
 
@@ -149,7 +149,7 @@ public:
    * DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS
    * Render the volume
    */
-  virtual void Render(vtkRenderer *, vtkVolume *) {}
+  void Render(vtkRenderer *, vtkVolume *) VTK_OVERRIDE {}
 
   /**
    * What rendering method is supported?
@@ -199,7 +199,7 @@ public:
 
 protected:
   vtkVolumeTextureMapper3D();
-  ~vtkVolumeTextureMapper3D();
+  ~vtkVolumeTextureMapper3D() VTK_OVERRIDE;
 
   float                    *PolygonBuffer;
   float                    *IntersectionBuffer;
diff --git a/Rendering/VolumeOpenGL/vtkOpenGLGPUVolumeRayCastMapper.cxx b/Rendering/VolumeOpenGL/vtkOpenGLGPUVolumeRayCastMapper.cxx
index 8cb30f5f87..54a88dd939 100644
--- a/Rendering/VolumeOpenGL/vtkOpenGLGPUVolumeRayCastMapper.cxx
+++ b/Rendering/VolumeOpenGL/vtkOpenGLGPUVolumeRayCastMapper.cxx
@@ -289,7 +289,7 @@ protected:
       this->LastLinearInterpolation=false;
       this->LastRange[0] = this->LastRange[1] = 0.0;
   }
-  virtual ~vtkTextureTable()
+  ~vtkTextureTable() VTK_OVERRIDE
   {
       if(this->TextureId!=0)
       {
@@ -469,7 +469,7 @@ protected:
       this->LastSampleDistance=1.0;
   }
 
-  ~vtkOpacityTable() {};
+  ~vtkOpacityTable() VTK_OVERRIDE {};
 
   int LastBlendMode;
   double LastSampleDistance;
@@ -592,7 +592,7 @@ public:
 
 protected:
   vtkRGBTable() {};
-  ~vtkRGBTable() {};
+  ~vtkRGBTable() VTK_OVERRIDE {};
 
 private:
   vtkRGBTable(const vtkRGBTable &other) VTK_DELETE_FUNCTION;
diff --git a/Rendering/VolumeOpenGL/vtkOpenGLGPUVolumeRayCastMapper.h b/Rendering/VolumeOpenGL/vtkOpenGLGPUVolumeRayCastMapper.h
index 4508bcf2fa..1f8d6bbf42 100644
--- a/Rendering/VolumeOpenGL/vtkOpenGLGPUVolumeRayCastMapper.h
+++ b/Rendering/VolumeOpenGL/vtkOpenGLGPUVolumeRayCastMapper.h
@@ -72,14 +72,14 @@ public:
    * mapping is supported by the hardware, and if the other extensions
    * necessary to support the specific properties are available.
    */
-  virtual int IsRenderSupported(vtkRenderWindow *window,
-                                vtkVolumeProperty *property);
+  int IsRenderSupported(vtkRenderWindow *window,
+                                vtkVolumeProperty *property) VTK_OVERRIDE;
 
   /**
    * Delete OpenGL objects.
    * \post done: this->OpenGLObjectsCreated==0
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *window);
+  void ReleaseGraphicsResources(vtkWindow *window) VTK_OVERRIDE;
 
   /**
    * Return a string matching the OpenGL errorCode.
@@ -96,27 +96,27 @@ public:
 
 protected:
   vtkOpenGLGPUVolumeRayCastMapper();
-  ~vtkOpenGLGPUVolumeRayCastMapper();
+  ~vtkOpenGLGPUVolumeRayCastMapper() VTK_OVERRIDE;
 
   // The render method called by the superclass
-  virtual void GPURender(vtkRenderer *ren,
-                         vtkVolume *vol);
+  void GPURender(vtkRenderer *ren,
+                         vtkVolume *vol) VTK_OVERRIDE;
 
   // Methods called by the AMR Volume Mapper.
-  virtual void PreRender(vtkRenderer *ren,
+  void PreRender(vtkRenderer *ren,
                          vtkVolume *vol,
                          double datasetBounds[6],
                          double scalarRange[2],
                          int numberOfScalarComponents,
-                         unsigned int numberOfLevels);
+                         unsigned int numberOfLevels) VTK_OVERRIDE;
 
   // \pre input is up-to-date
-  virtual void RenderBlock(vtkRenderer *ren,
+  void RenderBlock(vtkRenderer *ren,
                            vtkVolume *vol,
-                           unsigned int level);
+                           unsigned int level) VTK_OVERRIDE;
 
-  virtual void PostRender(vtkRenderer *ren,
-                          int numberOfScalarComponents);
+  void PostRender(vtkRenderer *ren,
+                          int numberOfScalarComponents) VTK_OVERRIDE;
 
   /**
    * Return if the required OpenGL extension `extensionName' is supported.
@@ -376,7 +376,7 @@ protected:
    * \post valid_j_ratio: ratio[1]>0 && ratio[1]<=1.0
    * \post valid_k_ratio: ratio[2]>0 && ratio[2]<=1.0
    */
-  virtual void GetReductionRatio(double ratio[3]);
+  void GetReductionRatio(double ratio[3]) VTK_OVERRIDE;
 
   int NumberOfCroppingRegions;
 
diff --git a/Rendering/VolumeOpenGL/vtkOpenGLHAVSVolumeMapper.h b/Rendering/VolumeOpenGL/vtkOpenGLHAVSVolumeMapper.h
index 35ac688cbd..0cbf1b6276 100644
--- a/Rendering/VolumeOpenGL/vtkOpenGLHAVSVolumeMapper.h
+++ b/Rendering/VolumeOpenGL/vtkOpenGLHAVSVolumeMapper.h
@@ -138,19 +138,19 @@ public:
   /**
    * Render the volume
    */
-  virtual void Render(vtkRenderer *ren, vtkVolume *vol);
+  void Render(vtkRenderer *ren, vtkVolume *vol) VTK_OVERRIDE;
 
   /**
    * Release any graphics resources that are being consumed by this volume
    * renderer.
    */
-  virtual void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   /**
    * Set/get whether or not the data structures should be stored on the GPU
    * for better peformance.
    */
-  virtual void SetGPUDataStructures(bool);
+  void SetGPUDataStructures(bool) VTK_OVERRIDE;
 
   /**
    * Check hardware support for the HAVS algorithm.  Necessary
@@ -158,14 +158,14 @@ public:
    * render targets, and framebuffer objects.
    * Subclasses must override this method to indicate if supported by Hardware.
    */
-  virtual bool SupportedByHardware(vtkRenderer *r);
+  bool SupportedByHardware(vtkRenderer *r) VTK_OVERRIDE;
 protected:
 
   vtkOpenGLHAVSVolumeMapper();
-  ~vtkOpenGLHAVSVolumeMapper();
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  ~vtkOpenGLHAVSVolumeMapper() VTK_OVERRIDE;
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
-  virtual void Initialize(vtkRenderer *ren, vtkVolume *vol);
+  void Initialize(vtkRenderer *ren, vtkVolume *vol) VTK_OVERRIDE;
   virtual void InitializeLookupTables(vtkVolume *vol);
   void InitializeGPUDataStructures();
   void InitializeShaders();
diff --git a/Rendering/VolumeOpenGL/vtkOpenGLProjectedAAHexahedraMapper.h b/Rendering/VolumeOpenGL/vtkOpenGLProjectedAAHexahedraMapper.h
index e52f68c092..1e74dda600 100644
--- a/Rendering/VolumeOpenGL/vtkOpenGLProjectedAAHexahedraMapper.h
+++ b/Rendering/VolumeOpenGL/vtkOpenGLProjectedAAHexahedraMapper.h
@@ -50,21 +50,21 @@ public:
   vtkTypeMacro(vtkOpenGLProjectedAAHexahedraMapper,
                vtkProjectedAAHexahedraMapper);
   static vtkOpenGLProjectedAAHexahedraMapper *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Check if the required OpenGL extensions are supported by the OpenGL
    * context attached to the render window `w'.
    */
-  bool IsRenderSupported(vtkRenderWindow *w);
+  bool IsRenderSupported(vtkRenderWindow *w) VTK_OVERRIDE;
 
-  void Render(vtkRenderer *renderer, vtkVolume *volume);
+  void Render(vtkRenderer *renderer, vtkVolume *volume) VTK_OVERRIDE;
 
-  void ReleaseGraphicsResources(vtkWindow *window);
+  void ReleaseGraphicsResources(vtkWindow *window) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLProjectedAAHexahedraMapper();
-  ~vtkOpenGLProjectedAAHexahedraMapper();
+  ~vtkOpenGLProjectedAAHexahedraMapper() VTK_OVERRIDE;
 
   /**
    * Convert the input scalar values to floats.
diff --git a/Rendering/VolumeOpenGL/vtkOpenGLProjectedTetrahedraMapper.h b/Rendering/VolumeOpenGL/vtkOpenGLProjectedTetrahedraMapper.h
index 2d4ab79fc6..819f1c8e4e 100644
--- a/Rendering/VolumeOpenGL/vtkOpenGLProjectedTetrahedraMapper.h
+++ b/Rendering/VolumeOpenGL/vtkOpenGLProjectedTetrahedraMapper.h
@@ -52,11 +52,11 @@ public:
   vtkTypeMacro(vtkOpenGLProjectedTetrahedraMapper,
                        vtkProjectedTetrahedraMapper);
   static vtkOpenGLProjectedTetrahedraMapper *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual void ReleaseGraphicsResources(vtkWindow *window);
+  void ReleaseGraphicsResources(vtkWindow *window) VTK_OVERRIDE;
 
-  virtual void Render(vtkRenderer *renderer, vtkVolume *volume);
+  void Render(vtkRenderer *renderer, vtkVolume *volume) VTK_OVERRIDE;
 
   //@{
   /**
@@ -72,11 +72,11 @@ public:
    * Return true if the rendering context provides
    * the nececessary functionality to use this class.
    */
-  virtual bool IsSupported(vtkRenderWindow *context);
+  bool IsSupported(vtkRenderWindow *context) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLProjectedTetrahedraMapper();
-  ~vtkOpenGLProjectedTetrahedraMapper();
+  ~vtkOpenGLProjectedTetrahedraMapper() VTK_OVERRIDE;
 
   void Initialize(vtkRenderer *ren);
   bool Initialized;
diff --git a/Rendering/VolumeOpenGL/vtkOpenGLRayCastImageDisplayHelper.h b/Rendering/VolumeOpenGL/vtkOpenGLRayCastImageDisplayHelper.h
index 8f5a0e5138..3bdb9ea348 100644
--- a/Rendering/VolumeOpenGL/vtkOpenGLRayCastImageDisplayHelper.h
+++ b/Rendering/VolumeOpenGL/vtkOpenGLRayCastImageDisplayHelper.h
@@ -48,7 +48,7 @@ public:
                       int imageInUseSize[2],
                       int imageOrigin[2],
                       float requestedDepth,
-                      unsigned char *image );
+                      unsigned char *image ) VTK_OVERRIDE;
 
   void RenderTexture( vtkVolume *vol, vtkRenderer *ren,
                       int imageMemorySize[2],
@@ -56,15 +56,15 @@ public:
                       int imageInUseSize[2],
                       int imageOrigin[2],
                       float requestedDepth,
-                      unsigned short *image );
+                      unsigned short *image ) VTK_OVERRIDE;
 
   void RenderTexture( vtkVolume *vol, vtkRenderer *ren,
                       vtkFixedPointRayCastImage *image,
-                      float requestedDepth );
+                      float requestedDepth ) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLRayCastImageDisplayHelper();
-  ~vtkOpenGLRayCastImageDisplayHelper();
+  ~vtkOpenGLRayCastImageDisplayHelper() VTK_OVERRIDE;
 
   void RenderTextureInternal( vtkVolume *vol, vtkRenderer *ren,
                               int imageMemorySize[2],
diff --git a/Rendering/VolumeOpenGL/vtkOpenGLVolumeTextureMapper2D.h b/Rendering/VolumeOpenGL/vtkOpenGLVolumeTextureMapper2D.h
index 14eab6c540..63d0af8304 100644
--- a/Rendering/VolumeOpenGL/vtkOpenGLVolumeTextureMapper2D.h
+++ b/Rendering/VolumeOpenGL/vtkOpenGLVolumeTextureMapper2D.h
@@ -36,7 +36,7 @@ class VTKRENDERINGVOLUMEOPENGL_EXPORT vtkOpenGLVolumeTextureMapper2D
 {
 public:
   vtkTypeMacro(vtkOpenGLVolumeTextureMapper2D,vtkVolumeTextureMapper2D);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   static vtkOpenGLVolumeTextureMapper2D *New();
 
@@ -45,14 +45,14 @@ public:
    * DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS
    * Render the volume
    */
-  virtual void Render(vtkRenderer *ren, vtkVolume *vol);
+  void Render(vtkRenderer *ren, vtkVolume *vol) VTK_OVERRIDE;
 
   void RenderQuads( int count, float *v, float *t,
-                    unsigned char *texture, int size[2], int reverseFlag);
+                    unsigned char *texture, int size[2], int reverseFlag) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLVolumeTextureMapper2D();
-  ~vtkOpenGLVolumeTextureMapper2D();
+  ~vtkOpenGLVolumeTextureMapper2D() VTK_OVERRIDE;
 
 private:
   vtkOpenGLVolumeTextureMapper2D(const vtkOpenGLVolumeTextureMapper2D&) VTK_DELETE_FUNCTION;
diff --git a/Rendering/VolumeOpenGL/vtkOpenGLVolumeTextureMapper3D.h b/Rendering/VolumeOpenGL/vtkOpenGLVolumeTextureMapper3D.h
index 9b7cb35b16..49e73ec223 100644
--- a/Rendering/VolumeOpenGL/vtkOpenGLVolumeTextureMapper3D.h
+++ b/Rendering/VolumeOpenGL/vtkOpenGLVolumeTextureMapper3D.h
@@ -41,7 +41,7 @@ class VTKRENDERINGVOLUMEOPENGL_EXPORT vtkOpenGLVolumeTextureMapper3D
 {
 public:
   vtkTypeMacro(vtkOpenGLVolumeTextureMapper3D,vtkVolumeTextureMapper3D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   static vtkOpenGLVolumeTextureMapper3D *New();
 
@@ -51,14 +51,14 @@ public:
    * not support the required extensions
    */
   int IsRenderSupported(vtkVolumeProperty *,
-                        vtkRenderer *ren);
+                        vtkRenderer *ren) VTK_OVERRIDE;
 
   /**
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
    * DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS
    * Render the volume
    */
-  virtual void Render(vtkRenderer *ren, vtkVolume *vol);
+  void Render(vtkRenderer *ren, vtkVolume *vol) VTK_OVERRIDE;
 
   // Desciption:
   // Initialize when we go to render, or go to answer the
@@ -71,11 +71,11 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLVolumeTextureMapper3D();
-  ~vtkOpenGLVolumeTextureMapper3D();
+  ~vtkOpenGLVolumeTextureMapper3D() VTK_OVERRIDE;
 
   void GetLightInformation(vtkRenderer *ren,
                            vtkVolume *vol,
@@ -148,7 +148,7 @@ protected:
    * Check if we can support this texture size for the number of components.
    */
   int IsTextureSizeSupported(int size[3],
-                             int components);
+                             int components) VTK_OVERRIDE;
 
   /**
    * Common code for setting up interpolation / clamping on 3D textures
diff --git a/Rendering/VolumeOpenGL/vtkSmartVolumeMapper.h b/Rendering/VolumeOpenGL/vtkSmartVolumeMapper.h
index 9d38659700..f0267dc6a6 100644
--- a/Rendering/VolumeOpenGL/vtkSmartVolumeMapper.h
+++ b/Rendering/VolumeOpenGL/vtkSmartVolumeMapper.h
@@ -123,7 +123,7 @@ class VTKRENDERINGVOLUMEOPENGL_EXPORT vtkSmartVolumeMapper : public vtkVolumeMap
 public:
   static vtkSmartVolumeMapper *New();
   vtkTypeMacro(vtkSmartVolumeMapper,vtkVolumeMapper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -315,7 +315,7 @@ public:
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
    * Initialize rendering for this volume.
    */
-  void Render( vtkRenderer *, vtkVolume * );
+  void Render( vtkRenderer *, vtkVolume * ) VTK_OVERRIDE;
 
   /**
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
@@ -323,11 +323,11 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
 protected:
   vtkSmartVolumeMapper();
-  ~vtkSmartVolumeMapper();
+  ~vtkSmartVolumeMapper() VTK_OVERRIDE;
 
   /**
    * Connect input of the vtkSmartVolumeMapper to the input of the
diff --git a/Rendering/VolumeOpenGL2/vtkOpenGLGPUVolumeRayCastMapper.h b/Rendering/VolumeOpenGL2/vtkOpenGLGPUVolumeRayCastMapper.h
index db7a524cd1..74f7230942 100644
--- a/Rendering/VolumeOpenGL2/vtkOpenGLGPUVolumeRayCastMapper.h
+++ b/Rendering/VolumeOpenGL2/vtkOpenGLGPUVolumeRayCastMapper.h
@@ -42,7 +42,7 @@ public:
   };
 
   vtkTypeMacro(vtkOpenGLGPUVolumeRayCastMapper, vtkGPUVolumeRayCastMapper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   // Description:
   // Low level API to enable access to depth texture in
@@ -61,12 +61,12 @@ public:
   // Description:
   // Low level API to export the depth texture as vtkImageData in
   // RenderToImage mode.
-  void GetDepthImage(vtkImageData* im);
+  void GetDepthImage(vtkImageData* im) VTK_OVERRIDE;
 
   // Description:
   // Low level API to export the color texture as vtkImageData in
   // RenderToImage mode.
-  void GetColorImage(vtkImageData* im);
+  void GetColorImage(vtkImageData* im) VTK_OVERRIDE;
 
   // Description:
   // Mapper can have multiple passes and internally it will set
@@ -95,12 +95,12 @@ public:
 
 protected:
   vtkOpenGLGPUVolumeRayCastMapper();
-  ~vtkOpenGLGPUVolumeRayCastMapper();
+  ~vtkOpenGLGPUVolumeRayCastMapper() VTK_OVERRIDE;
 
   // Description:
   // Delete OpenGL objects.
   // \post done: this->OpenGLObjectsCreated==0
-  virtual void ReleaseGraphicsResources(vtkWindow *window);
+  void ReleaseGraphicsResources(vtkWindow *window) VTK_OVERRIDE;
   vtkGenericOpenGLResourceFreeCallback *ResourceCallback;
 
   // Description:
@@ -115,24 +115,24 @@ protected:
 
   // TODO Take these out as these are no longer needed
   // Methods called by the AMR Volume Mapper.
-  virtual void PreRender(vtkRenderer * vtkNotUsed(ren),
+  void PreRender(vtkRenderer * vtkNotUsed(ren),
                          vtkVolume *vtkNotUsed(vol),
                          double vtkNotUsed(datasetBounds)[6],
                          double vtkNotUsed(scalarRange)[2],
                          int vtkNotUsed(noOfComponents),
-                         unsigned int vtkNotUsed(numberOfLevels)) {};
+                         unsigned int vtkNotUsed(numberOfLevels)) VTK_OVERRIDE {};
 
   // \pre input is up-to-date
-  virtual void RenderBlock(vtkRenderer *vtkNotUsed(ren),
+  void RenderBlock(vtkRenderer *vtkNotUsed(ren),
                            vtkVolume *vtkNotUsed(vol),
-                           unsigned int vtkNotUsed(level)) {}
+                           unsigned int vtkNotUsed(level)) VTK_OVERRIDE {}
 
-  virtual void PostRender(vtkRenderer *vtkNotUsed(ren),
-                          int vtkNotUsed(noOfComponents)) {}
+  void PostRender(vtkRenderer *vtkNotUsed(ren),
+                          int vtkNotUsed(noOfComponents)) VTK_OVERRIDE {}
 
   // Description:
   // Rendering volume on GPU
-  void GPURender(vtkRenderer *ren, vtkVolume *vol);
+  void GPURender(vtkRenderer *ren, vtkVolume *vol) VTK_OVERRIDE;
 
   // Description:
   // Method that performs the actual rendering given a volume and a shader
@@ -156,7 +156,7 @@ protected:
 
   // Description:
   // Empty implementation.
-  void GetReductionRatio(double* ratio)
+  void GetReductionRatio(double* ratio) VTK_OVERRIDE
   {
     ratio[0] = ratio[1] = ratio[2] = 1.0;
   }
@@ -164,8 +164,8 @@ protected:
 
   // Description:
   // Empty implementation.
-  virtual int IsRenderSupported(vtkRenderWindow *vtkNotUsed(window),
-                                vtkVolumeProperty *vtkNotUsed(property))
+  int IsRenderSupported(vtkRenderWindow *vtkNotUsed(window),
+                                vtkVolumeProperty *vtkNotUsed(property)) VTK_OVERRIDE
   {
     return 1;
   }
diff --git a/Rendering/VolumeOpenGL2/vtkOpenGLProjectedTetrahedraMapper.h b/Rendering/VolumeOpenGL2/vtkOpenGLProjectedTetrahedraMapper.h
index 7d8fc3c430..04e41adfdf 100644
--- a/Rendering/VolumeOpenGL2/vtkOpenGLProjectedTetrahedraMapper.h
+++ b/Rendering/VolumeOpenGL2/vtkOpenGLProjectedTetrahedraMapper.h
@@ -56,11 +56,11 @@ public:
   vtkTypeMacro(vtkOpenGLProjectedTetrahedraMapper,
                        vtkProjectedTetrahedraMapper);
   static vtkOpenGLProjectedTetrahedraMapper *New();
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
-  virtual void ReleaseGraphicsResources(vtkWindow *window);
+  void ReleaseGraphicsResources(vtkWindow *window) VTK_OVERRIDE;
 
-  virtual void Render(vtkRenderer *renderer, vtkVolume *volume);
+  void Render(vtkRenderer *renderer, vtkVolume *volume) VTK_OVERRIDE;
 
   //@{
   /**
@@ -76,11 +76,11 @@ public:
    * Return true if the rendering context provides
    * the nececessary functionality to use this class.
    */
-  virtual bool IsSupported(vtkRenderWindow *context);
+  bool IsSupported(vtkRenderWindow *context) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLProjectedTetrahedraMapper();
-  ~vtkOpenGLProjectedTetrahedraMapper();
+  ~vtkOpenGLProjectedTetrahedraMapper() VTK_OVERRIDE;
 
   void Initialize(vtkRenderer *ren);
   bool Initialized;
diff --git a/Rendering/VolumeOpenGL2/vtkOpenGLRayCastImageDisplayHelper.h b/Rendering/VolumeOpenGL2/vtkOpenGLRayCastImageDisplayHelper.h
index 3fca8de63d..1612a07b78 100644
--- a/Rendering/VolumeOpenGL2/vtkOpenGLRayCastImageDisplayHelper.h
+++ b/Rendering/VolumeOpenGL2/vtkOpenGLRayCastImageDisplayHelper.h
@@ -51,7 +51,7 @@ public:
                       int imageInUseSize[2],
                       int imageOrigin[2],
                       float requestedDepth,
-                      unsigned char *image );
+                      unsigned char *image ) VTK_OVERRIDE;
 
   void RenderTexture( vtkVolume *vol, vtkRenderer *ren,
                       int imageMemorySize[2],
@@ -59,17 +59,17 @@ public:
                       int imageInUseSize[2],
                       int imageOrigin[2],
                       float requestedDepth,
-                      unsigned short *image );
+                      unsigned short *image ) VTK_OVERRIDE;
 
   void RenderTexture( vtkVolume *vol, vtkRenderer *ren,
                       vtkFixedPointRayCastImage *image,
-                      float requestedDepth );
+                      float requestedDepth ) VTK_OVERRIDE;
 
-  virtual void ReleaseGraphicsResources(vtkWindow *win);
+  void ReleaseGraphicsResources(vtkWindow *win) VTK_OVERRIDE;
 
 protected:
   vtkOpenGLRayCastImageDisplayHelper();
-  ~vtkOpenGLRayCastImageDisplayHelper();
+  ~vtkOpenGLRayCastImageDisplayHelper() VTK_OVERRIDE;
 
   void RenderTextureInternal( vtkVolume *vol, vtkRenderer *ren,
                               int imageMemorySize[2],
diff --git a/Rendering/VolumeOpenGL2/vtkOpenGLVolumeGradientOpacityTable.h b/Rendering/VolumeOpenGL2/vtkOpenGLVolumeGradientOpacityTable.h
index 9824d5dd71..5333585aaf 100644
--- a/Rendering/VolumeOpenGL2/vtkOpenGLVolumeGradientOpacityTable.h
+++ b/Rendering/VolumeOpenGL2/vtkOpenGLVolumeGradientOpacityTable.h
@@ -184,7 +184,7 @@ protected:
   }
 
   //--------------------------------------------------------------------------
-  ~vtkOpenGLVolumeGradientOpacityTable()
+  ~vtkOpenGLVolumeGradientOpacityTable() VTK_OVERRIDE
   {
       if (this->TextureObject)
       {
diff --git a/Rendering/VolumeOpenGL2/vtkOpenGLVolumeOpacityTable.h b/Rendering/VolumeOpenGL2/vtkOpenGLVolumeOpacityTable.h
index f202afa92a..b5425fd4d5 100644
--- a/Rendering/VolumeOpenGL2/vtkOpenGLVolumeOpacityTable.h
+++ b/Rendering/VolumeOpenGL2/vtkOpenGLVolumeOpacityTable.h
@@ -229,7 +229,7 @@ protected:
   }
 
   //--------------------------------------------------------------------------
-  ~vtkOpenGLVolumeOpacityTable()
+  ~vtkOpenGLVolumeOpacityTable() VTK_OVERRIDE
   {
       if (this->TextureObject)
       {
diff --git a/Rendering/VolumeOpenGL2/vtkOpenGLVolumeRGBTable.h b/Rendering/VolumeOpenGL2/vtkOpenGLVolumeRGBTable.h
index 56509186a6..448cc4c59c 100644
--- a/Rendering/VolumeOpenGL2/vtkOpenGLVolumeRGBTable.h
+++ b/Rendering/VolumeOpenGL2/vtkOpenGLVolumeRGBTable.h
@@ -181,7 +181,7 @@ protected:
   }
 
   //--------------------------------------------------------------------------
-  ~vtkOpenGLVolumeRGBTable()
+  ~vtkOpenGLVolumeRGBTable() VTK_OVERRIDE
   {
     if (this->TextureObject)
     {
diff --git a/Rendering/VolumeOpenGL2/vtkSmartVolumeMapper.h b/Rendering/VolumeOpenGL2/vtkSmartVolumeMapper.h
index 824d4af140..213edf5e2b 100644
--- a/Rendering/VolumeOpenGL2/vtkSmartVolumeMapper.h
+++ b/Rendering/VolumeOpenGL2/vtkSmartVolumeMapper.h
@@ -91,7 +91,7 @@ class VTKRENDERINGVOLUMEOPENGL2_EXPORT vtkSmartVolumeMapper : public vtkVolumeMa
 public:
   static vtkSmartVolumeMapper *New();
   vtkTypeMacro(vtkSmartVolumeMapper,vtkVolumeMapper);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   //@{
   /**
@@ -308,7 +308,7 @@ public:
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
    * Initialize rendering for this volume.
    */
-  void Render( vtkRenderer *, vtkVolume * );
+  void Render( vtkRenderer *, vtkVolume * ) VTK_OVERRIDE;
 
   /**
    * WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
@@ -316,7 +316,7 @@ public:
    * The parameter window could be used to determine which graphic
    * resources to release.
    */
-  void ReleaseGraphicsResources(vtkWindow *);
+  void ReleaseGraphicsResources(vtkWindow *) VTK_OVERRIDE;
 
   //@{
   /**
@@ -342,7 +342,7 @@ public:
 
 protected:
   vtkSmartVolumeMapper();
-  ~vtkSmartVolumeMapper();
+  ~vtkSmartVolumeMapper() VTK_OVERRIDE;
 
   /**
    * Connect input of the vtkSmartVolumeMapper to the input of the
diff --git a/Rendering/VolumeOpenGL2/vtkVolumeTexture.h b/Rendering/VolumeOpenGL2/vtkVolumeTexture.h
index f23552c72f..0c1706c597 100644
--- a/Rendering/VolumeOpenGL2/vtkVolumeTexture.h
+++ b/Rendering/VolumeOpenGL2/vtkVolumeTexture.h
@@ -104,7 +104,7 @@ public:
   };
 
   vtkTypeMacro(vtkVolumeTexture, vtkObject);
-  void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   /**
    * Set the parent volume mapper and initialize internals.
@@ -156,7 +156,7 @@ public:
 
 protected:
   vtkVolumeTexture();
-  ~vtkVolumeTexture();
+  ~vtkVolumeTexture() VTK_OVERRIDE;
 
 private:
   /**
diff --git a/Testing/Core/vtkTestErrorObserver.h b/Testing/Core/vtkTestErrorObserver.h
index a67c6a559a..dbbb4a6110 100644
--- a/Testing/Core/vtkTestErrorObserver.h
+++ b/Testing/Core/vtkTestErrorObserver.h
@@ -49,9 +49,9 @@ public:
   this->ErrorMessage = "";
   this->WarningMessage = "";
   }
-  virtual void Execute(vtkObject *vtkNotUsed(caller),
-                       unsigned long event,
-                       void *calldata)
+  void Execute(vtkObject *vtkNotUsed(caller),
+               unsigned long event,
+               void *calldata) VTK_OVERRIDE
   {
   switch(event)
   {
diff --git a/Testing/GenericBridge/vtkBridgeAttribute.h b/Testing/GenericBridge/vtkBridgeAttribute.h
index 7c4928f4ce..1d3282e1c1 100644
--- a/Testing/GenericBridge/vtkBridgeAttribute.h
+++ b/Testing/GenericBridge/vtkBridgeAttribute.h
@@ -37,26 +37,26 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeAttribute : public vtkGenericAttri
  public:
   static vtkBridgeAttribute *New();
   vtkTypeMacro(vtkBridgeAttribute,vtkGenericAttribute);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Name of the attribute. (e.g. "velocity")
    * \post result_may_not_exist: result!=0 || result==0
    */
-  const char *GetName();
+  const char *GetName() VTK_OVERRIDE;
 
   /**
    * Dimension of the attribute. (1 for scalar, 3 for velocity)
    * \post positive_result: result>=0
    */
-  int GetNumberOfComponents();
+  int GetNumberOfComponents() VTK_OVERRIDE;
 
   /**
    * Is the attribute centered either on points, cells or boundaries?
    * \post valid_result: (result==vtkCenteringPoints) ||
    * (result==vtkCenteringCells) || (result==vtkCenteringBoundaries)
    */
-  int GetCentering();
+  int GetCentering() VTK_OVERRIDE;
 
   /**
    * Type of the attribute: scalar, vector, normal, texture coordinate, tensor
@@ -66,7 +66,7 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeAttribute : public vtkGenericAttri
    * ||(result==vtkDataSetAttributes::TCOORDS)
    * ||(result==vtkDataSetAttributes::TENSORS)
    */
-  int GetType();
+  int GetType() VTK_OVERRIDE;
 
   /**
    * Type of the components of the attribute: int, float, double
@@ -77,18 +77,18 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeAttribute : public vtkGenericAttri
    * ||(result==VTK_UNSIGNED_LONG) ||(result==VTK_FLOAT)
    * ||(result==VTK_DOUBLE)        ||(result==VTK_ID_TYPE)
    */
-  int GetComponentType();
+  int GetComponentType() VTK_OVERRIDE;
 
   /**
    * Number of tuples.
    * \post valid_result: result>=0
    */
-  vtkIdType GetSize();
+  vtkIdType GetSize() VTK_OVERRIDE;
 
   /**
    * Size in kibibytes (1024 bytes) taken by the attribute.
    */
-  unsigned long GetActualMemorySize();
+  unsigned long GetActualMemorySize() VTK_OVERRIDE;
 
   /**
    * Range of the attribute component `component'. It returns double, even if
@@ -97,7 +97,7 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeAttribute : public vtkGenericAttri
    * \pre valid_component: (component>=0)&&(component<GetNumberOfComponents())
    * \post result_exists: result!=0
    */
-  double *GetRange(int component);
+  double *GetRange(int component) VTK_OVERRIDE;
 
   /**
    * Range of the attribute component `component'.
@@ -105,13 +105,13 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeAttribute : public vtkGenericAttri
    * \pre valid_component: (component>=0)&&(component<GetNumberOfComponents())
    */
   void GetRange(int component,
-                double range[2]);
+                double range[2]) VTK_OVERRIDE;
 
   /**
    * Return the maximum euclidean norm for the tuples.
    * \post positive_result: result>=0
    */
-  double GetMaxNorm();
+  double GetMaxNorm() VTK_OVERRIDE;
 
   /**
    * Attribute at all points of cell `c'.
@@ -120,7 +120,7 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeAttribute : public vtkGenericAttri
    * \post result_exists: result!=0
    * \post valid_result: sizeof(result)==GetNumberOfComponents()*c->GetCell()->GetNumberOfPoints()
    */
-  virtual double *GetTuple(vtkGenericAdaptorCell *c);
+  double *GetTuple(vtkGenericAdaptorCell *c) VTK_OVERRIDE;
 
   /**
    * Put attribute at all points of cell `c' in `tuple'.
@@ -129,7 +129,7 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeAttribute : public vtkGenericAttri
    * \pre tuple_exists: tuple!=0
    * \pre valid_tuple: sizeof(tuple)>=GetNumberOfComponents()*c->GetCell()->GetNumberOfPoints()
    */
-  virtual void GetTuple(vtkGenericAdaptorCell *c, double *tuple);
+  void GetTuple(vtkGenericAdaptorCell *c, double *tuple) VTK_OVERRIDE;
 
   /**
    * Attribute at all points of cell `c'.
@@ -138,7 +138,7 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeAttribute : public vtkGenericAttri
    * \post result_exists: result!=0
    * \post valid_result: sizeof(result)==GetNumberOfComponents()*c->GetCell()->GetNumberOfPoints()
    */
-  double *GetTuple(vtkGenericCellIterator *c);
+  double *GetTuple(vtkGenericCellIterator *c) VTK_OVERRIDE;
 
   /**
    * Put attribute at all points of cell `c' in `tuple'.
@@ -147,7 +147,7 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeAttribute : public vtkGenericAttri
    * \pre tuple_exists: tuple!=0
    * \pre valid_tuple: sizeof(tuple)>=GetNumberOfComponents()*c->GetCell()->GetNumberOfPoints()
    */
-  void GetTuple(vtkGenericCellIterator *c, double *tuple);
+  void GetTuple(vtkGenericCellIterator *c, double *tuple) VTK_OVERRIDE;
 
   /**
    * Value of the attribute at position `p'.
@@ -156,7 +156,7 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeAttribute : public vtkGenericAttri
    * \post result_exists: result!=0
    * \post valid_result_size: sizeof(result)==GetNumberOfComponents()
    */
-  double *GetTuple(vtkGenericPointIterator *p);
+  double *GetTuple(vtkGenericPointIterator *p) VTK_OVERRIDE;
 
   /**
    * Put the value of the attribute at position `p' into `tuple'.
@@ -165,7 +165,7 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeAttribute : public vtkGenericAttri
    * \pre tuple_exists: tuple!=0
    * \pre valid_tuple_size: sizeof(tuple)>=GetNumberOfComponents()
    */
-  void GetTuple(vtkGenericPointIterator *p, double *tuple);
+  void GetTuple(vtkGenericPointIterator *p, double *tuple) VTK_OVERRIDE;
 
   /**
    * Put component `i' of the attribute at all points of cell `c' in `values'.
@@ -175,7 +175,7 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeAttribute : public vtkGenericAttri
    * \pre values_exist: values!=0
    * \pre valid_values: sizeof(values)>=c->GetCell()->GetNumberOfPoints()
    */
-  void GetComponent(int i,vtkGenericCellIterator *c, double *values);
+  void GetComponent(int i,vtkGenericCellIterator *c, double *values) VTK_OVERRIDE;
 
   /**
    * Value of the component `i' of the attribute at position `p'.
@@ -183,21 +183,21 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeAttribute : public vtkGenericAttri
    * \pre p_exists: p!=0
    * \pre p_valid: !p->IsAtEnd()
    */
-  double GetComponent(int i,vtkGenericPointIterator *p);
+  double GetComponent(int i,vtkGenericPointIterator *p) VTK_OVERRIDE;
 
   /**
    * Recursive duplication of `other' in `this'.
    * \pre other_exists: other!=0
    * \pre not_self: other!=this
    */
-  void DeepCopy(vtkGenericAttribute *other);
+  void DeepCopy(vtkGenericAttribute *other) VTK_OVERRIDE;
 
   /**
    * Update `this' using fields of `other'.
    * \pre other_exists: other!=0
    * \pre not_self: other!=this
    */
-  void ShallowCopy(vtkGenericAttribute *other);
+  void ShallowCopy(vtkGenericAttribute *other) VTK_OVERRIDE;
 
   /**
    * Set the current attribute to be centered on points with attribute `i' of
@@ -225,7 +225,7 @@ protected:
   /**
    * Destructor.
    */
-  virtual ~vtkBridgeAttribute();
+  ~vtkBridgeAttribute() VTK_OVERRIDE;
 
   /**
    * If size>InternalTupleCapacity, allocate enough memory.
diff --git a/Testing/GenericBridge/vtkBridgeCell.h b/Testing/GenericBridge/vtkBridgeCell.h
index 4d8fc9ad09..b282489366 100644
--- a/Testing/GenericBridge/vtkBridgeCell.h
+++ b/Testing/GenericBridge/vtkBridgeCell.h
@@ -37,18 +37,18 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeCell : public vtkGenericAdaptorCel
 public:
   static vtkBridgeCell *New();
   vtkTypeMacro(vtkBridgeCell,vtkGenericAdaptorCell);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Unique identification number of the cell over the whole
    * data set. This unique key may not be contiguous.
    */
-  virtual vtkIdType GetId();
+  vtkIdType GetId() VTK_OVERRIDE;
 
   /**
    * Does `this' a cell of a dataset? (otherwise, it is a boundary cell)
    */
-  virtual int IsInDataSet();
+  int IsInDataSet() VTK_OVERRIDE;
 
   /**
    * Type of the current cell.
@@ -56,19 +56,19 @@ public:
    * (result==VTK_HIGHER_ORDER_TRIANGLE)||
    * (result==VTK_HIGHER_ORDER_TETRAHEDRON)
    */
-  virtual int GetType();
+  int GetType() VTK_OVERRIDE;
 
   /**
    * Topological dimension of the current cell.
    * \post valid_result: result>=0 && result<=3
    */
-  virtual int GetDimension();
+  int GetDimension() VTK_OVERRIDE;
 
   /**
    * Interpolation order of the geometry.
    * \post positive_result: result>=0
    */
-  virtual int GetGeometryOrder();
+  int GetGeometryOrder() VTK_OVERRIDE;
 
   /**
    * Does the cell have no higher-order interpolation for geometry?
@@ -81,7 +81,7 @@ public:
    * \pre a_exists: a!=0
    * \post positive_result: result>=0
    */
-  virtual int GetAttributeOrder(vtkGenericAttribute *a);
+  int GetAttributeOrder(vtkGenericAttribute *a) VTK_OVERRIDE;
 
   /**
    * Does the attribute `a' have no higher-order interpolation for the cell?
@@ -93,13 +93,13 @@ public:
   /**
    * Is the cell primary (i.e. not composite) ?
    */
-  virtual int IsPrimary();
+  int IsPrimary() VTK_OVERRIDE;
 
   /**
    * Number of points that compose the cell.
    * \post positive_result: result>=0
    */
-  virtual int GetNumberOfPoints();
+  int GetNumberOfPoints() VTK_OVERRIDE;
 
   /**
    * Return the number of boundaries of dimension `dim' (or all dimensions
@@ -111,7 +111,7 @@ public:
    * \pre valid_dim_range: (dim==-1) || ((dim>=0)&&(dim<GetDimension()))
    * \post positive_result: result>=0
    */
-  virtual int GetNumberOfBoundaries(int dim=-1);
+  int GetNumberOfBoundaries(int dim=-1) VTK_OVERRIDE;
 
   /**
    * Accumulated number of DOF nodes of the current cell. A DOF node is
@@ -125,19 +125,19 @@ public:
    * an arbitrary number of field values associated with them.
    * \post valid_result: result==GetNumberOfBoundaries(-1)+1
    */
-  virtual int GetNumberOfDOFNodes();
+  int GetNumberOfDOFNodes() VTK_OVERRIDE;
 
   /**
    * Return the points of cell into `it'.
    * \pre it_exists: it!=0
    */
-  virtual void GetPointIterator(vtkGenericPointIterator *it);
+  void GetPointIterator(vtkGenericPointIterator *it) VTK_OVERRIDE;
 
   /**
    * Create an empty cell iterator.
    * \post result_exists: result!=0
    */
-  virtual vtkGenericCellIterator *NewCellIterator();
+  vtkGenericCellIterator *NewCellIterator() VTK_OVERRIDE;
 
   /**
    * Return in `boundaries' the cells of dimension `dim' (or all dimensions
@@ -145,8 +145,8 @@ public:
    * \pre valid_dim_range: (dim==-1) || ((dim>=0)&&(dim<GetDimension()))
    * \pre boundaries_exist: boundaries!=0
    */
-  virtual void GetBoundaryIterator(vtkGenericCellIterator *boundaries,
-                                   int dim=-1);
+  void GetBoundaryIterator(vtkGenericCellIterator *boundaries,
+                                   int dim=-1) VTK_OVERRIDE;
 
   //@{
   /**
@@ -159,8 +159,8 @@ public:
    * \pre boundary: HasBoundary(boundary)
    * \post positive_result: result>=0
    */
-  virtual int CountNeighbors(vtkGenericAdaptorCell *boundary);
-  void CountEdgeNeighbors( int* sharing );
+  int CountNeighbors(vtkGenericAdaptorCell *boundary) VTK_OVERRIDE;
+  void CountEdgeNeighbors( int* sharing ) VTK_OVERRIDE;
   //@}
 
   /**
@@ -173,8 +173,8 @@ public:
    * \pre boundary: HasBoundary(boundary)
    * \pre neighbors_exist: neighbors!=0
    */
-  virtual void GetNeighbors(vtkGenericAdaptorCell *boundary,
-                            vtkGenericCellIterator *neighbors);
+  void GetNeighbors(vtkGenericAdaptorCell *boundary,
+                            vtkGenericCellIterator *neighbors) VTK_OVERRIDE;
 
   /**
    * Compute the closest boundary of the current sub-cell `subId' for point
@@ -183,9 +183,9 @@ public:
    * GetDimension()-1.
    * \pre positive_subId: subId>=0
    */
-  virtual int FindClosestBoundary(int subId,
+  int FindClosestBoundary(int subId,
                                   double pcoords[3],
-                                  vtkGenericCellIterator* &boundary);
+                                  vtkGenericCellIterator* &boundary) VTK_OVERRIDE;
 
   /**
    * Is `x' inside the current cell? It also evaluate parametric coordinates
@@ -198,11 +198,11 @@ public:
    * \post positive_distance: result!=-1 implies (closestPoint!=0 implies
    * dist2>=0)
    */
-  virtual int EvaluatePosition(double x[3],
+  int EvaluatePosition(double x[3],
                                double *closestPoint,
                                int &subId,
                                double pcoords[3],
-                               double &dist2);
+                               double &dist2) VTK_OVERRIDE;
 
 /**
  * Determine global coordinates `x' from sub-cell `subId' and parametric
@@ -211,9 +211,9 @@ public:
  * \pre clamped_pcoords: (0<=pcoords[0])&&(pcoords[0]<=1)&&(0<=pcoords[1])
  * &&(pcoords[1]<=1)&&(0<=pcoords[2])&&(pcoords[2]<=1)
  */
-  virtual void EvaluateLocation(int subId,
+  void EvaluateLocation(int subId,
                                 double pcoords[3],
-                                double x[3]);
+                                double x[3]) VTK_OVERRIDE;
 
   /**
    * Interpolate the attribute `a' at local position `pcoords' of the cell into
@@ -225,8 +225,8 @@ public:
    * \pre val_exists: val!=0
    * \pre valid_size: sizeof(val)==a->GetNumberOfComponents()
    */
-  virtual void InterpolateTuple(vtkGenericAttribute *a, double pcoords[3],
-                                double *val);
+  void InterpolateTuple(vtkGenericAttribute *a, double pcoords[3],
+                                double *val) VTK_OVERRIDE;
 
   /**
    * Interpolate the whole collection of attributes `c' at local position
@@ -238,8 +238,8 @@ public:
    * \pre val_exists: val!=0
    * \pre valid_size: sizeof(val)==c->GetNumberOfPointCenteredComponents()
    */
-  virtual void InterpolateTuple(vtkGenericAttributeCollection *c, double pcoords[3],
-                                double *val);
+  void InterpolateTuple(vtkGenericAttributeCollection *c, double pcoords[3],
+                                double *val) VTK_OVERRIDE;
 #if 0
   /**
    * Generate a contour (contouring primitives) for each `values' or with
@@ -341,13 +341,13 @@ public:
    * the intersection occurs.
    * \pre positive_tolerance: tol>0
    */
-  virtual int IntersectWithLine(double p1[3],
+  int IntersectWithLine(double p1[3],
                                 double p2[3],
                                 double tol,
                                 double &t,
                                 double x[3],
                                 double pcoords[3],
-                                int &subId);
+                                int &subId) VTK_OVERRIDE;
 
   /**
    * Compute derivatives `derivs' of the attribute `attribute' (from its
@@ -361,17 +361,17 @@ public:
    * \pre derivs_exists: derivs!=0
    * \pre valid_size: sizeof(derivs)>=attribute->GetNumberOfComponents()*3
    */
-  virtual void Derivatives(int subId,
+  void Derivatives(int subId,
                            double pcoords[3],
                            vtkGenericAttribute *attribute,
-                           double *derivs);
+                           double *derivs) VTK_OVERRIDE;
 
   /**
    * Compute the bounding box of the current cell in `bounds' in global
    * coordinates.
    * THREAD SAFE
    */
-  virtual void GetBounds(double bounds[6]);
+  void GetBounds(double bounds[6]) VTK_OVERRIDE;
 
   /**
    * Return the bounding box of the current cell in global coordinates.
@@ -379,13 +379,13 @@ public:
    * \post result_exists: result!=0
    * \post valid_size: sizeof(result)>=6
    */
-  virtual double *GetBounds();
+  double *GetBounds() VTK_OVERRIDE;
 
   /**
    * Bounding box diagonal squared of the current cell.
    * \post positive_result: result>=0
    */
-  virtual double GetLength2();
+  double GetLength2() VTK_OVERRIDE;
 
   /**
    * Center of the current cell in parametric coordinates `pcoords'.
@@ -393,7 +393,7 @@ public:
    * that the center is in.
    * \post valid_result: (result>=0) && (IsPrimary() implies result==0)
    */
-  virtual int GetParametricCenter(double pcoords[3]);
+  int GetParametricCenter(double pcoords[3]) VTK_OVERRIDE;
 
   /**
    * Distance of the parametric coordinate `pcoords' to the current cell.
@@ -403,7 +403,7 @@ public:
    * cell.)
    * \post positive_result: result>=0
    */
-  virtual double GetParametricDistance(double pcoords[3]);
+  double GetParametricDistance(double pcoords[3]) VTK_OVERRIDE;
 
   /**
    * Return a contiguous array of parametric coordinates of the points defining
@@ -416,7 +416,7 @@ public:
    * ((!IsPrimary()) && (result==0))
    * result!=0 implies sizeof(result)==GetNumberOfPoints()
    */
-  virtual double *GetParametricCoords();
+  double *GetParametricCoords() VTK_OVERRIDE;
 #if 0
   //@{
   /**
@@ -437,8 +437,8 @@ public:
                           vtkPointData *pd, vtkCellData* cd);
 #endif
   // For the internals of the tesselation algorithm (the hash table in particular)
-  virtual int IsFaceOnBoundary(vtkIdType faceId);
-  virtual int IsOnBoundary();
+  int IsFaceOnBoundary(vtkIdType faceId) VTK_OVERRIDE;
+  int IsOnBoundary() VTK_OVERRIDE;
   //@}
 
   //@{
@@ -447,7 +447,7 @@ public:
    * \pre id_exists: id!=0
    * \pre valid_size: sizeof(id)==GetNumberOfPoints();
    */
-  virtual void GetPointIds(vtkIdType *id);
+  void GetPointIds(vtkIdType *id) VTK_OVERRIDE;
 #if 0
   virtual void TriangulateFace(vtkGenericAttributeCollection *attributes,
                                vtkGenericCellTessellator *tess,
@@ -465,7 +465,7 @@ public:
    * \post result_exists: result!=0
    * \post valid_size: sizeof(result)>=GetNumberOfVerticesOnFace(faceId)
    */
-  int *GetFaceArray(int faceId);
+  int *GetFaceArray(int faceId) VTK_OVERRIDE;
 
   /**
    * Return the number of vertices defining face `faceId'
@@ -473,7 +473,7 @@ public:
    * \pre valid_faceId_range: faceId>=0 && faceId<this->GetNumberOfBoundaries(2)
    * \post positive_result: && result>0
    */
-  int GetNumberOfVerticesOnFace(int faceId);
+  int GetNumberOfVerticesOnFace(int faceId) VTK_OVERRIDE;
 
   /**
    * Return the ids of the vertices defining edge `edgeId'.
@@ -482,7 +482,7 @@ public:
    * \post result_exists: result!=0
    * \post valid_size: sizeof(result)==2
    */
-  int *GetEdgeArray(int edgeId);
+  int *GetEdgeArray(int edgeId) VTK_OVERRIDE;
 
   /**
    * Used internally for the Bridge.
@@ -510,7 +510,7 @@ public:
 
 protected:
   vtkBridgeCell();
-  virtual ~vtkBridgeCell();
+  ~vtkBridgeCell() VTK_OVERRIDE;
 
   /**
    * Allocate an array for the weights, only if it does not exist yet or if
diff --git a/Testing/GenericBridge/vtkBridgeCellIterator.h b/Testing/GenericBridge/vtkBridgeCellIterator.h
index b69d2d0eda..b9bcf8b50b 100644
--- a/Testing/GenericBridge/vtkBridgeCellIterator.h
+++ b/Testing/GenericBridge/vtkBridgeCellIterator.h
@@ -45,23 +45,23 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeCellIterator : public vtkGenericCe
 public:
   static vtkBridgeCellIterator *New();
   vtkTypeMacro(vtkBridgeCellIterator,vtkGenericCellIterator);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Move iterator to first position if any (loop initialization).
    */
-  void Begin();
+  void Begin() VTK_OVERRIDE;
 
   /**
    * Is there no cell at iterator position? (exit condition).
    */
-  int IsAtEnd();
+  int IsAtEnd() VTK_OVERRIDE;
 
   /**
    * Create an empty cell.
    * \post result_exists: result!=0
    */
-  vtkGenericAdaptorCell *NewCell();
+  vtkGenericAdaptorCell *NewCell() VTK_OVERRIDE;
 
   /**
    * Cell at current position
@@ -69,7 +69,7 @@ public:
    * \pre c_exists: c!=0
    * THREAD SAFE
    */
-  void GetCell(vtkGenericAdaptorCell *c);
+  void GetCell(vtkGenericAdaptorCell *c) VTK_OVERRIDE;
 
   /**
    * Cell at current position.
@@ -77,13 +77,13 @@ public:
    * \pre not_at_end: !IsAtEnd()
    * \post result_exits: result!=0
    */
-  vtkGenericAdaptorCell *GetCell();
+  vtkGenericAdaptorCell *GetCell() VTK_OVERRIDE;
 
   /**
    * Move iterator to next position. (loop progression).
    * \pre not_at_end: !IsAtEnd()
    */
-  void Next();
+  void Next() VTK_OVERRIDE;
 
   /**
    * Used internally by vtkBridgeDataSet.
@@ -154,7 +154,7 @@ public:
 
 protected:
   vtkBridgeCellIterator();
-  virtual ~vtkBridgeCellIterator();
+  ~vtkBridgeCellIterator() VTK_OVERRIDE;
 
   vtkBridgeCellIteratorStrategy *CurrentIterator;
   vtkBridgeCellIteratorOnDataSet *IteratorOnDataSet;
diff --git a/Testing/GenericBridge/vtkBridgeCellIteratorOnCellBoundaries.h b/Testing/GenericBridge/vtkBridgeCellIteratorOnCellBoundaries.h
index 46ff74c817..03d010d560 100644
--- a/Testing/GenericBridge/vtkBridgeCellIteratorOnCellBoundaries.h
+++ b/Testing/GenericBridge/vtkBridgeCellIteratorOnCellBoundaries.h
@@ -37,17 +37,17 @@ public:
   static vtkBridgeCellIteratorOnCellBoundaries *New();
   vtkTypeMacro(vtkBridgeCellIteratorOnCellBoundaries,
                        vtkBridgeCellIteratorStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Move iterator to first position if any (loop initialization).
    */
-  void Begin();
+  void Begin() VTK_OVERRIDE;
 
   /**
    * Is there no cell at iterator position? (exit condition).
    */
-  int IsAtEnd();
+  int IsAtEnd() VTK_OVERRIDE;
 
   /**
    * Cell at current position
@@ -55,7 +55,7 @@ public:
    * \pre c_exists: c!=0
    * THREAD SAFE
    */
-  void GetCell(vtkGenericAdaptorCell *c);
+  void GetCell(vtkGenericAdaptorCell *c) VTK_OVERRIDE;
 
   /**
    * Cell at current position.
@@ -63,13 +63,13 @@ public:
    * \pre not_at_end: !IsAtEnd()
    * \post result_exits: result!=0
    */
-  vtkGenericAdaptorCell *GetCell();
+  vtkGenericAdaptorCell *GetCell() VTK_OVERRIDE;
 
   /**
    * Move iterator to next position. (loop progression).
    * \pre not_at_end: !IsAtEnd()
    */
-  void Next();
+  void Next() VTK_OVERRIDE;
 
   /**
    * Used internally by vtkBridgeCell.
@@ -82,7 +82,7 @@ public:
 
 protected:
   vtkBridgeCellIteratorOnCellBoundaries();
-  virtual ~vtkBridgeCellIteratorOnCellBoundaries();
+  ~vtkBridgeCellIteratorOnCellBoundaries() VTK_OVERRIDE;
 
   int Dim; // Dimension of cells over which to iterate (-1 to 3)
 
diff --git a/Testing/GenericBridge/vtkBridgeCellIteratorOnCellList.h b/Testing/GenericBridge/vtkBridgeCellIteratorOnCellList.h
index ee0ae46f10..2c985ea809 100644
--- a/Testing/GenericBridge/vtkBridgeCellIteratorOnCellList.h
+++ b/Testing/GenericBridge/vtkBridgeCellIteratorOnCellList.h
@@ -36,17 +36,17 @@ public:
   static vtkBridgeCellIteratorOnCellList *New();
   vtkTypeMacro(vtkBridgeCellIteratorOnCellList,
                        vtkBridgeCellIteratorStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Move iterator to first position if any (loop initialization).
    */
-  void Begin();
+  void Begin() VTK_OVERRIDE;
 
   /**
    * Is there no cell at iterator position? (exit condition).
    */
-  int IsAtEnd();
+  int IsAtEnd() VTK_OVERRIDE;
 
   /**
    * Cell at current position
@@ -54,7 +54,7 @@ public:
    * \pre c_exists: c!=0
    * THREAD SAFE
    */
-  void GetCell(vtkGenericAdaptorCell *c);
+  void GetCell(vtkGenericAdaptorCell *c) VTK_OVERRIDE;
 
   /**
    * Cell at current position.
@@ -62,13 +62,13 @@ public:
    * \pre not_at_end: !IsAtEnd()
    * \post result_exits: result!=0
    */
-  vtkGenericAdaptorCell *GetCell();
+  vtkGenericAdaptorCell *GetCell() VTK_OVERRIDE;
 
   /**
    * Move iterator to next position. (loop progression).
    * \pre not_at_end: !IsAtEnd()
    */
-  void Next();
+  void Next() VTK_OVERRIDE;
 
   /**
    * Used internally by vtkBridgeCell.
@@ -81,7 +81,7 @@ public:
 
 protected:
   vtkBridgeCellIteratorOnCellList();
-  virtual ~vtkBridgeCellIteratorOnCellList();
+  ~vtkBridgeCellIteratorOnCellList() VTK_OVERRIDE;
 
   vtkIdList *Cells; // cells traversed by the iterator.
   vtkBridgeDataSet *DataSet;
diff --git a/Testing/GenericBridge/vtkBridgeCellIteratorOnDataSet.h b/Testing/GenericBridge/vtkBridgeCellIteratorOnDataSet.h
index 07c01b1c64..bca10a41ef 100644
--- a/Testing/GenericBridge/vtkBridgeCellIteratorOnDataSet.h
+++ b/Testing/GenericBridge/vtkBridgeCellIteratorOnDataSet.h
@@ -35,17 +35,17 @@ public:
   static vtkBridgeCellIteratorOnDataSet *New();
   vtkTypeMacro(vtkBridgeCellIteratorOnDataSet,
                        vtkBridgeCellIteratorStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Move iterator to first position if any (loop initialization).
    */
-  void Begin();
+  void Begin() VTK_OVERRIDE;
 
   /**
    * Is there no cell at iterator position? (exit condition).
    */
-  int IsAtEnd();
+  int IsAtEnd() VTK_OVERRIDE;
 
   /**
    * Cell at current position
@@ -53,7 +53,7 @@ public:
    * \pre c_exists: c!=0
    * THREAD SAFE
    */
-  void GetCell(vtkGenericAdaptorCell *c);
+  void GetCell(vtkGenericAdaptorCell *c) VTK_OVERRIDE;
 
   /**
    * Cell at current position.
@@ -61,13 +61,13 @@ public:
    * \pre not_at_end: !IsAtEnd()
    * \post result_exits: result!=0
    */
-  vtkGenericAdaptorCell *GetCell();
+  vtkGenericAdaptorCell *GetCell() VTK_OVERRIDE;
 
   /**
    * Move iterator to next position. (loop progression).
    * \pre not_at_end: !IsAtEnd()
    */
-  void Next();
+  void Next() VTK_OVERRIDE;
 
   /**
    * Used internally by vtkBridgeDataSet.
@@ -80,7 +80,7 @@ public:
 
 protected:
   vtkBridgeCellIteratorOnDataSet();
-  virtual ~vtkBridgeCellIteratorOnDataSet();
+  ~vtkBridgeCellIteratorOnDataSet() VTK_OVERRIDE;
 
   int Dim; // Dimension of cells over which to iterate (-1 to 3)
 
diff --git a/Testing/GenericBridge/vtkBridgeCellIteratorOne.h b/Testing/GenericBridge/vtkBridgeCellIteratorOne.h
index 39aedeea8f..2e0f03a315 100644
--- a/Testing/GenericBridge/vtkBridgeCellIteratorOne.h
+++ b/Testing/GenericBridge/vtkBridgeCellIteratorOne.h
@@ -37,17 +37,17 @@ public:
   static vtkBridgeCellIteratorOne *New();
   vtkTypeMacro(vtkBridgeCellIteratorOne,
                        vtkBridgeCellIteratorStrategy);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Move iterator to first position if any (loop initialization).
    */
-  void Begin();
+  void Begin() VTK_OVERRIDE;
 
   /**
    * Is there no cell at iterator position? (exit condition).
    */
-  int IsAtEnd();
+  int IsAtEnd() VTK_OVERRIDE;
 
   /**
    * Cell at current position
@@ -55,7 +55,7 @@ public:
    * \pre c_exists: c!=0
    * THREAD SAFE
    */
-  void GetCell(vtkGenericAdaptorCell *c);
+  void GetCell(vtkGenericAdaptorCell *c) VTK_OVERRIDE;
 
   /**
    * Cell at current position.
@@ -63,13 +63,13 @@ public:
    * \pre not_at_end: !IsAtEnd()
    * \post result_exits: result!=0
    */
-  vtkGenericAdaptorCell *GetCell();
+  vtkGenericAdaptorCell *GetCell() VTK_OVERRIDE;
 
   /**
    * Move iterator to next position. (loop progression).
    * \pre not_at_end: !IsAtEnd()
    */
-  void Next();
+  void Next() VTK_OVERRIDE;
 
   /**
    * Used internally by vtkBridgeDataSet.
@@ -103,7 +103,7 @@ public:
 
 protected:
   vtkBridgeCellIteratorOne();
-  virtual ~vtkBridgeCellIteratorOne();
+  ~vtkBridgeCellIteratorOne() VTK_OVERRIDE;
 
   int cIsAtEnd;
   vtkBridgeDataSet *DataSet; // the structure on which the objet iterates.
diff --git a/Testing/GenericBridge/vtkBridgeCellIteratorStrategy.h b/Testing/GenericBridge/vtkBridgeCellIteratorStrategy.h
index e6ff1297b3..5ce3aef5e1 100644
--- a/Testing/GenericBridge/vtkBridgeCellIteratorStrategy.h
+++ b/Testing/GenericBridge/vtkBridgeCellIteratorStrategy.h
@@ -40,17 +40,17 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeCellIteratorStrategy : public vtkG
 {
 public:
   vtkTypeMacro(vtkBridgeCellIteratorStrategy,vtkGenericCellIterator);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Create an empty cell. NOT USED
    * \post result_exists: result!=0
    */
-  vtkGenericAdaptorCell *NewCell();
+  vtkGenericAdaptorCell *NewCell() VTK_OVERRIDE;
 
 protected:
   vtkBridgeCellIteratorStrategy() {}
-  virtual ~vtkBridgeCellIteratorStrategy() {}
+  ~vtkBridgeCellIteratorStrategy() VTK_OVERRIDE {}
 
 private:
   vtkBridgeCellIteratorStrategy(const vtkBridgeCellIteratorStrategy&) VTK_DELETE_FUNCTION;
diff --git a/Testing/GenericBridge/vtkBridgeDataSet.h b/Testing/GenericBridge/vtkBridgeDataSet.h
index 246c921575..34a7fc0ed1 100644
--- a/Testing/GenericBridge/vtkBridgeDataSet.h
+++ b/Testing/GenericBridge/vtkBridgeDataSet.h
@@ -33,7 +33,7 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeDataSet : public vtkGenericDataSet
 public:
   static vtkBridgeDataSet *New();
   vtkTypeMacro(vtkBridgeDataSet,vtkGenericDataSet);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Return the dataset that will be manipulated through the adaptor interface.
@@ -51,7 +51,7 @@ public:
    * details.
    * \post positive_result: result>=0
    */
-  virtual vtkIdType GetNumberOfPoints();
+  vtkIdType GetNumberOfPoints() VTK_OVERRIDE;
 
   /**
    * Number of cells that explicitly define the dataset. See NewCellIterator
@@ -59,7 +59,7 @@ public:
    * \pre valid_dim_range: (dim>=-1) && (dim<=3)
    * \post positive_result: result>=0
    */
-  virtual vtkIdType GetNumberOfCells(int dim=-1);
+  vtkIdType GetNumberOfCells(int dim=-1) VTK_OVERRIDE;
 
   /**
    * Return -1 if the dataset is explicitly defined by cells of several
@@ -68,7 +68,7 @@ public:
    * dimension, return this dimension.
    * \post valid_range: (result>=-1) && (result<=3)
    */
-  virtual int GetCellDimension();
+  int GetCellDimension() VTK_OVERRIDE;
 
   /**
    * Get a list of types of cells in a dataset. The list consists of an array
@@ -80,7 +80,7 @@ public:
    * THE DATASET IS NOT MODIFIED
    * \pre types_exist: types!=0
    */
-  void GetCellTypes(vtkCellTypes *types);
+  void GetCellTypes(vtkCellTypes *types) VTK_OVERRIDE;
 
   /**
    * Cells of dimension `dim' (or all dimensions if -1) that explicitly define
@@ -91,7 +91,7 @@ public:
    * \pre valid_dim_range: (dim>=-1) && (dim<=3)
    * \post result_exists: result!=0
    */
-  vtkGenericCellIterator *NewCellIterator(int dim=-1);
+  vtkGenericCellIterator *NewCellIterator(int dim=-1) VTK_OVERRIDE;
 
   /**
    * Boundaries of dimension `dim' (or all dimensions if -1) of the dataset.
@@ -102,19 +102,19 @@ public:
    * \post result_exists: result!=0
    */
   vtkGenericCellIterator *NewBoundaryIterator(int dim=-1,
-                                       int exteriorOnly=0);
+                                       int exteriorOnly=0) VTK_OVERRIDE;
 
   /**
    * Points composing the dataset; they can be on a vertex or isolated.
    * \post result_exists: result!=0
    */
-  vtkGenericPointIterator *NewPointIterator();
+  vtkGenericPointIterator *NewPointIterator() VTK_OVERRIDE;
 
 
   /**
    * Estimated size needed after tessellation (or special operation)
    */
-  vtkIdType GetEstimatedSize();
+  vtkIdType GetEstimatedSize() VTK_OVERRIDE;
 
   /**
    * Locate closest cell to position `x' (global coordinates) with respect to
@@ -132,7 +132,7 @@ public:
                vtkGenericCellIterator* &cell,
                double tol2,
                int &subId,
-               double pcoords[3]);
+               double pcoords[3]) VTK_OVERRIDE;
 
   /**
    * Locate closest point `p' to position `x' (global coordinates)
@@ -140,22 +140,22 @@ public:
    * \pre p_exists: p!=0
    */
   void FindPoint(double x[3],
-                 vtkGenericPointIterator *p);
+                 vtkGenericPointIterator *p) VTK_OVERRIDE;
 
   /**
    * Datasets are composite objects and need to check each part for MTime.
    */
-  vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
   /**
    * Compute the geometry bounding box.
    */
-  void ComputeBounds();
+  void ComputeBounds() VTK_OVERRIDE;
 
 protected:
   // Constructor with default bounds (0,1, 0,1, 0,1).
   vtkBridgeDataSet();
-  virtual ~vtkBridgeDataSet();
+  ~vtkBridgeDataSet() VTK_OVERRIDE;
 
   friend class vtkBridgeCell;
   friend class vtkBridgeCellIterator;
diff --git a/Testing/GenericBridge/vtkBridgePointIterator.h b/Testing/GenericBridge/vtkBridgePointIterator.h
index d3c02a8b3f..75a3302a30 100644
--- a/Testing/GenericBridge/vtkBridgePointIterator.h
+++ b/Testing/GenericBridge/vtkBridgePointIterator.h
@@ -40,43 +40,43 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgePointIterator : public vtkGenericP
 public:
   static vtkBridgePointIterator *New();
   vtkTypeMacro(vtkBridgePointIterator,vtkGenericPointIterator);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Move iterator to first position if any (loop initialization).
    */
-  void Begin();
+  void Begin() VTK_OVERRIDE;
 
   /**
    * Is there no point at iterator position? (exit condition).
    */
-  int IsAtEnd();
+  int IsAtEnd() VTK_OVERRIDE;
 
   /**
    * Move iterator to next position. (loop progression).
    * \pre not_off: !IsAtEnd()
    */
-  void Next();
+  void Next() VTK_OVERRIDE;
 
   /**
    * Point at iterator position.
    * \pre not_off: !IsAtEnd()
    * \post result_exists: result!=0
    */
-  double *GetPosition();
+  double *GetPosition() VTK_OVERRIDE;
 
   /**
    * Point at iterator position.
    * \pre not_off: !IsAtEnd()
    * \pre x_exists: x!=0
    */
-  void GetPosition(double x[3]);
+  void GetPosition(double x[3]) VTK_OVERRIDE;
 
   /**
    * Unique identifier for the point, could be non-contiguous
    * \pre not_off: !IsAtEnd()
    */
-  vtkIdType GetId();
+  vtkIdType GetId() VTK_OVERRIDE;
 
   /**
    * Used internally by vtkBridgeDataSet.
@@ -109,7 +109,7 @@ protected:
   /**
    * Destructor.
    */
-  virtual ~vtkBridgePointIterator();
+  ~vtkBridgePointIterator() VTK_OVERRIDE;
 
   vtkGenericPointIterator *CurrentIterator;
   vtkBridgePointIteratorOnDataSet *IteratorOnDataSet;
diff --git a/Testing/GenericBridge/vtkBridgePointIteratorOnCell.h b/Testing/GenericBridge/vtkBridgePointIteratorOnCell.h
index 0d9456429c..af52a3a6c7 100644
--- a/Testing/GenericBridge/vtkBridgePointIteratorOnCell.h
+++ b/Testing/GenericBridge/vtkBridgePointIteratorOnCell.h
@@ -36,43 +36,43 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgePointIteratorOnCell : public vtkGe
 public:
   static vtkBridgePointIteratorOnCell *New();
   vtkTypeMacro(vtkBridgePointIteratorOnCell,vtkGenericPointIterator);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Move iterator to first position if any (loop initialization).
    */
-  void Begin();
+  void Begin() VTK_OVERRIDE;
 
   /**
    * Is there no point at iterator position? (exit condition).
    */
-  int IsAtEnd();
+  int IsAtEnd() VTK_OVERRIDE;
 
   /**
    * Move iterator to next position. (loop progression).
    * \pre not_off: !IsAtEnd()
    */
-  void Next();
+  void Next() VTK_OVERRIDE;
 
   /**
    * Point at iterator position.
    * \pre not_off: !IsAtEnd()
    * \post result_exists: result!=0
    */
-  double *GetPosition();
+  double *GetPosition() VTK_OVERRIDE;
 
   /**
    * Point at iterator position.
    * \pre not_off: !IsAtEnd()
    * \pre x_exists: x!=0
    */
-  void GetPosition(double x[3]);
+  void GetPosition(double x[3]) VTK_OVERRIDE;
 
   /**
    * Unique identifier for the point, could be non-contiguous
    * \pre not_off: !IsAtEnd()
    */
-  vtkIdType GetId();
+  vtkIdType GetId() VTK_OVERRIDE;
 
   /**
    * The iterator will iterate over the point of a cell
@@ -89,7 +89,7 @@ protected:
   /**
    * Destructor.
    */
-  virtual ~vtkBridgePointIteratorOnCell();
+  ~vtkBridgePointIteratorOnCell() VTK_OVERRIDE;
 
   vtkBridgeDataSet *DataSet; // the structure on which the objet iterates.
   vtkIdType Cursor; // current position
diff --git a/Testing/GenericBridge/vtkBridgePointIteratorOnDataSet.h b/Testing/GenericBridge/vtkBridgePointIteratorOnDataSet.h
index 7b4da05922..1d6ebb3af4 100644
--- a/Testing/GenericBridge/vtkBridgePointIteratorOnDataSet.h
+++ b/Testing/GenericBridge/vtkBridgePointIteratorOnDataSet.h
@@ -35,43 +35,43 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgePointIteratorOnDataSet : public vt
 public:
   static vtkBridgePointIteratorOnDataSet *New();
   vtkTypeMacro(vtkBridgePointIteratorOnDataSet,vtkGenericPointIterator);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Move iterator to first position if any (loop initialization).
    */
-  void Begin();
+  void Begin() VTK_OVERRIDE;
 
   /**
    * Is there no point at iterator position? (exit condition).
    */
-  int IsAtEnd();
+  int IsAtEnd() VTK_OVERRIDE;
 
   /**
    * Move iterator to next position. (loop progression).
    * \pre not_off: !IsAtEnd()
    */
-  void Next();
+  void Next() VTK_OVERRIDE;
 
   /**
    * Point at iterator position.
    * \pre not_off: !IsAtEnd()
    * \post result_exists: result!=0
    */
-  double *GetPosition();
+  double *GetPosition() VTK_OVERRIDE;
 
   /**
    * Point at iterator position.
    * \pre not_off: !IsAtEnd()
    * \pre x_exists: x!=0
    */
-  void GetPosition(double x[3]);
+  void GetPosition(double x[3]) VTK_OVERRIDE;
 
   /**
    * Unique identifier for the point, could be non-contiguous
    * \pre not_off: !IsAtEnd()
    */
-  vtkIdType GetId();
+  vtkIdType GetId() VTK_OVERRIDE;
 
   /**
    * Used internally by vtkBridgeDataSet.
@@ -89,7 +89,7 @@ protected:
   /**
    * Destructor.
    */
-  virtual ~vtkBridgePointIteratorOnDataSet();
+  ~vtkBridgePointIteratorOnDataSet() VTK_OVERRIDE;
 
   vtkBridgeDataSet *DataSet; // the structure on which the objet iterates.
   vtkIdType Id; // the id at current position.
diff --git a/Testing/GenericBridge/vtkBridgePointIteratorOne.h b/Testing/GenericBridge/vtkBridgePointIteratorOne.h
index 6d5ba1db78..d4e78e4ba3 100644
--- a/Testing/GenericBridge/vtkBridgePointIteratorOne.h
+++ b/Testing/GenericBridge/vtkBridgePointIteratorOne.h
@@ -32,43 +32,43 @@ class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgePointIteratorOne : public vtkGener
 public:
   static vtkBridgePointIteratorOne *New();
   vtkTypeMacro(vtkBridgePointIteratorOne,vtkGenericPointIterator);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Move iterator to first position if any (loop initialization).
    */
-  void Begin();
+  void Begin() VTK_OVERRIDE;
 
   /**
    * Is there no point at iterator position? (exit condition).
    */
-  int IsAtEnd();
+  int IsAtEnd() VTK_OVERRIDE;
 
   /**
    * Move iterator to next position. (loop progression).
    * \pre not_off: !IsAtEnd()
    */
-  void Next();
+  void Next() VTK_OVERRIDE;
 
   /**
    * Point at iterator position.
    * \pre not_off: !IsAtEnd()
    * \post result_exists: result!=0
    */
-  double *GetPosition();
+  double *GetPosition() VTK_OVERRIDE;
 
   /**
    * Point at iterator position.
    * \pre not_off: !IsAtEnd()
    * \pre x_exists: x!=0
    */
-  void GetPosition(double x[3]);
+  void GetPosition(double x[3]) VTK_OVERRIDE;
 
   /**
    * Unique identifier for the point, could be non-contiguous
    * \pre not_off: !IsAtEnd()
    */
-  vtkIdType GetId();
+  vtkIdType GetId() VTK_OVERRIDE;
 
   /**
    * Used internally by vtkBridgeDataSet.
@@ -88,7 +88,7 @@ protected:
   /**
    * Destructor.
    */
-  virtual ~vtkBridgePointIteratorOne();
+  ~vtkBridgePointIteratorOne() VTK_OVERRIDE;
 
   vtkBridgeDataSet *DataSet; // the structure on which the objet iterates.
   vtkIdType Id; // the id at current position.
diff --git a/Testing/Rendering/vtkTesting.h b/Testing/Rendering/vtkTesting.h
index f6994f07f3..ed134ec1a1 100644
--- a/Testing/Rendering/vtkTesting.h
+++ b/Testing/Rendering/vtkTesting.h
@@ -79,7 +79,7 @@ class VTKTESTINGRENDERING_EXPORT vtkTesting : public vtkObject
 public:
   static vtkTesting *New();
   vtkTypeMacro(vtkTesting,vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   enum ReturnValue {
     FAILED = 0,
@@ -312,7 +312,7 @@ public:
 
 protected:
   vtkTesting();
-  ~vtkTesting();
+  ~vtkTesting() VTK_OVERRIDE;
 
   static char* IncrementFileName(const char* fname, int count);
   static int LookForFile(const char* newFileName);
diff --git a/Testing/Rendering/vtkTestingInteractor.h b/Testing/Rendering/vtkTestingInteractor.h
index 553f387abc..8c369e3048 100644
--- a/Testing/Rendering/vtkTestingInteractor.h
+++ b/Testing/Rendering/vtkTestingInteractor.h
@@ -46,10 +46,10 @@ public:
    * Type and printing information.
    */
   vtkTypeMacro(vtkTestingInteractor,vtkRenderWindowInteractor);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   //@}
 
-  virtual void Start();
+  void Start() VTK_OVERRIDE;
 
   static int         TestReturnStatus;  // Return status of the test
   static double      ErrorThreshold;    // Error Threshold
diff --git a/Utilities/PythonInterpreter/vtkPythonInteractiveInterpreter.h b/Utilities/PythonInterpreter/vtkPythonInteractiveInterpreter.h
index edf97e57a3..526f32c9a9 100644
--- a/Utilities/PythonInterpreter/vtkPythonInteractiveInterpreter.h
+++ b/Utilities/PythonInterpreter/vtkPythonInteractiveInterpreter.h
@@ -46,7 +46,7 @@ class VTKPYTHONINTERPRETER_EXPORT vtkPythonInteractiveInterpreter : public vtkOb
 public:
   static vtkPythonInteractiveInterpreter* New();
   vtkTypeMacro(vtkPythonInteractiveInterpreter, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Push a line of code. It should have have trailing newlines. It can have
diff --git a/Utilities/PythonInterpreter/vtkPythonInterpreter.h b/Utilities/PythonInterpreter/vtkPythonInterpreter.h
index d3b5a6e43f..f1226f9d8c 100644
--- a/Utilities/PythonInterpreter/vtkPythonInterpreter.h
+++ b/Utilities/PythonInterpreter/vtkPythonInterpreter.h
@@ -62,7 +62,7 @@ class VTKPYTHONINTERPRETER_EXPORT vtkPythonInterpreter : public vtkObject
 public:
   static vtkPythonInterpreter* New();
   vtkTypeMacro(vtkPythonInterpreter, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Call this method to initialize Python. This has no effect if Python is
diff --git a/Views/Context2D/vtkContextInteractorStyle.h b/Views/Context2D/vtkContextInteractorStyle.h
index b329aa1494..741993a26a 100644
--- a/Views/Context2D/vtkContextInteractorStyle.h
+++ b/Views/Context2D/vtkContextInteractorStyle.h
@@ -38,7 +38,7 @@ class VTKVIEWSCONTEXT2D_EXPORT vtkContextInteractorStyle : public vtkInteractorS
 public:
   static vtkContextInteractorStyle *New();
   vtkTypeMacro(vtkContextInteractorStyle, vtkInteractorStyle);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set the scene to forward user events to.
@@ -63,55 +63,55 @@ public:
    * Called when the user moves the mouse
    * Default behavior forwards the event to the observed scene.
    */
-  virtual void OnMouseMove();
+  void OnMouseMove() VTK_OVERRIDE;
 
   /**
    * Called when the user clicks the mouse left button.
    * Default behavior forwards the event to the observed scene.
    */
-  virtual void OnLeftButtonDown();
+  void OnLeftButtonDown() VTK_OVERRIDE;
 
   /**
    * Called when the user releases the mouse left button.
    * Default behavior forwards the event to the observed scene.
    */
-  virtual void OnLeftButtonUp();
+  void OnLeftButtonUp() VTK_OVERRIDE;
 
   /**
    * Called when the user clicks the mouse middle button.
    * Default behavior forwards the event to the observed scene.
    */
-  virtual void OnMiddleButtonDown();
+  void OnMiddleButtonDown() VTK_OVERRIDE;
 
   /**
    * Called when the user releases the mouse middle button.
    * Default behavior forwards the event to the observed scene.
    */
-  virtual void OnMiddleButtonUp();
+  void OnMiddleButtonUp() VTK_OVERRIDE;
 
   /**
    * Called when the user clicks the mouse right button.
    * Default behavior forwards the event to the observed scene.
    */
-  virtual void OnRightButtonDown();
+  void OnRightButtonDown() VTK_OVERRIDE;
 
   /**
    * Called when the user releases the mouse right button.
    * Default behavior forwards the event to the observed scene.
    */
-  virtual void OnRightButtonUp();
+  void OnRightButtonUp() VTK_OVERRIDE;
 
   /**
    * Called when the user moves the mouse wheel forward.
    * Default behavior forwards the event to the observed scene.
    */
-  virtual void OnMouseWheelForward();
+  void OnMouseWheelForward() VTK_OVERRIDE;
 
   /**
    * Called when the user moves the mouse wheel backward.
    * Default behavior forwards the event to the observed scene.
    */
-  virtual void OnMouseWheelBackward();
+  void OnMouseWheelBackward() VTK_OVERRIDE;
 
   /**
    * Place holder for future implementation.
@@ -122,21 +122,21 @@ public:
   /**
    * Handle key presses.
    */
-  virtual void OnChar();
+  void OnChar() VTK_OVERRIDE;
 
   /**
    * Called when the user presses a key.
    */
-  virtual void OnKeyPress();
+  void OnKeyPress() VTK_OVERRIDE;
 
   /**
    * Called when the user releases a key.
    */
-  virtual void OnKeyRelease();
+  void OnKeyRelease() VTK_OVERRIDE;
 
 protected:
   vtkContextInteractorStyle();
-  ~vtkContextInteractorStyle();
+  ~vtkContextInteractorStyle() VTK_OVERRIDE;
 
   static void ProcessSceneEvents(vtkObject* object, unsigned long event,
                                  void* clientdata, void* calldata);
diff --git a/Views/Context2D/vtkContextView.h b/Views/Context2D/vtkContextView.h
index 182d489e84..0bd335540b 100644
--- a/Views/Context2D/vtkContextView.h
+++ b/Views/Context2D/vtkContextView.h
@@ -38,7 +38,7 @@ class vtkContextScene;
 class VTKVIEWSCONTEXT2D_EXPORT vtkContextView : public vtkRenderViewBase
 {
 public:
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
   vtkTypeMacro(vtkContextView, vtkRenderViewBase);
 
   static vtkContextView* New();
@@ -65,7 +65,7 @@ public:
 
 protected:
   vtkContextView();
-  ~vtkContextView();
+  ~vtkContextView() VTK_OVERRIDE;
 
   vtkSmartPointer<vtkContextScene> Scene;
   vtkSmartPointer<vtkContext2D> Context;
diff --git a/Views/Core/vtkConvertSelectionDomain.h b/Views/Core/vtkConvertSelectionDomain.h
index 0c9a2304fe..50664c8889 100644
--- a/Views/Core/vtkConvertSelectionDomain.h
+++ b/Views/Core/vtkConvertSelectionDomain.h
@@ -51,22 +51,22 @@ class VTKVIEWSCORE_EXPORT vtkConvertSelectionDomain : public vtkPassInputTypeAlg
 public:
   static vtkConvertSelectionDomain *New();
   vtkTypeMacro(vtkConvertSelectionDomain, vtkPassInputTypeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
 protected:
   vtkConvertSelectionDomain();
-  ~vtkConvertSelectionDomain();
+  ~vtkConvertSelectionDomain() VTK_OVERRIDE;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation *,
     vtkInformationVector **,
-    vtkInformationVector *);
+    vtkInformationVector *) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(
-    int port, vtkInformation* info);
+  int FillInputPortInformation(
+    int port, vtkInformation* info) VTK_OVERRIDE;
 
-  virtual int FillOutputPortInformation(
-    int port, vtkInformation* info);
+  int FillOutputPortInformation(
+    int port, vtkInformation* info) VTK_OVERRIDE;
 
 private:
   vtkConvertSelectionDomain(const vtkConvertSelectionDomain&) VTK_DELETE_FUNCTION;
diff --git a/Views/Core/vtkDataRepresentation.h b/Views/Core/vtkDataRepresentation.h
index 72d9291abe..a2704e895e 100644
--- a/Views/Core/vtkDataRepresentation.h
+++ b/Views/Core/vtkDataRepresentation.h
@@ -68,7 +68,7 @@ class VTKVIEWSCORE_EXPORT vtkDataRepresentation : public vtkPassInputTypeAlgorit
 public:
   static vtkDataRepresentation *New();
   vtkTypeMacro(vtkDataRepresentation, vtkPassInputTypeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Convenience override method for obtaining the input connection
@@ -227,7 +227,7 @@ public:
 
 protected:
   vtkDataRepresentation();
-  ~vtkDataRepresentation();
+  ~vtkDataRepresentation() VTK_OVERRIDE;
 
   /**
    * Subclasses should override this to connect inputs to the internal pipeline
@@ -239,10 +239,10 @@ protected:
    * GetInternalSelectionOutputPort should be used to obtain a selection or
    * annotation port whose selections are localized for a particular input data object.
    */
-  virtual int RequestData(
+  int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*)
+    vtkInformationVector*) VTK_OVERRIDE
     { return 1; }
 
   /**
diff --git a/Views/Core/vtkEmptyRepresentation.h b/Views/Core/vtkEmptyRepresentation.h
index e18ba3ba51..44aaaba00f 100644
--- a/Views/Core/vtkEmptyRepresentation.h
+++ b/Views/Core/vtkEmptyRepresentation.h
@@ -37,22 +37,22 @@ class VTKVIEWSCORE_EXPORT vtkEmptyRepresentation : public vtkDataRepresentation
 public:
   static vtkEmptyRepresentation* New();
   vtkTypeMacro(vtkEmptyRepresentation, vtkDataRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Since this representation has no inputs, override superclass
    * implementation with one that ignores "port" and "conn" and still allows it
    * to have an annotation output.
    */
-  virtual vtkAlgorithmOutput* GetInternalAnnotationOutputPort()
+  vtkAlgorithmOutput* GetInternalAnnotationOutputPort() VTK_OVERRIDE
     { return this->GetInternalAnnotationOutputPort(0); }
-  virtual vtkAlgorithmOutput* GetInternalAnnotationOutputPort(int port)
+  vtkAlgorithmOutput* GetInternalAnnotationOutputPort(int port) VTK_OVERRIDE
     { return this->GetInternalAnnotationOutputPort(port, 0); }
-  virtual vtkAlgorithmOutput* GetInternalAnnotationOutputPort(int port, int conn);
+  vtkAlgorithmOutput* GetInternalAnnotationOutputPort(int port, int conn) VTK_OVERRIDE;
 
 protected:
   vtkEmptyRepresentation();
-  ~vtkEmptyRepresentation();
+  ~vtkEmptyRepresentation() VTK_OVERRIDE;
 
 private:
   vtkEmptyRepresentation(const vtkEmptyRepresentation&) VTK_DELETE_FUNCTION;
diff --git a/Views/Core/vtkRenderViewBase.h b/Views/Core/vtkRenderViewBase.h
index 1d6b72d761..38d35d4513 100644
--- a/Views/Core/vtkRenderViewBase.h
+++ b/Views/Core/vtkRenderViewBase.h
@@ -51,7 +51,7 @@ class VTKVIEWSCORE_EXPORT vtkRenderViewBase : public vtkView
 public:
   static vtkRenderViewBase* New();
   vtkTypeMacro(vtkRenderViewBase, vtkView);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Gets the renderer for this view.
@@ -103,7 +103,7 @@ public:
 
 protected:
   vtkRenderViewBase();
-  ~vtkRenderViewBase();
+  ~vtkRenderViewBase() VTK_OVERRIDE;
 
   /**
    * Called by the view when the renderer is about to render.
diff --git a/Views/Core/vtkView.h b/Views/Core/vtkView.h
index a37717723e..ad4ab26da2 100644
--- a/Views/Core/vtkView.h
+++ b/Views/Core/vtkView.h
@@ -56,7 +56,7 @@ class VTKVIEWSCORE_EXPORT vtkView : public vtkObject
 public:
   static vtkView *New();
   vtkTypeMacro(vtkView, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Adds the representation to the view.
@@ -206,7 +206,7 @@ public:
 
 protected:
   vtkView();
-  ~vtkView();
+  ~vtkView() VTK_OVERRIDE;
 
   /**
    * Called to process events.
diff --git a/Views/Core/vtkViewTheme.h b/Views/Core/vtkViewTheme.h
index caccdafc71..616856a202 100644
--- a/Views/Core/vtkViewTheme.h
+++ b/Views/Core/vtkViewTheme.h
@@ -44,7 +44,7 @@ class VTKVIEWSCORE_EXPORT vtkViewTheme : public vtkObject
 public:
   static vtkViewTheme* New();
   vtkTypeMacro(vtkViewTheme, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -292,7 +292,7 @@ public:
 
 protected:
   vtkViewTheme();
-  ~vtkViewTheme();
+  ~vtkViewTheme() VTK_OVERRIDE;
 
   double PointSize;
   double LineWidth;
diff --git a/Views/Geovis/vtkGeoView.h b/Views/Geovis/vtkGeoView.h
index a20deba2e8..a053c2fbed 100644
--- a/Views/Geovis/vtkGeoView.h
+++ b/Views/Geovis/vtkGeoView.h
@@ -61,7 +61,7 @@ class VTKVIEWSGEOVIS_EXPORT vtkGeoView : public vtkRenderView
 public:
   static vtkGeoView *New();
   vtkTypeMacro(vtkGeoView, vtkRenderView);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Adds an image representation with a simple terrain model using
@@ -72,7 +72,7 @@ public:
   /**
    * Prepares the view for rendering.
    */
-  virtual void PrepareForRendering();
+  void PrepareForRendering() VTK_OVERRIDE;
 
   /**
    * Rebuild low-res earth source; call after (re)setting origin.
@@ -110,11 +110,11 @@ public:
   /**
    * Update and render the view.
    */
-  virtual void Render();
+  void Render() VTK_OVERRIDE;
 
 protected:
   vtkGeoView();
-  ~vtkGeoView();
+  ~vtkGeoView() VTK_OVERRIDE;
 
   vtkGlobeSource*    LowResEarthSource;
   vtkPolyDataMapper* LowResEarthMapper;
diff --git a/Views/Geovis/vtkGeoView2D.h b/Views/Geovis/vtkGeoView2D.h
index 3587465e61..faba8af0e5 100644
--- a/Views/Geovis/vtkGeoView2D.h
+++ b/Views/Geovis/vtkGeoView2D.h
@@ -55,10 +55,10 @@ class VTKVIEWSGEOVIS_EXPORT vtkGeoView2D : public vtkRenderView
 public:
   static vtkGeoView2D *New();
   vtkTypeMacro(vtkGeoView2D,vtkRenderView);
-  virtual void PrintSelf( ostream& os, vtkIndent indent );
+  void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
 
   vtkGeoView2D();
-  ~vtkGeoView2D();
+  ~vtkGeoView2D() VTK_OVERRIDE;
 
   vtkGetObjectMacro(Surface, vtkGeoTerrain2D);
   virtual void SetSurface(vtkGeoTerrain2D* surf);
@@ -66,23 +66,23 @@ public:
   /**
    * Returns the transform associated with the surface.
    */
-  virtual vtkAbstractTransform* GetTransform();
+  vtkAbstractTransform* GetTransform() VTK_OVERRIDE;
 
   /**
    * Apply the view theme to this view.
    */
-  virtual void ApplyViewTheme(vtkViewTheme* theme);
+  void ApplyViewTheme(vtkViewTheme* theme) VTK_OVERRIDE;
 
   /**
    * Update and render the view.
    */
-  virtual void Render();
+  void Render() VTK_OVERRIDE;
 
 protected:
   vtkGeoTerrain2D* Surface;
   vtkAssembly* Assembly;
 
-  virtual void PrepareForRendering();
+  void PrepareForRendering() VTK_OVERRIDE;
 
 private:
   vtkGeoView2D(const vtkGeoView2D&) VTK_DELETE_FUNCTION;
diff --git a/Views/Infovis/vtkApplyColors.h b/Views/Infovis/vtkApplyColors.h
index c0824b07fc..309711fcf9 100644
--- a/Views/Infovis/vtkApplyColors.h
+++ b/Views/Infovis/vtkApplyColors.h
@@ -88,7 +88,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkApplyColors : public vtkPassInputTypeAlgorithm
 public:
   static vtkApplyColors *New();
   vtkTypeMacro(vtkApplyColors, vtkPassInputTypeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -252,22 +252,22 @@ public:
   /**
    * Retrieve the modified time for this filter.
    */
-  virtual vtkMTimeType GetMTime();
+  vtkMTimeType GetMTime() VTK_OVERRIDE;
 
 protected:
   vtkApplyColors();
-  ~vtkApplyColors();
+  ~vtkApplyColors() VTK_OVERRIDE;
 
   /**
    * Convert the vtkGraph into vtkPolyData.
    */
   int RequestData(
-    vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+    vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Set the input type of the algorithm to vtkGraph.
    */
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   void ProcessColorArray(
     vtkUnsignedCharArray* colorArr,
diff --git a/Views/Infovis/vtkApplyIcons.h b/Views/Infovis/vtkApplyIcons.h
index 11f8d03cf4..4a6ced840e 100644
--- a/Views/Infovis/vtkApplyIcons.h
+++ b/Views/Infovis/vtkApplyIcons.h
@@ -72,7 +72,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkApplyIcons : public vtkPassInputTypeAlgorithm
 public:
   static vtkApplyIcons *New();
   vtkTypeMacro(vtkApplyIcons, vtkPassInputTypeAlgorithm);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -168,18 +168,18 @@ public:
 
 protected:
   vtkApplyIcons();
-  ~vtkApplyIcons();
+  ~vtkApplyIcons() VTK_OVERRIDE;
 
   /**
    * Convert the vtkGraph into vtkPolyData.
    */
   int RequestData(
-    vtkInformation *, vtkInformationVector **, vtkInformationVector *);
+    vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
 
   /**
    * Set the input type of the algorithm to vtkGraph.
    */
-  int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   int DefaultIcon;
   int SelectedIcon;
diff --git a/Views/Infovis/vtkDendrogramItem.h b/Views/Infovis/vtkDendrogramItem.h
index dc72b460d3..6d788caca2 100644
--- a/Views/Infovis/vtkDendrogramItem.h
+++ b/Views/Infovis/vtkDendrogramItem.h
@@ -56,7 +56,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkDendrogramItem : public vtkContextItem
 public:
   static vtkDendrogramItem *New();
   vtkTypeMacro(vtkDendrogramItem, vtkContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set the tree that this item draws.  Note that this tree's vertex data
@@ -196,7 +196,7 @@ public:
   /**
    * Paints the input tree as a dendrogram.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   //@{
   /**
@@ -272,17 +272,17 @@ public:
   /**
    * Returns true if the transform is interactive, false otherwise.
    */
-  virtual bool Hit(const vtkContextMouseEvent &mouse);
+  bool Hit(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Collapse or expand a subtree when the user double clicks on an
    * internal node.
    */
-  virtual bool MouseDoubleClickEvent( const vtkContextMouseEvent &event);
+  bool MouseDoubleClickEvent( const vtkContextMouseEvent &event) VTK_OVERRIDE;
 
 protected:
   vtkDendrogramItem();
-  ~vtkDendrogramItem();
+  ~vtkDendrogramItem() VTK_OVERRIDE;
 
   vtkVector2f PositionVector;
   float* Position;
diff --git a/Views/Infovis/vtkGraphItem.h b/Views/Infovis/vtkGraphItem.h
index 89ac19c4de..b61f71dc70 100644
--- a/Views/Infovis/vtkGraphItem.h
+++ b/Views/Infovis/vtkGraphItem.h
@@ -46,7 +46,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkGraphItem : public vtkContextItem
 public:
   static vtkGraphItem *New();
   vtkTypeMacro(vtkGraphItem, vtkContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -76,13 +76,13 @@ public:
 
 protected:
   vtkGraphItem();
-  ~vtkGraphItem();
+  ~vtkGraphItem() VTK_OVERRIDE;
 
   /**
    * Paints the graph. This method will call RebuildBuffers()
    * if the graph is dirty, then call PaintBuffers().
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Builds a cache of data from the graph by calling the virtual functions
@@ -197,18 +197,18 @@ protected:
   /**
    * Handle mouse events.
    */
-  virtual bool MouseMoveEvent(const vtkContextMouseEvent &event);
-  virtual bool MouseLeaveEvent(const vtkContextMouseEvent &event);
-  virtual bool MouseEnterEvent(const vtkContextMouseEvent &event);
-  virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &event);
-  virtual bool MouseButtonReleaseEvent(const vtkContextMouseEvent &event);
-  virtual bool MouseWheelEvent(const vtkContextMouseEvent &event, int delta);
+  bool MouseMoveEvent(const vtkContextMouseEvent &event) VTK_OVERRIDE;
+  bool MouseLeaveEvent(const vtkContextMouseEvent &event) VTK_OVERRIDE;
+  bool MouseEnterEvent(const vtkContextMouseEvent &event) VTK_OVERRIDE;
+  bool MouseButtonPressEvent(const vtkContextMouseEvent &event) VTK_OVERRIDE;
+  bool MouseButtonReleaseEvent(const vtkContextMouseEvent &event) VTK_OVERRIDE;
+  bool MouseWheelEvent(const vtkContextMouseEvent &event, int delta) VTK_OVERRIDE;
   //@}
 
   /**
    * Whether this graph item is hit.
    */
-  virtual bool Hit(const vtkContextMouseEvent &event);
+  bool Hit(const vtkContextMouseEvent &event) VTK_OVERRIDE;
 
   /**
    * Change the position of the tooltip based on the vertex hovered.
diff --git a/Views/Infovis/vtkGraphLayoutView.h b/Views/Infovis/vtkGraphLayoutView.h
index edd4219ad5..009ce90786 100644
--- a/Views/Infovis/vtkGraphLayoutView.h
+++ b/Views/Infovis/vtkGraphLayoutView.h
@@ -55,7 +55,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkGraphLayoutView : public vtkRenderView
 public:
   static vtkGraphLayoutView *New();
   vtkTypeMacro(vtkGraphLayoutView, vtkRenderView);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -396,17 +396,17 @@ public:
 
 protected:
   vtkGraphLayoutView();
-  ~vtkGraphLayoutView();
+  ~vtkGraphLayoutView() VTK_OVERRIDE;
 
   //@{
   /**
    * Overrides behavior in vtkView to create a vtkRenderedGraphRepresentation
    * by default.
    */
-  virtual vtkDataRepresentation* CreateDefaultRepresentation(vtkAlgorithmOutput* conn);
+  vtkDataRepresentation* CreateDefaultRepresentation(vtkAlgorithmOutput* conn) VTK_OVERRIDE;
   virtual vtkRenderedGraphRepresentation* GetGraphRepresentation();
   // Called to process events.  Overrides behavior in vtkRenderView.
-  virtual void ProcessEvents(vtkObject* caller, unsigned long eventId, void* callData);
+  void ProcessEvents(vtkObject* caller, unsigned long eventId, void* callData) VTK_OVERRIDE;
   //@}
 
 private:
diff --git a/Views/Infovis/vtkHeatmapItem.h b/Views/Infovis/vtkHeatmapItem.h
index f768ce245d..3f68dd9653 100644
--- a/Views/Infovis/vtkHeatmapItem.h
+++ b/Views/Infovis/vtkHeatmapItem.h
@@ -51,7 +51,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkHeatmapItem : public vtkContextItem
 public:
   static vtkHeatmapItem *New();
   vtkTypeMacro(vtkHeatmapItem, vtkContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set the table that this item draws.  The first column of the table
@@ -146,7 +146,7 @@ public:
   /**
    * Paints the table as a heatmap.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   //@{
   /**
@@ -171,21 +171,21 @@ public:
   /**
    * Returns true if the transform is interactive, false otherwise.
    */
-  virtual bool Hit(const vtkContextMouseEvent &mouse);
+  bool Hit(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Display a tooltip when the user mouses over a cell in the heatmap.
    */
-  virtual bool MouseMoveEvent(const vtkContextMouseEvent &event);
+  bool MouseMoveEvent(const vtkContextMouseEvent &event) VTK_OVERRIDE;
 
   /**
    * Display a legend for a column of data.
    */
-  virtual bool MouseDoubleClickEvent(const vtkContextMouseEvent &event);
+  bool MouseDoubleClickEvent(const vtkContextMouseEvent &event) VTK_OVERRIDE;
 
 protected:
   vtkHeatmapItem();
-  ~vtkHeatmapItem();
+  ~vtkHeatmapItem() VTK_OVERRIDE;
 
   vtkVector2f PositionVector;
   float* Position;
diff --git a/Views/Infovis/vtkHierarchicalGraphPipeline.h b/Views/Infovis/vtkHierarchicalGraphPipeline.h
index abe6db0957..2c91c39e53 100644
--- a/Views/Infovis/vtkHierarchicalGraphPipeline.h
+++ b/Views/Infovis/vtkHierarchicalGraphPipeline.h
@@ -55,7 +55,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkHierarchicalGraphPipeline : public vtkObject
 public:
   static vtkHierarchicalGraphPipeline* New();
   vtkTypeMacro(vtkHierarchicalGraphPipeline, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -178,7 +178,7 @@ public:
 
 protected:
   vtkHierarchicalGraphPipeline();
-  ~vtkHierarchicalGraphPipeline();
+  ~vtkHierarchicalGraphPipeline() VTK_OVERRIDE;
 
   vtkApplyColors*                  ApplyColors;
   vtkGraphHierarchicalBundleEdges* Bundle;
diff --git a/Views/Infovis/vtkHierarchicalGraphView.h b/Views/Infovis/vtkHierarchicalGraphView.h
index 1a94b34975..bf37f4f17a 100644
--- a/Views/Infovis/vtkHierarchicalGraphView.h
+++ b/Views/Infovis/vtkHierarchicalGraphView.h
@@ -51,7 +51,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkHierarchicalGraphView : public vtkGraphLayoutVie
 public:
   static vtkHierarchicalGraphView *New();
   vtkTypeMacro(vtkHierarchicalGraphView, vtkGraphLayoutView);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -129,15 +129,15 @@ public:
 
 protected:
   vtkHierarchicalGraphView();
-  ~vtkHierarchicalGraphView();
+  ~vtkHierarchicalGraphView() VTK_OVERRIDE;
 
   //@{
   /**
    * Overrides behavior in vtkGraphLayoutView to create a
    * vtkRenderedHierarchyRepresentation by default.
    */
-  virtual vtkDataRepresentation* CreateDefaultRepresentation(vtkAlgorithmOutput* conn);
-  virtual vtkRenderedGraphRepresentation* GetGraphRepresentation();
+  vtkDataRepresentation* CreateDefaultRepresentation(vtkAlgorithmOutput* conn) VTK_OVERRIDE;
+  vtkRenderedGraphRepresentation* GetGraphRepresentation() VTK_OVERRIDE;
   virtual vtkRenderedHierarchyRepresentation* GetHierarchyRepresentation();
   //@}
 
diff --git a/Views/Infovis/vtkIcicleView.h b/Views/Infovis/vtkIcicleView.h
index 844524ba43..e819620c0a 100644
--- a/Views/Infovis/vtkIcicleView.h
+++ b/Views/Infovis/vtkIcicleView.h
@@ -39,7 +39,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkIcicleView : public vtkTreeAreaView
 public:
   static vtkIcicleView *New();
   vtkTypeMacro(vtkIcicleView, vtkTreeAreaView);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -77,7 +77,7 @@ public:
 
 protected:
   vtkIcicleView();
-  ~vtkIcicleView();
+  ~vtkIcicleView() VTK_OVERRIDE;
 
 private:
   vtkIcicleView(const vtkIcicleView&) VTK_DELETE_FUNCTION;
diff --git a/Views/Infovis/vtkInteractorStyleAreaSelectHover.h b/Views/Infovis/vtkInteractorStyleAreaSelectHover.h
index a8e6d85883..431d9cc85a 100644
--- a/Views/Infovis/vtkInteractorStyleAreaSelectHover.h
+++ b/Views/Infovis/vtkInteractorStyleAreaSelectHover.h
@@ -50,7 +50,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkInteractorStyleAreaSelectHover : public vtkInter
 public:
   static vtkInteractorStyleAreaSelectHover* New();
   vtkTypeMacro(vtkInteractorStyleAreaSelectHover,vtkInteractorStyleRubberBand2D);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -83,12 +83,12 @@ public:
    * Overridden from vtkInteractorStyleImage to provide the desired
    * interaction behavior.
    */
-  void OnMouseMove();
+  void OnMouseMove() VTK_OVERRIDE;
 
   /**
    * Set the interactor that this interactor style works with.
    */
-  virtual void SetInteractor(vtkRenderWindowInteractor *rwi);
+  void SetInteractor(vtkRenderWindowInteractor *rwi) VTK_OVERRIDE;
 
   /**
    * Set the color used to highlight the hovered vertex.
@@ -110,7 +110,7 @@ public:
 
 protected:
   vtkInteractorStyleAreaSelectHover();
-  ~vtkInteractorStyleAreaSelectHover();
+  ~vtkInteractorStyleAreaSelectHover() VTK_OVERRIDE;
 
 private:
   vtkInteractorStyleAreaSelectHover(const vtkInteractorStyleAreaSelectHover&) VTK_DELETE_FUNCTION;
diff --git a/Views/Infovis/vtkInteractorStyleTreeMapHover.h b/Views/Infovis/vtkInteractorStyleTreeMapHover.h
index eb09c0ba1a..e5f4817ccd 100644
--- a/Views/Infovis/vtkInteractorStyleTreeMapHover.h
+++ b/Views/Infovis/vtkInteractorStyleTreeMapHover.h
@@ -50,7 +50,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkInteractorStyleTreeMapHover : public vtkInteract
 public:
   static vtkInteractorStyleTreeMapHover* New();
   vtkTypeMacro(vtkInteractorStyleTreeMapHover,vtkInteractorStyleImage);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -83,8 +83,8 @@ public:
    * Overridden from vtkInteractorStyleImage to provide the desired
    * interaction behavior.
    */
-  void OnMouseMove();
-  void OnLeftButtonUp();
+  void OnMouseMove() VTK_OVERRIDE;
+  void OnLeftButtonUp() VTK_OVERRIDE;
   //@}
 
   //@{
@@ -95,7 +95,7 @@ public:
   void HighLightCurrentSelectedItem();
   //@}
 
-  virtual void SetInteractor(vtkRenderWindowInteractor *rwi);
+  void SetInteractor(vtkRenderWindowInteractor *rwi) VTK_OVERRIDE;
 
   /**
    * Set the color used to highlight the hovered vertex.
@@ -125,7 +125,7 @@ public:
 
 protected:
   vtkInteractorStyleTreeMapHover();
-  ~vtkInteractorStyleTreeMapHover();
+  ~vtkInteractorStyleTreeMapHover() VTK_OVERRIDE;
 
 private:
   vtkInteractorStyleTreeMapHover(const vtkInteractorStyleTreeMapHover&) VTK_DELETE_FUNCTION;
diff --git a/Views/Infovis/vtkParallelCoordinatesHistogramRepresentation.h b/Views/Infovis/vtkParallelCoordinatesHistogramRepresentation.h
index 346b0e6983..18de2d8197 100644
--- a/Views/Infovis/vtkParallelCoordinatesHistogramRepresentation.h
+++ b/Views/Infovis/vtkParallelCoordinatesHistogramRepresentation.h
@@ -69,12 +69,12 @@ class VTKVIEWSINFOVIS_EXPORT vtkParallelCoordinatesHistogramRepresentation : pub
 public:
   static vtkParallelCoordinatesHistogramRepresentation* New();
   vtkTypeMacro(vtkParallelCoordinatesHistogramRepresentation, vtkParallelCoordinatesRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Apply the theme to this view.
    */
-  virtual void ApplyViewTheme(vtkViewTheme* theme);
+  void ApplyViewTheme(vtkViewTheme* theme) VTK_OVERRIDE;
 
   //@{
   /**
@@ -123,26 +123,26 @@ public:
    * Calls superclass swap, and assures that only histograms affected by the
    * swap get recomputed.
    */
-  virtual int SwapAxisPositions(int position1, int position2);
+  int SwapAxisPositions(int position1, int position2) VTK_OVERRIDE;
 
   /**
    * Calls the superclass method, and assures that only the two histograms
    * affect by this call get recomputed.
    */
-  virtual int SetRangeAtPosition(int position, double range[2]);
+  int SetRangeAtPosition(int position, double range[2]) VTK_OVERRIDE;
 
 protected:
   vtkParallelCoordinatesHistogramRepresentation();
-  virtual ~vtkParallelCoordinatesHistogramRepresentation();
+  ~vtkParallelCoordinatesHistogramRepresentation() VTK_OVERRIDE;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
-  virtual bool AddToView(vtkView* view);
+  bool AddToView(vtkView* view) VTK_OVERRIDE;
 
-  virtual bool RemoveFromView(vtkView* view);
+  bool RemoveFromView(vtkView* view) VTK_OVERRIDE;
 
   /**
    * Flag deciding if histograms will be drawn.
@@ -181,18 +181,18 @@ protected:
    * Correctly forwards the superclass call to draw lines to the internal
    * PlaceHistogramLineQuads call.
    */
-  virtual int PlaceLines(vtkPolyData* polyData, vtkTable* data, vtkIdTypeArray* idsToPlot);
+  int PlaceLines(vtkPolyData* polyData, vtkTable* data, vtkIdTypeArray* idsToPlot) VTK_OVERRIDE;
 
   /**
    * Correctly forwards the superclass call to draw curves to the internal
    * PlaceHistogramLineCurves call.
    */
-  virtual int PlaceCurves(vtkPolyData* polyData, vtkTable* data, vtkIdTypeArray* idsToPlot);
+  int PlaceCurves(vtkPolyData* polyData, vtkTable* data, vtkIdTypeArray* idsToPlot) VTK_OVERRIDE;
 
   /**
    * Draw a selection node referencing the row ids of a table into a poly data object.
    */
-  virtual int PlaceSelection(vtkPolyData* polyData, vtkTable* data, vtkSelectionNode* selectionNode);
+  int PlaceSelection(vtkPolyData* polyData, vtkTable* data, vtkSelectionNode* selectionNode) VTK_OVERRIDE;
 
   /**
    * Take the input 2D histogram images and draw one quad for each bin
@@ -210,8 +210,8 @@ protected:
    * Compute the number of axes and their individual ranges, as well
    * as histograms if requested.
    */
-  virtual int ComputeDataProperties();
-  virtual int UpdatePlotProperties(vtkStringArray*);
+  int ComputeDataProperties() VTK_OVERRIDE;
+  int UpdatePlotProperties(vtkStringArray*) VTK_OVERRIDE;
   //@}
 
   /**
diff --git a/Views/Infovis/vtkParallelCoordinatesRepresentation.h b/Views/Infovis/vtkParallelCoordinatesRepresentation.h
index 406f0d1c1e..b4a2aa6f32 100644
--- a/Views/Infovis/vtkParallelCoordinatesRepresentation.h
+++ b/Views/Infovis/vtkParallelCoordinatesRepresentation.h
@@ -87,14 +87,14 @@ class VTKVIEWSINFOVIS_EXPORT vtkParallelCoordinatesRepresentation : public vtkRe
 public:
   static vtkParallelCoordinatesRepresentation* New();
   vtkTypeMacro(vtkParallelCoordinatesRepresentation, vtkRenderedRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Apply the theme to this view.  CellColor is used for line coloring
    * and titles.  EdgeLabelColor is used for axis color. CellOpacity is
    * used for line opacity.
    */
-  virtual void ApplyViewTheme(vtkViewTheme* theme);
+  void ApplyViewTheme(vtkViewTheme* theme) VTK_OVERRIDE;
 
   /**
    * Returns the hover text at an x,y location.
@@ -238,22 +238,22 @@ public:
 
 protected:
   vtkParallelCoordinatesRepresentation();
-  virtual ~vtkParallelCoordinatesRepresentation();
+  ~vtkParallelCoordinatesRepresentation() VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
   //@{
   /**
    * Add/remove the props and actors to/from a view
    */
-  virtual bool AddToView(vtkView* view);
-  virtual bool RemoveFromView(vtkView* view);
-  virtual void PrepareForRendering(vtkRenderView* view);
+  bool AddToView(vtkView* view) VTK_OVERRIDE;
+  bool RemoveFromView(vtkView* view) VTK_OVERRIDE;
+  void PrepareForRendering(vtkRenderView* view) VTK_OVERRIDE;
   //@}
 
   /**
@@ -324,7 +324,7 @@ protected:
    * Select a set of points using the prescribed operator (add, subtract, etc.) and class
    */
   virtual void SelectRows(vtkIdType brushClass, vtkIdType brushOperator, vtkIdTypeArray* rowIds);
-  virtual vtkSelection* ConvertSelection(vtkView* view, vtkSelection* selection);
+  vtkSelection* ConvertSelection(vtkView* view, vtkSelection* selection) VTK_OVERRIDE;
   virtual void BuildInverseSelection();
   virtual vtkPolyDataMapper2D* InitializePlotMapper(vtkPolyData* input, vtkActor2D* actor, bool forceStandard=false);
   //@}
diff --git a/Views/Infovis/vtkParallelCoordinatesView.h b/Views/Infovis/vtkParallelCoordinatesView.h
index 28a2a66ae3..c2067b6872 100644
--- a/Views/Infovis/vtkParallelCoordinatesView.h
+++ b/Views/Infovis/vtkParallelCoordinatesView.h
@@ -56,7 +56,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkParallelCoordinatesView : public vtkRenderView
 public:
   vtkTypeMacro(vtkParallelCoordinatesView, vtkRenderView);
   static vtkParallelCoordinatesView *New();
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   enum {VTK_BRUSH_LASSO=0,VTK_BRUSH_ANGLE,VTK_BRUSH_FUNCTION,VTK_BRUSH_AXISTHRESHOLD,VTK_BRUSH_MODECOUNT};
   enum {VTK_BRUSHOPERATOR_ADD=0,VTK_BRUSHOPERATOR_SUBTRACT,VTK_BRUSHOPERATOR_INTERSECT,VTK_BRUSHOPERATOR_REPLACE,VTK_BRUSHOPERATOR_MODECOUNT};
@@ -87,11 +87,11 @@ public:
   vtkSetMacro(CurrentBrushClass,int);
   vtkGetMacro(CurrentBrushClass,int);
 
-  virtual void ApplyViewTheme(vtkViewTheme* theme);
+  void ApplyViewTheme(vtkViewTheme* theme) VTK_OVERRIDE;
 
 protected:
   vtkParallelCoordinatesView();
-  virtual ~vtkParallelCoordinatesView();
+  ~vtkParallelCoordinatesView() VTK_OVERRIDE;
 
   int SelectedAxisPosition;
 
@@ -117,10 +117,10 @@ protected:
   vtkTimeStamp WorldBuildTime;
   bool RebuildNeeded;
 
-  virtual void ProcessEvents(vtkObject *caller, unsigned long event, void *callData);
-  virtual vtkDataRepresentation* CreateDefaultRepresentation(vtkAlgorithmOutput* conn);
+  void ProcessEvents(vtkObject *caller, unsigned long event, void *callData) VTK_OVERRIDE;
+  vtkDataRepresentation* CreateDefaultRepresentation(vtkAlgorithmOutput* conn) VTK_OVERRIDE;
 
-  void PrepareForRendering();
+  void PrepareForRendering() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Views/Infovis/vtkRenderView.h b/Views/Infovis/vtkRenderView.h
index 5319712ac2..84dab6568d 100644
--- a/Views/Infovis/vtkRenderView.h
+++ b/Views/Infovis/vtkRenderView.h
@@ -60,14 +60,14 @@ class VTKVIEWSINFOVIS_EXPORT vtkRenderView : public vtkRenderViewBase
 public:
   static vtkRenderView* New();
   vtkTypeMacro(vtkRenderView, vtkRenderViewBase);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * The render window interactor. Note that this requires special
    * handling in order to do correctly - see the notes in the detailed
    * description of vtkRenderViewBase.
    */
-  virtual void SetInteractor(vtkRenderWindowInteractor *interactor);
+  void SetInteractor(vtkRenderWindowInteractor *interactor) VTK_OVERRIDE;
 
   /**
    * The interactor style associated with the render view.
@@ -84,7 +84,7 @@ public:
    * handling in order to do correctly - see the notes in the detailed
    * description of vtkRenderViewBase.
    */
-  virtual void SetRenderWindow(vtkRenderWindow *win);
+  void SetRenderWindow(vtkRenderWindow *win) VTK_OVERRIDE;
 
   enum
   {
@@ -110,12 +110,12 @@ public:
    * Updates the representations, then calls Render() on the render window
    * associated with this view.
    */
-  virtual void Render();
+  void Render() VTK_OVERRIDE;
 
   /**
    * Applies a view theme to this view.
    */
-  virtual void ApplyViewTheme(vtkViewTheme* theme);
+  void ApplyViewTheme(vtkViewTheme* theme) VTK_OVERRIDE;
 
   //@{
   /**
@@ -245,15 +245,15 @@ public:
 
 protected:
   vtkRenderView();
-  ~vtkRenderView();
+  ~vtkRenderView() VTK_OVERRIDE;
 
   /**
    * Called to process events.
    * Captures StartEvent events from the renderer and calls Update().
    * This may be overridden by subclasses to process additional events.
    */
-  virtual void ProcessEvents(vtkObject* caller, unsigned long eventId,
-    void* callData);
+  void ProcessEvents(vtkObject* caller, unsigned long eventId,
+    void* callData) VTK_OVERRIDE;
 
   /**
    * Generates the selection based on the view event and the selection mode.
@@ -264,7 +264,7 @@ protected:
   /**
    * Called by the view when the renderer is about to render.
    */
-  virtual void PrepareForRendering();
+  void PrepareForRendering() VTK_OVERRIDE;
 
   /**
    * Called in PrepareForRendering to update the hover text.
diff --git a/Views/Infovis/vtkRenderedGraphRepresentation.h b/Views/Infovis/vtkRenderedGraphRepresentation.h
index e75b411546..e6da4662bd 100644
--- a/Views/Infovis/vtkRenderedGraphRepresentation.h
+++ b/Views/Infovis/vtkRenderedGraphRepresentation.h
@@ -66,7 +66,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkRenderedGraphRepresentation : public vtkRendered
 public:
   static vtkRenderedGraphRepresentation* New();
   vtkTypeMacro(vtkRenderedGraphRepresentation, vtkRenderedRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   // ------------------------------------------------------------------------
   // Vertex labels
@@ -341,7 +341,7 @@ public:
   /**
    * Apply a theme to this representation.
    */
-  virtual void ApplyViewTheme(vtkViewTheme* theme);
+  void ApplyViewTheme(vtkViewTheme* theme) VTK_OVERRIDE;
 
   //@{
   /**
@@ -403,29 +403,29 @@ public:
 
 protected:
   vtkRenderedGraphRepresentation();
-  ~vtkRenderedGraphRepresentation();
+  ~vtkRenderedGraphRepresentation() VTK_OVERRIDE;
 
   //@{
   /**
    * Called by the view to add/remove this representation.
    */
-  virtual bool AddToView(vtkView* view);
-  virtual bool RemoveFromView(vtkView* view);
+  bool AddToView(vtkView* view) VTK_OVERRIDE;
+  bool RemoveFromView(vtkView* view) VTK_OVERRIDE;
   //@}
 
-  virtual void PrepareForRendering(vtkRenderView* view);
+  void PrepareForRendering(vtkRenderView* view) VTK_OVERRIDE;
 
-  virtual vtkSelection* ConvertSelection(vtkView* view, vtkSelection* sel);
+  vtkSelection* ConvertSelection(vtkView* view, vtkSelection* sel) VTK_OVERRIDE;
 
-  virtual vtkUnicodeString GetHoverTextInternal(vtkSelection* sel);
+  vtkUnicodeString GetHoverTextInternal(vtkSelection* sel) VTK_OVERRIDE;
 
   /**
    * Connect inputs to internal pipeline.
    */
-  virtual int RequestData(
+  int RequestData(
     vtkInformation* request,
     vtkInformationVector** inputVector,
-    vtkInformationVector* outputVector);
+    vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Views/Infovis/vtkRenderedHierarchyRepresentation.h b/Views/Infovis/vtkRenderedHierarchyRepresentation.h
index eb51997228..2636d7b1f4 100644
--- a/Views/Infovis/vtkRenderedHierarchyRepresentation.h
+++ b/Views/Infovis/vtkRenderedHierarchyRepresentation.h
@@ -34,7 +34,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkRenderedHierarchyRepresentation : public vtkRend
 public:
   static vtkRenderedHierarchyRepresentation* New();
   vtkTypeMacro(vtkRenderedHierarchyRepresentation, vtkRenderedGraphRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -111,14 +111,14 @@ public:
 
 protected:
   vtkRenderedHierarchyRepresentation();
-  ~vtkRenderedHierarchyRepresentation();
+  ~vtkRenderedHierarchyRepresentation() VTK_OVERRIDE;
 
   //@{
   /**
    * Called by the view to add/remove this representation.
    */
-  virtual bool AddToView(vtkView* view);
-  virtual bool RemoveFromView(vtkView* view);
+  bool AddToView(vtkView* view) VTK_OVERRIDE;
+  bool RemoveFromView(vtkView* view) VTK_OVERRIDE;
   //@}
 
   /**
@@ -126,19 +126,19 @@ protected:
    */
   bool ValidIndex(int idx);
 
-  virtual vtkSelection* ConvertSelection(vtkView* view, vtkSelection* sel);
+  vtkSelection* ConvertSelection(vtkView* view, vtkSelection* sel) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
   /**
    * Sets up the input connections for this representation.
    */
-  virtual int RequestData(
+  int RequestData(
     vtkInformation* request,
     vtkInformationVector** inputVector,
-    vtkInformationVector* outputVector);
+    vtkInformationVector* outputVector) VTK_OVERRIDE;
 
-  virtual void ApplyViewTheme(vtkViewTheme* theme);
+  void ApplyViewTheme(vtkViewTheme* theme) VTK_OVERRIDE;
 
   class Internals;
   Internals* Implementation;
diff --git a/Views/Infovis/vtkRenderedRepresentation.h b/Views/Infovis/vtkRenderedRepresentation.h
index 5dd7f7c076..1ed637b39b 100644
--- a/Views/Infovis/vtkRenderedRepresentation.h
+++ b/Views/Infovis/vtkRenderedRepresentation.h
@@ -44,7 +44,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkRenderedRepresentation : public vtkDataRepresent
 public:
   static vtkRenderedRepresentation* New();
   vtkTypeMacro(vtkRenderedRepresentation, vtkDataRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -59,7 +59,7 @@ public:
 
 protected:
   vtkRenderedRepresentation();
-  ~vtkRenderedRepresentation();
+  ~vtkRenderedRepresentation() VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Views/Infovis/vtkRenderedSurfaceRepresentation.h b/Views/Infovis/vtkRenderedSurfaceRepresentation.h
index bd54c6ea45..7e94894117 100644
--- a/Views/Infovis/vtkRenderedSurfaceRepresentation.h
+++ b/Views/Infovis/vtkRenderedSurfaceRepresentation.h
@@ -51,7 +51,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkRenderedSurfaceRepresentation : public vtkRender
 public:
   static vtkRenderedSurfaceRepresentation *New();
   vtkTypeMacro(vtkRenderedSurfaceRepresentation, vtkRenderedRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Sets the color array name
@@ -63,43 +63,43 @@ public:
   /**
    * Apply a theme to this representation.
    */
-  virtual void ApplyViewTheme(vtkViewTheme* theme);
+  void ApplyViewTheme(vtkViewTheme* theme) VTK_OVERRIDE;
 
 protected:
   vtkRenderedSurfaceRepresentation();
-  ~vtkRenderedSurfaceRepresentation();
+  ~vtkRenderedSurfaceRepresentation() VTK_OVERRIDE;
 
   /**
    * Sets the input pipeline connection to this representation.
    */
-  virtual int RequestData(
+  int RequestData(
     vtkInformation* request,
     vtkInformationVector** inputVector,
-    vtkInformationVector* outputVector);
+    vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   /**
    * Performs per-render operations.
    */
-  virtual void PrepareForRendering(vtkRenderView* view);
+  void PrepareForRendering(vtkRenderView* view) VTK_OVERRIDE;
 
   /**
    * Adds the representation to the view.  This is called from
    * vtkView::AddRepresentation().
    */
-  virtual bool AddToView(vtkView* view);
+  bool AddToView(vtkView* view) VTK_OVERRIDE;
 
   /**
    * Removes the representation to the view.  This is called from
    * vtkView::RemoveRepresentation().
    */
-  virtual bool RemoveFromView(vtkView* view);
+  bool RemoveFromView(vtkView* view) VTK_OVERRIDE;
 
   /**
    * Convert the selection to a type appropriate for sharing with other
    * representations through vtkAnnotationLink.
    * If the selection cannot be applied to this representation, returns NULL.
    */
-  virtual vtkSelection* ConvertSelection(vtkView* view, vtkSelection* selection);
+  vtkSelection* ConvertSelection(vtkView* view, vtkSelection* selection) VTK_OVERRIDE;
 
   //@{
   /**
diff --git a/Views/Infovis/vtkRenderedTreeAreaRepresentation.h b/Views/Infovis/vtkRenderedTreeAreaRepresentation.h
index 840a0a93ca..f1762f538b 100644
--- a/Views/Infovis/vtkRenderedTreeAreaRepresentation.h
+++ b/Views/Infovis/vtkRenderedTreeAreaRepresentation.h
@@ -53,7 +53,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkRenderedTreeAreaRepresentation : public vtkRende
 public:
   static vtkRenderedTreeAreaRepresentation* New();
   vtkTypeMacro(vtkRenderedTreeAreaRepresentation, vtkRenderedRepresentation);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set the label render mode.
@@ -61,7 +61,7 @@ public:
    * and unicode support. Requires VTK_USE_QT to be on.
    * FREETYPE - Use standard freetype text rendering.
    */
-  virtual void SetLabelRenderMode(int mode);
+  void SetLabelRenderMode(int mode) VTK_OVERRIDE;
 
   //@{
   /**
@@ -283,7 +283,7 @@ public:
   /**
    * Apply the theme to this view.
    */
-  virtual void ApplyViewTheme(vtkViewTheme* theme);
+  void ApplyViewTheme(vtkViewTheme* theme) VTK_OVERRIDE;
 
   //@{
   /**
@@ -295,32 +295,32 @@ public:
 
 protected:
   vtkRenderedTreeAreaRepresentation();
-  ~vtkRenderedTreeAreaRepresentation();
+  ~vtkRenderedTreeAreaRepresentation() VTK_OVERRIDE;
 
   //@{
   /**
    * Called by the view to add/remove this representation.
    */
-  virtual bool AddToView(vtkView* view);
-  virtual bool RemoveFromView(vtkView* view);
+  bool AddToView(vtkView* view) VTK_OVERRIDE;
+  bool RemoveFromView(vtkView* view) VTK_OVERRIDE;
   //@}
 
-  virtual vtkSelection* ConvertSelection(vtkView* view, vtkSelection* sel);
+  vtkSelection* ConvertSelection(vtkView* view, vtkSelection* sel) VTK_OVERRIDE;
 
-  virtual int FillInputPortInformation(int port, vtkInformation* info);
+  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
 
-  virtual int RequestData(
+  int RequestData(
     vtkInformation*,
     vtkInformationVector**,
-    vtkInformationVector*);
+    vtkInformationVector*) VTK_OVERRIDE;
 
-  virtual void PrepareForRendering(vtkRenderView* view);
+  void PrepareForRendering(vtkRenderView* view) VTK_OVERRIDE;
 
   bool ValidIndex(int idx);
 
   void UpdateHoverHighlight(vtkView* view, int x, int y);
 
-  virtual vtkUnicodeString GetHoverTextInternal(vtkSelection* sel);
+  vtkUnicodeString GetHoverTextInternal(vtkSelection* sel) VTK_OVERRIDE;
 
   class Internals;
   Internals* Implementation;
diff --git a/Views/Infovis/vtkSCurveSpline.h b/Views/Infovis/vtkSCurveSpline.h
index 0c36eb3d0e..8944bf1d68 100644
--- a/Views/Infovis/vtkSCurveSpline.h
+++ b/Views/Infovis/vtkSCurveSpline.h
@@ -42,28 +42,28 @@ public:
   static vtkSCurveSpline *New();
 
   vtkTypeMacro(vtkSCurveSpline,vtkSpline);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Compute SCurve Splines for each dependent variable
    */
-  void Compute ();
+  void Compute () VTK_OVERRIDE;
 
   /**
    * Evaluate a 1D SCurve spline.
    */
-  virtual double Evaluate (double t);
+  double Evaluate (double t) VTK_OVERRIDE;
 
   /**
    * Deep copy of SCurve spline data.
    */
-  virtual void DeepCopy(vtkSpline *s);
+  void DeepCopy(vtkSpline *s) VTK_OVERRIDE;
 
   vtkSetMacro(NodeWeight,double);
   vtkGetMacro(NodeWeight,double);
 protected:
   vtkSCurveSpline();
-  ~vtkSCurveSpline() {}
+  ~vtkSCurveSpline() VTK_OVERRIDE {}
 
   double NodeWeight;
 
diff --git a/Views/Infovis/vtkTanglegramItem.h b/Views/Infovis/vtkTanglegramItem.h
index 86b2a574de..481b0256a2 100644
--- a/Views/Infovis/vtkTanglegramItem.h
+++ b/Views/Infovis/vtkTanglegramItem.h
@@ -45,7 +45,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkTanglegramItem : public vtkContextItem
 public:
   static vtkTanglegramItem *New();
   vtkTypeMacro(vtkTanglegramItem, vtkContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set the first tree
@@ -139,17 +139,17 @@ public:
   /**
    * Returns true if the transform is interactive, false otherwise.
    */
-  virtual bool Hit(const vtkContextMouseEvent &mouse);
+  bool Hit(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Propagate any double click onto the dendrograms to check if any
    * subtrees should be collapsed or expanded.
    */
-  virtual bool MouseDoubleClickEvent(const vtkContextMouseEvent &event);
+  bool MouseDoubleClickEvent(const vtkContextMouseEvent &event) VTK_OVERRIDE;
 
 protected:
   vtkTanglegramItem();
-  ~vtkTanglegramItem();
+  ~vtkTanglegramItem() VTK_OVERRIDE;
 
   /**
    * Update the bounds of our two dendrograms.
@@ -201,7 +201,7 @@ protected:
   /**
    * Paints the tree & associated table as a heatmap.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
 private:
   vtkSmartPointer<vtkDendrogramItem> Dendrogram1;
diff --git a/Views/Infovis/vtkTreeAreaView.h b/Views/Infovis/vtkTreeAreaView.h
index 7e6a7d3c28..516921c00c 100644
--- a/Views/Infovis/vtkTreeAreaView.h
+++ b/Views/Infovis/vtkTreeAreaView.h
@@ -55,7 +55,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkTreeAreaView : public vtkRenderView
 public:
   static vtkTreeAreaView *New();
   vtkTypeMacro(vtkTreeAreaView, vtkRenderView);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -226,7 +226,7 @@ public:
 
 protected:
   vtkTreeAreaView();
-  ~vtkTreeAreaView();
+  ~vtkTreeAreaView() VTK_OVERRIDE;
 
   //@{
   /**
@@ -252,7 +252,7 @@ protected:
    * Overrides behavior in vtkView to create a vtkRenderedGraphRepresentation
    * by default.
    */
-  virtual vtkDataRepresentation* CreateDefaultRepresentation(vtkAlgorithmOutput* conn);
+  vtkDataRepresentation* CreateDefaultRepresentation(vtkAlgorithmOutput* conn) VTK_OVERRIDE;
   virtual vtkRenderedTreeAreaRepresentation* GetTreeAreaRepresentation();
   //@}
 
diff --git a/Views/Infovis/vtkTreeHeatmapItem.h b/Views/Infovis/vtkTreeHeatmapItem.h
index 9e09781377..d5bdb5c32f 100644
--- a/Views/Infovis/vtkTreeHeatmapItem.h
+++ b/Views/Infovis/vtkTreeHeatmapItem.h
@@ -54,7 +54,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkTreeHeatmapItem : public vtkContextItem
 public:
   static vtkTreeHeatmapItem *New();
   vtkTypeMacro(vtkTreeHeatmapItem, vtkContextItem);
-  virtual void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set the tree that this item draws.  Note that this tree's vertex data
@@ -190,22 +190,22 @@ public:
   /**
    * Returns true if the transform is interactive, false otherwise.
    */
-  virtual bool Hit(const vtkContextMouseEvent &mouse);
+  bool Hit(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
 
   /**
    * Propagate any double click onto the dendrogram to check if any
    * subtrees should be collapsed or expanded.
    */
-  virtual bool MouseDoubleClickEvent(const vtkContextMouseEvent &event);
+  bool MouseDoubleClickEvent(const vtkContextMouseEvent &event) VTK_OVERRIDE;
 
 protected:
   vtkTreeHeatmapItem();
-  ~vtkTreeHeatmapItem();
+  ~vtkTreeHeatmapItem() VTK_OVERRIDE;
 
   /**
    * Paints the tree & associated table as a heatmap.
    */
-  virtual bool Paint(vtkContext2D *painter);
+  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
 
   /**
    * Mark heatmap rows as hidden when a subtree is collapsed.
diff --git a/Views/Infovis/vtkTreeMapView.h b/Views/Infovis/vtkTreeMapView.h
index 855b185f8a..2eff21c108 100644
--- a/Views/Infovis/vtkTreeMapView.h
+++ b/Views/Infovis/vtkTreeMapView.h
@@ -42,13 +42,13 @@ class VTKVIEWSINFOVIS_EXPORT vtkTreeMapView : public vtkTreeAreaView
 public:
   static vtkTreeMapView *New();
   vtkTypeMacro(vtkTreeMapView, vtkTreeAreaView);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
    * Sets the treemap layout strategy
    */
-  virtual void SetLayoutStrategy(vtkAreaLayoutStrategy* s);
+  void SetLayoutStrategy(vtkAreaLayoutStrategy* s) VTK_OVERRIDE;
   virtual void SetLayoutStrategy(const char* name);
   virtual void SetLayoutStrategyToBox();
   virtual void SetLayoutStrategyToSliceAndDice();
@@ -66,7 +66,7 @@ public:
 
 protected:
   vtkTreeMapView();
-  ~vtkTreeMapView();
+  ~vtkTreeMapView() VTK_OVERRIDE;
 
   vtkSmartPointer<vtkBoxLayoutStrategy> BoxLayout;
   vtkSmartPointer<vtkSliceAndDiceLayoutStrategy> SliceAndDiceLayout;
diff --git a/Views/Infovis/vtkTreeRingView.h b/Views/Infovis/vtkTreeRingView.h
index 17c884c564..f6cfde1c0c 100644
--- a/Views/Infovis/vtkTreeRingView.h
+++ b/Views/Infovis/vtkTreeRingView.h
@@ -47,7 +47,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkTreeRingView : public vtkTreeAreaView
 public:
   static vtkTreeRingView *New();
   vtkTypeMacro(vtkTreeRingView, vtkTreeAreaView);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Set the root angles for laying out the hierarchy.
@@ -91,7 +91,7 @@ public:
 
 protected:
   vtkTreeRingView();
-  ~vtkTreeRingView();
+  ~vtkTreeRingView() VTK_OVERRIDE;
 
 private:
   vtkTreeRingView(const vtkTreeRingView&) VTK_DELETE_FUNCTION;
diff --git a/Views/Infovis/vtkViewUpdater.h b/Views/Infovis/vtkViewUpdater.h
index 6e5d3909b0..0c6b967966 100644
--- a/Views/Infovis/vtkViewUpdater.h
+++ b/Views/Infovis/vtkViewUpdater.h
@@ -42,7 +42,7 @@ class VTKVIEWSINFOVIS_EXPORT vtkViewUpdater : public vtkObject
 public:
   static vtkViewUpdater *New();
   vtkTypeMacro(vtkViewUpdater, vtkObject);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   void AddView(vtkView* view);
   void RemoveView(vtkView* view);
@@ -51,7 +51,7 @@ public:
 
 protected:
   vtkViewUpdater();
-  ~vtkViewUpdater();
+  ~vtkViewUpdater() VTK_OVERRIDE;
 
 private:
   vtkViewUpdater(const vtkViewUpdater&) VTK_DELETE_FUNCTION;
diff --git a/Views/Qt/vtkQtAnnotationView.h b/Views/Qt/vtkQtAnnotationView.h
index faacfaa0aa..3af92b5eb2 100644
--- a/Views/Qt/vtkQtAnnotationView.h
+++ b/Views/Qt/vtkQtAnnotationView.h
@@ -48,7 +48,7 @@ Q_OBJECT
 public:
   static vtkQtAnnotationView *New();
   vtkTypeMacro(vtkQtAnnotationView, vtkQtView);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the main container of this view (a  QWidget).
@@ -56,16 +56,16 @@ public:
    * to GetWidget(): something like this
    * this->ui->box->layout()->addWidget(this->View->GetWidget());
    */
-  virtual QWidget* GetWidget();
+  QWidget* GetWidget() VTK_OVERRIDE;
 
   /**
    * Updates the view.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
 protected:
   vtkQtAnnotationView();
-  ~vtkQtAnnotationView();
+  ~vtkQtAnnotationView() VTK_OVERRIDE;
 
 private slots:
   void slotQtSelectionChanged(const QItemSelection&,const QItemSelection&);
diff --git a/Views/Qt/vtkQtListView.h b/Views/Qt/vtkQtListView.h
index e9ed55a7e0..2a88cfe18e 100644
--- a/Views/Qt/vtkQtListView.h
+++ b/Views/Qt/vtkQtListView.h
@@ -53,7 +53,7 @@ Q_OBJECT
 public:
   static vtkQtListView *New();
   vtkTypeMacro(vtkQtListView, vtkQtView);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the main container of this view (a  QWidget).
@@ -61,7 +61,7 @@ public:
    * to GetWidget(): something like this
    * this->ui->box->layout()->addWidget(this->View->GetWidget());
    */
-  virtual QWidget* GetWidget();
+  QWidget* GetWidget() VTK_OVERRIDE;
 
   enum
   {
@@ -137,19 +137,19 @@ public:
   void SetIconArrayName(const char* name);
   //@}
 
-  virtual void ApplyViewTheme(vtkViewTheme* theme);
+  void ApplyViewTheme(vtkViewTheme* theme) VTK_OVERRIDE;
 
   /**
    * Updates the view.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
 protected:
   vtkQtListView();
-  ~vtkQtListView();
+  ~vtkQtListView() VTK_OVERRIDE;
 
-  virtual void AddRepresentationInternal(vtkDataRepresentation* rep);
-  virtual void RemoveRepresentationInternal(vtkDataRepresentation* rep);
+  void AddRepresentationInternal(vtkDataRepresentation* rep) VTK_OVERRIDE;
+  void RemoveRepresentationInternal(vtkDataRepresentation* rep) VTK_OVERRIDE;
 
 private slots:
   void slotQtSelectionChanged(const QItemSelection&,const QItemSelection&);
diff --git a/Views/Qt/vtkQtRecordView.h b/Views/Qt/vtkQtRecordView.h
index 84bbba7c55..3033dd10ae 100644
--- a/Views/Qt/vtkQtRecordView.h
+++ b/Views/Qt/vtkQtRecordView.h
@@ -49,7 +49,7 @@ Q_OBJECT
 public:
   static vtkQtRecordView *New();
   vtkTypeMacro(vtkQtRecordView, vtkQtView);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the main container of this view (a  QWidget).
@@ -57,7 +57,7 @@ public:
    * to GetWidget(): something like this
    * this->ui->box->layout()->addWidget(this->View->GetWidget());
    */
-  virtual QWidget* GetWidget();
+  QWidget* GetWidget() VTK_OVERRIDE;
 
   enum
   {
@@ -84,15 +84,15 @@ public:
   /**
    * Updates the view.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
 protected:
 
   vtkQtRecordView();
-  ~vtkQtRecordView();
+  ~vtkQtRecordView() VTK_OVERRIDE;
 
-  virtual void AddRepresentationInternal(vtkDataRepresentation* rep);
-  virtual void RemoveRepresentationInternal(vtkDataRepresentation* rep);
+  void AddRepresentationInternal(vtkDataRepresentation* rep) VTK_OVERRIDE;
+  void RemoveRepresentationInternal(vtkDataRepresentation* rep) VTK_OVERRIDE;
 
   vtkSmartPointer<vtkDataObjectToTable> DataObjectToTable;
 
diff --git a/Views/Qt/vtkQtTableRepresentation.h b/Views/Qt/vtkQtTableRepresentation.h
index 19cedf7d6a..e3909ef9d0 100644
--- a/Views/Qt/vtkQtTableRepresentation.h
+++ b/Views/Qt/vtkQtTableRepresentation.h
@@ -65,7 +65,7 @@ class VTKVIEWSQT_EXPORT vtkQtTableRepresentation : public vtkDataRepresentation
 {
 public:
   vtkTypeMacro(vtkQtTableRepresentation, vtkDataRepresentation);
-  void PrintSelf(ostream &os, vtkIndent indent);
+  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
 
   //@{
   /**
@@ -105,7 +105,7 @@ public:
 
  protected:
   vtkQtTableRepresentation();
-  ~vtkQtTableRepresentation();
+  ~vtkQtTableRepresentation() VTK_OVERRIDE;
 
   /**
    * Update the table representation
@@ -126,9 +126,9 @@ public:
   /**
    * Prepare the input connections to this representation.
    */
-  virtual int RequestData(vtkInformation* request,
+  int RequestData(vtkInformation* request,
     vtkInformationVector** inputVector,
-    vtkInformationVector* outputVector);
+    vtkInformationVector* outputVector) VTK_OVERRIDE;
 
   virtual void ResetModel();
   virtual void CreateSeriesColors();
diff --git a/Views/Qt/vtkQtTableView.h b/Views/Qt/vtkQtTableView.h
index 82014f38e9..9aa309ad93 100644
--- a/Views/Qt/vtkQtTableView.h
+++ b/Views/Qt/vtkQtTableView.h
@@ -54,7 +54,7 @@ Q_OBJECT
 public:
   static vtkQtTableView *New();
   vtkTypeMacro(vtkQtTableView, vtkQtView);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the main container of this view (a  QWidget).
@@ -62,7 +62,7 @@ public:
    * to GetWidget(): something like this
    * this->ui->box->layout()->addWidget(this->View->GetWidget());
    */
-  virtual QWidget* GetWidget();
+  QWidget* GetWidget() VTK_OVERRIDE;
 
   /**
    * Have the view show/hide its column headers
@@ -157,7 +157,7 @@ public:
   /**
    * Updates the view.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   //@{
   /**
@@ -179,7 +179,7 @@ public:
   /**
    * Apply a view theme to this view.
    */
-  virtual void ApplyViewTheme(vtkViewTheme* theme);
+  void ApplyViewTheme(vtkViewTheme* theme) VTK_OVERRIDE;
 
   enum
   {
@@ -214,10 +214,10 @@ public:
 
 protected:
   vtkQtTableView();
-  ~vtkQtTableView();
+  ~vtkQtTableView() VTK_OVERRIDE;
 
-  virtual void AddRepresentationInternal(vtkDataRepresentation* rep);
-  virtual void RemoveRepresentationInternal(vtkDataRepresentation* rep);
+  void AddRepresentationInternal(vtkDataRepresentation* rep) VTK_OVERRIDE;
+  void RemoveRepresentationInternal(vtkDataRepresentation* rep) VTK_OVERRIDE;
 
 private slots:
   void slotQtSelectionChanged(const QItemSelection&,const QItemSelection&);
diff --git a/Views/Qt/vtkQtTreeView.h b/Views/Qt/vtkQtTreeView.h
index 74ba321636..00a206a6fb 100644
--- a/Views/Qt/vtkQtTreeView.h
+++ b/Views/Qt/vtkQtTreeView.h
@@ -63,7 +63,7 @@ signals:
 public:
   static vtkQtTreeView *New();
   vtkTypeMacro(vtkQtTreeView, vtkQtView);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the main container of this view (a  QWidget).
@@ -71,7 +71,7 @@ public:
    * to GetWidget(): something like this
    * this->ui->box->layout()->addWidget(this->View->GetWidget());
    */
-  virtual QWidget* GetWidget();
+  QWidget* GetWidget() VTK_OVERRIDE;
 
   /**
    * Have the view show/hide its column headers (default is ON)
@@ -163,7 +163,7 @@ public:
   /**
    * Updates the view.
    */
-  virtual void Update();
+  void Update() VTK_OVERRIDE;
 
   /**
    * Set item delegate to something custom
@@ -187,14 +187,14 @@ public:
   vtkBooleanMacro(ColorByArray, bool);
   //@}
 
-  virtual void ApplyViewTheme(vtkViewTheme* theme);
+  void ApplyViewTheme(vtkViewTheme* theme) VTK_OVERRIDE;
 
 protected:
   vtkQtTreeView();
-  ~vtkQtTreeView();
+  ~vtkQtTreeView() VTK_OVERRIDE;
 
-  virtual void AddRepresentationInternal(vtkDataRepresentation* rep);
-  virtual void RemoveRepresentationInternal(vtkDataRepresentation* rep);
+  void AddRepresentationInternal(vtkDataRepresentation* rep) VTK_OVERRIDE;
+  void RemoveRepresentationInternal(vtkDataRepresentation* rep) VTK_OVERRIDE;
 
 private slots:
   void slotQtSelectionChanged(const QItemSelection&,const QItemSelection&);
diff --git a/Views/Qt/vtkQtView.h b/Views/Qt/vtkQtView.h
index 4c8edac7d1..798f899e52 100644
--- a/Views/Qt/vtkQtView.h
+++ b/Views/Qt/vtkQtView.h
@@ -34,7 +34,7 @@ Q_OBJECT
 public:
 
   vtkTypeMacro(vtkQtView, vtkView);
-  void PrintSelf(ostream& os, vtkIndent indent);
+  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
 
   /**
    * Get the main container of this view (a  QWidget).
@@ -66,7 +66,7 @@ public:
 
 protected:
   vtkQtView();
-  ~vtkQtView();
+  ~vtkQtView() VTK_OVERRIDE;
 
 private:
   vtkQtView(const vtkQtView&) VTK_DELETE_FUNCTION;
diff --git a/Wrapping/PythonCore/vtkPythonCommand.h b/Wrapping/PythonCore/vtkPythonCommand.h
index a00dcc1fee..02078718b6 100644
--- a/Wrapping/PythonCore/vtkPythonCommand.h
+++ b/Wrapping/PythonCore/vtkPythonCommand.h
@@ -30,7 +30,7 @@ public:
 
   void SetObject(PyObject *o);
   void SetThreadState(PyThreadState *ts);
-  void Execute(vtkObject *ptr, unsigned long eventtype, void *callData);
+  void Execute(vtkObject *ptr, unsigned long eventtype, void *callData) VTK_OVERRIDE;
 
   PyObject *obj;
   PyThreadState *ThreadState;
-- 
GitLab